Home
last modified time | relevance | path

Searched refs:lir (Results 1 – 14 of 14) sorted by relevance

/tools/dexter/dexter/
Ddissasembler.h27 class PrintCodeIrVisitor : public lir::Visitor {
29 PrintCodeIrVisitor(std::shared_ptr<ir::DexFile> dex_ir, lir::ControlFlowGraph* cfg) in PrintCodeIrVisitor()
33 virtual bool Visit(lir::Bytecode* bytecode) override;
34 virtual bool Visit(lir::PackedSwitchPayload* packed_switch) override;
35 virtual bool Visit(lir::SparseSwitchPayload* sparse_switch) override;
36 virtual bool Visit(lir::ArrayData* array_data) override;
37 virtual bool Visit(lir::Label* label) override;
38 virtual bool Visit(lir::CodeLocation* location) override;
39 virtual bool Visit(lir::Const32* const32) override;
40 virtual bool Visit(lir::Const64* const64) override;
[all …]
Ddissasembler.cc41 void PrintCodeIrVisitor::StartInstruction(const lir::Instruction* instr) { in StartInstruction()
45 const lir::BasicBlock& current_block = cfg_->basic_blocks[current_block_index_]; in StartInstruction()
51 void PrintCodeIrVisitor::EndInstruction(const lir::Instruction* instr) { in EndInstruction()
55 const lir::BasicBlock& current_block = cfg_->basic_blocks[current_block_index_]; in EndInstruction()
62 bool PrintCodeIrVisitor::Visit(lir::Bytecode* bytecode) { in Visit()
76 bool PrintCodeIrVisitor::Visit(lir::PackedSwitchPayload* packed_switch) { in Visit()
89 bool PrintCodeIrVisitor::Visit(lir::SparseSwitchPayload* sparse_switch) { in Visit()
101 bool PrintCodeIrVisitor::Visit(lir::ArrayData* array_data) { in Visit()
108 bool PrintCodeIrVisitor::Visit(lir::CodeLocation* target) { in Visit()
113 bool PrintCodeIrVisitor::Visit(lir::Const32* const32) { in Visit()
[all …]
Dexperimental.cc36 lir::CodeIr code_ir(ir_method.get(), dex_ir); in FullRewrite()
37 lir::ControlFlowGraph cfg_compact(&code_ir, false); in FullRewrite()
38 lir::ControlFlowGraph cfg_verbose(&code_ir, true); in FullRewrite()
55 lir::CodeIr code_ir(ir_method.get(), dex_ir); in StressWrapInvoke()
68 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in StressWrapInvoke()
87 auto orig_method = bytecode->CastOperand<lir::Method>(1)->ir_method; in StressWrapInvoke()
104 auto wraper_method = code_ir.Alloc<lir::Method>(ir_method_decl, ir_method_decl->orig_index); in StressWrapInvoke()
107 auto new_call = code_ir.Alloc<lir::Bytecode>(); in StressWrapInvoke()
145 lir::CodeIr code_ir(ir_method.get(), dex_ir); in StressEntryHook()
165 auto target_method = code_ir.Alloc<lir::Method>(ir_method_decl, ir_method_decl->orig_index); in StressEntryHook()
[all …]
/tools/dexter/slicer/
Dinstrumentation.cc24 struct BytecodeConvertingVisitor : public lir::Visitor {
25 lir::Bytecode* out = nullptr;
26 bool Visit(lir::Bytecode* bytecode) { in Visit()
32 void BoxValue(lir::Bytecode* bytecode, in BoxValue()
33 lir::CodeIr* code_ir, in BoxValue()
79 auto boxing_method = code_ir->Alloc<lir::Method>(ir_method_decl, ir_method_decl->orig_index); in BoxValue()
81 auto args = code_ir->Alloc<lir::VRegRange>(src_reg, 1 + is_wide); in BoxValue()
82 auto boxing_invoke = code_ir->Alloc<lir::Bytecode>(); in BoxValue()
88 auto move_result = code_ir->Alloc<lir::Bytecode>(); in BoxValue()
90 move_result->operands.push_back(code_ir->Alloc<lir::VReg>(dst_reg)); in BoxValue()
[all …]
Dtryblocks_encoder.cc23 namespace lir { namespace
Dcontrol_flow_graph.cc20 namespace lir { namespace
Ddebuginfo_encoder.cc23 namespace lir { namespace
Dcode_ir.cc34 namespace lir { namespace
Dbytecode_encoder.cc23 namespace lir { namespace
/tools/dexter/slicer/export/slicer/
Dtryblocks_encoder.h25 namespace lir {
Ddebuginfo_encoder.h27 namespace lir {
Dbytecode_encoder.h27 namespace lir {
Dcontrol_flow_graph.h24 namespace lir {
Dcode_ir.h44 namespace lir {