7085279: C1 overflows code buffer with VerifyOops and CompressedOops
Summary: Increase the limit of code emitted per LIR instruction, increase the max size of the nmethod generated by C1
Reviewed-by: never, kvn, johnc
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp Tue Aug 30 00:54:09 2011 -0700
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp Tue Aug 30 19:01:58 2011 -0700
@@ -121,7 +121,7 @@
void LIR_Assembler::check_codespace() {
CodeSection* cs = _masm->code_section();
- if (cs->remaining() < (int)(1*K)) {
+ if (cs->remaining() < (int)(NOT_LP64(1*K)LP64_ONLY(2*K))) {
BAILOUT("CodeBuffer overflow");
}
}
--- a/hotspot/src/share/vm/c1/c1_globals.hpp Tue Aug 30 00:54:09 2011 -0700
+++ b/hotspot/src/share/vm/c1/c1_globals.hpp Tue Aug 30 19:01:58 2011 -0700
@@ -278,7 +278,7 @@
product(intx, CompilationRepeat, 0, \
"Number of times to recompile method before returning result") \
\
- develop(intx, NMethodSizeLimit, (32*K)*wordSize, \
+ develop(intx, NMethodSizeLimit, (64*K)*wordSize, \
"Maximum size of a compiled method.") \
\
develop(bool, TraceFPUStack, false, \