Home
last modified time | relevance | path

Searched refs:catch_block (Results 1 – 12 of 12) sorted by relevance

/arkcompiler/runtime_core/libpandafile/
Dcode_data_accessor-inl.h28 CatchBlock catch_block(sp); in EnumerateCatchBlocks()
29 if (!cb(catch_block)) { in EnumerateCatchBlocks()
32 sp = sp.SubSpan(catch_block.GetSize()); in EnumerateCatchBlocks()
Dfile_items.cpp754 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()
Dfile_reader.cpp673 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/
Dtry_catch_resolving.h42 void ConnectCatchHandlerAfterThrow(BasicBlock *try_end, BasicBlock *catch_block);
/arkcompiler/runtime_core/disassembler/
Ddisassembler.cpp489 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 …]
Ddisassembler.h95 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/
Dir_builder.cpp274 …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/
Dassembly-parser.cpp819 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 …]
Dassembly-emitter.cpp1673 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/
Dts2abc.cpp502 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/
Demitter_test.cpp335 … 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()
Dassembler_emitter_test.cpp395 … 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()