HotspotProfilingInfo for xxx-morphic inlining
Deneau, Tom
tom.deneau at amd.com
Mon May 12 21:04:34 UTC 2014
Another question related to inlining...
We have a junit test (lambda.InstanceOopNBodyTest) that only very occasionally fails, the failure reason being that
an invokevirtual that we thought would have only a single target ends up not getting inlined. (and we have not yet implemented invoke#direct).
When this happens we see the following from Log=InliningDecisions
@ 74 com.oracle.graal.compiler.hsail.test.lambda.Body.getX():float (5 bytes) not inlining no type profile exists
which I thought would only happen if there were two or more implementations of getX().
Now the junit test directory actually does have a class (called lambda.ObjectArrayInstanceDerivedTest) that extends Body and overrides getX(), but the things marked with @Test in that file are also marked @Ignore. So I would not think that this particular override of getX() would come into play. Or would it?
I suppose we could log some extra information when we get this " not inlining no type profile exists" error.
-- Tom
> -----Original Message-----
> From: Doug Simon [mailto:doug.simon at oracle.com]
> Sent: Monday, May 12, 2014 3:32 PM
> To: Deneau, Tom
> Cc: graal-dev at openjdk.java.net
> Subject: Re: HotspotProfilingInfo for xxx-morphic inlining
>
>
> On May 12, 2014, at 9:35 PM, Deneau, Tom <tom.deneau at amd.com> wrote:
>
> > I am interested in getting HotspotProfilingInfo for a method that we
> will be compiling in the HSAIL backend.
> > (after running the method on the cpu first to get profiling info)
>
> You have to ensure the method has been run enough for the interpreter to
> create a profile for a method. Usually, executing it about 10000 times
> is a sure thing. For more info, see ProfilingInfoTest.
>
> > When I get to HotSpotResolvedJavaMethod.getProfilingInfo, the
> metaspaceMethodData is always 0 and methodData is always null, so we get
> DefaultProfilingInfo instead.
> >
> > I am using
> > -XX:TypeProfileWidth=3 -
> G:MegamorphicInliningMinMethodProbability=0.001
> >
> > and my OptimisticOptimizations include UseTypedCheckInlining and
> UseTypeCheckHints.
> >
> > Is there some hotspot or graal option I am missing?
>
> -Doug
More information about the graal-dev
mailing list