Mercurial > hg > truffle
comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckcastArrayCopyCallNode.java @ 18594:1f379e2a623f
checkcastArraycopy: sign extend super_check_offset
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Tue, 02 Dec 2014 19:27:50 +0100 |
parents | 58ea6b98cb09 |
children |
comparison
equal
deleted
inserted
replaced
18593:58ea6b98cb09 | 18594:1f379e2a623f |
---|---|
33 import com.oracle.graal.nodes.*; | 33 import com.oracle.graal.nodes.*; |
34 import com.oracle.graal.nodes.calc.*; | 34 import com.oracle.graal.nodes.calc.*; |
35 import com.oracle.graal.nodes.extended.*; | 35 import com.oracle.graal.nodes.extended.*; |
36 import com.oracle.graal.nodes.spi.*; | 36 import com.oracle.graal.nodes.spi.*; |
37 import com.oracle.graal.runtime.*; | 37 import com.oracle.graal.runtime.*; |
38 import com.oracle.graal.word.*; | |
38 | 39 |
39 @NodeInfo(allowedUsageTypes = {InputType.Memory, InputType.Value}) | 40 @NodeInfo(allowedUsageTypes = {InputType.Memory, InputType.Value}) |
40 public class CheckcastArrayCopyCallNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { | 41 public class CheckcastArrayCopyCallNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { |
41 | 42 |
42 @Input ValueNode src; | 43 @Input ValueNode src; |
123 public LocationIdentity getLocationIdentity() { | 124 public LocationIdentity getLocationIdentity() { |
124 return NamedLocationIdentity.getArrayLocation(Kind.Object); | 125 return NamedLocationIdentity.getArrayLocation(Kind.Object); |
125 } | 126 } |
126 | 127 |
127 @NodeIntrinsic | 128 @NodeIntrinsic |
128 public static native int checkcastArraycopy(Object src, int srcPos, Object dest, int destPos, int length, int superCheckOffset, Object destElemKlass, @ConstantNodeParameter boolean uninit); | 129 public static native int checkcastArraycopy(Object src, int srcPos, Object dest, int destPos, int length, Word superCheckOffset, Object destElemKlass, @ConstantNodeParameter boolean uninit); |
129 } | 130 } |