# HG changeset patch # User Doug Simon # Date 1426112871 -3600 # Node ID 09a22ce2e44255e86de409b40b636a078f29f053 # Parent 9594538080a865a4cc7c8ceeeef327b8c948703d removed some uses of setStampFromReturnType diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Wed Mar 11 23:27:51 2015 +0100 @@ -73,6 +73,9 @@ } public Object getInjectedNodeIntrinsicParameter(ResolvedJavaType type) { + if (type.isInstance(forObject(runtime.getHostProviders().getWordTypes()))) { + return runtime.getHostProviders().getWordTypes(); + } if (type.isInstance(forObject(runtime))) { return runtime; } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -24,6 +24,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodeinfo.*; @@ -31,6 +32,7 @@ import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Intrinsic for opening a scope binding a stack-based lock with an object. A lock scope must be @@ -44,8 +46,8 @@ public static final NodeClass TYPE = NodeClass.create(BeginLockScopeNode.class); protected int lockDepth; - public BeginLockScopeNode(int lockDepth) { - super(TYPE, null); + public BeginLockScopeNode(@InjectedNodeParameter WordTypes wordTypes, int lockDepth) { + super(TYPE, StampFactory.forKind(wordTypes.getWordKind())); this.lockDepth = lockDepth; } @@ -68,6 +70,6 @@ gen.setResult(this, result); } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word beginLockScope(@ConstantNodeParameter int lockDepth); } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -23,11 +23,13 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Converts a compile-time constant Java string into a C string installed with the generated code. @@ -38,8 +40,8 @@ public static final NodeClass TYPE = NodeClass.create(CStringNode.class); protected final String string; - public CStringNode(String string) { - super(TYPE, null); + public CStringNode(@InjectedNodeParameter WordTypes wordTypes, String string) { + super(TYPE, StampFactory.forKind(wordTypes.getWordKind())); this.string = string; } @@ -68,6 +70,6 @@ return bytes; } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word cstring(@ConstantNodeParameter String string); } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -32,6 +32,7 @@ import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Gets the address of the C++ JavaThread object for the current thread. @@ -42,8 +43,8 @@ protected LIRKind wordKind; - public CurrentJavaThreadNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime) { - this(runtime.getTarget().wordKind); + public CurrentJavaThreadNode(@InjectedNodeParameter WordTypes wordTypes) { + this(wordTypes.getWordKind()); } public CurrentJavaThreadNode(Kind wordKind) { @@ -65,6 +66,6 @@ } } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word get(); } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -24,12 +24,14 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Intrinsic for getting the lock in the current {@linkplain BeginLockScopeNode lock scope}. @@ -40,8 +42,8 @@ protected int lockDepth; - public CurrentLockNode(int lockDepth) { - super(TYPE, null); + public CurrentLockNode(@InjectedNodeParameter WordTypes wordTypes, int lockDepth) { + super(TYPE, StampFactory.forKind(wordTypes.getWordKind())); this.lockDepth = lockDepth; } @@ -55,6 +57,6 @@ gen.setResult(this, result); } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word currentLock(@ConstantNodeParameter int lockDepth); } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -28,12 +28,14 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Intrinsic for allocating an on-stack array of integers to hold the dimensions of a multianewarray @@ -45,8 +47,8 @@ public static final NodeClass TYPE = NodeClass.create(DimensionsNode.class); protected final int rank; - public DimensionsNode(int rank) { - super(TYPE, null); + public DimensionsNode(@InjectedNodeParameter WordTypes wordTypes, int rank) { + super(TYPE, StampFactory.forKind(wordTypes.getWordKind())); this.rank = rank; } @@ -61,6 +63,6 @@ gen.setResult(this, result); } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word allocaDimsArray(@ConstantNodeParameter int rank); } diff -r 9594538080a8 -r 09a22ce2e442 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Wed Mar 11 23:23:08 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Wed Mar 11 23:27:51 2015 +0100 @@ -26,11 +26,13 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +import com.oracle.graal.word.phases.*; /** * Node that is used to maintain a stack based counter of how many locks are currently held. @@ -39,8 +41,8 @@ public final class MonitorCounterNode extends FloatingNode implements LIRLowerable { public static final NodeClass TYPE = NodeClass.create(MonitorCounterNode.class); - public MonitorCounterNode() { - super(TYPE, null); + public MonitorCounterNode(@InjectedNodeParameter WordTypes wordTypes) { + super(TYPE, StampFactory.forKind(wordTypes.getWordKind())); } @Override @@ -51,6 +53,6 @@ gen.setResult(this, result); } - @NodeIntrinsic(setStampFromReturnType = true) + @NodeIntrinsic public static native Word counter(); }