RFR: 8345285: [s390x] test failures: foreign/normalize/TestNormalize.java with C2

Martin Doerr mdoerr at openjdk.org
Tue Jan 21 09:49:35 UTC 2025


On Mon, 20 Jan 2025 11:24:39 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

> Fixes `foreign/normalize/TestNormalize.java` failure on s390x.

Does this work? This would be equivalent to the PPC64 solution:

diff --git a/src/hotspot/cpu/s390/abstractInterpreter_s390.cpp b/src/hotspot/cpu/s390/abstractInterpreter_s390.cpp
index c24c2b56bf7..ad3721918cc 100644
--- a/src/hotspot/cpu/s390/abstractInterpreter_s390.cpp
+++ b/src/hotspot/cpu/s390/abstractInterpreter_s390.cpp
@@ -191,7 +191,7 @@ void AbstractInterpreter::layout_activation(Method* method,
     assert(is_bottom_frame && (sender_sp == caller->unextended_sp()),
            "must initialize sender_sp of bottom skeleton frame when pushing it");
   } else {
-    assert(caller->is_entry_frame(), "is there a new frame type??");
+    assert(caller->is_entry_frame() || caller->is_upcall_stub_frame(), "is there a new frame type??");
     sender_sp = caller->sp(); // Call_stub only uses it's fp.
   }
 
@@ -201,6 +201,8 @@ void AbstractInterpreter::layout_activation(Method* method,
   interpreter_frame->interpreter_frame_set_monitor_end((BasicObjectLock *)monitor);
   *interpreter_frame->interpreter_frame_cache_addr() = method->constants()->cache();
   interpreter_frame->interpreter_frame_set_tos_address(tos);
-  interpreter_frame->interpreter_frame_set_sender_sp(sender_sp);
+  if (!is_bottom_frame) {
+    interpreter_frame->interpreter_frame_set_sender_sp(sender_sp);
+  }
   interpreter_frame->interpreter_frame_set_top_frame_sp(top_frame_sp);
 }

-------------

PR Comment: https://git.openjdk.org/jdk/pull/23197#issuecomment-2604194372


More information about the hotspot-dev mailing list