RFR: Save both IU and FPU state in WB stub around runtime call

Roman Kennke rkennke at redhat.com
Tue Nov 20 14:57:20 UTC 2018



Am 20.11.18 um 15:46 schrieb Roman Kennke:
> Hi Aleksey,
> 
>> On 11/20/18 2:19 PM, Roman Kennke wrote:
>>> http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/
>>
>> *) It is unfortunate we have to restore %rax and do the RB part of WB on this path. I don't see an
>> easy way out, though. Please put the comment near RB on rax:
>>   // Need to restore the WB result, which have to be the forwarded object.
> 
> The alternative would easy but ugly in other ways: do what we do now,
> i.e. push all (GP) registers one after the other, do the FPU parts with
> push_FPU_state() and pop_FPU_state(), and pop the GP registers in
> reverse order, except %rax. What would you prefer?
> 
> 
> Roman
> 
In-fact, this might be better anyway because we already saved a bunch of
regs at this point (%r8, %rdi, %rbb) and might not need to save some
others (%rax, ..) so we can fine-tune it to do exactly what we need. Let
me try this.

Roman



More information about the shenandoah-dev mailing list