hotspot/src/share/vm/opto/doCall.cpp
changeset 27707 f7d26e5b8b5d
parent 27637 cf68c0af6882
child 28640 01e4ca94fb0d
--- a/hotspot/src/share/vm/opto/doCall.cpp	Mon Nov 24 08:48:15 2014 +0100
+++ b/hotspot/src/share/vm/opto/doCall.cpp	Mon Nov 24 07:29:03 2014 -0800
@@ -418,6 +418,11 @@
   ciInstanceKlass* klass = ciEnv::get_instance_klass_for_declared_method_holder(holder);
   assert(declared_signature != NULL, "cannot be null");
 
+  // Bump max node limit for JSR292 users
+  if (bc() == Bytecodes::_invokedynamic || orig_callee->is_method_handle_intrinsic()) {
+    C->set_max_node_limit(3*MaxNodeLimit);
+  }
+
   // uncommon-trap when callee is unloaded, uninitialized or will not link
   // bailout when too many arguments for register representation
   if (!will_link || can_not_compile_call_site(orig_callee, klass)) {