MethodBlock* MethodBlock::if_test(DexOpcode if_op, Location first, Location second) { always_assert(OPCODE_IF_EQ <= if_op && if_op <= OPCODE_IF_LE); DexInstruction* op = new DexInstruction(if_op); op->set_src(0, reg_num(first)); op->set_src(1, reg_num(second)); return make_if_block(op); }
MethodBlock* MethodBlock::if_test(IROpcode if_op, Location first, Location second) { always_assert(OPCODE_IF_EQ <= if_op && if_op <= OPCODE_IF_LE); IRInstruction* op = new IRInstruction(if_op); op->set_src(0, first.get_reg()); op->set_src(1, second.get_reg()); return make_if_block(op); }
MethodBlock* MethodBlock::if_testz(DexOpcode if_op, Location test) { always_assert(OPCODE_IF_EQZ <= if_op && if_op <= OPCODE_IF_LEZ); DexInstruction* op = new DexInstruction(if_op); op->set_src(0, reg_num(test)); return make_if_block(op); }
MethodBlock* MethodBlock::if_testz(IROpcode if_op, Location test) { always_assert(OPCODE_IF_EQZ <= if_op && if_op <= OPCODE_IF_LEZ); IRInstruction* op = new IRInstruction(if_op); op->set_src(0, test.get_reg()); return make_if_block(op); }