mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 20:44:41 +02:00
7004582: Add GetThisObject() function to JVMTI 1.2
Add 'GetThisObject' function Reviewed-by: never, coleenp
This commit is contained in:
parent
d344b51209
commit
de27a1608c
9 changed files with 156 additions and 69 deletions
|
@ -619,8 +619,8 @@ nmethod::nmethod(
|
|||
OopMapSet* oop_maps )
|
||||
: CodeBlob("native nmethod", code_buffer, sizeof(nmethod),
|
||||
nmethod_size, offsets->value(CodeOffsets::Frame_Complete), frame_size, oop_maps),
|
||||
_compiled_synchronized_native_basic_lock_owner_sp_offset(basic_lock_owner_sp_offset),
|
||||
_compiled_synchronized_native_basic_lock_sp_offset(basic_lock_sp_offset)
|
||||
_native_receiver_sp_offset(basic_lock_owner_sp_offset),
|
||||
_native_basic_lock_sp_offset(basic_lock_sp_offset)
|
||||
{
|
||||
{
|
||||
debug_only(No_Safepoint_Verifier nsv;)
|
||||
|
@ -696,8 +696,8 @@ nmethod::nmethod(
|
|||
int frame_size)
|
||||
: CodeBlob("dtrace nmethod", code_buffer, sizeof(nmethod),
|
||||
nmethod_size, offsets->value(CodeOffsets::Frame_Complete), frame_size, NULL),
|
||||
_compiled_synchronized_native_basic_lock_owner_sp_offset(in_ByteSize(-1)),
|
||||
_compiled_synchronized_native_basic_lock_sp_offset(in_ByteSize(-1))
|
||||
_native_receiver_sp_offset(in_ByteSize(-1)),
|
||||
_native_basic_lock_sp_offset(in_ByteSize(-1))
|
||||
{
|
||||
{
|
||||
debug_only(No_Safepoint_Verifier nsv;)
|
||||
|
@ -790,8 +790,8 @@ nmethod::nmethod(
|
|||
)
|
||||
: CodeBlob("nmethod", code_buffer, sizeof(nmethod),
|
||||
nmethod_size, offsets->value(CodeOffsets::Frame_Complete), frame_size, oop_maps),
|
||||
_compiled_synchronized_native_basic_lock_owner_sp_offset(in_ByteSize(-1)),
|
||||
_compiled_synchronized_native_basic_lock_sp_offset(in_ByteSize(-1))
|
||||
_native_receiver_sp_offset(in_ByteSize(-1)),
|
||||
_native_basic_lock_sp_offset(in_ByteSize(-1))
|
||||
{
|
||||
assert(debug_info->oop_recorder() == code_buffer->oop_recorder(), "shared OR");
|
||||
{
|
||||
|
|
|
@ -210,7 +210,7 @@ class nmethod : public CodeBlob {
|
|||
ExceptionCache *_exception_cache;
|
||||
PcDescCache _pc_desc_cache;
|
||||
|
||||
// These are only used for compiled synchronized native methods to
|
||||
// These are used for compiled synchronized native methods to
|
||||
// locate the owner and stack slot for the BasicLock so that we can
|
||||
// properly revoke the bias of the owner if necessary. They are
|
||||
// needed because there is no debug information for compiled native
|
||||
|
@ -220,8 +220,10 @@ class nmethod : public CodeBlob {
|
|||
// sharing between platforms. Note that currently biased locking
|
||||
// will never cause Class instances to be biased but this code
|
||||
// handles the static synchronized case as well.
|
||||
ByteSize _compiled_synchronized_native_basic_lock_owner_sp_offset;
|
||||
ByteSize _compiled_synchronized_native_basic_lock_sp_offset;
|
||||
// JVMTI's GetLocalInstance() also uses these offsets to find the receiver
|
||||
// for non-static native wrapper frames.
|
||||
ByteSize _native_receiver_sp_offset;
|
||||
ByteSize _native_basic_lock_sp_offset;
|
||||
|
||||
friend class nmethodLocker;
|
||||
|
||||
|
@ -676,11 +678,11 @@ public:
|
|||
bool is_patchable_at(address instr_address);
|
||||
|
||||
// UseBiasedLocking support
|
||||
ByteSize compiled_synchronized_native_basic_lock_owner_sp_offset() {
|
||||
return _compiled_synchronized_native_basic_lock_owner_sp_offset;
|
||||
ByteSize native_receiver_sp_offset() {
|
||||
return _native_receiver_sp_offset;
|
||||
}
|
||||
ByteSize compiled_synchronized_native_basic_lock_sp_offset() {
|
||||
return _compiled_synchronized_native_basic_lock_sp_offset;
|
||||
ByteSize native_basic_lock_sp_offset() {
|
||||
return _native_basic_lock_sp_offset;
|
||||
}
|
||||
|
||||
// support for code generation
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue