1.1 --- a/src/share/vm/code/scopeDesc.cpp Fri Jul 31 12:04:07 2009 -0700 1.2 +++ b/src/share/vm/code/scopeDesc.cpp Fri Jul 31 17:12:33 2009 -0700 1.3 @@ -46,6 +46,7 @@ 1.4 _decode_offset = parent->_sender_decode_offset; 1.5 _objects = parent->_objects; 1.6 decode_body(); 1.7 + assert(_reexecute == false, "reexecute not allowed"); 1.8 } 1.9 1.10 1.11 @@ -56,6 +57,7 @@ 1.12 _sender_decode_offset = DebugInformationRecorder::serialized_null; 1.13 _method = methodHandle(_code->method()); 1.14 _bci = InvocationEntryBci; 1.15 + _reexecute = false; 1.16 _locals_decode_offset = DebugInformationRecorder::serialized_null; 1.17 _expressions_decode_offset = DebugInformationRecorder::serialized_null; 1.18 _monitors_decode_offset = DebugInformationRecorder::serialized_null; 1.19 @@ -65,7 +67,8 @@ 1.20 1.21 _sender_decode_offset = stream->read_int(); 1.22 _method = methodHandle((methodOop) stream->read_oop()); 1.23 - _bci = stream->read_bci(); 1.24 + _bci = stream->read_bci_and_reexecute(_reexecute); 1.25 + 1.26 // decode offsets for body and sender 1.27 _locals_decode_offset = stream->read_int(); 1.28 _expressions_decode_offset = stream->read_int(); 1.29 @@ -170,6 +173,7 @@ 1.30 st->print("ScopeDesc[%d]@" PTR_FORMAT " ", _decode_offset, _code->instructions_begin()); 1.31 st->print_cr(" offset: %d", _decode_offset); 1.32 st->print_cr(" bci: %d", bci()); 1.33 + st->print_cr(" reexecute: %s", should_reexecute() ? "true" : "false"); 1.34 st->print_cr(" locals: %d", _locals_decode_offset); 1.35 st->print_cr(" stack: %d", _expressions_decode_offset); 1.36 st->print_cr(" monitor: %d", _monitors_decode_offset);