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 }