Any::isNull check

forax at univ-mlv.fr forax at univ-mlv.fr
Wed Dec 16 17:28:37 UTC 2015


There are 7 'times' (for a lack of better word) were the specialization can appear,
compile time, install time (a 'time' added by jigsaw when jlink is run to create the program image), load time, first invocation time, and jit runtime.

I see no real reason to see the specialization as one monolithic phase, so specialization will certainly decomposed in different slices covering the last 3 'times'.

regards,
Rémi

----- Mail original -----
> De: "Mohammad A. Rezaei" <Mohammad.Rezaei at gs.com>
> À: "Rémi Forax" <forax at univ-mlv.fr>, "Paul Benedict" <pbenedict at apache.org>, "Brian Goetz" <brian.goetz at oracle.com>
> Cc: "valhalla-dev" <valhalla-dev at openjdk.java.net>
> Envoyé: Mercredi 16 Décembre 2015 17:49:03
> Objet: RE: Any::isNull check
> 
> Doesn't this sort of optimization fit better in the (runtime) class
> specializer than either javac or C1/C2? Surely, the specializer has to deal
> with Any::isNull call sites regardless, so might as well not generate the
> dead code paths.
> 
> Thanks
> Moh
> 
> >-----Original Message-----
> >From: valhalla-dev [mailto:valhalla-dev-bounces at openjdk.java.net] On Behalf
> >Of
> >Rémi Forax
> >Sent: Wednesday, December 16, 2015 11:36 AM
> >To: Paul Benedict; Brian Goetz
> >Cc: valhalla-dev
> >Subject: Re: Any::isNull check
> >
> >The question is whenever you have several .class for one generic class or if
> >there is only one fat .class and multiple classes (or something lighter) at
> >runtime.
> >
> >If you have one .class, the compiler can not do something for you.
> >
> >regards,
> >Remi
> >
> 
> 


More information about the valhalla-dev mailing list