review(XS): 7085279: C1 overflows code buffer with VerifyOops and CompressedOops

Igor Veresov igor.veresov at oracle.com
Tue Aug 30 18:42:45 PDT 2011


 I'll just go with increasing it. Otherwise we'll have to factor in tiered, compressed oops, verification. 

Thanks Tom and Vladimir! 

igor

On Tuesday, August 30, 2011 at 6:38 PM, Tom Rodriguez wrote:

> 
> On Aug 30, 2011, at 6:37 PM, Igor Veresov wrote:
> 
> > On Tuesday, August 30, 2011 at 6:24 PM, Tom Rodriguez wrote:
> > > 
> > > On Aug 30, 2011, at 6:12 PM, Igor Veresov wrote:
> > > 
> > > > I just thought that it might need to be adjusted anyway for 64bit. I haven't seen any problems with that (because of the inlining constraints), but intuitively we would hit the limit sooner on 64 bit. 
> > > 
> > > It's 32k * wordSize so it's already twice as big on 64 bit. We might want to revisit these limits for tiered though since profiling generates quite a bit of extra code.
> > Yes, of course you're right. I was thinking about something else when I replied...
> > 
> > I guess we could make the increase predicated upon the verification, but I thought it should be pretty harmless to increase it since those buffers are allocated only once per compiler thread.
> 
> Either way.
> 
> tom
> 
> > 
> > igor
> > 
> > > tom
> > > 
> > > > 
> > > > igor
> > > > 
> > > > On Tuesday, August 30, 2011 at 5:49 PM, Vladimir Kozlov wrote:
> > > > 
> > > > > Igor,
> > > > > 
> > > > > May be you need to increase size only if VerifyOops is specified. What do you think?
> > > > > 
> > > > > Vladimir
> > > > > 
> > > > > Igor Veresov wrote:
> > > > > > This happens during emission of LIR_OpAllocObj. C1 assumes that a LIR instruction will fit into 1K but in this case it's not true because the allocation code is pretty large by itself and oop verfication adds an order of magnitude more of additional code. 
> > > > > > 
> > > > > > I bumped up the size of the code per LIR operation to 2K. And also increased the size of the NMethodSizeLimit to accommodate all the verification code emitted. 
> > > > > > 
> > > > > > Webrev: http://cr.openjdk.java.net/~iveresov/7085279/webrev.00/
> > > > > > 
> > > > > > Thanks,
> > > > > > igor




More information about the hotspot-compiler-dev mailing list