RFR: 8360707: Globally enumerate all blobs, stubs and entries
Vladimir Kozlov
kvn at openjdk.org
Mon Jul 7 20:26:40 UTC 2025
On Mon, 7 Jul 2025 08:03:57 GMT, Andrew Dinn <adinn at openjdk.org> wrote:
>> 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.
Thank you @adinn for merge. Unfortunately I was not able to enable Stubs caching for testing.
It failed my local testing. `runtime/cds/appcds/aotCode/AOTCodeCompressedOopsTest.java ` test failed on x86 for multiply reasons. Some are ease to fix and some may be not. I gave up after hitting relocation patching issue.
I submitted testing with AOTStubCaching disabled as in current code.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26004#issuecomment-3046421564
More information about the hotspot-dev
mailing list