8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but not in jdk7ux

Long series of lambda form calls trigger stack overflow in c2

Reviewed-by: kvn, vlivanov
This commit is contained in:
Roland Westrelin 2014-06-02 10:01:15 +02:00
parent 2a0815a55e
commit bdb8050bbf

View File

@ -361,11 +361,14 @@ bool InlineTree::try_to_inline(ciMethod* callee_method, ciMethod* caller_method,
set_msg("not an accessor");
return false;
}
// Limit inlining depth in case inlining is forced or
// _max_inline_level was increased to compensate for lambda forms.
if (inline_level() > MaxForceInlineLevel) {
set_msg("MaxForceInlineLevel");
return false;
}
if (inline_level() > _max_inline_level) {
if (callee_method->force_inline() && inline_level() > MaxForceInlineLevel) {
set_msg("MaxForceInlineLevel");
return false;
}
if (!callee_method->force_inline() || !IncrementalInline) {
set_msg("inlining too deep");
return false;