Searched refs:bytecode (Results 1 – 11 of 11) sorted by relevance
95 static dex::u4 GetRegA(const Bytecode* bytecode, int index) { in GetRegA() argument96 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() argument105 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() argument114 auto flags = dex::GetFlagsFromOpcode(bytecode->opcode); in GetRegC()[all …]
25 Opcode OpcodeFromBytecode(u2 bytecode) { in OpcodeFromBytecode() argument26 Opcode opcode = Opcode(bytecode & 0xff); in OpcodeFromBytecode()147 size_t GetWidthFromBytecode(const u2* bytecode) { in GetWidthFromBytecode() argument149 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 …]
64 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in Apply() local65 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() local100 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 …]
40 bool BasicBlocksVisitor::Visit(Bytecode* bytecode) { in Visit() argument43 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()
68 auto bytecode = dynamic_cast<lir::Bytecode*>(instr); in StressWrapInvoke() local69 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() local181 if (bytecode == nullptr) { in StressEntryHook()184 code_ir.instructions.InsertBefore(bytecode, call); in StressEntryHook()[all …]
62 bool PrintCodeIrVisitor::Visit(lir::Bytecode* bytecode) { in Visit() argument63 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()
33 virtual bool Visit(lir::Bytecode* bytecode) override;
396 Opcode OpcodeFromBytecode(u2 bytecode);416 size_t GetWidthFromBytecode(const u2* bytecode);419 Instruction DecodeInstruction(const u2* bytecode);
55 bool Visit(Bytecode* bytecode) override;
42 virtual bool Visit(Bytecode* bytecode) override;
287 android.jar files (e.g. backed by bytecode) or reading previous signature