Skip to content
Permalink
Browse files
8273165: GraphKit::combine_exception_states fails with "matching stac…
…k sizes" assert

Reviewed-by: thartmann, kvn
  • Loading branch information
Vladimir Ivanov committed Sep 2, 2021
1 parent c2e015c commit 632a7e0885596b70d34be319bd09d4df8e151d12
Showing 1 changed file with 6 additions and 0 deletions.
@@ -513,6 +513,12 @@ bool LateInlineVirtualCallGenerator::do_late_inline_check(Compile* C, JVMState*
// Method handle linker case is handled in CallDynamicJavaNode::Ideal().
// Unless inlining is performed, _override_symbolic_info bit will be set in DirectCallGenerator::generate().

// Implicit receiver null checks introduce problems when exception states are combined.
Node* receiver = jvms->map()->argument(jvms, 0);
const Type* recv_type = C->initial_gvn()->type(receiver);
if (recv_type->maybe_null()) {
return false;
}
// Even if inlining is not allowed, a virtual call can be strength-reduced to a direct call.
bool allow_inline = C->inlining_incrementally();
if (!allow_inline && _callee->holder()->is_interface()) {

1 comment on commit 632a7e0

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on 632a7e0 Sep 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.