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