# HG changeset patch # User thartmann # Date 1447657404 -3600 # Node ID e19e45b065c67ad4d4133f4cda9247039e4884c6 # Parent c1b52e665b47f65816a4525b9dfa01dd1cc3c05a 8142500: missing null checks in IfNode::has_only_uncommon_traps Summary: IfNode::has_only_uncommon_traps needs to null-check the callers. Reviewed-by: kvn, roland, rbackman diff -r c1b52e665b47 -r e19e45b065c6 hotspot/src/share/vm/opto/ifnode.cpp --- a/hotspot/src/share/vm/opto/ifnode.cpp Fri Nov 13 18:14:41 2015 +0300 +++ b/hotspot/src/share/vm/opto/ifnode.cpp Mon Nov 16 08:03:24 2015 +0100 @@ -806,7 +806,11 @@ // that the call stacks are equal for both JVMStates. JVMState* dom_caller = dom_unc->jvms()->caller(); JVMState* caller = unc->jvms()->caller(); - if (!dom_caller->same_calls_as(caller)) { + if ((dom_caller == NULL) != (caller == NULL)) { + // The current method must either be inlined into both dom_caller and + // caller or must not be inlined at all (top method). Bail out otherwise. + return false; + } else if (dom_caller != NULL && !dom_caller->same_calls_as(caller)) { return false; } // Check that the bci of the dominating uncommon trap dominates the bci