8150320: C1: Illegal bci in debug info for MH::linkTo* methods
authorvlivanov
Mon, 14 Mar 2016 12:35:48 +0300
changeset 36602 3ab2b2853c57
parent 36601 e791e26c8f1b
child 36603 0bc3ad031d60
8150320: C1: Illegal bci in debug info for MH::linkTo* methods Reviewed-by: kvn, dlong
hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
hotspot/src/share/vm/code/debugInfoRec.cpp
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp	Mon Mar 14 12:35:44 2016 +0300
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp	Mon Mar 14 12:35:48 2016 +0300
@@ -3942,7 +3942,7 @@
 
 
 bool GraphBuilder::try_method_handle_inline(ciMethod* callee) {
-  ValueStack* state_before = state()->copy_for_parsing();
+  ValueStack* state_before = copy_state_before();
   vmIntrinsics::ID iid = callee->intrinsic_id();
   switch (iid) {
   case vmIntrinsics::_invokeBasic:
@@ -4032,7 +4032,7 @@
     fatal("unexpected intrinsic %d: %s", iid, vmIntrinsics::name_at(iid));
     break;
   }
-  set_state(state_before);
+  set_state(state_before->copy_for_parsing());
   return false;
 }
 
--- a/hotspot/src/share/vm/code/debugInfoRec.cpp	Mon Mar 14 12:35:44 2016 +0300
+++ b/hotspot/src/share/vm/code/debugInfoRec.cpp	Mon Mar 14 12:35:48 2016 +0300
@@ -369,7 +369,6 @@
   assert(method == NULL ||
          (method->is_native() && bci == 0) ||
          (!method->is_native() && 0 <= bci && bci < method->code_size()) ||
-         (method->is_compiled_lambda_form() && bci == -99) ||  // this might happen in C1
          bci == -1, "illegal bci");
 
   // serialize the locals/expressions/monitors