TieredCompilation question

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jan 10 17:59:07 PST 2013


You step on your own mine :)

Yes, it has such pathology for inlined by C1 methods. The assumption is 
that when C2 will compile MA it will also inline MB and MC. You can try 
to lower Tier4CompileThreshold.

Vladimir

On 1/10/13 5:22 PM, Deneau, Tom wrote:
> I will display my ignorance of TieredCompilation here. :)
> I think I am seeing the following but I am not positive...
>
> Let's say method MA calls MB calls MC.
> MC gets compiled at C2 level.
> Everything works well and the MC method compiled at C2 gets called several hundred times.
>
> Now method MA gets compiled at level 3 in C1.
> This C1 compilation of MA decides to inline MB and then MC into its C1 compilation.
> So it no longer uses the C2 compilation of MC??
>
> In my particular case MC had called some intrinsic routines which were only defined as intrinsics in C2.
> So the net effect of being compiled at C1 when it was inlined into MA was that we lose those intrinsics.
>
> Is this how TieredCompilation is supposed to  work?
>
> I should add here that the early compilation of MC at C2 level was in my case artificially forced by some code I added to Hotspot (so I might have missed something in setting that up).
>
> With Tiered off, this all worked nicely of course.
>
> -- Tom
>


More information about the sumatra-dev mailing list