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