review(XS): 7085279: C1 overflows code buffer with VerifyOops and CompressedOops
tom.rodriguez at oracle.com
Tue Aug 30 18:24:08 PDT 2011
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.
> On Tuesday, August 30, 2011 at 5:49 PM, Vladimir Kozlov wrote:
>> May be you need to increase size only if VerifyOops is specified. What do you think?
>> 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/
More information about the hotspot-compiler-dev