# HG changeset patch # User Lukas Stadler # Date 1395399074 -3600 # Node ID c8fb80093621eff1ec9796c2aed81e9a08512553 # Parent 91ed2ba34b06cff22a6653ebd0308f4da63087c2 metric for number of implicit null checks in GuardLoweringPhase diff -r 91ed2ba34b06 -r c8fb80093621 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Thu Mar 20 14:14:48 2014 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Mar 21 11:51:14 2014 +0100 @@ -55,6 +55,9 @@ * does the actual control-flow expansion of the remaining {@link GuardNode GuardNodes}. */ public class GuardLoweringPhase extends BasePhase { + + private static final DebugMetric metricImplicitNullCheck = Debug.metric("ImplicitNullCheck"); + private static class UseImplicitNullChecks extends ScheduledNodeIterator { private final IdentityHashMap nullGuarded = new IdentityHashMap<>(); @@ -88,6 +91,7 @@ private void processAccess(Access access) { GuardNode guard = nullGuarded.get(access.object()); if (guard != null && isImplicitNullCheck(access.nullCheckLocation())) { + metricImplicitNullCheck.increment(); access.setGuard(guard.getGuard()); FixedAccessNode fixedAccess; if (access instanceof FloatingAccessNode) {