Skip to content


8273165: GraphKit::combine_exception_states fails with "matching stac…
Browse files Browse the repository at this point in the history
…k sizes" assert

Backport-of: 632a7e0885596b70d34be319bd09d4df8e151d12
  • Loading branch information
TobiHartmann committed Sep 29, 2021
1 parent ff3e90f commit 056eca0
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/hotspot/share/opto/callGenerator.cpp
Expand Up @@ -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()) {
Expand Down

1 comment on commit 056eca0

Copy link

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.