Lines Matching defs:BytecodeRegion

154 struct BytecodeRegion {
158 ChunkVector<BytecodeRegion *> preds; // List of predessesor blocks
159 ChunkVector<BytecodeRegion *> succs; // List of successors blocks
160 ChunkVector<BytecodeRegion *> trys; // List of trys blocks
161 ChunkVector<BytecodeRegion *> catches; // List of catches blocks
170 BytecodeRegion(Chunk* chunk) : preds(chunk), succs(chunk),
180 bool operator <(const BytecodeRegion &target) const
188 std::sort(catches.begin(), catches.end(), [](BytecodeRegion *first, BytecodeRegion *second) {
194 void EraseThisBlock(ChunkVector<BytecodeRegion *> &blocks)
207 bool IsLoopBack(const BytecodeRegion &bb) const
213 using BytecodeGraph = ChunkVector<BytecodeRegion*>;
341 void EnumerateBlock(BytecodeRegion &bb, const Callback &cb)
355 BytecodeRegion &GetBasicBlockById(size_t id)
361 void AddBasicBlock(BytecodeRegion* region)
624 bool IsCacheBBOfOSRLoop(const BytecodeRegion &bb) const
657 void NewJSGate(BytecodeRegion &bb);
658 void NewJump(BytecodeRegion &bbd);
659 GateRef NewReturn(BytecodeRegion &bb);
660 void NewByteCode(BytecodeRegion &bb);
661 void MergeThrowGate(BytecodeRegion &bb, uint32_t bcIndex);
662 void MergeExceptionGete(BytecodeRegion &bb, const BytecodeInfo& bytecodeInfo, uint32_t bcIndex);
665 void GenDeoptAndReturnForOsrLoopExit(BytecodeRegion& osrLoopExitBB);
666 void CollectCacheBBforOSRLoop(BytecodeRegion *bb);
667 void HandleOsrLoopBody(BytecodeRegion &osrLoopBodyBB);
672 void ClearUnreachableRegion(ChunkVector<BytecodeRegion*>& pendingList);
673 void RemoveUnusedPredsInfo(BytecodeRegion& bb);
678 void PrintBytecodeInfo(BytecodeRegion& region);
682 void RemoveIfInRpoList(BytecodeRegion *bb);
691 BytecodeRegion &RegionAt(size_t i)
724 std::set<const BytecodeRegion *> catchBBOfOSRLoop_{};