Mon, 02 Jun 2014 10:01:15 +0200
8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but not in jdk7ux
Summary: long series of lambda form calls trigger stack overflow in c2
Reviewed-by: kvn, vlivanov
src/share/vm/opto/bytecodeInfo.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/bytecodeInfo.cpp Fri May 30 10:43:51 2014 +0200 1.2 +++ b/src/share/vm/opto/bytecodeInfo.cpp Mon Jun 02 10:01:15 2014 +0200 1.3 @@ -361,11 +361,14 @@ 1.4 set_msg("not an accessor"); 1.5 return false; 1.6 } 1.7 + 1.8 + // Limit inlining depth in case inlining is forced or 1.9 + // _max_inline_level was increased to compensate for lambda forms. 1.10 + if (inline_level() > MaxForceInlineLevel) { 1.11 + set_msg("MaxForceInlineLevel"); 1.12 + return false; 1.13 + } 1.14 if (inline_level() > _max_inline_level) { 1.15 - if (callee_method->force_inline() && inline_level() > MaxForceInlineLevel) { 1.16 - set_msg("MaxForceInlineLevel"); 1.17 - return false; 1.18 - } 1.19 if (!callee_method->force_inline() || !IncrementalInline) { 1.20 set_msg("inlining too deep"); 1.21 return false;