Home
last modified time | relevance | path

Searched refs:BytecodeRegion (Results 1 – 4 of 4) sorted by relevance

/arkcompiler/ets_runtime/ecmascript/compiler/
Dframe_states.h28 struct BytecodeRegion;
142 void MergeIntoSuccessor(const BytecodeRegion &bb, const BytecodeRegion &bbNext);
143 void AdvanceToNextBB(const BytecodeRegion &bb, bool isOsrLoopExit = false);
144 void InitEntryBB(const BytecodeRegion &bb);
161 void SetOsrLoopHeadBB(const BytecodeRegion &loopHeadOfOSR);
163 bool IsOsrLoopExit(const BytecodeRegion &curBB);
165 bool OutOfOsrLoop(const BytecodeRegion &curBB);
186 ChunkVector<BytecodeRegion*>* loopExits {nullptr};
240 size_t GetNumOfStatePreds(const BytecodeRegion &bb);
241 GateRef MergeValue(const BytecodeRegion &bb,
[all …]
Dbytecode_circuit_builder.h154 struct BytecodeRegion { struct
158 ChunkVector<BytecodeRegion *> preds; // List of predessesor blocks argument
159 ChunkVector<BytecodeRegion *> succs; // List of successors blocks argument
160 ChunkVector<BytecodeRegion *> trys; // List of trys blocks argument
161 ChunkVector<BytecodeRegion *> catches; // List of catches blocks argument
171 BytecodeRegion(Chunk* chunk) : preds(chunk), succs(chunk), in BytecodeRegion() argument
181 bool operator <(const BytecodeRegion &target) const argument
189 … std::sort(catches.begin(), catches.end(), [](BytecodeRegion *first, BytecodeRegion *second) { in SortCatches() argument
195 void EraseThisBlock(ChunkVector<BytecodeRegion *> &blocks) in EraseThisBlock() argument
208 bool IsLoopBack(const BytecodeRegion &bb) const in IsLoopBack() argument
[all …]
Dframe_states.cpp367 void FrameStateBuilder::SetOsrLoopHeadBB(const BytecodeRegion &osrLoopBodyBB) in SetOsrLoopHeadBB()
378 bool FrameStateBuilder::IsOsrLoopExit(const BytecodeRegion &curBB) in IsOsrLoopExit()
395 bool FrameStateBuilder::OutOfOsrLoop(const BytecodeRegion &curBB) in OutOfOsrLoop()
419 void FrameStateBuilder::InitEntryBB(const BytecodeRegion &bb) in InitEntryBB()
470 bool FrameStateBuilder::IsLoopHead(const BytecodeRegion &bb) in IsLoopHead()
475 bool FrameStateBuilder::IfLoopNeedMerge(const BytecodeRegion &bb) const in IfLoopNeedMerge()
491 void FrameStateBuilder::NewMerge(const BytecodeRegion &bbNext) in NewMerge()
498 for (const BytecodeRegion *bb : bbNext.preds) { in NewMerge()
553 void FrameStateBuilder::MergeStateDepend(const BytecodeRegion &bb, const BytecodeRegion &bbNext) in MergeStateDepend()
580 size_t FrameStateBuilder::GetNumOfStatePreds(const BytecodeRegion &bb) in GetNumOfStatePreds()
[all …]
Dbytecode_circuit_builder.cpp232 auto calculateSemiDom = [&](size_t idx, const ChunkVector<BytecodeRegion *> &blocks) { in ComputeImmediateDominators()
281 auto visitConnectedBlocks = [&](const ChunkVector<BytecodeRegion *> &succs, size_t curBlockId) { in ComputeDominatorTree()
311 BytecodeRegion &entryBlock = RegionAt(0); in BuildEntryBlock()
312 BytecodeRegion &nextBlock = RegionAt(1); in BuildEntryBlock()
353 graph_[i] = circuit_->chunk()->New<BytecodeRegion>(circuit_->chunk()); in BuildRegions()
471 void BytecodeCircuitBuilder::RemoveUnusedPredsInfo(BytecodeRegion& bb) in RemoveUnusedPredsInfo()
484 void BytecodeCircuitBuilder::ClearUnreachableRegion(ChunkVector<BytecodeRegion*>& pendingList) in ClearUnreachableRegion()
531 void BytecodeCircuitBuilder::RemoveIfInRpoList(BytecodeRegion *bb) in RemoveIfInRpoList()
545 ChunkVector<BytecodeRegion*> pendingList(circuit_->chunk()); in RemoveUnreachableRegion()
592 ChunkVector<BytecodeRegion *> newSuccs(circuit_->chunk()); in UpdateCFG()
[all …]