src/share/vm/c1/c1_LIR.cpp

changeset 4860
46f6f063b272
parent 4625
84a926fe53d0
child 4947
acadb114c818
     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);

mercurial