Mercurial > hg > truffle
changeset 11376:a5429101c6bb
added interpretable implementation to node intrinsics (GRAAL-430)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 20 Aug 2013 15:32:36 +0200 |
parents | 6675167d52b6 |
children | 0fbc1e418c88 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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> T guardingNonNull(T object); + public static <T> 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,
--- 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); + } }