--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Mon Apr 20 14:48:03 2009 -0700
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Tue Apr 21 23:21:04 2009 -0700
@@ -1524,6 +1524,11 @@
code = Bytecodes::_invokespecial;
}
+ if (code == Bytecodes::_invokedynamic) {
+ BAILOUT("invokedynamic NYI"); // FIXME
+ return;
+ }
+
// NEEDS_CLEANUP
// I've added the target-is_loaded() test below but I don't really understand
// how klass->is_loaded() can be true and yet target->is_loaded() is false.
@@ -2431,8 +2436,8 @@
case Bytecodes::_invokevirtual : // fall through
case Bytecodes::_invokespecial : // fall through
case Bytecodes::_invokestatic : // fall through
+ case Bytecodes::_invokedynamic : // fall through
case Bytecodes::_invokeinterface: invoke(code); break;
- case Bytecodes::_xxxunusedxxx : ShouldNotReachHere(); break;
case Bytecodes::_new : new_instance(s.get_index_big()); break;
case Bytecodes::_newarray : new_type_array(); break;
case Bytecodes::_anewarray : new_object_array(); break;
@@ -2571,6 +2576,7 @@
, Bytecodes::_invokevirtual
, Bytecodes::_invokespecial
, Bytecodes::_invokestatic
+ , Bytecodes::_invokedynamic
, Bytecodes::_invokeinterface
, Bytecodes::_new
, Bytecodes::_newarray