changeset 10476:6c8277ce87d6

8150320: C1: Illegal bci in debug info for MH::linkTo* methods Reviewed-by: kvn, dlong
author vlivanov
date Mon, 14 Mar 2016 12:35:48 +0300
parents 9c7684975803
children 3497071a8c93
files src/share/vm/c1/c1_GraphBuilder.cpp src/share/vm/code/debugInfoRec.cpp
diffstat 2 files changed, 2 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/c1/c1_GraphBuilder.cpp	Mon Mar 14 12:35:44 2016 +0300
+++ b/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/src/share/vm/code/debugInfoRec.cpp	Mon Mar 14 12:35:44 2016 +0300
+++ b/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