/arkcompiler/runtime_core/libpandafile/ |
D | code_data_accessor-inl.h | 28 CatchBlock catch_block(sp); in EnumerateCatchBlocks() 29 if (!cb(catch_block)) { in EnumerateCatchBlocks() 32 sp = sp.SubSpan(catch_block.GetSize()); in EnumerateCatchBlocks()
|
D | file_items.cpp | 754 for (auto &catch_block : catch_blocks_) { in ComputeLayout() local 755 catch_block.SetOffset(offset); in ComputeLayout() 756 catch_block.ComputeLayout(); in ComputeLayout() 757 offset += catch_block.GetSize(); in ComputeLayout() 771 for (auto &catch_block : catch_blocks_) { in CalculateSize() local 772 size += catch_block.GetSize(); in CalculateSize() 794 for (auto &catch_block : catch_blocks_) { in Write() local 795 if (!catch_block.Write(writer)) { in Write()
|
D | file_reader.cpp | 673 try_block.EnumerateCatchBlocks([&](CodeDataAccessor::CatchBlock &catch_block) { in CreateMethodItem() argument 675 auto type_idx = catch_block.GetTypeIdx(); in CreateMethodItem() 677 … File::EntityId catch_cls_id = file_->ResolveClassIndex(method_id, catch_block.GetTypeIdx()); in CreateMethodItem() 685 …_blocks.emplace_back(CodeItem::CatchBlock(method_item, catch_type_item, catch_block.GetHandlerPc(), in CreateMethodItem() 686 catch_block.GetCodeSize())); in CreateMethodItem()
|
/arkcompiler/runtime_core/compiler/optimizer/optimizations/ |
D | try_catch_resolving.h | 42 void ConnectCatchHandlerAfterThrow(BasicBlock *try_end, BasicBlock *catch_block);
|
/arkcompiler/runtime_core/disassembler/ |
D | disassembler.cpp | 489 try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in GetExceptions() argument 490 auto class_idx = catch_block.GetTypeIdx(); in GetExceptions() 497 … if (!LocateCatchBlock(bc_ins, bc_ins_last, catch_block, &catch_block_pa, &label_table, try_idx, in GetExceptions() 586 const panda_file::CodeDataAccessor::CatchBlock &catch_block, in LocateCatchBlock() argument 590 const auto handler_begin_offset = catch_block.GetHandlerPc(); in LocateCatchBlock() 591 const auto handler_end_offset = handler_begin_offset + catch_block.GetCodeSize(); in LocateCatchBlock() 601 const bool handler_end_present = catch_block.GetCodeSize() != 0; in LocateCatchBlock() 1403 for (const auto &catch_block : method.catch_blocks) { in Serialize() local 1404 Serialize(catch_block, os); in Serialize() 1419 void Disassembler::Serialize(const pandasm::Function::CatchBlock &catch_block, std::ostream &os) co… in Serialize() argument [all …]
|
D | disassembler.h | 95 const panda_file::CodeDataAccessor::CatchBlock &catch_block, 128 void Serialize(const pandasm::Function::CatchBlock &catch_block, std::ostream &os) const;
|
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
D | ir_builder.cpp | 274 …lock.EnumerateCatchBlocks([this, try_info](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in CreateTryCatchBoundariesBlocks() argument 275 auto pc = catch_block.GetHandlerPc(); in CreateTryCatchBoundariesBlocks() 506 for (auto catch_block : *try_block.catches) { in ConnectTryCodeBlock() 507 auto catch_begin = catch_blocks.at(catch_block.pc); in ConnectTryCodeBlock() 512 try_inst->AppendCatchTypeId(catch_block.type_id, try_begin->GetSuccBlockIndex(catch_begin)); in ConnectTryCodeBlock()
|
/arkcompiler/runtime_core/assembler/ |
D | assembly-parser.cpp | 819 Function::CatchBlock catch_block; in PrepareCatchBlock() local 820 catch_block.whole_line = context_.tokens[0].whole_line; in PrepareCatchBlock() 828 catch_block.exception_record = context_.GiveToken(); in PrepareCatchBlock() 837 return catch_block; in PrepareCatchBlock() 845 return catch_block; in PrepareCatchBlock() 853 catch_block.try_begin_label = labels[TRY_BEGIN]; in PrepareCatchBlock() 854 catch_block.try_end_label = labels[TRY_END]; in PrepareCatchBlock() 855 catch_block.catch_begin_label = labels[CATCH_BEGIN]; in PrepareCatchBlock() 857 catch_block.catch_end_label = labels[CATCH_END]; in PrepareCatchBlock() 859 catch_block.catch_end_label = labels[CATCH_BEGIN]; in PrepareCatchBlock() [all …]
|
D | assembly-emitter.cpp | 1673 for (auto &catch_block : catch_blocks) { in MakeOrderAndOffsets() local 1674 try_catch_labels.insert_or_assign(catch_block.try_begin_label, 0); in MakeOrderAndOffsets() 1675 try_catch_labels.insert_or_assign(catch_block.try_end_label, 0); in MakeOrderAndOffsets() 1676 try_catch_labels.insert_or_assign(catch_block.catch_begin_label, 0); in MakeOrderAndOffsets() 1677 try_catch_labels.insert_or_assign(catch_block.catch_end_label, 0); in MakeOrderAndOffsets() 1679 std::string try_key = catch_block.try_begin_label + ":" + catch_block.try_end_label; in MakeOrderAndOffsets() 1685 it->second.push_back(&catch_block); in MakeOrderAndOffsets() 1730 for (auto *catch_block : try_catch_blocks) { in BuildTryBlocks() local 1731 auto class_name = catch_block->exception_record; in BuildTryBlocks() 1740 auto handler_pc_offset = tcs.try_catch_labels[catch_block->catch_begin_label]; in BuildTryBlocks() [all …]
|
/arkcompiler/ets_frontend/ts2panda/ts2abc/ |
D | ts2abc.cpp | 502 static panda::pandasm::Function::CatchBlock ParsecatchBlock(const Json::Value &catch_block) in ParsecatchBlock() argument 506 if (catch_block.isMember("tb_lab") && catch_block["tb_lab"].isString()) { in ParsecatchBlock() 507 pandaCatchBlock.try_begin_label = catch_block["tb_lab"].asString(); in ParsecatchBlock() 510 if (catch_block.isMember("te_lab") && catch_block["te_lab"].isString()) { in ParsecatchBlock() 511 pandaCatchBlock.try_end_label = catch_block["te_lab"].asString(); in ParsecatchBlock() 514 if (catch_block.isMember("cb_lab") && catch_block["cb_lab"].isString()) { in ParsecatchBlock() 515 pandaCatchBlock.catch_begin_label = catch_block["cb_lab"].asString(); in ParsecatchBlock() 516 pandaCatchBlock.catch_end_label = catch_block["cb_lab"].asString(); in ParsecatchBlock()
|
/arkcompiler/runtime_core/assembler/tests/ |
D | emitter_test.cpp | 335 … try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in TEST() argument 336 auto idx = catch_block.GetTypeIdx(); in TEST() 340 EXPECT_EQ(catch_block.GetHandlerPc(), catch_infos[i].handler_pc); in TEST()
|
D | assembler_emitter_test.cpp | 395 … try_block.EnumerateCatchBlocks([&](panda_file::CodeDataAccessor::CatchBlock &catch_block) { in __anon654af7a10a02() argument 396 EXPECT_EQ(catch_block.GetHandlerPc(), catch_infos[i].handler_pc); in __anon654af7a10a02()
|