RFR: 8313438: [s390x] build broken after JDK-8301996 [v3]
Amit Kumar
amitkumar at openjdk.org
Mon Oct 9 10:07:04 UTC 2023
On Mon, 9 Oct 2023 09:23:13 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> Yes, to keep it alive across VM-calls, we used non-volatile register here.
>>
>> We were short on registers and had to combine `obj and off` So that we free one register for `flags`. There exist comment for this, do you want me to add all of this logic explanation there ?
>>
>>
>>
>> /*
>> * In the static case, we can calculate the final field address easily.
>> * Do so to occupy only one non-volatile register
>> * ---------------------
>> * In the non-static case, we preset fieldAddr with the field offset.
>> * The object address is available only later. It is popped from stack.
>> * see pop_and_check_object(obj);
>> */
>> if (is_static) {
>> __ z_agr(fieldAddr, obj);
>> }
>
> Ok, got it. Thanks for explaining. Please assert that the flag register is non-volatile instead.
Done, thanks for the suggestion. Please review the latest changes.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15885#discussion_r1350097491
More information about the hotspot-compiler-dev
mailing list