MethodBlock* MethodBlock::if_else_testz(DexOpcode if_op, Location test, MethodBlock** true_block) { 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_else_block(op, true_block); }
MethodBlock* MethodBlock::if_else_testz(IROpcode if_op, Location test, MethodBlock** true_block) { 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_else_block(op, true_block); }
MethodBlock* MethodBlock::if_else_test(DexOpcode if_op, Location first, Location second, MethodBlock** true_block) { 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_else_block(op, true_block); }
MethodBlock* MethodBlock::if_else_test(IROpcode if_op, Location first, Location second, MethodBlock** true_block) { 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_else_block(op, true_block); }