29 import org.graalvm.compiler.debug.GraalError; 30 31 import jdk.vm.ci.meta.Constant; 32 import jdk.vm.ci.meta.JavaKind; 33 import jdk.vm.ci.meta.MemoryAccessProvider; 34 import jdk.vm.ci.meta.MetaAccessProvider; 35 import jdk.vm.ci.meta.PrimitiveConstant; 36 import jdk.vm.ci.meta.ResolvedJavaType; 37 38 /** 39 * This stamp represents the type of the {@link JavaKind#Illegal} value in the second slot of 40 * {@link JavaKind#Long} and {@link JavaKind#Double} values. It can only appear in framestates or 41 * virtual objects. 42 */ 43 public final class IllegalStamp extends Stamp { 44 45 private IllegalStamp() { 46 } 47 48 @Override 49 public JavaKind getStackKind() { 50 return JavaKind.Illegal; 51 } 52 53 @Override 54 public LIRKind getLIRKind(LIRKindTool tool) { 55 return LIRKind.Illegal; 56 } 57 58 @Override 59 public Stamp unrestricted() { 60 return this; 61 } 62 63 @Override 64 public boolean isUnrestricted() { 65 return true; 66 } 67 68 @Override | 29 import org.graalvm.compiler.debug.GraalError; 30 31 import jdk.vm.ci.meta.Constant; 32 import jdk.vm.ci.meta.JavaKind; 33 import jdk.vm.ci.meta.MemoryAccessProvider; 34 import jdk.vm.ci.meta.MetaAccessProvider; 35 import jdk.vm.ci.meta.PrimitiveConstant; 36 import jdk.vm.ci.meta.ResolvedJavaType; 37 38 /** 39 * This stamp represents the type of the {@link JavaKind#Illegal} value in the second slot of 40 * {@link JavaKind#Long} and {@link JavaKind#Double} values. It can only appear in framestates or 41 * virtual objects. 42 */ 43 public final class IllegalStamp extends Stamp { 44 45 private IllegalStamp() { 46 } 47 48 @Override 49 public void accept(Visitor v) { 50 } 51 52 @Override 53 public JavaKind getStackKind() { 54 return JavaKind.Illegal; 55 } 56 57 @Override 58 public LIRKind getLIRKind(LIRKindTool tool) { 59 return LIRKind.Illegal; 60 } 61 62 @Override 63 public Stamp unrestricted() { 64 return this; 65 } 66 67 @Override 68 public boolean isUnrestricted() { 69 return true; 70 } 71 72 @Override |