Skip to content

Commit 4f2da5a

Browse files
committedNov 6, 2024
Merge branch 'pull/21565' into fibers
2 parents 4d18d6b + 211c6c8 commit 4f2da5a

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed
 

‎src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@ void C2_MacroAssembler::fast_lock(Register objReg, Register boxReg, Register tmp
319319
movptr(Address(boxReg, 0), checked_cast<int32_t>(markWord::unused_mark().value()));
320320

321321
// It's inflated and we use scrReg for ObjectMonitor* in this section.
322+
movptr(boxReg, Address(r15_thread, JavaThread::lock_id_offset()));
322323
movq(scrReg, tmpReg);
323324
xorq(tmpReg, tmpReg);
324-
movptr(boxReg, Address(r15_thread, JavaThread::lock_id_offset()));
325325
lock();
326326
cmpxchgptr(boxReg, Address(scrReg, OM_OFFSET_NO_MONITOR_VALUE_TAG(owner)));
327327

‎src/hotspot/share/runtime/continuationFreezeThaw.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1658,9 +1658,9 @@ bool FreezeBase::check_valid_fast_path() {
16581658
RegisterMap::ProcessFrames::skip,
16591659
RegisterMap::WalkContinuation::skip);
16601660
map.set_include_argument_oops(false);
1661-
int i = 0;
1662-
for (frame f = freeze_start_frame(); Continuation::is_frame_in_continuation(ce, f); f = f.sender(&map), i++) {
1663-
if (!((f.is_compiled_frame() && !f.is_deoptimized_frame()) || (i == 0 && (f.is_runtime_frame() || f.is_native_frame())))) {
1661+
bool is_top_frame = true;
1662+
for (frame f = freeze_start_frame(); Continuation::is_frame_in_continuation(ce, f); f = f.sender(&map), is_top_frame = false) {
1663+
if (!((f.is_compiled_frame() && !f.is_deoptimized_frame()) || (is_top_frame && (f.is_runtime_frame() || f.is_native_frame())))) {
16641664
return false;
16651665
}
16661666
}

‎src/hotspot/share/runtime/javaThread.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -472,8 +472,8 @@ class JavaThread: public Thread {
472472
int _frames_to_pop_failed_realloc;
473473

474474
ContinuationEntry* _cont_entry;
475-
intptr_t* _cont_fastpath; // the sp of the oldest known interpreted/call_stub frame inside the
476-
// continuation that we know about
475+
intptr_t* _cont_fastpath; // the sp of the oldest known interpreted/call_stub/upcall_stub/native_wrapper
476+
// frame inside the continuation that we know about
477477
int _cont_fastpath_thread_state; // whether global thread state allows continuation fastpath (JVMTI)
478478

479479
// It's signed for error detection.

‎test/jdk/ProblemList-Xcomp.txt

+1
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,5 @@
2828
#############################################################################
2929

3030
java/lang/invoke/MethodHandles/CatchExceptionTest.java 8146623 generic-all
31+
java/lang/reflect/callerCache/ReflectionCallerCacheTest.java 8332028 generic-all
3132
com/sun/jdi/InterruptHangTest.java 8043571 generic-all

‎test/jdk/java/lang/reflect/callerCache/ReflectionCallerCacheTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
* @summary Test the caller class loader is not kept strongly reachable
2828
* by reflection API
2929
* @library /test/lib/
30-
* @requires vm.compMode != "Xcomp"
3130
* @modules jdk.compiler
3231
* @build ReflectionCallerCacheTest Members jdk.test.lib.compiler.CompilerUtils
3332
* @run testng/othervm ReflectionCallerCacheTest

0 commit comments

Comments
 (0)
Please sign in to comment.