src/share/vm/code/scopeDesc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/code/scopeDesc.cpp	Thu Jul 16 16:02:29 2009
--- new/src/share/vm/code/scopeDesc.cpp	Thu Jul 16 16:02:29 2009

*** 44,53 **** --- 44,54 ---- ScopeDesc::ScopeDesc(const ScopeDesc* parent) { _code = parent->_code; _decode_offset = parent->_sender_decode_offset; _objects = parent->_objects; decode_body(); + assert(_reexecute == false, "reexecute not allowed"); } void ScopeDesc::decode_body() { if (decode_offset() == DebugInformationRecorder::serialized_null) {
*** 54,73 **** --- 55,76 ---- // This is a sentinel record, which is only relevant to // approximate queries. Decode a reasonable frame. _sender_decode_offset = DebugInformationRecorder::serialized_null; _method = methodHandle(_code->method()); _bci = InvocationEntryBci; + _reexecute = false; _locals_decode_offset = DebugInformationRecorder::serialized_null; _expressions_decode_offset = DebugInformationRecorder::serialized_null; _monitors_decode_offset = DebugInformationRecorder::serialized_null; } else { // decode header DebugInfoReadStream* stream = stream_at(decode_offset()); _sender_decode_offset = stream->read_int(); _method = methodHandle((methodOop) stream->read_oop()); ! _bci = stream->read_bci_and_reexecute(_reexecute); + // decode offsets for body and sender _locals_decode_offset = stream->read_int(); _expressions_decode_offset = stream->read_int(); _monitors_decode_offset = stream->read_int(); }
*** 168,177 **** --- 171,181 ---- // decode offsets if (WizardMode) { st->print("ScopeDesc[%d]@" PTR_FORMAT " ", _decode_offset, _code->instructions_begin()); st->print_cr(" offset: %d", _decode_offset); st->print_cr(" bci: %d", bci()); + st->print_cr(" reexecute: %s", should_reexecute() ? "true" : "false"); st->print_cr(" locals: %d", _locals_decode_offset); st->print_cr(" stack: %d", _expressions_decode_offset); st->print_cr(" monitor: %d", _monitors_decode_offset); st->print_cr(" sender: %d", _sender_decode_offset); }

src/share/vm/code/scopeDesc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File