RFR: 8360707: Globally enumerate all blobs, stubs and entries

Andrew Dinn adinn at openjdk.org
Mon Jul 7 08:06:42 UTC 2025


On Mon, 7 Jul 2025 04:24:20 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> @vnkozlov 
>>> This looks fine. Please merge latest jdk so I can do additional testing with AOTStubCaching enabled.
>> 
>> Done.
>
> Hi @adinn, 
> 
> could you add these changes fixing test failure on s390: 
> 
> 
> diff --git a/src/hotspot/cpu/s390/stubGenerator_s390.cpp b/src/hotspot/cpu/s390/stubGenerator_s390.cpp
> index 10e5abe9ce8..687fb764bd8 100644
> --- a/src/hotspot/cpu/s390/stubGenerator_s390.cpp
> +++ b/src/hotspot/cpu/s390/stubGenerator_s390.cpp
> @@ -164,15 +164,16 @@ class StubGenerator: public StubCodeGenerator {
>  
>        // Save non-volatile registers to ABI of caller frame.
>        BLOCK_COMMENT("save registers, push frame {");
> -      __ z_stmg(Z_R6, Z_R14, 16, Z_SP);
> -      __ z_std(Z_F8, 96, Z_SP);
> -      __ z_std(Z_F9, 104, Z_SP);
> -      __ z_std(Z_F10, 112, Z_SP);
> -      __ z_std(Z_F11, 120, Z_SP);
> -      __ z_std(Z_F12, 128, Z_SP);
> -      __ z_std(Z_F13, 136, Z_SP);
> -      __ z_std(Z_F14, 144, Z_SP);
> -      __ z_std(Z_F15, 152, Z_SP);
> +      __ save_return_pc();
> +      __ z_stmg(Z_R6, Z_R13, 16, Z_SP);
> +      __ z_std(Z_F8, 88, Z_SP);
> +      __ z_std(Z_F9, 96, Z_SP);
> +      __ z_std(Z_F10, 104, Z_SP);
> +      __ z_std(Z_F11, 112, Z_SP);
> +      __ z_std(Z_F12, 120, Z_SP);
> +      __ z_std(Z_F13, 128, Z_SP);
> +      __ z_std(Z_F14, 136, Z_SP);
> +      __ z_std(Z_F15, 144, Z_SP);
>  
>        //
>        // Push ENTRY_FRAME including arguments:
> @@ -337,15 +338,16 @@ class StubGenerator: public StubCodeGenerator {
>        __ z_lg(r_arg_result_type, result_type_offset, r_entryframe_fp);
>  
>        // Restore non-volatiles.
> -      __ z_lmg(Z_R6, Z_R14, 16, Z_SP);
> -      __ z_ld(Z_F8, 96, Z_SP);
> -      __ z_ld(Z_F9, 104, Z_SP);
> -      __ z_ld(Z_F10, 112, Z_SP);
> -      __ z_ld(Z_F11, 120, Z_SP);
> -      __ z_ld(Z_F12, 128, Z_SP);
> -      __ z_ld(Z_F13, 136, Z_SP);
> -      __ z_ld(Z_F14, 144, Z_SP);
> -      __ z_ld(Z_F15, 152, Z_SP);
> +      __ restore_return_pc();
> +      __ z_lmg(Z_R6, Z_R13, 16, Z_SP);
> +      __ z_ld(Z_F8, 88, Z_SP);
> +      __ z_ld(Z_F9, 96, Z_SP);
> +      __ z_ld(Z_F10, 104, Z_SP);
> +      __ z_ld(Z_F11, 112, Z_SP);
> +      __ z_ld(Z_F12, 120, Z_SP);
> +      __ z_ld(Z_F13, 128, Z_SP);
> +      __ z_ld(Z_F14, 136, Z_SP);
> +      __ z_ld(Z_F15, 144, Z_SP);
>        BLOCK_COMMENT("} restore");
>  
>        //

@offamitkumar
> could you add these changes fixing test failure on s390:

I think these need to be included in a separate PR. Your patch fixes a problem that is independent from the current change (it was already there but only manifested after this change).

Separating these issues is important because we may decide to backport your patch (say, to jdk25) and the changes in this PR definitely should not be backported. It also matters because it avoids confusing maintainers over the purpose and scope of these two sets of changes -- this one is meant to be a removal of technical debt with no visible changes to functionality, whereas your patch is remedying a functional defect.

So, please raise a new JIRA indicating what problem the above patch fixes and then create a new PR for the patch.

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

PR Comment: https://git.openjdk.org/jdk/pull/26004#issuecomment-3043894384


More information about the hotspot-dev mailing list