1.1 --- a/src/share/vm/c1/c1_LIR.cpp Wed Mar 20 17:04:45 2013 -0700 1.2 +++ b/src/share/vm/c1/c1_LIR.cpp Thu Mar 21 09:27:54 2013 +0100 1.3 @@ -633,6 +633,7 @@ 1.4 case lir_ushr: 1.5 case lir_xadd: 1.6 case lir_xchg: 1.7 + case lir_assert: 1.8 { 1.9 assert(op->as_Op2() != NULL, "must be"); 1.10 LIR_Op2* op2 = (LIR_Op2*)op; 1.11 @@ -1112,6 +1113,11 @@ 1.12 } 1.13 } 1.14 1.15 +#ifdef ASSERT 1.16 +void LIR_OpAssert::emit_code(LIR_Assembler* masm) { 1.17 + masm->emit_assert(this); 1.18 +} 1.19 +#endif 1.20 1.21 void LIR_OpDelay::emit_code(LIR_Assembler* masm) { 1.22 masm->emit_delay(this); 1.23 @@ -1771,6 +1777,8 @@ 1.24 case lir_cas_int: s = "cas_int"; break; 1.25 // LIR_OpProfileCall 1.26 case lir_profile_call: s = "profile_call"; break; 1.27 + // LIR_OpAssert 1.28 + case lir_assert: s = "assert"; break; 1.29 case lir_none: ShouldNotReachHere();break; 1.30 default: s = "illegal_op"; break; 1.31 } 1.32 @@ -2017,6 +2025,13 @@ 1.33 out->print("[lbl:0x%x]", stub()->entry()); 1.34 } 1.35 1.36 +void LIR_OpAssert::print_instr(outputStream* out) const { 1.37 + print_condition(out, condition()); out->print(" "); 1.38 + in_opr1()->print(out); out->print(" "); 1.39 + in_opr2()->print(out); out->print(", \""); 1.40 + out->print(msg()); out->print("\""); 1.41 +} 1.42 + 1.43 1.44 void LIR_OpDelay::print_instr(outputStream* out) const { 1.45 _op->print_on(out);