24 |
24 |
25 # include "incls/_precompiled.incl" |
25 # include "incls/_precompiled.incl" |
26 # include "incls/_scopeDesc.cpp.incl" |
26 # include "incls/_scopeDesc.cpp.incl" |
27 |
27 |
28 |
28 |
29 ScopeDesc::ScopeDesc(const nmethod* code, int decode_offset, int obj_decode_offset, bool reexecute) { |
29 ScopeDesc::ScopeDesc(const nmethod* code, int decode_offset, int obj_decode_offset, bool reexecute, bool return_oop) { |
30 _code = code; |
30 _code = code; |
31 _decode_offset = decode_offset; |
31 _decode_offset = decode_offset; |
32 _objects = decode_object_values(obj_decode_offset); |
32 _objects = decode_object_values(obj_decode_offset); |
33 _reexecute = reexecute; |
33 _reexecute = reexecute; |
|
34 _return_oop = return_oop; |
34 decode_body(); |
35 decode_body(); |
35 } |
36 } |
36 |
37 |
37 ScopeDesc::ScopeDesc(const nmethod* code, int decode_offset, bool reexecute) { |
38 ScopeDesc::ScopeDesc(const nmethod* code, int decode_offset, bool reexecute, bool return_oop) { |
38 _code = code; |
39 _code = code; |
39 _decode_offset = decode_offset; |
40 _decode_offset = decode_offset; |
40 _objects = decode_object_values(DebugInformationRecorder::serialized_null); |
41 _objects = decode_object_values(DebugInformationRecorder::serialized_null); |
41 _reexecute = reexecute; |
42 _reexecute = reexecute; |
|
43 _return_oop = return_oop; |
42 decode_body(); |
44 decode_body(); |
43 } |
45 } |
44 |
46 |
45 |
47 |
46 ScopeDesc::ScopeDesc(const ScopeDesc* parent) { |
48 ScopeDesc::ScopeDesc(const ScopeDesc* parent) { |
47 _code = parent->_code; |
49 _code = parent->_code; |
48 _decode_offset = parent->_sender_decode_offset; |
50 _decode_offset = parent->_sender_decode_offset; |
49 _objects = parent->_objects; |
51 _objects = parent->_objects; |
50 _reexecute = false; //reexecute only applies to the first scope |
52 _reexecute = false; //reexecute only applies to the first scope |
|
53 _return_oop = false; |
51 decode_body(); |
54 decode_body(); |
52 } |
55 } |
53 |
56 |
54 |
57 |
55 void ScopeDesc::decode_body() { |
58 void ScopeDesc::decode_body() { |