Projects
Mega:24.03:SP1:Everything
openjdk-1.8.0
_service:tar_scm:fix-lock-ordering-issue-when-c...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:fix-lock-ordering-issue-when-calling-JVMTI-GetLoaded.patch of Package openjdk-1.8.0
From d9955ea64090c1d6b1f1e2674c9c064c988f05aa Mon Sep 17 00:00:00 2001 From: zhangyipeng <zhangyipeng7@huawei.com> Date: Mon, 26 Jul 2021 21:08:09 +0800 Subject: [PATCH] [Huawei]Fix lock ordering issue when calling JVMTI GetLoadedClasses during marking Offering: Cloud Compiler JDK Signed-off-by: Zhang Yipeng <zhangyipeng7@huawei.com> --- hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp b/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp index a292f89..78e557a 100644 --- a/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp +++ b/hotspot/src/share/vm/prims/jvmtiGetLoadedClasses.cpp @@ -60,7 +60,6 @@ public: void do_klass(Klass* k) { // Collect all jclasses _classStack.push((jclass) _env->jni_reference(k->java_mirror())); - ensure_klass_alive(k->java_mirror()); } int extract(jclass* result_list) { @@ -70,7 +69,10 @@ public: // Pop all jclasses, fill backwards while (!_classStack.is_empty()) { - result_list[--i] = _classStack.pop(); + jclass klass_handle = _classStack.pop(); + oop klass_mirror = JNIHandles::resolve(klass_handle); + ensure_klass_alive(klass_mirror); + result_list[--i] = klass_handle; } // Return the number of elements written -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2