# HG changeset patch # User Doug Simon # Date 1377005556 -7200 # Node ID a5429101c6bb673aeb9d374ab0f658caaf76394b # Parent 6675167d52b6ee73d240d554e5099bebfe615038 added interpretable implementation to node intrinsics (GRAAL-430) diff -r 6675167d52b6 -r a5429101c6bb graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Tue Aug 20 13:23:08 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Tue Aug 20 15:32:36 2013 +0200 @@ -103,7 +103,12 @@ } @NodeIntrinsic - public static native T guardingNonNull(T object); + public static T guardingNonNull(T object) { + if (object == null) { + throw new NullPointerException(); + } + return object; + } @NodeIntrinsic public static native Object guardingPi(Object object, LogicNode condition, @ConstantNodeParameter boolean negateCondition, @ConstantNodeParameter DeoptimizationReason reason, diff -r 6675167d52b6 -r a5429101c6bb graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Tue Aug 20 13:23:08 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Tue Aug 20 15:32:36 2013 +0200 @@ -22,6 +22,8 @@ */ package com.oracle.graal.nodes.java; +import java.lang.reflect.*; + import com.oracle.graal.api.meta.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -61,5 +63,7 @@ } @NodeIntrinsic - public static native Object newArray(Class componentType, int length); + public static Object newArray(Class componentType, int length) { + return Array.newInstance(componentType, length); + } }