mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8259375: JvmtiExport::jni_Get/SetField_probe calls do not need ResetNoHandleMark
Reviewed-by: lfoltan, dcubed
This commit is contained in:
parent
f91f92dcaa
commit
8530ef0e4d
2 changed files with 4 additions and 18 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1886,11 +1886,7 @@ oop JvmtiExport::jni_GetField_probe(JavaThread *thread, jobject jobj, oop obj,
|
|||
oop JvmtiExport::jni_GetField_probe_nh(JavaThread *thread, jobject jobj, oop obj,
|
||||
Klass* klass, jfieldID fieldID, bool is_static) {
|
||||
if (*((int *)get_field_access_count_addr()) > 0 && thread->has_last_Java_frame()) {
|
||||
// At least one field access watch is set so we have more work
|
||||
// to do. This wrapper is used by "quick" entry points that don't
|
||||
// allow us to create handles in post_field_access_by_jni(). We
|
||||
// override that with a ResetNoHandleMark.
|
||||
ResetNoHandleMark rnhm;
|
||||
// At least one field access watch is set so we have more work to do.
|
||||
post_field_access_by_jni(thread, obj, klass, fieldID, is_static);
|
||||
// event posting can block so refetch oop if we were passed a jobj
|
||||
if (jobj != NULL) return JNIHandles::resolve_non_null(jobj);
|
||||
|
@ -1981,11 +1977,7 @@ oop JvmtiExport::jni_SetField_probe_nh(JavaThread *thread, jobject jobj, oop obj
|
|||
Klass* klass, jfieldID fieldID, bool is_static,
|
||||
char sig_type, jvalue *value) {
|
||||
if (*((int *)get_field_modification_count_addr()) > 0 && thread->has_last_Java_frame()) {
|
||||
// At least one field modification watch is set so we have more work
|
||||
// to do. This wrapper is used by "quick" entry points that don't
|
||||
// allow us to create handles in post_field_modification_by_jni(). We
|
||||
// override that with a ResetNoHandleMark.
|
||||
ResetNoHandleMark rnhm;
|
||||
// At least one field modification watch is set so we have more work to do.
|
||||
post_field_modification_by_jni(thread, obj, klass, fieldID, is_static, sig_type, value);
|
||||
// event posting can block so refetch oop if we were passed a jobj
|
||||
if (jobj != NULL) return JNIHandles::resolve_non_null(jobj);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue