diff src/share/vm/runtime/vframe.hpp @ 903:15bbd3f505c0

Merge
author kvn
date Thu, 06 Aug 2009 09:37:26 -0700
parents bd02caa94611 9987d9d5eb0e
children 72088be4b386
line wrap: on
line diff
--- a/src/share/vm/runtime/vframe.hpp	Wed Aug 05 18:54:12 2009 -0700
+++ b/src/share/vm/runtime/vframe.hpp	Thu Aug 06 09:37:26 2009 -0700
@@ -402,7 +402,12 @@
   DebugInfoReadStream buffer(nm(), decode_offset);
   _sender_decode_offset = buffer.read_int();
   _method               = methodOop(buffer.read_oop());
-  _bci                  = buffer.read_bci();
+  // Deoptimization needs reexecute bit to determine whether to reexecute the bytecode
+  // only at the time when it "unpack_frames", and the reexecute bit info could always
+  // be obtained from the scopeDesc in the compiledVFrame. As a result, we don't keep
+  // the reexecute bit here.
+  bool dummy_reexecute;
+  _bci                  = buffer.read_bci_and_reexecute(dummy_reexecute);
 
   assert(_method->is_method(), "checking type of decoded method");
 }