RFR: Streamline write-barrier-prologue (C2 part)
Roland Westrelin
rwestrel at redhat.com
Wed Aug 29 14:40:58 UTC 2018
> - it usually loads+checks gc-state 2x back-to-back (null-check is
> usually known statically)
Isn't loading 2x the gc state necessary if we want it to fold into the
heap stable test instruction?
> from cheapest to most expensive:
> - null-check: cheapest: nothing is loaded. Also, usually elided, and if
> not, might fold with other nullchecks on same object
I don't think it will fold that late in the optimization process. By
putting the null check first, happy path style optimizations are made
harder. Does it really matter that null check is first?
> - Only 1 region and related phis used for the whole branching stuff
As I remember the 2 regions were there to help happy path style
optimizations.
Roland.
More information about the shenandoah-dev
mailing list