hotspot/src/share/vm/runtime/vframe.hpp
changeset 3600 27aa4477d039
parent 3171 aa289b22b577
child 3603 2d6d87c8705f
--- a/hotspot/src/share/vm/runtime/vframe.hpp	Fri Jul 31 12:04:07 2009 -0700
+++ b/hotspot/src/share/vm/runtime/vframe.hpp	Fri Jul 31 17:12:33 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");
 }