# HG changeset patch # User Doug Simon # Date 1424183574 -3600 # Node ID a58dacb6ad9a569698537b83ec7107bbb7348c16 # Parent e66b3cc0c27a353eafb063dafeb2b4f174181aae only need to null check invocations handled by a plugin if the receiver kind is Object diff -r e66b3cc0c27a -r a58dacb6ad9a graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Feb 17 15:21:44 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Feb 17 15:32:54 2015 +0100 @@ -896,7 +896,7 @@ InvocationPlugin plugin = graphBuilderConfig.getInvocationPlugins().lookupInvocation(targetMethod); if (plugin != null) { int beforeStackSize = frameState.stackSize; - boolean needsNullCheck = !targetMethod.isStatic() && !StampTool.isPointerNonNull(args[0].stamp()); + boolean needsNullCheck = !targetMethod.isStatic() && args[0].getKind() == Kind.Object && !StampTool.isPointerNonNull(args[0].stamp()); int nodeCount = currentGraph.getNodeCount(); Mark mark = needsNullCheck ? currentGraph.getMark() : null; if (InvocationPlugin.execute(this, plugin, args)) {