--- a/hotspot/src/share/vm/c1/c1_LIR.cpp Wed Apr 14 15:30:13 2010 -0700
+++ b/hotspot/src/share/vm/c1/c1_LIR.cpp Thu Apr 15 18:14:49 2010 -0700
@@ -626,8 +626,7 @@
break;
}
- case lir_throw:
- case lir_unwind: {
+ case lir_throw: {
assert(op->as_Op2() != NULL, "must be");
LIR_Op2* op2 = (LIR_Op2*)op;
@@ -639,6 +638,17 @@
break;
}
+ case lir_unwind: {
+ assert(op->as_Op1() != NULL, "must be");
+ LIR_Op1* op1 = (LIR_Op1*)op;
+
+ assert(op1->_info == NULL, "no info");
+ assert(op1->_opr->is_valid(), "exception oop"); do_input(op1->_opr);
+ assert(op1->_result->is_illegal(), "no result");
+
+ break;
+ }
+
case lir_tan:
case lir_sin: