mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 02:24:40 +02:00
8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents
8233915: JVMTI FollowReferences: Java Heap Leak not found because of C2 Scalar Replacement Reviewed-by: mdoerr, goetz, sspitsyn, kvn
This commit is contained in:
parent
f167a71f1d
commit
40f847e2fb
53 changed files with 5744 additions and 218 deletions
|
@ -31,23 +31,16 @@
|
|||
#include "oops/oop.inline.hpp"
|
||||
#include "runtime/handles.inline.hpp"
|
||||
|
||||
ScopeDesc::ScopeDesc(const CompiledMethod* code, int decode_offset, int obj_decode_offset, bool reexecute, bool rethrow_exception, bool return_oop) {
|
||||
ScopeDesc::ScopeDesc(const CompiledMethod* code, PcDesc* pd, bool ignore_objects) {
|
||||
int obj_decode_offset = ignore_objects ? DebugInformationRecorder::serialized_null : pd->obj_decode_offset();
|
||||
_code = code;
|
||||
_decode_offset = decode_offset;
|
||||
_decode_offset = pd->scope_decode_offset();
|
||||
_objects = decode_object_values(obj_decode_offset);
|
||||
_reexecute = reexecute;
|
||||
_rethrow_exception = rethrow_exception;
|
||||
_return_oop = return_oop;
|
||||
decode_body();
|
||||
}
|
||||
|
||||
ScopeDesc::ScopeDesc(const CompiledMethod* code, int decode_offset, bool reexecute, bool rethrow_exception, bool return_oop) {
|
||||
_code = code;
|
||||
_decode_offset = decode_offset;
|
||||
_objects = decode_object_values(DebugInformationRecorder::serialized_null);
|
||||
_reexecute = reexecute;
|
||||
_rethrow_exception = rethrow_exception;
|
||||
_return_oop = return_oop;
|
||||
_reexecute = pd->should_reexecute();
|
||||
_rethrow_exception = pd->rethrow_exception();
|
||||
_return_oop = pd->return_oop();
|
||||
_has_ea_local_in_scope = ignore_objects ? false : pd->has_ea_local_in_scope();
|
||||
_arg_escape = ignore_objects ? false : pd->arg_escape();
|
||||
decode_body();
|
||||
}
|
||||
|
||||
|
@ -59,6 +52,8 @@ void ScopeDesc::initialize(const ScopeDesc* parent, int decode_offset) {
|
|||
_reexecute = false; //reexecute only applies to the first scope
|
||||
_rethrow_exception = false;
|
||||
_return_oop = false;
|
||||
_has_ea_local_in_scope = parent->has_ea_local_in_scope();
|
||||
_arg_escape = false;
|
||||
decode_body();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue