--- a/src/hotspot/share/code/scopeDesc.cpp Tue Dec 18 12:08:51 2018 -0800
+++ b/src/hotspot/share/code/scopeDesc.cpp Tue Dec 18 12:36:27 2018 -0800
@@ -51,9 +51,9 @@
}
-ScopeDesc::ScopeDesc(const ScopeDesc* parent) {
+void ScopeDesc::initialize(const ScopeDesc* parent, int decode_offset) {
_code = parent->_code;
- _decode_offset = parent->_sender_decode_offset;
+ _decode_offset = decode_offset;
_objects = parent->_objects;
_reexecute = false; //reexecute only applies to the first scope
_rethrow_exception = false;
@@ -61,6 +61,14 @@
decode_body();
}
+ScopeDesc::ScopeDesc(const ScopeDesc* parent) {
+ initialize(parent, parent->_sender_decode_offset);
+}
+
+ScopeDesc::ScopeDesc(const ScopeDesc* parent, int decode_offset) {
+ initialize(parent, decode_offset);
+}
+
void ScopeDesc::decode_body() {
if (decode_offset() == DebugInformationRecorder::serialized_null) {