review(XS): 7085279: C1 overflows code buffer with VerifyOops and CompressedOops
Igor Veresov
igor.veresov at oracle.com
Tue Aug 30 18:09:13 PDT 2011
I think it's being taken care of here:
static int desired_max_code_buffer_size() {
#ifndef PPC
return (int) NMethodSizeLimit; // default 256K or 512K
#else
// conditional branches on PPC are restricted to 16 bit signed
return MIN2((unsigned int)NMethodSizeLimit,32*K);
#endif
}
igor
On Tuesday, August 30, 2011 at 5:51 PM, Tom Rodriguez wrote:
>
> On Aug 30, 2011, at 5:19 PM, 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.
>
> The 2K limit is fine. I have some memory that the NMethodSizeLimit may be set at 32K because of the reach of branches on some platform. I can't remember for sure though.
>
> tom
>
> >
> > Webrev: http://cr.openjdk.java.net/~iveresov/7085279/webrev.00/
> >
> > Thanks,
> > igor
More information about the hotspot-compiler-dev
mailing list