Searched refs:BytecodeRegion (Results 1 – 4 of 4) sorted by relevance
| /arkcompiler/ets_runtime/ecmascript/compiler/ |
| D | frame_states.h | 28 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 …]
|
| D | bytecode_circuit_builder.h | 154 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 …]
|
| D | frame_states.cpp | 367 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 …]
|
| D | bytecode_circuit_builder.cpp | 232 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 …]
|