/arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
H A D | ir_builder.cpp | 171 EnumerateTryBlocksCoveredPc(throwable_inst->GetPc(), [this](const TryCodeBlock &try_block) { in ProcessThrowableInstructions() 172 auto tbb = try_block.begin_bb; in ProcessThrowableInstructions() 224 for (const auto &[begin_pc, try_block] : try_blocks_) { in EnumerateTryBlocksCoveredPc() 225 if (begin_pc <= pc && pc < try_block.boundaries.end_pc) { in EnumerateTryBlocksCoveredPc() 226 callback(try_block); in EnumerateTryBlocksCoveredPc() 263 cda.EnumerateTryBlocks([this](panda_file::CodeDataAccessor::TryBlock &try_block) { in CreateTryCatchBoundariesBlocks() 264 auto start_pc = try_block.GetStartPc(); in CreateTryCatchBoundariesBlocks() 265 auto end_pc = start_pc + try_block.GetLength(); in CreateTryCatchBoundariesBlocks() 267 try_block.EnumerateCatchBlocks([this, try_info](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in CreateTryCatchBoundariesBlocks() 280 for (const auto &[pc, try_block] in CreateTryCatchBoundariesBlocks() 349 auto &try_block = it->second; TrackTryBoundaries() local 429 const auto &try_block = it.second; MarkTryCatchBlocks() local 474 const auto &try_block = it.second; ConnectTryCatchBlocks() local 483 ConnectTryCodeBlock(const TryCodeBlock &try_block, const ArenaMap<uint32_t, BasicBlock *> &catch_blocks) ConnectTryCodeBlock() argument 520 RestoreTryEnd(const TryCodeBlock &try_block) RestoreTryEnd() argument [all...] |
H A D | ir_builder.h | 138 void ConnectTryCodeBlock(const TryCodeBlock &try_block, const ArenaMap<uint32_t, BasicBlock *> &catch_blocks); 140 void RestoreTryEnd(const TryCodeBlock &try_block);
|
/arkcompiler/runtime_core/abc2program/ |
H A D | abc_code_processor.cpp | 88 code_data_accessor_->EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in NeedToAddDummyEndIns() 89 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in NeedToAddDummyEndIns() 155 code_data_accessor_->EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in FillCatchBlocks() 156 HandleTryBlock(try_block); in FillCatchBlocks() 157 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in FillCatchBlocks() 165 void AbcCodeProcessor::HandleTryBlock(panda_file::CodeDataAccessor::TryBlock &try_block) in HandleTryBlock() argument 167 curr_try_begin_inst_pc_ = try_block.GetStartPc(); in HandleTryBlock() 168 curr_try_end_inst_pc_ = try_block.GetStartPc() + try_block.GetLength(); in HandleTryBlock()
|
H A D | abc_code_processor.h | 46 void HandleTryBlock(panda_file::CodeDataAccessor::TryBlock &try_block);
|
/arkcompiler/runtime_core/libpandafile/ |
H A D | code_data_accessor-inl.h | 47 TryBlock try_block(sp); in EnumerateTryBlocks() 48 if (!cb(try_block)) { in EnumerateTryBlocks() 51 sp = sp.SubSpan(try_block.GetSize()); in EnumerateTryBlocks()
|
H A D | file_items.cpp | 823 for (auto &try_block : try_blocks_) { in ComputeLayout() 824 try_block.SetOffset(offset); in ComputeLayout() 825 try_block.ComputeLayout(); in ComputeLayout() 826 offset += try_block.GetSize(); in ComputeLayout() 849 for (auto &try_block : try_blocks_) { in CalculateSize() 850 size += try_block.GetSize(); in CalculateSize() 880 for (auto &try_block : try_blocks_) { in Write() 881 if (!try_block.Write(writer)) { in Write()
|
H A D | file_reader.cpp | 635 code_acc.EnumerateTryBlocks([&](CodeDataAccessor::TryBlock &try_block) { in EnumerateBlocks() 637 try_block.EnumerateCatchBlocks([&](CodeDataAccessor::CatchBlock &catch_block) { in EnumerateBlocks() 652 CodeItem::TryBlock(try_block.GetStartPc(), try_block.GetLength(), std::move(catch_blocks))); in EnumerateBlocks()
|
H A D | file_items.h | 1430 void AddTryBlock(const TryBlock &try_block) in AddTryBlock() argument 1432 try_blocks_.push_back(try_block); in AddTryBlock()
|
/arkcompiler/runtime_core/verifier/ |
H A D | verifier.cpp | 666 bool Verifier::VerifyCatchBlocks(panda_file::CodeDataAccessor::TryBlock &try_block, const BytecodeInstruction &bc_ins, in VerifyCatchBlocks() argument 671 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in VerifyCatchBlocks() 719 code_accessor.EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in VerifyTryBlocks() 720 const auto try_begin_bc_ins = bc_ins.JumpTo(try_block.GetStartPc()); in VerifyTryBlocks() 723 const auto try_end_bc_ins = bc_ins.JumpTo(try_block.GetStartPc() + try_block.GetLength()); in VerifyTryBlocks() 752 if (!VerifyCatchBlocks(try_block, bc_ins, bc_ins_last)) { in VerifyTryBlocks()
|
H A D | verifier.h | 117 bool VerifyCatchBlocks(panda_file::CodeDataAccessor::TryBlock &try_block, const BytecodeInstruction &bc_ins,
|
/arkcompiler/runtime_core/assembler/tests/ |
H A D | emitter_test.cpp | 320 cdacc.EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in TEST() 321 EXPECT_EQ(try_block.GetStartPc(), 9); in TEST() 322 EXPECT_EQ(try_block.GetLength(), 18); in TEST() 323 EXPECT_EQ(try_block.GetNumCatches(), 3); in TEST() 335 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in TEST()
|
H A D | assembler_emitter_test.cpp | 376 cdacc.EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in HWTEST_F() 379 EXPECT_EQ(try_block.GetStartPc(), 9U); in HWTEST_F() 380 EXPECT_EQ(try_block.GetNumCatches(), 1U); in HWTEST_F() 393 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in HWTEST_F()
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir_builder/ |
H A D | ir_builder.cpp | 408 for (const auto &[begin_pc, try_block] : tryBlocks_) { in EnumerateTryBlocksCoveredPc() 409 if (begin_pc <= pc && pc < try_block.boundaries.endPc) { in EnumerateTryBlocksCoveredPc() 410 callback(try_block); in EnumerateTryBlocksCoveredPc() 465 for (const auto &[pc, try_block] : tryBlocks_) { in CreateTryCatchBoundariesBlocks() 467 CreateBlock(try_block.boundaries.endPc); in CreateTryCatchBoundariesBlocks()
|
/arkcompiler/runtime_core/disassembler/ |
H A D | disassembler.cpp | 790 code_accessor.EnumerateTryBlocks([&](panda_file::CodeDataAccessor::TryBlock &try_block) { in GetExceptions() 792 if (!LocateTryBlock(bc_ins, bc_ins_last, try_block, &catch_block_pa, &label_table, try_idx)) { in GetExceptions() 796 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in GetExceptions() 840 const panda_file::CodeDataAccessor::TryBlock &try_block, in LocateTryBlock() 844 const auto try_begin_bc_ins = bc_ins.JumpTo(try_block.GetStartPc()); in LocateTryBlock() 845 const auto try_end_bc_ins = bc_ins.JumpTo(try_block.GetStartPc() + try_block.GetLength()); in LocateTryBlock() 839 LocateTryBlock(const BytecodeInstruction &bc_ins, const BytecodeInstruction &bc_ins_last, const panda_file::CodeDataAccessor::TryBlock &try_block, pandasm::Function::CatchBlock *catch_block_pa, LabelTable *label_table, size_t try_idx) const LocateTryBlock() argument
|
H A D | disassembler.h | 114 const panda_file::CodeDataAccessor::TryBlock &try_block,
|
/arkcompiler/runtime_core/assembler/ |
H A D | assembly-emitter.cpp | 1330 for (auto &try_block : try_blocks) { in EmitFunctions() 1331 code->AddTryBlock(try_block); in EmitFunctions()
|