RFR(M): 8213528: fp registers should not need to be saved around a CallLeafNoFP
Roman Kennke
rkennke at redhat.com
Thu Nov 15 20:09:31 UTC 2018
Including zgc-dev because I believe the discussion may be relevant there
too. Looking at the .ad file, I see Z barrier decls like this:
https://paste.fedoraproject.org/paste/niLRXUpUj81n8ML9MSM0yg
The only purpose of this exercise seems to be to tell C2 that this stuff
(may) kill the xmm registers, and then call out to runtime. What Roland
proposed seems an easier way? I.e. instead of generating all that stuff,
emit a CallLeaf to call out to runtime directly?
Maybe even do what Shenandoah does and call with CallLeafNoFP to a stub,
which in turn would care to save/restore all those registers. This way,
the Z barriers wouldn't inhibit XMM spilling.
It looks to me like ZGC could live without any of those .ad declarations.
Maybe I am missing something though.
Roman
> Yes, like this.
>
> callnode.cpp - add space after node's name output. May be print
> preserves_fp_registers before name as in machnode.cpp for consistency.
>
> Thanks,
> Vladimir
>
> On 11/15/18 2:30 AM, Roland Westrelin wrote:
>>
>>> Sounds good. Is lcm.cpp only place where we do such check (in
>>> addition to code in .ad files)?
>>
>> What about this?
>>
>> http://cr.openjdk.java.net/~roland/8213528/webrev.01/
>>
>> Roland.
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20181115/d9d4ee2f/signature-0001.asc>
More information about the hotspot-compiler-dev
mailing list