< prev index next > src/hotspot/share/c1/c1_LIR.cpp
Print this page
if (opAllocArray->_result->is_valid()) do_output(opAllocArray->_result);
do_stub(opAllocArray->_stub);
break;
}
+ // LIR_OpLoadKlass
+ case lir_load_klass:
+ {
+ LIR_OpLoadKlass* opLoadKlass = op->as_OpLoadKlass();
+ assert(opLoadKlass != NULL, "must be");
+
+ do_input(opLoadKlass->_obj);
+ do_output(opLoadKlass->_result);
+ if (opLoadKlass->_stub) do_stub(opLoadKlass->_stub);
+ if (opLoadKlass->_info) do_info(opLoadKlass->_info);
+ break;
+ }
+
+
// LIR_OpProfileCall:
case lir_profile_call: {
assert(op->as_OpProfileCall() != NULL, "must be");
LIR_OpProfileCall* opProfileCall = (LIR_OpProfileCall*)op;
if (stub()) {
masm->append_code_stub(stub());
}
}
+ void LIR_OpLoadKlass::emit_code(LIR_Assembler* masm) {
+ masm->emit_load_klass(this);
+ if (stub()) {
+ masm->append_code_stub(stub());
+ }
+ }
+
#ifdef ASSERT
void LIR_OpAssert::emit_code(LIR_Assembler* masm) {
masm->emit_assert(this);
}
#endif
_scratch->print(out); out->print(" ");
}
out->print("[lbl:" INTPTR_FORMAT "]", p2i(stub()->entry()));
}
+ void LIR_OpLoadKlass::print_instr(outputStream* out) const {
+ obj()->print(out); out->print(" ");
+ result_opr()->print(out); out->print(" ");
+ if (stub()) {
+ out->print("[lbl:" INTPTR_FORMAT "]", p2i(stub()->entry()));
+ }
+ }
+
#ifdef ASSERT
void LIR_OpAssert::print_instr(outputStream* out) const {
print_condition(out, condition()); out->print(" ");
in_opr1()->print(out); out->print(" ");
in_opr2()->print(out); out->print(", \"");
< prev index next >