From 62bd2ebac4dd11ceecafd7f988485fe2aaea1a5e Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Tue, 4 Apr 2023 14:28:09 +0000 Subject: [PATCH] 8303147: [s390x] fast & slow debug builds are broken Reviewed-by: mdoerr --- src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp | 10 ++++++---- src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp | 3 +-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp index 1577a3abfdf..4fef086bc8e 100644 --- a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp +++ b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp @@ -2429,15 +2429,17 @@ void LIR_Assembler::setup_md_access(ciMethod* method, int bci, void LIR_Assembler::store_parameter(Register r, int param_num) { assert(param_num >= 0, "invalid num"); - int offset_in_bytes = param_num * BytesPerWord + FrameMap::first_available_sp_in_frame; - assert(offset_in_bytes < frame_map()->reserved_argument_area_size(), "invalid offset"); + int offset_in_bytes = param_num * BytesPerWord; + check_reserved_argument_area(offset_in_bytes); + offset_in_bytes += FrameMap::first_available_sp_in_frame; __ z_stg(r, offset_in_bytes, Z_SP); } void LIR_Assembler::store_parameter(jint c, int param_num) { assert(param_num >= 0, "invalid num"); - int offset_in_bytes = param_num * BytesPerWord + FrameMap::first_available_sp_in_frame; - assert(offset_in_bytes < frame_map()->reserved_argument_area_size(), "invalid offset"); + int offset_in_bytes = param_num * BytesPerWord; + check_reserved_argument_area(offset_in_bytes); + offset_in_bytes += FrameMap::first_available_sp_in_frame; __ store_const(Address(Z_SP, offset_in_bytes), c, Z_R1_scratch, true); } diff --git a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp index 7ca94d2d97a..229216ef20d 100644 --- a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp +++ b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.hpp @@ -41,8 +41,7 @@ void store_parameter(jint c, int param_num); void check_reserved_argument_area(int bytes) { - assert(bytes + FrameMap::first_available_sp_in_frame <= frame_map()->reserved_argument_area_size(), - "reserved_argument_area too small"); + assert(bytes <= frame_map()->reserved_argument_area_size(), "reserved_argument_area too small"); } enum {