Home
last modified time | relevance | path

Searched refs:bytecode (Results 1 – 11 of 11) sorted by relevance

/tools/dexter/slicer/
Dbytecode_encoder.cc95 static dex::u4 GetRegA(const Bytecode* bytecode, int index) { in GetRegA() argument
96 auto flags = dex::GetFlagsFromOpcode(bytecode->opcode); in GetRegA()
98 ? bytecode->CastOperand<VRegPair>(index)->base_reg in GetRegA()
99 : bytecode->CastOperand<VReg>(index)->reg; in GetRegA()
104 static dex::u4 GetRegB(const Bytecode* bytecode, int index) { in GetRegB() argument
105 auto flags = dex::GetFlagsFromOpcode(bytecode->opcode); in GetRegB()
107 ? bytecode->CastOperand<VRegPair>(index)->base_reg in GetRegB()
108 : bytecode->CastOperand<VReg>(index)->reg; in GetRegB()
113 static dex::u4 GetRegC(const Bytecode* bytecode, int index) { in GetRegC() argument
114 auto flags = dex::GetFlagsFromOpcode(bytecode->opcode); in GetRegC()
[all …]
Ddex_bytecode.cc25 Opcode OpcodeFromBytecode(u2 bytecode) { in OpcodeFromBytecode() argument
26 Opcode opcode = Opcode(bytecode & 0xff); in OpcodeFromBytecode()
147 size_t GetWidthFromBytecode(const u2* bytecode) { in GetWidthFromBytecode() argument
149 if (*bytecode == kPackedSwitchSignature) { in GetWidthFromBytecode()
150 width = 4 + bytecode[1] * 2; in GetWidthFromBytecode()
151 } else if (*bytecode == kSparseSwitchSignature) { in GetWidthFromBytecode()
152 width = 2 + bytecode[1] * 4; in GetWidthFromBytecode()
153 } else if (*bytecode == kArrayDataSignature) { in GetWidthFromBytecode()
154 u2 elemWidth = bytecode[1]; in GetWidthFromBytecode()
155 u4 len = bytecode[2] | (((u4)bytecode[3]) << 16); in GetWidthFromBytecode()
[all …]
Dinstrumentation.cc64 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in Apply() local
65 if (bytecode == nullptr) { in Apply()
68 code_ir->instructions.InsertBefore(bytecode, hook_invoke); in Apply()
99 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in Apply() local
100 if (bytecode == nullptr) { in Apply()
108 switch (bytecode->opcode) { in Apply()
115 reg = bytecode->CastOperand<lir::VReg>(0)->reg; in Apply()
121 reg = bytecode->CastOperand<lir::VReg>(0)->reg; in Apply()
127 reg = bytecode->CastOperand<lir::VRegPair>(0)->base_reg; in Apply()
141 code_ir->instructions.InsertBefore(bytecode, hook_invoke); in Apply()
[all …]
Dcontrol_flow_graph.cc40 bool BasicBlocksVisitor::Visit(Bytecode* bytecode) { in Visit() argument
43 StartBlock(bytecode); in Visit()
56 const auto flags = dex::GetFlagsFromOpcode(bytecode->opcode); in Visit()
69 terminate_block = bytecode->opcode == dex::OP_THROW || (flags & exit_instr_flags) != 0; in Visit()
72 EndBlock(bytecode); in Visit()
/tools/dexter/dexter/
Dexperimental.cc68 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in StressWrapInvoke() local
69 if (bytecode == nullptr) { in StressWrapInvoke()
74 switch (bytecode->opcode) { in StressWrapInvoke()
87 auto orig_method = bytecode->CastOperand<lir::Method>(1)->ir_method; in StressWrapInvoke()
109 new_call->operands.push_back(bytecode->operands[0]); in StressWrapInvoke()
111 code_ir.instructions.InsertBefore(bytecode, new_call); in StressWrapInvoke()
120 code_ir.instructions.Remove(bytecode); in StressWrapInvoke()
180 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in StressEntryHook() local
181 if (bytecode == nullptr) { in StressEntryHook()
184 code_ir.instructions.InsertBefore(bytecode, call); in StressEntryHook()
[all …]
Ddissasembler.cc62 bool PrintCodeIrVisitor::Visit(lir::Bytecode* bytecode) { in Visit() argument
63 StartInstruction(bytecode); in Visit()
64 printf("\t%5u| %s", bytecode->offset, dex::GetOpcodeName(bytecode->opcode)); in Visit()
66 for (auto op : bytecode->operands) { in Visit()
72 EndInstruction(bytecode); in Visit()
Ddissasembler.h33 virtual bool Visit(lir::Bytecode* bytecode) override;
/tools/dexter/slicer/export/slicer/
Ddex_bytecode.h396 Opcode OpcodeFromBytecode(u2 bytecode);
416 size_t GetWidthFromBytecode(const u2* bytecode);
419 Instruction DecodeInstruction(const u2* bytecode);
Dcontrol_flow_graph.h55 bool Visit(Bytecode* bytecode) override;
Dbytecode_encoder.h42 virtual bool Visit(Bytecode* bytecode) override;
/tools/metalava/
DREADME.md287 android.jar files (e.g. backed by bytecode) or reading previous signature