# HG changeset patch # User Roland Schatz # Date 1441735059 -7200 # Node ID b00cc0475f3160933d5b0d2779be3c0de2f08f61 # Parent 6d339ba0edc577c3ccda416f3443c89647add1de Update jvmci import: Refactoring: Rename Kind to JavaKind. diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java --- a/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,7 +37,7 @@ public interface SnippetReflectionProvider { /** - * Creates a boxed {@link Kind#Object object} constant. + * Creates a boxed {@link JavaKind#Object object} constant. * * @param object the object value to box * @return a constant containing {@code object} @@ -46,7 +46,7 @@ /** * Gets the object reference a given constant represents if it is of a given type. The constant - * must have kind {@link Kind#Object}. + * must have kind {@link JavaKind#Object}. * * @param type the expected type of the object represented by {@code constant}. If the object is * required to be of this type, then wrap the call to this method in @@ -59,7 +59,7 @@ /** * Gets the object reference a given constant represents if it is of a given type. The constant - * must have kind {@link Kind#Object}. + * must have kind {@link JavaKind#Object}. * * @param type the expected type of the object represented by {@code constant}. If the object is * required to be of this type, then wrap the call to this method in @@ -76,10 +76,10 @@ * Java boxed type corresponding to the kind. * * @param kind the kind of the constant to create - * @param value the Java boxed value: a {@link Byte} instance for {@link Kind#Byte}, etc. + * @param value the Java boxed value: a {@link Byte} instance for {@link JavaKind#Byte}, etc. * @return the boxed copy of {@code value} */ - JavaConstant forBoxed(Kind kind, Object value); + JavaConstant forBoxed(JavaKind kind, Object value); /** * Resolves a parameter or return type involved in snippet code to a {@link Class}. @@ -102,8 +102,8 @@ Class[] parameterClasses = new Class[parameterTypes.length]; for (int i = 0; i < parameterClasses.length; ++i) { JavaType type = parameterTypes[i]; - if (type.getKind() != Kind.Object) { - parameterClasses[i] = type.getKind().toJavaClass(); + if (type.getJavaKind() != JavaKind.Object) { + parameterClasses[i] = type.getJavaKind().toJavaClass(); } else { parameterClasses[i] = resolveClassForSnippet(parameterTypes[i]); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/BitOpsTest.java --- a/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/BitOpsTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/BitOpsTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -62,7 +62,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); Register arg = asRegister(cc.getArgument(0)); LZCNT.emit(asm, DWORD, ret, arg); asm.ret(0); @@ -81,7 +81,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = IntField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); @@ -105,7 +105,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); Register arg = asRegister(cc.getArgument(0)); LZCNT.emit(asm, QWORD, ret, arg); asm.ret(0); @@ -124,7 +124,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = LongField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); @@ -148,7 +148,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); Register arg = asRegister(cc.getArgument(0)); TZCNT.emit(asm, DWORD, ret, arg); asm.ret(0); @@ -167,7 +167,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = IntField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); @@ -191,7 +191,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); Register arg = asRegister(cc.getArgument(0)); TZCNT.emit(asm, QWORD, ret, arg); asm.ret(0); @@ -210,7 +210,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = LongField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/IncrementDecrementMacroTest.java --- a/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/IncrementDecrementMacroTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/IncrementDecrementMacroTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -62,7 +62,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64MacroAssembler asm = new AMD64MacroAssembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = LongField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); @@ -99,7 +99,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64MacroAssembler asm = new AMD64MacroAssembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); try { Field f = LongField.class.getDeclaredField("x"); AMD64Address arg = new AMD64Address(asRegister(cc.getArgument(0)), (int) unsafe.objectFieldOffset(f)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java --- a/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -51,7 +51,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64Assembler asm = new AMD64Assembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Int); + Register ret = registerConfig.getReturnRegister(JavaKind.Int); asm.movl(ret, 8472); asm.ret(0); return asm.close(true); @@ -67,7 +67,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64MacroAssembler asm = new AMD64MacroAssembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Double); + Register ret = registerConfig.getReturnRegister(JavaKind.Double); Data data = new Data(8, 8, DataBuilder.serializable(JavaConstant.forDouble(84.72))); DataSectionReference ref = compResult.getDataSection().insertData(data); compResult.recordDataPatch(asm.position(), ref); @@ -86,7 +86,7 @@ @Override public byte[] generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig, CallingConvention cc) { AMD64MacroAssembler asm = new AMD64MacroAssembler(target, registerConfig); - Register ret = registerConfig.getReturnRegister(Kind.Double); + Register ret = registerConfig.getReturnRegister(JavaKind.Double); byte[] rawBytes = new byte[8]; ByteBuffer.wrap(rawBytes).order(ByteOrder.nativeOrder()).putDouble(84.72); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java --- a/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java Tue Sep 08 19:57:39 2015 +0200 @@ -306,7 +306,7 @@ private AMD64Address trigPrologue(Register value) { assert value.getRegisterCategory().equals(AMD64.XMM); AMD64Address tmp = new AMD64Address(AMD64.rsp); - subq(AMD64.rsp, target.getSizeInBytes(Kind.Double)); + subq(AMD64.rsp, target.getSizeInBytes(JavaKind.Double)); movdbl(tmp, value); fldd(tmp); return tmp; @@ -316,6 +316,6 @@ assert dest.getRegisterCategory().equals(AMD64.XMM); fstpd(tmp); movdbl(dest, tmp); - addq(AMD64.rsp, target.getSizeInBytes(Kind.Double)); + addq(AMD64.rsp, target.getSizeInBytes(JavaKind.Double)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java --- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Tue Sep 08 19:57:39 2015 +0200 @@ -571,10 +571,10 @@ return operator; } - public static CC forKind(Kind kind) { - boolean isInt = kind == Kind.Boolean || kind == Kind.Byte || kind == Kind.Char || kind == Kind.Short || kind == Kind.Int; - boolean isFloat = kind == Kind.Float || kind == Kind.Double; - boolean isLong = kind == Kind.Long || kind == Kind.Object; + public static CC forKind(JavaKind kind) { + boolean isInt = kind == JavaKind.Boolean || kind == JavaKind.Byte || kind == JavaKind.Char || kind == JavaKind.Short || kind == JavaKind.Int; + boolean isFloat = kind == JavaKind.Float || kind == JavaKind.Double; + boolean isLong = kind == JavaKind.Long || kind == JavaKind.Object; assert isInt || isFloat || isLong; if (isLong) { return Xcc; @@ -1443,7 +1443,7 @@ public static boolean isSimm13(JavaConstant constant) { long bits; - switch (constant.getKind()) { + switch (constant.getJavaKind()) { case Double: bits = Double.doubleToRawLongBits(constant.asDouble()); break; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/ConstantStackMoveTest.java --- a/graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/ConstantStackMoveTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/ConstantStackMoveTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -51,7 +51,7 @@ FrameMapBuilder frameMapBuilder = gen.getResult().getFrameMapBuilder(); // create slots PrimitiveConstant constantValue = JavaConstant.forBoxedPrimitive(primitive); - StackSlotValue s1 = frameMapBuilder.allocateSpillSlot(gen.target().getLIRKind(constantValue.getKind())); + StackSlotValue s1 = frameMapBuilder.allocateSpillSlot(gen.target().getLIRKind(constantValue.getJavaKind())); // move stuff around gen.emitMoveConstant(s1, constantValue); gen.emitBlackhole(s1); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/StackStoreTest.java --- a/graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/StackStoreTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64.test/src/com/oracle/graal/compiler/amd64/test/StackStoreTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,7 +45,7 @@ FrameMapBuilder frameMapBuilder = gen.getResult().getFrameMapBuilder(); // create slots StackSlotValue s1 = frameMapBuilder.allocateSpillSlot(a.getLIRKind()); - StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(Kind.Short)); + StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(JavaKind.Short)); // move stuff around gen.emitMove(s1, a); gen.emitMoveConstant(s2, JavaConstant.forShort(Short.MIN_VALUE)); @@ -61,10 +61,10 @@ FrameMapBuilder frameMapBuilder = gen.getResult().getFrameMapBuilder(); // create slots StackSlotValue s1 = frameMapBuilder.allocateSpillSlot(a.getLIRKind()); - StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(Kind.Short)); + StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(JavaKind.Short)); // move stuff around gen.emitMove(s1, a); - Value v = gen.emitLoadConstant(LIRKind.value(Kind.Short), JavaConstant.forShort(Short.MIN_VALUE)); + Value v = gen.emitLoadConstant(LIRKind.value(JavaKind.Short), JavaConstant.forShort(Short.MIN_VALUE)); gen.emitMove(s2, v); setResult(gen.emitMove(s1)); gen.emitBlackhole(s1); @@ -78,7 +78,7 @@ FrameMapBuilder frameMapBuilder = gen.getResult().getFrameMapBuilder(); // create slots StackSlotValue s1 = frameMapBuilder.allocateSpillSlot(a.getLIRKind()); - StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(Kind.Short)); + StackSlotValue s2 = frameMapBuilder.allocateSpillSlot(LIRKind.value(JavaKind.Short)); // move stuff around gen.emitMoveConstant(s2, JavaConstant.forShort(Short.MIN_VALUE)); gen.emitMove(s1, a); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressLowering.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressLowering.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressLowering.java Tue Sep 08 19:57:39 2015 +0200 @@ -141,7 +141,7 @@ } private ValueNode improveConstDisp(AMD64AddressNode address, ValueNode original, JavaConstant c, ValueNode other, int shift) { - if (c.getKind().isNumericInteger() && !codeCache.needsDataPatch(c)) { + if (c.getJavaKind().isNumericInteger() && !codeCache.needsDataPatch(c)) { long disp = address.getDisplacement(); disp += c.asLong() << shift; if (NumUtil.isInt(disp)) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Tue Sep 08 19:57:39 2015 +0200 @@ -84,7 +84,7 @@ */ public abstract class AMD64LIRGenerator extends LIRGenerator implements AMD64ArithmeticLIRGenerator { - private static final RegisterValue RCX_I = AMD64.rcx.asValue(LIRKind.value(Kind.Int)); + private static final RegisterValue RCX_I = AMD64.rcx.asValue(LIRKind.value(JavaKind.Int)); private AMD64SpillMoveFactory moveFactory; private Map categorized; @@ -129,7 +129,7 @@ @Override public boolean canInlineConstant(JavaConstant c) { - switch (c.getKind()) { + switch (c.getJavaKind()) { case Long: return NumUtil.isInt(c.asLong()) && !getCodeCache().needsDataPatch(c); case Object: @@ -149,7 +149,7 @@ */ protected final boolean canStoreConstant(JavaConstant c) { // there is no immediate move of 64-bit constants on Intel - switch (c.getKind()) { + switch (c.getJavaKind()) { case Long: return Util.isInt(c.asLong()) && !getCodeCache().needsDataPatch(c); case Double: @@ -167,9 +167,9 @@ } else if (isJavaConstant(src)) { return createMoveConstant(dst, asJavaConstant(src)); } else if (isRegister(src) || isStackSlotValue(dst)) { - return new MoveFromRegOp((Kind) dst.getPlatformKind(), dst, (AllocatableValue) src); + return new MoveFromRegOp((JavaKind) dst.getPlatformKind(), dst, (AllocatableValue) src); } else { - return new MoveToRegOp((Kind) dst.getPlatformKind(), dst, (AllocatableValue) src); + return new MoveToRegOp((JavaKind) dst.getPlatformKind(), dst, (AllocatableValue) src); } } @@ -265,8 +265,8 @@ } private static LIRKind toStackKind(LIRKind kind) { - if (kind.getPlatformKind() instanceof Kind) { - Kind stackKind = ((Kind) kind.getPlatformKind()).getStackKind(); + if (kind.getPlatformKind() instanceof JavaKind) { + JavaKind stackKind = ((JavaKind) kind.getPlatformKind()).getStackKind(); return kind.changeType(stackKind); } else { return kind; @@ -277,7 +277,7 @@ public Variable emitLoad(LIRKind kind, Value address, LIRFrameState state) { AMD64AddressValue loadAddress = asAddressValue(address); Variable result = newVariable(toStackKind(kind)); - switch ((Kind) kind.getPlatformKind()) { + switch ((JavaKind) kind.getPlatformKind()) { case Boolean: append(new AMD64Unary.MemoryOp(MOVZXB, DWORD, result, loadAddress, state)); break; @@ -309,11 +309,11 @@ return result; } - protected void emitStoreConst(Kind kind, AMD64AddressValue address, ConstantValue value, LIRFrameState state) { + protected void emitStoreConst(JavaKind kind, AMD64AddressValue address, ConstantValue value, LIRFrameState state) { JavaConstant c = (JavaConstant) value.getConstant(); if (c.isNull()) { - assert kind == Kind.Int || kind == Kind.Long || kind == Kind.Object; - OperandSize size = kind == Kind.Int ? DWORD : QWORD; + assert kind == JavaKind.Int || kind == JavaKind.Long || kind == JavaKind.Object; + OperandSize size = kind == JavaKind.Int ? DWORD : QWORD; append(new AMD64BinaryConsumer.MemoryConstOp(AMD64MIOp.MOV, size, address, 0, state)); } else { AMD64MIOp op = AMD64MIOp.MOV; @@ -360,7 +360,7 @@ } } - protected void emitStore(Kind kind, AMD64AddressValue address, AllocatableValue value, LIRFrameState state) { + protected void emitStore(JavaKind kind, AMD64AddressValue address, AllocatableValue value, LIRFrameState state) { switch (kind) { case Boolean: case Byte: @@ -391,7 +391,7 @@ @Override public void emitStore(LIRKind lirKind, Value address, Value input, LIRFrameState state) { AMD64AddressValue storeAddress = asAddressValue(address); - Kind kind = (Kind) lirKind.getPlatformKind(); + JavaKind kind = (JavaKind) lirKind.getPlatformKind(); if (isJavaConstant(input)) { emitStoreConst(kind, storeAddress, asConstantValue(input), state); } else { @@ -403,7 +403,7 @@ public Variable emitCompareAndSwap(Value address, Value expectedValue, Value newValue, Value trueValue, Value falseValue) { LIRKind kind = newValue.getLIRKind(); assert kind.equals(expectedValue.getLIRKind()); - Kind memKind = (Kind) kind.getPlatformKind(); + JavaKind memKind = (JavaKind) kind.getPlatformKind(); AMD64AddressValue addressValue = asAddressValue(address); RegisterValue raxRes = AMD64.rax.asValue(kind); @@ -419,7 +419,7 @@ @Override public Value emitAtomicReadAndAdd(Value address, Value delta) { LIRKind kind = delta.getLIRKind(); - Kind memKind = (Kind) kind.getPlatformKind(); + JavaKind memKind = (JavaKind) kind.getPlatformKind(); Variable result = newVariable(kind); AMD64AddressValue addressValue = asAddressValue(address); append(new AMD64Move.AtomicReadAndAddOp(memKind, result, addressValue, asAllocatable(delta))); @@ -429,7 +429,7 @@ @Override public Value emitAtomicReadAndWrite(Value address, Value newValue) { LIRKind kind = newValue.getLIRKind(); - Kind memKind = (Kind) kind.getPlatformKind(); + JavaKind memKind = (JavaKind) kind.getPlatformKind(); Variable result = newVariable(kind); AMD64AddressValue addressValue = asAddressValue(address); append(new AMD64Move.AtomicReadAndWriteOp(memKind, result, addressValue, asAllocatable(newValue))); @@ -438,7 +438,7 @@ @Override public void emitNullCheck(Value address, LIRFrameState state) { - assert address.getPlatformKind() == Kind.Object || address.getPlatformKind() == Kind.Long : address + " - " + address.getPlatformKind() + " not a pointer!"; + assert address.getPlatformKind() == JavaKind.Object || address.getPlatformKind() == JavaKind.Long : address + " - " + address.getPlatformKind() + " not a pointer!"; append(new AMD64Move.NullCheckOp(asAddressValue(address), state)); } @@ -452,18 +452,18 @@ public void emitCompareBranch(PlatformKind cmpKind, Value left, Value right, Condition cond, boolean unorderedIsTrue, LabelRef trueLabel, LabelRef falseLabel, double trueLabelProbability) { boolean mirrored = emitCompare(cmpKind, left, right); Condition finalCondition = mirrored ? cond.mirror() : cond; - if (cmpKind == Kind.Float || cmpKind == Kind.Double) { + if (cmpKind == JavaKind.Float || cmpKind == JavaKind.Double) { append(new FloatBranchOp(finalCondition, unorderedIsTrue, trueLabel, falseLabel, trueLabelProbability)); } else { append(new BranchOp(finalCondition, trueLabel, falseLabel, trueLabelProbability)); } } - public void emitCompareBranchMemory(Kind cmpKind, Value left, AMD64AddressValue right, LIRFrameState state, Condition cond, boolean unorderedIsTrue, LabelRef trueLabel, LabelRef falseLabel, + public void emitCompareBranchMemory(JavaKind cmpKind, Value left, AMD64AddressValue right, LIRFrameState state, Condition cond, boolean unorderedIsTrue, LabelRef trueLabel, LabelRef falseLabel, double trueLabelProbability) { boolean mirrored = emitCompareMemory(cmpKind, left, right, state); Condition finalCondition = mirrored ? cond.mirror() : cond; - if (cmpKind == Kind.Float || cmpKind == Kind.Double) { + if (cmpKind == JavaKind.Float || cmpKind == JavaKind.Double) { append(new FloatBranchOp(finalCondition, unorderedIsTrue, trueLabel, falseLabel, trueLabelProbability)); } else { append(new BranchOp(finalCondition, trueLabel, falseLabel, trueLabelProbability)); @@ -487,7 +487,7 @@ Condition finalCondition = mirrored ? cond.mirror() : cond; Variable result = newVariable(trueValue.getLIRKind()); - if (cmpKind == Kind.Float || cmpKind == Kind.Double) { + if (cmpKind == JavaKind.Float || cmpKind == JavaKind.Double) { append(new FloatCondMoveOp(result, finalCondition, unorderedIsTrue, load(trueValue), load(falseValue))); } else { append(new CondMoveOp(result, finalCondition, load(trueValue), loadNonConst(falseValue))); @@ -504,8 +504,8 @@ } private void emitIntegerTest(Value a, Value b) { - assert ((Kind) a.getPlatformKind()).isNumericInteger(); - OperandSize size = (Kind) a.getPlatformKind() == Kind.Long ? QWORD : DWORD; + assert ((JavaKind) a.getPlatformKind()).isNumericInteger(); + OperandSize size = (JavaKind) a.getPlatformKind() == JavaKind.Long ? QWORD : DWORD; if (isJavaConstant(b) && NumUtil.is32bit(asJavaConstant(b).asLong())) { append(new AMD64BinaryConsumer.ConstOp(AMD64MIOp.TEST, size, asAllocatable(a), (int) asJavaConstant(b).asLong())); } else if (isJavaConstant(a) && NumUtil.is32bit(asJavaConstant(a).asLong())) { @@ -519,7 +519,7 @@ protected void emitCompareOp(PlatformKind cmpKind, Variable left, Value right) { OperandSize size; - switch ((Kind) cmpKind) { + switch ((JavaKind) cmpKind) { case Byte: case Boolean: size = BYTE; @@ -568,7 +568,7 @@ * @param b the right operand of the comparison * @return true if the left and right operands were switched, false otherwise */ - private boolean emitCompareMemory(Kind cmpKind, Value a, AMD64AddressValue b, LIRFrameState state) { + private boolean emitCompareMemory(JavaKind cmpKind, Value a, AMD64AddressValue b, LIRFrameState state) { OperandSize size; switch (cmpKind) { case Byte: @@ -648,7 +648,7 @@ public Variable emitNegate(Value inputVal) { AllocatableValue input = asAllocatable(inputVal); Variable result = newVariable(LIRKind.combine(input)); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Int: append(new AMD64Unary.MOp(NEG, DWORD, result, input)); break; @@ -671,7 +671,7 @@ public Variable emitNot(Value inputVal) { AllocatableValue input = asAllocatable(inputVal); Variable result = newVariable(LIRKind.combine(input)); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Int: append(new AMD64Unary.MOp(NOT, DWORD, result, input)); break; @@ -762,7 +762,7 @@ @Override public Variable emitAdd(LIRKind resultKind, Value a, Value b, boolean setFlags) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, ADD, DWORD, true, a, b, setFlags); case Long: @@ -778,7 +778,7 @@ @Override public Variable emitSub(LIRKind resultKind, Value a, Value b, boolean setFlags) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, SUB, DWORD, false, a, b, setFlags); case Long: @@ -823,7 +823,7 @@ @Override public Variable emitMul(Value a, Value b, boolean setFlags) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitIMUL(DWORD, a, b); case Long: @@ -850,7 +850,7 @@ @Override public Value emitMulHigh(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitMulHigh(AMD64MOp.IMUL, DWORD, a, b); case Long: @@ -862,7 +862,7 @@ @Override public Value emitUMulHigh(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitMulHigh(AMD64MOp.MUL, DWORD, a, b); case Long: @@ -884,10 +884,10 @@ return result; } - protected Value emitZeroExtendMemory(Kind memoryKind, int resultBits, AMD64AddressValue address, LIRFrameState state) { + protected Value emitZeroExtendMemory(JavaKind memoryKind, int resultBits, AMD64AddressValue address, LIRFrameState state) { // Issue a zero extending load of the proper bit size and set the result to // the proper kind. - Variable result = newVariable(LIRKind.value(resultBits == 32 ? Kind.Int : Kind.Long)); + Variable result = newVariable(LIRKind.value(resultBits == 32 ? JavaKind.Int : JavaKind.Long)); switch (memoryKind) { case Boolean: case Byte: @@ -927,7 +927,7 @@ public Value[] emitIntegerDivRem(Value a, Value b, LIRFrameState state) { AMD64MulDivOp op; - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: op = emitIDIV(DWORD, a, b, state); break; @@ -942,7 +942,7 @@ @Override public Value emitDiv(Value a, Value b, LIRFrameState state) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: AMD64MulDivOp op = emitIDIV(DWORD, a, b, state); return emitMove(op.getQuotient()); @@ -960,7 +960,7 @@ @Override public Value emitRem(Value a, Value b, LIRFrameState state) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: AMD64MulDivOp op = emitIDIV(DWORD, a, b, state); return emitMove(op.getRemainder()); @@ -985,7 +985,7 @@ @Override public Variable emitUDiv(Value a, Value b, LIRFrameState state) { AMD64MulDivOp op; - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: op = emitDIV(DWORD, a, b, state); break; @@ -1001,7 +1001,7 @@ @Override public Variable emitURem(Value a, Value b, LIRFrameState state) { AMD64MulDivOp op; - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: op = emitDIV(DWORD, a, b, state); break; @@ -1017,7 +1017,7 @@ @Override public Variable emitAnd(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, AND, DWORD, true, a, b, false); case Long: @@ -1034,7 +1034,7 @@ @Override public Variable emitOr(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, OR, DWORD, true, a, b, false); case Long: @@ -1051,7 +1051,7 @@ @Override public Variable emitXor(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, XOR, DWORD, true, a, b, false); case Long: @@ -1088,7 +1088,7 @@ @Override public Variable emitShl(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(SHL, DWORD, a, b); case Long: @@ -1100,7 +1100,7 @@ @Override public Variable emitShr(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(SAR, DWORD, a, b); case Long: @@ -1112,7 +1112,7 @@ @Override public Variable emitUShr(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(SHR, DWORD, a, b); case Long: @@ -1123,7 +1123,7 @@ } public Variable emitRol(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(ROL, DWORD, a, b); case Long: @@ -1134,7 +1134,7 @@ } public Variable emitRor(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(ROR, DWORD, a, b); case Long: @@ -1168,8 +1168,8 @@ * Conversions between integer to floating point types require moves between CPU and FPU * registers. */ - Kind fromKind = (Kind) from.getPlatformKind(); - switch ((Kind) to.getPlatformKind()) { + JavaKind fromKind = (JavaKind) from.getPlatformKind(); + switch ((JavaKind) to.getPlatformKind()) { case Int: switch (fromKind) { case Float: @@ -1201,25 +1201,25 @@ public Value emitFloatConvert(FloatConvert op, Value input) { switch (op) { case D2F: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Float), SSEOp.CVTSD2SS, SD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Float), SSEOp.CVTSD2SS, SD, input); case D2I: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Int), SSEOp.CVTTSD2SI, DWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Int), SSEOp.CVTTSD2SI, DWORD, input); case D2L: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Long), SSEOp.CVTTSD2SI, QWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Long), SSEOp.CVTTSD2SI, QWORD, input); case F2D: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Double), SSEOp.CVTSS2SD, SS, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Double), SSEOp.CVTSS2SD, SS, input); case F2I: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Int), SSEOp.CVTTSS2SI, DWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Int), SSEOp.CVTTSS2SI, DWORD, input); case F2L: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Long), SSEOp.CVTTSS2SI, QWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Long), SSEOp.CVTTSS2SI, QWORD, input); case I2D: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Double), SSEOp.CVTSI2SD, DWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Double), SSEOp.CVTSI2SD, DWORD, input); case I2F: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Float), SSEOp.CVTSI2SS, DWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Float), SSEOp.CVTSI2SS, DWORD, input); case L2D: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Double), SSEOp.CVTSI2SD, QWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Double), SSEOp.CVTSI2SD, QWORD, input); case L2F: - return emitConvertOp(LIRKind.combine(input).changeType(Kind.Float), SSEOp.CVTSI2SS, QWORD, input); + return emitConvertOp(LIRKind.combine(input).changeType(JavaKind.Float), SSEOp.CVTSI2SS, QWORD, input); default: throw JVMCIError.shouldNotReachHere(); } @@ -1227,9 +1227,9 @@ @Override public Value emitNarrow(Value inputVal, int bits) { - if (inputVal.getPlatformKind() == Kind.Long && bits <= 32) { + if (inputVal.getPlatformKind() == JavaKind.Long && bits <= 32) { // TODO make it possible to reinterpret Long as Int in LIR without move - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Int), AMD64RMOp.MOV, DWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Int), AMD64RMOp.MOV, DWORD, inputVal); } else { return inputVal; } @@ -1244,11 +1244,11 @@ // sign extend to 64 bits switch (fromBits) { case 8: - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Long), MOVSXB, QWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Long), MOVSXB, QWORD, inputVal); case 16: - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Long), MOVSX, QWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Long), MOVSX, QWORD, inputVal); case 32: - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Long), MOVSXD, QWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Long), MOVSXD, QWORD, inputVal); default: throw JVMCIError.unimplemented("unsupported sign extension (" + fromBits + " bit -> " + toBits + " bit)"); } @@ -1256,9 +1256,9 @@ // sign extend to 32 bits (smaller values are internally represented as 32 bit values) switch (fromBits) { case 8: - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Int), MOVSXB, DWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Int), MOVSXB, DWORD, inputVal); case 16: - return emitConvertOp(LIRKind.combine(inputVal).changeType(Kind.Int), MOVSX, DWORD, inputVal); + return emitConvertOp(LIRKind.combine(inputVal).changeType(JavaKind.Int), MOVSX, DWORD, inputVal); case 32: return inputVal; default: @@ -1273,19 +1273,19 @@ if (fromBits == toBits) { return inputVal; } else if (fromBits > 32) { - assert inputVal.getPlatformKind() == Kind.Long; - Variable result = newVariable(LIRKind.combine(inputVal).changeType(Kind.Long)); + assert inputVal.getPlatformKind() == JavaKind.Long; + Variable result = newVariable(LIRKind.combine(inputVal).changeType(JavaKind.Long)); long mask = CodeUtil.mask(fromBits); append(new AMD64Binary.DataOp(AND.getRMOpcode(QWORD), QWORD, result, asAllocatable(inputVal), JavaConstant.forLong(mask))); return result; } else { - assert ((Kind) inputVal.getPlatformKind()).getStackKind() == Kind.Int; + assert ((JavaKind) inputVal.getPlatformKind()).getStackKind() == JavaKind.Int; LIRKind resultKind = LIRKind.combine(inputVal); if (toBits > 32) { - resultKind = resultKind.changeType(Kind.Long); + resultKind = resultKind.changeType(JavaKind.Long); } else { - resultKind = resultKind.changeType(Kind.Int); + resultKind = resultKind.changeType(JavaKind.Int); } /* @@ -1338,8 +1338,8 @@ @Override public Variable emitBitCount(Value value) { - Variable result = newVariable(LIRKind.combine(value).changeType(Kind.Int)); - if (value.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(value).changeType(JavaKind.Int)); + if (value.getPlatformKind() == JavaKind.Long) { append(new AMD64Unary.RMOp(POPCNT, QWORD, result, asAllocatable(value))); } else { append(new AMD64Unary.RMOp(POPCNT, DWORD, result, asAllocatable(value))); @@ -1349,15 +1349,15 @@ @Override public Variable emitBitScanForward(Value value) { - Variable result = newVariable(LIRKind.combine(value).changeType(Kind.Int)); + Variable result = newVariable(LIRKind.combine(value).changeType(JavaKind.Int)); append(new AMD64Unary.RMOp(BSF, QWORD, result, asAllocatable(value))); return result; } @Override public Variable emitBitScanReverse(Value value) { - Variable result = newVariable(LIRKind.combine(value).changeType(Kind.Int)); - if (value.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(value).changeType(JavaKind.Int)); + if (value.getPlatformKind() == JavaKind.Long) { append(new AMD64Unary.RMOp(BSR, QWORD, result, asAllocatable(value))); } else { append(new AMD64Unary.RMOp(BSR, DWORD, result, asAllocatable(value))); @@ -1366,8 +1366,8 @@ } public Value emitCountLeadingZeros(Value value) { - Variable result = newVariable(LIRKind.combine(value).changeType(Kind.Int)); - if (value.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(value).changeType(JavaKind.Int)); + if (value.getPlatformKind() == JavaKind.Long) { append(new AMD64Unary.RMOp(LZCNT, QWORD, result, asAllocatable(value))); } else { append(new AMD64Unary.RMOp(LZCNT, DWORD, result, asAllocatable(value))); @@ -1376,8 +1376,8 @@ } public Value emitCountTrailingZeros(Value value) { - Variable result = newVariable(LIRKind.combine(value).changeType(Kind.Int)); - if (value.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(value).changeType(JavaKind.Int)); + if (value.getPlatformKind() == JavaKind.Long) { append(new AMD64Unary.RMOp(TZCNT, QWORD, result, asAllocatable(value))); } else { append(new AMD64Unary.RMOp(TZCNT, DWORD, result, asAllocatable(value))); @@ -1388,7 +1388,7 @@ @Override public Value emitMathAbs(Value input) { Variable result = newVariable(LIRKind.combine(input)); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Float: append(new AMD64Binary.DataOp(SSEOp.AND, PS, result, asAllocatable(input), JavaConstant.forFloat(Float.intBitsToFloat(0x7FFFFFFF)), 16)); break; @@ -1404,7 +1404,7 @@ @Override public Value emitMathSqrt(Value input) { Variable result = newVariable(LIRKind.combine(input)); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Float: append(new AMD64Unary.RMOp(SSEOp.SQRT, SS, result, asAllocatable(input))); break; @@ -1453,8 +1453,8 @@ } @Override - public Variable emitArrayEquals(Kind kind, Value array1, Value array2, Value length) { - Variable result = newVariable(LIRKind.value(Kind.Int)); + public Variable emitArrayEquals(JavaKind kind, Value array1, Value array2, Value length) { + Variable result = newVariable(LIRKind.value(JavaKind.Int)); append(new AMD64ArrayEqualsOp(this, kind, result, array1, array2, asAllocatable(length))); return result; } @@ -1472,7 +1472,7 @@ @Override public void emitStrategySwitch(SwitchStrategy strategy, Variable key, LabelRef[] keyTargets, LabelRef defaultTarget) { // a temp is needed for loading object constants - boolean needsTemp = key.getPlatformKind() == Kind.Object; + boolean needsTemp = key.getPlatformKind() == JavaKind.Object; append(new StrategySwitchOp(strategy, keyTargets, defaultTarget, key, needsTemp ? newVariable(key.getLIRKind()) : Value.ILLEGAL)); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -108,8 +108,8 @@ return null; } - protected Kind getMemoryKind(Access access) { - return (Kind) gen.getLIRKind(access.asNode().stamp()).getPlatformKind(); + protected JavaKind getMemoryKind(Access access) { + return (JavaKind) gen.getLIRKind(access.asNode().stamp()).getPlatformKind(); } protected OperandSize getMemorySize(Access access) { @@ -143,11 +143,11 @@ protected ComplexMatchResult emitCompareBranchMemory(IfNode ifNode, CompareNode compare, ValueNode value, Access access) { Condition cond = compare.condition(); - Kind kind = getMemoryKind(access); + JavaKind kind = getMemoryKind(access); if (value.isConstant()) { JavaConstant constant = value.asJavaConstant(); - if (kind == Kind.Long && !NumUtil.isInt(constant.asLong())) { + if (kind == JavaKind.Long && !NumUtil.isInt(constant.asLong())) { // Only imm32 as long return null; } @@ -155,14 +155,14 @@ Debug.log("Skipping constant compares for float kinds"); return null; } - if (kind == Kind.Object) { + if (kind == JavaKind.Object) { if (!constant.isNull()) { Debug.log("Skipping constant compares for Object kinds"); return null; } } } else { - if (kind == Kind.Object) { + if (kind == JavaKind.Object) { // Can't compare against objects since they require encode/decode Debug.log("Skipping compares for Object kinds"); return null; @@ -197,14 +197,14 @@ LabelRef trueLabel = getLIRBlock(x.trueSuccessor()); LabelRef falseLabel = getLIRBlock(x.falseSuccessor()); double trueLabelProbability = x.probability(x.trueSuccessor()); - Kind kind = getMemoryKind(access); - OperandSize size = kind == Kind.Long ? QWORD : DWORD; + JavaKind kind = getMemoryKind(access); + OperandSize size = kind == JavaKind.Long ? QWORD : DWORD; if (value.isConstant()) { if (kind != kind.getStackKind()) { return null; } JavaConstant constant = value.asJavaConstant(); - if (kind == Kind.Long && !NumUtil.isInt(constant.asLong())) { + if (kind == JavaKind.Long && !NumUtil.isInt(constant.asLong())) { // Only imm32 as long return null; } @@ -234,13 +234,13 @@ private ComplexMatchResult emitSignExtendMemory(Access access, int fromBits, int toBits) { assert fromBits <= toBits && toBits <= 64; - Kind kind = null; + JavaKind kind = null; AMD64RMOp op; OperandSize size; if (fromBits == toBits) { return null; } else if (toBits > 32) { - kind = Kind.Long; + kind = JavaKind.Long; size = QWORD; // sign extend to 64 bits switch (fromBits) { @@ -257,7 +257,7 @@ throw JVMCIError.unimplemented("unsupported sign extension (" + fromBits + " bit -> " + toBits + " bit)"); } } else { - kind = Kind.Int; + kind = JavaKind.Int; size = DWORD; // sign extend to 32 bits (smaller values are internally represented as 32 bit values) switch (fromBits) { @@ -417,7 +417,7 @@ @MatchRule("(ZeroExtend Read=access)") @MatchRule("(ZeroExtend FloatingRead=access)") public ComplexMatchResult zeroExtend(ZeroExtendNode root, Access access) { - Kind memoryKind = getMemoryKind(access); + JavaKind memoryKind = getMemoryKind(access); if (memoryKind.getBitCount() != root.getInputBits() && !memoryKind.isUnsigned()) { /* * The memory being read from is signed and smaller than the result size so this is a @@ -426,7 +426,7 @@ */ return null; } - return builder -> getLIRGeneratorTool().emitZeroExtendMemory(memoryKind == Kind.Short ? Kind.Char : memoryKind, root.getResultBits(), (AMD64AddressValue) operand(access.getAddress()), + return builder -> getLIRGeneratorTool().emitZeroExtendMemory(memoryKind == JavaKind.Short ? JavaKind.Char : memoryKind, root.getResultBits(), (AMD64AddressValue) operand(access.getAddress()), getState(access)); } @@ -435,25 +435,25 @@ public ComplexMatchResult floatConvert(FloatConvertNode root, Access access) { switch (root.getFloatConvert()) { case D2F: - return emitConvertMemoryOp(Kind.Float, SSEOp.CVTSD2SS, SD, access); + return emitConvertMemoryOp(JavaKind.Float, SSEOp.CVTSD2SS, SD, access); case D2I: - return emitConvertMemoryOp(Kind.Int, SSEOp.CVTTSD2SI, DWORD, access); + return emitConvertMemoryOp(JavaKind.Int, SSEOp.CVTTSD2SI, DWORD, access); case D2L: - return emitConvertMemoryOp(Kind.Long, SSEOp.CVTTSD2SI, QWORD, access); + return emitConvertMemoryOp(JavaKind.Long, SSEOp.CVTTSD2SI, QWORD, access); case F2D: - return emitConvertMemoryOp(Kind.Double, SSEOp.CVTSS2SD, SS, access); + return emitConvertMemoryOp(JavaKind.Double, SSEOp.CVTSS2SD, SS, access); case F2I: - return emitConvertMemoryOp(Kind.Int, SSEOp.CVTTSS2SI, DWORD, access); + return emitConvertMemoryOp(JavaKind.Int, SSEOp.CVTTSS2SI, DWORD, access); case F2L: - return emitConvertMemoryOp(Kind.Long, SSEOp.CVTTSS2SI, QWORD, access); + return emitConvertMemoryOp(JavaKind.Long, SSEOp.CVTTSS2SI, QWORD, access); case I2D: - return emitConvertMemoryOp(Kind.Double, SSEOp.CVTSI2SD, DWORD, access); + return emitConvertMemoryOp(JavaKind.Double, SSEOp.CVTSI2SD, DWORD, access); case I2F: - return emitConvertMemoryOp(Kind.Float, SSEOp.CVTSI2SS, DWORD, access); + return emitConvertMemoryOp(JavaKind.Float, SSEOp.CVTSI2SS, DWORD, access); case L2D: - return emitConvertMemoryOp(Kind.Double, SSEOp.CVTSI2SD, QWORD, access); + return emitConvertMemoryOp(JavaKind.Double, SSEOp.CVTSI2SD, QWORD, access); case L2F: - return emitConvertMemoryOp(Kind.Float, SSEOp.CVTSI2SS, QWORD, access); + return emitConvertMemoryOp(JavaKind.Float, SSEOp.CVTSI2SS, QWORD, access); default: throw JVMCIError.shouldNotReachHere(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/Condition.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/Condition.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/Condition.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -322,7 +322,7 @@ * the comparison is known to be false */ public boolean foldCondition(JavaConstant lt, JavaConstant rt, ConstantReflectionProvider constantReflection) { - assert !lt.getKind().isNumericFloat() && !rt.getKind().isNumericFloat(); + assert !lt.getJavaKind().isNumericFloat() && !rt.getJavaKind().isNumericFloat(); return foldCondition(lt, rt, constantReflection, false); } @@ -340,7 +340,7 @@ if (lt instanceof PrimitiveConstant) { PrimitiveConstant lp = (PrimitiveConstant) lt; PrimitiveConstant rp = (PrimitiveConstant) rt; - switch (lp.getKind()) { + switch (lp.getJavaKind()) { case Boolean: case Byte: case Char: @@ -448,7 +448,7 @@ } } default: - throw new JVMCIError("expected value kind %s while folding condition: %s", lp.getKind(), this); + throw new JVMCIError("expected value kind %s while folding condition: %s", lp.getJavaKind(), this); } } else { Boolean equal = constantReflection.constantEquals(lt, rt); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -74,8 +74,8 @@ } @Override - public Kind getStackKind() { - return Kind.Object; + public JavaKind getStackKind() { + return JavaKind.Object; } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractPointerStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -109,7 +109,7 @@ } @Override - public Kind getStackKind() { - return Kind.Illegal; + public JavaKind getStackKind() { + return JavaKind.Illegal; } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java Tue Sep 08 19:57:39 2015 +0200 @@ -630,7 +630,7 @@ /** * Describes a shift operation. The right argument of a shift operation always has kind - * {@link Kind#Int}. + * {@link JavaKind#Int}. */ public abstract static class ShiftOp extends Op { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -67,7 +67,7 @@ @Override public Stamp constant(Constant c, MetaAccessProvider meta) { JavaConstant jc = (JavaConstant) c; - assert jc.getKind().isNumericFloat() && jc.getKind().getBitCount() == getBits(); + assert jc.getJavaKind().isNumericFloat() && jc.getJavaKind().getBitCount() == getBits(); return StampFactory.forConstant(jc); } @@ -89,11 +89,11 @@ } @Override - public Kind getStackKind() { + public JavaKind getStackKind() { if (getBits() > 32) { - return Kind.Double; + return JavaKind.Double; } else { - return Kind.Float; + return JavaKind.Float; } } @@ -277,7 +277,7 @@ @Override public Constant foldConstant(Constant c) { PrimitiveConstant value = (PrimitiveConstant) c; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return JavaConstant.forFloat(-value.asFloat()); case Double: @@ -300,8 +300,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: return JavaConstant.forFloat(a.asFloat() + b.asFloat()); case Double: @@ -320,7 +320,7 @@ @Override public boolean isNeutral(Constant value) { PrimitiveConstant n = (PrimitiveConstant) value; - switch (n.getKind()) { + switch (n.getJavaKind()) { case Float: return Float.compare(n.asFloat(), -0.0f) == 0; case Double: @@ -337,8 +337,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: return JavaConstant.forFloat(a.asFloat() - b.asFloat()); case Double: @@ -357,7 +357,7 @@ @Override public boolean isNeutral(Constant value) { PrimitiveConstant n = (PrimitiveConstant) value; - switch (n.getKind()) { + switch (n.getJavaKind()) { case Float: return Float.compare(n.asFloat(), 0.0f) == 0; case Double: @@ -374,8 +374,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: return JavaConstant.forFloat(a.asFloat() * b.asFloat()); case Double: @@ -394,7 +394,7 @@ @Override public boolean isNeutral(Constant value) { PrimitiveConstant n = (PrimitiveConstant) value; - switch (n.getKind()) { + switch (n.getJavaKind()) { case Float: return Float.compare(n.asFloat(), 1.0f) == 0; case Double: @@ -411,8 +411,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: return JavaConstant.forFloat(a.asFloat() / b.asFloat()); case Double: @@ -431,7 +431,7 @@ @Override public boolean isNeutral(Constant value) { PrimitiveConstant n = (PrimitiveConstant) value; - switch (n.getKind()) { + switch (n.getJavaKind()) { case Float: return Float.compare(n.asFloat(), 1.0f) == 0; case Double: @@ -448,8 +448,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: return JavaConstant.forFloat(a.asFloat() % b.asFloat()); case Double: @@ -471,7 +471,7 @@ @Override public Constant foldConstant(Constant c) { PrimitiveConstant value = (PrimitiveConstant) c; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: int f = Float.floatToRawIntBits(value.asFloat()); return JavaConstant.forFloat(Float.intBitsToFloat(~f)); @@ -495,8 +495,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: int fa = Float.floatToRawIntBits(a.asFloat()); int fb = Float.floatToRawIntBits(b.asFloat()); @@ -518,7 +518,7 @@ @Override public boolean isNeutral(Constant n) { PrimitiveConstant value = (PrimitiveConstant) n; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return Float.floatToRawIntBits(value.asFloat()) == 0xFFFFFFFF; case Double: @@ -535,8 +535,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: int fa = Float.floatToRawIntBits(a.asFloat()); int fb = Float.floatToRawIntBits(b.asFloat()); @@ -558,7 +558,7 @@ @Override public boolean isNeutral(Constant n) { PrimitiveConstant value = (PrimitiveConstant) n; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return Float.floatToRawIntBits(value.asFloat()) == 0; case Double: @@ -575,8 +575,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - switch (a.getKind()) { + assert a.getJavaKind() == b.getJavaKind(); + switch (a.getJavaKind()) { case Float: int fa = Float.floatToRawIntBits(a.asFloat()); int fb = Float.floatToRawIntBits(b.asFloat()); @@ -598,7 +598,7 @@ @Override public boolean isNeutral(Constant n) { PrimitiveConstant value = (PrimitiveConstant) n; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return Float.floatToRawIntBits(value.asFloat()) == 0; case Double: @@ -616,7 +616,7 @@ @Override public Constant foldConstant(Constant c) { PrimitiveConstant value = (PrimitiveConstant) c; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return JavaConstant.forFloat(Math.abs(value.asFloat())); case Double: @@ -641,7 +641,7 @@ @Override public Constant foldConstant(Constant c) { PrimitiveConstant value = (PrimitiveConstant) c; - switch (value.getKind()) { + switch (value.getJavaKind()) { case Float: return JavaConstant.forFloat((float) Math.sqrt(value.asFloat())); case Double: @@ -681,7 +681,7 @@ upperBound = 0; } } - return StampFactory.forInteger(Kind.Int, lowerBound, upperBound); + return StampFactory.forInteger(JavaKind.Int, lowerBound, upperBound); } }, @@ -707,7 +707,7 @@ upperBound = 0; } } - return StampFactory.forInteger(Kind.Long, lowerBound, upperBound); + return StampFactory.forInteger(JavaKind.Long, lowerBound, upperBound); } }, @@ -733,7 +733,7 @@ upperBound = 0; } } - return StampFactory.forInteger(Kind.Int, lowerBound, upperBound); + return StampFactory.forInteger(JavaKind.Int, lowerBound, upperBound); } }, @@ -759,7 +759,7 @@ upperBound = 0; } } - return StampFactory.forInteger(Kind.Long, lowerBound, upperBound); + return StampFactory.forInteger(JavaKind.Long, lowerBound, upperBound); } }, @@ -775,7 +775,7 @@ public Stamp foldStamp(Stamp stamp) { FloatStamp floatStamp = (FloatStamp) stamp; assert floatStamp.getBits() == 32; - return StampFactory.forFloat(Kind.Double, floatStamp.lowerBound(), floatStamp.upperBound(), floatStamp.isNonNaN()); + return StampFactory.forFloat(JavaKind.Double, floatStamp.lowerBound(), floatStamp.upperBound(), floatStamp.isNonNaN()); } }, @@ -791,7 +791,7 @@ public Stamp foldStamp(Stamp stamp) { FloatStamp floatStamp = (FloatStamp) stamp; assert floatStamp.getBits() == 64; - return StampFactory.forFloat(Kind.Float, (float) floatStamp.lowerBound(), (float) floatStamp.upperBound(), floatStamp.isNonNaN()); + return StampFactory.forFloat(JavaKind.Float, (float) floatStamp.lowerBound(), (float) floatStamp.upperBound(), floatStamp.isNonNaN()); } }); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -28,9 +28,9 @@ import com.oracle.graal.compiler.common.spi.*; /** - * This stamp represents the type of the {@link Kind#Illegal} value in the second slot of - * {@link Kind#Long} and {@link Kind#Double} values. It can only appear in framestates or virtual - * objects. + * This stamp represents the type of the {@link JavaKind#Illegal} value in the second slot of + * {@link JavaKind#Long} and {@link JavaKind#Double} values. It can only appear in framestates or + * virtual objects. */ public final class IllegalStamp extends Stamp { @@ -38,8 +38,8 @@ } @Override - public Kind getStackKind() { - return Kind.Illegal; + public JavaKind getStackKind() { + return JavaKind.Illegal; } @Override @@ -59,7 +59,7 @@ @Override public Stamp constant(Constant c, MetaAccessProvider meta) { - assert ((PrimitiveConstant) c).getKind() == Kind.Illegal; + assert ((PrimitiveConstant) c).getJavaKind() == JavaKind.Illegal; return this; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -124,11 +124,11 @@ } @Override - public Kind getStackKind() { + public JavaKind getStackKind() { if (getBits() > 32) { - return Kind.Long; + return JavaKind.Long; } else { - return Kind.Int; + return JavaKind.Int; } } @@ -390,7 +390,7 @@ @Override public Constant foldConstant(Constant value) { PrimitiveConstant c = (PrimitiveConstant) value; - return JavaConstant.forIntegerKind(c.getKind(), -c.asLong()); + return JavaConstant.forIntegerKind(c.getJavaKind(), -c.asLong()); } @Override @@ -412,8 +412,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() + b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() + b.asLong()); } @Override @@ -472,8 +472,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() - b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() - b.asLong()); } @Override @@ -500,8 +500,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() * b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() * b.asLong()); } @Override @@ -531,8 +531,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() / b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() / b.asLong()); } @Override @@ -562,8 +562,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() % b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() % b.asLong()); } @Override @@ -594,7 +594,7 @@ @Override public Constant foldConstant(Constant c) { PrimitiveConstant value = (PrimitiveConstant) c; - return JavaConstant.forIntegerKind(value.getKind(), ~value.asLong()); + return JavaConstant.forIntegerKind(value.getJavaKind(), ~value.asLong()); } @Override @@ -612,8 +612,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() & b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() & b.asLong()); } @Override @@ -627,7 +627,7 @@ @Override public boolean isNeutral(Constant value) { PrimitiveConstant n = (PrimitiveConstant) value; - int bits = n.getKind().getBitCount(); + int bits = n.getJavaKind().getBitCount(); long mask = CodeUtil.mask(bits); return (n.asLong() & mask) == mask; } @@ -639,8 +639,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() | b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() | b.asLong()); } @Override @@ -664,8 +664,8 @@ public Constant foldConstant(Constant const1, Constant const2) { PrimitiveConstant a = (PrimitiveConstant) const1; PrimitiveConstant b = (PrimitiveConstant) const2; - assert a.getKind() == b.getKind(); - return JavaConstant.forIntegerKind(a.getKind(), a.asLong() ^ b.asLong()); + assert a.getJavaKind() == b.getJavaKind(); + return JavaConstant.forIntegerKind(a.getJavaKind(), a.asLong() ^ b.asLong()); } @Override @@ -698,7 +698,7 @@ @Override public Constant foldConstant(Constant value, int amount) { PrimitiveConstant c = (PrimitiveConstant) value; - switch (c.getKind()) { + switch (c.getJavaKind()) { case Int: return JavaConstant.forInt(c.asInt() << amount); case Long: @@ -758,7 +758,7 @@ @Override public Constant foldConstant(Constant value, int amount) { PrimitiveConstant c = (PrimitiveConstant) value; - switch (c.getKind()) { + switch (c.getJavaKind()) { case Int: return JavaConstant.forInt(c.asInt() >> amount); case Long: @@ -802,7 +802,7 @@ @Override public Constant foldConstant(Constant value, int amount) { PrimitiveConstant c = (PrimitiveConstant) value; - switch (c.getKind()) { + switch (c.getJavaKind()) { case Int: return JavaConstant.forInt(c.asInt() >>> amount); case Long: @@ -847,7 +847,7 @@ @Override public Constant foldConstant(Constant value) { PrimitiveConstant c = (PrimitiveConstant) value; - return JavaConstant.forIntegerKind(c.getKind(), Math.abs(c.asLong())); + return JavaConstant.forIntegerKind(c.getJavaKind(), Math.abs(c.asLong())); } @Override @@ -970,7 +970,7 @@ assert stamp.getBits() == 32; float lowerBound = stamp.lowerBound(); float upperBound = stamp.upperBound(); - return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); + return StampFactory.forFloat(JavaKind.Float, lowerBound, upperBound, true); } }, @@ -988,7 +988,7 @@ assert stamp.getBits() == 64; float lowerBound = stamp.lowerBound(); float upperBound = stamp.upperBound(); - return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); + return StampFactory.forFloat(JavaKind.Float, lowerBound, upperBound, true); } }, @@ -1006,7 +1006,7 @@ assert stamp.getBits() == 32; double lowerBound = stamp.lowerBound(); double upperBound = stamp.upperBound(); - return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); + return StampFactory.forFloat(JavaKind.Double, lowerBound, upperBound, true); } }, @@ -1024,7 +1024,7 @@ assert stamp.getBits() == 64; double lowerBound = stamp.lowerBound(); double upperBound = stamp.upperBound(); - return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); + return StampFactory.forFloat(JavaKind.Double, lowerBound, upperBound, true); } }); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,11 +45,11 @@ } /** - * Gets a Java {@link Kind} that can be used to store a value of this stamp on the Java bytecode - * stack. Returns {@link Kind#Illegal} if a value of this stamp can not be stored on the - * bytecode stack. + * Gets a Java {@link JavaKind} that can be used to store a value of this stamp on the Java + * bytecode stack. Returns {@link JavaKind#Illegal} if a value of this stamp can not be stored + * on the bytecode stack. */ - public abstract Kind getStackKind(); + public abstract JavaKind getStackKind(); /** * Gets a platform dependent {@link LIRKind} that can be used to store a value of this stamp. diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampFactory.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampFactory.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampFactory.java Tue Sep 08 19:57:39 2015 +0200 @@ -30,22 +30,22 @@ // JaCoCo Exclude - private static final Stamp[] stampCache = new Stamp[Kind.values().length]; - private static final Stamp[] emptyStampCache = new Stamp[Kind.values().length]; + private static final Stamp[] stampCache = new Stamp[JavaKind.values().length]; + private static final Stamp[] emptyStampCache = new Stamp[JavaKind.values().length]; private static final Stamp objectStamp = new ObjectStamp(null, false, false, false); private static final Stamp objectNonNullStamp = new ObjectStamp(null, false, true, false); private static final Stamp objectAlwaysNullStamp = new ObjectStamp(null, false, false, true); private static final Stamp nodeIntrinsicStamp = new ObjectStamp(null, false, false, false); - private static final Stamp positiveInt = forInteger(Kind.Int, 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE); - private static final Stamp booleanTrue = forInteger(Kind.Boolean, -1, -1, 1, 1); - private static final Stamp booleanFalse = forInteger(Kind.Boolean, 0, 0, 0, 0); + private static final Stamp positiveInt = forInteger(JavaKind.Int, 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE); + private static final Stamp booleanTrue = forInteger(JavaKind.Boolean, -1, -1, 1, 1); + private static final Stamp booleanFalse = forInteger(JavaKind.Boolean, 0, 0, 0, 0); private static final Stamp rawPointer = new RawPointerStamp(); - private static void setCache(Kind kind, Stamp stamp) { + private static void setCache(JavaKind kind, Stamp stamp) { stampCache[kind.ordinal()] = stamp; } - private static void setIntCache(Kind kind) { + private static void setIntCache(JavaKind kind) { int bits = kind.getStackKind().getBitCount(); long mask; if (kind.isUnsigned()) { @@ -56,26 +56,26 @@ setCache(kind, new IntegerStamp(bits, kind.getMinValue(), kind.getMaxValue(), 0, mask)); } - private static void setFloatCache(Kind kind) { + private static void setFloatCache(JavaKind kind) { setCache(kind, new FloatStamp(kind.getBitCount())); } static { - setIntCache(Kind.Boolean); - setIntCache(Kind.Byte); - setIntCache(Kind.Short); - setIntCache(Kind.Char); - setIntCache(Kind.Int); - setIntCache(Kind.Long); + setIntCache(JavaKind.Boolean); + setIntCache(JavaKind.Byte); + setIntCache(JavaKind.Short); + setIntCache(JavaKind.Char); + setIntCache(JavaKind.Int); + setIntCache(JavaKind.Long); - setFloatCache(Kind.Float); - setFloatCache(Kind.Double); + setFloatCache(JavaKind.Float); + setFloatCache(JavaKind.Double); - setCache(Kind.Object, objectStamp); - setCache(Kind.Void, VoidStamp.getInstance()); - setCache(Kind.Illegal, IllegalStamp.getInstance()); + setCache(JavaKind.Object, objectStamp); + setCache(JavaKind.Void, VoidStamp.getInstance()); + setCache(JavaKind.Illegal, IllegalStamp.getInstance()); - for (Kind k : Kind.values()) { + for (JavaKind k : JavaKind.values()) { if (stampCache[k.ordinal()] != null) { emptyStampCache[k.ordinal()] = stampCache[k.ordinal()].empty(); } @@ -93,7 +93,7 @@ /** * Return a stamp for a Java kind, as it would be represented on the bytecode stack. */ - public static Stamp forKind(Kind kind) { + public static Stamp forKind(JavaKind kind) { assert stampCache[kind.ordinal()] != null : "unexpected forKind(" + kind + ")"; return stampCache[kind.ordinal()]; } @@ -115,22 +115,22 @@ } public static Stamp intValue() { - return forKind(Kind.Int); + return forKind(JavaKind.Int); } public static Stamp positiveInt() { return positiveInt; } - public static Stamp empty(Kind kind) { + public static Stamp empty(JavaKind kind) { return emptyStampCache[kind.ordinal()]; } - public static IntegerStamp forInteger(Kind kind, long lowerBound, long upperBound, long downMask, long upMask) { + public static IntegerStamp forInteger(JavaKind kind, long lowerBound, long upperBound, long downMask, long upMask) { return new IntegerStamp(kind.getBitCount(), lowerBound, upperBound, downMask, upMask); } - public static IntegerStamp forInteger(Kind kind, long lowerBound, long upperBound) { + public static IntegerStamp forInteger(JavaKind kind, long lowerBound, long upperBound) { return forInteger(kind.getBitCount(), lowerBound, upperBound); } @@ -168,13 +168,13 @@ return new IntegerStamp(bits, lowerBound, upperBound, downMask & defaultMask, upMask & defaultMask); } - public static FloatStamp forFloat(Kind kind, double lowerBound, double upperBound, boolean nonNaN) { + public static FloatStamp forFloat(JavaKind kind, double lowerBound, double upperBound, boolean nonNaN) { assert kind.isNumericFloat(); return new FloatStamp(kind.getBitCount(), lowerBound, upperBound, nonNaN); } public static Stamp forConstant(JavaConstant value) { - Kind kind = value.getKind(); + JavaKind kind = value.getJavaKind(); switch (kind) { case Boolean: case Byte: @@ -189,7 +189,7 @@ case Double: return forFloat(kind, value.asDouble(), value.asDouble(), !Double.isNaN(value.asDouble())); case Illegal: - return forKind(Kind.Illegal); + return forKind(JavaKind.Illegal); case Object: if (value.isNull()) { return alwaysNull(); @@ -202,7 +202,7 @@ } public static Stamp forConstant(JavaConstant value, MetaAccessProvider metaAccess) { - if (value.getKind() == Kind.Object) { + if (value.getJavaKind() == JavaKind.Object) { ResolvedJavaType type = value.isNull() ? null : metaAccess.lookupJavaType(value); return new ObjectStamp(type, value.isNonNull(), value.isNonNull(), value.isNull()); } else { @@ -272,7 +272,7 @@ if (ObjectStamp.isConcreteType(type)) { return new ObjectStamp(type, true, false, false); } else { - return empty(Kind.Object); + return empty(JavaKind.Object); } } @@ -283,7 +283,7 @@ if (ObjectStamp.isConcreteType(type)) { return new ObjectStamp(type, true, true, false); } else { - return empty(Kind.Object); + return empty(JavaKind.Object); } } @@ -303,7 +303,7 @@ public static Stamp object(ResolvedJavaType type, boolean exactType, boolean nonNull, boolean trustInterfaces) { assert type != null; - assert type.getKind() == Kind.Object; + assert type.getJavaKind() == JavaKind.Object; ResolvedJavaType trustedtype; if (!trustInterfaces) { trustedtype = filterInterfaceTypesOut(type); @@ -333,9 +333,9 @@ ResolvedJavaType accessingClass = method.getDeclaringClass(); for (int i = 0; i < max; i++) { JavaType type = sig.getParameterType(i, accessingClass); - Kind kind = type.getKind(); + JavaKind kind = type.getJavaKind(); Stamp stamp; - if (kind == Kind.Object && type instanceof ResolvedJavaType) { + if (kind == JavaKind.Object && type instanceof ResolvedJavaType) { stamp = StampFactory.declared((ResolvedJavaType) type); } else { stamp = StampFactory.forKind(kind); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -41,8 +41,8 @@ } @Override - public Kind getStackKind() { - return Kind.Void; + public JavaKind getStackKind() { + return JavaKind.Void; } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCAddressLowering.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCAddressLowering.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCAddressLowering.java Tue Sep 08 19:57:39 2015 +0200 @@ -84,7 +84,7 @@ private JavaConstant asImmediate(ValueNode value) { JavaConstant c = value.asJavaConstant(); - if (c != null && c.getKind().isNumericInteger() && !codeCache.needsDataPatch(c)) { + if (c != null && c.getJavaKind().isNumericInteger() && !codeCache.needsDataPatch(c)) { return c; } else { return null; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java Tue Sep 08 19:57:39 2015 +0200 @@ -107,7 +107,7 @@ @Override public boolean canInlineConstant(JavaConstant c) { - switch (c.getKind()) { + switch (c.getJavaKind()) { case Boolean: case Byte: case Char: @@ -234,18 +234,18 @@ actualCondition = cond; } SPARCCompare opcode; - Kind actualCmpKind = (Kind) cmpKind; + JavaKind actualCmpKind = (JavaKind) cmpKind; switch (actualCmpKind) { case Byte: left = emitSignExtend(left, 8, 32); right = emitSignExtend(right, 8, 32); - actualCmpKind = Kind.Int; + actualCmpKind = JavaKind.Int; opcode = ICMP; break; case Short: left = emitSignExtend(left, 16, 32); right = emitSignExtend(right, 16, 32); - actualCmpKind = Kind.Int; + actualCmpKind = JavaKind.Int; opcode = ICMP; break; case Object: @@ -271,18 +271,18 @@ @Override public void emitOverflowCheckBranch(LabelRef overflow, LabelRef noOverflow, LIRKind cmpLIRKind, double overflowProbability) { - Kind cmpKind = (Kind) cmpLIRKind.getPlatformKind(); + JavaKind cmpKind = (JavaKind) cmpLIRKind.getPlatformKind(); append(new BranchOp(ConditionFlag.OverflowSet, overflow, noOverflow, cmpKind, overflowProbability)); } @Override public void emitIntegerTestBranch(Value left, Value right, LabelRef trueDestination, LabelRef falseDestination, double trueDestinationProbability) { emitIntegerTest(left, right); - append(new BranchOp(ConditionFlag.Equal, trueDestination, falseDestination, ((Kind) left.getPlatformKind()).getStackKind(), trueDestinationProbability)); + append(new BranchOp(ConditionFlag.Equal, trueDestination, falseDestination, ((JavaKind) left.getPlatformKind()).getStackKind(), trueDestinationProbability)); } private void emitIntegerTest(Value a, Value b) { - assert ((Kind) a.getPlatformKind()).isNumericInteger(); + assert ((JavaKind) a.getPlatformKind()).isNumericInteger(); if (LIRValueUtil.isVariable(b)) { append(new SPARCTestOp(load(b), loadNonConst(a))); } else { @@ -307,7 +307,7 @@ Value actualTrueValue = trueValue; Value actualFalseValue = falseValue; // TODO: (sa) Review this loadSimm11 if it is really necessary - switch ((Kind) left.getLIRKind().getPlatformKind()) { + switch ((JavaKind) left.getLIRKind().getPlatformKind()) { case Byte: case Short: case Char: @@ -359,7 +359,7 @@ right = loadNonConst(b); mirrored = false; } - switch ((Kind) cmpKind) { + switch ((JavaKind) cmpKind) { case Short: case Char: append(new CompareOp(ICMP, emitSignExtend(left, 16, 32), emitSignExtend(right, 16, 32))); @@ -392,7 +392,7 @@ public Variable emitIntegerTestMove(Value left, Value right, Value trueValue, Value falseValue) { emitIntegerTest(left, right); Variable result = newVariable(trueValue.getLIRKind()); - Kind kind = ((Kind) left.getPlatformKind()).getStackKind(); + JavaKind kind = ((JavaKind) left.getPlatformKind()).getStackKind(); CC conditionCode; switch (kind) { case Object: @@ -448,8 +448,8 @@ @Override public Variable emitBitCount(Value operand) { - Variable result = newVariable(LIRKind.combine(operand).changeType(Kind.Int)); - if (operand.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(operand).changeType(JavaKind.Int)); + if (operand.getPlatformKind() == JavaKind.Long) { append(new SPARCBitManipulationOp(LPOPCNT, result, asAllocatable(operand), this)); } else { append(new SPARCBitManipulationOp(IPOPCNT, result, asAllocatable(operand), this)); @@ -459,15 +459,15 @@ @Override public Variable emitBitScanForward(Value operand) { - Variable result = newVariable(LIRKind.combine(operand).changeType(Kind.Int)); + Variable result = newVariable(LIRKind.combine(operand).changeType(JavaKind.Int)); append(new SPARCBitManipulationOp(BSF, result, asAllocatable(operand), this)); return result; } @Override public Variable emitBitScanReverse(Value operand) { - Variable result = newVariable(LIRKind.combine(operand).changeType(Kind.Int)); - if (operand.getPlatformKind() == Kind.Long) { + Variable result = newVariable(LIRKind.combine(operand).changeType(JavaKind.Int)); + if (operand.getPlatformKind() == JavaKind.Long) { append(new SPARCBitManipulationOp(LBSR, result, asAllocatable(operand), this)); } else { append(new SPARCBitManipulationOp(IBSR, result, asAllocatable(operand), this)); @@ -497,15 +497,15 @@ } @Override - public Variable emitArrayEquals(Kind kind, Value array1, Value array2, Value length) { - Variable result = newVariable(LIRKind.value(Kind.Int)); + public Variable emitArrayEquals(JavaKind kind, Value array1, Value array2, Value length) { + Variable result = newVariable(LIRKind.value(JavaKind.Int)); append(new SPARCArrayEqualsOp(this, kind, result, load(array1), load(array2), asAllocatable(length))); return result; } @Override public Value emitNegate(Value input) { - switch (((Kind) input.getPlatformKind()).getStackKind()) { + switch (((JavaKind) input.getPlatformKind()).getStackKind()) { case Long: return emitUnary(LNEG, input); case Int: @@ -521,7 +521,7 @@ @Override public Value emitNot(Value input) { - switch (((Kind) input.getPlatformKind()).getStackKind()) { + switch (((JavaKind) input.getPlatformKind()).getStackKind()) { case Int: return emitUnary(INOT, input); case Long: @@ -583,7 +583,7 @@ @Override public Variable emitAdd(LIRKind resultKind, Value a, Value b, boolean setFlags) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, setFlags ? IADDCC : IADD, true, a, b); case Long: @@ -599,7 +599,7 @@ @Override public Variable emitSub(LIRKind resultKind, Value a, Value b, boolean setFlags) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, setFlags ? ISUBCC : ISUB, false, a, b); case Long: @@ -616,7 +616,7 @@ @Override public Variable emitMul(Value a, Value b, boolean setFlags) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, setFlags ? IMULCC : IMUL, true, a, b); case Long: @@ -638,7 +638,7 @@ @Override public Value emitMulHigh(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitMulHigh(IMUL, a, b); case Long: @@ -650,7 +650,7 @@ @Override public Value emitUMulHigh(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitMulHigh(IUMUL, a, b); case Long: @@ -670,7 +670,7 @@ @Override public Value emitDiv(Value a, Value b, LIRFrameState state) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, IDIV, false, a, b, state); case Long: @@ -691,7 +691,7 @@ Variable q2; Variable q3; Variable q4; - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: append(new RemOp(IREM, result, load(a), loadNonConst(b), state, this)); break; @@ -699,24 +699,24 @@ append(new RemOp(LREM, result, load(a), loadNonConst(b), state, this)); break; case Float: - q1 = newVariable(LIRKind.value(Kind.Float)); + q1 = newVariable(LIRKind.value(JavaKind.Float)); append(new BinaryRegReg(FDIV, q1, a, b, state)); - q2 = newVariable(LIRKind.value(Kind.Float)); + q2 = newVariable(LIRKind.value(JavaKind.Float)); append(new Unary2Op(F2I, q2, q1)); - q3 = newVariable(LIRKind.value(Kind.Float)); + q3 = newVariable(LIRKind.value(JavaKind.Float)); append(new Unary2Op(I2F, q3, q2)); - q4 = newVariable(LIRKind.value(Kind.Float)); + q4 = newVariable(LIRKind.value(JavaKind.Float)); append(new BinaryRegReg(FMUL, q4, q3, b)); append(new BinaryRegReg(FSUB, result, a, q4)); break; case Double: - q1 = newVariable(LIRKind.value(Kind.Double)); + q1 = newVariable(LIRKind.value(JavaKind.Double)); append(new BinaryRegReg(DDIV, q1, a, b, state)); - q2 = newVariable(LIRKind.value(Kind.Double)); + q2 = newVariable(LIRKind.value(JavaKind.Double)); append(new Unary2Op(D2L, q2, q1)); - q3 = newVariable(LIRKind.value(Kind.Double)); + q3 = newVariable(LIRKind.value(JavaKind.Double)); append(new Unary2Op(L2D, q3, q2)); - q4 = newVariable(LIRKind.value(Kind.Double)); + q4 = newVariable(LIRKind.value(JavaKind.Double)); append(new BinaryRegReg(DMUL, q4, q3, b)); append(new BinaryRegReg(DSUB, result, a, q4)); break; @@ -729,7 +729,7 @@ @Override public Value emitURem(Value a, Value b, LIRFrameState state) { Variable result = newVariable(LIRKind.combine(a, b)); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: append(new RemOp(IUREM, result, load(a), load(b), state, this)); break; @@ -748,7 +748,7 @@ SPARCArithmetic op; Value actualA = a; Value actualB = b; - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: op = LUDIV; actualA = emitZeroExtend(actualA, 32, 64); @@ -766,7 +766,7 @@ @Override public Variable emitAnd(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, IAND, true, a, b); case Long: @@ -780,7 +780,7 @@ @Override public Variable emitOr(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, IOR, true, a, b); case Long: @@ -793,7 +793,7 @@ @Override public Variable emitXor(Value a, Value b) { LIRKind resultKind = LIRKind.combine(a, b); - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitBinary(resultKind, IXOR, true, a, b); case Long: @@ -815,7 +815,7 @@ @Override public Variable emitShl(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(ISHL, a, b); case Long: @@ -827,7 +827,7 @@ @Override public Variable emitShr(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(ISHR, a, b); case Long: @@ -839,7 +839,7 @@ @Override public Variable emitUShr(Value a, Value b) { - switch (((Kind) a.getPlatformKind()).getStackKind()) { + switch (((JavaKind) a.getPlatformKind()).getStackKind()) { case Int: return emitShift(IUSHR, a, b); case Long: @@ -866,11 +866,11 @@ AllocatableValue input = asAllocatable(inputVal); switch (op) { case D2F: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Float), D2F, input); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Float), D2F, input); case F2D: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Double), F2D, input); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Double), F2D, input); case I2F: { - AllocatableValue intEncodedFloatReg = newVariable(LIRKind.combine(input).changeType(Kind.Float)); + AllocatableValue intEncodedFloatReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Float)); moveBetweenFpGp(intEncodedFloatReg, input); AllocatableValue convertedFloatReg = newVariable(intEncodedFloatReg.getLIRKind()); append(new Unary2Op(I2F, convertedFloatReg, intEncodedFloatReg)); @@ -879,48 +879,48 @@ case I2D: { // Unfortunately we must do int -> float -> double because fitod has float // and double encoding in one instruction - AllocatableValue convertedFloatReg = newVariable(LIRKind.combine(input).changeType(Kind.Float)); + AllocatableValue convertedFloatReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Float)); moveBetweenFpGp(convertedFloatReg, input); - AllocatableValue convertedDoubleReg = newVariable(LIRKind.combine(input).changeType(Kind.Double)); + AllocatableValue convertedDoubleReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Double)); append(new Unary2Op(I2D, convertedDoubleReg, convertedFloatReg)); return convertedDoubleReg; } case L2D: { - AllocatableValue longEncodedDoubleReg = newVariable(LIRKind.combine(input).changeType(Kind.Double)); + AllocatableValue longEncodedDoubleReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Double)); moveBetweenFpGp(longEncodedDoubleReg, input); AllocatableValue convertedDoubleReg = newVariable(longEncodedDoubleReg.getLIRKind()); append(new Unary2Op(L2D, convertedDoubleReg, longEncodedDoubleReg)); return convertedDoubleReg; } case D2I: { - AllocatableValue convertedFloatReg = emitConvert2Op(LIRKind.combine(input).changeType(Kind.Float), D2I, input); - AllocatableValue convertedIntReg = newVariable(LIRKind.combine(convertedFloatReg).changeType(Kind.Int)); + AllocatableValue convertedFloatReg = emitConvert2Op(LIRKind.combine(input).changeType(JavaKind.Float), D2I, input); + AllocatableValue convertedIntReg = newVariable(LIRKind.combine(convertedFloatReg).changeType(JavaKind.Int)); moveBetweenFpGp(convertedIntReg, convertedFloatReg); return convertedIntReg; } case F2L: { - AllocatableValue convertedDoubleReg = emitConvert2Op(LIRKind.combine(input).changeType(Kind.Double), F2L, input); - AllocatableValue convertedLongReg = newVariable(LIRKind.combine(convertedDoubleReg).changeType(Kind.Long)); + AllocatableValue convertedDoubleReg = emitConvert2Op(LIRKind.combine(input).changeType(JavaKind.Double), F2L, input); + AllocatableValue convertedLongReg = newVariable(LIRKind.combine(convertedDoubleReg).changeType(JavaKind.Long)); moveBetweenFpGp(convertedLongReg, convertedDoubleReg); return convertedLongReg; } case F2I: { - AllocatableValue convertedFloatReg = emitConvert2Op(LIRKind.combine(input).changeType(Kind.Float), F2I, input); - AllocatableValue convertedIntReg = newVariable(LIRKind.combine(convertedFloatReg).changeType(Kind.Int)); + AllocatableValue convertedFloatReg = emitConvert2Op(LIRKind.combine(input).changeType(JavaKind.Float), F2I, input); + AllocatableValue convertedIntReg = newVariable(LIRKind.combine(convertedFloatReg).changeType(JavaKind.Int)); moveBetweenFpGp(convertedIntReg, convertedFloatReg); return convertedIntReg; } case D2L: { - AllocatableValue convertedDoubleReg = emitConvert2Op(LIRKind.combine(input).changeType(Kind.Double), D2L, input); - AllocatableValue convertedLongReg = newVariable(LIRKind.combine(convertedDoubleReg).changeType(Kind.Long)); + AllocatableValue convertedDoubleReg = emitConvert2Op(LIRKind.combine(input).changeType(JavaKind.Double), D2L, input); + AllocatableValue convertedLongReg = newVariable(LIRKind.combine(convertedDoubleReg).changeType(JavaKind.Long)); moveBetweenFpGp(convertedLongReg, convertedDoubleReg); return convertedLongReg; } case L2F: { // long -> double -> float see above - AllocatableValue convertedDoubleReg = newVariable(LIRKind.combine(input).changeType(Kind.Double)); + AllocatableValue convertedDoubleReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Double)); moveBetweenFpGp(convertedDoubleReg, input); - AllocatableValue convertedFloatReg = newVariable(LIRKind.combine(input).changeType(Kind.Float)); + AllocatableValue convertedFloatReg = newVariable(LIRKind.combine(input).changeType(JavaKind.Float)); append(new Unary2Op(L2F, convertedFloatReg, convertedDoubleReg)); return convertedFloatReg; } @@ -934,7 +934,7 @@ if (getArchitecture().getFeatures().contains(CPUFeature.VIS3)) { tempSlot = AllocatableValue.ILLEGAL; } else { - tempSlot = getTempSlot(LIRKind.value(Kind.Long)); + tempSlot = getTempSlot(LIRKind.value(JavaKind.Long)); } append(new MoveFpGp(dst, src, tempSlot)); } @@ -952,8 +952,8 @@ @Override public Value emitNarrow(Value inputVal, int bits) { - if (inputVal.getPlatformKind() == Kind.Long && bits <= 32) { - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Int), L2I, asAllocatable(inputVal)); + if (inputVal.getPlatformKind() == JavaKind.Long && bits <= 32) { + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Int), L2I, asAllocatable(inputVal)); } else { return inputVal; } @@ -968,11 +968,11 @@ // sign extend to 64 bits switch (fromBits) { case 8: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Long), B2L, asAllocatable(inputVal)); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Long), B2L, asAllocatable(inputVal)); case 16: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Long), S2L, asAllocatable(inputVal)); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Long), S2L, asAllocatable(inputVal)); case 32: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Long), I2L, asAllocatable(inputVal)); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Long), I2L, asAllocatable(inputVal)); default: throw JVMCIError.unimplemented("unsupported sign extension (" + fromBits + " bit -> " + toBits + " bit)"); } @@ -980,9 +980,9 @@ // sign extend to 32 bits (smaller values are internally represented as 32 bit values) switch (fromBits) { case 8: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Int), B2I, asAllocatable(inputVal)); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Int), B2I, asAllocatable(inputVal)); case 16: - return emitConvert2Op(LIRKind.combine(inputVal).changeType(Kind.Int), S2I, asAllocatable(inputVal)); + return emitConvert2Op(LIRKind.combine(inputVal).changeType(JavaKind.Int), S2I, asAllocatable(inputVal)); case 32: return inputVal; default: @@ -997,14 +997,15 @@ if (fromBits == toBits) { return inputVal; } else if (fromBits > 32) { - assert inputVal.getPlatformKind() == Kind.Long; - Variable result = newVariable(LIRKind.combine(inputVal).changeType(Kind.Long)); + assert inputVal.getPlatformKind() == JavaKind.Long; + Variable result = newVariable(LIRKind.combine(inputVal).changeType(JavaKind.Long)); long mask = CodeUtil.mask(fromBits); append(new BinaryRegConst(SPARCArithmetic.LAND, result, asAllocatable(inputVal), JavaConstant.forLong(mask), null)); return result; } else { - assert inputVal.getPlatformKind() == Kind.Int || inputVal.getPlatformKind() == Kind.Short || inputVal.getPlatformKind() == Kind.Byte || inputVal.getPlatformKind() == Kind.Char : inputVal.getPlatformKind(); - Variable result = newVariable(LIRKind.combine(inputVal).changeType(Kind.Int)); + assert inputVal.getPlatformKind() == JavaKind.Int || inputVal.getPlatformKind() == JavaKind.Short || inputVal.getPlatformKind() == JavaKind.Byte || + inputVal.getPlatformKind() == JavaKind.Char : inputVal.getPlatformKind(); + Variable result = newVariable(LIRKind.combine(inputVal).changeType(JavaKind.Int)); long mask = CodeUtil.mask(fromBits); JavaConstant constant = JavaConstant.forInt((int) mask); if (fromBits == 32) { @@ -1012,12 +1013,12 @@ } else if (canInlineConstant(constant)) { append(new BinaryRegConst(SPARCArithmetic.IAND, result, asAllocatable(inputVal), constant, null)); } else { - Variable maskVar = newVariable(LIRKind.combine(inputVal).changeType(Kind.Int)); + Variable maskVar = newVariable(LIRKind.combine(inputVal).changeType(JavaKind.Int)); emitMoveConstant(maskVar, constant); append(new BinaryRegReg(IAND, result, maskVar, asAllocatable(inputVal))); } if (toBits > 32) { - Variable longResult = newVariable(LIRKind.combine(inputVal).changeType(Kind.Long)); + Variable longResult = newVariable(LIRKind.combine(inputVal).changeType(JavaKind.Long)); emitMove(longResult, result); return longResult; } else { @@ -1028,11 +1029,11 @@ @Override public AllocatableValue emitReinterpret(LIRKind to, Value inputVal) { - Kind from = (Kind) inputVal.getPlatformKind(); + JavaKind from = (JavaKind) inputVal.getPlatformKind(); AllocatableValue input = asAllocatable(inputVal); Variable result = newVariable(to); // These cases require a move between CPU and FPU registers: - switch ((Kind) to.getPlatformKind()) { + switch ((JavaKind) to.getPlatformKind()) { case Int: switch (from) { case Float: @@ -1096,12 +1097,12 @@ public void emitNullCheck(Value address, LIRFrameState state) { PlatformKind kind = address.getPlatformKind(); - assert kind == Kind.Object || kind == Kind.Long : address + " - " + kind + " not an object!"; + assert kind == JavaKind.Object || kind == JavaKind.Long : address + " - " + kind + " not an object!"; append(new NullCheckOp(asAddressValue(address), state)); } public void emitLoadConstantTableBase() { - constantTableBase = newVariable(LIRKind.value(Kind.Long)); + constantTableBase = newVariable(LIRKind.value(JavaKind.Long)); int nextPosition = getResult().getLIR().getLIRforBlock(getCurrentBlock()).size(); NoOp placeHolder = append(new NoOp(getCurrentBlock(), nextPosition)); loadConstantTableBaseOp = new SPARCLoadConstantTableBaseOp(constantTableBase, placeHolder); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -78,33 +78,33 @@ private ComplexMatchResult emitSignExtendMemory(Access access, int fromBits, int toBits) { assert fromBits <= toBits && toBits <= 64; - Kind toKind = null; - Kind fromKind = null; + JavaKind toKind = null; + JavaKind fromKind = null; if (fromBits == toBits) { return null; } else if (toBits > 32) { - toKind = Kind.Long; + toKind = JavaKind.Long; } else if (toBits > 16) { - toKind = Kind.Int; + toKind = JavaKind.Int; } else { - toKind = Kind.Short; + toKind = JavaKind.Short; } switch (fromBits) { case 8: - fromKind = Kind.Byte; + fromKind = JavaKind.Byte; break; case 16: - fromKind = Kind.Short; + fromKind = JavaKind.Short; break; case 32: - fromKind = Kind.Int; + fromKind = JavaKind.Int; break; default: throw JVMCIError.unimplemented("unsupported sign extension (" + fromBits + " bit -> " + toBits + " bit)"); } - Kind localFromKind = fromKind; - Kind localToKind = toKind; + JavaKind localFromKind = fromKind; + JavaKind localToKind = toKind; return builder -> { Value v = getLIRGeneratorTool().emitSignExtendLoad(LIRKind.value(localFromKind), operand(access.getAddress()), getState(access)); return getLIRGeneratorTool().emitReinterpret(LIRKind.value(localToKind), v); @@ -113,33 +113,33 @@ private ComplexMatchResult emitZeroExtendMemory(Access access, int fromBits, int toBits) { assert fromBits <= toBits && toBits <= 64; - Kind toKind = null; - Kind fromKind = null; + JavaKind toKind = null; + JavaKind fromKind = null; if (fromBits == toBits) { return null; } else if (toBits > 32) { - toKind = Kind.Long; + toKind = JavaKind.Long; } else if (toBits > 16) { - toKind = Kind.Int; + toKind = JavaKind.Int; } else { - toKind = Kind.Short; + toKind = JavaKind.Short; } switch (fromBits) { case 8: - fromKind = Kind.Byte; + fromKind = JavaKind.Byte; break; case 16: - fromKind = Kind.Short; + fromKind = JavaKind.Short; break; case 32: - fromKind = Kind.Int; + fromKind = JavaKind.Int; break; default: throw JVMCIError.unimplemented("unsupported sign extension (" + fromBits + " bit -> " + toBits + " bit)"); } - Kind localFromKind = fromKind; - Kind localToKind = toKind; + JavaKind localFromKind = fromKind; + JavaKind localToKind = toKind; return builder -> { // Loads are always zero extending load Value v = getLIRGeneratorTool().emitLoad(LIRKind.value(localFromKind), operand(access.getAddress()), getState(access)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -295,7 +295,7 @@ Assert.assertEquals("unexpected number of ReturnNodes: " + graphString, graph.getNodes(ReturnNode.TYPE).count(), 1); ValueNode result = graph.getNodes(ReturnNode.TYPE).first().result(); Assert.assertTrue("unexpected ReturnNode result node: " + graphString, result.isConstant()); - Assert.assertEquals("unexpected ReturnNode result kind: " + graphString, result.asJavaConstant().getKind(), Kind.Int); + Assert.assertEquals("unexpected ReturnNode result kind: " + graphString, result.asJavaConstant().getJavaKind(), JavaKind.Int); Assert.assertEquals("unexpected ReturnNode result: " + graphString, result.asJavaConstant().asInt(), value); } @@ -502,9 +502,9 @@ Assert.assertEquals(sig.length, args.length); for (int i = 0; i < args.length; i++) { JavaType javaType = sig[i]; - Kind kind = javaType.getKind(); + JavaKind kind = javaType.getJavaKind(); Object arg = args[i]; - if (kind == Kind.Object) { + if (kind == JavaKind.Object) { if (arg != null && javaType instanceof ResolvedJavaType) { ResolvedJavaType resolvedJavaType = (ResolvedJavaType) javaType; Assert.assertTrue(resolvedJavaType + " from " + getMetaAccess().lookupJavaType(arg.getClass()), resolvedJavaType.isAssignableFrom(getMetaAccess().lookupJavaType(arg.getClass()))); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -58,7 +58,7 @@ new DeadCodeEliminationPhase().apply(graph); for (ConstantNode node : ConstantNode.getConstantNodes(graph)) { - if (node.getStackKind() == Kind.Object && " ".equals(getSnippetReflection().asObject(String.class, node.asJavaConstant()))) { + if (node.getStackKind() == JavaKind.Object && " ".equals(getSnippetReflection().asObject(String.class, node.asJavaConstant()))) { node.replace(graph, ConstantNode.forConstant(getSnippetReflection().forObject("-"), getMetaAccess(), graph)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/tutorial/StaticAnalysis.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/tutorial/StaticAnalysis.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/tutorial/StaticAnalysis.java Tue Sep 08 19:57:39 2015 +0200 @@ -55,7 +55,7 @@ * types need to be added to any type state. *

* The type flows are constructed from a high-level Graal graph by the {@link TypeFlowBuilder}. All - * nodes that operate on {@link Kind#Object object} values are converted to the appropriate type + * nodes that operate on {@link JavaKind#Object object} values are converted to the appropriate type * flows. The analysis is context insensitive: every Java field has {@link Results#lookupField one * list} of types assigned to the field; every Java method has {@link Results#lookupMethod one * state} for each {@link MethodState#formalParameters parameter} as well as the @@ -445,7 +445,7 @@ } private boolean isObject(ValueNode node) { - return node.getStackKind() == Kind.Object; + return node.getStackKind() == JavaKind.Object; } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Sep 08 19:57:39 2015 +0200 @@ -336,17 +336,17 @@ if (Debug.isMeterEnabled()) { List ldp = compilationResult.getDataPatches(); - Kind[] kindValues = Kind.values(); + JavaKind[] kindValues = JavaKind.values(); DebugMetric[] dms = new DebugMetric[kindValues.length]; for (int i = 0; i < dms.length; i++) { dms[i] = Debug.metric("DataPatches-%s", kindValues[i]); } for (DataPatch dp : ldp) { - Kind kind = Kind.Illegal; + JavaKind kind = JavaKind.Illegal; if (dp.reference instanceof ConstantReference) { VMConstant constant = ((ConstantReference) dp.reference).getConstant(); - kind = ((JavaConstant) constant).getKind(); + kind = ((JavaConstant) constant).getJavaKind(); } dms[kind.ordinal()].add(1); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -84,19 +84,19 @@ assert vobjValue.getValues() == null; JavaValue[] values = new JavaValue[vobjNode.entryCount()]; - Kind[] slotKinds = new Kind[vobjNode.entryCount()]; + JavaKind[] slotKinds = new JavaKind[vobjNode.entryCount()]; if (values.length > 0) { VirtualObjectState currentField = (VirtualObjectState) objectStates.get(vobjNode); assert currentField != null; int pos = 0; for (int i = 0; i < vobjNode.entryCount(); i++) { - if (!currentField.values().get(i).isConstant() || currentField.values().get(i).asJavaConstant().getKind() != Kind.Illegal) { + if (!currentField.values().get(i).isConstant() || currentField.values().get(i).asJavaConstant().getJavaKind() != JavaKind.Illegal) { ValueNode value = currentField.values().get(i); values[pos] = toJavaValue(value); slotKinds[pos] = toSlotKind(value); pos++; } else { - assert currentField.values().get(i - 1).getStackKind() == Kind.Double || currentField.values().get(i - 1).getStackKind() == Kind.Long : vobjNode + " " + i + " " + + assert currentField.values().get(i - 1).getStackKind() == JavaKind.Double || currentField.values().get(i - 1).getStackKind() == JavaKind.Long : vobjNode + " " + i + " " + currentField.values().get(i - 1); } } @@ -136,7 +136,7 @@ int numLocks = state.locksSize(); JavaValue[] values = new JavaValue[numLocals + numStack + numLocks]; - Kind[] slotKinds = new Kind[numLocals + numStack]; + JavaKind[] slotKinds = new JavaKind[numLocals + numStack]; computeLocals(state, numLocals, values, slotKinds); computeStack(state, numLocals, numStack, values, slotKinds); computeLocks(state, values); @@ -151,7 +151,7 @@ } } - protected void computeLocals(FrameState state, int numLocals, JavaValue[] values, Kind[] slotKinds) { + protected void computeLocals(FrameState state, int numLocals, JavaValue[] values, JavaKind[] slotKinds) { for (int i = 0; i < numLocals; i++) { ValueNode local = state.localAt(i); values[i] = toJavaValue(local); @@ -159,7 +159,7 @@ } } - protected void computeStack(FrameState state, int numLocals, int numStack, JavaValue[] values, Kind[] slotKinds) { + protected void computeStack(FrameState state, int numLocals, int numStack, JavaValue[] values, JavaKind[] slotKinds) { for (int i = 0; i < numStack; i++) { ValueNode stack = state.stackAt(i); values[numLocals + i] = toJavaValue(stack); @@ -182,9 +182,9 @@ private static final DebugMetric STATE_VARIABLES = Debug.metric("StateVariables"); private static final DebugMetric STATE_CONSTANTS = Debug.metric("StateConstants"); - private static Kind toSlotKind(ValueNode value) { + private static JavaKind toSlotKind(ValueNode value) { if (value == null) { - return Kind.Illegal; + return JavaKind.Illegal; } else { return value.getStackKind(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -222,9 +222,9 @@ } private static boolean verifyPHIKind(LIRKind derivedKind, LIRKind phiKind) { - assert derivedKind.getPlatformKind() != Kind.Object || !derivedKind.isUnknownReference(); + assert derivedKind.getPlatformKind() != JavaKind.Object || !derivedKind.isUnknownReference(); PlatformKind phiPlatformKind = phiKind.getPlatformKind(); - assert derivedKind.equals(phiKind) || derivedKind.getPlatformKind().equals(phiPlatformKind instanceof Kind ? ((Kind) phiPlatformKind).getStackKind() : phiPlatformKind); + assert derivedKind.equals(phiKind) || derivedKind.getPlatformKind().equals(phiPlatformKind instanceof JavaKind ? ((JavaKind) phiPlatformKind).getStackKind() : phiPlatformKind); return true; } @@ -630,14 +630,14 @@ LabelRef[] keyTargets = new LabelRef[keyCount]; JavaConstant[] keyConstants = new JavaConstant[keyCount]; double[] keyProbabilities = new double[keyCount]; - Kind keyKind = x.keyAt(0).getKind(); + JavaKind keyKind = x.keyAt(0).getJavaKind(); for (int i = 0; i < keyCount; i++) { keyTargets[i] = getLIRBlock(x.keySuccessor(i)); keyConstants[i] = x.keyAt(i); keyProbabilities[i] = x.keyProbability(i); - assert keyConstants[i].getKind() == keyKind; + assert keyConstants[i].getJavaKind() == keyKind; } - if (keyKind != Kind.Int || !x.isSorted()) { + if (keyKind != JavaKind.Int || !x.isSorted()) { // hopefully only a few entries gen.emitStrategySwitch(new SwitchStrategy.SequentialStrategy(keyProbabilities, keyConstants), value, keyTargets, defaultTarget); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java --- a/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/GraphBuilderContext.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,7 +43,7 @@ /** * Raw operation for adding a node to the graph when neither {@link #add} nor - * {@link #addPush(Kind, ValueNode)} can be used. + * {@link #addPush(JavaKind, ValueNode)} can be used. * * @return either the node added or an equivalent node */ @@ -59,21 +59,21 @@ /** * Pushes a given value to the frame state stack using an explicit kind. This should be used - * when {@code value.getKind()} is different from the kind that the bytecode instruction + * when {@code value.getJavaKind()} is different from the kind that the bytecode instruction * currently being parsed pushes to the stack. * * @param kind the kind to use when type checking this operation * @param value the value to push to the stack. The value must already have been * {@linkplain #append(ValueNode) appended}. */ - void push(Kind kind, ValueNode value); + void push(JavaKind kind, ValueNode value); /** * Adds a node to the graph. If the returned node is a {@link StateSplit} with a null * {@linkplain StateSplit#stateAfter() frame state}, the frame state is initialized. * - * @param value the value to add to the graph and push to the stack. The {@code value.getKind()} - * kind is used when type checking this operation. + * @param value the value to add to the graph and push to the stack. The + * {@code value.getJavaKind()} kind is used when type checking this operation. * @return a node equivalent to {@code value} in the graph */ default T add(T value) { @@ -100,7 +100,7 @@ * @param value the value to add to the graph and push to the stack * @return a node equivalent to {@code value} in the graph */ - default T addPush(Kind kind, T value) { + default T addPush(JavaKind kind, T value) { T equivalentValue = value.graph() != null ? value : append(value); push(kind, equivalentValue); if (equivalentValue instanceof StateSplit) { @@ -198,10 +198,10 @@ default Stamp getInvokeReturnStamp() { JavaType returnType = getInvokeReturnType(); - if (returnType.getKind() == Kind.Object && returnType instanceof ResolvedJavaType) { + if (returnType.getJavaKind() == JavaKind.Object && returnType instanceof ResolvedJavaType) { return StampFactory.declared((ResolvedJavaType) returnType); } else { - return StampFactory.forKind(returnType.getKind()); + return StampFactory.forKind(returnType.getJavaKind()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/NodePlugin.java --- a/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/NodePlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.graphbuilderconf/src/com/oracle/graal/graphbuilderconf/NodePlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,8 +44,8 @@ /** * Handle the parsing of a GETFIELD bytecode. If the method returns true, it must - * {@link GraphBuilderContext#push push} a value using the {@link ResolvedJavaField#getKind() - * kind} of the field. + * {@link GraphBuilderContext#push push} a value using the + * {@link ResolvedJavaField#getJavaKind() kind} of the field. * * @param b the context * @param object the receiver object for the field access @@ -58,8 +58,8 @@ /** * Handle the parsing of a GETSTATIC bytecode. If the method returns true, it must - * {@link GraphBuilderContext#push push} a value using the {@link ResolvedJavaField#getKind() - * kind} of the field. + * {@link GraphBuilderContext#push push} a value using the + * {@link ResolvedJavaField#getJavaKind() kind} of the field. * * @param b the context * @param field the accessed field @@ -104,7 +104,7 @@ * @param elementKind the element kind of the accessed array * @return true if the plugin handles the array access, false otherwise. */ - default boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind) { + default boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind) { return false; } @@ -118,14 +118,14 @@ * @param value the value to be stored into the array * @return true if the plugin handles the array access, false otherwise. */ - default boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { + default boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind, ValueNode value) { return false; } /** * Handle the parsing of a CHECKCAST bytecode. If the method returns true, it must * {@link GraphBuilderContext#push push} a value with the result of the cast using - * {@link Kind#Object}. + * {@link JavaKind#Object}. * * @param b the context * @param object the object to be type checked @@ -141,7 +141,7 @@ /** * Handle the parsing of a INSTANCEOF bytecode. If the method returns true, it must * {@link GraphBuilderContext#push push} a value with the result of the instanceof using - * {@link Kind#Int}. + * {@link JavaKind#Int}. * * @param b the context * @param object the object to be type checked @@ -157,7 +157,7 @@ /** * Handle the parsing of a NEW bytecode. If the method returns true, it must * {@link GraphBuilderContext#push push} a value with the result of the allocation using - * {@link Kind#Object}. + * {@link JavaKind#Object}. * * @param b the context * @param type the type to be instantiated @@ -170,7 +170,7 @@ /** * Handle the parsing of a NEWARRAY and ANEWARRAY bytecode. If the method returns true, it must * {@link GraphBuilderContext#push push} a value with the result of the allocation using - * {@link Kind#Object}. + * {@link JavaKind#Object}. * * @param b the context * @param elementType the element type of the array to be instantiated @@ -184,7 +184,7 @@ /** * Handle the parsing of a MULTIANEWARRAY bytecode. If the method returns true, it must * {@link GraphBuilderContext#push push} a value with the result of the allocation using - * {@link Kind#Object}. + * {@link JavaKind#Object}. * * @param b the context * @param type the type of the outermost array to be instantiated @@ -196,9 +196,9 @@ } /** - * If the plugin {@link GraphBuilderContext#push pushes} a value with a different {@link Kind} - * than specified by the bytecode, it must override this method and return {@code true}. This - * disables assertion checking for value kinds. + * If the plugin {@link GraphBuilderContext#push pushes} a value with a different + * {@link JavaKind} than specified by the bytecode, it must override this method and return + * {@code true}. This disables assertion checking for value kinds. * * @param b the context */ diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java --- a/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -72,7 +72,7 @@ @Override public void generateCode(AMD64Assembler asm) { - Register arg = getArgumentRegister(0, Kind.Int); + Register arg = getArgumentRegister(0, JavaKind.Int); asm.nop(5); // padding for mt-safe patching asm.addl(arg, 5); asm.movl(rax, arg); @@ -92,7 +92,7 @@ @Override public void generateCode(AMD64Assembler asm) { - Register arg = getArgumentRegister(0, Kind.Long); + Register arg = getArgumentRegister(0, JavaKind.Long); asm.nop(5); // padding for mt-safe patching asm.addq(arg, 1); asm.movq(rax, arg); @@ -119,7 +119,7 @@ Assert.assertArrayEquals(expectedCode, actualCode); } - private Register getArgumentRegister(int index, Kind kind) { + private Register getArgumentRegister(int index, JavaKind kind) { Register[] regs = getCodeCache().getRegisterConfig().getCallingConventionRegisters(CallingConvention.Type.JavaCall, kind); return regs[index]; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBytecodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBytecodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBytecodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -54,7 +54,7 @@ } } } - params[params.length - 1] = rbp.asValue(LIRKind.value(Kind.Long)); + params[params.length - 1] = rbp.asValue(LIRKind.value(JavaKind.Long)); gen.emitIncomingValues(params); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableAddressOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableAddressOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableAddressOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,7 +47,7 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler asm) { - Kind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); + JavaKind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); int alignment = hostWordKind.getBitCount() / Byte.SIZE; JavaConstant address = JavaConstant.forIntegerKind(hostWordKind, 0); // recordDataReferenceInCode forces the mov to be rip-relative diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableShiftOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableShiftOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCardTableShiftOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,8 +47,8 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler asm) { - Kind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); - int alignment = Kind.Int.getBitCount() / Byte.SIZE; + JavaKind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); + int alignment = JavaKind.Int.getBitCount() / Byte.SIZE; JavaConstant shift = JavaConstant.forIntegerKind(hostWordKind, 0); // recordDataReferenceInCode forces the mov to be rip-relative asm.movq(ValueUtil.asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(shift, alignment)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -90,10 +90,10 @@ // Save return registers after moving the frame. final int stackSlotSize = frameMap.getTarget().wordSize; - Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); + Register integerResultRegister = registerConfig.getReturnRegister(JavaKind.Long); masm.movptr(new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize), integerResultRegister); - Register floatResultRegister = registerConfig.getReturnRegister(Kind.Double); + Register floatResultRegister = registerConfig.getReturnRegister(JavaKind.Double); masm.movdbl(new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(floatResultRegister) * stackSlotSize), floatResultRegister); // Set up last Java values. diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,7 +52,7 @@ @Override public void initialize(HotSpotProviders providers, HotSpotVMConfig config) { TargetDescription target = providers.getCodeCache().getTarget(); - Kind word = target.wordKind; + JavaKind word = target.wordKind; // The calling convention for the exception handler stub is (only?) defined in // TemplateInterpreterGenerator::generate_throw_exception() diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Tue Sep 08 19:57:39 2015 +0200 @@ -105,7 +105,7 @@ this.placeholder = placeholder0; AMD64FrameMapBuilder frameMapBuilder = (AMD64FrameMapBuilder) getResult().getFrameMapBuilder(); this.reservedSlot = frameMapBuilder.allocateRBPSpillSlot(); - this.rescueSlot = newVariable(LIRKind.value(Kind.Long)); + this.rescueSlot = newVariable(LIRKind.value(JavaKind.Long)); } /** @@ -114,13 +114,13 @@ * @param useStack specifies if rbp must be saved to the stack */ public void finalize(boolean useStack) { - RegisterValue rbpValue = rbp.asValue(LIRKind.value(Kind.Long)); + RegisterValue rbpValue = rbp.asValue(LIRKind.value(JavaKind.Long)); LIRInstruction move; if (useStack) { move = new StoreRbpOp(rescueSlot, rbpValue, reservedSlot); } else { ((AMD64FrameMapBuilder) getResult().getFrameMapBuilder()).freeRBPSpillSlot(); - move = new MoveFromRegOp(Kind.Long, rescueSlot, rbpValue); + move = new MoveFromRegOp(JavaKind.Long, rescueSlot, rbpValue); } placeholder.replace(getResult().getLIR(), move); @@ -200,7 +200,7 @@ private Register findPollOnReturnScratchRegister() { RegisterConfig regConfig = getProviders().getCodeCache().getRegisterConfig(); for (Register r : regConfig.getAllocatableRegisters()) { - if (!r.equals(regConfig.getReturnRegister(Kind.Long)) && !r.equals(AMD64.rbp)) { + if (!r.equals(regConfig.getReturnRegister(JavaKind.Long)) && !r.equals(AMD64.rbp)) { return r; } } @@ -267,14 +267,14 @@ @Override public Value emitCardTableShift() { - Variable result = newVariable(LIRKind.value(Kind.Long)); + Variable result = newVariable(LIRKind.value(JavaKind.Long)); append(new AMD64HotSpotCardTableShiftOp(result, config)); return result; } @Override public Value emitCardTableAddress() { - Variable result = newVariable(LIRKind.value(Kind.Long)); + Variable result = newVariable(LIRKind.value(JavaKind.Long)); append(new AMD64HotSpotCardTableAddressOp(result, config)); return result; } @@ -300,7 +300,7 @@ StackSlotValue[] savedRegisterLocations = new StackSlotValue[savedRegisters.length]; for (int i = 0; i < savedRegisters.length; i++) { PlatformKind kind = target().arch.getLargestStorableKind(savedRegisters[i].getRegisterCategory()); - assert kind != Kind.Illegal; + assert kind != JavaKind.Illegal; VirtualStackSlot spillSlot = getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(kind)); savedRegisterLocations[i] = spillSlot; } @@ -377,7 +377,7 @@ Register thread = getProviders().getRegisters().getThreadRegister(); append(new AMD64HotSpotCRuntimeCallPrologueOp(config.threadLastJavaSpOffset(), thread)); - Variable result = super.emitForeignCall(linkage, null, thread.asValue(LIRKind.value(Kind.Long)), trapRequest); + Variable result = super.emitForeignCall(linkage, null, thread.asValue(LIRKind.value(JavaKind.Long)), trapRequest); append(new AMD64HotSpotCRuntimeCallEpilogueOp(config.threadLastJavaSpOffset(), config.threadLastJavaFpOffset(), thread)); Map calleeSaveInfo = ((AMD64HotSpotLIRGenerationResult) getResult()).getCalleeSaveInfo(); @@ -392,7 +392,7 @@ Register thread = getProviders().getRegisters().getThreadRegister(); append(new AMD64HotSpotCRuntimeCallPrologueOp(config.threadLastJavaSpOffset(), thread)); - Variable result = super.emitForeignCall(linkage, null, thread.asValue(LIRKind.value(Kind.Long))); + Variable result = super.emitForeignCall(linkage, null, thread.asValue(LIRKind.value(JavaKind.Long))); append(new AMD64HotSpotCRuntimeCallEpilogueOp(config.threadLastJavaSpOffset(), config.threadLastJavaFpOffset(), thread)); Map calleeSaveInfo = ((AMD64HotSpotLIRGenerationResult) getResult()).getCalleeSaveInfo(); @@ -413,7 +413,7 @@ JavaConstant[] zapValues = new JavaConstant[zappedRegisters.length]; for (int i = 0; i < zappedRegisters.length; i++) { PlatformKind kind = target().arch.getLargestStorableKind(zappedRegisters[i].getRegisterCategory()); - assert kind != Kind.Illegal; + assert kind != JavaKind.Illegal; zapValues[i] = zapValueForKind(kind); } ((AMD64HotSpotLIRGenerationResult) getResult()).getCalleeSaveInfo().put(currentRuntimeCallInfo, emitZapRegisters(zappedRegisters, zapValues)); @@ -432,7 +432,7 @@ // TODO(mg): in case a native function uses floating point varargs, the ABI requires that // RAX contains the length of the varargs PrimitiveConstant intConst = JavaConstant.forInt(numberOfFloatingPointArguments); - AllocatableValue numberOfFloatingPointArgumentsRegister = AMD64.rax.asValue(LIRKind.value(Kind.Int)); + AllocatableValue numberOfFloatingPointArgumentsRegister = AMD64.rax.asValue(LIRKind.value(JavaKind.Int)); emitMoveConstant(numberOfFloatingPointArgumentsRegister, intConst); for (int i = 0; i < args.length; i++) { Value arg = args[i]; @@ -440,7 +440,7 @@ emitMove(loc, arg); argLocations[i] = loc; } - Value ptr = emitLoadConstant(LIRKind.value(Kind.Long), JavaConstant.forLong(address)); + Value ptr = emitLoadConstant(LIRKind.value(JavaKind.Long), JavaConstant.forLong(address)); append(new AMD64CCall(nativeCallingConvention.getReturn(), ptr, numberOfFloatingPointArgumentsRegister, argLocations)); } @@ -475,7 +475,7 @@ @Override public void emitDeoptimizeCaller(DeoptimizationAction action, DeoptimizationReason reason) { Value actionAndReason = emitJavaConstant(getMetaAccess().encodeDeoptActionAndReason(action, reason, 0)); - Value nullValue = emitConstant(LIRKind.reference(Kind.Long), JavaConstant.NULL_POINTER); + Value nullValue = emitConstant(LIRKind.reference(JavaKind.Long), JavaConstant.NULL_POINTER); moveDeoptValuesToThread(actionAndReason, nullValue); append(new AMD64HotSpotDeoptimizeCallerOp(saveRbp.getRbpRescueSlot())); } @@ -509,12 +509,12 @@ } @Override - protected void emitStoreConst(Kind kind, AMD64AddressValue address, ConstantValue value, LIRFrameState state) { + protected void emitStoreConst(JavaKind kind, AMD64AddressValue address, ConstantValue value, LIRFrameState state) { Constant c = value.getConstant(); if (c instanceof HotSpotConstant && !JavaConstant.isNull(c)) { HotSpotConstant hc = (HotSpotConstant) c; if (hc.isCompressed()) { - assert kind == Kind.Int; + assert kind == JavaKind.Int; if (!target().inlineObjects && hc instanceof HotSpotObjectConstant) { emitStore(kind, address, asAllocatable(value), state); } else { @@ -531,18 +531,18 @@ @Override public Value emitCompress(Value pointer, CompressEncoding encoding, boolean nonNull) { LIRKind inputKind = pointer.getLIRKind(); - assert inputKind.getPlatformKind() == Kind.Long; + assert inputKind.getPlatformKind() == JavaKind.Long; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(Kind.Int)); + Variable result = newVariable(LIRKind.reference(JavaKind.Int)); append(new AMD64HotSpotMove.CompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else { // metaspace pointer - Variable result = newVariable(LIRKind.value(Kind.Int)); + Variable result = newVariable(LIRKind.value(JavaKind.Int)); AllocatableValue base = Value.ILLEGAL; if (encoding.base != 0) { - base = emitLoadConstant(LIRKind.value(Kind.Long), JavaConstant.forLong(encoding.base)); + base = emitLoadConstant(LIRKind.value(JavaKind.Long), JavaConstant.forLong(encoding.base)); } append(new AMD64HotSpotMove.CompressPointer(result, asAllocatable(pointer), base, encoding, nonNull)); return result; @@ -552,18 +552,18 @@ @Override public Value emitUncompress(Value pointer, CompressEncoding encoding, boolean nonNull) { LIRKind inputKind = pointer.getLIRKind(); - assert inputKind.getPlatformKind() == Kind.Int; + assert inputKind.getPlatformKind() == JavaKind.Int; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(Kind.Long)); + Variable result = newVariable(LIRKind.reference(JavaKind.Long)); append(new AMD64HotSpotMove.UncompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else { // metaspace pointer - Variable result = newVariable(LIRKind.value(Kind.Long)); + Variable result = newVariable(LIRKind.value(JavaKind.Long)); AllocatableValue base = Value.ILLEGAL; if (encoding.base != 0) { - base = emitLoadConstant(LIRKind.value(Kind.Long), JavaConstant.forLong(encoding.base)); + base = emitLoadConstant(LIRKind.value(JavaKind.Long), JavaConstant.forLong(encoding.base)); } append(new AMD64HotSpotMove.UncompressPointer(result, asAllocatable(pointer), base, encoding, nonNull)); return result; @@ -585,7 +585,7 @@ @Override public void emitNullCheck(Value address, LIRFrameState state) { - if (address.getLIRKind().getPlatformKind() == Kind.Int) { + if (address.getLIRKind().getPlatformKind() == JavaKind.Int) { CompressEncoding encoding = config.getOopEncoding(); Value uncompressed; if (encoding.shift <= 3) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,12 +57,12 @@ // Restore integer result register. final int stackSlotSize = frameMap.getTarget().wordSize; - Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); + Register integerResultRegister = registerConfig.getReturnRegister(JavaKind.Long); masm.movptr(integerResultRegister, new AMD64Address(stackPointer, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize)); masm.movptr(rdx, new AMD64Address(stackPointer, registerSaveLayout.registerToSlot(rdx) * stackSlotSize)); // Restore float result register. - Register floatResultRegister = registerConfig.getReturnRegister(Kind.Double); + Register floatResultRegister = registerConfig.getReturnRegister(JavaKind.Double); masm.movdbl(floatResultRegister, new AMD64Address(stackPointer, registerSaveLayout.registerToSlot(floatResultRegister) * stackSlotSize)); /* diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -74,10 +74,10 @@ // Restore return values. final int stackSlotSize = frameMap.getTarget().wordSize; - Register integerResultRegister = registerConfig.getReturnRegister(Kind.Long); + Register integerResultRegister = registerConfig.getReturnRegister(JavaKind.Long); masm.movptr(integerResultRegister, new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(integerResultRegister) * stackSlotSize)); - Register floatResultRegister = registerConfig.getReturnRegister(Kind.Double); + Register floatResultRegister = registerConfig.getReturnRegister(JavaKind.Double); masm.movdbl(floatResultRegister, new AMD64Address(stackPointerRegister, registerSaveLayout.registerToSlot(floatResultRegister) * stackSlotSize)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java Tue Sep 08 19:57:39 2015 +0200 @@ -118,7 +118,7 @@ if (isRegister(result)) { if (compressed) { if (isImmutable && generatePIC) { - Kind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); + JavaKind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); int alignment = hostWordKind.getBitCount() / Byte.SIZE; // recordDataReferenceInCode forces the mov to be rip-relative masm.movl(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(JavaConstant.INT_0, alignment)); @@ -128,7 +128,7 @@ } } else { if (isImmutable && generatePIC) { - Kind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); + JavaKind hostWordKind = HotSpotGraalRuntime.getHostWordKind(); int alignment = hostWordKind.getBitCount() / Byte.SIZE; // recordDataReferenceInCode forces the mov to be rip-relative masm.movq(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(JavaConstant.INT_0, alignment)); @@ -181,7 +181,7 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - AMD64Move.move(Kind.Long, crb, masm, result, input); + AMD64Move.move(JavaKind.Long, crb, masm, result, input); Register resReg = asRegister(result); if (encoding.base != 0) { @@ -229,8 +229,8 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - assert result.getPlatformKind() instanceof Kind : "Can only deal with Kind: " + result.getLIRKind(); - Kind kind = (Kind) result.getPlatformKind(); + assert result.getPlatformKind() instanceof JavaKind : "Can only deal with Kind: " + result.getLIRKind(); + JavaKind kind = (JavaKind) result.getPlatformKind(); AMD64Move.move(kind, crb, masm, result, input); AMD64Move.move(kind, crb, masm, stackSlot, input); } @@ -257,7 +257,7 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - AMD64Move.move(Kind.Int, crb, masm, result, input); + AMD64Move.move(JavaKind.Int, crb, masm, result, input); Register resReg = asRegister(result); if (encoding.shift != 0) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -67,7 +67,7 @@ @Override protected DebugInfoBuilder createDebugInfoBuilder(StructuredGraph graph, NodeValueMap nodeValueMap) { - HotSpotLockStack lockStack = new HotSpotLockStack(gen.getResult().getFrameMapBuilder(), LIRKind.value(Kind.Long)); + HotSpotLockStack lockStack = new HotSpotLockStack(gen.getResult().getFrameMapBuilder(), LIRKind.value(JavaKind.Long)); return new HotSpotDebugInfoBuilder(nodeValueMap, lockStack); } @@ -86,7 +86,7 @@ } } } - params[params.length - 1] = rbp.asValue(LIRKind.value(Kind.Long)); + params[params.length - 1] = rbp.asValue(LIRKind.value(JavaKind.Long)); gen.emitIncomingValues(params); @@ -173,7 +173,7 @@ RegisterValue raxLocal = AMD64.rax.asValue(expected.getLIRKind()); gen.emitMove(raxLocal, expected); - append(new CompareAndSwapOp((Kind) expected.getPlatformKind(), raxLocal, getGen().asAddressValue(operand(x.getAddress())), raxLocal, newVal)); + append(new CompareAndSwapOp((JavaKind) expected.getPlatformKind(), raxLocal, getGen().asAddressValue(operand(x.getAddress())), raxLocal, newVal)); setResult(x, gen.emitMove(raxLocal)); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotSafepointOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotSafepointOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotSafepointOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -76,7 +76,7 @@ public static void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler asm, HotSpotVMConfig config, boolean atReturn, LIRFrameState state, Register scratch) { assert !atReturn || state == null : "state is unneeded at return"; if (ImmutableCode.getValue()) { - Kind hostWordKind = Kind.Long; + JavaKind hostWordKind = JavaKind.Long; int alignment = hostWordKind.getBitCount() / Byte.SIZE; JavaConstant pollingPageAddress = JavaConstant.forIntegerKind(hostWordKind, config.safepointPollingAddress); // This move will be patched to load the safepoint page from a data segment diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,7 +40,7 @@ protected final JavaConstant functionPointer; @Input NodeInputList args; - public AMD64RawNativeCallNode(Kind returnType, JavaConstant functionPointer, ValueNode[] args) { + public AMD64RawNativeCallNode(JavaKind returnType, JavaConstant functionPointer, ValueNode[] args) { super(TYPE, StampFactory.forKind(returnType)); this.functionPointer = functionPointer; this.args = new NodeInputList<>(this, args); @@ -59,7 +59,7 @@ CallingConvention cc = generator.getLIRGeneratorTool().getCodeCache().getRegisterConfig().getCallingConvention(Type.NativeCall, returnType, parameterTypes, generator.getLIRGeneratorTool().target(), false); gen.getLIRGeneratorTool().emitCCall(functionPointer.asLong(), cc, parameter, countFloatingTypeArguments(args)); - if (this.getStackKind() != Kind.Void) { + if (this.getStackKind() != JavaKind.Void) { generator.setResult(this, gen.getLIRGeneratorTool().emitMove(cc.getReturn())); } } @@ -67,7 +67,7 @@ private static int countFloatingTypeArguments(NodeInputList args) { int count = 0; for (ValueNode n : args) { - if (n.getStackKind() == Kind.Double || n.getStackKind() == Kind.Float) { + if (n.getStackKind() == JavaKind.Double || n.getStackKind() == JavaKind.Float) { count++; } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallEpilogueOp.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallEpilogueOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallEpilogueOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -56,7 +56,7 @@ public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { // Restore the thread register when coming back from the runtime. - SPARCMove.move(crb, masm, thread.asValue(LIRKind.value(Kind.Long)), threadTemp, SPARCDelayedControlTransfer.DUMMY); + SPARCMove.move(crb, masm, thread.asValue(LIRKind.value(JavaKind.Long)), threadTemp, SPARCDelayedControlTransfer.DUMMY); // Reset last Java frame, last Java PC and flags. masm.stx(g0, new SPARCAddress(thread, threadLastJavaSpOffset)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallPrologueOp.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallPrologueOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCRuntimeCallPrologueOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,6 +61,6 @@ masm.stx(scratchRegister, new SPARCAddress(thread, threadLastJavaSpOffset)); // Save the thread register when calling out to the runtime. - SPARCMove.move(crb, masm, threadTemp, thread.asValue(LIRKind.value(Kind.Long)), getDelayedControlTransfer()); + SPARCMove.move(crb, masm, threadTemp, thread.asValue(LIRKind.value(JavaKind.Long)), getDelayedControlTransfer()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotForeignCallsProvider.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotForeignCallsProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotForeignCallsProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -50,14 +50,14 @@ @Override public void initialize(HotSpotProviders providers, HotSpotVMConfig config) { TargetDescription target = providers.getCodeCache().getTarget(); - Kind word = target.wordKind; + JavaKind word = target.wordKind; // The calling convention for the exception handler stub is (only?) defined in // TemplateInterpreterGenerator::generate_throw_exception() // in templateInterpreter_sparc.cpp around line 1925 - RegisterValue outgoingException = o0.asValue(target.getLIRKind(Kind.Object)); + RegisterValue outgoingException = o0.asValue(target.getLIRKind(JavaKind.Object)); RegisterValue outgoingExceptionPc = o1.asValue(target.getLIRKind(word)); - RegisterValue incomingException = i0.asValue(target.getLIRKind(Kind.Object)); + RegisterValue incomingException = i0.asValue(target.getLIRKind(JavaKind.Object)); RegisterValue incomingExceptionPc = i1.asValue(LIRKind.value(word)); CallingConvention outgoingExceptionCc = new CallingConvention(0, ILLEGAL, outgoingException, outgoingExceptionPc); CallingConvention incomingExceptionCc = new CallingConvention(0, ILLEGAL, incomingException, incomingExceptionPc); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerOp.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -54,7 +54,7 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Register addrRegister = asRegister(address, Kind.Long); + Register addrRegister = asRegister(address, JavaKind.Long); masm.jmp(addrRegister); masm.restoreWindow(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Tue Sep 08 19:57:39 2015 +0200 @@ -140,7 +140,7 @@ if (linkage.destroysRegisters() || hotspotLinkage.needsJavaFrameAnchor()) { HotSpotRegistersProvider registers = getProviders().getRegisters(); Register thread = registers.getThreadRegister(); - Value threadTemp = newVariable(LIRKind.value(Kind.Long)); + Value threadTemp = newVariable(LIRKind.value(JavaKind.Long)); Register stackPointer = registers.getStackPointerRegister(); Variable spScratch = newVariable(LIRKind.value(target().wordKind)); append(new SPARCHotSpotCRuntimeCallPrologueOp(config.threadLastJavaSpOffset(), thread, stackPointer, threadTemp, spScratch)); @@ -240,7 +240,7 @@ public Variable emitCompareAndSwap(Value address, Value expectedValue, Value newValue, Value trueValue, Value falseValue) { LIRKind kind = newValue.getLIRKind(); assert kind.equals(expectedValue.getLIRKind()); - Kind memKind = (Kind) kind.getPlatformKind(); + JavaKind memKind = (JavaKind) kind.getPlatformKind(); Variable result = newVariable(newValue.getLIRKind()); append(new CompareAndSwapOp(result, asAllocatable(address), asAllocatable(expectedValue), asAllocatable(newValue))); return emitConditionalMove(memKind, expectedValue, result, Condition.EQ, true, trueValue, falseValue); @@ -287,7 +287,7 @@ if (isConstantValue(a)) { Constant c = asConstant(a); if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) { - localA = SPARC.g0.asValue(LIRKind.value(Kind.Int)); + localA = SPARC.g0.asValue(LIRKind.value(JavaKind.Int)); } else if (c instanceof HotSpotObjectConstant) { localA = load(localA); } @@ -295,7 +295,7 @@ if (isConstantValue(b)) { Constant c = asConstant(b); if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) { - localB = SPARC.g0.asValue(LIRKind.value(Kind.Int)); + localB = SPARC.g0.asValue(LIRKind.value(JavaKind.Int)); } else if (c instanceof HotSpotObjectConstant) { localB = load(localB); } @@ -306,18 +306,18 @@ @Override public Value emitCompress(Value pointer, CompressEncoding encoding, boolean nonNull) { LIRKind inputKind = pointer.getLIRKind(); - assert inputKind.getPlatformKind() == Kind.Long || inputKind.getPlatformKind() == Kind.Object; + assert inputKind.getPlatformKind() == JavaKind.Long || inputKind.getPlatformKind() == JavaKind.Object; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(Kind.Int)); + Variable result = newVariable(LIRKind.reference(JavaKind.Int)); append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else { // metaspace pointer - Variable result = newVariable(LIRKind.value(Kind.Int)); + Variable result = newVariable(LIRKind.value(JavaKind.Int)); AllocatableValue base = Value.ILLEGAL; if (encoding.base != 0) { - base = emitLoadConstant(LIRKind.value(Kind.Long), JavaConstant.forLong(encoding.base)); + base = emitLoadConstant(LIRKind.value(JavaKind.Long), JavaConstant.forLong(encoding.base)); } append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), base, encoding, nonNull)); return result; @@ -327,18 +327,18 @@ @Override public Value emitUncompress(Value pointer, CompressEncoding encoding, boolean nonNull) { LIRKind inputKind = pointer.getLIRKind(); - assert inputKind.getPlatformKind() == Kind.Int; + assert inputKind.getPlatformKind() == JavaKind.Int; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(Kind.Object)); + Variable result = newVariable(LIRKind.reference(JavaKind.Object)); append(new SPARCHotSpotMove.UncompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else { // metaspace pointer - Variable result = newVariable(LIRKind.value(Kind.Long)); + Variable result = newVariable(LIRKind.value(JavaKind.Long)); AllocatableValue base = Value.ILLEGAL; if (encoding.base != 0) { - base = emitLoadConstant(LIRKind.value(Kind.Long), JavaConstant.forLong(encoding.base)); + base = emitLoadConstant(LIRKind.value(JavaKind.Long), JavaConstant.forLong(encoding.base)); } append(new SPARCHotSpotMove.UncompressPointer(result, asAllocatable(pointer), base, encoding, nonNull)); return result; @@ -376,7 +376,7 @@ StackSlotValue[] savedRegisterLocations = new StackSlotValue[savedRegisters.length]; for (int i = 0; i < savedRegisters.length; i++) { PlatformKind kind = target().arch.getLargestStorableKind(savedRegisters[i].getRegisterCategory()); - assert kind != Kind.Illegal; + assert kind != JavaKind.Illegal; VirtualStackSlot spillSlot = getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(kind)); savedRegisterLocations[i] = spillSlot; } @@ -455,7 +455,7 @@ @Override public void emitNullCheck(Value address, LIRFrameState state) { PlatformKind kind = address.getPlatformKind(); - if (kind == Kind.Int) { + if (kind == JavaKind.Int) { CompressEncoding encoding = config.getOopEncoding(); Value uncompressed = emitUncompress(address, encoding, false); append(new NullCheckOp(asAddressValue(uncompressed), state)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -58,7 +58,7 @@ @Override protected DebugInfoBuilder createDebugInfoBuilder(StructuredGraph graph, NodeValueMap nodeValueMap) { - HotSpotLockStack lockStack = new HotSpotLockStack(gen.getResult().getFrameMapBuilder(), LIRKind.value(Kind.Long)); + HotSpotLockStack lockStack = new HotSpotLockStack(gen.getResult().getFrameMapBuilder(), LIRKind.value(JavaKind.Long)); return new HotSpotDebugInfoBuilder(nodeValueMap, lockStack); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotPatchReturnAddressOp.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotPatchReturnAddressOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotPatchReturnAddressOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -50,7 +50,7 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Register addrRegister = asRegister(address, Kind.Long); + Register addrRegister = asRegister(address, JavaKind.Long); masm.sub(addrRegister, SPARCAssembler.PC_RETURN_OFFSET, i7); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/AheadOfTimeCompilationTest.java --- a/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/AheadOfTimeCompilationTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/AheadOfTimeCompilationTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -81,7 +81,7 @@ public void testStaticFinalObject() { StructuredGraph result = compile("getStaticFinalObject", false); assertDeepEquals(1, getConstantNodes(result).count()); - assertDeepEquals(Kind.Object, getConstantNodes(result).first().getStackKind()); + assertDeepEquals(JavaKind.Object, getConstantNodes(result).first().getStackKind()); assertDeepEquals(0, result.getNodes().filter(FloatingReadNode.class).count()); assertDeepEquals(0, result.getNodes().filter(ReadNode.class).count()); } @@ -187,7 +187,7 @@ assertDeepEquals(1, result.getNodes(PiNode.TYPE).count()); assertDeepEquals(1, getConstantNodes(result).count()); ConstantNode constant = getConstantNodes(result).first(); - assertDeepEquals(Kind.Long, constant.getStackKind()); + assertDeepEquals(JavaKind.Long, constant.getStackKind()); assertDeepEquals(((HotSpotResolvedObjectType) getMetaAccess().lookupJavaType(Boolean.class)).klass(), constant.asConstant()); } @@ -198,7 +198,7 @@ assertDeepEquals(0, result.getNodes(PiNode.TYPE).count()); assertDeepEquals(1, getConstantNodes(result).count()); ConstantNode constant = getConstantNodes(result).first(); - assertDeepEquals(Kind.Object, constant.getStackKind()); + assertDeepEquals(JavaKind.Object, constant.getStackKind()); HotSpotObjectConstantImpl c = (HotSpotObjectConstantImpl) constant.asConstant(); Assert.assertTrue(c.isEqualTo(Boolean.TRUE)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotResolvedObjectTypeTest.java --- a/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotResolvedObjectTypeTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotResolvedObjectTypeTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,9 +45,9 @@ JavaConstant klass = HotSpotResolvedObjectTypeImpl.fromObjectClass(this.getClass()).klass(); MemoryAccessProvider memoryAccess = getProviders().getConstantReflection().getMemoryAccessProvider(); HotSpotVMConfig config = runtime().getConfig(); - Constant c = StampFactory.forKind(Kind.Int).readConstant(memoryAccess, klass, config.klassLayoutHelperOffset); + Constant c = StampFactory.forKind(JavaKind.Int).readConstant(memoryAccess, klass, config.klassLayoutHelperOffset); assertTrue(c.toString(), c.getClass() == PrimitiveConstant.class); PrimitiveConstant pc = (PrimitiveConstant) c; - assertTrue(pc.toString(), pc.getKind() == Kind.Int); + assertTrue(pc.toString(), pc.getJavaKind() == JavaKind.Int); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java --- a/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -78,7 +78,7 @@ assert parameterTypes.length == args.length; for (int i = 0; i < argsToBind.length; i++) { ParameterNode param = graph.getParameter(i); - JavaConstant c = HotSpotObjectConstantImpl.forBoxedValue(parameterTypes[i].getKind(), argsToBind[i]); + JavaConstant c = HotSpotObjectConstantImpl.forBoxedValue(parameterTypes[i].getJavaKind(), argsToBind[i]); ConstantNode replacement = ConstantNode.forConstant(c, getMetaAccess(), graph); param.replaceAtUsages(replacement); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/LoadJavaMirrorWithKlassTest.java --- a/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/LoadJavaMirrorWithKlassTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/LoadJavaMirrorWithKlassTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -66,7 +66,7 @@ @Override protected boolean checkLowTierGraph(StructuredGraph graph) { for (ConstantNode constantNode : graph.getNodes().filter(ConstantNode.class)) { - assert constantNode.asJavaConstant() == null || constantNode.asJavaConstant().getKind() != Kind.Object || constantNode.asJavaConstant().isDefaultForKind() : "Found unexpected object constant " + + assert constantNode.asJavaConstant() == null || constantNode.asJavaConstant().getJavaKind() != JavaKind.Object || constantNode.asJavaConstant().isDefaultForKind() : "Found unexpected object constant " + constantNode + ", this should have been removed by the LoadJavaMirrorWithKlassPhase."; } return true; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCounterOp.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCounterOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCounterOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -64,7 +64,7 @@ } protected static int getDisplacementForLongIndex(TargetDescription target, long index) { - long finalDisp = index * target.getSizeInBytes(Kind.Long); + long finalDisp = index * target.getSizeInBytes(JavaKind.Long); if (!NumUtil.isInt(finalDisp)) { throw JVMCIError.unimplemented("cannot deal with indices that big: " + index); } @@ -133,7 +133,7 @@ } private static long asLong(JavaConstant value) { - Kind kind = value.getKind(); + JavaKind kind = value.getJavaKind(); switch (kind) { case Byte: case Short: diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Tue Sep 08 19:57:39 2015 +0200 @@ -105,21 +105,21 @@ } private boolean checkArrayIndexScaleInvariants() { - assert getJVMCIRuntime().getArrayIndexScale(Kind.Byte) == 1; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Boolean) == 1; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Char) == 2; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Short) == 2; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Int) == 4; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Long) == 8; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Float) == 4; - assert getJVMCIRuntime().getArrayIndexScale(Kind.Double) == 8; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Byte) == 1; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Boolean) == 1; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Char) == 2; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Short) == 2; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Int) == 4; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Long) == 8; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Float) == 4; + assert getJVMCIRuntime().getArrayIndexScale(JavaKind.Double) == 8; return true; } /** * Gets the kind of a word value on the {@linkplain #getHostBackend() host} backend. */ - public static Kind getHostWordKind() { + public static JavaKind getHostWordKind() { return runtime().getHostBackend().getTarget().wordKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotInstructionProfiling.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotInstructionProfiling.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotInstructionProfiling.java Tue Sep 08 19:57:39 2015 +0200 @@ -85,7 +85,7 @@ for (int i = 0; i < instructionsToProfile.length; i++) { names[i] = compilationUnitName; groups[i] = COUNTER_GROUP + " " + instructionsToProfile[i]; - increments[i] = new ConstantValue(target.getLIRKind(Kind.Int), JavaConstant.INT_0); + increments[i] = new ConstantValue(target.getLIRKind(JavaKind.Int), JavaConstant.INT_0); } HotSpotCounterOp op = (HotSpotCounterOp) counterFactory.createMultiBenchmarkCounter(names, groups, increments); LIRInstruction inst = new InstructionCounterOp(op, instructionsToProfile); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -274,7 +274,7 @@ HotSpotResolvedJavaMethod hsMethod = (HotSpotResolvedJavaMethod) callTarget.targetMethod(); ResolvedJavaType receiverType = invoke.getReceiverType(); if (hsMethod.isInVirtualMethodTable(receiverType)) { - Kind wordKind = runtime.getTarget().wordKind; + JavaKind wordKind = runtime.getTarget().wordKind; ValueNode hub = createReadHub(graph, receiver, receiverNullCheck, tool); ReadNode metaspaceMethod = createReadVirtualMethod(graph, hub, hsMethod, receiverType); @@ -302,16 +302,16 @@ } @Override - protected Stamp loadStamp(Stamp stamp, Kind kind, boolean compressible) { - if (kind == Kind.Object && compressible && runtime.getConfig().useCompressedOops) { + protected Stamp loadStamp(Stamp stamp, JavaKind kind, boolean compressible) { + if (kind == JavaKind.Object && compressible && runtime.getConfig().useCompressedOops) { return NarrowOopStamp.compressed((ObjectStamp) stamp, runtime.getConfig().getOopEncoding()); } return super.loadStamp(stamp, kind, compressible); } @Override - protected ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value, boolean compressible) { - if (kind == Kind.Object && compressible && runtime.getConfig().useCompressedOops) { + protected ValueNode implicitLoadConvert(StructuredGraph graph, JavaKind kind, ValueNode value, boolean compressible) { + if (kind == JavaKind.Object && compressible && runtime.getConfig().useCompressedOops) { return CompressionNode.uncompress(value, runtime.getConfig().getOopEncoding()); } return super.implicitLoadConvert(graph, kind, value, compressible); @@ -325,8 +325,8 @@ } @Override - protected ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value, boolean compressible) { - if (kind == Kind.Object && compressible && runtime.getConfig().useCompressedOops) { + protected ValueNode implicitStoreConvert(StructuredGraph graph, JavaKind kind, ValueNode value, boolean compressible) { + if (kind == JavaKind.Object && compressible && runtime.getConfig().useCompressedOops) { return CompressionNode.compress(value, runtime.getConfig().getOopEncoding()); } return super.implicitStoreConvert(graph, kind, value, compressible); @@ -374,13 +374,13 @@ } @Override - protected BarrierType fieldInitializationBarrier(Kind entryKind) { - return (entryKind == Kind.Object && !runtime.getConfig().useDeferredInitBarriers) ? BarrierType.IMPRECISE : BarrierType.NONE; + protected BarrierType fieldInitializationBarrier(JavaKind entryKind) { + return (entryKind == JavaKind.Object && !runtime.getConfig().useDeferredInitBarriers) ? BarrierType.IMPRECISE : BarrierType.NONE; } @Override - protected BarrierType arrayInitializationBarrier(Kind entryKind) { - return (entryKind == Kind.Object && !runtime.getConfig().useDeferredInitBarriers) ? BarrierType.PRECISE : BarrierType.NONE; + protected BarrierType arrayInitializationBarrier(JavaKind entryKind) { + return (entryKind == JavaKind.Object && !runtime.getConfig().useDeferredInitBarriers) ? BarrierType.PRECISE : BarrierType.NONE; } private void lowerOSRStartNode(OSRStartNode osrStart) { @@ -461,8 +461,8 @@ } private boolean addReadBarrier(UnsafeLoadNode load) { - if (runtime.getConfig().useG1GC && load.graph().getGuardsStage() == StructuredGraph.GuardsStage.FIXED_DEOPTS && load.object().getStackKind() == Kind.Object && - load.accessKind() == Kind.Object && !StampTool.isPointerAlwaysNull(load.object())) { + if (runtime.getConfig().useG1GC && load.graph().getGuardsStage() == StructuredGraph.GuardsStage.FIXED_DEOPTS && load.object().getStackKind() == JavaKind.Object && + load.accessKind() == JavaKind.Object && !StampTool.isPointerAlwaysNull(load.object())) { ResolvedJavaType type = StampTool.typeOrNull(load.object()); if (type != null && !type.isArray()) { return true; @@ -524,7 +524,7 @@ protected BarrierType fieldLoadBarrierType(ResolvedJavaField f) { HotSpotResolvedJavaField loadField = (HotSpotResolvedJavaField) f; BarrierType barrierType = BarrierType.NONE; - if (runtime.getConfig().useG1GC && loadField.getKind() == Kind.Object && metaAccess.lookupJavaType(Reference.class).equals(loadField.getDeclaringClass()) && + if (runtime.getConfig().useG1GC && loadField.getJavaKind() == JavaKind.Object && metaAccess.lookupJavaType(Reference.class).equals(loadField.getDeclaringClass()) && loadField.getName().equals("referent")) { barrierType = BarrierType.PRECISE; } @@ -538,16 +538,16 @@ } @Override - public int arrayScalingFactor(Kind kind) { - if (runtime.getConfig().useCompressedOops && kind == Kind.Object) { - return super.arrayScalingFactor(Kind.Int); + public int arrayScalingFactor(JavaKind kind) { + if (runtime.getConfig().useCompressedOops && kind == JavaKind.Object) { + return super.arrayScalingFactor(JavaKind.Int); } else { return super.arrayScalingFactor(kind); } } @Override - protected int arrayBaseOffset(Kind kind) { + protected int arrayBaseOffset(JavaKind kind) { return runtime.getJVMCIRuntime().getArrayBaseOffset(kind); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -103,7 +103,7 @@ r.register1("clone", Receiver.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { ValueNode object = receiver.get(); - b.addPush(Kind.Object, new ObjectCloneNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), object)); + b.addPush(JavaKind.Object, new ObjectCloneNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), object)); return true; } @@ -129,9 +129,9 @@ ValueNode javaClass = receiver.get(); ValueNode folded = ClassCastNode.tryFold(GraphUtil.originalValue(javaClass), object, b.getConstantReflection(), b.getAssumptions()); if (folded != null) { - b.addPush(Kind.Object, folded); + b.addPush(JavaKind.Object, folded); } else { - b.addPush(Kind.Object, new ClassCastNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), javaClass, object)); + b.addPush(JavaKind.Object, new ClassCastNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), javaClass, object)); } return true; } @@ -148,9 +148,9 @@ ValueNode callSite = receiver.get(); ValueNode folded = CallSiteTargetNode.tryFold(GraphUtil.originalValue(callSite), b.getMetaAccess(), b.getAssumptions()); if (folded != null) { - b.addPush(Kind.Object, folded); + b.addPush(JavaKind.Object, folded); } else { - b.addPush(Kind.Object, new CallSiteTargetNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), callSite)); + b.addPush(JavaKind.Object, new CallSiteTargetNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), callSite)); } return true; } @@ -168,7 +168,7 @@ Registration r = new Registration(plugins, Reflection.class); r.register0("getCallerClass", new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { - b.addPush(Kind.Object, new ReflectionGetCallerClassNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType())); + b.addPush(JavaKind.Object, new ReflectionGetCallerClassNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType())); return true; } @@ -184,7 +184,7 @@ r.register0("nanoTime", new ForeignCallPlugin(foreignCalls, JAVA_TIME_NANOS)); r.register1("identityHashCode", Object.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode object) { - b.addPush(Kind.Int, new IdentityHashCodeNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), object)); + b.addPush(JavaKind.Int, new IdentityHashCodeNode(b.getInvokeKind(), targetMethod, b.bci(), b.getInvokeReturnType(), object)); return true; } @@ -212,10 +212,10 @@ boolean compressible = false; ValueNode offset = b.add(ConstantNode.forLong(config.threadObjectOffset)); AddressNode address = b.add(new OffsetAddressNode(thread, offset)); - ValueNode javaThread = WordOperationPlugin.readOp(b, Kind.Object, address, JAVA_THREAD_THREAD_OBJECT_LOCATION, BarrierType.NONE, compressible); + ValueNode javaThread = WordOperationPlugin.readOp(b, JavaKind.Object, address, JAVA_THREAD_THREAD_OBJECT_LOCATION, BarrierType.NONE, compressible); boolean exactType = compressible; boolean nonNull = true; - b.addPush(Kind.Object, new PiNode(javaThread, metaAccess.lookupJavaType(Thread.class), exactType, nonNull)); + b.addPush(JavaKind.Object, new PiNode(javaThread, metaAccess.lookupJavaType(Thread.class), exactType, nonNull)); return true; } }); @@ -227,7 +227,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { if (receiver.isConstant()) { StableOptionValue option = snippetReflection.asObject(StableOptionValue.class, (JavaConstant) receiver.get().asConstant()); - b.addPush(Kind.Object, ConstantNode.forConstant(HotSpotObjectConstantImpl.forObject(option.getValue()), b.getMetaAccess())); + b.addPush(JavaKind.Object, ConstantNode.forConstant(HotSpotObjectConstantImpl.forObject(option.getValue()), b.getMetaAccess())); return true; } return false; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotHostForeignCallsProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotHostForeignCallsProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotHostForeignCallsProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -76,20 +76,20 @@ return checkcastArraycopyDescriptors[uninit ? 1 : 0]; } - public static ForeignCallDescriptor lookupArraycopyDescriptor(Kind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny) { + public static ForeignCallDescriptor lookupArraycopyDescriptor(JavaKind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny) { if (uninit) { - assert kind == Kind.Object; + assert kind == JavaKind.Object; assert !killAny : "unsupported"; return uninitObjectArraycopyDescriptors[aligned ? 1 : 0][disjoint ? 1 : 0]; } if (killAny) { - assert kind == Kind.Object; + assert kind == JavaKind.Object; return objectArraycopyDescriptorsKillAny[aligned ? 1 : 0][disjoint ? 1 : 0]; } return arraycopyDescriptors[aligned ? 1 : 0][disjoint ? 1 : 0].get(kind); } - @SuppressWarnings({"unchecked"}) private static final EnumMap[][] arraycopyDescriptors = (EnumMap[][]) new EnumMap[2][2]; + @SuppressWarnings({"unchecked"}) private static final EnumMap[][] arraycopyDescriptors = (EnumMap[][]) new EnumMap[2][2]; private static final ForeignCallDescriptor[][] uninitObjectArraycopyDescriptors = new ForeignCallDescriptor[2][2]; private static final ForeignCallDescriptor[] checkcastArraycopyDescriptors = new ForeignCallDescriptor[2]; @@ -99,27 +99,27 @@ // Populate the EnumMap instances for (int i = 0; i < arraycopyDescriptors.length; i++) { for (int j = 0; j < arraycopyDescriptors[i].length; j++) { - arraycopyDescriptors[i][j] = new EnumMap<>(Kind.class); + arraycopyDescriptors[i][j] = new EnumMap<>(JavaKind.class); } } } - private void registerArraycopyDescriptor(Map descMap, Kind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny, long routine) { + private void registerArraycopyDescriptor(Map descMap, JavaKind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny, long routine) { ForeignCallDescriptor desc = descMap.get(routine); if (desc == null) { desc = buildDescriptor(kind, aligned, disjoint, uninit, killAny, routine); descMap.put(routine, desc); } if (uninit) { - assert kind == Kind.Object; + assert kind == JavaKind.Object; uninitObjectArraycopyDescriptors[aligned ? 1 : 0][disjoint ? 1 : 0] = desc; } else { arraycopyDescriptors[aligned ? 1 : 0][disjoint ? 1 : 0].put(kind, desc); } } - private ForeignCallDescriptor buildDescriptor(Kind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny, long routine) { - assert !killAny || kind == Kind.Object; + private ForeignCallDescriptor buildDescriptor(JavaKind kind, boolean aligned, boolean disjoint, boolean uninit, boolean killAny, long routine) { + assert !killAny || kind == JavaKind.Object; String name = kind + (aligned ? "Aligned" : "") + (disjoint ? "Disjoint" : "") + (uninit ? "Uninit" : "") + "Arraycopy" + (killAny ? "KillAny" : ""); ForeignCallDescriptor desc = new ForeignCallDescriptor(name, void.class, Word.class, Word.class, Word.class); LocationIdentity killed = killAny ? LocationIdentity.any() : NamedLocationIdentity.getArrayLocation(kind); @@ -137,16 +137,16 @@ // c_rarg4 - oop ckval (super_klass) // return: 0 = success, n = number of copied elements xor'd with -1. ForeignCallDescriptor desc = new ForeignCallDescriptor(name, int.class, Word.class, Word.class, Word.class, Word.class, Word.class); - LocationIdentity killed = NamedLocationIdentity.getArrayLocation(Kind.Object); + LocationIdentity killed = NamedLocationIdentity.getArrayLocation(JavaKind.Object); registerForeignCall(desc, routine, NativeCall, DESTROYS_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, killed); checkcastArraycopyDescriptors[uninit ? 1 : 0] = desc; } - private void registerArrayCopy(Kind kind, long routine, long alignedRoutine, long disjointRoutine, long alignedDisjointRoutine) { + private void registerArrayCopy(JavaKind kind, long routine, long alignedRoutine, long disjointRoutine, long alignedDisjointRoutine) { registerArrayCopy(kind, routine, alignedRoutine, disjointRoutine, alignedDisjointRoutine, false); } - private void registerArrayCopy(Kind kind, long routine, long alignedRoutine, long disjointRoutine, long alignedDisjointRoutine, boolean uninit) { + private void registerArrayCopy(JavaKind kind, long routine, long alignedRoutine, long disjointRoutine, long alignedDisjointRoutine, boolean uninit) { /* * Sometimes the same function is used for multiple cases so share them when that's the case * but only within the same Kind. For instance short and char are the same copy routines but @@ -158,7 +158,7 @@ registerArraycopyDescriptor(descMap, kind, false, true, uninit, false, disjointRoutine); registerArraycopyDescriptor(descMap, kind, true, true, uninit, false, alignedDisjointRoutine); - if (kind == Kind.Object && !uninit) { + if (kind == JavaKind.Object && !uninit) { objectArraycopyDescriptorsKillAny[0][0] = buildDescriptor(kind, false, false, uninit, true, routine); objectArraycopyDescriptorsKillAny[1][0] = buildDescriptor(kind, true, false, uninit, true, alignedRoutine); objectArraycopyDescriptorsKillAny[0][1] = buildDescriptor(kind, false, true, uninit, true, disjointRoutine); @@ -235,16 +235,16 @@ linkForeignCall(providers, TEST_DEOPTIMIZE_CALL_INT, c.testDeoptimizeCallInt, PREPEND_THREAD, NOT_LEAF, REEXECUTABLE, any()); - registerArrayCopy(Kind.Byte, c.jbyteArraycopy, c.jbyteAlignedArraycopy, c.jbyteDisjointArraycopy, c.jbyteAlignedDisjointArraycopy); - registerArrayCopy(Kind.Boolean, c.jbyteArraycopy, c.jbyteAlignedArraycopy, c.jbyteDisjointArraycopy, c.jbyteAlignedDisjointArraycopy); - registerArrayCopy(Kind.Char, c.jshortArraycopy, c.jshortAlignedArraycopy, c.jshortDisjointArraycopy, c.jshortAlignedDisjointArraycopy); - registerArrayCopy(Kind.Short, c.jshortArraycopy, c.jshortAlignedArraycopy, c.jshortDisjointArraycopy, c.jshortAlignedDisjointArraycopy); - registerArrayCopy(Kind.Int, c.jintArraycopy, c.jintAlignedArraycopy, c.jintDisjointArraycopy, c.jintAlignedDisjointArraycopy); - registerArrayCopy(Kind.Float, c.jintArraycopy, c.jintAlignedArraycopy, c.jintDisjointArraycopy, c.jintAlignedDisjointArraycopy); - registerArrayCopy(Kind.Long, c.jlongArraycopy, c.jlongAlignedArraycopy, c.jlongDisjointArraycopy, c.jlongAlignedDisjointArraycopy); - registerArrayCopy(Kind.Double, c.jlongArraycopy, c.jlongAlignedArraycopy, c.jlongDisjointArraycopy, c.jlongAlignedDisjointArraycopy); - registerArrayCopy(Kind.Object, c.oopArraycopy, c.oopAlignedArraycopy, c.oopDisjointArraycopy, c.oopAlignedDisjointArraycopy); - registerArrayCopy(Kind.Object, c.oopArraycopyUninit, c.oopAlignedArraycopyUninit, c.oopDisjointArraycopyUninit, c.oopAlignedDisjointArraycopyUninit, true); + registerArrayCopy(JavaKind.Byte, c.jbyteArraycopy, c.jbyteAlignedArraycopy, c.jbyteDisjointArraycopy, c.jbyteAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Boolean, c.jbyteArraycopy, c.jbyteAlignedArraycopy, c.jbyteDisjointArraycopy, c.jbyteAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Char, c.jshortArraycopy, c.jshortAlignedArraycopy, c.jshortDisjointArraycopy, c.jshortAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Short, c.jshortArraycopy, c.jshortAlignedArraycopy, c.jshortDisjointArraycopy, c.jshortAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Int, c.jintArraycopy, c.jintAlignedArraycopy, c.jintDisjointArraycopy, c.jintAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Float, c.jintArraycopy, c.jintAlignedArraycopy, c.jintDisjointArraycopy, c.jintAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Long, c.jlongArraycopy, c.jlongAlignedArraycopy, c.jlongDisjointArraycopy, c.jlongAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Double, c.jlongArraycopy, c.jlongAlignedArraycopy, c.jlongDisjointArraycopy, c.jlongAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Object, c.oopArraycopy, c.oopAlignedArraycopy, c.oopDisjointArraycopy, c.oopAlignedDisjointArraycopy); + registerArrayCopy(JavaKind.Object, c.oopArraycopyUninit, c.oopAlignedArraycopyUninit, c.oopDisjointArraycopyUninit, c.oopAlignedDisjointArraycopyUninit, true); registerCheckcastArraycopyDescriptor(true, c.checkcastArraycopyUninit); registerCheckcastArraycopyDescriptor(false, c.checkcastArraycopy); @@ -257,8 +257,8 @@ */ try { // These stubs do callee saving - registerForeignCall(ENCRYPT_BLOCK, c.aescryptEncryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(Kind.Byte)); - registerForeignCall(DECRYPT_BLOCK, c.aescryptDecryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(Kind.Byte)); + registerForeignCall(ENCRYPT_BLOCK, c.aescryptEncryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(JavaKind.Byte)); + registerForeignCall(DECRYPT_BLOCK, c.aescryptDecryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(JavaKind.Byte)); } catch (JVMCIError e) { if (!(e.getCause() instanceof ClassNotFoundException)) { throw e; @@ -266,8 +266,10 @@ } try { // These stubs do callee saving - registerForeignCall(ENCRYPT, c.cipherBlockChainingEncryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(Kind.Byte)); - registerForeignCall(DECRYPT, c.cipherBlockChainingDecryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, NamedLocationIdentity.getArrayLocation(Kind.Byte)); + registerForeignCall(ENCRYPT, c.cipherBlockChainingEncryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, + NamedLocationIdentity.getArrayLocation(JavaKind.Byte)); + registerForeignCall(DECRYPT, c.cipherBlockChainingDecryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF_NOFP, NOT_REEXECUTABLE, + NamedLocationIdentity.getArrayLocation(JavaKind.Byte)); } catch (JVMCIError e) { if (!(e.getCause() instanceof ClassNotFoundException)) { throw e; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInvocationPlugins.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInvocationPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInvocationPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -23,7 +23,7 @@ package com.oracle.graal.hotspot.meta; import jdk.internal.jvmci.hotspot.HotSpotVMConfig; -import jdk.internal.jvmci.meta.Kind; +import jdk.internal.jvmci.meta.JavaKind; import jdk.internal.jvmci.meta.MetaAccessProvider; import jdk.internal.jvmci.meta.ResolvedJavaType; @@ -75,7 +75,7 @@ for (Node node : newNodes) { if (node.hasUsages() && node instanceof ConstantNode) { ConstantNode c = (ConstantNode) node; - if (c.getStackKind() == Kind.Object && AheadOfTimeVerificationPhase.isIllegalObjectConstant(c)) { + if (c.getStackKind() == JavaKind.Object && AheadOfTimeVerificationPhase.isIllegalObjectConstant(c)) { if (isClass(c)) { // This will be handled later by LoadJavaMirrorWithKlassPhase } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -37,13 +37,13 @@ void initialize(HotSpotProviders providers, HotSpotVMConfig config); - int arrayScalingFactor(Kind kind); + int arrayScalingFactor(JavaKind kind); - AddressNode createArrayAddress(StructuredGraph graph, ValueNode array, Kind elementKind, ValueNode index); + AddressNode createArrayAddress(StructuredGraph graph, ValueNode array, JavaKind elementKind, ValueNode index); - Stamp loadStamp(Stamp stamp, Kind kind); + Stamp loadStamp(Stamp stamp, JavaKind kind); - ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value); + ValueNode implicitLoadConvert(StructuredGraph graph, JavaKind kind, ValueNode value); - ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value); + ValueNode implicitStoreConvert(StructuredGraph graph, JavaKind kind, ValueNode value); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -133,7 +133,7 @@ JavaConstant result = b.getConstantReflection().readConstantFieldValue(field, object); if (result != null) { ConstantNode constantNode = ConstantNode.forConstant(result, b.getMetaAccess(), b.getGraph()); - b.push(field.getKind(), constantNode); + b.push(field.getJavaKind(), constantNode); return true; } return false; @@ -156,7 +156,7 @@ } @Override - public boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind) { + public boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind) { if (b.parsingIntrinsic() && wordOperationPlugin.handleLoadIndexed(b, array, index, elementKind)) { return true; } @@ -164,7 +164,7 @@ } @Override - public boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { + public boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind, ValueNode value) { if (b.parsingIntrinsic() && wordOperationPlugin.handleStoreIndexed(b, array, index, elementKind, value)) { return true; } diff -r 6d339ba0edc5 -r b00cc0475f31 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 Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -60,7 +60,7 @@ } @Override - public JavaConstant forBoxed(Kind kind, Object value) { + public JavaConstant forBoxed(JavaKind kind, Object value) { return HotSpotObjectConstantImpl.forBoxedValue(kind, value); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotWordOperationPlugin.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotWordOperationPlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotWordOperationPlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -81,7 +81,7 @@ } protected void processHotSpotWordOperation(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args, HotSpotOperation operation) { - Kind returnKind = method.getSignature().getReturnKind(); + JavaKind returnKind = method.getSignature().getReturnKind(); switch (operation.opcode()) { case POINTER_EQ: case POINTER_NE: diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,7 +53,7 @@ */ protected final BitSet objects; - public AllocaNode(int slots, Kind wordKind, BitSet objects) { + public AllocaNode(int slots, JavaKind wordKind, BitSet objects) { super(TYPE, StampFactory.forKind(wordKind)); this.slots = slots; this.objects = objects; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ComputeObjectAddressNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ComputeObjectAddressNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ComputeObjectAddressNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -42,7 +42,7 @@ @Input ValueNode offset; public ComputeObjectAddressNode(ValueNode obj, ValueNode offset) { - super(TYPE, StampFactory.forKind(Kind.Long)); + super(TYPE, StampFactory.forKind(JavaKind.Long)); this.object = obj; this.offset = offset; } diff -r 6d339ba0edc5 -r b00cc0475f31 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 Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,7 +46,7 @@ this(wordTypes.getWordKind()); } - public CurrentJavaThreadNode(Kind wordKind) { + public CurrentJavaThreadNode(JavaKind wordKind) { super(TYPE, StampFactory.forKind(wordKind)); this.wordKind = LIRKind.value(wordKind); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,7 +47,7 @@ protected final ForeignCallsProvider foreignCalls; public DeoptimizationFetchUnrollInfoCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver) { - super(TYPE, StampFactory.forKind(Kind.fromJavaClass(FETCH_UNROLL_INFO.getResultType()))); + super(TYPE, StampFactory.forKind(JavaKind.fromJavaClass(FETCH_UNROLL_INFO.getResultType()))); this.registerSaver = (SaveAllRegistersNode) registerSaver; this.foreignCalls = foreignCalls; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,7 +44,7 @@ @Input ValueNode object; public GetObjectAddressNode(ValueNode obj) { - super(TYPE, StampFactory.forKind(Kind.Long)); + super(TYPE, StampFactory.forKind(JavaKind.Long)); this.object = obj; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -36,7 +36,7 @@ public static final NodeClass TYPE = NodeClass.create(LoadIndexedPointerNode.class); public LoadIndexedPointerNode(Stamp stamp, ValueNode array, ValueNode index) { - super(TYPE, stamp, array, index, Kind.Illegal); + super(TYPE, stamp, array, index, JavaKind.Illegal); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,7 +43,7 @@ protected SaveRegistersOp saveRegistersOp; public SaveAllRegistersNode() { - super(TYPE, StampFactory.forKind(Kind.Long)); + super(TYPE, StampFactory.forKind(JavaKind.Long)); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -48,7 +48,7 @@ protected final ForeignCallDescriptor descriptor; public StubForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { - super(TYPE, StampFactory.forKind(Kind.fromJavaClass(descriptor.getResultType()))); + super(TYPE, StampFactory.forKind(JavaKind.fromJavaClass(descriptor.getResultType()))); this.arguments = new NodeInputList<>(this, arguments); this.descriptor = descriptor; this.foreignCalls = foreignCalls; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -48,7 +48,7 @@ protected final ForeignCallsProvider foreignCalls; public UncommonTrapCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) { - super(TYPE, StampFactory.forKind(Kind.fromJavaClass(UNCOMMON_TRAP.getResultType()))); + super(TYPE, StampFactory.forKind(JavaKind.fromJavaClass(UNCOMMON_TRAP.getResultType()))); this.trapRequest = trapRequest; this.registerSaver = (SaveAllRegistersNode) registerSaver; this.foreignCalls = foreignCalls; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/KlassPointerStamp.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/KlassPointerStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/KlassPointerStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -111,7 +111,7 @@ @Override public LIRKind getLIRKind(LIRKindTool tool) { if (isCompressed()) { - return LIRKind.value(Kind.Int); + return LIRKind.value(JavaKind.Int); } else { return super.getLIRKind(tool); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,7 +57,7 @@ @Override public LIRKind getLIRKind(LIRKindTool tool) { - return LIRKind.reference(Kind.Int); + return LIRKind.reference(JavaKind.Int); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/AheadOfTimeVerificationPhase.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/AheadOfTimeVerificationPhase.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/AheadOfTimeVerificationPhase.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,7 +54,7 @@ } private static boolean isObject(ConstantNode node) { - return node.getStackKind() == Kind.Object; + return node.getStackKind() == JavaKind.Object; } private static boolean isNullReference(ConstantNode node) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Tue Sep 08 19:57:39 2015 +0200 @@ -85,7 +85,7 @@ * Klass* so get them from Class.TYPE for the java box type. */ HotSpotResolvedPrimitiveType primitive = (HotSpotResolvedPrimitiveType) type; - ResolvedJavaType boxingClass = metaAccess.lookupJavaType(primitive.getKind().toBoxedJavaClass()); + ResolvedJavaType boxingClass = metaAccess.lookupJavaType(primitive.getJavaKind().toBoxedJavaClass()); ConstantNode clazz = ConstantNode.forConstant(boxingClass.getJavaClass(), metaAccess, graph); HotSpotResolvedJavaField[] a = (HotSpotResolvedJavaField[]) boxingClass.getStaticFields(); HotSpotResolvedJavaField typeField = null; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java Tue Sep 08 19:57:39 2015 +0200 @@ -77,10 +77,10 @@ private static void crypt(Object rcvr, byte[] in, int inOffset, byte[] out, int outOffset, boolean encrypt) { checkArgs(in, inOffset, out, outOffset); Object realReceiver = PiNode.piCastNonNull(rcvr, AESCryptClass); - Object kObject = UnsafeLoadNode.load(realReceiver, kOffset, Kind.Object, LocationIdentity.any()); - Pointer kAddr = Word.objectToTrackedPointer(kObject).add(arrayBaseOffset(Kind.Byte)); - Word inAddr = Word.unsigned(ComputeObjectAddressNode.get(in, arrayBaseOffset(Kind.Byte) + inOffset)); - Word outAddr = Word.unsigned(ComputeObjectAddressNode.get(out, arrayBaseOffset(Kind.Byte) + outOffset)); + Object kObject = UnsafeLoadNode.load(realReceiver, kOffset, JavaKind.Object, LocationIdentity.any()); + Pointer kAddr = Word.objectToTrackedPointer(kObject).add(arrayBaseOffset(JavaKind.Byte)); + Word inAddr = Word.unsigned(ComputeObjectAddressNode.get(in, arrayBaseOffset(JavaKind.Byte) + inOffset)); + Word outAddr = Word.unsigned(ComputeObjectAddressNode.get(out, arrayBaseOffset(JavaKind.Byte) + outOffset)); if (encrypt) { encryptBlockStub(ENCRYPT_BLOCK, inAddr, outAddr, kAddr); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CRC32Substitutions.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CRC32Substitutions.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CRC32Substitutions.java Tue Sep 08 19:57:39 2015 +0200 @@ -62,7 +62,7 @@ } static int updateBytes(int crc, byte[] buf, int off, int len) { - Word bufAddr = Word.unsigned(ComputeObjectAddressNode.get(buf, arrayBaseOffset(Kind.Byte) + off)); + Word bufAddr = Word.unsigned(ComputeObjectAddressNode.get(buf, arrayBaseOffset(JavaKind.Byte) + off)); return updateBytes(UPDATE_BYTES_CRC32, crc, bufAddr, len); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,7 +36,7 @@ public static final NodeClass TYPE = NodeClass.create(CardTableAddressNode.class); public CardTableAddressNode() { - super(TYPE, StampFactory.forKind(Kind.Long)); + super(TYPE, StampFactory.forKind(JavaKind.Long)); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java Tue Sep 08 19:57:39 2015 +0200 @@ -71,7 +71,7 @@ static int encrypt(Object rcvr, byte[] in, int inOffset, int inLength, byte[] out, int outOffset) { Object realReceiver = PiNode.piCastNonNull(rcvr, cipherBlockChainingClass); - Object embeddedCipher = UnsafeLoadNode.load(realReceiver, embeddedCipherOffset, Kind.Object, LocationIdentity.any()); + Object embeddedCipher = UnsafeLoadNode.load(realReceiver, embeddedCipherOffset, JavaKind.Object, LocationIdentity.any()); if (getAESCryptClass().isInstance(embeddedCipher)) { Object aesCipher = PiNode.piCastNonNull(embeddedCipher, AESCryptSubstitutions.AESCryptClass); crypt(realReceiver, in, inOffset, inLength, out, outOffset, aesCipher, true); @@ -83,7 +83,7 @@ static int decrypt(Object rcvr, byte[] in, int inOffset, int inLength, byte[] out, int outOffset) { Object realReceiver = PiNode.piCastNonNull(rcvr, cipherBlockChainingClass); - Object embeddedCipher = UnsafeLoadNode.load(realReceiver, embeddedCipherOffset, Kind.Object, LocationIdentity.any()); + Object embeddedCipher = UnsafeLoadNode.load(realReceiver, embeddedCipherOffset, JavaKind.Object, LocationIdentity.any()); if (in != out && getAESCryptClass().isInstance(embeddedCipher)) { Object aesCipher = PiNode.piCastNonNull(embeddedCipher, AESCryptSubstitutions.AESCryptClass); crypt(realReceiver, in, inOffset, inLength, out, outOffset, aesCipher, false); @@ -96,12 +96,12 @@ private static void crypt(Object rcvr, byte[] in, int inOffset, int inLength, byte[] out, int outOffset, Object embeddedCipher, boolean encrypt) { AESCryptSubstitutions.checkArgs(in, inOffset, out, outOffset); Object realReceiver = PiNode.piCastNonNull(rcvr, cipherBlockChainingClass); - Object kObject = UnsafeLoadNode.load(embeddedCipher, AESCryptSubstitutions.kOffset, Kind.Object, LocationIdentity.any()); - Object rObject = UnsafeLoadNode.load(realReceiver, rOffset, Kind.Object, LocationIdentity.any()); - Pointer kAddr = Word.objectToTrackedPointer(kObject).add(arrayBaseOffset(Kind.Byte)); - Pointer rAddr = Word.objectToTrackedPointer(rObject).add(arrayBaseOffset(Kind.Byte)); - Word inAddr = Word.unsigned(ComputeObjectAddressNode.get(in, arrayBaseOffset(Kind.Byte) + inOffset)); - Word outAddr = Word.unsigned(ComputeObjectAddressNode.get(out, arrayBaseOffset(Kind.Byte) + outOffset)); + Object kObject = UnsafeLoadNode.load(embeddedCipher, AESCryptSubstitutions.kOffset, JavaKind.Object, LocationIdentity.any()); + Object rObject = UnsafeLoadNode.load(realReceiver, rOffset, JavaKind.Object, LocationIdentity.any()); + Pointer kAddr = Word.objectToTrackedPointer(kObject).add(arrayBaseOffset(JavaKind.Byte)); + Pointer rAddr = Word.objectToTrackedPointer(rObject).add(arrayBaseOffset(JavaKind.Byte)); + Word inAddr = Word.unsigned(ComputeObjectAddressNode.get(in, arrayBaseOffset(JavaKind.Byte) + inOffset)); + Word outAddr = Word.unsigned(ComputeObjectAddressNode.get(out, arrayBaseOffset(JavaKind.Byte) + outOffset)); if (encrypt) { encryptAESCryptStub(ENCRYPT, inAddr, outAddr, kAddr, rAddr, inLength); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -315,7 +315,7 @@ } @Fold - public static Kind getWordKind() { + public static JavaKind getWordKind() { return runtime().getTarget().wordKind; } @@ -520,12 +520,12 @@ } @Fold - public static int arrayBaseOffset(Kind elementKind) { + public static int arrayBaseOffset(JavaKind elementKind) { return runtime().getJVMCIRuntime().getArrayBaseOffset(elementKind); } @Fold - public static int arrayIndexScale(Kind elementKind) { + public static int arrayIndexScale(JavaKind elementKind) { return runtime().getJVMCIRuntime().getArrayIndexScale(elementKind); } @@ -691,10 +691,10 @@ public static native void writeRegisterAsWord(@ConstantNodeParameter Register register, Word value); @NodeIntrinsic(value = UnsafeLoadNode.class, setStampFromReturnType = true) - private static native Word loadWordFromObjectIntrinsic(Object object, long offset, @ConstantNodeParameter Kind wordKind, @ConstantNodeParameter LocationIdentity locationIdentity); + private static native Word loadWordFromObjectIntrinsic(Object object, long offset, @ConstantNodeParameter JavaKind wordKind, @ConstantNodeParameter LocationIdentity locationIdentity); @NodeIntrinsic(value = UnsafeLoadNode.class, setStampFromReturnType = true) - private static native KlassPointer loadKlassFromObjectIntrinsic(Object object, long offset, @ConstantNodeParameter Kind wordKind, @ConstantNodeParameter LocationIdentity locationIdentity); + private static native KlassPointer loadKlassFromObjectIntrinsic(Object object, long offset, @ConstantNodeParameter JavaKind wordKind, @ConstantNodeParameter LocationIdentity locationIdentity); @NodeIntrinsic(value = LoadHubNode.class) public static native KlassPointer loadHubIntrinsic(Object object, GuardingNode anchor); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -245,7 +245,7 @@ args = new Arguments(instanceofWithProfile, graph.getGuardsStage(), tool.getLoweringStage()); args.add("object", object); args.addVarargs("hints", KlassPointer.class, KlassPointerStamp.klassNonNull(), hints.hubs); - args.addVarargs("hintIsPositive", boolean.class, StampFactory.forKind(Kind.Boolean), hints.isPositive); + args.addVarargs("hintIsPositive", boolean.class, StampFactory.forKind(JavaKind.Boolean), hints.isPositive); } else if (hintInfo.exact != null) { args = new Arguments(instanceofExact, graph.getGuardsStage(), tool.getLoweringStage()); args.add("object", object); @@ -261,7 +261,7 @@ args.add("hub", hub); args.add("object", object); args.addVarargs("hints", KlassPointer.class, KlassPointerStamp.klassNonNull(), hints.hubs); - args.addVarargs("hintIsPositive", boolean.class, StampFactory.forKind(Kind.Boolean), hints.isPositive); + args.addVarargs("hintIsPositive", boolean.class, StampFactory.forKind(JavaKind.Boolean), hints.isPositive); } args.add("trueValue", replacer.trueValue); args.add("falseValue", replacer.falseValue); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/KlassLayoutHelperNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/KlassLayoutHelperNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/KlassLayoutHelperNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -49,7 +49,7 @@ } public KlassLayoutHelperNode(@InjectedNodeParameter HotSpotVMConfig config, ValueNode klass, ValueNode guard) { - super(TYPE, StampFactory.forKind(Kind.Int), (GuardingNode) guard); + super(TYPE, StampFactory.forKind(JavaKind.Int), (GuardingNode) guard); this.klass = klass; this.config = config; } @@ -67,10 +67,10 @@ /* * Definitely some form of instance type. */ - return updateStamp(StampFactory.forInteger(Kind.Int, config.klassLayoutHelperNeutralValue, Integer.MAX_VALUE)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, config.klassLayoutHelperNeutralValue, Integer.MAX_VALUE)); } if (type.isArray()) { - return updateStamp(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, config.klassLayoutHelperNeutralValue - 1)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, config.klassLayoutHelperNeutralValue - 1)); } } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -244,18 +244,19 @@ @Snippet public static Object allocateArrayDynamic(Class elementType, int length, @ConstantParameter boolean fillContents, @ConstantParameter Register threadRegister, - @ConstantParameter Kind knownElementKind, @ConstantParameter int knownLayoutHelper, Word prototypeMarkWord) { + @ConstantParameter JavaKind knownElementKind, @ConstantParameter int knownLayoutHelper, Word prototypeMarkWord) { Object result = allocateArrayDynamicImpl(elementType, length, fillContents, threadRegister, knownElementKind, knownLayoutHelper, prototypeMarkWord); return result; } - private static Object allocateArrayDynamicImpl(Class elementType, int length, boolean fillContents, Register threadRegister, Kind knownElementKind, int knownLayoutHelper, Word prototypeMarkWord) { + private static Object allocateArrayDynamicImpl(Class elementType, int length, boolean fillContents, Register threadRegister, JavaKind knownElementKind, int knownLayoutHelper, + Word prototypeMarkWord) { /* * We only need the dynamic check for void when we have no static information from * knownElementKind. */ - staticAssert(knownElementKind != Kind.Void, "unsupported knownElementKind"); - if (knownElementKind == Kind.Illegal && probability(SLOW_PATH_PROBABILITY, elementType == null || DynamicNewArrayNode.throwsIllegalArgumentException(elementType))) { + staticAssert(knownElementKind != JavaKind.Void, "unsupported knownElementKind"); + if (knownElementKind == JavaKind.Illegal && probability(SLOW_PATH_PROBABILITY, elementType == null || DynamicNewArrayNode.throwsIllegalArgumentException(elementType))) { DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint); } @@ -263,7 +264,7 @@ if (probability(BranchProbabilityNode.NOT_FREQUENT_PROBABILITY, klass.isNull() || length < 0)) { DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint); } - int layoutHelper = knownElementKind != Kind.Illegal ? knownLayoutHelper : readLayoutHelper(klass); + int layoutHelper = knownElementKind != JavaKind.Illegal ? knownLayoutHelper : readLayoutHelper(klass); //@formatter:off // from src/share/vm/oops/klass.hpp: // @@ -475,7 +476,7 @@ StructuredGraph graph = newArrayNode.graph(); ResolvedJavaType elementType = newArrayNode.elementType(); HotSpotResolvedObjectType arrayType = (HotSpotResolvedObjectType) elementType.getArrayClass(); - Kind elementKind = elementType.getKind(); + JavaKind elementKind = elementType.getJavaKind(); ConstantNode hub = ConstantNode.forConstant(KlassPointerStamp.klassNonNull(), arrayType.klass(), providers.getMetaAccess(), graph); final int headerSize = runtime.getJVMCIRuntime().getArrayBaseOffset(elementKind); HotSpotLoweringProvider lowerer = (HotSpotLoweringProvider) providers.getLowerer(); @@ -485,7 +486,7 @@ args.add("hub", hub); ValueNode length = newArrayNode.length(); args.add("length", length.isAlive() ? length : graph.addOrUniqueWithInputs(length)); - assert arrayType.prototypeMarkWord() == lookupArrayClass(tool, Kind.Object).prototypeMarkWord() : "all array types are assumed to have the same prototypeMarkWord"; + assert arrayType.prototypeMarkWord() == lookupArrayClass(tool, JavaKind.Object).prototypeMarkWord() : "all array types are assumed to have the same prototypeMarkWord"; args.add("prototypeMarkWord", arrayType.prototypeMarkWord()); args.addConst("headerSize", headerSize); args.addConst("log2ElementSize", log2ElementSize); @@ -521,19 +522,19 @@ * We use Kind.Illegal as a marker value instead of null because constant snippet * parameters cannot be null. */ - args.addConst("knownElementKind", newArrayNode.getKnownElementKind() == null ? Kind.Illegal : newArrayNode.getKnownElementKind()); + args.addConst("knownElementKind", newArrayNode.getKnownElementKind() == null ? JavaKind.Illegal : newArrayNode.getKnownElementKind()); if (newArrayNode.getKnownElementKind() != null) { args.addConst("knownLayoutHelper", lookupArrayClass(tool, newArrayNode.getKnownElementKind()).layoutHelper()); } else { args.addConst("knownLayoutHelper", 0); } - args.add("prototypeMarkWord", lookupArrayClass(tool, Kind.Object).prototypeMarkWord()); + args.add("prototypeMarkWord", lookupArrayClass(tool, JavaKind.Object).prototypeMarkWord()); SnippetTemplate template = template(args); template.instantiate(providers.getMetaAccess(), newArrayNode, DEFAULT_REPLACER, args); } - private static HotSpotResolvedObjectType lookupArrayClass(LoweringTool tool, Kind kind) { - return (HotSpotResolvedObjectType) tool.getMetaAccess().lookupJavaType(kind == Kind.Object ? Object.class : kind.toJavaClass()).getArrayClass(); + private static HotSpotResolvedObjectType lookupArrayClass(LoweringTool tool, JavaKind kind) { + return (HotSpotResolvedObjectType) tool.getMetaAccess().lookupJavaType(kind == JavaKind.Object ? Object.class : kind.toJavaClass()).getArrayClass(); } public void lower(NewMultiArrayNode newmultiarrayNode, LoweringTool tool) { @@ -549,7 +550,7 @@ Arguments args = new Arguments(newmultiarray, graph.getGuardsStage(), tool.getLoweringStage()); args.add("hub", hub); args.addConst("rank", rank); - args.addVarargs("dimensions", int.class, StampFactory.forKind(Kind.Int), dims); + args.addVarargs("dimensions", int.class, StampFactory.forKind(JavaKind.Int), dims); template(args).instantiate(providers.getMetaAccess(), newmultiarrayNode, DEFAULT_REPLACER, args); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -54,7 +54,7 @@ ResolvedJavaType type = StampTool.typeOrNull(getObject()); if (type != null) { if (type.isArray()) { - Method method = ObjectCloneSnippets.arrayCloneMethods.get(type.getComponentType().getKind()); + Method method = ObjectCloneSnippets.arrayCloneMethods.get(type.getComponentType().getJavaKind()); if (method != null) { final ResolvedJavaMethod snippetMethod = tool.getMetaAccess().lookupJavaMethod(method); final Replacements replacements = tool.getReplacements(); @@ -68,7 +68,7 @@ assert snippetGraph != null : "ObjectCloneSnippets should be installed"; return lowerReplacement((StructuredGraph) snippetGraph.copy(), tool); } - assert false : "unhandled array type " + type.getComponentType().getKind(); + assert false : "unhandled array type " + type.getComponentType().getJavaKind(); } else { Assumptions assumptions = graph().getAssumptions(); type = getConcreteType(getObject().stamp(), assumptions, tool.getMetaAccess()); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,18 +35,18 @@ public class ObjectCloneSnippets implements Snippets { - public static final EnumMap arrayCloneMethods = new EnumMap<>(Kind.class); + public static final EnumMap arrayCloneMethods = new EnumMap<>(JavaKind.class); static { - arrayCloneMethods.put(Kind.Boolean, getCloneMethod("booleanArrayClone", boolean[].class)); - arrayCloneMethods.put(Kind.Byte, getCloneMethod("byteArrayClone", byte[].class)); - arrayCloneMethods.put(Kind.Char, getCloneMethod("charArrayClone", char[].class)); - arrayCloneMethods.put(Kind.Short, getCloneMethod("shortArrayClone", short[].class)); - arrayCloneMethods.put(Kind.Int, getCloneMethod("intArrayClone", int[].class)); - arrayCloneMethods.put(Kind.Float, getCloneMethod("floatArrayClone", float[].class)); - arrayCloneMethods.put(Kind.Long, getCloneMethod("longArrayClone", long[].class)); - arrayCloneMethods.put(Kind.Double, getCloneMethod("doubleArrayClone", double[].class)); - arrayCloneMethods.put(Kind.Object, getCloneMethod("objectArrayClone", Object[].class)); + arrayCloneMethods.put(JavaKind.Boolean, getCloneMethod("booleanArrayClone", boolean[].class)); + arrayCloneMethods.put(JavaKind.Byte, getCloneMethod("byteArrayClone", byte[].class)); + arrayCloneMethods.put(JavaKind.Char, getCloneMethod("charArrayClone", char[].class)); + arrayCloneMethods.put(JavaKind.Short, getCloneMethod("shortArrayClone", short[].class)); + arrayCloneMethods.put(JavaKind.Int, getCloneMethod("intArrayClone", int[].class)); + arrayCloneMethods.put(JavaKind.Float, getCloneMethod("floatArrayClone", float[].class)); + arrayCloneMethods.put(JavaKind.Long, getCloneMethod("longArrayClone", long[].class)); + arrayCloneMethods.put(JavaKind.Double, getCloneMethod("doubleArrayClone", double[].class)); + arrayCloneMethods.put(JavaKind.Object, getCloneMethod("objectArrayClone", Object[].class)); } private static Method getCloneMethod(String name, Class param) { @@ -60,64 +60,64 @@ @Snippet public static boolean[] booleanArrayClone(boolean[] src) { boolean[] result = (boolean[]) NewArrayNode.newUninitializedArray(Boolean.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Boolean); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Boolean); return result; } @Snippet public static byte[] byteArrayClone(byte[] src) { byte[] result = (byte[]) NewArrayNode.newUninitializedArray(Byte.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Byte); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Byte); return result; } @Snippet public static short[] shortArrayClone(short[] src) { short[] result = (short[]) NewArrayNode.newUninitializedArray(Short.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Short); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Short); return result; } @Snippet public static char[] charArrayClone(char[] src) { char[] result = (char[]) NewArrayNode.newUninitializedArray(Character.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Char); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Char); return result; } @Snippet public static int[] intArrayClone(int[] src) { int[] result = (int[]) NewArrayNode.newUninitializedArray(Integer.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Int); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Int); return result; } @Snippet public static float[] floatArrayClone(float[] src) { float[] result = (float[]) NewArrayNode.newUninitializedArray(Float.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Float); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Float); return result; } @Snippet public static long[] longArrayClone(long[] src) { long[] result = (long[]) NewArrayNode.newUninitializedArray(Long.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Long); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Long); return result; } @Snippet public static double[] doubleArrayClone(double[] src) { double[] result = (double[]) NewArrayNode.newUninitializedArray(Double.TYPE, src.length); - ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, Kind.Double); + ArrayCopyCallNode.disjointArraycopy(src, 0, result, 0, src.length, JavaKind.Double); return result; } @Snippet public static Object[] objectArrayClone(Object[] src) { /* Since this snippet is lowered early the array must be initialized */ - Object[] result = (Object[]) DynamicNewArrayNode.newArray(GraalDirectives.guardingNonNull(src.getClass().getComponentType()), src.length, Kind.Object); - ArrayCopyCallNode.disjointUninitializedArraycopy(src, 0, result, 0, src.length, Kind.Object); + Object[] result = (Object[]) DynamicNewArrayNode.newArray(GraalDirectives.guardingNonNull(src.getClass().getComponentType()), src.length, JavaKind.Object); + ArrayCopyCallNode.disjointUninitializedArraycopy(src, 0, result, 0, src.length, JavaKind.Object); return result; } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -103,14 +103,14 @@ Object dest = FixedValueAnchorNode.getObject(object); int cardShift = cardTableShift(); long cardStart = cardTableStart(); - final int scale = arrayIndexScale(Kind.Object); - int header = arrayBaseOffset(Kind.Object); + final int scale = arrayIndexScale(JavaKind.Object); + int header = arrayBaseOffset(JavaKind.Object); long dstAddr = GetObjectAddressNode.get(dest); long start = (dstAddr + header + (long) startIndex * scale) >>> cardShift; long end = (dstAddr + header + ((long) startIndex + length - 1) * scale) >>> cardShift; long count = end - start + 1; while (count-- > 0) { - DirectStoreNode.storeBoolean((start + cardStart) + count, false, Kind.Boolean); + DirectStoreNode.storeBoolean((start + cardStart) + count, false, JavaKind.Boolean); } } @@ -258,8 +258,8 @@ Word indexAddress = thread.add(g1SATBQueueIndexOffset()); long dstAddr = GetObjectAddressNode.get(dest); long indexValue = indexAddress.readWord(0).rawValue(); - final int scale = arrayIndexScale(Kind.Object); - int header = arrayBaseOffset(Kind.Object); + final int scale = arrayIndexScale(JavaKind.Object); + int header = arrayBaseOffset(JavaKind.Object); for (int i = startIndex; i < length; i++) { long address = dstAddr + header + (i * scale); @@ -292,8 +292,8 @@ int cardShift = cardTableShift(); long cardStart = cardTableStart(); - final int scale = arrayIndexScale(Kind.Object); - int header = arrayBaseOffset(Kind.Object); + final int scale = arrayIndexScale(JavaKind.Object); + int header = arrayBaseOffset(JavaKind.Object); long dstAddr = GetObjectAddressNode.get(dest); long start = (dstAddr + header + (long) startIndex * scale) >>> cardShift; long end = (dstAddr + header + ((long) startIndex + length - 1) * scale) >>> cardShift; @@ -504,7 +504,7 @@ public static void validateObject(Object parent, Object child) { if (verifyOops() && child != null && !validateOop(VALIDATE_OBJECT, parent, child)) { log(true, "Verification ERROR, Parent: %p Child: %p\n", Word.objectToTrackedPointer(parent).rawValue(), Word.objectToTrackedPointer(child).rawValue()); - DirectObjectStoreNode.storeObject(null, 0, 0, null, LocationIdentity.any(), Kind.Object); + DirectObjectStoreNode.storeObject(null, 0, 0, null, LocationIdentity.any(), JavaKind.Object); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -56,7 +56,7 @@ @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess; - protected final Kind elementKind; + protected final JavaKind elementKind; protected final LocationIdentity locationIdentity; /** @@ -68,17 +68,17 @@ protected final HotSpotGraalRuntimeProvider runtime; - public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, + public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind, boolean aligned, boolean disjoint, boolean uninitialized) { this(runtime, src, srcPos, dest, destPos, length, elementKind, null, aligned, disjoint, uninitialized); } - public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, + public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind, boolean disjoint) { this(runtime, src, srcPos, dest, destPos, length, elementKind, null, false, disjoint, false); } - protected ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, + protected ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind, LocationIdentity locationIdentity, boolean aligned, boolean disjoint, boolean uninitialized) { super(TYPE, StampFactory.forVoid()); assert elementKind != null; @@ -115,7 +115,7 @@ return length; } - public Kind getElementKind() { + public JavaKind getElementKind() { return elementKind; } @@ -141,8 +141,8 @@ ValueNode srcAddr = computeBase(getSource(), getSourcePosition()); ValueNode destAddr = computeBase(getDestination(), getDestinationPosition()); ValueNode len = getLength(); - if (len.stamp().getStackKind() != Kind.Long) { - len = IntegerConvertNode.convert(len, StampFactory.forKind(Kind.Long), graph()); + if (len.stamp().getStackKind() != JavaKind.Long) { + len = IntegerConvertNode.convert(len, StampFactory.forKind(JavaKind.Long), graph()); } ForeignCallNode call = graph.add(new ForeignCallNode(Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getForeignCalls(), desc, srcAddr, destAddr, len)); call.setStateAfter(stateAfter()); @@ -165,27 +165,27 @@ } @NodeIntrinsic - private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind, @ConstantNodeParameter boolean aligned, + private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter boolean aligned, @ConstantNodeParameter boolean disjoint, @ConstantNodeParameter boolean uninitialized); @NodeIntrinsic - private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind, + private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter LocationIdentity locationIdentity, @ConstantNodeParameter boolean aligned, @ConstantNodeParameter boolean disjoint, @ConstantNodeParameter boolean uninitialized); public static void arraycopyObjectKillsAny(Object src, int srcPos, Object dest, int destPos, int length) { - arraycopy(src, srcPos, dest, destPos, length, Kind.Object, LocationIdentity.any(), false, false, false); + arraycopy(src, srcPos, dest, destPos, length, JavaKind.Object, LocationIdentity.any(), false, false, false); } - public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind) { + public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind) { arraycopy(src, srcPos, dest, destPos, length, elementKind, false, false, false); } - public static void disjointArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind) { + public static void disjointArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind) { arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, false); } - public static void disjointUninitializedArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind) { + public static void disjointUninitializedArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind) { arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, true); } @@ -201,13 +201,13 @@ return uninitialized; } - boolean isHeapWordAligned(JavaConstant value, Kind kind) { + boolean isHeapWordAligned(JavaConstant value, JavaKind kind) { HotSpotJVMCIRuntimeProvider jvmciRuntime = runtime.getJVMCIRuntime(); return (jvmciRuntime.getArrayBaseOffset(kind) + (long) value.asInt() * jvmciRuntime.getArrayIndexScale(kind)) % runtime.getConfig().heapWordSize == 0; } public void updateAlignedDisjoint() { - Kind componentKind = elementKind; + JavaKind componentKind = elementKind; if (srcPos == destPos) { // Can treat as disjoint disjoint = true; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -36,7 +36,7 @@ public static final NodeClass TYPE = NodeClass.create(ArrayCopyNode.class); - private Kind elementKind; + private JavaKind elementKind; public ArrayCopyNode(int bci, ValueNode src, ValueNode srcPos, ValueNode dst, ValueNode dstPos, ValueNode length) { super(TYPE, src, srcPos, dst, dstPos, length, null, bci); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySlowPathNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySlowPathNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySlowPathNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,7 +45,7 @@ */ private final Object argument; - public ArrayCopySlowPathNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, SnippetTemplate.SnippetInfo snippet, Object argument) { + public ArrayCopySlowPathNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind, SnippetTemplate.SnippetInfo snippet, Object argument) { super(TYPE, src, srcPos, dest, destPos, length, elementKind, BytecodeFrame.INVALID_FRAMESTATE_BCI); assert StampTool.isPointerNonNull(src) && StampTool.isPointerNonNull(dest) : "must have been null checked"; this.snippet = snippet; @@ -53,7 +53,7 @@ } @NodeIntrinsic - public static native void arraycopy(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, int length, @ConstantNodeParameter Kind elementKind, + public static native void arraycopy(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter SnippetTemplate.SnippetInfo snippet, @ConstantNodeParameter Object argument); public SnippetTemplate.SnippetInfo getSnippet() { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -99,7 +99,7 @@ } @Snippet - public static void arraycopyExactIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter Kind elementKind, @ConstantParameter SnippetCounter counter, + public static void arraycopyExactIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter JavaKind elementKind, @ConstantParameter SnippetCounter counter, @ConstantParameter SnippetCounter copiedCounter) { Object nonNullSrc = GraalDirectives.guardingNonNull(src); Object nonNullDest = GraalDirectives.guardingNonNull(dest); @@ -120,8 +120,8 @@ * inputs but not the other. */ @Snippet - public static void arraycopyPredictedExactIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter Kind elementKind, @ConstantParameter SnippetCounter counter, - @ConstantParameter SnippetCounter copiedCounter) { + public static void arraycopyPredictedExactIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter JavaKind elementKind, + @ConstantParameter SnippetCounter counter, @ConstantParameter SnippetCounter copiedCounter) { Object nonNullSrc = GraalDirectives.guardingNonNull(src); Object nonNullDest = GraalDirectives.guardingNonNull(dest); KlassPointer srcHub = loadHub(nonNullSrc); @@ -166,7 +166,7 @@ * underlying type is really an array type. */ @Snippet - public static void arraycopySlowPathIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter Kind elementKind, @ConstantParameter SnippetInfo slowPath, + public static void arraycopySlowPathIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter JavaKind elementKind, @ConstantParameter SnippetInfo slowPath, @ConstantParameter Object slowPathArgument) { Object nonNullSrc = GraalDirectives.guardingNonNull(src); Object nonNullDest = GraalDirectives.guardingNonNull(dest); @@ -188,7 +188,7 @@ * Snippet for unrolled arraycopy. */ @Snippet - public static void arraycopyUnrolledIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter int unrolledLength, @ConstantParameter Kind elementKind) { + public static void arraycopyUnrolledIntrinsic(Object src, int srcPos, Object dest, int destPos, int length, @ConstantParameter int unrolledLength, @ConstantParameter JavaKind elementKind) { Object nonNullSrc = GraalDirectives.guardingNonNull(src); Object nonNullDest = GraalDirectives.guardingNonNull(dest); checkLimits(nonNullSrc, srcPos, nonNullDest, destPos, length); @@ -242,7 +242,7 @@ if (probability(FAST_PATH_PROBABILITY, isObjectArray)) { genericObjectExactCallCounter.inc(); genericObjectExactCallCopiedCounter.add(length); - ArrayCopyCallNode.disjointArraycopy(nonNullSrc, srcPos, nonNullDest, destPos, length, Kind.Object); + ArrayCopyCallNode.disjointArraycopy(nonNullSrc, srcPos, nonNullDest, destPos, length, JavaKind.Object); } else { genericPrimitiveCallCounter.inc(); genericPrimitiveCallCopiedCounter.add(length); @@ -256,12 +256,12 @@ } @Fold - private static LocationIdentity getArrayLocation(Kind kind) { + private static LocationIdentity getArrayLocation(JavaKind kind) { return NamedLocationIdentity.getArrayLocation(kind); } @Snippet - public static void arraycopyUnrolledWork(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, @ConstantParameter int length, @ConstantParameter Kind elementKind) { + public static void arraycopyUnrolledWork(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, @ConstantParameter int length, @ConstantParameter JavaKind elementKind) { final int scale = arrayIndexScale(elementKind); int arrayBaseOffset = arrayBaseOffset(elementKind); LocationIdentity arrayLocation = getArrayLocation(elementKind); @@ -301,13 +301,13 @@ private static final SnippetCounter predictedObjectArrayCopySlowPathCounter = new SnippetCounter(counters, "Object[]{slow-path}", "used System.arraycopy slow path for predicted Object[] arrays"); private static final SnippetCounter predictedObjectArrayCopyFastPathCounter = new SnippetCounter(counters, "Object[]{fast-path}", "used oop_arraycopy for predicted Object[] arrays"); - private static final EnumMap arraycopyCallCounters = new EnumMap<>(Kind.class); - private static final EnumMap arraycopyCounters = new EnumMap<>(Kind.class); + private static final EnumMap arraycopyCallCounters = new EnumMap<>(JavaKind.class); + private static final EnumMap arraycopyCounters = new EnumMap<>(JavaKind.class); - private static final EnumMap arraycopyCallCopiedCounters = new EnumMap<>(Kind.class); - private static final EnumMap arraycopyCopiedCounters = new EnumMap<>(Kind.class); + private static final EnumMap arraycopyCallCopiedCounters = new EnumMap<>(JavaKind.class); + private static final EnumMap arraycopyCopiedCounters = new EnumMap<>(JavaKind.class); - static void createArraycopyCounter(Kind kind) { + static void createArraycopyCounter(JavaKind kind) { arraycopyCallCounters.put(kind, new SnippetCounter(counters, kind + "[]{stub}", "arraycopy call for " + kind + "[] arrays")); arraycopyCounters.put(kind, new SnippetCounter(counters, kind + "[]{inline}", "inline arraycopy for " + kind + "[] arrays")); @@ -316,15 +316,15 @@ } static { - createArraycopyCounter(Kind.Byte); - createArraycopyCounter(Kind.Boolean); - createArraycopyCounter(Kind.Char); - createArraycopyCounter(Kind.Short); - createArraycopyCounter(Kind.Int); - createArraycopyCounter(Kind.Long); - createArraycopyCounter(Kind.Float); - createArraycopyCounter(Kind.Double); - createArraycopyCounter(Kind.Object); + createArraycopyCounter(JavaKind.Byte); + createArraycopyCounter(JavaKind.Boolean); + createArraycopyCounter(JavaKind.Char); + createArraycopyCounter(JavaKind.Short); + createArraycopyCounter(JavaKind.Int); + createArraycopyCounter(JavaKind.Long); + createArraycopyCounter(JavaKind.Float); + createArraycopyCounter(JavaKind.Double); + createArraycopyCounter(JavaKind.Object); } private static final SnippetCounter genericPrimitiveCallCounter = new SnippetCounter(counters, "genericPrimitive", "generic arraycopy snippet for primitive arrays"); @@ -389,17 +389,17 @@ return info; } - public static Kind selectComponentKind(BasicArrayCopyNode arraycopy) { + public static JavaKind selectComponentKind(BasicArrayCopyNode arraycopy) { return selectComponentKind(arraycopy, true); } - public static Kind selectComponentKind(BasicArrayCopyNode arraycopy, boolean exact) { + public static JavaKind selectComponentKind(BasicArrayCopyNode arraycopy, boolean exact) { ResolvedJavaType srcType = StampTool.typeOrNull(arraycopy.getSource().stamp()); ResolvedJavaType destType = StampTool.typeOrNull(arraycopy.getDestination().stamp()); if (srcType == null || !srcType.isArray() || destType == null || !destType.isArray()) { if (!exact) { - Kind component = getComponentKind(srcType); + JavaKind component = getComponentKind(srcType); if (component != null) { return component; } @@ -415,12 +415,12 @@ return null; } } - return srcType.getComponentType().getKind(); + return srcType.getComponentType().getJavaKind(); } - private static Kind getComponentKind(ResolvedJavaType type) { + private static JavaKind getComponentKind(ResolvedJavaType type) { if (type != null && type.isArray()) { - return type.getComponentType().getKind(); + return type.getComponentType().getJavaKind(); } return null; } @@ -430,7 +430,7 @@ } public void lower(ArrayCopyNode arraycopy, LoweringTool tool) { - Kind componentKind = selectComponentKind(arraycopy); + JavaKind componentKind = selectComponentKind(arraycopy); SnippetInfo snippetInfo = null; SnippetInfo slowPathSnippetInfo = null; Object slowPathArgument = null; @@ -443,7 +443,7 @@ snippetInfo = arraycopyUnrolledIntrinsicSnippet; } } else { - if (componentKind == Kind.Object) { + if (componentKind == JavaKind.Object) { ResolvedJavaType srcType = StampTool.typeOrNull(arraycopy.getSource().stamp()); ResolvedJavaType destType = StampTool.typeOrNull(arraycopy.getDestination().stamp()); ResolvedJavaType srcComponentType = srcType == null ? null : srcType.getComponentType(); @@ -460,7 +460,7 @@ } } if (componentKind == null && snippetInfo == null) { - Kind predictedKind = selectComponentKind(arraycopy, false); + JavaKind predictedKind = selectComponentKind(arraycopy, false); if (predictedKind != null) { /* * At least one array is of a known type requiring no store checks, so @@ -468,7 +468,7 @@ * deficiencies in our propagation of type information. */ componentKind = predictedKind; - if (predictedKind == Kind.Object) { + if (predictedKind == JavaKind.Object) { snippetInfo = arraycopySlowPathIntrinsicSnippet; slowPathSnippetInfo = arraycopyPredictedObjectWorkSnippet; slowPathArgument = predictedKind; @@ -490,9 +490,9 @@ args.add("length", arraycopy.getLength()); if (snippetInfo == arraycopyUnrolledIntrinsicSnippet) { args.addConst("unrolledLength", arraycopy.getLength().asJavaConstant().asInt()); - args.addConst("elementKind", componentKind != null ? componentKind : Kind.Illegal); + args.addConst("elementKind", componentKind != null ? componentKind : JavaKind.Illegal); } else if (snippetInfo == arraycopySlowPathIntrinsicSnippet) { - args.addConst("elementKind", componentKind != null ? componentKind : Kind.Illegal); + args.addConst("elementKind", componentKind != null ? componentKind : JavaKind.Illegal); args.addConst("slowPath", slowPathSnippetInfo); assert slowPathArgument != null; args.addConst("slowPathArgument", slowPathArgument); @@ -527,8 +527,8 @@ HotSpotResolvedObjectType arrayKlass = (HotSpotResolvedObjectType) tool.getMetaAccess().lookupJavaType(Object[].class); ValueNode objectArrayKlass = ConstantNode.forConstant(KlassPointerStamp.klassNonNull(), arrayKlass.klass(), tool.getMetaAccess(), arraycopy.graph()); args.add("objectArrayKlass", objectArrayKlass); - args.addConst("counter", arraycopyCallCounters.get(Kind.Object)); - args.addConst("copiedCounter", arraycopyCallCopiedCounters.get(Kind.Object)); + args.addConst("counter", arraycopyCallCounters.get(JavaKind.Object)); + args.addConst("copiedCounter", arraycopyCallCopiedCounters.get(JavaKind.Object)); } instantiate(args, arraycopy); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyUnrollNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyUnrollNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyUnrollNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,21 +44,21 @@ @Input protected ValueNode destPos; @Input protected ValueNode length; - private Kind elementKind; + private JavaKind elementKind; private int unrolledLength; @OptionalInput(InputType.Memory) private MemoryNode lastLocationAccess; - public ArrayCopyUnrollNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, int unrolledLength, Kind elementKind) { - super(TYPE, StampFactory.forKind(Kind.Void)); + public ArrayCopyUnrollNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, int unrolledLength, JavaKind elementKind) { + super(TYPE, StampFactory.forKind(JavaKind.Void)); this.src = src; this.srcPos = srcPos; this.dest = dest; this.destPos = destPos; this.length = length; this.unrolledLength = unrolledLength; - assert elementKind != null && elementKind != Kind.Illegal; + assert elementKind != null && elementKind != JavaKind.Illegal; this.elementKind = elementKind; } @@ -95,7 +95,7 @@ @Override public boolean isObjectArray() { - return elementKind == Kind.Object; + return elementKind == JavaKind.Object; } @Override @@ -104,13 +104,14 @@ } @NodeIntrinsic - public static native void arraycopy(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, int length, @ConstantNodeParameter int unrolledLength, @ConstantNodeParameter Kind elementKind); + public static native void arraycopy(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, int length, @ConstantNodeParameter int unrolledLength, + @ConstantNodeParameter JavaKind elementKind); public int getUnrollLength() { return unrolledLength; } - public Kind getElementKind() { + public JavaKind getElementKind() { return elementKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -60,7 +60,7 @@ protected CheckcastArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode superCheckOffset, ValueNode destElemKlass, boolean uninit) { - super(TYPE, StampFactory.forKind(Kind.Int)); + super(TYPE, StampFactory.forKind(JavaKind.Int)); this.src = src; this.srcPos = srcPos; this.dest = dest; @@ -101,9 +101,9 @@ graph().addBeforeFixed(this, basePtr); HotSpotJVMCIRuntimeProvider jvmciRuntime = runtime.getJVMCIRuntime(); - int shift = CodeUtil.log2(jvmciRuntime.getArrayIndexScale(Kind.Object)); + int shift = CodeUtil.log2(jvmciRuntime.getArrayIndexScale(JavaKind.Object)); ValueNode scaledIndex = graph().unique(new LeftShiftNode(pos, ConstantNode.forInt(shift, graph()))); - ValueNode offset = graph().unique(new AddNode(scaledIndex, ConstantNode.forInt(jvmciRuntime.getArrayBaseOffset(Kind.Object), graph()))); + ValueNode offset = graph().unique(new AddNode(scaledIndex, ConstantNode.forInt(jvmciRuntime.getArrayBaseOffset(JavaKind.Object), graph()))); return graph().unique(new OffsetAddressNode(basePtr, offset)); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,9 +47,9 @@ @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess; - protected Kind elementKind; + protected JavaKind elementKind; - public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) { + public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, JavaKind elementKind) { super(TYPE, StampFactory.forVoid()); assert layoutHelper == null || elementKind == null; this.src = src; @@ -61,7 +61,7 @@ this.elementKind = elementKind; } - public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) { + public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind) { this(src, srcPos, dest, destPos, length, null, elementKind); } @@ -86,7 +86,7 @@ @Override public boolean isObjectArray() { - return elementKind == Kind.Object; + return elementKind == JavaKind.Object; } @Override @@ -94,7 +94,7 @@ return false; } - public Kind getElementKind() { + public JavaKind getElementKind() { return elementKind; } @@ -135,7 +135,7 @@ } @NodeIntrinsic - public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter Kind elementKind); + public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind); @NodeIntrinsic public static native void arraycopyPrimitive(Object src, int srcPos, Object dest, int destPos, int length, int layoutHelper); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopySnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopySnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopySnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -50,10 +50,10 @@ public class UnsafeArrayCopySnippets implements Snippets { private static final boolean supportsUnalignedMemoryAccess = runtime().getTarget().arch.supportsUnalignedMemoryAccess(); - private static final Kind VECTOR_KIND = Kind.Long; + private static final JavaKind VECTOR_KIND = JavaKind.Long; private static final long VECTOR_SIZE = arrayIndexScale(VECTOR_KIND); - private static void vectorizedCopy(Object src, int srcPos, Object dest, int destPos, int length, Kind baseKind, LocationIdentity locationIdentity) { + private static void vectorizedCopy(Object src, int srcPos, Object dest, int destPos, int length, JavaKind baseKind, LocationIdentity locationIdentity) { int arrayBaseOffset = arrayBaseOffset(baseKind); int elementSize = arrayIndexScale(baseKind); long byteLength = (long) length * elementSize; @@ -129,55 +129,55 @@ } @Fold - private static LocationIdentity getArrayLocation(Kind kind) { + private static LocationIdentity getArrayLocation(JavaKind kind) { return NamedLocationIdentity.getArrayLocation(kind); } @Snippet public static void arraycopyByte(byte[] src, int srcPos, byte[] dest, int destPos, int length) { - Kind kind = Kind.Byte; + JavaKind kind = JavaKind.Byte; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyBoolean(boolean[] src, int srcPos, boolean[] dest, int destPos, int length) { - Kind kind = Kind.Boolean; + JavaKind kind = JavaKind.Boolean; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyChar(char[] src, int srcPos, char[] dest, int destPos, int length) { - Kind kind = Kind.Char; + JavaKind kind = JavaKind.Char; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyShort(short[] src, int srcPos, short[] dest, int destPos, int length) { - Kind kind = Kind.Short; + JavaKind kind = JavaKind.Short; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyInt(int[] src, int srcPos, int[] dest, int destPos, int length) { - Kind kind = Kind.Int; + JavaKind kind = JavaKind.Int; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyFloat(float[] src, int srcPos, float[] dest, int destPos, int length) { - Kind kind = Kind.Float; + JavaKind kind = JavaKind.Float; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyLong(long[] src, int srcPos, long[] dest, int destPos, int length) { - Kind kind = Kind.Long; + JavaKind kind = JavaKind.Long; vectorizedCopy(src, srcPos, dest, destPos, length, kind, getArrayLocation(kind)); } @Snippet public static void arraycopyDouble(double[] src, int srcPos, double[] dest, int destPos, int length) { - Kind kind = Kind.Double; + JavaKind kind = JavaKind.Double; /* * TODO atomicity problem on 32-bit architectures: The JVM spec requires double values to be * copied atomically, but not long values. For example, on Intel 32-bit this code is not @@ -194,7 +194,7 @@ */ @Snippet public static void arraycopyObject(Object[] src, int srcPos, Object[] dest, int destPos, int length) { - Kind kind = Kind.Object; + JavaKind kind = JavaKind.Object; final int scale = arrayIndexScale(kind); int arrayBaseOffset = arrayBaseOffset(kind); LocationIdentity arrayLocation = getArrayLocation(kind); @@ -270,22 +270,22 @@ public Templates(HotSpotProviders providers, TargetDescription target) { super(providers, providers.getSnippetReflection(), target); - arraycopySnippets = new SnippetInfo[Kind.values().length]; - arraycopySnippets[Kind.Boolean.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyBoolean"); - arraycopySnippets[Kind.Byte.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyByte"); - arraycopySnippets[Kind.Short.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyShort"); - arraycopySnippets[Kind.Char.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyChar"); - arraycopySnippets[Kind.Int.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyInt"); - arraycopySnippets[Kind.Long.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyLong"); - arraycopySnippets[Kind.Float.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyFloat"); - arraycopySnippets[Kind.Double.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyDouble"); - arraycopySnippets[Kind.Object.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyObject"); + arraycopySnippets = new SnippetInfo[JavaKind.values().length]; + arraycopySnippets[JavaKind.Boolean.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyBoolean"); + arraycopySnippets[JavaKind.Byte.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyByte"); + arraycopySnippets[JavaKind.Short.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyShort"); + arraycopySnippets[JavaKind.Char.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyChar"); + arraycopySnippets[JavaKind.Int.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyInt"); + arraycopySnippets[JavaKind.Long.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyLong"); + arraycopySnippets[JavaKind.Float.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyFloat"); + arraycopySnippets[JavaKind.Double.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyDouble"); + arraycopySnippets[JavaKind.Object.ordinal()] = snippet(UnsafeArrayCopySnippets.class, "arraycopyObject"); genericPrimitiveSnippet = snippet(UnsafeArrayCopySnippets.class, "arraycopyPrimitive"); } public void lower(UnsafeArrayCopyNode node, LoweringTool tool) { - Kind elementKind = node.getElementKind(); + JavaKind elementKind = node.getElementKind(); SnippetInfo snippet; if (elementKind == null) { // primitive array of unknown kind diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java Tue Sep 08 19:57:39 2015 +0200 @@ -234,10 +234,10 @@ for (int i = 0; i < args.length; i++) { ResolvedJavaType type = providers.getMetaAccess().lookupJavaType(args[i]).resolve(accessingClass); Stamp stamp; - if (type.getKind().getStackKind() == Kind.Object) { + if (type.getJavaKind().getStackKind() == JavaKind.Object) { stamp = StampFactory.declared(type); } else { - stamp = StampFactory.forKind(type.getKind()); + stamp = StampFactory.forKind(type.getJavaKind()); } ParameterNode param = kit.unique(new ParameterNode(i, stamp)); params[i] = param; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java Tue Sep 08 19:57:39 2015 +0200 @@ -183,7 +183,7 @@ // if TLAB is currently allocated (top or end != null) then // fill [top, end + alignment_reserve) with array object if (top.notEqual(0)) { - int headerSize = arrayBaseOffset(Kind.Int); + int headerSize = arrayBaseOffset(JavaKind.Int); // just like the HotSpot assembler stubs, assumes that tlabFreeSpaceInInts fits in // an int int tlabFreeSpaceInInts = (int) tlabFreeSpaceInBytes >>> 2; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypes.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypes.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypes.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,7 +48,7 @@ */ private final ResolvedJavaType methodPointerType; - public HotSpotWordTypes(MetaAccessProvider metaAccess, Kind wordKind) { + public HotSpotWordTypes(MetaAccessProvider metaAccess, JavaKind wordKind) { super(metaAccess, wordKind); this.metaspacePointerType = metaAccess.lookupJavaType(MetaspacePointer.class); this.klassPointerType = metaAccess.lookupJavaType(KlassPointer.class); @@ -64,7 +64,7 @@ } @Override - public Kind asKind(JavaType type) { + public JavaKind asKind(JavaType type) { if (klassPointerType.equals(type) || methodPointerType.equals(type)) { return getWordKind(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeParser.java Tue Sep 08 19:57:39 2015 +0200 @@ -152,7 +152,7 @@ * @param parser the parsing context of the (non-intrinsic) method calling the intrinsic * @param args the arguments to the call */ - public IntrinsicScope(BytecodeParser parser, Kind[] argSlotKinds, ValueNode[] args) { + public IntrinsicScope(BytecodeParser parser, JavaKind[] argSlotKinds, ValueNode[] args) { assert !parser.parsingIntrinsic(); this.parser = parser; mark = parser.getGraph().getMark(); @@ -190,10 +190,10 @@ * Swap the top-of-stack value with the side-effect return value * using the frame state. */ - Kind returnKind = parser.currentInvokeReturnType.getKind(); + JavaKind returnKind = parser.currentInvokeReturnType.getJavaKind(); ValueNode tos = frameStateBuilder.pop(returnKind); assert tos.getStackKind() == returnVal.getStackKind(); - FrameState newFrameState = frameStateBuilder.create(parser.stream.nextBCI(), parser.getNonIntrinsicAncestor(), false, new Kind[]{returnKind}, + FrameState newFrameState = frameStateBuilder.create(parser.stream.nextBCI(), parser.getNonIntrinsicAncestor(), false, new JavaKind[]{returnKind}, new ValueNode[]{returnVal}); frameState.replaceAndDelete(newFrameState); frameStateBuilder.push(returnKind, tos); @@ -829,7 +829,7 @@ protected void handleUnresolvedCheckCast(JavaType type, ValueNode object) { assert !graphBuilderConfig.eagerResolving(); append(new FixedGuardNode(graph.unique(new IsNullNode(object)), Unresolved, InvalidateRecompile)); - frameState.push(Kind.Object, appendConstant(JavaConstant.NULL_POINTER)); + frameState.push(JavaKind.Object, appendConstant(JavaConstant.NULL_POINTER)); } /** @@ -842,7 +842,7 @@ DeoptimizeNode deopt = graph.add(new DeoptimizeNode(InvalidateRecompile, Unresolved)); append(new IfNode(graph.unique(new IsNullNode(object)), successor, deopt, 1)); lastInstr = successor; - frameState.push(Kind.Int, appendConstant(JavaConstant.INT_0)); + frameState.push(JavaKind.Int, appendConstant(JavaConstant.INT_0)); } /** @@ -927,12 +927,12 @@ DispatchBeginNode dispatchBegin; if (exceptionObject == null) { dispatchBegin = graph.add(new ExceptionObjectNode(metaAccess)); - dispatchState.push(Kind.Object, dispatchBegin); + dispatchState.push(JavaKind.Object, dispatchBegin); dispatchState.setRethrowException(true); dispatchBegin.setStateAfter(dispatchState.create(bci, dispatchBegin)); } else { dispatchBegin = graph.add(new DispatchBeginNode()); - dispatchState.push(Kind.Object, exceptionObject); + dispatchState.push(JavaKind.Object, exceptionObject); dispatchState.setRethrowException(true); dispatchBegin.setStateAfter(dispatchState.create(bci, dispatchBegin)); } @@ -943,11 +943,11 @@ return dispatchBegin; } - protected ValueNode genLoadIndexed(ValueNode array, ValueNode index, Kind kind) { + protected ValueNode genLoadIndexed(ValueNode array, ValueNode index, JavaKind kind) { return LoadIndexedNode.create(array, index, kind, metaAccess, constantReflection); } - protected void genStoreIndexed(ValueNode array, ValueNode index, Kind kind, ValueNode value) { + protected void genStoreIndexed(ValueNode array, ValueNode index, JavaKind kind, ValueNode value) { add(new StoreIndexedNode(array, index, kind, value)); } @@ -1067,7 +1067,7 @@ protected void genThrow() { genInfoPointNode(InfopointReason.LINE_NUMBER, null); - ValueNode exception = frameState.pop(Kind.Object); + ValueNode exception = frameState.pop(JavaKind.Object); FixedGuardNode nullCheck = append(new FixedGuardNode(graph.unique(new IsNullNode(exception)), NullCheckException, InvalidateReprofile, true)); PiNode nonNullException = graph.unique(new PiNode(exception, exception.stamp().join(objectNonNull()))); nonNullException.setGuard(nullCheck); @@ -1182,7 +1182,7 @@ if (target instanceof ResolvedJavaMethod) { JavaConstant appendix = constantPool.lookupAppendix(stream.readCPI4(), Bytecodes.INVOKEDYNAMIC); if (appendix != null) { - frameState.push(Kind.Object, ConstantNode.forConstant(appendix, metaAccess, graph)); + frameState.push(JavaKind.Object, ConstantNode.forConstant(appendix, metaAccess, graph)); } ValueNode[] args = frameState.popArguments(target.getSignature().getParameterCount(false)); appendInvoke(InvokeKind.Static, (ResolvedJavaMethod) target, args); @@ -1201,7 +1201,7 @@ boolean hasReceiver = !((ResolvedJavaMethod) target).isStatic(); JavaConstant appendix = constantPool.lookupAppendix(stream.readCPI(), Bytecodes.INVOKEVIRTUAL); if (appendix != null) { - frameState.push(Kind.Object, ConstantNode.forConstant(appendix, metaAccess, graph)); + frameState.push(JavaKind.Object, ConstantNode.forConstant(appendix, metaAccess, graph)); } ValueNode[] args = frameState.popArguments(target.getSignature().getParameterCount(hasReceiver)); if (hasReceiver) { @@ -1273,7 +1273,7 @@ } } - Kind resultType = targetMethod.getSignature().getReturnKind(); + JavaKind resultType = targetMethod.getSignature().getReturnKind(); if (DeoptALot.getValue()) { append(new DeoptimizeNode(DeoptimizationAction.None, RuntimeConstraint)); frameState.pushReturn(resultType, ConstantNode.defaultForKind(resultType, graph)); @@ -1352,20 +1352,20 @@ final InvocationPlugin plugin; final ValueNode[] args; final ResolvedJavaMethod targetMethod; - final Kind resultType; + final JavaKind resultType; final int beforeStackSize; final boolean needsNullCheck; final int nodeCount; final Mark mark; - public InvocationPluginAssertions(InvocationPlugin plugin, ValueNode[] args, ResolvedJavaMethod targetMethod, Kind resultType) { + public InvocationPluginAssertions(InvocationPlugin plugin, ValueNode[] args, ResolvedJavaMethod targetMethod, JavaKind resultType) { guarantee(assertionsEnabled(), "%s should only be loaded and instantiated if assertions are enabled", getClass().getSimpleName()); this.plugin = plugin; this.targetMethod = targetMethod; this.args = args; this.resultType = resultType; this.beforeStackSize = frameState.stackSize(); - this.needsNullCheck = !targetMethod.isStatic() && args[0].getStackKind() == Kind.Object && !StampTool.isPointerNonNull(args[0].stamp()); + this.needsNullCheck = !targetMethod.isStatic() && args[0].getStackKind() == JavaKind.Object && !StampTool.isPointerNonNull(args[0].stamp()); this.nodeCount = graph.getNodeCount(); this.mark = graph.getMark(); } @@ -1400,7 +1400,7 @@ } } - private boolean tryInvocationPlugin(ValueNode[] args, ResolvedJavaMethod targetMethod, Kind resultType) { + private boolean tryInvocationPlugin(ValueNode[] args, ResolvedJavaMethod targetMethod, JavaKind resultType) { InvocationPlugin plugin = graphBuilderConfig.getPlugins().getInvocationPlugins().lookupInvocation(targetMethod); if (plugin != null) { @@ -1554,7 +1554,7 @@ FixedWithNextNode calleeBeforeReturnNode = parser.getBeforeReturnNode(); this.lastInstr = calleeBeforeReturnNode; - Kind calleeReturnKind = targetMethod.getSignature().getReturnKind(); + JavaKind calleeReturnKind = targetMethod.getSignature().getReturnKind(); if (calleeBeforeReturnNode != null) { ValueNode calleeReturnValue = parser.getReturnValue(); if (calleeReturnValue != null) { @@ -1578,14 +1578,14 @@ return new MethodCallTargetNode(invokeKind, targetMethod, args, returnType, profile); } - protected InvokeNode createInvoke(CallTargetNode callTarget, Kind resultType) { + protected InvokeNode createInvoke(CallTargetNode callTarget, JavaKind resultType) { InvokeNode invoke = append(new InvokeNode(callTarget, bci())); frameState.pushReturn(resultType, invoke); invoke.setStateAfter(createFrameState(stream.nextBCI(), invoke)); return invoke; } - protected InvokeWithExceptionNode createInvokeWithException(CallTargetNode callTarget, Kind resultType) { + protected InvokeWithExceptionNode createInvokeWithException(CallTargetNode callTarget, JavaKind resultType) { if (currentBlock != null && stream.nextBCI() > currentBlock.endBci) { /* * Clear non-live locals early so that the exception handler entry gets the cleared @@ -1601,7 +1601,7 @@ return invoke; } - protected void genReturn(ValueNode returnVal, Kind returnKind) { + protected void genReturn(ValueNode returnVal, JavaKind returnKind) { if (parsingIntrinsic() && returnVal != null) { if (returnVal instanceof StateSplit) { StateSplit stateSplit = (StateSplit) returnVal; @@ -1648,9 +1648,9 @@ } } - private void beforeReturn(ValueNode x, Kind kind) { + private void beforeReturn(ValueNode x, JavaKind kind) { if (graph.method() != null && graph.method().isJavaLangObjectInit()) { - ValueNode receiver = frameState.loadLocal(0, Kind.Object); + ValueNode receiver = frameState.loadLocal(0, JavaKind.Object); if (RegisterFinalizerNode.mayHaveFinalizer(receiver, graph.getAssumptions())) { append(new RegisterFinalizerNode(receiver)); } @@ -1694,13 +1694,13 @@ throw new JsrNotSupportedBailout("unstructured control flow (internal limitation)"); } ConstantNode nextBciNode = getJsrConstant(nextBci); - frameState.push(Kind.Object, nextBciNode); + frameState.push(JavaKind.Object, nextBciNode); appendGoto(successor); } protected void genRet(int localIndex) { BciBlock successor = currentBlock.getRetSuccessor(); - ValueNode local = frameState.loadLocal(localIndex, Kind.Object); + ValueNode local = frameState.loadLocal(localIndex, JavaKind.Object); JsrScope scope = currentBlock.getJsrScope(); int retAddress = scope.nextReturnAddress(); ConstantNode returnBciNode = getJsrConstant(retAddress); @@ -2120,7 +2120,7 @@ if (target.isStatic()) { return appendConstant(target.getDeclaringClass().getJavaClass()); } else { - return state.loadLocal(0, Kind.Object); + return state.loadLocal(0, JavaKind.Object); } } @@ -2163,15 +2163,15 @@ frameState.setRethrowException(false); createUnwind(); } else { - ValueNode exception = frameState.pop(Kind.Object); + ValueNode exception = frameState.pop(JavaKind.Object); this.unwindValue = exception; this.beforeUnwindNode = this.lastInstr; } } private void handleReturnBlock() { - Kind returnKind = method.getSignature().getReturnKind().getStackKind(); - ValueNode x = returnKind == Kind.Void ? null : frameState.pop(returnKind); + JavaKind returnKind = method.getSignature().getReturnKind().getStackKind(); + ValueNode x = returnKind == JavaKind.Void ? null : frameState.pop(returnKind); assert frameState.stackSize() == 0; beforeReturn(x, returnKind); this.returnValue = x; @@ -2191,12 +2191,12 @@ private void createUnwind() { assert frameState.stackSize() == 1 : frameState; - ValueNode exception = frameState.pop(Kind.Object); + ValueNode exception = frameState.pop(JavaKind.Object); synchronizedEpilogue(BytecodeFrame.AFTER_EXCEPTION_BCI, null, null); append(new UnwindNode(exception)); } - private void synchronizedEpilogue(int bci, ValueNode currentReturnValue, Kind currentReturnValueKind) { + private void synchronizedEpilogue(int bci, ValueNode currentReturnValue, JavaKind currentReturnValueKind) { if (method.isSynchronized()) { if (currentReturnValue != null) { frameState.push(currentReturnValueKind, currentReturnValue); @@ -2237,11 +2237,11 @@ BciBlock nextBlock = block.getSuccessorCount() == 1 ? blockMap.getUnwindBlock() : block.getSuccessor(1); ValueNode exception = frameState.stack[0]; CheckCastNode checkCast = graph.add(new CheckCastNode((ResolvedJavaType) catchType, exception, null, false)); - frameState.pop(Kind.Object); - frameState.push(Kind.Object, checkCast); + frameState.pop(JavaKind.Object); + frameState.push(JavaKind.Object, checkCast); FixedNode catchSuccessor = createTarget(block.getSuccessor(0), frameState); - frameState.pop(Kind.Object); - frameState.push(Kind.Object, exception); + frameState.pop(JavaKind.Object); + frameState.push(JavaKind.Object, exception); FixedNode nextDispatch = createTarget(nextBlock, frameState); checkCast.setNext(catchSuccessor); append(new IfNode(graph.unique(InstanceOfNode.create((ResolvedJavaType) catchType, exception, null)), checkCast, nextDispatch, 0.5)); @@ -2528,10 +2528,10 @@ conditionalNode = graph.addOrUnique(conditionalNode); } if (genReturn) { - Kind returnKind = method.getSignature().getReturnKind().getStackKind(); + JavaKind returnKind = method.getSignature().getReturnKind().getStackKind(); this.genReturn(conditionalNode, returnKind); } else { - frameState.push(Kind.Int, conditionalNode); + frameState.push(JavaKind.Int, conditionalNode); appendGoto(trueBlock.getSuccessor(0)); stream.setBCI(oldBci); } @@ -2541,13 +2541,13 @@ LogicNode condition; assert !a.getStackKind().isNumericFloat(); if (cond == Condition.EQ || cond == Condition.NE) { - if (a.getStackKind() == Kind.Object) { + if (a.getStackKind() == JavaKind.Object) { condition = genObjectEquals(a, b); } else { condition = genIntegerEquals(a, b); } } else { - assert a.getStackKind() != Kind.Object && !cond.isUnsigned(); + assert a.getStackKind() != JavaKind.Object && !cond.isUnsigned(); condition = genIntegerLessThan(a, b); } return condition; @@ -2600,7 +2600,7 @@ return metaAccess; } - public void push(Kind slotKind, ValueNode value) { + public void push(JavaKind slotKind, ValueNode value) { assert value.isAlive(); frameState.push(slotKind, value); } @@ -2685,12 +2685,12 @@ return stream.currentBCI(); } - public void loadLocal(int index, Kind kind) { + public void loadLocal(int index, JavaKind kind) { ValueNode value = frameState.loadLocal(index, kind); frameState.push(kind, value); } - public void storeLocal(Kind kind, int index) { + public void storeLocal(JavaKind kind, int index) { ValueNode value = frameState.pop(kind); frameState.storeLocal(index, kind, value); } @@ -2702,21 +2702,21 @@ // this is a load of class constant which might be unresolved JavaType type = (JavaType) con; if (type instanceof ResolvedJavaType) { - frameState.push(Kind.Object, appendConstant(((ResolvedJavaType) type).getJavaClass())); + frameState.push(JavaKind.Object, appendConstant(((ResolvedJavaType) type).getJavaClass())); } else { handleUnresolvedLoadConstant(type); } } else if (con instanceof JavaConstant) { JavaConstant constant = (JavaConstant) con; - frameState.push(constant.getKind(), appendConstant(constant)); + frameState.push(constant.getJavaKind(), appendConstant(constant)); } else { throw new Error("lookupConstant returned an object of incorrect type"); } } - private void genLoadIndexed(Kind kind) { - ValueNode index = frameState.pop(Kind.Int); - ValueNode array = emitExplicitExceptions(frameState.pop(Kind.Object), index); + private void genLoadIndexed(JavaKind kind) { + ValueNode index = frameState.pop(JavaKind.Int); + ValueNode array = emitExplicitExceptions(frameState.pop(JavaKind.Object), index); for (NodePlugin plugin : graphBuilderConfig.getPlugins().getNodePlugins()) { if (plugin.handleLoadIndexed(this, array, index, kind)) { @@ -2727,10 +2727,10 @@ frameState.push(kind, append(genLoadIndexed(array, index, kind))); } - private void genStoreIndexed(Kind kind) { + private void genStoreIndexed(JavaKind kind) { ValueNode value = frameState.pop(kind); - ValueNode index = frameState.pop(Kind.Int); - ValueNode array = emitExplicitExceptions(frameState.pop(Kind.Object), index); + ValueNode index = frameState.pop(JavaKind.Int); + ValueNode array = emitExplicitExceptions(frameState.pop(JavaKind.Object), index); for (NodePlugin plugin : graphBuilderConfig.getPlugins().getNodePlugins()) { if (plugin.handleStoreIndexed(this, array, index, kind, value)) { @@ -2741,7 +2741,7 @@ genStoreIndexed(array, index, kind, value); } - private void genArithmeticOp(Kind kind, int opcode) { + private void genArithmeticOp(JavaKind kind, int opcode) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); ValueNode v; @@ -2784,7 +2784,7 @@ frameState.push(kind, append(v)); } - private void genIntegerDivOp(Kind kind, int opcode) { + private void genIntegerDivOp(JavaKind kind, int opcode) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); ValueNode v; @@ -2803,13 +2803,13 @@ frameState.push(kind, append(v)); } - private void genNegateOp(Kind kind) { + private void genNegateOp(JavaKind kind) { ValueNode x = frameState.pop(kind); frameState.push(kind, append(genNegateOp(x))); } - private void genShiftOp(Kind kind, int opcode) { - ValueNode s = frameState.pop(Kind.Int); + private void genShiftOp(JavaKind kind, int opcode) { + ValueNode s = frameState.pop(JavaKind.Int); ValueNode x = frameState.pop(kind); ValueNode v; switch (opcode) { @@ -2831,7 +2831,7 @@ frameState.push(kind, append(v)); } - private void genLogicOp(Kind kind, int opcode) { + private void genLogicOp(JavaKind kind, int opcode) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); ValueNode v; @@ -2854,18 +2854,18 @@ frameState.push(kind, append(v)); } - private void genCompareOp(Kind kind, boolean isUnorderedLess) { + private void genCompareOp(JavaKind kind, boolean isUnorderedLess) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); - frameState.push(Kind.Int, append(genNormalizeCompare(x, y, isUnorderedLess))); + frameState.push(JavaKind.Int, append(genNormalizeCompare(x, y, isUnorderedLess))); } - private void genFloatConvert(FloatConvert op, Kind from, Kind to) { + private void genFloatConvert(FloatConvert op, JavaKind from, JavaKind to) { ValueNode input = frameState.pop(from); frameState.push(to, append(genFloatConvert(op, input))); } - private void genSignExtend(Kind from, Kind to) { + private void genSignExtend(JavaKind from, JavaKind to) { ValueNode input = frameState.pop(from); if (from != from.getStackKind()) { input = append(genNarrow(input, from.getBitCount())); @@ -2873,7 +2873,7 @@ frameState.push(to, append(genSignExtend(input, to.getBitCount()))); } - private void genZeroExtend(Kind from, Kind to) { + private void genZeroExtend(JavaKind from, JavaKind to) { ValueNode input = frameState.pop(from); if (from != from.getStackKind()) { input = append(genNarrow(input, from.getBitCount())); @@ -2881,7 +2881,7 @@ frameState.push(to, append(genZeroExtend(input, to.getBitCount()))); } - private void genNarrow(Kind from, Kind to) { + private void genNarrow(JavaKind from, JavaKind to) { ValueNode input = frameState.pop(from); frameState.push(to, append(genNarrow(input, to.getBitCount()))); } @@ -2889,24 +2889,24 @@ private void genIncrement() { int index = getStream().readLocalIndex(); int delta = getStream().readIncrement(); - ValueNode x = frameState.loadLocal(index, Kind.Int); + ValueNode x = frameState.loadLocal(index, JavaKind.Int); ValueNode y = appendConstant(JavaConstant.forInt(delta)); - frameState.storeLocal(index, Kind.Int, append(genIntegerAdd(x, y))); + frameState.storeLocal(index, JavaKind.Int, append(genIntegerAdd(x, y))); } private void genIfZero(Condition cond) { ValueNode y = appendConstant(JavaConstant.INT_0); - ValueNode x = frameState.pop(Kind.Int); + ValueNode x = frameState.pop(JavaKind.Int); genIf(x, cond, y); } private void genIfNull(Condition cond) { ValueNode y = appendConstant(JavaConstant.NULL_POINTER); - ValueNode x = frameState.pop(Kind.Object); + ValueNode x = frameState.pop(JavaKind.Object); genIf(x, cond, y); } - private void genIfSame(Kind kind, Condition cond) { + private void genIfSame(JavaKind kind, Condition cond) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); genIf(x, cond, y); @@ -2971,7 +2971,7 @@ private void genCheckCast() { int cpi = getStream().readCPI(); JavaType type = lookupType(cpi, CHECKCAST); - ValueNode object = frameState.pop(Kind.Object); + ValueNode object = frameState.pop(JavaKind.Object); if (!(type instanceof ResolvedJavaType)) { handleUnresolvedCheckCast(type, object); @@ -3008,7 +3008,7 @@ if (checkCastNode == null) { checkCastNode = append(createCheckCast(resolvedType, object, profile, false)); } - frameState.push(Kind.Object, checkCastNode); + frameState.push(JavaKind.Object, checkCastNode); } private ValueNode appendNullCheck(ValueNode object) { @@ -3027,7 +3027,7 @@ private void genInstanceOf() { int cpi = getStream().readCPI(); JavaType type = lookupType(cpi, INSTANCEOF); - ValueNode object = frameState.pop(Kind.Object); + ValueNode object = frameState.pop(JavaKind.Object); if (!(type instanceof ResolvedJavaType)) { handleUnresolvedInstanceOf(type, object); @@ -3059,7 +3059,7 @@ if (instanceOfNode == null) { instanceOfNode = createInstanceOf(resolvedType, object, profile); } - frameState.push(Kind.Int, append(genConditional(genUnique(instanceOfNode)))); + frameState.push(JavaKind.Int, append(genConditional(genUnique(instanceOfNode)))); } void genNewInstance(int cpi) { @@ -3087,7 +3087,7 @@ } } - frameState.push(Kind.Object, append(createNewInstance(resolvedType, true))); + frameState.push(JavaKind.Object, append(createNewInstance(resolvedType, true))); } /** @@ -3122,7 +3122,7 @@ private void genNewPrimitiveArray(int typeCode) { ResolvedJavaType elementType = metaAccess.lookupJavaType(arrayTypeCodeToClass(typeCode)); - ValueNode length = frameState.pop(Kind.Int); + ValueNode length = frameState.pop(JavaKind.Int); for (NodePlugin plugin : graphBuilderConfig.getPlugins().getNodePlugins()) { if (plugin.handleNewArray(this, elementType, length)) { @@ -3130,12 +3130,12 @@ } } - frameState.push(Kind.Object, append(createNewArray(elementType, length, true))); + frameState.push(JavaKind.Object, append(createNewArray(elementType, length, true))); } private void genNewObjectArray(int cpi) { JavaType type = lookupType(cpi, ANEWARRAY); - ValueNode length = frameState.pop(Kind.Int); + ValueNode length = frameState.pop(JavaKind.Int); if (!(type instanceof ResolvedJavaType)) { handleUnresolvedNewObjectArray(type, length); @@ -3149,7 +3149,7 @@ } } - frameState.push(Kind.Object, append(createNewArray(resolvedType, length, true))); + frameState.push(JavaKind.Object, append(createNewArray(resolvedType, length, true))); } private void genNewMultiArray(int cpi) { @@ -3157,7 +3157,7 @@ int rank = getStream().readUByte(bci() + 3); ValueNode[] dims = new ValueNode[rank]; for (int i = rank - 1; i >= 0; i--) { - dims[i] = frameState.pop(Kind.Int); + dims[i] = frameState.pop(JavaKind.Int); } if (!(type instanceof ResolvedJavaType)) { @@ -3172,11 +3172,11 @@ } } - frameState.push(Kind.Object, append(createNewMultiArray(resolvedType, dims))); + frameState.push(JavaKind.Object, append(createNewMultiArray(resolvedType, dims))); } private void genGetField(JavaField field) { - ValueNode receiver = emitExplicitExceptions(frameState.pop(Kind.Object), null); + ValueNode receiver = emitExplicitExceptions(frameState.pop(JavaKind.Object), null); if (!(field instanceof ResolvedJavaField) || !((ResolvedJavaField) field).getDeclaringClass().isInitialized()) { handleUnresolvedLoadField(field, receiver); @@ -3190,7 +3190,7 @@ } } - frameState.push(field.getKind(), append(genLoadField(receiver, resolvedField))); + frameState.push(field.getJavaKind(), append(genLoadField(receiver, resolvedField))); } /** @@ -3216,8 +3216,8 @@ } private void genPutField(JavaField field) { - ValueNode value = frameState.pop(field.getKind()); - ValueNode receiver = emitExplicitExceptions(frameState.pop(Kind.Object), null); + ValueNode value = frameState.pop(field.getJavaKind()); + ValueNode receiver = emitExplicitExceptions(frameState.pop(JavaKind.Object), null); if (!(field instanceof ResolvedJavaField) || !((ResolvedJavaField) field).getDeclaringClass().isInitialized()) { handleUnresolvedStoreField(field, value, receiver); @@ -3246,7 +3246,7 @@ * which case a suffix is added to the generated field. */ if ((parsingIntrinsic() || graphBuilderConfig.omitAssertions()) && resolvedField.isSynthetic() && resolvedField.getName().startsWith("$assertionsDisabled")) { - frameState.push(field.getKind(), ConstantNode.forBoolean(true, graph)); + frameState.push(field.getJavaKind(), ConstantNode.forBoolean(true, graph)); return; } @@ -3256,11 +3256,11 @@ } } - frameState.push(field.getKind(), append(genLoadField(null, resolvedField))); + frameState.push(field.getJavaKind(), append(genLoadField(null, resolvedField))); } private void genPutStatic(JavaField field) { - ValueNode value = frameState.pop(field.getKind()); + ValueNode value = frameState.pop(field.getJavaKind()); if (!(field instanceof ResolvedJavaField) || !((ResolvedJavaType) field.getDeclaringClass()).isInitialized()) { handleUnresolvedStoreField(field, value, null); return; @@ -3312,7 +3312,7 @@ private void genSwitch(BytecodeSwitch bs) { int bci = bci(); - ValueNode value = frameState.pop(Kind.Int); + ValueNode value = frameState.pop(JavaKind.Int); int nofCases = bs.numberOfCases(); double[] keyProbabilities = switchProbability(nofCases + 1, bci); @@ -3415,92 +3415,92 @@ // Checkstyle: stop switch (opcode) { case NOP : /* nothing to do */ break; - case ACONST_NULL : frameState.push(Kind.Object, appendConstant(JavaConstant.NULL_POINTER)); break; + case ACONST_NULL : frameState.push(JavaKind.Object, appendConstant(JavaConstant.NULL_POINTER)); break; case ICONST_M1 : // fall through case ICONST_0 : // fall through case ICONST_1 : // fall through case ICONST_2 : // fall through case ICONST_3 : // fall through case ICONST_4 : // fall through - case ICONST_5 : frameState.push(Kind.Int, appendConstant(JavaConstant.forInt(opcode - ICONST_0))); break; + case ICONST_5 : frameState.push(JavaKind.Int, appendConstant(JavaConstant.forInt(opcode - ICONST_0))); break; case LCONST_0 : // fall through - case LCONST_1 : frameState.push(Kind.Long, appendConstant(JavaConstant.forLong(opcode - LCONST_0))); break; + case LCONST_1 : frameState.push(JavaKind.Long, appendConstant(JavaConstant.forLong(opcode - LCONST_0))); break; case FCONST_0 : // fall through case FCONST_1 : // fall through - case FCONST_2 : frameState.push(Kind.Float, appendConstant(JavaConstant.forFloat(opcode - FCONST_0))); break; + case FCONST_2 : frameState.push(JavaKind.Float, appendConstant(JavaConstant.forFloat(opcode - FCONST_0))); break; case DCONST_0 : // fall through - case DCONST_1 : frameState.push(Kind.Double, appendConstant(JavaConstant.forDouble(opcode - DCONST_0))); break; - case BIPUSH : frameState.push(Kind.Int, appendConstant(JavaConstant.forInt(stream.readByte()))); break; - case SIPUSH : frameState.push(Kind.Int, appendConstant(JavaConstant.forInt(stream.readShort()))); break; + case DCONST_1 : frameState.push(JavaKind.Double, appendConstant(JavaConstant.forDouble(opcode - DCONST_0))); break; + case BIPUSH : frameState.push(JavaKind.Int, appendConstant(JavaConstant.forInt(stream.readByte()))); break; + case SIPUSH : frameState.push(JavaKind.Int, appendConstant(JavaConstant.forInt(stream.readShort()))); break; case LDC : // fall through case LDC_W : // fall through case LDC2_W : genLoadConstant(stream.readCPI(), opcode); break; - case ILOAD : loadLocal(stream.readLocalIndex(), Kind.Int); break; - case LLOAD : loadLocal(stream.readLocalIndex(), Kind.Long); break; - case FLOAD : loadLocal(stream.readLocalIndex(), Kind.Float); break; - case DLOAD : loadLocal(stream.readLocalIndex(), Kind.Double); break; - case ALOAD : loadLocal(stream.readLocalIndex(), Kind.Object); break; + case ILOAD : loadLocal(stream.readLocalIndex(), JavaKind.Int); break; + case LLOAD : loadLocal(stream.readLocalIndex(), JavaKind.Long); break; + case FLOAD : loadLocal(stream.readLocalIndex(), JavaKind.Float); break; + case DLOAD : loadLocal(stream.readLocalIndex(), JavaKind.Double); break; + case ALOAD : loadLocal(stream.readLocalIndex(), JavaKind.Object); break; case ILOAD_0 : // fall through case ILOAD_1 : // fall through case ILOAD_2 : // fall through - case ILOAD_3 : loadLocal(opcode - ILOAD_0, Kind.Int); break; + case ILOAD_3 : loadLocal(opcode - ILOAD_0, JavaKind.Int); break; case LLOAD_0 : // fall through case LLOAD_1 : // fall through case LLOAD_2 : // fall through - case LLOAD_3 : loadLocal(opcode - LLOAD_0, Kind.Long); break; + case LLOAD_3 : loadLocal(opcode - LLOAD_0, JavaKind.Long); break; case FLOAD_0 : // fall through case FLOAD_1 : // fall through case FLOAD_2 : // fall through - case FLOAD_3 : loadLocal(opcode - FLOAD_0, Kind.Float); break; + case FLOAD_3 : loadLocal(opcode - FLOAD_0, JavaKind.Float); break; case DLOAD_0 : // fall through case DLOAD_1 : // fall through case DLOAD_2 : // fall through - case DLOAD_3 : loadLocal(opcode - DLOAD_0, Kind.Double); break; + case DLOAD_3 : loadLocal(opcode - DLOAD_0, JavaKind.Double); break; case ALOAD_0 : // fall through case ALOAD_1 : // fall through case ALOAD_2 : // fall through - case ALOAD_3 : loadLocal(opcode - ALOAD_0, Kind.Object); break; - case IALOAD : genLoadIndexed(Kind.Int ); break; - case LALOAD : genLoadIndexed(Kind.Long ); break; - case FALOAD : genLoadIndexed(Kind.Float ); break; - case DALOAD : genLoadIndexed(Kind.Double); break; - case AALOAD : genLoadIndexed(Kind.Object); break; - case BALOAD : genLoadIndexed(Kind.Byte ); break; - case CALOAD : genLoadIndexed(Kind.Char ); break; - case SALOAD : genLoadIndexed(Kind.Short ); break; - case ISTORE : storeLocal(Kind.Int, stream.readLocalIndex()); break; - case LSTORE : storeLocal(Kind.Long, stream.readLocalIndex()); break; - case FSTORE : storeLocal(Kind.Float, stream.readLocalIndex()); break; - case DSTORE : storeLocal(Kind.Double, stream.readLocalIndex()); break; - case ASTORE : storeLocal(Kind.Object, stream.readLocalIndex()); break; + case ALOAD_3 : loadLocal(opcode - ALOAD_0, JavaKind.Object); break; + case IALOAD : genLoadIndexed(JavaKind.Int ); break; + case LALOAD : genLoadIndexed(JavaKind.Long ); break; + case FALOAD : genLoadIndexed(JavaKind.Float ); break; + case DALOAD : genLoadIndexed(JavaKind.Double); break; + case AALOAD : genLoadIndexed(JavaKind.Object); break; + case BALOAD : genLoadIndexed(JavaKind.Byte ); break; + case CALOAD : genLoadIndexed(JavaKind.Char ); break; + case SALOAD : genLoadIndexed(JavaKind.Short ); break; + case ISTORE : storeLocal(JavaKind.Int, stream.readLocalIndex()); break; + case LSTORE : storeLocal(JavaKind.Long, stream.readLocalIndex()); break; + case FSTORE : storeLocal(JavaKind.Float, stream.readLocalIndex()); break; + case DSTORE : storeLocal(JavaKind.Double, stream.readLocalIndex()); break; + case ASTORE : storeLocal(JavaKind.Object, stream.readLocalIndex()); break; case ISTORE_0 : // fall through case ISTORE_1 : // fall through case ISTORE_2 : // fall through - case ISTORE_3 : storeLocal(Kind.Int, opcode - ISTORE_0); break; + case ISTORE_3 : storeLocal(JavaKind.Int, opcode - ISTORE_0); break; case LSTORE_0 : // fall through case LSTORE_1 : // fall through case LSTORE_2 : // fall through - case LSTORE_3 : storeLocal(Kind.Long, opcode - LSTORE_0); break; + case LSTORE_3 : storeLocal(JavaKind.Long, opcode - LSTORE_0); break; case FSTORE_0 : // fall through case FSTORE_1 : // fall through case FSTORE_2 : // fall through - case FSTORE_3 : storeLocal(Kind.Float, opcode - FSTORE_0); break; + case FSTORE_3 : storeLocal(JavaKind.Float, opcode - FSTORE_0); break; case DSTORE_0 : // fall through case DSTORE_1 : // fall through case DSTORE_2 : // fall through - case DSTORE_3 : storeLocal(Kind.Double, opcode - DSTORE_0); break; + case DSTORE_3 : storeLocal(JavaKind.Double, opcode - DSTORE_0); break; case ASTORE_0 : // fall through case ASTORE_1 : // fall through case ASTORE_2 : // fall through - case ASTORE_3 : storeLocal(Kind.Object, opcode - ASTORE_0); break; - case IASTORE : genStoreIndexed(Kind.Int ); break; - case LASTORE : genStoreIndexed(Kind.Long ); break; - case FASTORE : genStoreIndexed(Kind.Float ); break; - case DASTORE : genStoreIndexed(Kind.Double); break; - case AASTORE : genStoreIndexed(Kind.Object); break; - case BASTORE : genStoreIndexed(Kind.Byte ); break; - case CASTORE : genStoreIndexed(Kind.Char ); break; - case SASTORE : genStoreIndexed(Kind.Short ); break; + case ASTORE_3 : storeLocal(JavaKind.Object, opcode - ASTORE_0); break; + case IASTORE : genStoreIndexed(JavaKind.Int ); break; + case LASTORE : genStoreIndexed(JavaKind.Long ); break; + case FASTORE : genStoreIndexed(JavaKind.Float ); break; + case DASTORE : genStoreIndexed(JavaKind.Double); break; + case AASTORE : genStoreIndexed(JavaKind.Object); break; + case BASTORE : genStoreIndexed(JavaKind.Byte ); break; + case CASTORE : genStoreIndexed(JavaKind.Char ); break; + case SASTORE : genStoreIndexed(JavaKind.Short ); break; case POP : // fall through case POP2 : // fall through case DUP : // fall through @@ -3512,86 +3512,86 @@ case SWAP : frameState.stackOp(opcode); break; case IADD : // fall through case ISUB : // fall through - case IMUL : genArithmeticOp(Kind.Int, opcode); break; + case IMUL : genArithmeticOp(JavaKind.Int, opcode); break; case IDIV : // fall through - case IREM : genIntegerDivOp(Kind.Int, opcode); break; + case IREM : genIntegerDivOp(JavaKind.Int, opcode); break; case LADD : // fall through case LSUB : // fall through - case LMUL : genArithmeticOp(Kind.Long, opcode); break; + case LMUL : genArithmeticOp(JavaKind.Long, opcode); break; case LDIV : // fall through - case LREM : genIntegerDivOp(Kind.Long, opcode); break; + case LREM : genIntegerDivOp(JavaKind.Long, opcode); break; case FADD : // fall through case FSUB : // fall through case FMUL : // fall through case FDIV : // fall through - case FREM : genArithmeticOp(Kind.Float, opcode); break; + case FREM : genArithmeticOp(JavaKind.Float, opcode); break; case DADD : // fall through case DSUB : // fall through case DMUL : // fall through case DDIV : // fall through - case DREM : genArithmeticOp(Kind.Double, opcode); break; - case INEG : genNegateOp(Kind.Int); break; - case LNEG : genNegateOp(Kind.Long); break; - case FNEG : genNegateOp(Kind.Float); break; - case DNEG : genNegateOp(Kind.Double); break; + case DREM : genArithmeticOp(JavaKind.Double, opcode); break; + case INEG : genNegateOp(JavaKind.Int); break; + case LNEG : genNegateOp(JavaKind.Long); break; + case FNEG : genNegateOp(JavaKind.Float); break; + case DNEG : genNegateOp(JavaKind.Double); break; case ISHL : // fall through case ISHR : // fall through - case IUSHR : genShiftOp(Kind.Int, opcode); break; + case IUSHR : genShiftOp(JavaKind.Int, opcode); break; case IAND : // fall through case IOR : // fall through - case IXOR : genLogicOp(Kind.Int, opcode); break; + case IXOR : genLogicOp(JavaKind.Int, opcode); break; case LSHL : // fall through case LSHR : // fall through - case LUSHR : genShiftOp(Kind.Long, opcode); break; + case LUSHR : genShiftOp(JavaKind.Long, opcode); break; case LAND : // fall through case LOR : // fall through - case LXOR : genLogicOp(Kind.Long, opcode); break; + case LXOR : genLogicOp(JavaKind.Long, opcode); break; case IINC : genIncrement(); break; - case I2F : genFloatConvert(FloatConvert.I2F, Kind.Int, Kind.Float); break; - case I2D : genFloatConvert(FloatConvert.I2D, Kind.Int, Kind.Double); break; - case L2F : genFloatConvert(FloatConvert.L2F, Kind.Long, Kind.Float); break; - case L2D : genFloatConvert(FloatConvert.L2D, Kind.Long, Kind.Double); break; - case F2I : genFloatConvert(FloatConvert.F2I, Kind.Float, Kind.Int); break; - case F2L : genFloatConvert(FloatConvert.F2L, Kind.Float, Kind.Long); break; - case F2D : genFloatConvert(FloatConvert.F2D, Kind.Float, Kind.Double); break; - case D2I : genFloatConvert(FloatConvert.D2I, Kind.Double, Kind.Int); break; - case D2L : genFloatConvert(FloatConvert.D2L, Kind.Double, Kind.Long); break; - case D2F : genFloatConvert(FloatConvert.D2F, Kind.Double, Kind.Float); break; - case L2I : genNarrow(Kind.Long, Kind.Int); break; - case I2L : genSignExtend(Kind.Int, Kind.Long); break; - case I2B : genSignExtend(Kind.Byte, Kind.Int); break; - case I2S : genSignExtend(Kind.Short, Kind.Int); break; - case I2C : genZeroExtend(Kind.Char, Kind.Int); break; - case LCMP : genCompareOp(Kind.Long, false); break; - case FCMPL : genCompareOp(Kind.Float, true); break; - case FCMPG : genCompareOp(Kind.Float, false); break; - case DCMPL : genCompareOp(Kind.Double, true); break; - case DCMPG : genCompareOp(Kind.Double, false); break; + case I2F : genFloatConvert(FloatConvert.I2F, JavaKind.Int, JavaKind.Float); break; + case I2D : genFloatConvert(FloatConvert.I2D, JavaKind.Int, JavaKind.Double); break; + case L2F : genFloatConvert(FloatConvert.L2F, JavaKind.Long, JavaKind.Float); break; + case L2D : genFloatConvert(FloatConvert.L2D, JavaKind.Long, JavaKind.Double); break; + case F2I : genFloatConvert(FloatConvert.F2I, JavaKind.Float, JavaKind.Int); break; + case F2L : genFloatConvert(FloatConvert.F2L, JavaKind.Float, JavaKind.Long); break; + case F2D : genFloatConvert(FloatConvert.F2D, JavaKind.Float, JavaKind.Double); break; + case D2I : genFloatConvert(FloatConvert.D2I, JavaKind.Double, JavaKind.Int); break; + case D2L : genFloatConvert(FloatConvert.D2L, JavaKind.Double, JavaKind.Long); break; + case D2F : genFloatConvert(FloatConvert.D2F, JavaKind.Double, JavaKind.Float); break; + case L2I : genNarrow(JavaKind.Long, JavaKind.Int); break; + case I2L : genSignExtend(JavaKind.Int, JavaKind.Long); break; + case I2B : genSignExtend(JavaKind.Byte, JavaKind.Int); break; + case I2S : genSignExtend(JavaKind.Short, JavaKind.Int); break; + case I2C : genZeroExtend(JavaKind.Char, JavaKind.Int); break; + case LCMP : genCompareOp(JavaKind.Long, false); break; + case FCMPL : genCompareOp(JavaKind.Float, true); break; + case FCMPG : genCompareOp(JavaKind.Float, false); break; + case DCMPL : genCompareOp(JavaKind.Double, true); break; + case DCMPG : genCompareOp(JavaKind.Double, false); break; case IFEQ : genIfZero(Condition.EQ); break; case IFNE : genIfZero(Condition.NE); break; case IFLT : genIfZero(Condition.LT); break; case IFGE : genIfZero(Condition.GE); break; case IFGT : genIfZero(Condition.GT); break; case IFLE : genIfZero(Condition.LE); break; - case IF_ICMPEQ : genIfSame(Kind.Int, Condition.EQ); break; - case IF_ICMPNE : genIfSame(Kind.Int, Condition.NE); break; - case IF_ICMPLT : genIfSame(Kind.Int, Condition.LT); break; - case IF_ICMPGE : genIfSame(Kind.Int, Condition.GE); break; - case IF_ICMPGT : genIfSame(Kind.Int, Condition.GT); break; - case IF_ICMPLE : genIfSame(Kind.Int, Condition.LE); break; - case IF_ACMPEQ : genIfSame(Kind.Object, Condition.EQ); break; - case IF_ACMPNE : genIfSame(Kind.Object, Condition.NE); break; + case IF_ICMPEQ : genIfSame(JavaKind.Int, Condition.EQ); break; + case IF_ICMPNE : genIfSame(JavaKind.Int, Condition.NE); break; + case IF_ICMPLT : genIfSame(JavaKind.Int, Condition.LT); break; + case IF_ICMPGE : genIfSame(JavaKind.Int, Condition.GE); break; + case IF_ICMPGT : genIfSame(JavaKind.Int, Condition.GT); break; + case IF_ICMPLE : genIfSame(JavaKind.Int, Condition.LE); break; + case IF_ACMPEQ : genIfSame(JavaKind.Object, Condition.EQ); break; + case IF_ACMPNE : genIfSame(JavaKind.Object, Condition.NE); break; case GOTO : genGoto(); break; case JSR : genJsr(stream.readBranchDest()); break; case RET : genRet(stream.readLocalIndex()); break; case TABLESWITCH : genSwitch(new BytecodeTableSwitch(getStream(), bci())); break; case LOOKUPSWITCH : genSwitch(new BytecodeLookupSwitch(getStream(), bci())); break; - case IRETURN : genReturn(frameState.pop(Kind.Int), Kind.Int); break; - case LRETURN : genReturn(frameState.pop(Kind.Long), Kind.Long); break; - case FRETURN : genReturn(frameState.pop(Kind.Float), Kind.Float); break; - case DRETURN : genReturn(frameState.pop(Kind.Double), Kind.Double); break; - case ARETURN : genReturn(frameState.pop(Kind.Object), Kind.Object); break; - case RETURN : genReturn(null, Kind.Void); break; + case IRETURN : genReturn(frameState.pop(JavaKind.Int), JavaKind.Int); break; + case LRETURN : genReturn(frameState.pop(JavaKind.Long), JavaKind.Long); break; + case FRETURN : genReturn(frameState.pop(JavaKind.Float), JavaKind.Float); break; + case DRETURN : genReturn(frameState.pop(JavaKind.Double), JavaKind.Double); break; + case ARETURN : genReturn(frameState.pop(JavaKind.Object), JavaKind.Object); break; + case RETURN : genReturn(null, JavaKind.Void); break; case GETSTATIC : cpi = stream.readCPI(); genGetStatic(lookupField(cpi, opcode)); break; case PUTSTATIC : cpi = stream.readCPI(); genPutStatic(lookupField(cpi, opcode)); break; case GETFIELD : cpi = stream.readCPI(); genGetField(lookupField(cpi, opcode)); break; @@ -3608,8 +3608,8 @@ case ATHROW : genThrow(); break; case CHECKCAST : genCheckCast(); break; case INSTANCEOF : genInstanceOf(); break; - case MONITORENTER : genMonitorEnter(frameState.pop(Kind.Object), stream.nextBCI()); break; - case MONITOREXIT : genMonitorExit(frameState.pop(Kind.Object), null, stream.nextBCI()); break; + case MONITORENTER : genMonitorEnter(frameState.pop(JavaKind.Object), stream.nextBCI()); break; + case MONITOREXIT : genMonitorExit(frameState.pop(JavaKind.Object), null, stream.nextBCI()); break; case MULTIANEWARRAY : genNewMultiArray(stream.readCPI()); break; case IFNULL : genIfNull(Condition.EQ); break; case IFNONNULL : genIfNull(Condition.NE); break; @@ -3623,8 +3623,8 @@ } private void genArrayLength() { - ValueNode array = emitExplicitExceptions(frameState.pop(Kind.Object), null); - frameState.push(Kind.Int, append(genArrayLength(array))); + ValueNode array = emitExplicitExceptions(frameState.pop(JavaKind.Object), null); + frameState.push(JavaKind.Int, append(genArrayLength(array))); } public ResolvedJavaMethod getMethod() { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -110,7 +110,7 @@ Signature sig = method.getSignature(); int max = sig.getParameterCount(false); for (int i = 0; i < max; i++) { - Kind kind = sig.getParameterKind(i); + JavaKind kind = sig.getParameterKind(i); locals[javaIndex] = arguments[index]; javaIndex++; if (kind.needsTwoSlots()) { @@ -150,9 +150,9 @@ if (eagerResolve) { type = type.resolve(accessingClass); } - Kind kind = type.getKind(); + JavaKind kind = type.getJavaKind(); Stamp stamp; - if (kind == Kind.Object && type instanceof ResolvedJavaType) { + if (kind == JavaKind.Object && type instanceof ResolvedJavaType) { stamp = StampFactory.declared((ResolvedJavaType) type); } else { stamp = StampFactory.forKind(kind); @@ -240,15 +240,15 @@ } /** - * @param pushedValues if non-null, values to {@link #push(Kind, ValueNode)} to the stack before - * creating the {@link FrameState} + * @param pushedValues if non-null, values to {@link #push(JavaKind, ValueNode)} to the stack + * before creating the {@link FrameState} */ - public FrameState create(int bci, BytecodeParser parent, boolean duringCall, Kind[] pushedSlotKinds, ValueNode[] pushedValues) { + public FrameState create(int bci, BytecodeParser parent, boolean duringCall, JavaKind[] pushedSlotKinds, ValueNode[] pushedValues) { if (outerFrameState == null && parent != null) { outerFrameState = parent.getFrameStateBuilder().create(parent.bci(), null); } if (bci == BytecodeFrame.AFTER_EXCEPTION_BCI && parent != null) { - FrameState newFrameState = outerFrameState.duplicateModified(outerFrameState.bci, true, Kind.Void, new Kind[]{Kind.Object}, new ValueNode[]{stack[0]}); + FrameState newFrameState = outerFrameState.duplicateModified(outerFrameState.bci, true, JavaKind.Void, new JavaKind[]{JavaKind.Object}, new ValueNode[]{stack[0]}); return newFrameState; } if (bci == BytecodeFrame.INVALID_FRAMESTATE_BCI) { @@ -522,7 +522,7 @@ * @param object the object whose monitor will be locked. */ public void pushLock(ValueNode object, MonitorIdNode monitorId) { - assert object.isAlive() && object.getStackKind() == Kind.Object : "unexpected value: " + object; + assert object.isAlive() && object.getStackKind() == JavaKind.Object : "unexpected value: " + object; lockedObjects = Arrays.copyOf(lockedObjects, lockedObjects.length + 1); monitorIds = Arrays.copyOf(monitorIds, monitorIds.length + 1); lockedObjects[lockedObjects.length - 1] = object; @@ -647,7 +647,7 @@ return stackSize; } - private boolean verifyKind(Kind slotKind, ValueNode x) { + private boolean verifyKind(JavaKind slotKind, ValueNode x) { assert x != null; assert x != TWO_SLOT_MARKER; assert slotKind.getSlotCount() > 0; @@ -666,7 +666,7 @@ * @param slotKind the kind of the local variable from the point of view of the bytecodes * @return the instruction that produced the specified local */ - public ValueNode loadLocal(int i, Kind slotKind) { + public ValueNode loadLocal(int i, JavaKind slotKind) { ValueNode x = locals[i]; assert verifyKind(slotKind, x); assert slotKind.needsTwoSlots() ? locals[i + 1] == TWO_SLOT_MARKER : (i == locals.length - 1 || locals[i + 1] != TWO_SLOT_MARKER); @@ -681,7 +681,7 @@ * @param slotKind the kind of the local variable from the point of view of the bytecodes * @param x the instruction which produces the value for the local */ - public void storeLocal(int i, Kind slotKind, ValueNode x) { + public void storeLocal(int i, JavaKind slotKind, ValueNode x) { assert verifyKind(slotKind, x); if (locals[i] == TWO_SLOT_MARKER) { @@ -707,7 +707,7 @@ * @param slotKind the kind of the stack element from the point of view of the bytecodes * @param x the instruction to push onto the stack */ - public void push(Kind slotKind, ValueNode x) { + public void push(JavaKind slotKind, ValueNode x) { assert verifyKind(slotKind, x); xpush(x); @@ -716,8 +716,8 @@ } } - public void pushReturn(Kind slotKind, ValueNode x) { - if (slotKind != Kind.Void) { + public void pushReturn(JavaKind slotKind, ValueNode x) { + if (slotKind != JavaKind.Void) { push(slotKind, x); } } @@ -728,7 +728,7 @@ * @param slotKind the kind of the stack element from the point of view of the bytecodes * @return the instruction on the top of the stack */ - public ValueNode pop(Kind slotKind) { + public ValueNode pop(JavaKind slotKind) { if (slotKind.needsTwoSlots()) { ValueNode s = xpop(); assert s == TWO_SLOT_MARKER; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/JTTTest.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/JTTTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/JTTTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,7 +68,7 @@ for (int i = 0; i < args.length; i++) { ParameterNode param = graph.getParameter(i); if (param != null) { - JavaConstant c = getSnippetReflection().forBoxed(parameterTypes[i].getKind(), args[i]); + JavaConstant c = getSnippetReflection().forBoxed(parameterTypes[i].getJavaKind(), args[i]); ConstantNode replacement = ConstantNode.forConstant(c, getMetaAccess(), graph); param.replaceAtUsages(replacement); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Sep 08 19:57:39 2015 +0200 @@ -49,7 +49,7 @@ super(TYPE); this.opcode = opcode; this.result = result; - this.raxTemp = AMD64.rax.asValue(LIRKind.value(Kind.Int)); + this.raxTemp = AMD64.rax.asValue(LIRKind.value(JavaKind.Int)); this.x = x; this.y = y; } @@ -94,8 +94,8 @@ @Override public void verify() { super.verify(); - assert (opcode.name().startsWith("F") && result.getPlatformKind() == Kind.Float && x.getPlatformKind() == Kind.Float && y.getPlatformKind() == Kind.Float) || - (opcode.name().startsWith("D") && result.getPlatformKind() == Kind.Double && x.getPlatformKind() == Kind.Double && y.getPlatformKind() == Kind.Double); + assert (opcode.name().startsWith("F") && result.getPlatformKind() == JavaKind.Float && x.getPlatformKind() == JavaKind.Float && y.getPlatformKind() == JavaKind.Float) || + (opcode.name().startsWith("D") && result.getPlatformKind() == JavaKind.Double && x.getPlatformKind() == JavaKind.Double && y.getPlatformKind() == JavaKind.Double); } } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -49,7 +49,7 @@ public final class AMD64ArrayEqualsOp extends AMD64LIRInstruction { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(AMD64ArrayEqualsOp.class); - private final Kind kind; + private final JavaKind kind; private final int arrayBaseOffset; private final int arrayIndexScale; @@ -64,7 +64,7 @@ @Temp({REG, ILLEGAL}) protected Value vectorTemp1; @Temp({REG, ILLEGAL}) protected Value vectorTemp2; - public AMD64ArrayEqualsOp(LIRGeneratorTool tool, Kind kind, Value result, Value array1, Value array2, Value length) { + public AMD64ArrayEqualsOp(LIRGeneratorTool tool, JavaKind kind, Value result, Value array1, Value array2, Value length) { super(TYPE); this.kind = kind; @@ -85,8 +85,8 @@ // We only need the vector temporaries if we generate SSE code. if (supportsSSE41(tool.target())) { - this.vectorTemp1 = tool.newVariable(LIRKind.value(Kind.Double)); - this.vectorTemp2 = tool.newVariable(LIRKind.value(Kind.Double)); + this.vectorTemp1 = tool.newVariable(LIRKind.value(JavaKind.Double)); + this.vectorTemp2 = tool.newVariable(LIRKind.value(JavaKind.Double)); } else { this.vectorTemp1 = Value.ILLEGAL; this.vectorTemp2 = Value.ILLEGAL; @@ -154,8 +154,8 @@ private void emitSSE41Compare(CompilationResultBuilder crb, AMD64MacroAssembler masm, Register result, Register array1, Register array2, Register length, Label trueLabel, Label falseLabel) { assert supportsSSE41(crb.target); - Register vector1 = asRegister(vectorTemp1, Kind.Double); - Register vector2 = asRegister(vectorTemp2, Kind.Double); + Register vector1 = asRegister(vectorTemp1, JavaKind.Double); + Register vector2 = asRegister(vectorTemp2, JavaKind.Double); Label loop = new Label(); Label compareTail = new Label(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Binary.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Binary.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Binary.java Tue Sep 08 19:57:39 2015 +0200 @@ -167,7 +167,7 @@ private final int alignment; public DataOp(AMD64RMOp opcode, OperandSize size, AllocatableValue result, AllocatableValue x, JavaConstant y) { - this(opcode, size, result, x, y, y.getKind().getByteCount()); + this(opcode, size, result, x, y, y.getJavaKind().getByteCount()); } public DataOp(AMD64RMOp opcode, OperandSize size, AllocatableValue result, AllocatableValue x, JavaConstant y, int alignment) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ByteSwapOp.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ByteSwapOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ByteSwapOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,12 +45,12 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { AMD64Move.move(crb, masm, result, input); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Int: - masm.bswapl(ValueUtil.asRegister(result, Kind.Int)); + masm.bswapl(ValueUtil.asRegister(result, JavaKind.Int)); break; case Long: - masm.bswapq(ValueUtil.asRegister(result, Kind.Long)); + masm.bswapq(ValueUtil.asRegister(result, JavaKind.Long)); } } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -159,7 +159,7 @@ * The register allocator does not support virtual registers that are used at the call * site, so use a fixed register. */ - callTemp = AMD64.rax.asValue(LIRKind.value(Kind.Long)); + callTemp = AMD64.rax.asValue(LIRKind.value(JavaKind.Long)); assert ValueUtil.differentRegisters(parameters, callTemp); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java Tue Sep 08 19:57:39 2015 +0200 @@ -144,7 +144,7 @@ this.scratch = scratch; assert keyConstants.length == keyTargets.length; assert keyConstants.length == strategy.keyProbabilities.length; - assert (scratch.getPlatformKind() == Kind.Illegal) == (key.getPlatformKind() == Kind.Int || key.getPlatformKind() == Kind.Long); + assert (scratch.getPlatformKind() == JavaKind.Illegal) == (key.getPlatformKind() == JavaKind.Int || key.getPlatformKind() == JavaKind.Long); } @Override @@ -154,7 +154,7 @@ BaseSwitchClosure closure = new BaseSwitchClosure(crb, masm, keyTargets, defaultTarget) { @Override protected void conditionalJump(int index, Condition condition, Label target) { - switch (keyConstants[index].getKind()) { + switch (keyConstants[index].getJavaKind()) { case Int: if (crb.codeCache.needsDataPatch(keyConstants[index])) { crb.recordInlineDataInCode(keyConstants[index]); @@ -202,9 +202,9 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - Register indexReg = asRegister(index, Kind.Int); - Register idxScratchReg = asRegister(idxScratch, Kind.Int); - Register scratchReg = asRegister(scratch, Kind.Long); + Register indexReg = asRegister(index, JavaKind.Int); + Register idxScratchReg = asRegister(idxScratch, JavaKind.Int); + Register scratchReg = asRegister(scratch, JavaKind.Long); if (!indexReg.equals(idxScratchReg)) { masm.movl(idxScratchReg, indexReg); @@ -342,7 +342,7 @@ private static void cmove(CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, ConditionFlag cond, Value other) { if (isRegister(other)) { assert !asRegister(other).equals(asRegister(result)) : "other already overwritten by previous move"; - switch ((Kind) other.getPlatformKind()) { + switch ((JavaKind) other.getPlatformKind()) { case Boolean: case Byte: case Short: @@ -358,7 +358,7 @@ } } else { AMD64Address addr = (AMD64Address) crb.asAddress(other); - switch ((Kind) other.getPlatformKind()) { + switch ((JavaKind) other.getPlatformKind()) { case Boolean: case Byte: case Short: diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java Tue Sep 08 19:57:39 2015 +0200 @@ -118,19 +118,19 @@ */ StackSlot allocateRBPSpillSlot() { assert spillSize == initialSpillSize : "RBP spill slot must be the first allocated stack slots"; - rbpSpillSlot = allocateSpillSlot(LIRKind.value(Kind.Long)); + rbpSpillSlot = allocateSpillSlot(LIRKind.value(JavaKind.Long)); assert asStackSlot(rbpSpillSlot).getRawOffset() == -16 : asStackSlot(rbpSpillSlot).getRawOffset(); return rbpSpillSlot; } void freeRBPSpillSlot() { - int size = spillSlotSize(LIRKind.value(Kind.Long)); + int size = spillSlotSize(LIRKind.value(JavaKind.Long)); assert spillSize == NumUtil.roundUp(initialSpillSize + size, size) : "RBP spill slot can not be freed after allocation other stack slots"; spillSize = initialSpillSize; } public StackSlot allocateDeoptimizationRescueSlot() { - assert spillSize == initialSpillSize || spillSize == initialSpillSize + spillSlotSize(LIRKind.value(Kind.Long)) : "Deoptimization rescue slot must be the first or second (if there is an RBP spill slot) stack slot"; - return allocateSpillSlot(LIRKind.value(Kind.Long)); + assert spillSize == initialSpillSize || spillSize == initialSpillSize + spillSlotSize(LIRKind.value(JavaKind.Long)) : "Deoptimization rescue slot must be the first or second (if there is an RBP spill slot) stack slot"; + return allocateSpillSlot(LIRKind.value(JavaKind.Long)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,11 +52,11 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { switch (opcode) { - case LOG: masm.flog(asRegister(result, Kind.Double), asRegister(input, Kind.Double), false); break; - case LOG10: masm.flog(asRegister(result, Kind.Double), asRegister(input, Kind.Double), true); break; - case SIN: masm.fsin(asRegister(result, Kind.Double), asRegister(input, Kind.Double)); break; - case COS: masm.fcos(asRegister(result, Kind.Double), asRegister(input, Kind.Double)); break; - case TAN: masm.ftan(asRegister(result, Kind.Double), asRegister(input, Kind.Double)); break; + case LOG: masm.flog(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double), false); break; + case LOG10: masm.flog(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double), true); break; + case SIN: masm.fsin(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double)); break; + case COS: masm.fcos(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double)); break; + case TAN: masm.ftan(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere(); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Tue Sep 08 19:57:39 2015 +0200 @@ -48,13 +48,13 @@ private abstract static class AbstractMoveOp extends AMD64LIRInstruction implements ValueMoveOp { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(AbstractMoveOp.class); - private Kind moveKind; + private JavaKind moveKind; - protected AbstractMoveOp(LIRInstructionClass c, Kind moveKind) { + protected AbstractMoveOp(LIRInstructionClass c, JavaKind moveKind) { super(c); - if (moveKind == Kind.Illegal) { + if (moveKind == JavaKind.Illegal) { // unknown operand size, conservatively move the whole register - this.moveKind = Kind.Long; + this.moveKind = JavaKind.Long; } else { this.moveKind = moveKind; } @@ -73,7 +73,7 @@ @Def({REG, HINT}) protected AllocatableValue result; @Use({REG, STACK}) protected AllocatableValue input; - public MoveToRegOp(Kind moveKind, AllocatableValue result, AllocatableValue input) { + public MoveToRegOp(JavaKind moveKind, AllocatableValue result, AllocatableValue input) { super(TYPE, moveKind); this.result = result; this.input = input; @@ -97,7 +97,7 @@ @Def({REG, STACK}) protected AllocatableValue result; @Use({REG, HINT}) protected AllocatableValue input; - public MoveFromRegOp(Kind moveKind, AllocatableValue result, AllocatableValue input) { + public MoveFromRegOp(JavaKind moveKind, AllocatableValue result, AllocatableValue input) { super(TYPE, moveKind); this.result = result; this.input = input; @@ -185,12 +185,12 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { // backup scratch register - move((Kind) backupSlot.getPlatformKind(), crb, masm, backupSlot, scratch.asValue(backupSlot.getLIRKind())); + move((JavaKind) backupSlot.getPlatformKind(), crb, masm, backupSlot, scratch.asValue(backupSlot.getLIRKind())); // move stack slot - move((Kind) getInput().getPlatformKind(), crb, masm, scratch.asValue(getInput().getLIRKind()), getInput()); - move((Kind) getResult().getPlatformKind(), crb, masm, getResult(), scratch.asValue(getResult().getLIRKind())); + move((JavaKind) getInput().getPlatformKind(), crb, masm, scratch.asValue(getInput().getLIRKind()), getInput()); + move((JavaKind) getResult().getPlatformKind(), crb, masm, getResult(), scratch.asValue(getResult().getLIRKind())); // restore scratch register - move((Kind) backupSlot.getPlatformKind(), crb, masm, scratch.asValue(backupSlot.getLIRKind()), backupSlot); + move((JavaKind) backupSlot.getPlatformKind(), crb, masm, scratch.asValue(backupSlot.getLIRKind()), backupSlot); } } @@ -216,16 +216,16 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { // backup scratch register - move((Kind) backupSlot.getPlatformKind(), crb, masm, backupSlot, scratch.asValue(backupSlot.getLIRKind())); + move((JavaKind) backupSlot.getPlatformKind(), crb, masm, backupSlot, scratch.asValue(backupSlot.getLIRKind())); for (int i = 0; i < results.length; i++) { Value input = inputs[i]; AllocatableValue result = results[i]; // move stack slot - move((Kind) input.getPlatformKind(), crb, masm, scratch.asValue(input.getLIRKind()), input); - move((Kind) result.getPlatformKind(), crb, masm, result, scratch.asValue(result.getLIRKind())); + move((JavaKind) input.getPlatformKind(), crb, masm, scratch.asValue(input.getLIRKind()), input); + move((JavaKind) result.getPlatformKind(), crb, masm, result, scratch.asValue(result.getLIRKind())); } // restore scratch register - move((Kind) backupSlot.getPlatformKind(), crb, masm, scratch.asValue(backupSlot.getLIRKind()), backupSlot); + move((JavaKind) backupSlot.getPlatformKind(), crb, masm, scratch.asValue(backupSlot.getLIRKind()), backupSlot); } } @@ -276,7 +276,7 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - masm.leaq(asRegister(result, Kind.Long), address.toAddress()); + masm.leaq(asRegister(result, JavaKind.Long), address.toAddress()); } } @@ -313,7 +313,7 @@ @Override public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { - masm.leaq(asRegister(result, Kind.Long), (AMD64Address) crb.asAddress(slot)); + masm.leaq(asRegister(result, JavaKind.Long), (AMD64Address) crb.asAddress(slot)); } } @@ -364,14 +364,14 @@ public static final class CompareAndSwapOp extends AMD64LIRInstruction { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(CompareAndSwapOp.class); - private final Kind accessKind; + private final JavaKind accessKind; @Def protected AllocatableValue result; @Use({COMPOSITE}) protected AMD64AddressValue address; @Use protected AllocatableValue cmpValue; @Use protected AllocatableValue newValue; - public CompareAndSwapOp(Kind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue cmpValue, AllocatableValue newValue) { + public CompareAndSwapOp(JavaKind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue cmpValue, AllocatableValue newValue) { super(TYPE); this.accessKind = accessKind; this.result = result; @@ -405,13 +405,13 @@ public static final class AtomicReadAndAddOp extends AMD64LIRInstruction { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(AtomicReadAndAddOp.class); - private final Kind accessKind; + private final JavaKind accessKind; @Def protected AllocatableValue result; @Alive({COMPOSITE}) protected AMD64AddressValue address; @Use protected AllocatableValue delta; - public AtomicReadAndAddOp(Kind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue delta) { + public AtomicReadAndAddOp(JavaKind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue delta) { super(TYPE); this.accessKind = accessKind; this.result = result; @@ -442,13 +442,13 @@ public static final class AtomicReadAndWriteOp extends AMD64LIRInstruction { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(AtomicReadAndWriteOp.class); - private final Kind accessKind; + private final JavaKind accessKind; @Def protected AllocatableValue result; @Alive({COMPOSITE}) protected AMD64AddressValue address; @Use protected AllocatableValue newValue; - public AtomicReadAndWriteOp(Kind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue newValue) { + public AtomicReadAndWriteOp(JavaKind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue newValue) { super(TYPE); this.accessKind = accessKind; this.result = result; @@ -474,10 +474,10 @@ } public static void move(CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { - move((Kind) result.getPlatformKind(), crb, masm, result, input); + move((JavaKind) result.getPlatformKind(), crb, masm, result, input); } - public static void move(Kind moveKind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { + public static void move(JavaKind moveKind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { if (isRegister(input)) { if (isRegister(result)) { reg2reg(moveKind, masm, result, input); @@ -505,7 +505,7 @@ } } - private static void reg2reg(Kind kind, AMD64MacroAssembler masm, Value result, Value input) { + private static void reg2reg(JavaKind kind, AMD64MacroAssembler masm, Value result, Value input) { if (asRegister(input).equals(asRegister(result))) { return; } @@ -517,10 +517,10 @@ masm.movq(asRegister(result), asRegister(input)); break; case Float: - masm.movflt(asRegister(result, Kind.Float), asRegister(input, Kind.Float)); + masm.movflt(asRegister(result, JavaKind.Float), asRegister(input, JavaKind.Float)); break; case Double: - masm.movdbl(asRegister(result, Kind.Double), asRegister(input, Kind.Double)); + masm.movdbl(asRegister(result, JavaKind.Double), asRegister(input, JavaKind.Double)); break; case Object: masm.movq(asRegister(result), asRegister(input)); @@ -530,7 +530,7 @@ } } - private static void reg2stack(Kind kind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { + private static void reg2stack(JavaKind kind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { AMD64Address dest = (AMD64Address) crb.asAddress(result); switch (kind) { case Boolean: @@ -548,10 +548,10 @@ masm.movq(dest, asRegister(input)); break; case Float: - masm.movflt(dest, asRegister(input, Kind.Float)); + masm.movflt(dest, asRegister(input, JavaKind.Float)); break; case Double: - masm.movsd(dest, asRegister(input, Kind.Double)); + masm.movsd(dest, asRegister(input, JavaKind.Double)); break; case Object: masm.movq(dest, asRegister(input)); @@ -561,7 +561,7 @@ } } - private static void stack2reg(Kind kind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { + private static void stack2reg(JavaKind kind, CompilationResultBuilder crb, AMD64MacroAssembler masm, Value result, Value input) { AMD64Address src = (AMD64Address) crb.asAddress(input); switch (kind) { case Boolean: @@ -583,10 +583,10 @@ masm.movq(asRegister(result), src); break; case Float: - masm.movflt(asRegister(result, Kind.Float), src); + masm.movflt(asRegister(result, JavaKind.Float), src); break; case Double: - masm.movdbl(asRegister(result, Kind.Double), src); + masm.movdbl(asRegister(result, JavaKind.Double), src); break; case Object: masm.movq(asRegister(result), src); @@ -603,7 +603,7 @@ * long register when unsafe casts occurred (e.g., for a write barrier where arithmetic * operations are then performed on the pointer). */ - switch (input.getKind().getStackKind()) { + switch (input.getJavaKind().getStackKind()) { case Int: if (crb.codeCache.needsDataPatch(input)) { crb.recordInlineDataInCode(input); @@ -641,18 +641,18 @@ // This is *not* the same as 'constant == 0.0f' in the case where constant is -0.0f if (Float.floatToRawIntBits(input.asFloat()) == Float.floatToRawIntBits(0.0f)) { assert !crb.codeCache.needsDataPatch(input); - masm.xorps(asRegister(result, Kind.Float), asRegister(result, Kind.Float)); + masm.xorps(asRegister(result, JavaKind.Float), asRegister(result, JavaKind.Float)); } else { - masm.movflt(asRegister(result, Kind.Float), (AMD64Address) crb.asFloatConstRef(input)); + masm.movflt(asRegister(result, JavaKind.Float), (AMD64Address) crb.asFloatConstRef(input)); } break; case Double: // This is *not* the same as 'constant == 0.0d' in the case where constant is -0.0d if (Double.doubleToRawLongBits(input.asDouble()) == Double.doubleToRawLongBits(0.0d)) { assert !crb.codeCache.needsDataPatch(input); - masm.xorpd(asRegister(result, Kind.Double), asRegister(result, Kind.Double)); + masm.xorpd(asRegister(result, JavaKind.Double), asRegister(result, JavaKind.Double)); } else { - masm.movdbl(asRegister(result, Kind.Double), (AMD64Address) crb.asDoubleConstRef(input)); + masm.movdbl(asRegister(result, JavaKind.Double), (AMD64Address) crb.asDoubleConstRef(input)); } break; case Object: @@ -677,7 +677,7 @@ assert !crb.codeCache.needsDataPatch(input); AMD64Address dest = (AMD64Address) crb.asAddress(result); final long imm; - switch (input.getKind().getStackKind()) { + switch (input.getJavaKind().getStackKind()) { case Int: imm = input.asInt(); break; @@ -700,7 +700,7 @@ default: throw JVMCIError.shouldNotReachHere(); } - switch ((Kind) result.getPlatformKind()) { + switch ((JavaKind) result.getPlatformKind()) { case Byte: assert NumUtil.isByte(imm) : "Is not in byte range: " + imm; AMD64MIOp.MOVB.emit(masm, OperandSize.BYTE, dest, (int) imm); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/ConstantStackCastTest.java --- a/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/ConstantStackCastTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/ConstantStackCastTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -66,7 +66,7 @@ private static ConstantValue getConstant(LIRKind srcKind, JavaConstant c) { - switch ((Kind) srcKind.getPlatformKind()) { + switch ((JavaKind) srcKind.getPlatformKind()) { case Byte: JavaConstant byteConst = JavaConstant.forByte((byte) c.asInt()); return new ConstantValue(srcKind, byteConst); @@ -76,7 +76,7 @@ } } - private static final LoadConstantStackSpec stackCopyByte = new LoadConstantStackSpec(LIRKind.value(Kind.Int), LIRKind.value(Kind.Byte)); + private static final LoadConstantStackSpec stackCopyByte = new LoadConstantStackSpec(LIRKind.value(JavaKind.Int), LIRKind.value(JavaKind.Byte)); @LIRIntrinsic public static byte testCopyByte(@SuppressWarnings("unused") LoadConstantStackSpec spec, byte value) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java --- a/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -55,7 +55,7 @@ @Input protected NodeInputList values; public final SnippetReflectionProvider snippetReflection; - public LIRTestNode(SnippetReflectionProvider snippetReflection, Kind kind, ValueNode opsNode, ValueNode[] values) { + public LIRTestNode(SnippetReflectionProvider snippetReflection, JavaKind kind, ValueNode opsNode, ValueNode[] values) { super(TYPE, StampFactory.forKind(kind)); this.opsNode = opsNode; this.values = new NodeInputList<>(this, values); @@ -94,7 +94,7 @@ @Input protected ValueNode name; public final SnippetReflectionProvider snippetReflection; - public LIRValueNode(SnippetReflectionProvider snippetReflection, Kind kind, ValueNode opsNode, ValueNode name) { + public LIRValueNode(SnippetReflectionProvider snippetReflection, JavaKind kind, ValueNode opsNode, ValueNode name) { super(TYPE, StampFactory.forKind(kind)); this.opsNode = opsNode; this.name = name; @@ -126,31 +126,31 @@ private InvocationPlugin lirTestPlugin = new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRTestNode(getSnippetReflection(), returnKind, spec, new ValueNode[]{})); return true; } public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec, ValueNode arg0) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRTestNode(getSnippetReflection(), returnKind, spec, new ValueNode[]{arg0})); return true; } public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec, ValueNode arg0, ValueNode arg1) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRTestNode(getSnippetReflection(), returnKind, spec, new ValueNode[]{arg0, arg1})); return true; } public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec, ValueNode arg0, ValueNode arg1, ValueNode arg2) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRTestNode(getSnippetReflection(), returnKind, spec, new ValueNode[]{arg0, arg1, arg2})); return true; } public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec, ValueNode arg0, ValueNode arg1, ValueNode arg2, ValueNode arg3) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRTestNode(getSnippetReflection(), returnKind, spec, new ValueNode[]{arg0, arg1, arg2, arg3})); return true; } @@ -174,7 +174,7 @@ } InvocationPlugin outputPlugin = new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode spec, ValueNode name, ValueNode expected) { - Kind returnKind = targetMethod.getSignature().getReturnKind(); + JavaKind returnKind = targetMethod.getSignature().getReturnKind(); b.addPush(returnKind, new LIRValueNode(getSnippetReflection(), returnKind, spec, name)); return true; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/StackMoveTest.java --- a/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/StackMoveTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/StackMoveTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -182,7 +182,7 @@ private static final LIRTestSpecification shortStackCopy = new StackCopySpec() { @Override protected LIRKind getLIRKind(Value value) { - return LIRKind.value(Kind.Short); + return LIRKind.value(JavaKind.Short); } }; @@ -216,7 +216,7 @@ private static final LIRTestSpecification byteStackCopy = new StackCopySpec() { @Override protected LIRKind getLIRKind(Value value) { - return LIRKind.value(Kind.Byte); + return LIRKind.value(JavaKind.Byte); } }; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Tue Sep 08 19:57:39 2015 +0200 @@ -186,7 +186,7 @@ @Override public void verify() { super.verify(); - verifyKind(opcode, result.getPlatformKind(), x.getPlatformKind(), y.getKind()); + verifyKind(opcode, result.getPlatformKind(), x.getPlatformKind(), y.getJavaKind()); } } @@ -253,21 +253,21 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { Label noOverflow = new Label(); - masm.mulx(asRegister(x, Kind.Long), asRegister(y, Kind.Long), asRegister(result, Kind.Long)); + masm.mulx(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(result, JavaKind.Long)); // Calculate the upper 64 bit signed := (umulxhi product - (x{63}&y + y{63}&x)) - masm.umulxhi(asRegister(x, Kind.Long), asRegister(y, Kind.Long), asRegister(scratch1, Kind.Long)); - masm.srax(asRegister(x, Kind.Long), 63, asRegister(scratch2, Kind.Long)); - masm.and(asRegister(scratch2, Kind.Long), asRegister(y, Kind.Long), asRegister(scratch2, Kind.Long)); - masm.sub(asRegister(scratch1, Kind.Long), asRegister(scratch2, Kind.Long), asRegister(scratch1, Kind.Long)); + masm.umulxhi(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); + masm.srax(asRegister(x, JavaKind.Long), 63, asRegister(scratch2, JavaKind.Long)); + masm.and(asRegister(scratch2, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(scratch2, JavaKind.Long)); + masm.sub(asRegister(scratch1, JavaKind.Long), asRegister(scratch2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); - masm.srax(asRegister(y, Kind.Long), 63, asRegister(scratch2, Kind.Long)); - masm.and(asRegister(scratch2, Kind.Long), asRegister(x, Kind.Long), asRegister(scratch2, Kind.Long)); - masm.sub(asRegister(scratch1, Kind.Long), asRegister(scratch2, Kind.Long), asRegister(scratch1, Kind.Long)); + masm.srax(asRegister(y, JavaKind.Long), 63, asRegister(scratch2, JavaKind.Long)); + masm.and(asRegister(scratch2, JavaKind.Long), asRegister(x, JavaKind.Long), asRegister(scratch2, JavaKind.Long)); + masm.sub(asRegister(scratch1, JavaKind.Long), asRegister(scratch2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); // Now construct the lower half and compare - masm.srax(asRegister(result, Kind.Long), 63, asRegister(scratch2, Kind.Long)); - masm.cmp(asRegister(scratch1, Kind.Long), asRegister(scratch2, Kind.Long)); + masm.srax(asRegister(result, JavaKind.Long), 63, asRegister(scratch2, JavaKind.Long)); + masm.cmp(asRegister(scratch1, JavaKind.Long), asRegister(scratch2, JavaKind.Long)); masm.bpcc(Equal, NOT_ANNUL, noOverflow, Xcc, PREDICT_TAKEN); masm.nop(); masm.wrccr(g0, 1 << (CCR_XCC_SHIFT + CCR_V_SHIFT)); @@ -283,88 +283,88 @@ delaySlotLir.emitControlTransfer(crb, masm); switch (opcode) { case IADD: - masm.add(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.add(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IADDCC: - masm.addcc(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.addcc(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case ISUB: - masm.sub(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.sub(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case ISUBCC: - masm.subcc(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.subcc(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IMUL: - masm.mulx(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.mulx(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IMULCC: throw JVMCIError.unimplemented(); case IDIV: masm.sra(asRegister(src1), 0, asRegister(src1)); - masm.sdivx(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.sdivx(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IUDIV: masm.srl(asRegister(src1), 0, asRegister(src1)); - masm.udivx(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.udivx(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IAND: - masm.and(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.and(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case ISHL: - masm.sll(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.sll(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case ISHR: - masm.sra(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.sra(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IUSHR: - masm.srl(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.srl(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IOR: - masm.or(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.or(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case IXOR: - masm.xor(asRegister(src1, Kind.Int), constant, asRegister(dst, Kind.Int)); + masm.xor(asRegister(src1, JavaKind.Int), constant, asRegister(dst, JavaKind.Int)); break; case LADD: - masm.add(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.add(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LADDCC: - masm.addcc(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.addcc(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LSUB: - masm.sub(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.sub(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LSUBCC: - masm.subcc(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.subcc(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LMUL: - masm.mulx(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.mulx(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LDIV: exceptionOffset = masm.position(); - masm.sdivx(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.sdivx(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LUDIV: exceptionOffset = masm.position(); - masm.udivx(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.udivx(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LAND: - masm.and(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.and(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LOR: - masm.or(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.or(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LXOR: - masm.xor(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.xor(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LSHL: - masm.sllx(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.sllx(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LSHR: - masm.srax(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.srax(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case LUSHR: - masm.srlx(asRegister(src1, Kind.Long), constant, asRegister(dst, Kind.Long)); + masm.srlx(asRegister(src1, JavaKind.Long), constant, asRegister(dst, JavaKind.Long)); break; case DAND: // Has no constant implementation in SPARC case FADD: @@ -390,30 +390,30 @@ switch (opcode) { case IADD: delaySlotLir.emitControlTransfer(crb, masm); - masm.add(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.add(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IADDCC: delaySlotLir.emitControlTransfer(crb, masm); - masm.addcc(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.addcc(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case ISUB: delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sub(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case ISUBCC: delaySlotLir.emitControlTransfer(crb, masm); - masm.subcc(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.subcc(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IMUL: delaySlotLir.emitControlTransfer(crb, masm); - masm.mulx(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.mulx(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IMULCC: try (ScratchRegister tmpScratch = masm.getScratchRegister()) { Register tmp = tmpScratch.getRegister(); - masm.mulx(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.mulx(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); Label noOverflow = new Label(); - masm.sra(asRegister(dst, Kind.Int), 0, tmp); + masm.sra(asRegister(dst, JavaKind.Int), 0, tmp); masm.xorcc(SPARC.g0, SPARC.g0, SPARC.g0); masm.compareBranch(tmp, asRegister(dst), Equal, Xcc, noOverflow, PREDICT_TAKEN, null); masm.wrccr(SPARC.g0, 1 << (SPARCAssembler.CCR_ICC_SHIFT + SPARCAssembler.CCR_V_SHIFT)); @@ -421,146 +421,146 @@ } break; case IDIV: - masm.signx(asRegister(src1, Kind.Int), asRegister(src1, Kind.Int)); - masm.signx(asRegister(src2, Kind.Int), asRegister(src2, Kind.Int)); + masm.signx(asRegister(src1, JavaKind.Int), asRegister(src1, JavaKind.Int)); + masm.signx(asRegister(src2, JavaKind.Int), asRegister(src2, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.sdivx(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sdivx(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IUDIV: - masm.srl(asRegister(src1, Kind.Int), 0, asRegister(src1, Kind.Int)); - masm.srl(asRegister(src2, Kind.Int), 0, asRegister(src2, Kind.Int)); + masm.srl(asRegister(src1, JavaKind.Int), 0, asRegister(src1, JavaKind.Int)); + masm.srl(asRegister(src2, JavaKind.Int), 0, asRegister(src2, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.udivx(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.udivx(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IAND: delaySlotLir.emitControlTransfer(crb, masm); - masm.and(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.and(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IOR: delaySlotLir.emitControlTransfer(crb, masm); - masm.or(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.or(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IXOR: delaySlotLir.emitControlTransfer(crb, masm); - masm.xor(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.xor(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case ISHL: delaySlotLir.emitControlTransfer(crb, masm); - masm.sll(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sll(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case ISHR: delaySlotLir.emitControlTransfer(crb, masm); - masm.sra(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sra(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IUSHR: delaySlotLir.emitControlTransfer(crb, masm); - masm.srl(asRegister(src1, Kind.Int), asRegister(src2, Kind.Int), asRegister(dst, Kind.Int)); + masm.srl(asRegister(src1, JavaKind.Int), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IREM: throw JVMCIError.unimplemented(); case LADD: delaySlotLir.emitControlTransfer(crb, masm); - masm.add(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.add(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LADDCC: delaySlotLir.emitControlTransfer(crb, masm); - masm.addcc(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.addcc(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LSUB: delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.sub(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LSUBCC: delaySlotLir.emitControlTransfer(crb, masm); - masm.subcc(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.subcc(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LMUL: delaySlotLir.emitControlTransfer(crb, masm); - masm.mulx(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.mulx(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LMULCC: throw JVMCIError.unimplemented(); case LDIV: delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.sdivx(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.sdivx(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LUDIV: delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.udivx(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.udivx(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LAND: delaySlotLir.emitControlTransfer(crb, masm); - masm.and(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.and(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LOR: delaySlotLir.emitControlTransfer(crb, masm); - masm.or(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.or(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LXOR: delaySlotLir.emitControlTransfer(crb, masm); - masm.xor(asRegister(src1, Kind.Long), asRegister(src2, Kind.Long), asRegister(dst, Kind.Long)); + masm.xor(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LSHL: delaySlotLir.emitControlTransfer(crb, masm); - masm.sllx(asRegister(src1, Kind.Long), asRegister(src2, Kind.Int), asRegister(dst, Kind.Long)); + masm.sllx(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Long)); break; case LSHR: delaySlotLir.emitControlTransfer(crb, masm); - masm.srax(asRegister(src1, Kind.Long), asRegister(src2, Kind.Int), asRegister(dst, Kind.Long)); + masm.srax(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Long)); break; case LUSHR: delaySlotLir.emitControlTransfer(crb, masm); - masm.srlx(asRegister(src1, Kind.Long), asRegister(src2, Kind.Int), asRegister(dst, Kind.Long)); + masm.srlx(asRegister(src1, JavaKind.Long), asRegister(src2, JavaKind.Int), asRegister(dst, JavaKind.Long)); break; case FADD: delaySlotLir.emitControlTransfer(crb, masm); - masm.fadds(asRegister(src1, Kind.Float), asRegister(src2, Kind.Float), asRegister(dst, Kind.Float)); + masm.fadds(asRegister(src1, JavaKind.Float), asRegister(src2, JavaKind.Float), asRegister(dst, JavaKind.Float)); break; case FSUB: delaySlotLir.emitControlTransfer(crb, masm); - masm.fsubs(asRegister(src1, Kind.Float), asRegister(src2, Kind.Float), asRegister(dst, Kind.Float)); + masm.fsubs(asRegister(src1, JavaKind.Float), asRegister(src2, JavaKind.Float), asRegister(dst, JavaKind.Float)); break; case FMUL: delaySlotLir.emitControlTransfer(crb, masm); - if (dst.getPlatformKind() == Kind.Double) { - masm.fsmuld(asRegister(src1, Kind.Float), asRegister(src2, Kind.Float), asRegister(dst, Kind.Double)); - } else if (dst.getPlatformKind() == Kind.Float) { - masm.fmuls(asRegister(src1, Kind.Float), asRegister(src2, Kind.Float), asRegister(dst, Kind.Float)); + if (dst.getPlatformKind() == JavaKind.Double) { + masm.fsmuld(asRegister(src1, JavaKind.Float), asRegister(src2, JavaKind.Float), asRegister(dst, JavaKind.Double)); + } else if (dst.getPlatformKind() == JavaKind.Float) { + masm.fmuls(asRegister(src1, JavaKind.Float), asRegister(src2, JavaKind.Float), asRegister(dst, JavaKind.Float)); } break; case FDIV: delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.fdivs(asRegister(src1, Kind.Float), asRegister(src2, Kind.Float), asRegister(dst, Kind.Float)); + masm.fdivs(asRegister(src1, JavaKind.Float), asRegister(src2, JavaKind.Float), asRegister(dst, JavaKind.Float)); break; case FREM: throw JVMCIError.unimplemented(); case DADD: delaySlotLir.emitControlTransfer(crb, masm); - masm.faddd(asRegister(src1, Kind.Double), asRegister(src2, Kind.Double), asRegister(dst, Kind.Double)); + masm.faddd(asRegister(src1, JavaKind.Double), asRegister(src2, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; case DSUB: delaySlotLir.emitControlTransfer(crb, masm); - masm.fsubd(asRegister(src1, Kind.Double), asRegister(src2, Kind.Double), asRegister(dst, Kind.Double)); + masm.fsubd(asRegister(src1, JavaKind.Double), asRegister(src2, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; case DMUL: delaySlotLir.emitControlTransfer(crb, masm); - masm.fmuld(asRegister(src1, Kind.Double), asRegister(src2, Kind.Double), asRegister(dst, Kind.Double)); + masm.fmuld(asRegister(src1, JavaKind.Double), asRegister(src2, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; case DDIV: delaySlotLir.emitControlTransfer(crb, masm); exceptionOffset = masm.position(); - masm.fdivd(asRegister(src1, Kind.Double), asRegister(src2, Kind.Double), asRegister(dst, Kind.Double)); + masm.fdivd(asRegister(src1, JavaKind.Double), asRegister(src2, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; case DREM: throw JVMCIError.unimplemented(); case DAND: delaySlotLir.emitControlTransfer(crb, masm); - masm.fandd(asRegister(src1, Kind.Double), asRegister(src2, Kind.Double), asRegister(dst, Kind.Double)); + masm.fandd(asRegister(src1, JavaKind.Double), asRegister(src2, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere(); @@ -581,26 +581,26 @@ assert !src2.equals(scratch1); switch (opcode) { case IREM: - masm.sra(asRegister(src1, Kind.Int), 0, asRegister(dst, Kind.Int)); + masm.sra(asRegister(src1, JavaKind.Int), 0, asRegister(dst, JavaKind.Int)); exceptionOffset = masm.position(); - masm.sdivx(asRegister(dst, Kind.Int), crb.asIntConst(src2), asRegister(scratch1, Kind.Int)); - masm.mulx(asRegister(scratch1, Kind.Int), crb.asIntConst(src2), asRegister(scratch2, Kind.Int)); + masm.sdivx(asRegister(dst, JavaKind.Int), crb.asIntConst(src2), asRegister(scratch1, JavaKind.Int)); + masm.mulx(asRegister(scratch1, JavaKind.Int), crb.asIntConst(src2), asRegister(scratch2, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(dst, Kind.Int), asRegister(scratch2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sub(asRegister(dst, JavaKind.Int), asRegister(scratch2, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case LREM: exceptionOffset = masm.position(); - masm.sdivx(asRegister(src1, Kind.Long), crb.asIntConst(src2), asRegister(scratch1, Kind.Long)); - masm.mulx(asRegister(scratch1, Kind.Long), crb.asIntConst(src2), asRegister(scratch2, Kind.Long)); + masm.sdivx(asRegister(src1, JavaKind.Long), crb.asIntConst(src2), asRegister(scratch1, JavaKind.Long)); + masm.mulx(asRegister(scratch1, JavaKind.Long), crb.asIntConst(src2), asRegister(scratch2, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(src1, Kind.Long), asRegister(scratch2, Kind.Long), asRegister(dst, Kind.Long)); + masm.sub(asRegister(src1, JavaKind.Long), asRegister(scratch2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LUREM: exceptionOffset = masm.position(); - masm.udivx(asRegister(src1, Kind.Long), crb.asIntConst(src2), asRegister(scratch1, Kind.Long)); - masm.mulx(asRegister(scratch1, Kind.Long), crb.asIntConst(src2), asRegister(scratch2, Kind.Long)); + masm.udivx(asRegister(src1, JavaKind.Long), crb.asIntConst(src2), asRegister(scratch1, JavaKind.Long)); + masm.mulx(asRegister(scratch1, JavaKind.Long), crb.asIntConst(src2), asRegister(scratch2, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(src1, Kind.Long), asRegister(scratch2, Kind.Long), asRegister(dst, Kind.Long)); + masm.sub(asRegister(src1, JavaKind.Long), asRegister(scratch2, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case IUREM: JVMCIError.unimplemented(); @@ -613,56 +613,56 @@ switch (opcode) { case LREM: if (isJavaConstant(src1)) { - new Setx(crb.asLongConst(src1), asRegister(scratch2, Kind.Long), false).emit(masm); + new Setx(crb.asLongConst(src1), asRegister(scratch2, JavaKind.Long), false).emit(masm); srcLeft = scratch2; } - assert !asRegister(srcLeft, Kind.Long).equals(asRegister(scratch1, Kind.Long)); - assert !asRegister(src2, Kind.Long).equals(asRegister(scratch1, Kind.Long)); + assert !asRegister(srcLeft, JavaKind.Long).equals(asRegister(scratch1, JavaKind.Long)); + assert !asRegister(src2, JavaKind.Long).equals(asRegister(scratch1, JavaKind.Long)); // But src2 can be scratch2 exceptionOffset = masm.position(); - masm.sdivx(asRegister(srcLeft, Kind.Long), asRegister(src2, Kind.Long), asRegister(scratch1, Kind.Long)); - masm.mulx(asRegister(scratch1, Kind.Long), asRegister(src2, Kind.Long), asRegister(scratch1, Kind.Long)); + masm.sdivx(asRegister(srcLeft, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); + masm.mulx(asRegister(scratch1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(srcLeft, Kind.Long), asRegister(scratch1, Kind.Long), asRegister(dst, Kind.Long)); + masm.sub(asRegister(srcLeft, JavaKind.Long), asRegister(scratch1, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case LUREM: if (isJavaConstant(src1)) { - new Setx(crb.asLongConst(src1), asRegister(scratch2, Kind.Long), false).emit(masm); + new Setx(crb.asLongConst(src1), asRegister(scratch2, JavaKind.Long), false).emit(masm); srcLeft = scratch2; } - assert !asRegister(srcLeft, Kind.Long).equals(asRegister(scratch1, Kind.Long)); - assert !asRegister(src2, Kind.Long).equals(asRegister(scratch1, Kind.Long)); + assert !asRegister(srcLeft, JavaKind.Long).equals(asRegister(scratch1, JavaKind.Long)); + assert !asRegister(src2, JavaKind.Long).equals(asRegister(scratch1, JavaKind.Long)); exceptionOffset = masm.position(); - masm.udivx(asRegister(srcLeft, Kind.Long), asRegister(src2, Kind.Long), asRegister(scratch1, Kind.Long)); - masm.mulx(asRegister(scratch1, Kind.Long), asRegister(src2, Kind.Long), asRegister(scratch1, Kind.Long)); + masm.udivx(asRegister(srcLeft, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); + masm.mulx(asRegister(scratch1, JavaKind.Long), asRegister(src2, JavaKind.Long), asRegister(scratch1, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(srcLeft, Kind.Long), asRegister(scratch1, Kind.Long), asRegister(dst, Kind.Long)); + masm.sub(asRegister(srcLeft, JavaKind.Long), asRegister(scratch1, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case IREM: if (isJavaConstant(src1)) { - new Setx(crb.asIntConst(src1), asRegister(scratch2, Kind.Int), false).emit(masm); + new Setx(crb.asIntConst(src1), asRegister(scratch2, JavaKind.Int), false).emit(masm); srcLeft = scratch2; } - assert !asRegister(srcLeft, Kind.Int).equals(asRegister(scratch1, Kind.Int)); - assert !asRegister(src2, Kind.Int).equals(asRegister(scratch1, Kind.Int)); - masm.sra(asRegister(src1, Kind.Int), 0, asRegister(scratch1, Kind.Int)); - masm.sra(asRegister(src2, Kind.Int), 0, asRegister(scratch2, Kind.Int)); + assert !asRegister(srcLeft, JavaKind.Int).equals(asRegister(scratch1, JavaKind.Int)); + assert !asRegister(src2, JavaKind.Int).equals(asRegister(scratch1, JavaKind.Int)); + masm.sra(asRegister(src1, JavaKind.Int), 0, asRegister(scratch1, JavaKind.Int)); + masm.sra(asRegister(src2, JavaKind.Int), 0, asRegister(scratch2, JavaKind.Int)); exceptionOffset = masm.position(); - masm.sdivx(asRegister(scratch1, Kind.Int), asRegister(scratch2, Kind.Int), asRegister(dst, Kind.Int)); - masm.mulx(asRegister(dst, Kind.Int), asRegister(scratch2, Kind.Int), asRegister(dst, Kind.Int)); + masm.sdivx(asRegister(scratch1, JavaKind.Int), asRegister(scratch2, JavaKind.Int), asRegister(dst, JavaKind.Int)); + masm.mulx(asRegister(dst, JavaKind.Int), asRegister(scratch2, JavaKind.Int), asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(scratch1, Kind.Int), asRegister(dst, Kind.Int), asRegister(dst, Kind.Int)); + masm.sub(asRegister(scratch1, JavaKind.Int), asRegister(dst, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case IUREM: - assert !asRegister(dst, Kind.Int).equals(asRegister(scratch1, Kind.Int)); - assert !asRegister(dst, Kind.Int).equals(asRegister(scratch2, Kind.Int)); - masm.srl(asRegister(src1, Kind.Int), 0, asRegister(scratch1, Kind.Int)); - masm.srl(asRegister(src2, Kind.Int), 0, asRegister(dst, Kind.Int)); + assert !asRegister(dst, JavaKind.Int).equals(asRegister(scratch1, JavaKind.Int)); + assert !asRegister(dst, JavaKind.Int).equals(asRegister(scratch2, JavaKind.Int)); + masm.srl(asRegister(src1, JavaKind.Int), 0, asRegister(scratch1, JavaKind.Int)); + masm.srl(asRegister(src2, JavaKind.Int), 0, asRegister(dst, JavaKind.Int)); exceptionOffset = masm.position(); - masm.udivx(asRegister(scratch1, Kind.Int), asRegister(dst, Kind.Int), asRegister(scratch2, Kind.Int)); - masm.mulx(asRegister(scratch2, Kind.Int), asRegister(dst, Kind.Int), asRegister(dst, Kind.Int)); + masm.udivx(asRegister(scratch1, JavaKind.Int), asRegister(dst, JavaKind.Int), asRegister(scratch2, JavaKind.Int)); + masm.mulx(asRegister(scratch2, JavaKind.Int), asRegister(dst, JavaKind.Int), asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sub(asRegister(scratch1, Kind.Int), asRegister(dst, Kind.Int), asRegister(dst, Kind.Int)); + masm.sub(asRegister(scratch1, JavaKind.Int), asRegister(dst, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; default: throw JVMCIError.shouldNotReachHere(); @@ -682,111 +682,111 @@ switch (opcode) { case INEG: delaySlotLir.emitControlTransfer(crb, masm); - masm.neg(asRegister(src, Kind.Int), asRegister(dst, Kind.Int)); + masm.neg(asRegister(src, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case LNEG: delaySlotLir.emitControlTransfer(crb, masm); - masm.neg(asRegister(src, Kind.Long), asRegister(dst, Kind.Long)); + masm.neg(asRegister(src, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case INOT: delaySlotLir.emitControlTransfer(crb, masm); - masm.not(asRegister(src, Kind.Int), asRegister(dst, Kind.Int)); + masm.not(asRegister(src, JavaKind.Int), asRegister(dst, JavaKind.Int)); break; case LNOT: delaySlotLir.emitControlTransfer(crb, masm); - masm.not(asRegister(src, Kind.Long), asRegister(dst, Kind.Long)); + masm.not(asRegister(src, JavaKind.Long), asRegister(dst, JavaKind.Long)); break; case D2F: delaySlotLir.emitControlTransfer(crb, masm); - masm.fdtos(asRegister(src, Kind.Double), asRegister(dst, Kind.Float)); + masm.fdtos(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Float)); break; case L2D: delaySlotLir.emitControlTransfer(crb, masm); - masm.fxtod(asRegister(src, Kind.Double), asRegister(dst, Kind.Double)); + masm.fxtod(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; case L2F: delaySlotLir.emitControlTransfer(crb, masm); - masm.fxtos(asRegister(src, Kind.Double), asRegister(dst, Kind.Float)); + masm.fxtos(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Float)); break; case I2D: delaySlotLir.emitControlTransfer(crb, masm); - masm.fitod(asRegister(src, Kind.Float), asRegister(dst, Kind.Double)); + masm.fitod(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Double)); break; case I2L: delaySlotLir.emitControlTransfer(crb, masm); - masm.signx(asRegister(src, Kind.Int), asRegister(dst, Kind.Long)); + masm.signx(asRegister(src, JavaKind.Int), asRegister(dst, JavaKind.Long)); break; case L2I: delaySlotLir.emitControlTransfer(crb, masm); - masm.signx(asRegister(src, Kind.Long), asRegister(dst, Kind.Int)); + masm.signx(asRegister(src, JavaKind.Long), asRegister(dst, JavaKind.Int)); break; case B2L: - masm.sll(asRegister(src, Kind.Int), 24, asRegister(dst, Kind.Long)); + masm.sll(asRegister(src, JavaKind.Int), 24, asRegister(dst, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sra(asRegister(dst, Kind.Long), 24, asRegister(dst, Kind.Long)); + masm.sra(asRegister(dst, JavaKind.Long), 24, asRegister(dst, JavaKind.Long)); break; case B2I: - masm.sll(asRegister(src, Kind.Int), 24, asRegister(dst, Kind.Int)); + masm.sll(asRegister(src, JavaKind.Int), 24, asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sra(asRegister(dst, Kind.Int), 24, asRegister(dst, Kind.Int)); + masm.sra(asRegister(dst, JavaKind.Int), 24, asRegister(dst, JavaKind.Int)); break; case S2L: - masm.sll(asRegister(src, Kind.Int), 16, asRegister(dst, Kind.Long)); + masm.sll(asRegister(src, JavaKind.Int), 16, asRegister(dst, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sra(asRegister(dst, Kind.Long), 16, asRegister(dst, Kind.Long)); + masm.sra(asRegister(dst, JavaKind.Long), 16, asRegister(dst, JavaKind.Long)); break; case S2I: - masm.sll(asRegister(src, Kind.Int), 16, asRegister(dst, Kind.Int)); + masm.sll(asRegister(src, JavaKind.Int), 16, asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); - masm.sra(asRegister(dst, Kind.Int), 16, asRegister(dst, Kind.Int)); + masm.sra(asRegister(dst, JavaKind.Int), 16, asRegister(dst, JavaKind.Int)); break; case I2F: delaySlotLir.emitControlTransfer(crb, masm); - masm.fitos(asRegister(src, Kind.Float), asRegister(dst, Kind.Float)); + masm.fitos(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Float)); break; case F2D: delaySlotLir.emitControlTransfer(crb, masm); - masm.fstod(asRegister(src, Kind.Float), asRegister(dst, Kind.Double)); + masm.fstod(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Double)); break; case F2L: - masm.fcmp(Fcc0, Fcmps, asRegister(src, Kind.Float), asRegister(src, Kind.Float)); + masm.fcmp(Fcc0, Fcmps, asRegister(src, JavaKind.Float), asRegister(src, JavaKind.Float)); masm.fbpcc(F_Ordered, ANNUL, notOrdered, Fcc0, PREDICT_TAKEN); - masm.fstox(asRegister(src, Kind.Float), asRegister(dst, Kind.Double)); + masm.fstox(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Double)); masm.fxtod(asRegister(dst), asRegister(dst)); - masm.fsubd(asRegister(dst, Kind.Double), asRegister(dst, Kind.Double), asRegister(dst, Kind.Double)); + masm.fsubd(asRegister(dst, JavaKind.Double), asRegister(dst, JavaKind.Double), asRegister(dst, JavaKind.Double)); masm.bind(notOrdered); break; case F2I: - masm.fcmp(Fcc0, Fcmps, asRegister(src, Kind.Float), asRegister(src, Kind.Float)); + masm.fcmp(Fcc0, Fcmps, asRegister(src, JavaKind.Float), asRegister(src, JavaKind.Float)); masm.fbpcc(F_Ordered, ANNUL, notOrdered, Fcc0, PREDICT_TAKEN); - masm.fstoi(asRegister(src, Kind.Float), asRegister(dst, Kind.Float)); - masm.fitos(asRegister(dst, Kind.Float), asRegister(dst, Kind.Float)); - masm.fsubs(asRegister(dst, Kind.Float), asRegister(dst, Kind.Float), asRegister(dst, Kind.Float)); + masm.fstoi(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Float)); + masm.fitos(asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float)); + masm.fsubs(asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float)); masm.bind(notOrdered); break; case D2L: - masm.fcmp(Fcc0, Fcmpd, asRegister(src, Kind.Double), asRegister(src, Kind.Double)); + masm.fcmp(Fcc0, Fcmpd, asRegister(src, JavaKind.Double), asRegister(src, JavaKind.Double)); masm.fbpcc(F_Ordered, ANNUL, notOrdered, Fcc0, PREDICT_TAKEN); - masm.fdtox(asRegister(src, Kind.Double), asRegister(dst, Kind.Double)); - masm.fxtod(asRegister(dst, Kind.Double), asRegister(dst, Kind.Double)); - masm.fsubd(asRegister(dst, Kind.Double), asRegister(dst, Kind.Double), asRegister(dst, Kind.Double)); + masm.fdtox(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Double)); + masm.fxtod(asRegister(dst, JavaKind.Double), asRegister(dst, JavaKind.Double)); + masm.fsubd(asRegister(dst, JavaKind.Double), asRegister(dst, JavaKind.Double), asRegister(dst, JavaKind.Double)); masm.bind(notOrdered); break; case D2I: - masm.fcmp(Fcc0, Fcmpd, asRegister(src, Kind.Double), asRegister(src, Kind.Double)); + masm.fcmp(Fcc0, Fcmpd, asRegister(src, JavaKind.Double), asRegister(src, JavaKind.Double)); masm.fbpcc(F_Ordered, ANNUL, notOrdered, Fcc0, PREDICT_TAKEN); - masm.fdtoi(asRegister(src, Kind.Double), asRegister(dst, Kind.Float)); - masm.fitos(asRegister(dst, Kind.Float), asRegister(dst, Kind.Float)); - masm.fsubs(asRegister(dst, Kind.Float), asRegister(dst, Kind.Float), asRegister(dst, Kind.Float)); + masm.fdtoi(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Float)); + masm.fitos(asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float)); + masm.fsubs(asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float), asRegister(dst, JavaKind.Float)); masm.bind(notOrdered); break; case FNEG: delaySlotLir.emitControlTransfer(crb, masm); - masm.fnegs(asRegister(src, Kind.Float), asRegister(dst, Kind.Float)); + masm.fnegs(asRegister(src, JavaKind.Float), asRegister(dst, JavaKind.Float)); break; case DNEG: delaySlotLir.emitControlTransfer(crb, masm); - masm.fnegd(asRegister(src, Kind.Double), asRegister(dst, Kind.Double)); + masm.fnegd(asRegister(src, JavaKind.Double), asRegister(dst, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere("missing: " + opcode); @@ -798,11 +798,11 @@ } private static void verifyKind(SPARCArithmetic opcode, PlatformKind result, PlatformKind x, PlatformKind y) { - Kind rk; - Kind xk; - Kind yk; - Kind xsk; - Kind ysk; + JavaKind rk; + JavaKind xk; + JavaKind yk; + JavaKind xsk; + JavaKind ysk; switch (opcode) { case IADD: @@ -821,11 +821,11 @@ case IUSHR: case IUDIV: case IUREM: - rk = ((Kind) result).getStackKind(); - xsk = ((Kind) x).getStackKind(); - ysk = ((Kind) y).getStackKind(); + rk = ((JavaKind) result).getStackKind(); + xsk = ((JavaKind) x).getStackKind(); + ysk = ((JavaKind) y).getStackKind(); boolean valid = false; - for (Kind k : new Kind[]{Kind.Int, Kind.Short, Kind.Byte, Kind.Char}) { + for (JavaKind k : new JavaKind[]{JavaKind.Int, JavaKind.Short, JavaKind.Byte, JavaKind.Char}) { valid |= rk == k && xsk == k && ysk == k; } assert valid : "rk: " + rk + " xsk: " + xsk + " ysk: " + ysk; @@ -843,28 +843,28 @@ case LXOR: case LUDIV: case LUREM: - rk = (Kind) result; - xk = (Kind) x; - yk = (Kind) y; - assert rk == Kind.Long && xk == Kind.Long && yk == Kind.Long; + rk = (JavaKind) result; + xk = (JavaKind) x; + yk = (JavaKind) y; + assert rk == JavaKind.Long && xk == JavaKind.Long && yk == JavaKind.Long; break; case LSHL: case LSHR: case LUSHR: - rk = (Kind) result; - xk = (Kind) x; - yk = (Kind) y; - assert rk == Kind.Long && xk == Kind.Long && (yk == Kind.Int || yk == Kind.Long); + rk = (JavaKind) result; + xk = (JavaKind) x; + yk = (JavaKind) y; + assert rk == JavaKind.Long && xk == JavaKind.Long && (yk == JavaKind.Int || yk == JavaKind.Long); break; case FADD: case FSUB: case FMUL: case FDIV: case FREM: - rk = (Kind) result; - xk = (Kind) x; - yk = (Kind) y; - assert (rk == Kind.Float || rk == Kind.Double) && xk == Kind.Float && yk == Kind.Float; + rk = (JavaKind) result; + xk = (JavaKind) x; + yk = (JavaKind) y; + assert (rk == JavaKind.Float || rk == JavaKind.Double) && xk == JavaKind.Float && yk == JavaKind.Float; break; case DAND: case DADD: @@ -872,10 +872,10 @@ case DMUL: case DDIV: case DREM: - rk = (Kind) result; - xk = (Kind) x; - yk = (Kind) y; - assert rk == Kind.Double && xk == Kind.Double && yk == Kind.Double : "opcode=" + opcode + ", result kind=" + rk + ", x kind=" + xk + ", y kind=" + yk; + rk = (JavaKind) result; + xk = (JavaKind) x; + yk = (JavaKind) y; + assert rk == JavaKind.Double && xk == JavaKind.Double && yk == JavaKind.Double : "opcode=" + opcode + ", result kind=" + rk + ", x kind=" + xk + ", y kind=" + yk; break; default: throw JVMCIError.shouldNotReachHere("missing: " + opcode); @@ -908,30 +908,30 @@ case IMUL: masm.sra(asRegister(x), 0, asRegister(x)); masm.sra(asRegister(y), 0, asRegister(y)); - masm.mulx(asRegister(x, Kind.Int), asRegister(y, Kind.Int), asRegister(result, Kind.Int)); - masm.srax(asRegister(result, Kind.Int), 32, asRegister(result, Kind.Int)); + masm.mulx(asRegister(x, JavaKind.Int), asRegister(y, JavaKind.Int), asRegister(result, JavaKind.Int)); + masm.srax(asRegister(result, JavaKind.Int), 32, asRegister(result, JavaKind.Int)); break; case IUMUL: - assert !asRegister(scratch, Kind.Int).equals(asRegister(result, Kind.Int)); - masm.srl(asRegister(x, Kind.Int), 0, asRegister(scratch, Kind.Int)); - masm.srl(asRegister(y, Kind.Int), 0, asRegister(result, Kind.Int)); - masm.mulx(asRegister(result, Kind.Int), asRegister(scratch, Kind.Int), asRegister(result, Kind.Int)); - masm.srlx(asRegister(result, Kind.Int), 32, asRegister(result, Kind.Int)); + assert !asRegister(scratch, JavaKind.Int).equals(asRegister(result, JavaKind.Int)); + masm.srl(asRegister(x, JavaKind.Int), 0, asRegister(scratch, JavaKind.Int)); + masm.srl(asRegister(y, JavaKind.Int), 0, asRegister(result, JavaKind.Int)); + masm.mulx(asRegister(result, JavaKind.Int), asRegister(scratch, JavaKind.Int), asRegister(result, JavaKind.Int)); + masm.srlx(asRegister(result, JavaKind.Int), 32, asRegister(result, JavaKind.Int)); break; case LMUL: - assert !asRegister(scratch, Kind.Long).equals(asRegister(result, Kind.Long)); - masm.umulxhi(asRegister(x, Kind.Long), asRegister(y, Kind.Long), asRegister(result, Kind.Long)); + assert !asRegister(scratch, JavaKind.Long).equals(asRegister(result, JavaKind.Long)); + masm.umulxhi(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(result, JavaKind.Long)); - masm.srlx(asRegister(x, Kind.Long), 63, asRegister(scratch, Kind.Long)); - masm.mulx(asRegister(scratch, Kind.Long), asRegister(y, Kind.Long), asRegister(scratch, Kind.Long)); - masm.sub(asRegister(result, Kind.Long), asRegister(scratch, Kind.Long), asRegister(result, Kind.Long)); + masm.srlx(asRegister(x, JavaKind.Long), 63, asRegister(scratch, JavaKind.Long)); + masm.mulx(asRegister(scratch, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(scratch, JavaKind.Long)); + masm.sub(asRegister(result, JavaKind.Long), asRegister(scratch, JavaKind.Long), asRegister(result, JavaKind.Long)); - masm.srlx(asRegister(y, Kind.Long), 63, asRegister(scratch, Kind.Long)); - masm.mulx(asRegister(scratch, Kind.Long), asRegister(x, Kind.Long), asRegister(scratch, Kind.Long)); - masm.sub(asRegister(result, Kind.Long), asRegister(scratch, Kind.Long), asRegister(result, Kind.Long)); + masm.srlx(asRegister(y, JavaKind.Long), 63, asRegister(scratch, JavaKind.Long)); + masm.mulx(asRegister(scratch, JavaKind.Long), asRegister(x, JavaKind.Long), asRegister(scratch, JavaKind.Long)); + masm.sub(asRegister(result, JavaKind.Long), asRegister(scratch, JavaKind.Long), asRegister(result, JavaKind.Long)); break; case LUMUL: - masm.umulxhi(asRegister(x, Kind.Long), asRegister(y, Kind.Long), asRegister(result, Kind.Long)); + masm.umulxhi(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long), asRegister(result, JavaKind.Long)); break; default: throw JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArrayEqualsOp.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArrayEqualsOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArrayEqualsOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,7 +52,7 @@ public static final LIRInstructionClass TYPE = LIRInstructionClass.create(SPARCArrayEqualsOp.class); public static final SizeEstimate SIZE = SizeEstimate.create(32); - private final Kind kind; + private final JavaKind kind; private final int arrayBaseOffset; private final int arrayIndexScale; @@ -66,7 +66,7 @@ @Temp({REG}) protected Value temp4; @Temp({REG}) protected Value temp5; - public SPARCArrayEqualsOp(LIRGeneratorTool tool, Kind kind, Value result, Value array1, Value array2, Value length) { + public SPARCArrayEqualsOp(LIRGeneratorTool tool, JavaKind kind, Value result, Value array1, Value array2, Value length) { super(TYPE, SIZE); this.kind = kind; @@ -103,7 +103,7 @@ masm.add(asRegister(array2Value), arrayBaseOffset, array2); // Get array length in bytes. - masm.mulx(asRegister(lengthValue, Kind.Int), arrayIndexScale, length); + masm.mulx(asRegister(lengthValue, JavaKind.Int), arrayIndexScale, length); masm.mov(length, result); // copy emit8ByteCompare(masm, result, array1, array2, length, trueLabel, falseLabel); @@ -132,7 +132,7 @@ * Emits code that uses 8-byte vector compares. */ private void emit8ByteCompare(SPARCMacroAssembler masm, Register result, Register array1, Register array2, Register length, Label trueLabel, Label falseLabel) { - assert lengthValue.getPlatformKind().equals(Kind.Int); + assert lengthValue.getPlatformKind().equals(JavaKind.Int); Label loop = new Label(); Label compareTail = new Label(); Label compareTailCorrectVectorEnd = new Label(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCBitManipulationOp.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCBitManipulationOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCBitManipulationOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -68,7 +68,7 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Register dst = asRegister(result, Kind.Int); + Register dst = asRegister(result, JavaKind.Int); if (isRegister(input)) { Register src = asRegister(input); switch (opcode) { @@ -82,12 +82,12 @@ break; case BSF: PlatformKind tkind = input.getPlatformKind(); - if (tkind == Kind.Int) { + if (tkind == JavaKind.Int) { masm.sub(src, 1, dst); masm.andn(dst, src, dst); masm.srl(dst, g0, dst); masm.popc(dst, dst); - } else if (tkind == Kind.Long) { + } else if (tkind == JavaKind.Long) { masm.sub(src, 1, dst); masm.andn(dst, src, dst); masm.popc(dst, dst); @@ -97,7 +97,7 @@ break; case IBSR: { PlatformKind ikind = input.getPlatformKind(); - assert ikind == Kind.Int; + assert ikind == JavaKind.Int; Register tmp = asRegister(scratch); assert !tmp.equals(dst); masm.srl(src, 1, tmp); @@ -117,7 +117,7 @@ } case LBSR: { PlatformKind lkind = input.getPlatformKind(); - assert lkind == Kind.Long; + assert lkind == JavaKind.Long; Register tmp = asRegister(scratch); assert !tmp.equals(dst); masm.srlx(src, 1, tmp); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCByteSwapOp.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCByteSwapOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCByteSwapOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,8 +47,8 @@ super(TYPE, SIZE); this.result = result; this.input = input; - this.tmpSlot = tool.getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(Kind.Long)); - this.tempIndex = tool.newVariable(LIRKind.value(Kind.Long)); + this.tmpSlot = tool.getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(JavaKind.Long)); + this.tempIndex = tool.newVariable(LIRKind.value(JavaKind.Long)); } @Override @@ -56,17 +56,17 @@ SPARCAddress addr = (SPARCAddress) crb.asAddress(tmpSlot); SPARCMove.emitStore(input, addr, result.getPlatformKind(), SPARCDelayedControlTransfer.DUMMY, null, crb, masm); if (addr.getIndex().equals(Register.None)) { - Register tempReg = ValueUtil.asRegister(tempIndex, Kind.Long); + Register tempReg = ValueUtil.asRegister(tempIndex, JavaKind.Long); new SPARCMacroAssembler.Setx(addr.getDisplacement(), tempReg, false).emit(masm); addr = new SPARCAddress(addr.getBase(), tempReg); } getDelayedControlTransfer().emitControlTransfer(crb, masm); - switch ((Kind) input.getPlatformKind()) { + switch ((JavaKind) input.getPlatformKind()) { case Int: - masm.lduwa(addr.getBase(), addr.getIndex(), asRegister(result, Kind.Int), Asi.ASI_PRIMARY_LITTLE); + masm.lduwa(addr.getBase(), addr.getIndex(), asRegister(result, JavaKind.Int), Asi.ASI_PRIMARY_LITTLE); break; case Long: - masm.ldxa(addr.getBase(), addr.getIndex(), asRegister(result, Kind.Long), Asi.ASI_PRIMARY_LITTLE); + masm.ldxa(addr.getBase(), addr.getIndex(), asRegister(result, JavaKind.Long), Asi.ASI_PRIMARY_LITTLE); break; default: throw JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCompare.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCompare.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCompare.java Tue Sep 08 19:57:39 2015 +0200 @@ -70,11 +70,11 @@ assert x.getPlatformKind().equals(y.getPlatformKind()) : x + " " + y; // @formatter:off assert - (name().startsWith("I") && x.getPlatformKind() == Kind.Int && ((Kind) y.getPlatformKind()).getStackKind() == Kind.Int) || - (name().startsWith("L") && x.getPlatformKind() == Kind.Long && y.getPlatformKind() == Kind.Long) || - (name().startsWith("A") && x.getPlatformKind() == Kind.Object && y.getPlatformKind() == Kind.Object) || - (name().startsWith("F") && x.getPlatformKind() == Kind.Float && y.getPlatformKind() == Kind.Float) || - (name().startsWith("D") && x.getPlatformKind() == Kind.Double && y.getPlatformKind() == Kind.Double) + (name().startsWith("I") && x.getPlatformKind() == JavaKind.Int && ((JavaKind) y.getPlatformKind()).getStackKind() == JavaKind.Int) || + (name().startsWith("L") && x.getPlatformKind() == JavaKind.Long && y.getPlatformKind() == JavaKind.Long) || + (name().startsWith("A") && x.getPlatformKind() == JavaKind.Object && y.getPlatformKind() == JavaKind.Object) || + (name().startsWith("F") && x.getPlatformKind() == JavaKind.Float && y.getPlatformKind() == JavaKind.Float) || + (name().startsWith("D") && x.getPlatformKind() == JavaKind.Double && y.getPlatformKind() == JavaKind.Double) : "Name; " + name() + " x: " + x + " y: " + y; // @formatter:on } @@ -84,19 +84,19 @@ if (isRegister(y)) { switch (opcode) { case ICMP: - masm.cmp(asRegister(x, Kind.Int), asRegister(y, Kind.Int)); + masm.cmp(asRegister(x, JavaKind.Int), asRegister(y, JavaKind.Int)); break; case LCMP: - masm.cmp(asRegister(x, Kind.Long), asRegister(y, Kind.Long)); + masm.cmp(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long)); break; case ACMP: masm.cmp(asRegister(x), asRegister(y)); break; case FCMP: - masm.fcmp(Fcc0, Fcmps, asRegister(x, Kind.Float), asRegister(y, Kind.Float)); + masm.fcmp(Fcc0, Fcmps, asRegister(x, JavaKind.Float), asRegister(y, JavaKind.Float)); break; case DCMP: - masm.fcmp(Fcc0, Fcmpd, asRegister(x, Kind.Double), asRegister(y, Kind.Double)); + masm.fcmp(Fcc0, Fcmpd, asRegister(x, JavaKind.Double), asRegister(y, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere(); @@ -106,11 +106,11 @@ switch (opcode) { case LCMP: assert isSimm13(crb.asLongConst(y)); - masm.cmp(asRegister(x, Kind.Long), (int) crb.asLongConst(y)); + masm.cmp(asRegister(x, JavaKind.Long), (int) crb.asLongConst(y)); break; case ICMP: assert isSimm13(crb.asIntConst(y)); - masm.cmp(asRegister(x, Kind.Int), crb.asIntConst(y)); + masm.cmp(asRegister(x, JavaKind.Int), crb.asIntConst(y)); break; case ACMP: if (asJavaConstant(y).isNull()) { @@ -120,10 +120,10 @@ throw JVMCIError.shouldNotReachHere("Only null object constants are allowed in comparisons"); } case FCMP: - masm.fcmp(Fcc0, Fcmps, asRegister(x, Kind.Float), asRegister(y, Kind.Float)); + masm.fcmp(Fcc0, Fcmps, asRegister(x, JavaKind.Float), asRegister(y, JavaKind.Float)); break; case DCMP: - masm.fcmp(Fcc0, Fcmpd, asRegister(x, Kind.Double), asRegister(y, Kind.Double)); + masm.fcmp(Fcc0, Fcmpd, asRegister(x, JavaKind.Double), asRegister(y, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java Tue Sep 08 19:57:39 2015 +0200 @@ -85,7 +85,7 @@ public static final class CompareBranchOp extends SPARCBlockEndOp implements SPARCDelayedControlTransfer { public static final LIRInstructionClass TYPE = LIRInstructionClass.create(CompareBranchOp.class); public static final SizeEstimate SIZE = SizeEstimate.create(3); - static final EnumSet SUPPORTED_KINDS = EnumSet.of(Kind.Long, Kind.Int, Kind.Object, Kind.Float, Kind.Double); + static final EnumSet SUPPORTED_KINDS = EnumSet.of(JavaKind.Long, JavaKind.Int, JavaKind.Object, JavaKind.Float, JavaKind.Double); private final SPARCCompare opcode; @Use({REG}) protected Value x; @@ -95,13 +95,13 @@ protected LabelHint trueDestinationHint; protected final LabelRef falseDestination; protected LabelHint falseDestinationHint; - protected final Kind kind; + protected final JavaKind kind; protected final boolean unorderedIsTrue; private boolean emitted = false; private int delaySlotPosition = -1; private double trueDestinationProbability; - public CompareBranchOp(SPARCCompare opcode, Value x, Value y, Condition condition, LabelRef trueDestination, LabelRef falseDestination, Kind kind, boolean unorderedIsTrue, + public CompareBranchOp(SPARCCompare opcode, Value x, Value y, Condition condition, LabelRef trueDestination, LabelRef falseDestination, JavaKind kind, boolean unorderedIsTrue, double trueDestinationProbability) { super(TYPE, SIZE); this.opcode = opcode; @@ -235,21 +235,21 @@ } private static void emitCBCond(SPARCMacroAssembler masm, Value actualX, Value actualY, Label actualTrueTarget, ConditionFlag conditionFlag) { - switch ((Kind) actualX.getLIRKind().getPlatformKind()) { + switch ((JavaKind) actualX.getLIRKind().getPlatformKind()) { case Int: if (isJavaConstant(actualY)) { int constantY = asJavaConstant(actualY).asInt(); - CBCOND.emit(masm, conditionFlag, false, asRegister(actualX, Kind.Int), constantY, actualTrueTarget); + CBCOND.emit(masm, conditionFlag, false, asRegister(actualX, JavaKind.Int), constantY, actualTrueTarget); } else { - CBCOND.emit(masm, conditionFlag, false, asRegister(actualX, Kind.Int), asRegister(actualY, Kind.Int), actualTrueTarget); + CBCOND.emit(masm, conditionFlag, false, asRegister(actualX, JavaKind.Int), asRegister(actualY, JavaKind.Int), actualTrueTarget); } break; case Long: if (isJavaConstant(actualY)) { int constantY = (int) asJavaConstant(actualY).asLong(); - CBCOND.emit(masm, conditionFlag, true, asRegister(actualX, Kind.Long), constantY, actualTrueTarget); + CBCOND.emit(masm, conditionFlag, true, asRegister(actualX, JavaKind.Long), constantY, actualTrueTarget); } else { - CBCOND.emit(masm, conditionFlag, true, asRegister(actualX, Kind.Long), asRegister(actualY, Kind.Long), actualTrueTarget); + CBCOND.emit(masm, conditionFlag, true, asRegister(actualX, JavaKind.Long), asRegister(actualY, JavaKind.Long), actualTrueTarget); } break; case Object: @@ -270,7 +270,7 @@ if (!asm.hasFeature(CPUFeature.CBCOND)) { return false; } - switch ((Kind) x.getPlatformKind()) { + switch ((JavaKind) x.getPlatformKind()) { case Int: case Long: case Object: @@ -336,10 +336,10 @@ protected final ConditionFlag conditionFlag; protected final LabelRef trueDestination; protected final LabelRef falseDestination; - protected final Kind kind; + protected final JavaKind kind; protected final double trueDestinationProbability; - public BranchOp(ConditionFlag conditionFlag, LabelRef trueDestination, LabelRef falseDestination, Kind kind, double trueDestinationProbability) { + public BranchOp(ConditionFlag conditionFlag, LabelRef trueDestination, LabelRef falseDestination, JavaKind kind, double trueDestinationProbability) { super(TYPE, SIZE); this.trueDestination = trueDestination; this.falseDestination = falseDestination; @@ -359,7 +359,7 @@ } } - private static boolean emitBranch(CompilationResultBuilder crb, SPARCMacroAssembler masm, Kind kind, ConditionFlag conditionFlag, LabelRef trueDestination, LabelRef falseDestination, + private static boolean emitBranch(CompilationResultBuilder crb, SPARCMacroAssembler masm, JavaKind kind, ConditionFlag conditionFlag, LabelRef trueDestination, LabelRef falseDestination, boolean withDelayedNop, double trueDestinationProbability) { Label actualTarget; ConditionFlag actualConditionFlag; @@ -380,10 +380,10 @@ // We cannot make use of the delay slot when we jump in true-case and false-case return false; } - if (kind == Kind.Double || kind == Kind.Float) { + if (kind == JavaKind.Double || kind == JavaKind.Float) { masm.fbpcc(actualConditionFlag, NOT_ANNUL, actualTarget, CC.Fcc0, predictTaken); } else { - CC cc = kind == Kind.Int ? CC.Icc : CC.Xcc; + CC cc = kind == JavaKind.Int ? CC.Icc : CC.Xcc; masm.bpcc(actualConditionFlag, NOT_ANNUL, actualTarget, cc, predictTaken); } if (withDelayedNop) { @@ -454,7 +454,7 @@ JavaConstant constant = keyConstants[index]; CC conditionCode; Long bits; - switch (constant.getKind()) { + switch (constant.getJavaKind()) { case Char: case Byte: case Short: @@ -468,7 +468,7 @@ break; } case Object: { - conditionCode = crb.codeCache.getTarget().wordKind == Kind.Long ? CC.Xcc : CC.Icc; + conditionCode = crb.codeCache.getTarget().wordKind == JavaKind.Long ? CC.Xcc : CC.Icc; bits = constant.isDefaultForKind() ? 0L : null; break; } @@ -521,7 +521,7 @@ int constantBytes = 0; for (JavaConstant v : keyConstants) { if (!SPARCAssembler.isSimm13(v)) { - constantBytes += v.getKind().getByteCount(); + constantBytes += v.getJavaKind().getByteCount(); } } return new SizeEstimate(4 * keyTargets.length, constantBytes); @@ -548,8 +548,8 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Register value = asRegister(index, Kind.Int); - Register scratchReg = asRegister(scratch, Kind.Long); + Register value = asRegister(index, JavaKind.Int); + Register scratchReg = asRegister(scratch, JavaKind.Long); // Compare index against jump table bounds int highKey = lowKey + targets.length - 1; @@ -659,7 +659,7 @@ } private static void cmove(SPARCMacroAssembler masm, CC cc, Value result, ConditionFlag cond, Value other) { - switch ((Kind) other.getPlatformKind()) { + switch ((JavaKind) other.getPlatformKind()) { case Boolean: case Byte: case Short: @@ -692,10 +692,10 @@ } break; case Float: - masm.fmovscc(cond, cc, asRegister(other, Kind.Float), asRegister(result, Kind.Float)); + masm.fmovscc(cond, cc, asRegister(other, JavaKind.Float), asRegister(result, JavaKind.Float)); break; case Double: - masm.fmovdcc(cond, cc, asRegister(other, Kind.Double), asRegister(result, Kind.Double)); + masm.fmovdcc(cond, cc, asRegister(other, JavaKind.Double), asRegister(result, JavaKind.Double)); break; default: throw JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java Tue Sep 08 19:57:39 2015 +0200 @@ -128,6 +128,6 @@ public StackSlot allocateDeoptimizationRescueSlot() { assert spillSize == initialSpillSize : "Deoptimization rescue slot must be the first stack slot"; - return allocateSpillSlot(LIRKind.value(Kind.Long)); + return allocateSpillSlot(LIRKind.value(JavaKind.Long)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMathIntrinsicOp.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMathIntrinsicOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMathIntrinsicOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,16 +52,16 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Kind inputKind = (Kind) input.getLIRKind().getPlatformKind(); + JavaKind inputKind = (JavaKind) input.getLIRKind().getPlatformKind(); getDelayedControlTransfer().emitControlTransfer(crb, masm); switch (opcode) { case SQRT: switch (inputKind) { case Float: - masm.fsqrts(asRegister(input, Kind.Float), asRegister(result, Kind.Float)); + masm.fsqrts(asRegister(input, JavaKind.Float), asRegister(result, JavaKind.Float)); break; case Double: - masm.fsqrtd(asRegister(input, Kind.Double), asRegister(result, Kind.Double)); + masm.fsqrtd(asRegister(input, JavaKind.Double), asRegister(result, JavaKind.Double)); break; default: JVMCIError.shouldNotReachHere(); @@ -70,10 +70,10 @@ case ABS: switch (inputKind) { case Float: - masm.fabss(asRegister(input, Kind.Float), asRegister(result, Kind.Float)); + masm.fabss(asRegister(input, JavaKind.Float), asRegister(result, JavaKind.Float)); break; case Double: - masm.fabsd(asRegister(input, Kind.Double), asRegister(result, Kind.Double)); + masm.fabsd(asRegister(input, JavaKind.Double), asRegister(result, JavaKind.Double)); break; default: JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java Tue Sep 08 19:57:39 2015 +0200 @@ -27,7 +27,7 @@ import static com.oracle.graal.lir.LIRValueUtil.*; import static jdk.internal.jvmci.code.MemoryBarriers.*; import static jdk.internal.jvmci.code.ValueUtil.*; -import static jdk.internal.jvmci.meta.Kind.*; +import static jdk.internal.jvmci.meta.JavaKind.*; import static jdk.internal.jvmci.sparc.SPARC.*; import java.util.*; @@ -176,8 +176,8 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { - Kind inputKind = (Kind) input.getPlatformKind(); - Kind resultKind = (Kind) result.getPlatformKind(); + JavaKind inputKind = (JavaKind) input.getPlatformKind(); + JavaKind resultKind = (JavaKind) result.getPlatformKind(); if (AllocatableValue.ILLEGAL.equals(temp)) { moveDirect(crb, masm, inputKind, resultKind); } else { @@ -185,36 +185,36 @@ } } - private void moveDirect(CompilationResultBuilder crb, SPARCMacroAssembler masm, Kind inputKind, Kind resultKind) { + private void moveDirect(CompilationResultBuilder crb, SPARCMacroAssembler masm, JavaKind inputKind, JavaKind resultKind) { getDelayedControlTransfer().emitControlTransfer(crb, masm); if (resultKind == Float) { if (inputKind == Int || inputKind == Short || inputKind == Char || inputKind == Byte) { - masm.movwtos(asRegister(input, Kind.Int), asRegister(result, Kind.Float)); + masm.movwtos(asRegister(input, JavaKind.Int), asRegister(result, JavaKind.Float)); } else { throw JVMCIError.shouldNotReachHere(); } } else if (resultKind == Double) { if (inputKind == Int || inputKind == Short || inputKind == Char || inputKind == Byte) { - masm.movxtod(asRegister(input, Kind.Int), asRegister(result, Kind.Double)); + masm.movxtod(asRegister(input, JavaKind.Int), asRegister(result, JavaKind.Double)); } else { - masm.movxtod(asRegister(input, Kind.Long), asRegister(result, Kind.Double)); + masm.movxtod(asRegister(input, JavaKind.Long), asRegister(result, JavaKind.Double)); } } else if (inputKind == Float) { if (resultKind == Int || resultKind == Short || resultKind == Byte) { - masm.movstosw(asRegister(input, Kind.Float), asRegister(result, Kind.Int)); + masm.movstosw(asRegister(input, JavaKind.Float), asRegister(result, JavaKind.Int)); } else { - masm.movstouw(asRegister(input, Kind.Float), asRegister(result, Kind.Int)); + masm.movstouw(asRegister(input, JavaKind.Float), asRegister(result, JavaKind.Int)); } } else if (inputKind == Double) { if (resultKind == Long) { - masm.movdtox(asRegister(input, Kind.Double), asRegister(result, Kind.Long)); + masm.movdtox(asRegister(input, JavaKind.Double), asRegister(result, JavaKind.Long)); } else { throw JVMCIError.shouldNotReachHere(); } } } - private void moveViaStack(CompilationResultBuilder crb, SPARCMacroAssembler masm, Kind inputKind, Kind resultKind) { + private void moveViaStack(CompilationResultBuilder crb, SPARCMacroAssembler masm, JavaKind inputKind, JavaKind resultKind) { int inputKindSize = crb.target.getSizeInBytes(inputKind); int resultKindSize = crb.target.getSizeInBytes(resultKind); assert inputKindSize == resultKindSize; @@ -297,7 +297,7 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { SPARCAddress address = addressValue.toAddress(); - loadEffectiveAddress(crb, masm, address, asRegister(result, Kind.Long), getDelayedControlTransfer()); + loadEffectiveAddress(crb, masm, address, asRegister(result, JavaKind.Long), getDelayedControlTransfer()); } } @@ -424,7 +424,7 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { SPARCAddress address = (SPARCAddress) crb.asAddress(slot); - loadEffectiveAddress(crb, masm, address, asRegister(result, Kind.Long), getDelayedControlTransfer()); + loadEffectiveAddress(crb, masm, address, asRegister(result, JavaKind.Long), getDelayedControlTransfer()); } } @@ -609,7 +609,7 @@ Register resultRegister = asRegister(result); int byteCount = crb.target.getSizeInBytes(result.getPlatformKind()); Runnable recordReference = () -> crb.recordDataReferenceInCode(input, byteCount); - switch (input.getKind().getStackKind()) { + switch (input.getJavaKind().getStackKind()) { case Int: if (input.isDefaultForKind()) { delaySlotLir.emitControlTransfer(crb, masm); @@ -680,7 +680,7 @@ } break; default: - throw JVMCIError.shouldNotReachHere("missing: " + input.getKind()); + throw JVMCIError.shouldNotReachHere("missing: " + input.getJavaKind()); } } } @@ -688,7 +688,7 @@ protected static void compareAndSwap(CompilationResultBuilder crb, SPARCMacroAssembler masm, AllocatableValue address, AllocatableValue cmpValue, AllocatableValue newValue, SPARCDelayedControlTransfer delay) { delay.emitControlTransfer(crb, masm); - switch ((Kind) cmpValue.getPlatformKind()) { + switch ((JavaKind) cmpValue.getPlatformKind()) { case Int: masm.cas(asRegister(address), asRegister(cmpValue), asRegister(newValue)); break; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCTestOp.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCTestOp.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCTestOp.java Tue Sep 08 19:57:39 2015 +0200 @@ -49,31 +49,31 @@ @Override public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { if (isRegister(y)) { - switch ((Kind) x.getPlatformKind()) { + switch ((JavaKind) x.getPlatformKind()) { case Short: case Byte: case Char: case Boolean: case Int: - masm.andcc(asRegister(x, Kind.Int), asRegister(y, Kind.Int), g0); + masm.andcc(asRegister(x, JavaKind.Int), asRegister(y, JavaKind.Int), g0); break; case Long: - masm.andcc(asRegister(x, Kind.Long), asRegister(y, Kind.Long), g0); + masm.andcc(asRegister(x, JavaKind.Long), asRegister(y, JavaKind.Long), g0); break; default: throw JVMCIError.shouldNotReachHere(); } } else if (isJavaConstant(y)) { - switch ((Kind) x.getPlatformKind()) { + switch ((JavaKind) x.getPlatformKind()) { case Short: case Byte: case Char: case Boolean: case Int: - masm.andcc(asRegister(x, Kind.Int), crb.asIntConst(y), g0); + masm.andcc(asRegister(x, JavaKind.Int), crb.asIntConst(y), g0); break; case Long: - masm.andcc(asRegister(x, Kind.Long), crb.asIntConst(y), g0); + masm.andcc(asRegister(x, JavaKind.Long), crb.asIntConst(y), g0); break; default: throw JVMCIError.shouldNotReachHere(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/GenericValueMapTest.java --- a/graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/GenericValueMapTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/GenericValueMapTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -39,7 +39,7 @@ RegisterCategory cat = new RegisterCategory("regs"); RegisterValue reg = new Register(0, 0, "reg0", cat).asValue(); - Variable var = new Variable(LIRKind.value(Kind.Long), 0); + Variable var = new Variable(LIRKind.value(JavaKind.Long), 0); Object obj0 = new Object(); Object obj1 = new Object(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -216,7 +216,7 @@ * including long constants that fit into the 32-bit range. */ public int asIntConst(Value value) { - assert isJavaConstant(value) && asJavaConstant(value).getKind().isNumericInteger(); + assert isJavaConstant(value) && asJavaConstant(value).getJavaKind().isNumericInteger(); JavaConstant constant = asJavaConstant(value); assert !codeCache.needsDataPatch(constant) : constant + " should be in a DataPatch"; long c = constant.asLong(); @@ -230,7 +230,7 @@ * Returns the float value of any constant that can be represented by a 32-bit float value. */ public float asFloatConst(Value value) { - assert isJavaConstant(value) && asJavaConstant(value).getKind() == Kind.Float; + assert isJavaConstant(value) && asJavaConstant(value).getJavaKind() == JavaKind.Float; JavaConstant constant = asJavaConstant(value); assert !codeCache.needsDataPatch(constant) : constant + " should be in a DataPatch"; return constant.asFloat(); @@ -240,7 +240,7 @@ * Returns the long value of any constant that can be represented by a 64-bit long value. */ public long asLongConst(Value value) { - assert isJavaConstant(value) && asJavaConstant(value).getKind() == Kind.Long; + assert isJavaConstant(value) && asJavaConstant(value).getJavaKind() == JavaKind.Long; JavaConstant constant = asJavaConstant(value); assert !codeCache.needsDataPatch(constant) : constant + " should be in a DataPatch"; return constant.asLong(); @@ -250,7 +250,7 @@ * Returns the double value of any constant that can be represented by a 64-bit float value. */ public double asDoubleConst(Value value) { - assert isJavaConstant(value) && asJavaConstant(value).getKind() == Kind.Double; + assert isJavaConstant(value) && asJavaConstant(value).getJavaKind() == JavaKind.Double; JavaConstant constant = asJavaConstant(value); assert !codeCache.needsDataPatch(constant) : constant + " should be in a DataPatch"; return constant.asDouble(); @@ -264,7 +264,7 @@ } public AbstractAddress asFloatConstRef(JavaConstant value, int alignment) { - assert value.getKind() == Kind.Float; + assert value.getJavaKind() == JavaKind.Float; return recordDataReferenceInCode(value, alignment); } @@ -276,7 +276,7 @@ } public AbstractAddress asDoubleConstRef(JavaConstant value, int alignment) { - assert value.getKind() == Kind.Double; + assert value.getJavaKind() == JavaKind.Double; return recordDataReferenceInCode(value, alignment); } @@ -284,7 +284,7 @@ * Returns the address of a long constant that is embedded as a data reference into the code. */ public AbstractAddress asLongConstRef(JavaConstant value) { - assert value.getKind() == Kind.Long; + assert value.getJavaKind() == JavaKind.Long; return recordDataReferenceInCode(value, 8); } @@ -292,37 +292,37 @@ * Returns the address of an object constant that is embedded as a data reference into the code. */ public AbstractAddress asObjectConstRef(JavaConstant value) { - assert value.getKind() == Kind.Object; + assert value.getJavaKind() == JavaKind.Object; return recordDataReferenceInCode(value, 8); } public AbstractAddress asByteAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Byte.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Byte.getByteCount(); return asAddress(value); } public AbstractAddress asShortAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Short.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Short.getByteCount(); return asAddress(value); } public AbstractAddress asIntAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Int.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Int.getByteCount(); return asAddress(value); } public AbstractAddress asLongAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Long.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Long.getByteCount(); return asAddress(value); } public AbstractAddress asFloatAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Float.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Float.getByteCount(); return asAddress(value); } public AbstractAddress asDoubleAddr(Value value) { - assert value.getPlatformKind().getSizeInBytes() >= Kind.Double.getByteCount(); + assert value.getPlatformKind().getSizeInBytes() >= JavaKind.Double.getByteCount(); return asAddress(value); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarker.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarker.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarker.java Tue Sep 08 19:57:39 2015 +0200 @@ -167,7 +167,7 @@ } currentSet.remove(operand); } else { - assert isIllegal(operand) || operand.getPlatformKind() != Kind.Illegal || mode == OperandMode.TEMP : String.format("Illegal PlatformKind is only allowed for TEMP mode: %s, %s", + assert isIllegal(operand) || operand.getPlatformKind() != JavaKind.Illegal || mode == OperandMode.TEMP : String.format("Illegal PlatformKind is only allowed for TEMP mode: %s, %s", operand, mode); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java Tue Sep 08 19:57:39 2015 +0200 @@ -65,7 +65,7 @@ @Override protected boolean shouldProcessValue(Value operand) { - return (isRegister(operand) && attributes(asRegister(operand)).isAllocatable() || isStackSlot(operand)) && operand.getPlatformKind() != Kind.Illegal; + return (isRegister(operand) && attributes(asRegister(operand)).isAllocatable() || isStackSlot(operand)) && operand.getPlatformKind() != JavaKind.Illegal; } /** diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMap.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMap.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMap.java Tue Sep 08 19:57:39 2015 +0200 @@ -291,7 +291,7 @@ for (int slotIndex = 0; slotIndex < slots; slotIndex++) { StackSlot objectSlot = null; if (objects.get(slotIndex)) { - objectSlot = allocateNewSpillSlot(LIRKind.reference(Kind.Object), slotIndex * getTarget().wordSize); + objectSlot = allocateNewSpillSlot(LIRKind.reference(JavaKind.Object), slotIndex * getTarget().wordSize); addObjectStackSlot(objectSlot); } if (slotIndex == 0) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMapBuilderImpl.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMapBuilderImpl.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMapBuilderImpl.java Tue Sep 08 19:57:39 2015 +0200 @@ -74,7 +74,7 @@ if (outObjectStackSlots != null) { throw JVMCIError.unimplemented(); } - VirtualStackSlotRange slot = new VirtualStackSlotRange(numStackSlots++, slots, objects, frameMap.getTarget().getLIRKind(Kind.Object)); + VirtualStackSlotRange slot = new VirtualStackSlotRange(numStackSlots++, slots, objects, frameMap.getTarget().getLIRKind(JavaKind.Object)); stackSlots.add(slot); return slot; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/DefaultLIRKindTool.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/DefaultLIRKindTool.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/DefaultLIRKindTool.java Tue Sep 08 19:57:39 2015 +0200 @@ -41,23 +41,23 @@ public LIRKind getIntegerKind(int bits) { if (bits <= 8) { - return LIRKind.value(Kind.Byte); + return LIRKind.value(JavaKind.Byte); } else if (bits <= 16) { - return LIRKind.value(Kind.Short); + return LIRKind.value(JavaKind.Short); } else if (bits <= 32) { - return LIRKind.value(Kind.Int); + return LIRKind.value(JavaKind.Int); } else { assert bits <= 64; - return LIRKind.value(Kind.Long); + return LIRKind.value(JavaKind.Long); } } public LIRKind getFloatingKind(int bits) { switch (bits) { case 32: - return LIRKind.value(Kind.Float); + return LIRKind.value(JavaKind.Float); case 64: - return LIRKind.value(Kind.Double); + return LIRKind.value(JavaKind.Double); default: throw JVMCIError.shouldNotReachHere(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Tue Sep 08 19:57:39 2015 +0200 @@ -129,7 +129,7 @@ @Override public Value emitJavaConstant(JavaConstant constant) { - return emitConstant(target().getLIRKind(constant.getKind()), constant); + return emitConstant(target().getLIRKind(constant.getJavaKind()), constant); } @Override @@ -188,7 +188,7 @@ * {@code kind} */ public AllocatableValue resultOperandFor(LIRKind kind) { - return res.getFrameMapBuilder().getRegisterConfig().getReturnRegister((Kind) kind.getPlatformKind()).asValue(kind); + return res.getFrameMapBuilder().getRegisterConfig().getReturnRegister((JavaKind) kind.getPlatformKind()).asValue(kind); } public I append(I op) { @@ -360,7 +360,7 @@ */ protected JavaConstant zapValueForKind(PlatformKind kind) { long dead = 0xDEADDEADDEADDEADL; - switch ((Kind) kind) { + switch ((JavaKind) kind) { case Boolean: return JavaConstant.FALSE; case Byte: @@ -421,7 +421,7 @@ // automatic derived reference handling protected boolean isNumericInteger(PlatformKind kind) { - return ((Kind) kind).isNumericInteger(); + return ((JavaKind) kind).isNumericInteger(); } protected abstract Variable emitAdd(LIRKind resultKind, Value a, Value b, boolean setFlags); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java Tue Sep 08 19:57:39 2015 +0200 @@ -209,7 +209,7 @@ Variable emitByteSwap(Value operand); - Variable emitArrayEquals(Kind kind, Value array1, Value array2, Value length); + Variable emitArrayEquals(JavaKind kind, Value array1, Value array2, Value length); void emitBlackhole(Value operand); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/profiling/MoveProfiling.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/profiling/MoveProfiling.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/profiling/MoveProfiling.java Tue Sep 08 19:57:39 2015 +0200 @@ -141,7 +141,7 @@ int i = cnt[type.ordinal()]; if (i > 0) { names.add(type.toString()); - increments.add(new ConstantValue(target.getLIRKind(Kind.Int), JavaConstant.forInt(i))); + increments.add(new ConstantValue(target.getLIRKind(JavaKind.Int), JavaConstant.forInt(i))); } } String[] groups = new String[names.size()]; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java --- a/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -101,36 +101,36 @@ @Test public void testPositiveRanges() { - assertEquals(new IntegerStamp(32, 0, 0, 0, 0), StampFactory.forInteger(Kind.Int, 0, 0)); - assertEquals(new IntegerStamp(32, 0, 1, 0, 1), StampFactory.forInteger(Kind.Int, 0, 1)); - assertEquals(new IntegerStamp(32, 0, 0x123, 0, 0x1ff), StampFactory.forInteger(Kind.Int, 0, 0x123)); - assertEquals(new IntegerStamp(32, 0x120, 0x123, 0x120, 0x123), StampFactory.forInteger(Kind.Int, 0x120, 0x123)); - assertEquals(new IntegerStamp(32, 10000, 15000, 0x2000, 0x3fff), StampFactory.forInteger(Kind.Int, 10000, 15000)); - assertEquals(new IntegerStamp(64, 0, 1, 0, 1), StampFactory.forInteger(Kind.Long, 0, 1)); - assertEquals(new IntegerStamp(64, 10000, 15000, 0x2000, 0x3fff), StampFactory.forInteger(Kind.Long, 10000, 15000)); - assertEquals(new IntegerStamp(64, 140000000000L, 150000000000L, 0x2000000000L, 0x23ffffffffL), StampFactory.forInteger(Kind.Long, 140000000000L, 150000000000L)); + assertEquals(new IntegerStamp(32, 0, 0, 0, 0), StampFactory.forInteger(JavaKind.Int, 0, 0)); + assertEquals(new IntegerStamp(32, 0, 1, 0, 1), StampFactory.forInteger(JavaKind.Int, 0, 1)); + assertEquals(new IntegerStamp(32, 0, 0x123, 0, 0x1ff), StampFactory.forInteger(JavaKind.Int, 0, 0x123)); + assertEquals(new IntegerStamp(32, 0x120, 0x123, 0x120, 0x123), StampFactory.forInteger(JavaKind.Int, 0x120, 0x123)); + assertEquals(new IntegerStamp(32, 10000, 15000, 0x2000, 0x3fff), StampFactory.forInteger(JavaKind.Int, 10000, 15000)); + assertEquals(new IntegerStamp(64, 0, 1, 0, 1), StampFactory.forInteger(JavaKind.Long, 0, 1)); + assertEquals(new IntegerStamp(64, 10000, 15000, 0x2000, 0x3fff), StampFactory.forInteger(JavaKind.Long, 10000, 15000)); + assertEquals(new IntegerStamp(64, 140000000000L, 150000000000L, 0x2000000000L, 0x23ffffffffL), StampFactory.forInteger(JavaKind.Long, 140000000000L, 150000000000L)); } @Test public void testNegativeRanges() { - assertEquals(new IntegerStamp(32, -2, -1, 0xfffffffeL, 0xffffffffL), StampFactory.forInteger(Kind.Int, -2, -1)); - assertEquals(new IntegerStamp(32, -20, -10, 0xffffffe0L, 0xffffffffL), StampFactory.forInteger(Kind.Int, -20, -10)); - assertEquals(new IntegerStamp(32, -10000, 0, 0, 0xffffffffL), StampFactory.forInteger(Kind.Int, -10000, 0)); - assertEquals(new IntegerStamp(32, -10000, -1, 0xffffc000L, 0xffffffffL), StampFactory.forInteger(Kind.Int, -10000, -1)); - assertEquals(new IntegerStamp(32, -10010, -10000, 0xffffd8e0L, 0xffffd8ffL), StampFactory.forInteger(Kind.Int, -10010, -10000)); - assertEquals(new IntegerStamp(64, -2, -1, 0xfffffffffffffffeL, 0xffffffffffffffffL), StampFactory.forInteger(Kind.Long, -2, -1)); - assertEquals(new IntegerStamp(64, -10010, -10000, 0xffffffffffffd8e0L, 0xffffffffffffd8ffL), StampFactory.forInteger(Kind.Long, -10010, -10000)); - assertEquals(new IntegerStamp(64, -150000000000L, -140000000000L, 0xffffffdc00000000L, 0xffffffdfffffffffL), StampFactory.forInteger(Kind.Long, -150000000000L, -140000000000L)); + assertEquals(new IntegerStamp(32, -2, -1, 0xfffffffeL, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -2, -1)); + assertEquals(new IntegerStamp(32, -20, -10, 0xffffffe0L, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -20, -10)); + assertEquals(new IntegerStamp(32, -10000, 0, 0, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -10000, 0)); + assertEquals(new IntegerStamp(32, -10000, -1, 0xffffc000L, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -10000, -1)); + assertEquals(new IntegerStamp(32, -10010, -10000, 0xffffd8e0L, 0xffffd8ffL), StampFactory.forInteger(JavaKind.Int, -10010, -10000)); + assertEquals(new IntegerStamp(64, -2, -1, 0xfffffffffffffffeL, 0xffffffffffffffffL), StampFactory.forInteger(JavaKind.Long, -2, -1)); + assertEquals(new IntegerStamp(64, -10010, -10000, 0xffffffffffffd8e0L, 0xffffffffffffd8ffL), StampFactory.forInteger(JavaKind.Long, -10010, -10000)); + assertEquals(new IntegerStamp(64, -150000000000L, -140000000000L, 0xffffffdc00000000L, 0xffffffdfffffffffL), StampFactory.forInteger(JavaKind.Long, -150000000000L, -140000000000L)); } @Test public void testMixedRanges() { - assertEquals(new IntegerStamp(32, -1, 0, 0, 0xffffffffL), StampFactory.forInteger(Kind.Int, -1, 0)); - assertEquals(new IntegerStamp(32, -10000, 1000, 0, 0xffffffffL), StampFactory.forInteger(Kind.Int, -10000, 1000)); - assertEquals(new IntegerStamp(64, -10000, 1000, 0, 0xffffffffffffffffL), StampFactory.forInteger(Kind.Long, -10000, 1000)); + assertEquals(new IntegerStamp(32, -1, 0, 0, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -1, 0)); + assertEquals(new IntegerStamp(32, -10000, 1000, 0, 0xffffffffL), StampFactory.forInteger(JavaKind.Int, -10000, 1000)); + assertEquals(new IntegerStamp(64, -10000, 1000, 0, 0xffffffffffffffffL), StampFactory.forInteger(JavaKind.Long, -10000, 1000)); } - private static Stamp narrowingKindConversion(IntegerStamp stamp, Kind kind) { + private static Stamp narrowingKindConversion(IntegerStamp stamp, JavaKind kind) { Stamp narrow = IntegerStamp.OPS.getNarrow().foldStamp(stamp.getBits(), kind.getBitCount(), stamp); IntegerConvertOp implicitExtend = kind.isUnsigned() ? IntegerStamp.OPS.getZeroExtend() : IntegerStamp.OPS.getSignExtend(); return implicitExtend.foldStamp(kind.getBitCount(), 32, narrow); @@ -139,32 +139,35 @@ @Test public void testNarrowingConversions() { // byte cases - assertEquals(StampFactory.forInteger(Kind.Int, 0, 0), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 0, 0), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 0, 10), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 10, 20), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, -10, 0), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -10, 0), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, -20, -10), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -20, -10), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 100, 200), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -100, 200), Kind.Byte)); - assertEquals(StampFactory.forInteger(Kind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -200, -100), Kind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 0), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 0, 0), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 0, 10), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 10, 20), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, -10, 0), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -10, 0), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, -20, -10), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -20, -10), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 100, 200), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -100, 200), JavaKind.Byte)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Byte.MIN_VALUE, Byte.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -200, -100), JavaKind.Byte)); // char cases - assertEquals(StampFactory.forInteger(Kind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 0, 10), Kind.Char)); - assertEquals(StampFactory.forInteger(Kind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 10, 20), Kind.Char)); - assertEquals(StampFactory.forInteger(Kind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 20000, 80000), Kind.Char)); - assertEquals(StampFactory.forInteger(Kind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -10000, 40000), Kind.Char)); - assertEquals(StampFactory.forInteger(Kind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -40000, -10000), Kind.Char)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 0, 10), JavaKind.Char)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 10, 20), JavaKind.Char)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 20000, 80000), JavaKind.Char)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -10000, 40000), JavaKind.Char)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Character.MIN_VALUE, Character.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -40000, -10000), JavaKind.Char)); // short cases - assertEquals(StampFactory.forInteger(Kind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 0, 10), Kind.Short)); - assertEquals(StampFactory.forInteger(Kind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 10, 20), Kind.Short)); - assertEquals(StampFactory.forInteger(Kind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, 20000, 40000), Kind.Short)); - assertEquals(StampFactory.forInteger(Kind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -10000, 40000), Kind.Short)); - assertEquals(StampFactory.forInteger(Kind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Int, -40000, -10000), Kind.Short)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 0, 10), JavaKind.Short)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 10, 20), JavaKind.Short)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, 20000, 40000), JavaKind.Short)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -10000, 40000), JavaKind.Short)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Short.MIN_VALUE, Short.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(JavaKind.Int, -40000, -10000), JavaKind.Short)); // int cases - assertEquals(StampFactory.forInteger(Kind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(Kind.Long, 0, 10), Kind.Int)); - assertEquals(StampFactory.forInteger(Kind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(Kind.Long, 10, 20), Kind.Int)); - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Long, 20000000000L, 40000000000L), Kind.Int)); - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Long, -10000000000L, 40000000000L), Kind.Int)); - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), narrowingKindConversion(StampFactory.forInteger(Kind.Long, -40000000000L, -10000000000L), Kind.Int)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 10), narrowingKindConversion(StampFactory.forInteger(JavaKind.Long, 0, 10), JavaKind.Int)); + assertEquals(StampFactory.forInteger(JavaKind.Int, 10, 20), narrowingKindConversion(StampFactory.forInteger(JavaKind.Long, 10, 20), JavaKind.Int)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), + narrowingKindConversion(StampFactory.forInteger(JavaKind.Long, 20000000000L, 40000000000L), JavaKind.Int)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), + narrowingKindConversion(StampFactory.forInteger(JavaKind.Long, -10000000000L, 40000000000L), JavaKind.Int)); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE), + narrowingKindConversion(StampFactory.forInteger(JavaKind.Long, -40000000000L, -10000000000L), JavaKind.Int)); } @Test @@ -182,94 +185,94 @@ @Test public void testAddIntSimple() { - assertEquals(StampFactory.forInteger(Kind.Int, 0, 30, 0, 31), addIntStamp(StampFactory.forInteger(Kind.Int, 0, 10), StampFactory.forInteger(Kind.Int, 0, 20))); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 30, 0, 31), addIntStamp(StampFactory.forInteger(JavaKind.Int, 0, 10), StampFactory.forInteger(JavaKind.Int, 0, 20))); } @Test public void testAddNegativeOverFlowInt1() { - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE, 0, 0xffff_ffffL), - addIntStamp(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, 0), StampFactory.forInteger(Kind.Int, -1, 0))); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE, 0, 0xffff_ffffL), + addIntStamp(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, 0), StampFactory.forInteger(JavaKind.Int, -1, 0))); } @Test public void testAddNegativeOverFlowInt2() { - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MAX_VALUE - 2, Integer.MAX_VALUE, 0x7fff_fffcL, 0x7fff_ffffL), - addIntStamp(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MIN_VALUE + 1), StampFactory.forInteger(Kind.Int, -3, -2))); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MAX_VALUE - 2, Integer.MAX_VALUE, 0x7fff_fffcL, 0x7fff_ffffL), + addIntStamp(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MIN_VALUE + 1), StampFactory.forInteger(JavaKind.Int, -3, -2))); } @Test public void testAddPositiveOverFlowInt1() { - assertEquals(StampFactory.forKind(Kind.Int), addIntStamp(StampFactory.forInteger(Kind.Int, 0, 1), StampFactory.forInteger(Kind.Int, 0, Integer.MAX_VALUE))); + assertEquals(StampFactory.forKind(JavaKind.Int), addIntStamp(StampFactory.forInteger(JavaKind.Int, 0, 1), StampFactory.forInteger(JavaKind.Int, 0, Integer.MAX_VALUE))); } @Test public void testAddPositiveOverFlowInt2() { - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MIN_VALUE + 2), - addIntStamp(StampFactory.forInteger(Kind.Int, Integer.MAX_VALUE - 1, Integer.MAX_VALUE), StampFactory.forInteger(Kind.Int, 2, 3))); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MIN_VALUE + 2), + addIntStamp(StampFactory.forInteger(JavaKind.Int, Integer.MAX_VALUE - 1, Integer.MAX_VALUE), StampFactory.forInteger(JavaKind.Int, 2, 3))); } @Test public void testAddOverFlowsInt() { - assertEquals(StampFactory.forKind(Kind.Int), addIntStamp(StampFactory.forInteger(Kind.Int, -1, 1), StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE))); + assertEquals(StampFactory.forKind(JavaKind.Int), addIntStamp(StampFactory.forInteger(JavaKind.Int, -1, 1), StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE, Integer.MAX_VALUE))); } @Test public void testAddLongSimple() { - assertEquals(StampFactory.forInteger(Kind.Long, 0, 30, 0, 31), addIntStamp(StampFactory.forInteger(Kind.Long, 0, 10), StampFactory.forInteger(Kind.Long, 0, 20))); + assertEquals(StampFactory.forInteger(JavaKind.Long, 0, 30, 0, 31), addIntStamp(StampFactory.forInteger(JavaKind.Long, 0, 10), StampFactory.forInteger(JavaKind.Long, 0, 20))); } @Test public void testAddNegativOverFlowLong1() { - assertEquals(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MAX_VALUE, 0, 0xffff_ffff_ffff_ffffL), - addIntStamp(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 1), StampFactory.forInteger(Kind.Long, Integer.MIN_VALUE, Integer.MAX_VALUE))); + assertEquals(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MAX_VALUE, 0, 0xffff_ffff_ffff_ffffL), + addIntStamp(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 1), StampFactory.forInteger(JavaKind.Long, Integer.MIN_VALUE, Integer.MAX_VALUE))); } @Test public void testAddNegativeOverFlowLong2() { - assertEquals(StampFactory.forInteger(Kind.Long, Long.MAX_VALUE - 2, Long.MAX_VALUE), - addIntStamp(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 1), StampFactory.forInteger(Kind.Long, -3, -2))); + assertEquals(StampFactory.forInteger(JavaKind.Long, Long.MAX_VALUE - 2, Long.MAX_VALUE), + addIntStamp(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 1), StampFactory.forInteger(JavaKind.Long, -3, -2))); } @Test public void testAddPositiveOverFlowLong1() { - assertEquals(StampFactory.forKind(Kind.Long), addIntStamp(StampFactory.forInteger(Kind.Long, 0, 1), StampFactory.forInteger(Kind.Long, 0, Long.MAX_VALUE))); + assertEquals(StampFactory.forKind(JavaKind.Long), addIntStamp(StampFactory.forInteger(JavaKind.Long, 0, 1), StampFactory.forInteger(JavaKind.Long, 0, Long.MAX_VALUE))); } @Test public void testAddPositiveOverFlowLong2() { - assertEquals(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 2), - addIntStamp(StampFactory.forInteger(Kind.Long, Long.MAX_VALUE - 1, Long.MAX_VALUE), StampFactory.forInteger(Kind.Long, 2, 3))); + assertEquals(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MIN_VALUE + 2), + addIntStamp(StampFactory.forInteger(JavaKind.Long, Long.MAX_VALUE - 1, Long.MAX_VALUE), StampFactory.forInteger(JavaKind.Long, 2, 3))); } @Test public void testAddOverFlowsLong() { - assertEquals(StampFactory.forKind(Kind.Long), addIntStamp(StampFactory.forInteger(Kind.Long, -1, 1), StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MAX_VALUE))); + assertEquals(StampFactory.forKind(JavaKind.Long), addIntStamp(StampFactory.forInteger(JavaKind.Long, -1, 1), StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MAX_VALUE))); } @Test public void testAdd1() { - assertEquals(StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE + 1, 31 + (Integer.MIN_VALUE + 1)), - addIntStamp(StampFactory.forInteger(Kind.Int, 0, 31), StampFactory.forInteger(Kind.Int, Integer.MIN_VALUE + 1, Integer.MIN_VALUE + 1))); + assertEquals(StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE + 1, 31 + (Integer.MIN_VALUE + 1)), + addIntStamp(StampFactory.forInteger(JavaKind.Int, 0, 31), StampFactory.forInteger(JavaKind.Int, Integer.MIN_VALUE + 1, Integer.MIN_VALUE + 1))); } @Test public void testAdd2() { - assertEquals(StampFactory.forInteger(Kind.Int, 0x8000_007e, 0x8000_007f, 0x8000_007eL, 0x8000_007fL), - addIntStamp(StampFactory.forInteger(Kind.Int, 0x7fff_fffe, 0x7fff_ffff, 0x7fff_fffeL, 0x7ffff_fffL), StampFactory.forInteger(Kind.Int, 128, 128))); + assertEquals(StampFactory.forInteger(JavaKind.Int, 0x8000_007e, 0x8000_007f, 0x8000_007eL, 0x8000_007fL), + addIntStamp(StampFactory.forInteger(JavaKind.Int, 0x7fff_fffe, 0x7fff_ffff, 0x7fff_fffeL, 0x7ffff_fffL), StampFactory.forInteger(JavaKind.Int, 128, 128))); } @Test public void testAdd3() { - assertEquals(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL), - addIntStamp(StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL), - StampFactory.forInteger(Kind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL))); + assertEquals(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL), + addIntStamp(StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL), + StampFactory.forInteger(JavaKind.Long, Long.MIN_VALUE, Long.MAX_VALUE - 1, 0, 0xffff_ffff_ffff_fffeL))); } @Test public void testAnd() { assertEquals(new IntegerStamp(32, Integer.MIN_VALUE, 0x40000000L, 0, 0xc0000000L), - IntegerStamp.OPS.getAnd().foldStamp(StampFactory.forKind(Kind.Int), StampFactory.forConstant(JavaConstant.forInt(0xc0000000)))); + IntegerStamp.OPS.getAnd().foldStamp(StampFactory.forKind(JavaKind.Int), StampFactory.forConstant(JavaConstant.forInt(0xc0000000)))); } private static void testSignExtendShort(long lower, long upper) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampJoinTest.java --- a/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampJoinTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampJoinTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -57,7 +57,7 @@ public void testJoin2() { Stamp aExact = StampFactory.exactNonNull(getType(A.class)); Stamp b = StampFactory.declared(getType(B.class)); - Assert.assertEquals(StampFactory.empty(Kind.Object), join(aExact, b)); + Assert.assertEquals(StampFactory.empty(JavaKind.Object), join(aExact, b)); } @Test @@ -71,7 +71,7 @@ public void testJoin4() { Stamp dExactNonNull = StampFactory.exactNonNull(getType(D.class)); Stamp c = StampFactory.declared(getType(C.class)); - Assert.assertEquals(StampFactory.empty(Kind.Object), join(c, dExactNonNull)); + Assert.assertEquals(StampFactory.empty(JavaKind.Object), join(c, dExactNonNull)); } @Test @@ -149,7 +149,7 @@ private void testJoinInterface0(Class typeA, Class typeI) { Stamp a = StampFactory.declared(getType(typeA)); Stamp i = StampFactory.declaredTrusted(getType(typeI)); - Assert.assertNotSame(StampFactory.empty(Kind.Object), join(a, i)); + Assert.assertNotSame(StampFactory.empty(JavaKind.Object), join(a, i)); } private void testJoinInterface1(Class typeA, Class typeI) { @@ -164,7 +164,7 @@ Stamp bExact = StampFactory.exactNonNull(getType(typeB)); Stamp i = StampFactory.declaredTrusted(getType(typeI)); Stamp join = join(i, bExact); - Assert.assertEquals(StampFactory.empty(Kind.Object), join); + Assert.assertEquals(StampFactory.empty(JavaKind.Object), join); } private void testJoinInterface3(Class typeB, Class typeI) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampMeetTest.java --- a/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampMeetTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampMeetTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -115,7 +115,7 @@ ResolvedJavaType type = getType(clazz); for (Stamp test : new Stamp[]{StampFactory.declared(type), StampFactory.declaredNonNull(type), StampFactory.exact(type), StampFactory.exactNonNull(type)}) { if (type.isConcrete() || !((ObjectStamp) test).isExactType()) { - Assert.assertEquals("meeting empty and " + test, test, meet(StampFactory.empty(Kind.Object), test)); + Assert.assertEquals("meeting empty and " + test, test, meet(StampFactory.empty(JavaKind.Object), test)); } } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -47,7 +47,7 @@ protected final Constant value; private static ConstantNode createPrimitive(JavaConstant value) { - assert value.getKind() != Kind.Object; + assert value.getJavaKind() != JavaKind.Object; return new ConstantNode(value, StampFactory.forConstant(value)); } @@ -66,7 +66,7 @@ if (value instanceof VMConstant) { assert stamp instanceof AbstractPointerStamp; } else if (value instanceof PrimitiveConstant) { - if (((PrimitiveConstant) value).getKind() == Kind.Illegal) { + if (((PrimitiveConstant) value).getJavaKind() == JavaKind.Illegal) { assert stamp instanceof IllegalStamp; } else { assert stamp instanceof PrimitiveStamp; @@ -120,10 +120,10 @@ } public static ConstantNode forConstant(JavaConstant constant, MetaAccessProvider metaAccess, StructuredGraph graph) { - if (constant.getKind().getStackKind() == Kind.Int && constant.getKind() != Kind.Int) { + if (constant.getJavaKind().getStackKind() == JavaKind.Int && constant.getJavaKind() != JavaKind.Int) { return forInt(constant.asInt(), graph); } - if (constant.getKind() == Kind.Object) { + if (constant.getJavaKind() == JavaKind.Object) { return unique(graph, new ConstantNode(constant, StampFactory.forConstant(constant, metaAccess))); } else { return unique(graph, createPrimitive(constant)); @@ -131,10 +131,10 @@ } public static ConstantNode forConstant(JavaConstant constant, MetaAccessProvider metaAccess) { - if (constant.getKind().getStackKind() == Kind.Int && constant.getKind() != Kind.Int) { + if (constant.getJavaKind().getStackKind() == JavaKind.Int && constant.getJavaKind() != JavaKind.Int) { return forInt(constant.asInt()); } - if (constant.getKind() == Kind.Object) { + if (constant.getJavaKind() == JavaKind.Object) { return new ConstantNode(constant, StampFactory.forConstant(constant, metaAccess)); } else { return createPrimitive(constant); @@ -153,7 +153,7 @@ * Returns a node for a Java primitive. */ public static ConstantNode forPrimitive(JavaConstant constant, StructuredGraph graph) { - assert constant.getKind() != Kind.Object; + assert constant.getJavaKind() != JavaKind.Object; return forConstant(constant, null, graph); } @@ -161,7 +161,7 @@ * Returns a node for a Java primitive. */ public static ConstantNode forPrimitive(JavaConstant constant) { - assert constant.getKind() != Kind.Object; + assert constant.getJavaKind() != JavaKind.Object; return forConstant(constant, null); } @@ -170,11 +170,11 @@ */ public static ConstantNode forPrimitive(Stamp stamp, JavaConstant constant, StructuredGraph graph) { if (stamp instanceof IntegerStamp) { - assert constant.getKind().isNumericInteger() && stamp.getStackKind() == constant.getKind().getStackKind(); + assert constant.getJavaKind().isNumericInteger() && stamp.getStackKind() == constant.getJavaKind().getStackKind(); IntegerStamp istamp = (IntegerStamp) stamp; return forIntegerBits(istamp.getBits(), constant, graph); } else { - assert constant.getKind().isNumericFloat() && stamp.getStackKind() == constant.getKind(); + assert constant.getJavaKind().isNumericFloat() && stamp.getStackKind() == constant.getJavaKind(); return forPrimitive(constant, graph); } } @@ -185,12 +185,12 @@ public static ConstantNode forPrimitive(Stamp stamp, Constant constant) { if (stamp instanceof IntegerStamp) { PrimitiveConstant primitive = (PrimitiveConstant) constant; - assert primitive.getKind().isNumericInteger() && stamp.getStackKind() == primitive.getKind().getStackKind(); + assert primitive.getJavaKind().isNumericInteger() && stamp.getStackKind() == primitive.getJavaKind().getStackKind(); IntegerStamp istamp = (IntegerStamp) stamp; return forIntegerBits(istamp.getBits(), primitive); } else if (stamp instanceof FloatStamp) { PrimitiveConstant primitive = (PrimitiveConstant) constant; - assert primitive.getKind().isNumericFloat() && stamp.getStackKind() == primitive.getKind(); + assert primitive.getJavaKind().isNumericFloat() && stamp.getStackKind() == primitive.getJavaKind(); return forConstant(primitive, null); } else { assert !(stamp instanceof AbstractObjectStamp); @@ -384,7 +384,7 @@ } } - public static ConstantNode forIntegerKind(Kind kind, long value, StructuredGraph graph) { + public static ConstantNode forIntegerKind(JavaKind kind, long value, StructuredGraph graph) { switch (kind) { case Byte: case Short: @@ -397,7 +397,7 @@ } } - public static ConstantNode forIntegerKind(Kind kind, long value) { + public static ConstantNode forIntegerKind(JavaKind kind, long value) { switch (kind) { case Byte: case Short: @@ -410,7 +410,7 @@ } } - public static ConstantNode forFloatingKind(Kind kind, double value, StructuredGraph graph) { + public static ConstantNode forFloatingKind(JavaKind kind, double value, StructuredGraph graph) { switch (kind) { case Float: return ConstantNode.forFloat((float) value, graph); @@ -421,7 +421,7 @@ } } - public static ConstantNode forFloatingKind(Kind kind, double value) { + public static ConstantNode forFloatingKind(JavaKind kind, double value) { switch (kind) { case Float: return ConstantNode.forFloat((float) value); @@ -446,7 +446,7 @@ return forFloatingKind(stamp.getStackKind(), value); } - public static ConstantNode defaultForKind(Kind kind, StructuredGraph graph) { + public static ConstantNode defaultForKind(JavaKind kind, StructuredGraph graph) { switch (kind) { case Boolean: case Byte: diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,7 +52,7 @@ super(TYPE, stateBefore); assert action != null; assert reason != null; - assert speculation.getKind() == Kind.Object; + assert speculation.getJavaKind() == JavaKind.Object; this.action = action; this.reason = reason; this.debugId = debugId; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,7 +62,7 @@ public static final NodeClass TYPE = NodeClass.create(TwoSlotMarker.class); protected TwoSlotMarker() { - super(TYPE, StampFactory.forKind(Kind.Illegal)); + super(TYPE, StampFactory.forKind(JavaKind.Illegal)); } } @@ -280,11 +280,11 @@ * Creates a copy of this frame state with one stack element of type {@code popKind} popped from * the stack. */ - public FrameState duplicateModifiedDuringCall(int newBci, Kind popKind) { + public FrameState duplicateModifiedDuringCall(int newBci, JavaKind popKind) { return duplicateModified(graph(), newBci, rethrowException, true, popKind, null, null); } - public FrameState duplicateModifiedBeforeCall(int newBci, Kind popKind, Kind[] pushedSlotKinds, ValueNode[] pushedValues) { + public FrameState duplicateModifiedBeforeCall(int newBci, JavaKind popKind, JavaKind[] pushedSlotKinds, ValueNode[] pushedValues) { return duplicateModified(graph(), newBci, rethrowException, false, popKind, pushedSlotKinds, pushedValues); } @@ -294,7 +294,7 @@ * {@code pushedValues} will be formatted correctly in slot encoding: a long or double will be * followed by a null slot. */ - public FrameState duplicateModified(int newBci, boolean newRethrowException, Kind popKind, Kind[] pushedSlotKinds, ValueNode[] pushedValues) { + public FrameState duplicateModified(int newBci, boolean newRethrowException, JavaKind popKind, JavaKind[] pushedSlotKinds, ValueNode[] pushedValues) { return duplicateModified(graph(), newBci, newRethrowException, duringCall, popKind, pushedSlotKinds, pushedValues); } @@ -302,9 +302,9 @@ * Creates a copy of this frame state with the top of stack replaced with with * {@code pushedValue} which must be of type {@code popKind}. */ - public FrameState duplicateModified(Kind popKind, Kind pushedSlotKind, ValueNode pushedValue) { + public FrameState duplicateModified(JavaKind popKind, JavaKind pushedSlotKind, ValueNode pushedValue) { assert pushedValue != null && pushedValue.getStackKind() == popKind; - return duplicateModified(graph(), bci, rethrowException, duringCall, popKind, new Kind[]{pushedSlotKind}, new ValueNode[]{pushedValue}); + return duplicateModified(graph(), bci, rethrowException, duringCall, popKind, new JavaKind[]{pushedSlotKind}, new ValueNode[]{pushedValue}); } /** @@ -313,14 +313,14 @@ * correctly in slot encoding: a long or double will be followed by a null slot. The bci will be * changed to newBci. */ - public FrameState duplicateModified(StructuredGraph graph, int newBci, boolean newRethrowException, boolean newDuringCall, Kind popKind, Kind[] pushedSlotKinds, ValueNode[] pushedValues) { + public FrameState duplicateModified(StructuredGraph graph, int newBci, boolean newRethrowException, boolean newDuringCall, JavaKind popKind, JavaKind[] pushedSlotKinds, ValueNode[] pushedValues) { ArrayList copy; - if (newRethrowException && !rethrowException && popKind == Kind.Void) { - assert popKind == Kind.Void; + if (newRethrowException && !rethrowException && popKind == JavaKind.Void) { + assert popKind == JavaKind.Void; copy = new ArrayList<>(values.subList(0, localsSize)); } else { copy = new ArrayList<>(values.subList(0, localsSize + stackSize)); - if (popKind != Kind.Void) { + if (popKind != JavaKind.Void) { if (stackAt(stackSize() - 1) == null) { copy.remove(copy.size() - 1); } @@ -531,7 +531,7 @@ assertTrue(locksSize() == monitorIdCount(), "mismatch in number of locks"); for (ValueNode value : values) { assertTrue(value == null || !value.isDeleted(), "frame state must not contain deleted nodes"); - assertTrue(value == null || value instanceof VirtualObjectNode || (value.getStackKind() != Kind.Void), "unexpected value: %s", value); + assertTrue(value == null || value instanceof VirtualObjectNode || (value.getStackKind() != JavaKind.Void), "unexpected value: %s", value); } return super.verify(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,7 +61,7 @@ @Override public void generate(NodeLIRBuilderTool generator) { - if (object.getStackKind() != Kind.Void && object.getStackKind() != Kind.Illegal) { + if (object.getStackKind() != JavaKind.Void && object.getStackKind() != JavaKind.Illegal) { generator.setResult(this, generator.operand(object)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -306,7 +306,7 @@ * appear to be interesting. */ JavaConstant positive = lessThan2.getX().asJavaConstant(); - if (positive != null && positive.asLong() > 0 && positive.asLong() < positive.getKind().getMaxValue()) { + if (positive != null && positive.asLong() > 0 && positive.asLong() < positive.getJavaKind().getMaxValue()) { ConstantNode newLimit = ConstantNode.forIntegerStamp(lessThan2.getX().stamp(), positive.asLong() + 1, graph()); below = graph().unique(new IntegerBelowNode(lessThan.getX(), newLimit)); } @@ -661,7 +661,7 @@ if (trueValue.getStackKind() != falseValue.getStackKind()) { return null; } - if (trueValue.getStackKind() != Kind.Int && trueValue.getStackKind() != Kind.Long) { + if (trueValue.getStackKind() != JavaKind.Int && trueValue.getStackKind() != JavaKind.Long) { return null; } if (trueValue.isConstant() && falseValue.isConstant()) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -93,7 +93,7 @@ @Override public boolean isAllowedUsageType(InputType type) { if (!super.isAllowedUsageType(type)) { - if (getStackKind() != Kind.Void) { + if (getStackKind() != JavaKind.Void) { if (callTarget instanceof MethodCallTargetNode && ((MethodCallTargetNode) callTarget).targetMethod().getAnnotation(NodeIntrinsic.class) != null) { return true; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -181,7 +181,7 @@ @Override public void intrinsify(Node node) { - assert !(node instanceof ValueNode) || (((ValueNode) node).getStackKind() == Kind.Void) == (getStackKind() == Kind.Void); + assert !(node instanceof ValueNode) || (((ValueNode) node).getStackKind() == JavaKind.Void) == (getStackKind() == JavaKind.Void); CallTargetNode call = callTarget; FrameState state = stateAfter(); killExceptionEdge(); @@ -194,7 +194,7 @@ foreign.setBci(bci()); } if (node == null) { - assert getStackKind() == Kind.Void && hasNoUsages(); + assert getStackKind() == JavaKind.Void && hasNoUsages(); graph().removeSplit(this, next()); } else if (node instanceof ControlSinkNode) { this.replaceAtPredecessor(node); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/NamedLocationIdentity.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/NamedLocationIdentity.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/NamedLocationIdentity.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,7 +25,7 @@ import java.util.*; import jdk.internal.jvmci.meta.*; -import jdk.internal.jvmci.meta.Kind.FormatWithToString; +import jdk.internal.jvmci.meta.JavaKind.FormatWithToString; /** * A {@link LocationIdentity} with a name. @@ -115,15 +115,15 @@ * the same kind must have the same location identity unless an alias analysis guarantees that * two distinct arrays are accessed. */ - public static LocationIdentity getArrayLocation(Kind elementKind) { + public static LocationIdentity getArrayLocation(JavaKind elementKind) { return ARRAY_LOCATIONS.get(elementKind); } - private static final EnumMap ARRAY_LOCATIONS = initArrayLocations(); + private static final EnumMap ARRAY_LOCATIONS = initArrayLocations(); - private static EnumMap initArrayLocations() { - EnumMap result = new EnumMap<>(Kind.class); - for (Kind kind : Kind.values()) { + private static EnumMap initArrayLocations() { + EnumMap result = new EnumMap<>(JavaKind.class); + for (JavaKind kind : JavaKind.values()) { result.put(kind, NamedLocationIdentity.mutable("Array: " + kind.getJavaName())); } return result; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -135,7 +135,7 @@ public void addInput(ValueNode x) { assert !(x instanceof ValuePhiNode) || ((ValuePhiNode) x).merge() instanceof LoopBeginNode || ((ValuePhiNode) x).merge() != this.merge(); - assert !(this instanceof ValuePhiNode) || x.stamp().isCompatible(stamp()) || (stamp().getStackKind() == Kind.Int && x.stamp().getStackKind().getBitCount() >= Kind.Int.getBitCount()); + assert !(this instanceof ValuePhiNode) || x.stamp().isCompatible(stamp()) || (stamp().getStackKind() == JavaKind.Int && x.stamp().getStackKind().getBitCount() >= JavaKind.Int.getBitCount()); values().add(x); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -76,7 +76,7 @@ @Override public void generate(NodeLIRBuilderTool generator) { - if (object.getStackKind() != Kind.Void && object.getStackKind() != Kind.Illegal) { + if (object.getStackKind() != JavaKind.Void && object.getStackKind() != JavaKind.Illegal) { generator.setResult(this, generator.operand(object)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,7 +44,7 @@ public UnwindNode(ValueNode exception) { super(TYPE, StampFactory.forVoid()); - assert exception.getStackKind() == Kind.Object; + assert exception.getStackKind() == JavaKind.Object; this.exception = exception; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -38,8 +38,8 @@ public static final NodeClass TYPE = NodeClass.create(ValueNode.class); /** - * The kind of this value. This is {@link Kind#Void} for instructions that produce no value. - * This kind is guaranteed to be a {@linkplain Kind#getStackKind() stack kind}. + * The kind of this value. This is {@link JavaKind#Void} for instructions that produce no value. + * This kind is guaranteed to be a {@linkplain JavaKind#getStackKind() stack kind}. */ protected Stamp stamp; @@ -89,7 +89,7 @@ return false; } - public final Kind getStackKind() { + public final JavaKind getStackKind() { return stamp().getStackKind(); } @@ -151,7 +151,7 @@ @Override public boolean isAllowedUsageType(InputType type) { - if (getStackKind() != Kind.Void && type == InputType.Value) { + if (getStackKind() != JavaKind.Void && type == InputType.Value) { return true; } else { return super.isAllowedUsageType(type); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNodeUtil.java Tue Sep 08 19:57:39 2015 +0200 @@ -32,7 +32,7 @@ public class ValueNodeUtil { - public static ValueNode assertKind(Kind kind, ValueNode x) { + public static ValueNode assertKind(JavaKind kind, ValueNode x) { assert x != null && x.getStackKind() == kind : "kind=" + kind + ", value=" + x + ((x == null) ? "" : ", value.kind=" + x.getStackKind()); return x; } @@ -46,27 +46,27 @@ } public static ValueNode assertLong(ValueNode x) { - assert x != null && (x.getStackKind() == Kind.Long); + assert x != null && (x.getStackKind() == JavaKind.Long); return x; } public static ValueNode assertInt(ValueNode x) { - assert x != null && (x.getStackKind() == Kind.Int); + assert x != null && (x.getStackKind() == JavaKind.Int); return x; } public static ValueNode assertFloat(ValueNode x) { - assert x != null && (x.getStackKind() == Kind.Float); + assert x != null && (x.getStackKind() == JavaKind.Float); return x; } public static ValueNode assertObject(ValueNode x) { - assert x != null && (x.getStackKind() == Kind.Object); + assert x != null && (x.getStackKind() == JavaKind.Object); return x; } public static ValueNode assertDouble(ValueNode x) { - assert x != null && (x.getStackKind() == Kind.Double); + assert x != null && (x.getStackKind() == JavaKind.Double); return x; } @@ -87,8 +87,9 @@ /** * Converts a given instruction to a value string. The representation of an node as a value is - * formed by concatenating the {@linkplain jdk.internal.jvmci.meta.Kind#getTypeChar character} - * denoting its {@linkplain ValueNode#getStackKind kind} and its id. For example, {@code "i13"}. + * formed by concatenating the {@linkplain jdk.internal.jvmci.meta.JavaKind#getTypeChar + * character} denoting its {@linkplain ValueNode#getStackKind kind} and its id. For example, + * {@code "i13"}. * * @param value the instruction to convert to a value string. If {@code value == null}, then "-" * is returned. diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -76,7 +76,7 @@ return forX; } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long rawY = ((PrimitiveConstant) c).asLong(); long mask = CodeUtil.mask(PrimitiveStamp.getBits(stamp())); if ((rawY & mask) == 0) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -67,7 +67,7 @@ if (getOp(forX, forY).isNeutral(c)) { return forX; } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long i = ((PrimitiveConstant) c).asLong(); boolean signFlip = false; if (i < 0) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -40,8 +40,8 @@ public IntegerEqualsNode(ValueNode x, ValueNode y) { super(TYPE, Condition.EQ, false, x, y); - assert !x.getStackKind().isNumericFloat() && x.getStackKind() != Kind.Object; - assert !y.getStackKind().isNumericFloat() && y.getStackKind() != Kind.Object; + assert !x.getStackKind().isNumericFloat() && x.getStackKind() != JavaKind.Object; + assert !y.getStackKind().isNumericFloat() && y.getStackKind() != JavaKind.Object; } public static LogicNode create(ValueNode x, ValueNode y, ConstantReflectionProvider constantReflection) { @@ -74,11 +74,11 @@ @Override protected ValueNode optimizeNormalizeCmp(Constant constant, NormalizeCompareNode normalizeNode, boolean mirrored) { PrimitiveConstant primitive = (PrimitiveConstant) constant; - if (primitive.getKind() == Kind.Int && primitive.asInt() == 0) { + if (primitive.getJavaKind() == JavaKind.Int && primitive.asInt() == 0) { ValueNode a = mirrored ? normalizeNode.getY() : normalizeNode.getX(); ValueNode b = mirrored ? normalizeNode.getX() : normalizeNode.getY(); - if (normalizeNode.getX().getStackKind() == Kind.Double || normalizeNode.getX().getStackKind() == Kind.Float) { + if (normalizeNode.getX().getStackKind() == JavaKind.Double || normalizeNode.getX().getStackKind() == JavaKind.Float) { return new FloatEqualsNode(a, b); } else { return new IntegerEqualsNode(a, b); @@ -121,10 +121,10 @@ if (shift.getY().isConstant()) { int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; - if (shift.getX().getStackKind() == Kind.Int) { + if (shift.getX().getStackKind() == JavaKind.Int) { return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 >>> amount)); } else { - assert shift.getX().getStackKind() == Kind.Long; + assert shift.getX().getStackKind() == JavaKind.Long; return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L >>> amount)); } } @@ -133,10 +133,10 @@ if (shift.getY().isConstant() && ((IntegerStamp) shift.getX().stamp()).isPositive()) { int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; - if (shift.getX().getStackKind() == Kind.Int) { + if (shift.getX().getStackKind() == JavaKind.Int) { return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 << amount)); } else { - assert shift.getX().getStackKind() == Kind.Long; + assert shift.getX().getStackKind() == JavaKind.Long; return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L << amount)); } } @@ -145,10 +145,10 @@ if (shift.getY().isConstant()) { int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; - if (shift.getX().getStackKind() == Kind.Int) { + if (shift.getX().getStackKind() == JavaKind.Int) { return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 << amount)); } else { - assert shift.getX().getStackKind() == Kind.Long; + assert shift.getX().getStackKind() == JavaKind.Long; return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L << amount)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -40,8 +40,8 @@ public IntegerLessThanNode(ValueNode x, ValueNode y) { super(TYPE, Condition.LT, false, x, y); - assert !x.getStackKind().isNumericFloat() && x.getStackKind() != Kind.Object; - assert !y.getStackKind().isNumericFloat() && y.getStackKind() != Kind.Object; + assert !x.getStackKind().isNumericFloat() && x.getStackKind() != JavaKind.Object; + assert !y.getStackKind().isNumericFloat() && y.getStackKind() != JavaKind.Object; } public static LogicNode create(ValueNode x, ValueNode y, ConstantReflectionProvider constantReflection) { @@ -61,11 +61,11 @@ protected ValueNode optimizeNormalizeCmp(Constant constant, NormalizeCompareNode normalizeNode, boolean mirrored) { PrimitiveConstant primitive = (PrimitiveConstant) constant; assert condition() == Condition.LT; - if (primitive.getKind() == Kind.Int && primitive.asInt() == 0) { + if (primitive.getJavaKind() == JavaKind.Int && primitive.asInt() == 0) { ValueNode a = mirrored ? normalizeNode.getY() : normalizeNode.getX(); ValueNode b = mirrored ? normalizeNode.getX() : normalizeNode.getY(); - if (normalizeNode.getX().getStackKind() == Kind.Double || normalizeNode.getX().getStackKind() == Kind.Float) { + if (normalizeNode.getX().getStackKind() == JavaKind.Double || normalizeNode.getX().getStackKind() == JavaKind.Float) { return new FloatLessThanNode(a, b, mirrored ^ normalizeNode.isUnorderedLess); } else { return new IntegerLessThanNode(a, b); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -68,10 +68,10 @@ } return new LeftShiftNode(other.getX(), ConstantNode.forInt(total)); } else if ((other instanceof RightShiftNode || other instanceof UnsignedRightShiftNode) && otherAmount == amount) { - if (getStackKind() == Kind.Long) { + if (getStackKind() == JavaKind.Long) { return new AndNode(other.getX(), ConstantNode.forLong(-1L << amount)); } else { - assert getStackKind() == Kind.Int; + assert getStackKind() == JavaKind.Int; return new AndNode(other.getX(), ConstantNode.forInt(-1 << amount)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -77,7 +77,7 @@ return forX; } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long i = ((PrimitiveConstant) c).asLong(); if (i > 0 && CodeUtil.isPowerOf2(i)) { return new LeftShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(i))); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,7 +44,7 @@ protected final boolean isUnorderedLess; public NormalizeCompareNode(ValueNode x, ValueNode y, boolean isUnorderedLess) { - super(TYPE, StampFactory.forKind(Kind.Int), x, y); + super(TYPE, StampFactory.forKind(JavaKind.Int), x, y); this.isUnorderedLess = isUnorderedLess; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -73,10 +73,10 @@ } private void virtualizeNonVirtualComparison(VirtualObjectNode virtual, ValueNode other, VirtualizerTool tool) { - if (!virtual.hasIdentity() && virtual.entryKind(0) == Kind.Boolean) { + if (!virtual.hasIdentity() && virtual.entryKind(0) == JavaKind.Boolean) { if (other.isConstant()) { JavaConstant otherUnboxed = tool.getConstantReflectionProvider().unboxPrimitive(other.asJavaConstant()); - if (otherUnboxed != null && otherUnboxed.getKind() == Kind.Boolean) { + if (otherUnboxed != null && otherUnboxed.getJavaKind() == JavaKind.Boolean) { int expectedValue = otherUnboxed.asBoolean() ? 1 : 0; IntegerEqualsNode equals = new IntegerEqualsNode(tool.getEntry(virtual, 0), ConstantNode.forInt(expectedValue, graph())); tool.addNode(equals); @@ -120,7 +120,7 @@ if (type.equals(metaAccess.lookupJavaType(Integer.class)) || type.equals(metaAccess.lookupJavaType(Long.class))) { // both are virtual without identity: check contents assert xVirtual.entryCount() == 1 && yVirtual.entryCount() == 1; - assert xVirtual.entryKind(0).getStackKind() == Kind.Int || xVirtual.entryKind(0) == Kind.Long; + assert xVirtual.entryKind(0).getStackKind() == JavaKind.Int || xVirtual.entryKind(0) == JavaKind.Long; IntegerEqualsNode equals = new IntegerEqualsNode(tool.getEntry(xVirtual, 0), tool.getEntry(yVirtual, 0)); tool.addNode(equals); tool.replaceWithValue(equals); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -76,7 +76,7 @@ return forX; } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long rawY = ((PrimitiveConstant) c).asLong(); long mask = CodeUtil.mask(PrimitiveStamp.getBits(stamp())); if ((rawY & mask) == mask) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,7 +44,7 @@ public static final NodeClass TYPE = NodeClass.create(ReinterpretNode.class); - public ReinterpretNode(Kind to, ValueNode value) { + public ReinterpretNode(JavaKind to, ValueNode value) { this(StampFactory.forKind(to), value); } @@ -88,19 +88,19 @@ nodeValueMap.setResult(this, gen.emitReinterpret(kind, nodeValueMap.operand(getValue()))); } - public static ValueNode reinterpret(Kind toKind, ValueNode value) { + public static ValueNode reinterpret(JavaKind toKind, ValueNode value) { return value.graph().unique(new ReinterpretNode(toKind, value)); } @NodeIntrinsic - public static native float reinterpret(@ConstantNodeParameter Kind kind, int value); + public static native float reinterpret(@ConstantNodeParameter JavaKind kind, int value); @NodeIntrinsic - public static native int reinterpret(@ConstantNodeParameter Kind kind, float value); + public static native int reinterpret(@ConstantNodeParameter JavaKind kind, float value); @NodeIntrinsic - public static native double reinterpret(@ConstantNodeParameter Kind kind, long value); + public static native double reinterpret(@ConstantNodeParameter JavaKind kind, long value); @NodeIntrinsic - public static native long reinterpret(@ConstantNodeParameter Kind kind, double value); + public static native long reinterpret(@ConstantNodeParameter JavaKind kind, double value); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -74,7 +74,7 @@ public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) { if (forX.isConstant() && forY.isConstant()) { JavaConstant amount = forY.asJavaConstant(); - assert amount.getKind() == Kind.Int; + assert amount.getJavaKind() == JavaKind.Int; return ConstantNode.forPrimitive(stamp(), getOp(forX).foldConstant(forX.asConstant(), amount.asInt())); } return this; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -122,7 +122,7 @@ return reassociated; } } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long i = ((PrimitiveConstant) c).asLong(); if (i < 0 || ((IntegerStamp) StampFactory.forKind(forY.getStackKind())).contains(-i)) { // Adding a negative is more friendly to the backend since adds are diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -68,10 +68,10 @@ } return new UnsignedRightShiftNode(other.getX(), ConstantNode.forInt(total)); } else if (other instanceof LeftShiftNode && otherAmount == amount) { - if (getStackKind() == Kind.Long) { + if (getStackKind() == JavaKind.Long) { return new AndNode(other.getX(), ConstantNode.forLong(-1L >>> amount)); } else { - assert getStackKind() == Kind.Int; + assert getStackKind() == JavaKind.Int; return new AndNode(other.getX(), ConstantNode.forInt(-1 >>> amount)); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -77,7 +77,7 @@ return forX; } - if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getKind().isNumericInteger()) { + if (c instanceof PrimitiveConstant && ((PrimitiveConstant) c).getJavaKind().isNumericInteger()) { long rawY = ((PrimitiveConstant) c).asLong(); long mask = CodeUtil.mask(PrimitiveStamp.getBits(stamp())); if ((rawY & mask) == mask) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,15 +45,15 @@ public static final NodeClass TYPE = NodeClass.create(BoxNode.class); @Input private ValueNode value; - private final Kind boxingKind; + private final JavaKind boxingKind; - public BoxNode(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) { + public BoxNode(ValueNode value, ResolvedJavaType resultType, JavaKind boxingKind) { super(TYPE, StampFactory.exactNonNull(resultType)); this.value = value; this.boxingKind = boxingKind; } - public Kind getBoxingKind() { + public JavaKind getBoxingKind() { return boxingKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -68,7 +68,7 @@ } protected ForeignCallNode(NodeClass c, ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { - super(c, StampFactory.forKind(Kind.fromJavaClass(descriptor.getResultType()))); + super(c, StampFactory.forKind(JavaKind.fromJavaClass(descriptor.getResultType()))); this.arguments = new NodeInputList<>(this, arguments); this.descriptor = descriptor; this.foreignCalls = foreignCalls; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -40,10 +40,10 @@ public final class JavaReadNode extends FixedAccessNode implements Lowerable, GuardingNode, Canonicalizable { public static final NodeClass TYPE = NodeClass.create(JavaReadNode.class); - protected final Kind readKind; + protected final JavaKind readKind; protected final boolean compressible; - public JavaReadNode(Kind readKind, AddressNode address, LocationIdentity location, BarrierType barrierType, boolean compressible) { + public JavaReadNode(JavaKind readKind, AddressNode address, LocationIdentity location, BarrierType barrierType, boolean compressible) { super(TYPE, address, location, StampFactory.forKind(readKind), barrierType); this.readKind = readKind; this.compressible = compressible; @@ -57,7 +57,7 @@ return true; } - public Kind getReadKind() { + public JavaKind getReadKind() { return readKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -39,10 +39,10 @@ public final class JavaWriteNode extends AbstractWriteNode implements Lowerable, StateSplit, MemoryAccess, MemoryCheckpoint.Single { public static final NodeClass TYPE = NodeClass.create(JavaWriteNode.class); - protected final Kind writeKind; + protected final JavaKind writeKind; protected final boolean compressible; - public JavaWriteNode(Kind writeKind, AddressNode address, LocationIdentity location, ValueNode value, BarrierType barrierType, boolean compressible, boolean initialization) { + public JavaWriteNode(JavaKind writeKind, AddressNode address, LocationIdentity location, ValueNode value, BarrierType barrierType, boolean compressible, boolean initialization) { super(TYPE, address, location, value, barrierType, initialization); this.writeKind = writeKind; this.compressible = compressible; @@ -56,7 +56,7 @@ return true; } - public Kind getWriteKind() { + public JavaKind getWriteKind() { return writeKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -38,19 +38,19 @@ public static final NodeClass TYPE = NodeClass.create(UnboxNode.class); @Input protected ValueNode value; - protected final Kind boxingKind; + protected final JavaKind boxingKind; public ValueNode getValue() { return value; } - public UnboxNode(ValueNode value, Kind boxingKind) { + public UnboxNode(ValueNode value, JavaKind boxingKind) { super(TYPE, StampFactory.forKind(boxingKind.getStackKind())); this.value = value; this.boxingKind = boxingKind; } - public static ValueNode create(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, ValueNode value, Kind boxingKind) { + public static ValueNode create(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, ValueNode value, JavaKind boxingKind) { ValueNode synonym = findSynonym(metaAccess, constantReflection, value, boxingKind); if (synonym != null) { return synonym; @@ -58,7 +58,7 @@ return new UnboxNode(value, boxingKind); } - public Kind getBoxingKind() { + public JavaKind getBoxingKind() { return boxingKind; } @@ -92,11 +92,11 @@ return this; } - private static ValueNode findSynonym(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, ValueNode forValue, Kind boxingKind) { + private static ValueNode findSynonym(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, ValueNode forValue, JavaKind boxingKind) { if (forValue.isConstant()) { JavaConstant constant = forValue.asJavaConstant(); JavaConstant unboxed = constantReflection.unboxPrimitive(constant); - if (unboxed != null && unboxed.getKind() == boxingKind) { + if (unboxed != null && unboxed.getJavaKind() == boxingKind) { return ConstantNode.forConstant(unboxed, metaAccess); } } else if (forValue instanceof BoxNode) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,10 +37,10 @@ public static final NodeClass TYPE = NodeClass.create(UnsafeAccessNode.class); @Input ValueNode object; @Input ValueNode offset; - protected final Kind accessKind; + protected final JavaKind accessKind; protected final LocationIdentity locationIdentity; - protected UnsafeAccessNode(NodeClass c, Stamp stamp, ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { + protected UnsafeAccessNode(NodeClass c, Stamp stamp, ValueNode object, ValueNode offset, JavaKind accessKind, LocationIdentity locationIdentity) { super(c, stamp); assert accessKind != null; this.object = object; @@ -61,7 +61,7 @@ return offset; } - public Kind accessKind() { + public JavaKind accessKind() { return accessKind; } @@ -77,7 +77,7 @@ // No need for checking that the receiver is non-null. The field access includes // the null check and if a field is found, the offset is so small that this is // never a valid access of an arbitrary address. - if (field != null && field.getKind() == this.accessKind()) { + if (field != null && field.getJavaKind() == this.accessKind()) { assert !graph().isAfterFloatingReadPhase() : "cannot add more precise memory location after floating read phase"; return cloneAsFieldAccess(field); } @@ -87,7 +87,7 @@ ResolvedJavaType receiverType = StampTool.typeOrNull(object()); // Try to build a better location identity. if (receiverType != null && receiverType.isArray()) { - LocationIdentity identity = NamedLocationIdentity.getArrayLocation(receiverType.getComponentType().getKind()); + LocationIdentity identity = NamedLocationIdentity.getArrayLocation(receiverType.getComponentType().getJavaKind()); assert !graph().isAfterFloatingReadPhase() : "cannot add more precise memory location after floating read phase"; return cloneAsArrayAccess(offset(), identity); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -56,7 +56,8 @@ } public UnsafeCastNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { - this(object, toType.getKind() == Kind.Object ? StampFactory.object(toType, exactType, nonNull || StampTool.isPointerNonNull(object.stamp()), true) : StampFactory.forKind(toType.getKind())); + this(object, toType.getJavaKind() == JavaKind.Object ? StampFactory.object(toType, exactType, nonNull || StampTool.isPointerNonNull(object.stamp()), true) + : StampFactory.forKind(toType.getJavaKind())); } @Override @@ -66,7 +67,7 @@ @Override public Node canonical(CanonicalizerTool tool) { - assert getStackKind() == Kind.Object && object.getStackKind() == Kind.Object; + assert getStackKind() == JavaKind.Object && object.getStackKind() == JavaKind.Object; ObjectStamp my = (ObjectStamp) stamp(); ObjectStamp other = (ObjectStamp) object.stamp(); @@ -104,7 +105,7 @@ @Override public void generate(NodeLIRBuilderTool generator) { - assert getStackKind() == Kind.Object && object.getStackKind() == Kind.Object; + assert getStackKind() == JavaKind.Object && object.getStackKind() == JavaKind.Object; /* * The LIR only cares about the kind of an operand, not the actual type of an object. So we * do not have to introduce a new operand. diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCopyNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCopyNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCopyNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,15 +44,15 @@ @Input ValueNode destinationObject; @Input ValueNode sourceOffset; @Input ValueNode destinationOffset; - protected final Kind accessKind; + protected final JavaKind accessKind; protected final LocationIdentity locationIdentity; @OptionalInput(InputType.State) FrameState stateAfter; - public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, Kind accessKind, LocationIdentity locationIdentity) { + public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, JavaKind accessKind, LocationIdentity locationIdentity) { this(sourceObject, sourceOffset, destinationObject, destinationOffset, accessKind, locationIdentity, null); } - public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, Kind accessKind, LocationIdentity locationIdentity, + public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, JavaKind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { super(TYPE, StampFactory.forVoid()); this.sourceObject = sourceObject; @@ -62,7 +62,7 @@ this.accessKind = accessKind; this.locationIdentity = locationIdentity; this.stateAfter = stateAfter; - assert accessKind != Kind.Void && accessKind != Kind.Illegal; + assert accessKind != JavaKind.Void && accessKind != JavaKind.Illegal; } public ValueNode sourceObject() { @@ -85,7 +85,7 @@ return destinationOffset; } - public Kind accessKind() { + public JavaKind accessKind() { return accessKind; } @@ -108,5 +108,5 @@ } @NodeIntrinsic - public static native void copy(Object srcObject, long srcOffset, Object destObject, long destOffset, @ConstantNodeParameter Kind kind, @ConstantNodeParameter LocationIdentity locationIdentity); + public static native void copy(Object srcObject, long srcOffset, Object destObject, long destOffset, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -41,11 +41,11 @@ public static final NodeClass TYPE = NodeClass.create(UnsafeLoadNode.class); @OptionalInput(InputType.Condition) LogicNode guardingCondition; - public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { + public UnsafeLoadNode(ValueNode object, ValueNode offset, JavaKind accessKind, LocationIdentity locationIdentity) { this(object, offset, accessKind, locationIdentity, null); } - public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) { + public UnsafeLoadNode(ValueNode object, ValueNode offset, JavaKind accessKind, LocationIdentity locationIdentity, LogicNode condition) { super(TYPE, StampFactory.forKind(accessKind.getStackKind()), object, offset, accessKind, locationIdentity); this.guardingCondition = condition; } @@ -71,7 +71,7 @@ if (entryIndex != -1) { ValueNode entry = tool.getEntry(virtual, entryIndex); - Kind entryKind = virtual.entryKind(entryIndex); + JavaKind entryKind = virtual.entryKind(entryIndex); if (entry.getStackKind() == getStackKind() || entryKind == accessKind()) { tool.replaceWith(entry); } @@ -91,5 +91,5 @@ } @NodeIntrinsic - public static native Object load(Object object, long offset, @ConstantNodeParameter Kind kind, @ConstantNodeParameter LocationIdentity locationIdentity); + public static native Object load(Object object, long offset, @ConstantNodeParameter JavaKind kind, @ConstantNodeParameter LocationIdentity locationIdentity); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,15 +44,15 @@ @Input ValueNode value; @OptionalInput(InputType.State) FrameState stateAfter; - public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) { + public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity) { this(object, offset, value, accessKind, locationIdentity, null); } - public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { + public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { super(TYPE, StampFactory.forVoid(), object, offset, accessKind, locationIdentity); this.value = value; this.stateAfter = stateAfter; - assert accessKind != Kind.Void && accessKind != Kind.Illegal; + assert accessKind != JavaKind.Void && accessKind != JavaKind.Illegal; } public FrameState stateAfter() { @@ -88,17 +88,17 @@ long off = indexValue.asJavaConstant().asLong(); int entryIndex = virtual.entryIndexForOffset(off, accessKind()); if (entryIndex != -1) { - Kind entryKind = virtual.entryKind(entryIndex); + JavaKind entryKind = virtual.entryKind(entryIndex); ValueNode entry = tool.getEntry(virtual, entryIndex); if (entry.getStackKind() == value.getStackKind() || entryKind == accessKind()) { tool.setVirtualEntry(virtual, entryIndex, value(), true); tool.delete(); } else { - if ((accessKind() == Kind.Long || accessKind() == Kind.Double) && entryKind == Kind.Int) { + if ((accessKind() == JavaKind.Long || accessKind() == JavaKind.Double) && entryKind == JavaKind.Int) { int nextIndex = virtual.entryIndexForOffset(off + 4, entryKind); if (nextIndex != -1) { - Kind nextKind = virtual.entryKind(nextIndex); - if (nextKind == Kind.Int) { + JavaKind nextKind = virtual.entryKind(nextIndex); + if (nextKind == JavaKind.Int) { tool.setVirtualEntry(virtual, entryIndex, value(), true); tool.setVirtualEntry(virtual, nextIndex, ConstantNode.forConstant(JavaConstant.forIllegal(), tool.getMetaAccessProvider(), graph()), true); tool.delete(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,7 +39,7 @@ public static final NodeClass TYPE = NodeClass.create(AccessIndexedNode.class); @Input protected ValueNode index; - protected final Kind elementKind; + protected final JavaKind elementKind; public ValueNode index() { return index; @@ -53,7 +53,7 @@ * @param index the instruction producing the index * @param elementKind the kind of the elements of the array */ - protected AccessIndexedNode(NodeClass c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { + protected AccessIndexedNode(NodeClass c, Stamp stamp, ValueNode array, ValueNode index, JavaKind elementKind) { super(c, stamp, array); this.index = index; this.elementKind = elementKind; @@ -64,7 +64,7 @@ * * @return the element type */ - public Kind elementKind() { + public JavaKind elementKind() { return elementKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,10 +44,10 @@ @Input ValueNode offset; @Input ValueNode newValue; - protected final Kind valueKind; + protected final JavaKind valueKind; protected final LocationIdentity locationIdentity; - public AtomicReadAndWriteNode(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { + public AtomicReadAndWriteNode(ValueNode object, ValueNode offset, ValueNode newValue, JavaKind valueKind, LocationIdentity locationIdentity) { super(TYPE, StampFactory.forKind(newValue.getStackKind())); this.object = object; this.offset = offset; @@ -68,7 +68,7 @@ return newValue; } - public Kind getValueKind() { + public JavaKind getValueKind() { return valueKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -44,11 +44,11 @@ @Input ValueNode expected; @Input ValueNode newValue; - protected final Kind valueKind; + protected final JavaKind valueKind; protected final LocationIdentity locationIdentity; - public CompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { - super(TYPE, StampFactory.forKind(Kind.Boolean.getStackKind())); + public CompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, JavaKind valueKind, LocationIdentity locationIdentity) { + super(TYPE, StampFactory.forKind(JavaKind.Boolean.getStackKind())); assert expected.stamp().isCompatible(newValue.stamp()); this.object = object; this.offset = offset; @@ -74,7 +74,7 @@ return newValue; } - public Kind getValueKind() { + public JavaKind getValueKind() { return valueKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -45,37 +45,37 @@ * A non-null value indicating the worst case element type. Mainly useful for distinguishing * Object arrays from primitive arrays. */ - protected final Kind knownElementKind; + protected final JavaKind knownElementKind; public DynamicNewArrayNode(ValueNode elementType, ValueNode length, boolean fillContents) { this(TYPE, elementType, length, fillContents, null, null, null); } - public DynamicNewArrayNode(@InjectedNodeParameter MetaAccessProvider metaAccess, ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { + public DynamicNewArrayNode(@InjectedNodeParameter MetaAccessProvider metaAccess, ValueNode elementType, ValueNode length, boolean fillContents, JavaKind knownElementKind) { this(TYPE, elementType, length, fillContents, knownElementKind, null, metaAccess); } - private static Stamp computeStamp(Kind knownElementKind, MetaAccessProvider metaAccess) { + private static Stamp computeStamp(JavaKind knownElementKind, MetaAccessProvider metaAccess) { if (knownElementKind != null && metaAccess != null) { - ResolvedJavaType arrayType = metaAccess.lookupJavaType(knownElementKind == Kind.Object ? Object.class : knownElementKind.toJavaClass()).getArrayClass(); + ResolvedJavaType arrayType = metaAccess.lookupJavaType(knownElementKind == JavaKind.Object ? Object.class : knownElementKind.toJavaClass()).getArrayClass(); return StampFactory.declaredNonNull(arrayType); } return StampFactory.objectNonNull(); } - protected DynamicNewArrayNode(NodeClass c, ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind, FrameState stateBefore, + protected DynamicNewArrayNode(NodeClass c, ValueNode elementType, ValueNode length, boolean fillContents, JavaKind knownElementKind, FrameState stateBefore, MetaAccessProvider metaAccess) { super(c, computeStamp(knownElementKind, metaAccess), length, fillContents, stateBefore); this.elementType = elementType; this.knownElementKind = knownElementKind; - assert knownElementKind != Kind.Void && knownElementKind != Kind.Illegal; + assert knownElementKind != JavaKind.Void && knownElementKind != JavaKind.Illegal; } public ValueNode getElementType() { return elementType; } - public Kind getKnownElementKind() { + public JavaKind getKnownElementKind() { return knownElementKind; } @@ -109,17 +109,17 @@ } public static boolean throwsIllegalArgumentException(ResolvedJavaType elementType) { - return elementType.getKind() == Kind.Void; + return elementType.getJavaKind() == JavaKind.Void; } @NodeIntrinsic - private static native Object newArray(Class componentType, int length, @ConstantNodeParameter boolean fillContents, @ConstantNodeParameter Kind knownElementKind); + private static native Object newArray(Class componentType, int length, @ConstantNodeParameter boolean fillContents, @ConstantNodeParameter JavaKind knownElementKind); - public static Object newArray(Class componentType, int length, Kind knownElementKind) { + public static Object newArray(Class componentType, int length, JavaKind knownElementKind) { return newArray(componentType, length, true, knownElementKind); } - public static Object newUninitializedArray(Class componentType, int length, Kind knownElementKind) { + public static Object newUninitializedArray(Class componentType, int length, JavaKind knownElementKind) { return newArray(componentType, length, false, knownElementKind); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -55,7 +55,7 @@ super(TYPE); this.mirror = mirror; this.object = object; - assert mirror.getStackKind() == Kind.Object : mirror.getStackKind(); + assert mirror.getStackKind() == JavaKind.Object : mirror.getStackKind(); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -51,8 +51,8 @@ } private static Stamp createStamp(ResolvedJavaField field) { - Kind kind = field.getKind(); - if (kind == Kind.Object && field.getType() instanceof ResolvedJavaType) { + JavaKind kind = field.getJavaKind(); + if (kind == JavaKind.Object && field.getType() instanceof ResolvedJavaType) { return StampFactory.declared((ResolvedJavaType) field.getType()); } else { return StampFactory.forKind(kind); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -48,11 +48,11 @@ * @param index the instruction producing the index * @param elementKind the element type */ - public LoadIndexedNode(ValueNode array, ValueNode index, Kind elementKind) { + public LoadIndexedNode(ValueNode array, ValueNode index, JavaKind elementKind) { this(TYPE, createStamp(array, elementKind), array, index, elementKind); } - public static ValueNode create(ValueNode array, ValueNode index, Kind elementKind, MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection) { + public static ValueNode create(ValueNode array, ValueNode index, JavaKind elementKind, MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection) { ValueNode constant = tryConstantFold(array, index, metaAccess, constantReflection); if (constant != null) { return constant; @@ -60,13 +60,13 @@ return new LoadIndexedNode(array, index, elementKind); } - protected LoadIndexedNode(NodeClass c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { + protected LoadIndexedNode(NodeClass c, Stamp stamp, ValueNode array, ValueNode index, JavaKind elementKind) { super(c, stamp, array, index, elementKind); } - private static Stamp createStamp(ValueNode array, Kind kind) { + private static Stamp createStamp(ValueNode array, JavaKind kind) { ResolvedJavaType type = StampTool.typeOrNull(array); - if (kind == Kind.Object && type != null) { + if (kind == JavaKind.Object && type != null) { return StampFactory.declaredTrusted(type.getComponentType()); } else { return StampFactory.forKind(kind); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -67,7 +67,7 @@ } public LoweredCompareAndSwapNode(AddressNode address, LocationIdentity location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) { - super(TYPE, address, location, StampFactory.forKind(Kind.Boolean.getStackKind()), barrierType); + super(TYPE, address, location, StampFactory.forKind(JavaKind.Boolean.getStackKind()), barrierType); assert expectedValue.getStackKind() == newValue.getStackKind(); this.expectedValue = expectedValue; this.newValue = newValue; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -70,7 +70,7 @@ return invokeKind() == InvokeKind.Static; } - public Kind returnKind() { + public JavaKind returnKind() { return targetMethod().getSignature().getReturnKind(); } @@ -235,8 +235,8 @@ @Override public Stamp returnStamp() { - Kind returnKind = targetMethod().getSignature().getReturnKind(); - if (returnKind == Kind.Object && returnType instanceof ResolvedJavaType) { + JavaKind returnKind = targetMethod().getSignature().getReturnKind(); + if (returnKind == JavaKind.Object && returnType instanceof ResolvedJavaType) { return StampFactory.declared((ResolvedJavaType) returnType); } else { return StampFactory.forKind(returnKind); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -96,6 +96,6 @@ /* Factored out in a separate method so that subclasses can override it. */ protected ConstantNode defaultElementValue() { - return ConstantNode.defaultForKind(elementType().getKind(), graph()); + return ConstantNode.defaultForKind(elementType().getJavaKind(), graph()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -90,6 +90,6 @@ /* Factored out in a separate method so that subclasses can override it. */ protected ConstantNode defaultFieldValue(ResolvedJavaField field) { - return ConstantNode.defaultForKind(field.getType().getKind(), graph()); + return ConstantNode.defaultForKind(field.getType().getJavaKind(), graph()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -60,7 +60,7 @@ return value; } - public StoreIndexedNode(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { + public StoreIndexedNode(ValueNode array, ValueNode index, JavaKind elementKind, ValueNode value) { super(TYPE, StampFactory.forVoid(), array, index, elementKind); this.value = value; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -71,7 +71,7 @@ @Override public boolean isSorted() { - Kind kind = value().getStackKind(); + JavaKind kind = value().getStackKind(); if (kind.isNumericInteger()) { JavaConstant lastKey = null; for (int i = 0; i < keyCount(); i++) { @@ -123,7 +123,7 @@ int survivingEdge = keySuccessorIndex(keyCount()); for (int i = 0; i < keyCount(); i++) { JavaConstant typeHub = keyAt(i); - assert constant.getKind() == typeHub.getKind(); + assert constant.getJavaKind() == typeHub.getJavaKind(); Boolean equal = tool.getConstantReflection().constantEquals(constant, typeHub); if (equal == null) { /* We don't know if this key is a match or not, so we cannot simplify. */ diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/address/OffsetAddressNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/address/OffsetAddressNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/address/OffsetAddressNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -35,7 +35,7 @@ /** * Represents an address that is composed of a base and an offset. The base can be either a - * {@link Kind#Object}, a word-sized integer or another pointer. The offset must be a word-sized + * {@link JavaKind#Object}, a word-sized integer or another pointer. The offset must be a word-sized * integer. */ @NodeInfo(allowedUsageTypes = InputType.Association) @@ -93,7 +93,7 @@ if (receiverType == null) { return false; } - ResolvedJavaField field = receiverType.findInstanceFieldWithOffset(offset.asJavaConstant().asLong(), Kind.Void); + ResolvedJavaField field = receiverType.findInstanceFieldWithOffset(offset.asJavaConstant().asLong(), JavaKind.Void); if (field == null) { // field was not declared by receiverType return false; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringProvider.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -39,9 +39,9 @@ * Reconstructs the array index from an address node that was created as a lowering of an * indexed access to an array. * - * @param elementKind the {@link Kind} of the array elements + * @param elementKind the {@link JavaKind} of the array elements * @param address an {@link AddressNode} pointing to an element in an array * @return a node that gives the index of the element */ - ValueNode reconstructArrayIndex(Kind elementKind, AddressNode address); + ValueNode reconstructArrayIndex(JavaKind elementKind, AddressNode address); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/UncheckedInterfaceProvider.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/UncheckedInterfaceProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/UncheckedInterfaceProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,7 +35,7 @@ Stamp uncheckedStamp(); static Stamp uncheckedOrNull(JavaType type, Stamp originalStamp) { - if (type instanceof ResolvedJavaType && type.getKind() == Kind.Object) { + if (type instanceof ResolvedJavaType && type.getJavaKind() == JavaKind.Object) { Stamp unchecked = StampFactory.declaredTrusted((ResolvedJavaType) type); if (!unchecked.equals(originalStamp)) { return unchecked; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/VirtualizerTool.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/VirtualizerTool.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/VirtualizerTool.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -86,7 +86,7 @@ * * @param index the index to be set. * @param value the new value for the given index. - * @param unsafe if true, then mismatching value {@link Kind}s will be accepted. + * @param unsafe if true, then mismatching value {@link JavaKind}s will be accepted. */ void setVirtualEntry(VirtualObjectNode virtualObject, int index, ValueNode value, boolean unsafe); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -83,14 +83,14 @@ } @Override - public int entryIndexForOffset(long constantOffset, Kind expectedEntryKind) { + public int entryIndexForOffset(long constantOffset, JavaKind expectedEntryKind) { return entryIndexForOffset(constantOffset, expectedEntryKind, componentType, length); } - public static int entryIndexForOffset(long constantOffset, Kind expectedEntryKind, ResolvedJavaType componentType, int length) { + public static int entryIndexForOffset(long constantOffset, JavaKind expectedEntryKind, ResolvedJavaType componentType, int length) { int baseOffset; int indexScale; - switch (componentType.getKind()) { + switch (componentType.getJavaKind()) { case Boolean: baseOffset = Unsafe.ARRAY_BOOLEAN_BASE_OFFSET; indexScale = Unsafe.ARRAY_BOOLEAN_INDEX_SCALE; @@ -133,7 +133,7 @@ long offset; if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN && componentType.isPrimitive()) { // On big endian, we do just get expect the type be right aligned in this memory slot - offset = constantOffset - (componentType.getKind().getByteCount() - Math.min(componentType.getKind().getByteCount(), 4 + expectedEntryKind.getByteCount())); + offset = constantOffset - (componentType.getJavaKind().getByteCount() - Math.min(componentType.getJavaKind().getByteCount(), 4 + expectedEntryKind.getByteCount())); } else { offset = constantOffset; } @@ -149,9 +149,9 @@ } @Override - public Kind entryKind(int index) { + public JavaKind entryKind(int index) { assert index >= 0 && index < length; - return componentType.getKind(); + return componentType.getJavaKind(); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -33,14 +33,14 @@ public final class VirtualBoxingNode extends VirtualInstanceNode { public static final NodeClass TYPE = NodeClass.create(VirtualBoxingNode.class); - protected final Kind boxingKind; + protected final JavaKind boxingKind; - public VirtualBoxingNode(ResolvedJavaType type, Kind boxingKind) { + public VirtualBoxingNode(ResolvedJavaType type, JavaKind boxingKind) { super(TYPE, type, false); this.boxingKind = boxingKind; } - public Kind getBoxingKind() { + public JavaKind getBoxingKind() { return boxingKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -96,14 +96,14 @@ } @Override - public int entryIndexForOffset(long constantOffset, Kind expectedEntryKind) { + public int entryIndexForOffset(long constantOffset, JavaKind expectedEntryKind) { return fieldIndex(type.findInstanceFieldWithOffset(constantOffset, expectedEntryKind)); } @Override - public Kind entryKind(int index) { + public JavaKind entryKind(int index) { assert index >= 0 && index < fields.length; - return fields[index].getKind(); + return fields[index].getJavaKind(); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -86,12 +86,12 @@ * @param expectedEntryKind Specifies which type is expected at this offset (Is important when * doing implicit casts, especially on big endian systems. */ - public abstract int entryIndexForOffset(long constantOffset, Kind expectedEntryKind); + public abstract int entryIndexForOffset(long constantOffset, JavaKind expectedEntryKind); /** - * Returns the {@link Kind} of the entry at the given index. + * Returns the {@link JavaKind} of the entry at the given index. */ - public abstract Kind entryKind(int index); + public abstract JavaKind entryKind(int index); /** * Returns an exact duplicate of this virtual object node, which has not been added to the graph diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.phases.common.test/src/com/oracle/graal/phases/common/test/StampFactoryTest.java --- a/graal/com.oracle.graal.phases.common.test/src/com/oracle/graal/phases/common/test/StampFactoryTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.phases.common.test/src/com/oracle/graal/phases/common/test/StampFactoryTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,8 +43,8 @@ Method method = StampFactoryTest.class.getMethod("test", Integer.TYPE, Object.class, Double.TYPE); MetaAccessProvider metaAccess = Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getProviders().getMetaAccess(); Stamp[] parameterStamps = StampFactory.createParameterStamps(metaAccess.lookupJavaMethod(method)); - Stamp[] expected = {StampFactory.declaredNonNull(metaAccess.lookupJavaType(StampFactoryTest.class)), StampFactory.forKind(Kind.Int), - StampFactory.declared(metaAccess.lookupJavaType(Object.class)), StampFactory.forKind(Kind.Double)}; + Stamp[] expected = {StampFactory.declaredNonNull(metaAccess.lookupJavaType(StampFactoryTest.class)), StampFactory.forKind(JavaKind.Int), + StampFactory.declared(metaAccess.lookupJavaType(Object.class)), StampFactory.forKind(JavaKind.Double)}; Assert.assertArrayEquals(expected, parameterStamps); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -196,7 +196,7 @@ // this piece of code handles phis if (!(merge instanceof LoopBeginNode)) { for (PhiNode phi : merge.phis()) { - if (phi instanceof ValuePhiNode && phi.getStackKind() == Kind.Object) { + if (phi instanceof ValuePhiNode && phi.getStackKind() == JavaKind.Object) { ValueNode firstValue = phi.valueAt(0); ResolvedJavaType type = getNodeType(firstValue); boolean nonNull = knownNonNull.contains(firstValue); @@ -454,13 +454,13 @@ return null; } IntegerBelowNode below = (IntegerBelowNode) guard.condition(); - if (below.getX().getStackKind() == Kind.Int && below.getX().isConstant() && !below.getY().isConstant()) { + if (below.getX().getStackKind() == JavaKind.Int && below.getX().isConstant() && !below.getY().isConstant()) { Stamp stamp = StampTool.unsignedCompare(below.getX().stamp(), below.getY().stamp()); if (stamp != null) { return new GuardedStamp(below.getY(), stamp, guard); } } - if (below.getY().getStackKind() == Kind.Int && below.getY().isConstant() && !below.getX().isConstant()) { + if (below.getY().getStackKind() == JavaKind.Int && below.getY().isConstant() && !below.getX().isConstant()) { Stamp stamp = StampTool.unsignedCompare(below.getX().stamp(), below.getY().stamp()); if (stamp != null) { return new GuardedStamp(below.getX(), stamp, guard); @@ -793,7 +793,7 @@ assert !(replacementAnchor instanceof FloatingNode) : "unsafe to mix unlowered Checkcast with floating guards"; PiNode piNode; if (isNull) { - ConstantNode nullObject = ConstantNode.defaultForKind(Kind.Object, graph); + ConstantNode nullObject = ConstantNode.defaultForKind(JavaKind.Object, graph); piNode = graph.unique(new PiNode(nullObject, nullObject.stamp(), replacementAnchor.asNode())); } else { piNode = graph.unique(new PiNode(object, StampFactory.declaredTrusted(type, nonNull), replacementAnchor.asNode())); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -446,7 +446,7 @@ protected static void processFrameStates(Invoke invoke, StructuredGraph inlineGraph, Map duplicates, FrameState stateAtExceptionEdge, boolean alwaysDuplicateStateAfter) { FrameState stateAtReturn = invoke.stateAfter(); FrameState outerFrameState = null; - Kind invokeReturnKind = invoke.asNode().getStackKind(); + JavaKind invokeReturnKind = invoke.asNode().getStackKind(); for (FrameState original : inlineGraph.getNodes(FrameState.TYPE)) { FrameState frameState = (FrameState) duplicates.get(original); if (frameState != null && frameState.isAlive()) { @@ -462,7 +462,7 @@ boolean alwaysDuplicateStateAfter) { FrameState stateAtReturn = invoke.stateAfter(); - Kind invokeReturnKind = invoke.asNode().getStackKind(); + JavaKind invokeReturnKind = invoke.asNode().getStackKind(); if (frameState.bci == BytecodeFrame.AFTER_BCI) { FrameState stateAfterReturn = stateAtReturn; @@ -496,7 +496,7 @@ */ FrameState stateAfterException = stateAtExceptionEdge; if (frameState.stackSize() > 0 && stateAtExceptionEdge.stackAt(0) != frameState.stackAt(0)) { - stateAfterException = stateAtExceptionEdge.duplicateModified(Kind.Object, Kind.Object, frameState.stackAt(0)); + stateAfterException = stateAtExceptionEdge.duplicateModified(JavaKind.Object, JavaKind.Object, frameState.stackAt(0)); } frameState.replaceAndDelete(stateAfterException); return stateAfterException; @@ -653,7 +653,7 @@ assert !callTarget.isStatic() : callTarget.targetMethod(); StructuredGraph graph = callTarget.graph(); ValueNode firstParam = callTarget.arguments().get(0); - if (firstParam.getStackKind() == Kind.Object) { + if (firstParam.getStackKind() == JavaKind.Object) { Stamp paramStamp = firstParam.stamp(); Stamp stamp = paramStamp.join(StampFactory.declaredNonNull(callTarget.targetMethod().getDeclaringClass())); if (!StampTool.isPointerNonNull(firstParam)) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ import com.oracle.graal.debug.*; import jdk.internal.jvmci.meta.ResolvedJavaType; -import jdk.internal.jvmci.meta.Kind; +import jdk.internal.jvmci.meta.JavaKind; import jdk.internal.jvmci.meta.DeoptimizationReason; import jdk.internal.jvmci.meta.DeoptimizationAction; import jdk.internal.jvmci.meta.ResolvedJavaMethod; @@ -169,7 +169,7 @@ returnMerge.setStateAfter(invoke.stateAfter()); PhiNode returnValuePhi = null; - if (invoke.asNode().getStackKind() != Kind.Void) { + if (invoke.asNode().getStackKind() != JavaKind.Void) { returnValuePhi = graph.addWithoutUnique(new ValuePhiNode(invoke.asNode().stamp().unrestricted(), returnMerge)); } @@ -183,8 +183,9 @@ FixedNode exceptionSux = exceptionEdge.next(); graph.addBeforeFixed(exceptionSux, exceptionMerge); - exceptionObjectPhi = graph.addWithoutUnique(new ValuePhiNode(StampFactory.forKind(Kind.Object), exceptionMerge)); - exceptionMerge.setStateAfter(exceptionEdge.stateAfter().duplicateModified(invoke.stateAfter().bci, true, Kind.Object, new Kind[]{Kind.Object}, new ValueNode[]{exceptionObjectPhi})); + exceptionObjectPhi = graph.addWithoutUnique(new ValuePhiNode(StampFactory.forKind(JavaKind.Object), exceptionMerge)); + exceptionMerge.setStateAfter(exceptionEdge.stateAfter().duplicateModified(invoke.stateAfter().bci, true, JavaKind.Object, new JavaKind[]{JavaKind.Object}, + new ValueNode[]{exceptionObjectPhi})); } // create one separate block for each invoked method @@ -363,8 +364,8 @@ result.asNode().replaceFirstInput(result.callTarget(), callTarget); result.setUseForInlining(useForInlining); - Kind kind = invoke.asNode().getStackKind(); - if (kind != Kind.Void) { + JavaKind kind = invoke.asNode().getStackKind(); + if (kind != JavaKind.Void) { FrameState stateAfter = invoke.stateAfter(); stateAfter = stateAfter.duplicate(stateAfter.bci); stateAfter.replaceFirstInput(invoke.asNode(), result.asNode()); @@ -380,7 +381,7 @@ ExceptionObjectNode newExceptionEdge = (ExceptionObjectNode) exceptionEdge.copyWithInputs(); // set new state (pop old exception object, push new one) - newExceptionEdge.setStateAfter(stateAfterException.duplicateModified(Kind.Object, Kind.Object, newExceptionEdge)); + newExceptionEdge.setStateAfter(stateAfterException.duplicateModified(JavaKind.Object, JavaKind.Object, newExceptionEdge)); EndNode endNode = graph.add(new EndNode()); newExceptionEdge.setNext(endNode); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/verify/VerifyUsageWithEquals.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/verify/VerifyUsageWithEquals.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/verify/VerifyUsageWithEquals.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -72,7 +72,7 @@ private static boolean isEqualsMethod(ResolvedJavaMethod method) { if (method.getName().equals("equals")) { Signature sig = method.getSignature(); - if (sig.getReturnKind() == Kind.Boolean) { + if (sig.getReturnKind() == JavaKind.Boolean) { if (sig.getParameterCount(false) == 1) { ResolvedJavaType ptype = (ResolvedJavaType) sig.getParameterType(0, method.getDeclaringClass()); if (ptype.isJavaLangObject()) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java --- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -480,7 +480,7 @@ prefix = "B"; } else if (node instanceof ValueNode) { ValueNode value = (ValueNode) node; - if (value.getStackKind() == Kind.Illegal) { + if (value.getStackKind() == JavaKind.Illegal) { prefix = "v"; } else { prefix = String.valueOf(value.getStackKind().getTypeChar()); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,13 +41,13 @@ public static final NodeClass TYPE = NodeClass.create(AMD64CountLeadingZerosNode.class); public AMD64CountLeadingZerosNode(ValueNode value) { - super(TYPE, StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + super(TYPE, StampFactory.forInteger(JavaKind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; } @Override public boolean inferStamp() { - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; IntegerStamp valueStamp = (IntegerStamp) getValue().stamp(); long mask = CodeUtil.mask(valueStamp.getBits()); // Don't count zeros from the mask in the result. @@ -55,13 +55,13 @@ assert adjust == 0 || adjust == 32; int min = Long.numberOfLeadingZeros(valueStamp.upMask() & mask) - adjust; int max = Long.numberOfLeadingZeros(valueStamp.downMask() & mask) - adjust; - return updateStamp(StampFactory.forInteger(Kind.Int, min, max)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, min, max)); } public static ValueNode tryFold(ValueNode value) { if (value.isConstant()) { JavaConstant c = value.asJavaConstant(); - if (value.getStackKind() == Kind.Int) { + if (value.getStackKind() == JavaKind.Int) { return ConstantNode.forInt(Integer.numberOfLeadingZeros(c.asInt())); } else { return ConstantNode.forInt(Long.numberOfLeadingZeros(c.asLong())); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -41,8 +41,8 @@ public static final NodeClass TYPE = NodeClass.create(AMD64CountTrailingZerosNode.class); public AMD64CountTrailingZerosNode(ValueNode value) { - super(TYPE, StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + super(TYPE, StampFactory.forInteger(JavaKind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; } @Override @@ -51,13 +51,13 @@ long mask = CodeUtil.mask(valueStamp.getBits()); int min = Long.numberOfTrailingZeros(valueStamp.upMask() & mask); int max = Long.numberOfTrailingZeros(valueStamp.downMask() & mask); - return updateStamp(StampFactory.forInteger(Kind.Int, min, max)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, min, max)); } public static ValueNode tryFold(ValueNode value) { if (value.isConstant()) { JavaConstant c = value.asJavaConstant(); - if (value.getStackKind() == Kind.Int) { + if (value.getStackKind() == JavaKind.Int) { return ConstantNode.forInt(Integer.numberOfTrailingZeros(c.asInt())); } else { return ConstantNode.forInt(Long.numberOfTrailingZeros(c.asLong())); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64GraphBuilderPlugins.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64GraphBuilderPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64GraphBuilderPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,13 +43,13 @@ public static void register(Plugins plugins, ForeignCallsProvider foreignCalls, AMD64 arch) { InvocationPlugins invocationPlugins = plugins.getInvocationPlugins(); - registerIntegerLongPlugins(invocationPlugins, IntegerSubstitutions.class, Kind.Int, arch); - registerIntegerLongPlugins(invocationPlugins, LongSubstitutions.class, Kind.Long, arch); + registerIntegerLongPlugins(invocationPlugins, IntegerSubstitutions.class, JavaKind.Int, arch); + registerIntegerLongPlugins(invocationPlugins, LongSubstitutions.class, JavaKind.Long, arch); registerUnsafePlugins(invocationPlugins); registerMathPlugins(invocationPlugins, foreignCalls); } - private static void registerIntegerLongPlugins(InvocationPlugins plugins, Class substituteDeclaringClass, Kind kind, AMD64 arch) { + private static void registerIntegerLongPlugins(InvocationPlugins plugins, Class substituteDeclaringClass, JavaKind kind, AMD64 arch) { Class declaringClass = kind.toBoxedJavaClass(); Class type = kind.toJavaClass(); Registration r = new Registration(plugins, declaringClass); @@ -58,9 +58,9 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { ValueNode folded = AMD64CountLeadingZerosNode.tryFold(value); if (folded != null) { - b.addPush(Kind.Int, folded); + b.addPush(JavaKind.Int, folded); } else { - b.addPush(Kind.Int, new AMD64CountLeadingZerosNode(value)); + b.addPush(JavaKind.Int, new AMD64CountLeadingZerosNode(value)); } return true; } @@ -73,9 +73,9 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { ValueNode folded = AMD64CountTrailingZerosNode.tryFold(value); if (folded != null) { - b.addPush(Kind.Int, folded); + b.addPush(JavaKind.Int, folded); } else { - b.addPush(Kind.Int, new AMD64CountTrailingZerosNode(value)); + b.addPush(JavaKind.Int, new AMD64CountTrailingZerosNode(value)); } return true; } @@ -89,13 +89,13 @@ Registration r = new Registration(plugins, Math.class); r.register1("log", Double.TYPE, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Double, b.recursiveAppend(AMD64MathIntrinsicNode.create(value, LOG))); + b.push(JavaKind.Double, b.recursiveAppend(AMD64MathIntrinsicNode.create(value, LOG))); return true; } }); r.register1("log10", Double.TYPE, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Double, b.recursiveAppend(AMD64MathIntrinsicNode.create(value, LOG10))); + b.push(JavaKind.Double, b.recursiveAppend(AMD64MathIntrinsicNode.create(value, LOG10))); return true; } }); @@ -109,8 +109,8 @@ private static void registerUnsafePlugins(InvocationPlugins plugins) { Registration r = new Registration(plugins, Unsafe.class); - for (Kind kind : new Kind[]{Kind.Int, Kind.Long, Kind.Object}) { - Class javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass(); + for (JavaKind kind : new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}) { + Class javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); r.register4("getAndSet" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode value) { @@ -121,7 +121,7 @@ return true; } }); - if (kind != Kind.Object) { + if (kind != JavaKind.Object) { r.register4("getAndAdd" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode delta) { // Emits a null-check for the otherwise unused receiver @@ -135,7 +135,7 @@ } } - for (Kind kind : new Kind[]{Kind.Char, Kind.Short, Kind.Int, Kind.Long}) { + for (JavaKind kind : new JavaKind[]{JavaKind.Char, JavaKind.Short, JavaKind.Int, JavaKind.Long}) { Class javaClass = kind.toJavaClass(); r.registerOptional3("get" + kind.name() + "Unaligned", Receiver.class, Object.class, long.class, new UnsafeGetPlugin(kind, false)); r.registerOptional4("put" + kind.name() + "Unaligned", Receiver.class, Object.class, long.class, javaClass, new UnsafePutPlugin(kind, false)); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64MathIntrinsicNode.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64MathIntrinsicNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64MathIntrinsicNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -70,7 +70,7 @@ } protected AMD64MathIntrinsicNode(ValueNode value, Operation op) { - super(TYPE, StampFactory.forKind(Kind.Double), value); + super(TYPE, StampFactory.forKind(JavaKind.Double), value); assert value.stamp() instanceof FloatStamp && PrimitiveStamp.getBits(value.stamp()) == 64; this.operation = op; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.sparc/src/com/oracle/graal/replacements/sparc/SPARCGraphBuilderPlugins.java --- a/graal/com.oracle.graal.replacements.sparc/src/com/oracle/graal/replacements/sparc/SPARCGraphBuilderPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.sparc/src/com/oracle/graal/replacements/sparc/SPARCGraphBuilderPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -35,12 +35,12 @@ public static void register(Plugins plugins, ForeignCallsProvider foreignCalls) { InvocationPlugins invocationPlugins = plugins.getInvocationPlugins(); - registerIntegerLongPlugins(invocationPlugins, IntegerSubstitutions.class, Kind.Int); - registerIntegerLongPlugins(invocationPlugins, LongSubstitutions.class, Kind.Long); + registerIntegerLongPlugins(invocationPlugins, IntegerSubstitutions.class, JavaKind.Int); + registerIntegerLongPlugins(invocationPlugins, LongSubstitutions.class, JavaKind.Long); registerMathPlugins(invocationPlugins, foreignCalls); } - private static void registerIntegerLongPlugins(InvocationPlugins plugins, Class substituteDeclaringClass, Kind kind) { + private static void registerIntegerLongPlugins(InvocationPlugins plugins, Class substituteDeclaringClass, JavaKind kind) { Class declaringClass = kind.toBoxedJavaClass(); Class type = kind.toJavaClass(); Registration r = new Registration(plugins, declaringClass); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -72,7 +72,7 @@ @Test public void testBitCountInt() { ValueNode result = parseAndInline("bitCountIntSnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 8, 24), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 8, 24), result.stamp()); } public static int bitCountIntEmptySnippet(int v) { @@ -82,7 +82,7 @@ @Test public void testBitCountIntEmpty() { ValueNode result = parseAndInline("bitCountIntEmptySnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 0, 24), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 24), result.stamp()); } @Test @@ -98,7 +98,7 @@ @Test public void testBitCountLong() { ValueNode result = parseAndInline("bitCountLongSnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 8, 40), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 8, 40), result.stamp()); } public static int bitCountLongEmptySnippet(long v) { @@ -108,7 +108,7 @@ @Test public void testBitCountLongEmpty() { ValueNode result = parseAndInline("bitCountLongEmptySnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 0, 40), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 0, 40), result.stamp()); } /* @@ -132,7 +132,7 @@ @Test public void testScanForwardInt() { ValueNode result = parseAndInline("scanForwardIntSnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 4, 8), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 4, 8), result.stamp()); } public static int scanForwardLongConstantSnippet() { @@ -152,7 +152,7 @@ @Test public void testScanForwardLong() { ValueNode result = parseAndInline("scanForwardLongSnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 24, 32), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 24, 32), result.stamp()); } public static int scanForwardLongEmptySnippet(long v) { @@ -164,7 +164,7 @@ @Test public void testScanForwardLongEmpty() { ValueNode result = parseAndInline("scanForwardLongEmptySnippet"); - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 24, 64), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 24, 64), result.stamp()); } /* @@ -190,7 +190,7 @@ /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseIntSnippet", BitScanReverseNode.class); if (result != null) { - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 16, 20), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 16, 20), result.stamp()); } } @@ -215,7 +215,7 @@ /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseLongSnippet", BitScanReverseNode.class); if (result != null) { - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 48, 64), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 48, 64), result.stamp()); } } @@ -230,7 +230,7 @@ /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseLongEmptySnippet", BitScanReverseNode.class); if (result != null) { - Assert.assertEquals(StampFactory.forInteger(Kind.Int, 24, 64), result.stamp()); + Assert.assertEquals(StampFactory.forInteger(JavaKind.Int, 24, 64), result.stamp()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -42,7 +42,7 @@ public class ObjectAccessTest extends GraalCompilerTest implements Snippets { private static final LocationIdentity ID = NamedLocationIdentity.mutable("ObjectAccessTestID"); - private static final Kind[] KINDS = new Kind[]{Kind.Byte, Kind.Char, Kind.Short, Kind.Int, Kind.Long, Kind.Float, Kind.Double, Kind.Object}; + private static final JavaKind[] KINDS = new JavaKind[]{JavaKind.Byte, JavaKind.Char, JavaKind.Short, JavaKind.Int, JavaKind.Long, JavaKind.Float, JavaKind.Double, JavaKind.Object}; private final ReplacementsImpl installer; public ObjectAccessTest() { @@ -56,47 +56,47 @@ @Test public void testRead1() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "1", AllowAssumptions.YES), kind, true, ID); } } @Test public void testRead2() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "2", AllowAssumptions.YES), kind, true, ID); } } @Test public void testRead3() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "3", AllowAssumptions.YES), kind, true, LocationIdentity.any()); } } @Test public void testWrite1() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "1", AllowAssumptions.YES), true, ID); } } @Test public void testWrite2() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "2", AllowAssumptions.YES), true, ID); } } @Test public void testWrite3() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "3", AllowAssumptions.YES), true, LocationIdentity.any()); } } - private static void assertRead(StructuredGraph graph, Kind kind, boolean indexConvert, LocationIdentity locationIdentity) { + private static void assertRead(StructuredGraph graph, JavaKind kind, boolean indexConvert, LocationIdentity locationIdentity) { JavaReadNode read = (JavaReadNode) graph.start().next(); Assert.assertEquals(kind.getStackKind(), read.stamp().getStackKind()); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PEGraphDecoderTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PEGraphDecoderTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PEGraphDecoderTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -102,7 +102,7 @@ @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unused, ValueNode obj, ValueNode offset) { AddressNode address = b.add(new OffsetAddressNode(obj, offset)); - ReadNode read = b.addPush(Kind.Int, new ReadNode(address, LocationIdentity.any(), StampFactory.forKind(Kind.Int), BarrierType.NONE)); + ReadNode read = b.addPush(JavaKind.Int, new ReadNode(address, LocationIdentity.any(), StampFactory.forKind(JavaKind.Int), BarrierType.NONE)); read.setGuard(AbstractBeginNode.prevBegin(read)); return true; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -46,7 +46,7 @@ public class PointerTest extends GraalCompilerTest implements Snippets { private static final LocationIdentity ID = NamedLocationIdentity.mutable("ID"); - private static final Kind[] KINDS = new Kind[]{Kind.Byte, Kind.Char, Kind.Short, Kind.Int, Kind.Long, Kind.Float, Kind.Double, Kind.Object}; + private static final JavaKind[] KINDS = new JavaKind[]{JavaKind.Byte, JavaKind.Char, JavaKind.Short, JavaKind.Int, JavaKind.Long, JavaKind.Float, JavaKind.Double, JavaKind.Object}; private final TargetDescription target; private final ReplacementsImpl installer; @@ -62,47 +62,47 @@ @Test public void testRead1() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "1", AllowAssumptions.YES), kind, true, ID); } } @Test public void testRead2() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "2", AllowAssumptions.YES), kind, true, ID); } } @Test public void testRead3() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertRead(parseEager("read" + kind.name() + "3", AllowAssumptions.YES), kind, true, LocationIdentity.any()); } } @Test public void testWrite1() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "1", AllowAssumptions.YES), true, ID); } } @Test public void testWrite2() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "2", AllowAssumptions.YES), true, ID); } } @Test public void testWrite3() { - for (Kind kind : KINDS) { + for (JavaKind kind : KINDS) { assertWrite(parseEager("write" + kind.name() + "3", AllowAssumptions.YES), true, LocationIdentity.any()); } } - private void assertRead(StructuredGraph graph, Kind kind, boolean indexConvert, LocationIdentity locationIdentity) { + private void assertRead(StructuredGraph graph, JavaKind kind, boolean indexConvert, LocationIdentity locationIdentity) { WordCastNode cast = (WordCastNode) graph.start().next(); JavaReadNode read = (JavaReadNode) cast.next(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/SubstitutionsTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/SubstitutionsTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/SubstitutionsTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -77,7 +77,7 @@ @Input(Guard) GuardingNode guard; public TestValue(ValueNode guard) { - super(TYPE, StampFactory.forKind(Kind.Int)); + super(TYPE, StampFactory.forKind(JavaKind.Int)); this.guard = (GuardingNode) guard; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -110,7 +110,7 @@ testGraph("unsafeDirectMemoryRead"); testGraph("unsafeDirectMemoryWrite"); - long address = unsafe.allocateMemory(8 * Kind.values().length); + long address = unsafe.allocateMemory(8 * JavaKind.values().length); for (Unsafe unsafeArg : new Unsafe[]{unsafe, null}) { test("unsafeCompareAndSwapInt", unsafeArg, supply(() -> new Foo()), fooOffset("i")); test("unsafeCompareAndSwapLong", unsafeArg, supply(() -> new Foo()), fooOffset("l")); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSnippets.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSnippets.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSnippets.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -144,7 +144,7 @@ ValueNode value = box.getValue(); if (value.isConstant()) { JavaConstant sourceConstant = value.asJavaConstant(); - if (sourceConstant.getKind() != box.getBoxingKind() && sourceConstant.getKind().isNumericInteger()) { + if (sourceConstant.getJavaKind() != box.getBoxingKind() && sourceConstant.getJavaKind().isNumericInteger()) { switch (box.getBoxingKind()) { case Boolean: sourceConstant = JavaConstant.forBoolean(sourceConstant.asLong() != 0L); @@ -161,7 +161,7 @@ } } JavaConstant boxedConstant = constantReflection.boxPrimitive(sourceConstant); - if (boxedConstant != null && sourceConstant.getKind() == box.getBoxingKind()) { + if (boxedConstant != null && sourceConstant.getJavaKind() == box.getBoxingKind()) { return ConstantNode.forConstant(boxedConstant, metaAccess, box.graph()); } } @@ -170,12 +170,12 @@ public static class Templates extends AbstractTemplates { - private final EnumMap boxSnippets = new EnumMap<>(Kind.class); - private final EnumMap unboxSnippets = new EnumMap<>(Kind.class); + private final EnumMap boxSnippets = new EnumMap<>(JavaKind.class); + private final EnumMap unboxSnippets = new EnumMap<>(JavaKind.class); public Templates(Providers providers, SnippetReflectionProvider snippetReflection, TargetDescription target) { super(providers, snippetReflection, target); - for (Kind kind : new Kind[]{Kind.Boolean, Kind.Byte, Kind.Char, Kind.Double, Kind.Float, Kind.Int, Kind.Long, Kind.Short}) { + for (JavaKind kind : new JavaKind[]{JavaKind.Boolean, JavaKind.Byte, JavaKind.Char, JavaKind.Double, JavaKind.Float, JavaKind.Int, JavaKind.Long, JavaKind.Short}) { boxSnippets.put(kind, snippet(BoxingSnippets.class, kind.getJavaName() + "ValueOf")); unboxSnippets.put(kind, snippet(BoxingSnippets.class, kind.getJavaName() + "Value")); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -143,17 +143,17 @@ } protected void lowerLoadFieldNode(LoadFieldNode loadField, LoweringTool tool) { - assert loadField.getStackKind() != Kind.Illegal; + assert loadField.getStackKind() != JavaKind.Illegal; StructuredGraph graph = loadField.graph(); ResolvedJavaField field = loadField.field(); ValueNode object = loadField.isStatic() ? staticFieldBase(graph, field) : loadField.object(); - Stamp loadStamp = loadStamp(loadField.stamp(), field.getKind()); + Stamp loadStamp = loadStamp(loadField.stamp(), field.getJavaKind()); AddressNode address = createFieldAddress(graph, object, field); assert address != null : "Field that is loaded must not be eliminated: " + field.getDeclaringClass().toJavaName(true) + "." + field.getName(); ReadNode memoryRead = graph.add(new ReadNode(address, field.getLocationIdentity(), loadStamp, fieldLoadBarrierType(field))); - ValueNode readValue = implicitLoadConvert(graph, field.getKind(), memoryRead); + ValueNode readValue = implicitLoadConvert(graph, field.getJavaKind(), memoryRead); loadField.replaceAtUsages(readValue); graph.replaceFixed(loadField, memoryRead); @@ -171,7 +171,7 @@ StructuredGraph graph = storeField.graph(); ResolvedJavaField field = storeField.field(); ValueNode object = storeField.isStatic() ? staticFieldBase(graph, field) : storeField.object(); - ValueNode value = implicitStoreConvert(graph, storeField.field().getKind(), storeField.value()); + ValueNode value = implicitStoreConvert(graph, storeField.field().getJavaKind(), storeField.value()); AddressNode address = createFieldAddress(graph, object, field); assert address != null; @@ -188,7 +188,7 @@ } } - public AddressNode createArrayAddress(StructuredGraph graph, ValueNode array, Kind elementKind, ValueNode index) { + public AddressNode createArrayAddress(StructuredGraph graph, ValueNode array, JavaKind elementKind, ValueNode index) { ValueNode wordIndex; if (target.wordSize > 4) { wordIndex = graph.unique(new SignExtendNode(index, target.wordSize * 8)); @@ -208,7 +208,7 @@ protected void lowerLoadIndexedNode(LoadIndexedNode loadIndexed, LoweringTool tool) { StructuredGraph graph = loadIndexed.graph(); - Kind elementKind = loadIndexed.elementKind(); + JavaKind elementKind = loadIndexed.elementKind(); Stamp loadStamp = loadStamp(loadIndexed.stamp(), elementKind); PiNode pi = getBoundsCheckedIndex(loadIndexed, tool, null); @@ -244,12 +244,12 @@ boundsCheck = pi.getGuard(); } - Kind elementKind = storeIndexed.elementKind(); + JavaKind elementKind = storeIndexed.elementKind(); ValueNode value = storeIndexed.value(); ValueNode array = storeIndexed.array(); FixedWithNextNode checkCastNode = null; - if (elementKind == Kind.Object && !StampTool.isPointerAlwaysNull(value)) { + if (elementKind == JavaKind.Object && !StampTool.isPointerAlwaysNull(value)) { /* Array store check. */ ResolvedJavaType arrayType = StampTool.typeOrNull(array); if (arrayType != null && StampTool.isExactType(array)) { @@ -328,7 +328,7 @@ protected void lowerCompareAndSwapNode(CompareAndSwapNode cas) { StructuredGraph graph = cas.graph(); - Kind valueKind = cas.getValueKind(); + JavaKind valueKind = cas.getValueKind(); ValueNode expectedValue = implicitStoreConvert(graph, valueKind, cas.expected()); ValueNode newValue = implicitStoreConvert(graph, valueKind, cas.newValue()); @@ -341,7 +341,7 @@ protected void lowerAtomicReadAndWriteNode(AtomicReadAndWriteNode n) { StructuredGraph graph = n.graph(); - Kind valueKind = n.getValueKind(); + JavaKind valueKind = n.getValueKind(); ValueNode newValue = implicitStoreConvert(graph, valueKind, n.newValue()); @@ -377,8 +377,8 @@ } protected ReadNode createUnsafeRead(StructuredGraph graph, UnsafeLoadNode load, GuardingNode guard) { - boolean compressible = load.accessKind() == Kind.Object; - Kind readKind = load.accessKind(); + boolean compressible = load.accessKind() == JavaKind.Object; + JavaKind readKind = load.accessKind(); Stamp loadStamp = loadStamp(load.stamp(), readKind, compressible); AddressNode address = createUnsafeAddress(graph, load.object(), load.offset()); ReadNode memoryRead = graph.add(new ReadNode(address, load.getLocationIdentity(), loadStamp, guard, BarrierType.NONE)); @@ -394,8 +394,8 @@ protected void lowerUnsafeStoreNode(UnsafeStoreNode store) { StructuredGraph graph = store.graph(); - boolean compressible = store.value().getStackKind() == Kind.Object; - Kind valueKind = store.accessKind(); + boolean compressible = store.value().getStackKind() == JavaKind.Object; + JavaKind valueKind = store.accessKind(); ValueNode value = implicitStoreConvert(graph, valueKind, store.value(), compressible); AddressNode address = createUnsafeAddress(graph, store.object(), store.offset()); WriteNode write = graph.add(new WriteNode(address, store.getLocationIdentity(), value, unsafeStoreBarrierType(store))); @@ -405,7 +405,7 @@ protected void lowerJavaReadNode(JavaReadNode read) { StructuredGraph graph = read.graph(); - Kind valueKind = read.getReadKind(); + JavaKind valueKind = read.getReadKind(); Stamp loadStamp = loadStamp(read.stamp(), valueKind, read.isCompressible()); ReadNode memoryRead = graph.add(new ReadNode(read.getAddress(), read.getLocationIdentity(), loadStamp, read.getBarrierType())); @@ -424,7 +424,7 @@ protected void lowerJavaWriteNode(JavaWriteNode write) { StructuredGraph graph = write.graph(); - Kind valueKind = write.getWriteKind(); + JavaKind valueKind = write.getWriteKind(); ValueNode value = implicitStoreConvert(graph, valueKind, write.value(), write.isCompressible()); WriteNode memoryWrite = graph.add(new WriteNode(write.getAddress(), write.getLocationIdentity(), value, write.getBarrierType(), write.isInitialization())); @@ -462,12 +462,12 @@ omittedValues.set(valuePos); } else if (!(value.isConstant() && value.asConstant().isDefaultForKind())) { // Constant.illegal is always the defaultForKind, so it is skipped - Kind valueKind = value.getStackKind(); - Kind entryKind = virtual.entryKind(i); + JavaKind valueKind = value.getStackKind(); + JavaKind entryKind = virtual.entryKind(i); // Truffle requires some leniency in terms of what can be put where: assert valueKind.getStackKind() == entryKind.getStackKind() || - (valueKind == Kind.Long || valueKind == Kind.Double || (valueKind == Kind.Int && virtual instanceof VirtualArrayNode)); + (valueKind == JavaKind.Long || valueKind == JavaKind.Double || (valueKind == JavaKind.Int && virtual instanceof VirtualArrayNode)); AddressNode address = null; BarrierType barrierType = null; if (virtual instanceof VirtualInstanceNode) { @@ -502,7 +502,7 @@ assert value instanceof VirtualObjectNode; ValueNode allocValue = allocations[commit.getVirtualObjects().indexOf(value)]; if (!(allocValue.isConstant() && allocValue.asConstant().isDefaultForKind())) { - assert virtual.entryKind(i) == Kind.Object && allocValue.getStackKind() == Kind.Object; + assert virtual.entryKind(i) == JavaKind.Object && allocValue.getStackKind() == JavaKind.Object; AddressNode address; BarrierType barrierType; if (virtual instanceof VirtualInstanceNode) { @@ -514,7 +514,7 @@ barrierType = BarrierType.PRECISE; } if (address != null) { - WriteNode write = new WriteNode(address, initLocationIdentity(), implicitStoreConvert(graph, Kind.Object, allocValue), barrierType); + WriteNode write = new WriteNode(address, initLocationIdentity(), implicitStoreConvert(graph, JavaKind.Object, allocValue), barrierType); graph.addBeforeFixed(commit, graph.add(write)); } } @@ -566,25 +566,25 @@ } protected BarrierType fieldStoreBarrierType(ResolvedJavaField field) { - if (field.getKind() == Kind.Object) { + if (field.getJavaKind() == JavaKind.Object) { return BarrierType.IMPRECISE; } return BarrierType.NONE; } - protected BarrierType arrayStoreBarrierType(Kind elementKind) { - if (elementKind == Kind.Object) { + protected BarrierType arrayStoreBarrierType(JavaKind elementKind) { + if (elementKind == JavaKind.Object) { return BarrierType.PRECISE; } return BarrierType.NONE; } - protected BarrierType fieldInitializationBarrier(Kind entryKind) { - return entryKind == Kind.Object ? BarrierType.IMPRECISE : BarrierType.NONE; + protected BarrierType fieldInitializationBarrier(JavaKind entryKind) { + return entryKind == JavaKind.Object ? BarrierType.IMPRECISE : BarrierType.NONE; } - protected BarrierType arrayInitializationBarrier(Kind entryKind) { - return entryKind == Kind.Object ? BarrierType.PRECISE : BarrierType.NONE; + protected BarrierType arrayInitializationBarrier(JavaKind entryKind) { + return entryKind == JavaKind.Object ? BarrierType.PRECISE : BarrierType.NONE; } protected BarrierType unsafeStoreBarrierType(UnsafeStoreNode store) { @@ -600,7 +600,7 @@ } protected BarrierType storeBarrierType(ValueNode object, ValueNode value) { - if (value.getStackKind() == Kind.Object) { + if (value.getStackKind() == JavaKind.Object) { ResolvedJavaType type = StampTool.typeOrNull(object); if (type != null && !type.isArray()) { return BarrierType.IMPRECISE; @@ -617,19 +617,19 @@ protected abstract int arrayLengthOffset(); - protected abstract int arrayBaseOffset(Kind elementKind); + protected abstract int arrayBaseOffset(JavaKind elementKind); - public int arrayScalingFactor(Kind elementKind) { + public int arrayScalingFactor(JavaKind elementKind) { return target.arch.getPlatformKind(elementKind).getSizeInBytes(); } protected abstract LocationIdentity initLocationIdentity(); - public Stamp loadStamp(Stamp stamp, Kind kind) { + public Stamp loadStamp(Stamp stamp, JavaKind kind) { return loadStamp(stamp, kind, true); } - protected Stamp loadStamp(Stamp stamp, Kind kind, @SuppressWarnings("unused") boolean compressible) { + protected Stamp loadStamp(Stamp stamp, JavaKind kind, @SuppressWarnings("unused") boolean compressible) { switch (kind) { case Boolean: case Byte: @@ -641,12 +641,12 @@ return stamp; } - public ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value) { + public ValueNode implicitLoadConvert(StructuredGraph graph, JavaKind kind, ValueNode value) { return implicitLoadConvert(graph, kind, value, true); } - protected ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value, @SuppressWarnings("unused") boolean compressible) { + protected ValueNode implicitLoadConvert(StructuredGraph graph, JavaKind kind, ValueNode value, @SuppressWarnings("unused") boolean compressible) { switch (kind) { case Byte: case Short: @@ -658,11 +658,11 @@ return value; } - public ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value) { + public ValueNode implicitStoreConvert(StructuredGraph graph, JavaKind kind, ValueNode value) { return implicitStoreConvert(graph, kind, value, true); } - protected ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value, @SuppressWarnings("unused") boolean compressible) { + protected ValueNode implicitStoreConvert(StructuredGraph graph, JavaKind kind, ValueNode value, @SuppressWarnings("unused") boolean compressible) { switch (kind) { case Boolean: case Byte: @@ -721,7 +721,7 @@ } @Override - public ValueNode reconstructArrayIndex(Kind elementKind, AddressNode address) { + public ValueNode reconstructArrayIndex(JavaKind elementKind, AddressNode address) { StructuredGraph graph = address.graph(); ValueNode offset = ((OffsetAddressNode) address).getOffset(); @@ -730,6 +730,6 @@ int shift = CodeUtil.log2(arrayScalingFactor(elementKind)); ValueNode ret = graph.unique(new RightShiftNode(scaledIndex, ConstantNode.forInt(shift, graph))); - return IntegerConvertNode.convert(ret, StampFactory.forKind(Kind.Int), graph); + return IntegerConvertNode.convert(ret, StampFactory.forKind(JavaKind.Int), graph); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -166,12 +166,12 @@ InvokeNode invoke = append(new InvokeNode(callTarget, bci)); if (frameStateBuilder != null) { - if (invoke.getStackKind() != Kind.Void) { - frameStateBuilder.push(returnType.getKind(), invoke); + if (invoke.getStackKind() != JavaKind.Void) { + frameStateBuilder.push(returnType.getJavaKind(), invoke); } invoke.setStateAfter(frameStateBuilder.create(bci, invoke)); - if (invoke.getStackKind() != Kind.Void) { - frameStateBuilder.pop(returnType.getKind()); + if (invoke.getStackKind() != JavaKind.Void) { + frameStateBuilder.pop(returnType.getJavaKind()); } } return invoke; @@ -197,14 +197,14 @@ int argIndex = 0; if (!isStatic) { ResolvedJavaType expectedType = method.getDeclaringClass(); - Kind expected = wordTypes == null ? expectedType.getKind() : wordTypes.asKind(expectedType); - Kind actual = args[argIndex++].stamp().getStackKind(); + JavaKind expected = wordTypes == null ? expectedType.getJavaKind() : wordTypes.asKind(expectedType); + JavaKind actual = args[argIndex++].stamp().getStackKind(); assert expected == actual : graph + ": wrong kind of value for receiver argument of call to " + method + " [" + actual + " != " + expected + "]"; } for (int i = 0; i != signature.getParameterCount(false); i++) { JavaType expectedType = signature.getParameterType(i, method.getDeclaringClass()); - Kind expected = wordTypes == null ? expectedType.getKind().getStackKind() : wordTypes.asKind(expectedType).getStackKind(); - Kind actual = args[argIndex++].stamp().getStackKind(); + JavaKind expected = wordTypes == null ? expectedType.getJavaKind().getStackKind() : wordTypes.asKind(expectedType).getStackKind(); + JavaKind actual = args[argIndex++].stamp().getStackKind(); if (expected != actual) { throw new AssertionError(graph + ": wrong kind of value for argument " + i + " of call to " + method + " [" + actual + " != " + expected + "]"); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -82,9 +82,9 @@ ResolvedJavaType accessingClass = method.getDeclaringClass(); for (int i = 0; i < max; i++) { JavaType type = sig.getParameterType(i, accessingClass).resolve(accessingClass); - Kind kind = type.getKind(); + JavaKind kind = type.getJavaKind(); Stamp stamp; - if (kind == Kind.Object && type instanceof ResolvedJavaType) { + if (kind == JavaKind.Object && type instanceof ResolvedJavaType) { stamp = StampFactory.declared((ResolvedJavaType) type); } else { stamp = StampFactory.forKind(kind); @@ -132,8 +132,8 @@ return added; } - public void push(Kind kind, ValueNode value) { - assert kind != Kind.Void; + public void push(JavaKind kind, ValueNode value) { + assert kind != JavaKind.Void; assert returnValue == null; returnValue = value; } @@ -207,7 +207,7 @@ public StructuredGraph buildGraph(InvocationPlugin plugin) { Receiver receiver = method.isStatic() ? null : this; if (plugin.execute(this, method, receiver, arguments)) { - assert (returnValue != null) == (method.getSignature().getReturnKind() != Kind.Void) : method; + assert (returnValue != null) == (method.getSignature().getReturnKind() != JavaKind.Void) : method; append(new ReturnNode(returnValue)); return graph; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/Log.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/Log.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/Log.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,27 +57,27 @@ private static native void printf(@ConstantNodeParameter ForeignCallDescriptor logPrintf, String format, long v1, long v2, long v3); public static void print(boolean value) { - log(LOG_PRIMITIVE, Kind.Boolean.getTypeChar(), value ? 1L : 0L, false); + log(LOG_PRIMITIVE, JavaKind.Boolean.getTypeChar(), value ? 1L : 0L, false); } public static void print(byte value) { - log(LOG_PRIMITIVE, Kind.Byte.getTypeChar(), value, false); + log(LOG_PRIMITIVE, JavaKind.Byte.getTypeChar(), value, false); } public static void print(char value) { - log(LOG_PRIMITIVE, Kind.Char.getTypeChar(), value, false); + log(LOG_PRIMITIVE, JavaKind.Char.getTypeChar(), value, false); } public static void print(short value) { - log(LOG_PRIMITIVE, Kind.Short.getTypeChar(), value, false); + log(LOG_PRIMITIVE, JavaKind.Short.getTypeChar(), value, false); } public static void print(int value) { - log(LOG_PRIMITIVE, Kind.Int.getTypeChar(), value, false); + log(LOG_PRIMITIVE, JavaKind.Int.getTypeChar(), value, false); } public static void print(long value) { - log(LOG_PRIMITIVE, Kind.Long.getTypeChar(), value, false); + log(LOG_PRIMITIVE, JavaKind.Long.getTypeChar(), value, false); } /** @@ -107,7 +107,7 @@ } else if (value == Float.NEGATIVE_INFINITY) { print("-Infinity"); } else { - log(LOG_PRIMITIVE, Kind.Float.getTypeChar(), Float.floatToRawIntBits(value), false); + log(LOG_PRIMITIVE, JavaKind.Float.getTypeChar(), Float.floatToRawIntBits(value), false); } } @@ -119,7 +119,7 @@ } else if (value == Double.NEGATIVE_INFINITY) { print("-Infinity"); } else { - log(LOG_PRIMITIVE, Kind.Double.getTypeChar(), Double.doubleToRawLongBits(value), false); + log(LOG_PRIMITIVE, JavaKind.Double.getTypeChar(), Double.doubleToRawLongBits(value), false); } } @@ -136,27 +136,27 @@ } public static void println(boolean value) { - log(LOG_PRIMITIVE, Kind.Boolean.getTypeChar(), value ? 1L : 0L, true); + log(LOG_PRIMITIVE, JavaKind.Boolean.getTypeChar(), value ? 1L : 0L, true); } public static void println(byte value) { - log(LOG_PRIMITIVE, Kind.Byte.getTypeChar(), value, true); + log(LOG_PRIMITIVE, JavaKind.Byte.getTypeChar(), value, true); } public static void println(char value) { - log(LOG_PRIMITIVE, Kind.Char.getTypeChar(), value, true); + log(LOG_PRIMITIVE, JavaKind.Char.getTypeChar(), value, true); } public static void println(short value) { - log(LOG_PRIMITIVE, Kind.Short.getTypeChar(), value, true); + log(LOG_PRIMITIVE, JavaKind.Short.getTypeChar(), value, true); } public static void println(int value) { - log(LOG_PRIMITIVE, Kind.Int.getTypeChar(), value, true); + log(LOG_PRIMITIVE, JavaKind.Int.getTypeChar(), value, true); } public static void println(long value) { - log(LOG_PRIMITIVE, Kind.Long.getTypeChar(), value, true); + log(LOG_PRIMITIVE, JavaKind.Long.getTypeChar(), value, true); } public static void println(float value) { @@ -167,7 +167,7 @@ } else if (value == Float.NEGATIVE_INFINITY) { println("-Infinity"); } else { - log(LOG_PRIMITIVE, Kind.Float.getTypeChar(), Float.floatToRawIntBits(value), true); + log(LOG_PRIMITIVE, JavaKind.Float.getTypeChar(), Float.floatToRawIntBits(value), true); } } @@ -179,7 +179,7 @@ } else if (value == Double.NEGATIVE_INFINITY) { println("-Infinity"); } else { - log(LOG_PRIMITIVE, Kind.Double.getTypeChar(), Double.doubleToRawLongBits(value), true); + log(LOG_PRIMITIVE, JavaKind.Double.getTypeChar(), Double.doubleToRawLongBits(value), true); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,10 +52,10 @@ InvokeNode invoke = MethodHandleNode.tryResolveTargetInvoke(b.getAssumptions(), b.getConstantReflection().getMethodHandleAccess(), intrinsicMethod, method, b.bci(), invokeReturnType, args); if (invoke == null) { MethodHandleNode methodHandleNode = new MethodHandleNode(intrinsicMethod, invokeKind, method, b.bci(), invokeReturnType, args); - if (invokeReturnType.getKind() == Kind.Void) { + if (invokeReturnType.getJavaKind() == JavaKind.Void) { b.add(methodHandleNode); } else { - b.addPush(invokeReturnType.getKind(), methodHandleNode); + b.addPush(invokeReturnType.getJavaKind(), methodHandleNode); } } else { CallTargetNode callTarget = invoke.callTarget(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -123,7 +123,7 @@ return true; } - public static final JavaConstant COULD_NOT_FOLD = new PrimitiveConstant(Kind.Illegal, 100) { + public static final JavaConstant COULD_NOT_FOLD = new PrimitiveConstant(JavaKind.Illegal, 100) { @Override public boolean equals(Object o) { return this == o; @@ -242,15 +242,15 @@ arg = javaConstant; } else { /* For intrinsification we want want corresponding objects */ - if (parameterTypes[i].getKind() == Kind.Boolean) { + if (parameterTypes[i].getJavaKind() == JavaKind.Boolean) { arg = Boolean.valueOf(javaConstant.asInt() != 0); - } else if (parameterTypes[i].getKind() == Kind.Byte) { + } else if (parameterTypes[i].getJavaKind() == JavaKind.Byte) { arg = Byte.valueOf((byte) javaConstant.asInt()); - } else if (parameterTypes[i].getKind() == Kind.Short) { + } else if (parameterTypes[i].getJavaKind() == JavaKind.Short) { arg = Short.valueOf((short) javaConstant.asInt()); - } else if (parameterTypes[i].getKind() == Kind.Char) { + } else if (parameterTypes[i].getJavaKind() == JavaKind.Char) { arg = Character.valueOf((char) javaConstant.asInt()); - } else if (parameterTypes[i].getKind() == Kind.Object) { + } else if (parameterTypes[i].getJavaKind() == JavaKind.Object) { arg = snippetReflection.asObject(parameterTypes[i], javaConstant); } else { arg = javaConstant.asBoxedPrimitive(); @@ -432,7 +432,7 @@ } public void cleanUpReturnCheckCast(Node newInstance) { - if (newInstance instanceof ValueNode && (((ValueNode) newInstance).getStackKind() != Kind.Object || ((ValueNode) newInstance).stamp() == StampFactory.forNodeIntrinsic())) { + if (newInstance instanceof ValueNode && (((ValueNode) newInstance).getStackKind() != JavaKind.Object || ((ValueNode) newInstance).stamp() == StampFactory.forNodeIntrinsic())) { StructuredGraph graph = (StructuredGraph) newInstance.graph(); for (CheckCastNode checkCastNode : newInstance.usages().filter(CheckCastNode.class).snapshot()) { for (Node checkCastUsage : checkCastNode.usages().snapshot()) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPlugin.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -77,9 +77,9 @@ NodeIntrinsic intrinsic = nodeIntrinsification.getIntrinsic(method); if (intrinsic != null) { Signature sig = method.getSignature(); - Kind returnKind = sig.getReturnKind(); + JavaKind returnKind = sig.getReturnKind(); Stamp stamp = StampFactory.forKind(returnKind); - if (returnKind == Kind.Object) { + if (returnKind == JavaKind.Object) { JavaType returnType = sig.getReturnType(method.getDeclaringClass()); if (returnType instanceof ResolvedJavaType) { ResolvedJavaType resolvedReturnType = (ResolvedJavaType) returnType; @@ -106,7 +106,7 @@ b.push(method.getSignature().getReturnKind(), ConstantNode.forConstant(constant, b.getMetaAccess(), b.getGraph())); } else { // This must be a void invoke - assert method.getSignature().getReturnKind() == Kind.Void; + assert method.getSignature().getReturnKind() == JavaKind.Void; } return true; } else if (mustIntrinsify) { @@ -115,7 +115,7 @@ } else if (MethodsElidedInSnippets != null) { if (MethodFilter.matches(MethodsElidedInSnippets, method)) { - if (method.getSignature().getReturnKind() != Kind.Void) { + if (method.getSignature().getReturnKind() != JavaKind.Void) { throw new JVMCIError("Cannot elide non-void method " + method.format("%H.%n(%p)")); } return true; @@ -150,7 +150,7 @@ } } - private boolean processNodeIntrinsic(GraphBuilderContext b, ResolvedJavaMethod method, NodeIntrinsic intrinsic, List args, Kind returnKind, Stamp stamp) { + private boolean processNodeIntrinsic(GraphBuilderContext b, ResolvedJavaMethod method, NodeIntrinsic intrinsic, List args, JavaKind returnKind, Stamp stamp) { ValueNode res = createNodeIntrinsic(b, method, intrinsic, args, stamp); if (res == null) { return false; @@ -174,7 +174,7 @@ } boolean nonValueType = false; - if (returnKind == Kind.Object && stamp instanceof ObjectStamp) { + if (returnKind == JavaKind.Object && stamp instanceof ObjectStamp) { ResolvedJavaType type = ((ObjectStamp) stamp).type(); if (type != null && structuralInputType.isAssignableFrom(type)) { assert res.isAllowedUsageType(getInputType(type)); @@ -182,11 +182,11 @@ } } - if (returnKind != Kind.Void) { - assert nonValueType || res.getStackKind() != Kind.Void; + if (returnKind != JavaKind.Void) { + assert nonValueType || res.getStackKind() != JavaKind.Void; res = b.addPush(returnKind, res); } else { - assert res.getStackKind() == Kind.Void; + assert res.getStackKind() == JavaKind.Void; res = b.add(res); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/PEGraphDecoder.java Tue Sep 08 19:57:39 2015 +0200 @@ -173,7 +173,7 @@ } @Override - public void push(Kind kind, ValueNode value) { + public void push(JavaKind kind, ValueNode value) { throw unimplemented(); } @@ -228,7 +228,7 @@ } @Override - public void push(Kind kind, ValueNode value) { + public void push(JavaKind kind, ValueNode value) { if (pushedNode != null) { throw unimplemented("Only one push is supported"); } @@ -619,7 +619,7 @@ stateAtReturn = (FrameState) decodeFloatingNode(methodScope.caller, methodScope.callerLoopScope, methodScope.invokeData.stateAfterOrderId); } - Kind invokeReturnKind = methodScope.invokeData.invoke.asNode().getStackKind(); + JavaKind invokeReturnKind = methodScope.invokeData.invoke.asNode().getStackKind(); FrameState outerState = stateAtReturn.duplicateModified(methodScope.graph, methodScope.invokeData.invoke.bci(), stateAtReturn.rethrowException(), true, invokeReturnKind, null, null); /* diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -641,7 +641,7 @@ dimensions++; } - Class baseClass = base.getKind() != Kind.Object ? base.getKind().toJavaClass() : resolveClass(base.toJavaName(), false); + Class baseClass = base.getJavaKind() != JavaKind.Object ? base.getJavaKind().toJavaClass() : resolveClass(base.toJavaName(), false); return dimensions == 0 ? baseClass : Array.newInstance(baseClass, new int[dimensions]).getClass(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Tue Sep 08 19:57:39 2015 +0200 @@ -125,7 +125,7 @@ for (int i = 0; i < names.length; i++) { names[i] = method.getLocalVariableTable().getLocal(slotIdx, 0).getName(); - Kind kind = method.getSignature().getParameterKind(i); + JavaKind kind = method.getSignature().getParameterKind(i); slotIdx += kind.getSlotCount(); } return true; @@ -615,7 +615,7 @@ for (int i = 0; i < parameterCount; i++) { if (args.info.isConstantParameter(i)) { Object arg = args.values[i]; - Kind kind = signature.getParameterKind(i); + JavaKind kind = signature.getParameterKind(i); ConstantNode constantNode; if (arg instanceof Constant) { Stamp stamp = args.constStamps[i]; @@ -833,13 +833,13 @@ return true; } - private static boolean checkConstantArgument(MetaAccessProvider metaAccess, final ResolvedJavaMethod method, Signature signature, int i, String name, Object arg, Kind kind) { + private static boolean checkConstantArgument(MetaAccessProvider metaAccess, final ResolvedJavaMethod method, Signature signature, int i, String name, Object arg, JavaKind kind) { ResolvedJavaType type = signature.getParameterType(i, method.getDeclaringClass()).resolve(method.getDeclaringClass()); if (metaAccess.lookupJavaType(WordBase.class).isAssignableFrom(type)) { assert arg instanceof JavaConstant : method + ": word constant parameters must be passed boxed in a Constant value: " + arg; return true; } - if (kind != Kind.Object) { + if (kind != JavaKind.Object) { assert arg != null && kind.toBoxedJavaClass() == arg.getClass() : method + ": wrong value kind for " + name + ": expected " + kind + ", got " + (arg == null ? "null" : arg.getClass().getSimpleName()); } @@ -931,8 +931,8 @@ if (argument instanceof ValueNode) { replacements.put((ParameterNode) parameter, (ValueNode) argument); } else { - Kind kind = ((ParameterNode) parameter).getStackKind(); - assert argument != null || kind == Kind.Object : this + " cannot accept null for non-object parameter named " + args.info.getParameterName(i); + JavaKind kind = ((ParameterNode) parameter).getStackKind(); + assert argument != null || kind == JavaKind.Object : this + " cannot accept null for non-object parameter named " + args.info.getParameterName(i); JavaConstant constant = forBoxed(argument, kind); replacements.put((ParameterNode) parameter, ConstantNode.forConstant(constant, metaAccess, replaceeGraph)); } @@ -972,15 +972,15 @@ /** * Converts a Java boxed value to a {@link JavaConstant} of the right kind. This adjusts for the - * limitation that a {@link Local}'s kind is a {@linkplain Kind#getStackKind() stack kind} and - * so cannot be used for re-boxing primitives smaller than an int. + * limitation that a {@link Local}'s kind is a {@linkplain JavaKind#getStackKind() stack kind} + * and so cannot be used for re-boxing primitives smaller than an int. * * @param argument a Java boxed value * @param localKind the kind of the {@link Local} to which {@code argument} will be bound */ - protected JavaConstant forBoxed(Object argument, Kind localKind) { + protected JavaConstant forBoxed(Object argument, JavaKind localKind) { assert localKind == localKind.getStackKind(); - if (localKind == Kind.Int) { + if (localKind == JavaKind.Int) { return JavaConstant.forBoxedPrimitive(argument); } return snippetReflection.forBoxed(localKind, argument); @@ -1429,7 +1429,7 @@ private static boolean checkTemplate(MetaAccessProvider metaAccess, Arguments args, ResolvedJavaMethod method, Signature signature) { for (int i = 0; i < args.info.getParameterCount(); i++) { if (args.info.isConstantParameter(i)) { - Kind kind = signature.getParameterKind(i); + JavaKind kind = signature.getParameterKind(i); assert checkConstantArgument(metaAccess, method, signature, i, args.info.getParameterName(i), args.values[i], kind); } else if (args.info.isVarargsParameter(i)) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/StandardGraphBuilderPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -69,8 +69,8 @@ registerUnsignedMathPlugins(plugins); registerCharacterPlugins(plugins); registerShortPlugins(plugins); - registerIntegerLongPlugins(plugins, Kind.Int); - registerIntegerLongPlugins(plugins, Kind.Long); + registerIntegerLongPlugins(plugins, JavaKind.Int); + registerIntegerLongPlugins(plugins, JavaKind.Long); registerFloatPlugins(plugins); registerDoublePlugins(plugins); registerStringPlugins(plugins); @@ -104,7 +104,7 @@ r.register1("getValue", String.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { ResolvedJavaField field = b.getMetaAccess().lookupJavaField(STRING_VALUE_FIELD); - b.addPush(Kind.Object, new LoadFieldNode(value, field)); + b.addPush(JavaKind.Object, new LoadFieldNode(value, field)); return true; } }); @@ -126,7 +126,7 @@ Registration r = new Registration(plugins, Array.class); r.register2("newInstance", Class.class, int.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unused, ValueNode componentType, ValueNode length) { - b.addPush(Kind.Object, new DynamicNewArrayNode(componentType, length, true)); + b.addPush(JavaKind.Object, new DynamicNewArrayNode(componentType, length, true)); return true; } }); @@ -135,9 +135,9 @@ private static void registerUnsafePlugins(InvocationPlugins plugins) { Registration r = new Registration(plugins, Unsafe.class); - for (Kind kind : Kind.values()) { - if ((kind.isPrimitive() && kind != Kind.Void) || kind == Kind.Object) { - Class javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass(); + for (JavaKind kind : JavaKind.values()) { + if ((kind.isPrimitive() && kind != JavaKind.Void) || kind == JavaKind.Object) { + Class javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); String kindName = kind.name(); String getName = "get" + kindName; String putName = "put" + kindName; @@ -148,10 +148,10 @@ r.register3(getName + "Volatile", Receiver.class, Object.class, long.class, new UnsafeGetPlugin(kind, true)); r.register4(putName + "Volatile", Receiver.class, Object.class, long.class, javaClass, new UnsafePutPlugin(kind, true)); // Ordered object-based accesses - if (kind == Kind.Int || kind == Kind.Long || kind == Kind.Object) { + if (kind == JavaKind.Int || kind == JavaKind.Long || kind == JavaKind.Object) { r.register4("putOrdered" + kindName, Receiver.class, Object.class, long.class, javaClass, new UnsafePutPlugin(kind, true)); } - if (kind != Kind.Boolean && kind != Kind.Object) { + if (kind != JavaKind.Boolean && kind != JavaKind.Object) { // Raw accesses to memory addresses r.register2(getName, Receiver.class, long.class, new UnsafeGetPlugin(kind, false)); r.register3(putName, Receiver.class, long.class, kind.toJavaClass(), new UnsafePutPlugin(kind, false)); @@ -160,16 +160,16 @@ } // Accesses to native memory addresses. - r.register2("getAddress", Receiver.class, long.class, new UnsafeGetPlugin(Kind.Long, false)); - r.register3("putAddress", Receiver.class, long.class, long.class, new UnsafePutPlugin(Kind.Long, false)); + r.register2("getAddress", Receiver.class, long.class, new UnsafeGetPlugin(JavaKind.Long, false)); + r.register3("putAddress", Receiver.class, long.class, long.class, new UnsafePutPlugin(JavaKind.Long, false)); - for (Kind kind : new Kind[]{Kind.Int, Kind.Long, Kind.Object}) { - Class javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass(); + for (JavaKind kind : new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}) { + Class javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); r.register5("compareAndSwap" + kind.name(), Receiver.class, Object.class, long.class, javaClass, javaClass, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode expected, ValueNode x) { // Emits a null-check for the otherwise unused receiver unsafe.get(); - b.addPush(Kind.Int, new CompareAndSwapNode(object, offset, expected, x, kind, LocationIdentity.any())); + b.addPush(JavaKind.Int, new CompareAndSwapNode(object, offset, expected, x, kind, LocationIdentity.any())); b.getGraph().markUnsafeAccess(); return true; } @@ -180,13 +180,13 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode clazz) { // Emits a null-check for the otherwise unused receiver unsafe.get(); - b.addPush(Kind.Object, new DynamicNewInstanceNode(clazz, true)); + b.addPush(JavaKind.Object, new DynamicNewInstanceNode(clazz, true)); return true; } }); } - private static void registerIntegerLongPlugins(InvocationPlugins plugins, Kind kind) { + private static void registerIntegerLongPlugins(InvocationPlugins plugins, JavaKind kind) { Class declaringClass = kind.toBoxedJavaClass(); Class type = kind.toJavaClass(); Registration r = new Registration(plugins, declaringClass); @@ -198,7 +198,7 @@ }); r.register1("bitCount", type, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Int, b.recursiveAppend(new BitCountNode(value).canonical(null, value))); + b.push(JavaKind.Int, b.recursiveAppend(new BitCountNode(value).canonical(null, value))); return true; } }); @@ -224,7 +224,7 @@ ReverseBytesNode reverse = b.add(new ReverseBytesNode(value)); RightShiftNode rightShift = b.add(new RightShiftNode(reverse, b.add(ConstantNode.forInt(16)))); ZeroExtendNode charCast = b.add(new ZeroExtendNode(b.add(new NarrowNode(rightShift, 16)), 32)); - b.push(Kind.Char, b.recursiveAppend(charCast.canonical(null, value))); + b.push(JavaKind.Char, b.recursiveAppend(charCast.canonical(null, value))); return true; } }); @@ -238,7 +238,7 @@ ReverseBytesNode reverse = b.add(new ReverseBytesNode(value)); RightShiftNode rightShift = b.add(new RightShiftNode(reverse, b.add(ConstantNode.forInt(16)))); SignExtendNode charCast = b.add(new SignExtendNode(b.add(new NarrowNode(rightShift, 16)), 32)); - b.push(Kind.Short, b.recursiveAppend(charCast.canonical(null, value))); + b.push(JavaKind.Short, b.recursiveAppend(charCast.canonical(null, value))); return true; } }); @@ -248,13 +248,13 @@ Registration r = new Registration(plugins, Float.class); r.register1("floatToRawIntBits", float.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Int, b.recursiveAppend(new ReinterpretNode(Kind.Int, value).canonical(null, value))); + b.push(JavaKind.Int, b.recursiveAppend(new ReinterpretNode(JavaKind.Int, value).canonical(null, value))); return true; } }); r.register1("intBitsToFloat", int.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Float, b.recursiveAppend(new ReinterpretNode(Kind.Float, value).canonical(null, value))); + b.push(JavaKind.Float, b.recursiveAppend(new ReinterpretNode(JavaKind.Float, value).canonical(null, value))); return true; } }); @@ -264,13 +264,13 @@ Registration r = new Registration(plugins, Double.class); r.register1("doubleToRawLongBits", double.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Long, b.recursiveAppend(new ReinterpretNode(Kind.Long, value).canonical(null, value))); + b.push(JavaKind.Long, b.recursiveAppend(new ReinterpretNode(JavaKind.Long, value).canonical(null, value))); return true; } }); r.register1("longBitsToDouble", long.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Double, b.recursiveAppend(new ReinterpretNode(Kind.Double, value).canonical(null, value))); + b.push(JavaKind.Double, b.recursiveAppend(new ReinterpretNode(JavaKind.Double, value).canonical(null, value))); return true; } }); @@ -278,7 +278,7 @@ private static void registerMathPlugins(InvocationPlugins plugins) { Registration r = new Registration(plugins, Math.class); - for (Kind kind : new Kind[]{Kind.Int, Kind.Long}) { + for (JavaKind kind : new JavaKind[]{JavaKind.Int, JavaKind.Long}) { Class type = kind.toJavaClass(); r.register2("addExact", type, type, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { @@ -301,19 +301,19 @@ } r.register1("abs", Float.TYPE, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Float, b.recursiveAppend(new AbsNode(value).canonical(null, value))); + b.push(JavaKind.Float, b.recursiveAppend(new AbsNode(value).canonical(null, value))); return true; } }); r.register1("abs", Double.TYPE, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Double, b.recursiveAppend(new AbsNode(value).canonical(null, value))); + b.push(JavaKind.Double, b.recursiveAppend(new AbsNode(value).canonical(null, value))); return true; } }); r.register1("sqrt", Double.TYPE, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { - b.push(Kind.Double, b.recursiveAppend(new SqrtNode(value).canonical(null, value))); + b.push(JavaKind.Double, b.recursiveAppend(new SqrtNode(value).canonical(null, value))); return true; } }); @@ -344,7 +344,7 @@ } LogicNode compare = CompareNode.createCompareNode(graph, cond, lhs, rhs, b.getConstantReflection()); - b.addPush(Kind.Boolean, new ConditionalNode(compare, trueValue, falseValue)); + b.addPush(JavaKind.Boolean, new ConditionalNode(compare, trueValue, falseValue)); return true; } } @@ -361,33 +361,33 @@ r.register2("belowOrEqual", long.class, long.class, new UnsignedMathPlugin(Condition.BE)); r.register2("divide", int.class, int.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { - b.push(Kind.Int, b.recursiveAppend(new UnsignedDivNode(x, y).canonical(null, x, y))); + b.push(JavaKind.Int, b.recursiveAppend(new UnsignedDivNode(x, y).canonical(null, x, y))); return true; } }); r.register2("divide", long.class, long.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { - b.push(Kind.Long, b.recursiveAppend(new UnsignedDivNode(x, y).canonical(null, x, y))); + b.push(JavaKind.Long, b.recursiveAppend(new UnsignedDivNode(x, y).canonical(null, x, y))); return true; } }); r.register2("remainder", int.class, int.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { - b.push(Kind.Int, b.recursiveAppend(new UnsignedRemNode(x, y).canonical(null, x, y))); + b.push(JavaKind.Int, b.recursiveAppend(new UnsignedRemNode(x, y).canonical(null, x, y))); return true; } }); r.register2("remainder", long.class, long.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { - b.push(Kind.Long, b.recursiveAppend(new UnsignedRemNode(x, y).canonical(null, x, y))); + b.push(JavaKind.Long, b.recursiveAppend(new UnsignedRemNode(x, y).canonical(null, x, y))); return true; } }); } protected static void registerBoxingPlugins(InvocationPlugins plugins) { - for (Kind kind : Kind.values()) { - if (kind.isPrimitive() && kind != Kind.Void) { + for (JavaKind kind : JavaKind.values()) { + if (kind.isPrimitive() && kind != JavaKind.Void) { new BoxPlugin(kind).register(plugins); new UnboxPlugin(kind).register(plugins); } @@ -410,10 +410,10 @@ ValueNode object = receiver.get(); ValueNode folded = GetClassNode.tryFold(b.getMetaAccess(), GraphUtil.originalValue(object)); if (folded != null) { - b.addPush(Kind.Object, folded); + b.addPush(JavaKind.Object, folded); } else { Stamp stamp = StampFactory.declaredNonNull(b.getMetaAccess().lookupJavaType(Class.class)); - b.addPush(Kind.Object, new GetClassNode(stamp, object)); + b.addPush(JavaKind.Object, new GetClassNode(stamp, object)); } return true; } @@ -425,14 +425,14 @@ r.register2("isInstance", Receiver.class, Object.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver type, ValueNode object) { LogicNode condition = b.add(InstanceOfDynamicNode.create(b.getConstantReflection(), type.get(), object)); - b.push(Kind.Boolean, b.recursiveAppend(new ConditionalNode(condition).canonical(null))); + b.push(JavaKind.Boolean, b.recursiveAppend(new ConditionalNode(condition).canonical(null))); return true; } }); r.register2("isAssignableFrom", Receiver.class, Class.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver type, ValueNode otherType) { ClassIsAssignableFromNode condition = b.recursiveAppend(new ClassIsAssignableFromNode(type.get(), otherType)); - b.push(Kind.Boolean, b.recursiveAppend(new ConditionalNode(condition).canonical(null))); + b.push(JavaKind.Boolean, b.recursiveAppend(new ConditionalNode(condition).canonical(null))); return true; } }); @@ -450,16 +450,16 @@ for (Class c : new Class[]{Node.class, NodeList.class}) { r.register2("get" + c.getSimpleName() + "Unsafe", Node.class, long.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode node, ValueNode offset) { - ValueNode value = b.add(new UnsafeLoadNode(node, offset, Kind.Object, LocationIdentity.any())); + ValueNode value = b.add(new UnsafeLoadNode(node, offset, JavaKind.Object, LocationIdentity.any())); boolean exactType = false; boolean nonNull = false; - b.addPush(Kind.Object, new PiNode(value, metaAccess.lookupJavaType(c), exactType, nonNull)); + b.addPush(JavaKind.Object, new PiNode(value, metaAccess.lookupJavaType(c), exactType, nonNull)); return true; } }); r.register3("put" + c.getSimpleName() + "Unsafe", Node.class, long.class, c, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode node, ValueNode offset, ValueNode value) { - b.add(new UnsafeStoreNode(node, offset, value, Kind.Object, LocationIdentity.any())); + b.add(new UnsafeStoreNode(node, offset, value, JavaKind.Object, LocationIdentity.any())); return true; } }); @@ -468,9 +468,9 @@ public static class BoxPlugin implements InvocationPlugin { - private final Kind kind; + private final JavaKind kind; - BoxPlugin(Kind kind) { + BoxPlugin(JavaKind kind) { this.kind = kind; } @@ -484,7 +484,7 @@ } } ResolvedJavaType resultType = b.getMetaAccess().lookupJavaType(kind.toBoxedJavaClass()); - b.addPush(Kind.Object, new BoxNode(value, resultType, kind)); + b.addPush(JavaKind.Object, new BoxNode(value, resultType, kind)); return true; } @@ -495,9 +495,9 @@ public static class UnboxPlugin implements InvocationPlugin { - private final Kind kind; + private final JavaKind kind; - UnboxPlugin(Kind kind) { + UnboxPlugin(JavaKind kind) { this.kind = kind; } @@ -523,10 +523,10 @@ public static class UnsafeGetPlugin implements InvocationPlugin { - private final Kind returnKind; + private final JavaKind returnKind; private final boolean isVolatile; - public UnsafeGetPlugin(Kind returnKind, boolean isVolatile) { + public UnsafeGetPlugin(JavaKind returnKind, boolean isVolatile) { this.returnKind = returnKind; this.isVolatile = isVolatile; } @@ -556,10 +556,10 @@ public static class UnsafePutPlugin implements InvocationPlugin { - private final Kind kind; + private final JavaKind kind; private final boolean isVolatile; - public UnsafePutPlugin(Kind kind, boolean isVolatile) { + public UnsafePutPlugin(JavaKind kind, boolean isVolatile) { this.kind = kind; this.isVolatile = isVolatile; } @@ -605,7 +605,7 @@ r.register0("inCompiledCode", new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(true)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(true)); return true; } }); @@ -619,7 +619,7 @@ r.register2("injectBranchProbability", double.class, boolean.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode probability, ValueNode condition) { - b.addPush(Kind.Boolean, new BranchProbabilityNode(probability, condition)); + b.addPush(JavaKind.Boolean, new BranchProbabilityNode(probability, condition)); return true; } }); @@ -631,9 +631,9 @@ } }; - for (Kind kind : Kind.values()) { - if ((kind.isPrimitive() && kind != Kind.Void) || kind == Kind.Object) { - Class javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass(); + for (JavaKind kind : JavaKind.values()) { + if ((kind.isPrimitive() && kind != JavaKind.Void) || kind == JavaKind.Object) { + Class javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); r.register1("blackhole", javaClass, blackholePlugin); r.register1("opaque", javaClass, new InvocationPlugin() { @@ -691,9 +691,9 @@ blackholeClass = MethodSubstitutionPlugin.resolveClass(name, true); if (blackholeClass != null) { Registration r = new Registration(plugins, blackholeClass); - for (Kind kind : Kind.values()) { - if ((kind.isPrimitive() && kind != Kind.Void) || kind == Kind.Object) { - Class javaClass = kind == Kind.Object ? Object.class : kind.toJavaClass(); + for (JavaKind kind : JavaKind.values()) { + if ((kind.isPrimitive() && kind != JavaKind.Void) || kind == JavaKind.Object) { + Class javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); r.register2("consume", Receiver.class, javaClass, blackholePlugin); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java Tue Sep 08 19:57:39 2015 +0200 @@ -52,7 +52,7 @@ */ public class WordOperationPlugin implements NodePlugin, ParameterPlugin, InlineInvokePlugin { protected final WordTypes wordTypes; - protected final Kind wordKind; + protected final JavaKind wordKind; protected final SnippetReflectionProvider snippetReflection; public WordOperationPlugin(SnippetReflectionProvider snippetReflection, WordTypes wordTypes) { @@ -103,7 +103,7 @@ if (field.getType() instanceof ResolvedJavaType && wordTypes.isWord((ResolvedJavaType) field.getType())) { LoadFieldNode loadFieldNode = new LoadFieldNode(receiver, field); loadFieldNode.setStamp(wordTypes.getWordStamp((ResolvedJavaType) field.getType())); - b.addPush(field.getKind(), loadFieldNode); + b.addPush(field.getJavaKind(), loadFieldNode); return true; } return false; @@ -115,14 +115,14 @@ } @Override - public boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind) { + public boolean handleLoadIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind) { ResolvedJavaType arrayType = StampTool.typeOrNull(array); /* * There are cases where the array does not have a known type yet, i.e., the type is null. * In that case we assume it is not a word type. */ if (arrayType != null && wordTypes.isWord(arrayType.getComponentType())) { - assert elementKind == Kind.Object; + assert elementKind == JavaKind.Object; b.addPush(elementKind, createLoadIndexedNode(array, index)); return true; } @@ -134,17 +134,17 @@ } @Override - public boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { + public boolean handleStoreIndexed(GraphBuilderContext b, ValueNode array, ValueNode index, JavaKind elementKind, ValueNode value) { ResolvedJavaType arrayType = StampTool.typeOrNull(array); if (arrayType != null && wordTypes.isWord(arrayType.getComponentType())) { - assert elementKind == Kind.Object; + assert elementKind == JavaKind.Object; if (value.getStackKind() != wordTypes.getWordKind()) { throw b.bailout("Cannot store a non-word value into a word array: " + arrayType.toJavaName(true)); } b.add(createStoreIndexedNode(array, index, value)); return true; } - if (elementKind == Kind.Object && value.getStackKind() == wordTypes.getWordKind()) { + if (elementKind == JavaKind.Object && value.getStackKind() == wordTypes.getWordKind()) { throw b.bailout("Cannot store a word value into a non-word array: " + arrayType.toJavaName(true)); } return false; @@ -157,7 +157,7 @@ @Override public boolean handleCheckCast(GraphBuilderContext b, ValueNode object, ResolvedJavaType type, JavaTypeProfile profile) { if (!wordTypes.isWord(type)) { - if (object.getStackKind() != Kind.Object) { + if (object.getStackKind() != JavaKind.Object) { throw b.bailout("Cannot cast a word value to a non-word type: " + type.toJavaName(true)); } return false; @@ -166,7 +166,7 @@ if (object.getStackKind() != wordTypes.getWordKind()) { throw b.bailout("Cannot cast a non-word value to a word type: " + type.toJavaName(true)); } - b.push(Kind.Object, object); + b.push(JavaKind.Object, object); return true; } @@ -174,7 +174,7 @@ public boolean handleInstanceOf(GraphBuilderContext b, ValueNode object, ResolvedJavaType type, JavaTypeProfile profile) { if (wordTypes.isWord(type)) { throw b.bailout("Cannot use instanceof for word a type: " + type.toJavaName(true)); - } else if (object.getStackKind() != Kind.Object) { + } else if (object.getStackKind() != JavaKind.Object) { throw b.bailout("Cannot use instanceof on a word value: " + type.toJavaName(true)); } return false; @@ -182,12 +182,12 @@ protected void processWordOperation(GraphBuilderContext b, ValueNode[] args, ResolvedJavaMethod wordMethod) throws JVMCIError { Operation operation = wordMethod.getAnnotation(Word.Operation.class); - Kind returnKind = wordMethod.getSignature().getReturnKind(); + JavaKind returnKind = wordMethod.getSignature().getReturnKind(); switch (operation.opcode()) { case NODE_CLASS: assert args.length == 2; ValueNode left = args[0]; - ValueNode right = operation.rightOperandIsInt() ? toUnsigned(b, args[1], Kind.Int) : fromSigned(b, args[1]); + ValueNode right = operation.rightOperandIsInt() ? toUnsigned(b, args[1], JavaKind.Int) : fromSigned(b, args[1]); b.addPush(returnKind, createBinaryNodeInstance(operation.node(), left, right)); break; @@ -206,7 +206,7 @@ case READ_OBJECT: case READ_BARRIERED: { assert args.length == 2 || args.length == 3; - Kind readKind = wordTypes.asKind(wordMethod.getSignature().getReturnType(wordMethod.getDeclaringClass())); + JavaKind readKind = wordTypes.asKind(wordMethod.getSignature().getReturnType(wordMethod.getDeclaringClass())); AddressNode address = makeAddress(b, args[0], args[1]); LocationIdentity location; if (args.length == 2) { @@ -220,7 +220,7 @@ } case READ_HEAP: { assert args.length == 3; - Kind readKind = wordTypes.asKind(wordMethod.getSignature().getReturnType(wordMethod.getDeclaringClass())); + JavaKind readKind = wordTypes.asKind(wordMethod.getSignature().getReturnType(wordMethod.getDeclaringClass())); AddressNode address = makeAddress(b, args[0], args[1]); BarrierType barrierType = snippetReflection.asObject(BarrierType.class, args[2].asJavaConstant()); b.push(returnKind, readOp(b, readKind, address, any(), barrierType, true)); @@ -231,7 +231,7 @@ case WRITE_BARRIERED: case INITIALIZE: { assert args.length == 3 || args.length == 4; - Kind writeKind = wordTypes.asKind(wordMethod.getSignature().getParameterType(wordMethod.isStatic() ? 2 : 1, wordMethod.getDeclaringClass())); + JavaKind writeKind = wordTypes.asKind(wordMethod.getSignature().getParameterType(wordMethod.isStatic() ? 2 : 1, wordMethod.getDeclaringClass())); AddressNode address = makeAddress(b, args[0], args[1]); LocationIdentity location; if (args.length == 3) { @@ -260,7 +260,7 @@ case TO_RAW_VALUE: assert args.length == 1; - b.push(returnKind, toUnsigned(b, args[0], Kind.Long)); + b.push(returnKind, toUnsigned(b, args[0], JavaKind.Long)); break; case OBJECT_TO_TRACKED: @@ -336,7 +336,7 @@ return materialize; } - protected ValueNode readOp(GraphBuilderContext b, Kind readKind, AddressNode address, LocationIdentity location, Opcode op) { + protected ValueNode readOp(GraphBuilderContext b, JavaKind readKind, AddressNode address, LocationIdentity location, Opcode op) { assert op == Opcode.READ_POINTER || op == Opcode.READ_OBJECT || op == Opcode.READ_BARRIERED; final BarrierType barrier = (op == Opcode.READ_BARRIERED ? BarrierType.PRECISE : BarrierType.NONE); final boolean compressible = (op == Opcode.READ_OBJECT || op == Opcode.READ_BARRIERED); @@ -344,7 +344,7 @@ return readOp(b, readKind, address, location, barrier, compressible); } - public static ValueNode readOp(GraphBuilderContext b, Kind readKind, AddressNode address, LocationIdentity location, BarrierType barrierType, boolean compressible) { + public static ValueNode readOp(GraphBuilderContext b, JavaKind readKind, AddressNode address, LocationIdentity location, BarrierType barrierType, boolean compressible) { /* * A JavaReadNode lowered to a ReadNode that will not float. This means it cannot float * above an explicit zero check on its base address or any other test that ensures the read @@ -354,7 +354,7 @@ return read; } - protected void writeOp(GraphBuilderContext b, Kind writeKind, AddressNode address, LocationIdentity location, ValueNode value, Opcode op) { + protected void writeOp(GraphBuilderContext b, JavaKind writeKind, AddressNode address, LocationIdentity location, ValueNode value, Opcode op) { assert op == Opcode.WRITE_POINTER || op == Opcode.WRITE_OBJECT || op == Opcode.WRITE_BARRIERED || op == Opcode.INITIALIZE; final BarrierType barrier = (op == Opcode.WRITE_BARRIERED ? BarrierType.PRECISE : BarrierType.NONE); final boolean compressible = (op == Opcode.WRITE_OBJECT || op == Opcode.WRITE_BARRIERED); @@ -374,21 +374,21 @@ return convert(b, value, wordKind, false); } - public ValueNode toUnsigned(GraphBuilderContext b, ValueNode value, Kind toKind) { + public ValueNode toUnsigned(GraphBuilderContext b, ValueNode value, JavaKind toKind) { return convert(b, value, toKind, true); } - public ValueNode convert(GraphBuilderContext b, ValueNode value, Kind toKind, boolean unsigned) { + public ValueNode convert(GraphBuilderContext b, ValueNode value, JavaKind toKind, boolean unsigned) { if (value.getStackKind() == toKind) { return value; } - if (toKind == Kind.Int) { - assert value.getStackKind() == Kind.Long; + if (toKind == JavaKind.Int) { + assert value.getStackKind() == JavaKind.Long; return b.add(new NarrowNode(value, 32)); } else { - assert toKind == Kind.Long; - assert value.getStackKind() == Kind.Int; + assert toKind == JavaKind.Long; + assert value.getStackKind() == JavaKind.Int; if (unsigned) { return b.add(new ZeroExtendNode(value, 64)); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,8 +43,8 @@ public final class ArrayEqualsNode extends FixedWithNextNode implements LIRLowerable, Canonicalizable, Virtualizable, MemoryAccess { public static final NodeClass TYPE = NodeClass.create(ArrayEqualsNode.class); - /** {@link Kind} of the arrays to compare. */ - protected final Kind kind; + /** {@link JavaKind} of the arrays to compare. */ + protected final JavaKind kind; /** One array to be tested for equality. */ @Input ValueNode array1; @@ -57,8 +57,8 @@ @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess; - public ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length, @ConstantNodeParameter Kind kind) { - super(TYPE, StampFactory.forKind(Kind.Boolean)); + public ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length, @ConstantNodeParameter JavaKind kind) { + super(TYPE, StampFactory.forKind(JavaKind.Boolean)); this.kind = kind; this.array1 = array1; this.array2 = array2; @@ -110,38 +110,38 @@ } @NodeIntrinsic - public static native boolean equals(Object array1, Object array2, int length, @ConstantNodeParameter Kind kind); + public static native boolean equals(Object array1, Object array2, int length, @ConstantNodeParameter JavaKind kind); public static boolean equals(boolean[] array1, boolean[] array2, int length) { - return equals(array1, array2, length, Kind.Boolean); + return equals(array1, array2, length, JavaKind.Boolean); } public static boolean equals(byte[] array1, byte[] array2, int length) { - return equals(array1, array2, length, Kind.Byte); + return equals(array1, array2, length, JavaKind.Byte); } public static boolean equals(char[] array1, char[] array2, int length) { - return equals(array1, array2, length, Kind.Char); + return equals(array1, array2, length, JavaKind.Char); } public static boolean equals(short[] array1, short[] array2, int length) { - return equals(array1, array2, length, Kind.Short); + return equals(array1, array2, length, JavaKind.Short); } public static boolean equals(int[] array1, int[] array2, int length) { - return equals(array1, array2, length, Kind.Int); + return equals(array1, array2, length, JavaKind.Int); } public static boolean equals(long[] array1, long[] array2, int length) { - return equals(array1, array2, length, Kind.Long); + return equals(array1, array2, length, JavaKind.Long); } public static boolean equals(float[] array1, float[] array2, int length) { - return equals(array1, array2, length, Kind.Float); + return equals(array1, array2, length, JavaKind.Float); } public static boolean equals(double[] array1, double[] array2, int length) { - return equals(array1, array2, length, Kind.Double); + return equals(array1, array2, length, JavaKind.Double); } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -51,30 +51,30 @@ @OptionalInput(InputType.Memory) protected MemoryNode lastLocationAccess; - protected Kind elementKind; + protected JavaKind elementKind; protected int bci; - public BasicArrayCopyNode(NodeClass type, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, int bci) { - super(type, StampFactory.forKind(Kind.Void)); + public BasicArrayCopyNode(NodeClass type, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind, int bci) { + super(type, StampFactory.forKind(JavaKind.Void)); this.bci = bci; this.src = src; this.srcPos = srcPos; this.dest = dest; this.destPos = destPos; this.length = length; - this.elementKind = elementKind != Kind.Illegal ? elementKind : null; + this.elementKind = elementKind != JavaKind.Illegal ? elementKind : null; } - public BasicArrayCopyNode(NodeClass type, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) { - super(type, StampFactory.forKind(Kind.Void)); + public BasicArrayCopyNode(NodeClass type, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, JavaKind elementKind) { + super(type, StampFactory.forKind(JavaKind.Void)); this.bci = -6; this.src = src; this.srcPos = srcPos; this.dest = dest; this.destPos = destPos; this.length = length; - this.elementKind = elementKind != Kind.Illegal ? elementKind : null; + this.elementKind = elementKind != JavaKind.Illegal ? elementKind : null; } public ValueNode getSource() { @@ -101,7 +101,7 @@ return bci; } - public Kind getElementKind() { + public JavaKind getElementKind() { return elementKind; } @@ -132,7 +132,7 @@ } private static boolean checkEntryTypes(int srcPos, int length, VirtualObjectNode src, ResolvedJavaType destComponentType, VirtualizerTool tool) { - if (destComponentType.getKind() == Kind.Object) { + if (destComponentType.getJavaKind() == JavaKind.Object) { for (int i = 0; i < length; i++) { ValueNode entry = tool.getEntry(src, srcPos + i); ResolvedJavaType type = StampTool.typeOrNull(entry); @@ -153,7 +153,7 @@ if (srcType == null || !srcType.isArray() || destType == null || !destType.isArray()) { return false; } - if ((srcType.getComponentType().getKind().isPrimitive() && destType.getComponentType().equals(srcType.getComponentType())) || getSource() == getDestination()) { + if ((srcType.getComponentType().getJavaKind().isPrimitive() && destType.getComponentType().equals(srcType.getComponentType())) || getSource() == getDestination()) { return true; } @@ -189,10 +189,10 @@ return; } VirtualArrayNode srcVirtual = (VirtualArrayNode) srcAlias; - if (destVirtual.componentType().getKind() != Kind.Object) { + if (destVirtual.componentType().getJavaKind() != JavaKind.Object) { return; } - if (srcVirtual.componentType().getKind() != Kind.Object) { + if (srcVirtual.componentType().getJavaKind() != JavaKind.Object) { return; } if (!checkBounds(srcPosInt, len, srcVirtual)) { @@ -219,7 +219,7 @@ return; } for (int i = 0; i < len; i++) { - LoadIndexedNode load = new LoadIndexedNode(srcAlias, ConstantNode.forInt(i + srcPosInt, graph()), destComponentType.getKind()); + LoadIndexedNode load = new LoadIndexedNode(srcAlias, ConstantNode.forInt(i + srcPosInt, graph()), destComponentType.getJavaKind()); tool.addNode(load); tool.setVirtualEntry(destVirtual, destPosInt + i, load, false); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,8 +39,8 @@ public static final NodeClass TYPE = NodeClass.create(BitCountNode.class); public BitCountNode(ValueNode value) { - super(TYPE, StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + super(TYPE, StampFactory.forInteger(JavaKind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; } @Override @@ -48,14 +48,14 @@ IntegerStamp valueStamp = (IntegerStamp) getValue().stamp(); assert (valueStamp.downMask() & CodeUtil.mask(valueStamp.getBits())) == valueStamp.downMask(); assert (valueStamp.upMask() & CodeUtil.mask(valueStamp.getBits())) == valueStamp.upMask(); - return updateStamp(StampFactory.forInteger(Kind.Int, Long.bitCount(valueStamp.downMask()), Long.bitCount(valueStamp.upMask()))); + return updateStamp(StampFactory.forInteger(JavaKind.Int, Long.bitCount(valueStamp.downMask()), Long.bitCount(valueStamp.upMask()))); } @Override public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) { if (forValue.isConstant()) { JavaConstant c = forValue.asJavaConstant(); - return ConstantNode.forInt(forValue.getStackKind() == Kind.Int ? Integer.bitCount(c.asInt()) : Long.bitCount(c.asLong())); + return ConstantNode.forInt(forValue.getStackKind() == JavaKind.Int ? Integer.bitCount(c.asInt()) : Long.bitCount(c.asLong())); } return this; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,8 +43,8 @@ public static final NodeClass TYPE = NodeClass.create(BitScanForwardNode.class); public BitScanForwardNode(ValueNode value) { - super(TYPE, StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + super(TYPE, StampFactory.forInteger(JavaKind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; } @Override @@ -63,7 +63,7 @@ min = firstMaybeSetBit; max = firstAlwaysSetBit; } - return updateStamp(StampFactory.forInteger(Kind.Int, min, max)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, min, max)); } @Override @@ -71,7 +71,7 @@ if (forValue.isConstant()) { JavaConstant c = forValue.asJavaConstant(); if (c.asLong() != 0) { - return ConstantNode.forInt(forValue.getStackKind() == Kind.Int ? scan(c.asInt()) : scan(c.asLong())); + return ConstantNode.forInt(forValue.getStackKind() == JavaKind.Int ? scan(c.asInt()) : scan(c.asLong())); } } return this; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,8 +43,8 @@ public static final NodeClass TYPE = NodeClass.create(BitScanReverseNode.class); public BitScanReverseNode(ValueNode value) { - super(TYPE, StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); - assert value.getStackKind() == Kind.Int || value.getStackKind() == Kind.Long; + super(TYPE, StampFactory.forInteger(JavaKind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); + assert value.getStackKind() == JavaKind.Int || value.getStackKind() == JavaKind.Long; } @Override @@ -62,7 +62,7 @@ } int lastMaybeSetBit = scan(valueStamp.upMask() & mask); max = lastMaybeSetBit; - return updateStamp(StampFactory.forInteger(Kind.Int, min, max)); + return updateStamp(StampFactory.forInteger(JavaKind.Int, min, max)); } @Override @@ -70,7 +70,7 @@ if (forValue.isConstant()) { JavaConstant c = forValue.asJavaConstant(); if (c.asLong() != 0) { - return ConstantNode.forInt(forValue.getStackKind() == Kind.Int ? scan(c.asInt()) : scan(c.asLong())); + return ConstantNode.forInt(forValue.getStackKind() == JavaKind.Int ? scan(c.asInt()) : scan(c.asLong())); } } return this; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -48,9 +48,9 @@ @Input ValueNode offset; protected final int displacement; protected final LocationIdentity locationIdentity; - protected final Kind storeKind; + protected final JavaKind storeKind; - public DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity, Kind storeKind) { + public DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity, JavaKind storeKind) { super(TYPE, StampFactory.forVoid()); this.object = object; this.value = value; @@ -62,45 +62,45 @@ @NodeIntrinsic public static native void storeObject(Object obj, @ConstantNodeParameter int displacement, long offset, Object value, @ConstantNodeParameter LocationIdentity locationIdentity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeBoolean(Object obj, @ConstantNodeParameter int displacement, long offset, boolean value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeByte(Object obj, @ConstantNodeParameter int displacement, long offset, byte value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeChar(Object obj, @ConstantNodeParameter int displacement, long offset, char value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeShort(Object obj, @ConstantNodeParameter int displacement, long offset, short value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeInt(Object obj, @ConstantNodeParameter int displacement, long offset, int value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeLong(Object obj, @ConstantNodeParameter int displacement, long offset, long value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeFloat(Object obj, @ConstantNodeParameter int displacement, long offset, float value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @NodeIntrinsic public static native void storeDouble(Object obj, @ConstantNodeParameter int displacement, long offset, double value, @ConstantNodeParameter LocationIdentity locationIdenity, - @ConstantNodeParameter Kind storeKind); + @ConstantNodeParameter JavaKind storeKind); @Override public void lower(LoweringTool tool) { ValueNode off = graph().unique(new AddNode(offset, ConstantNode.forIntegerStamp(offset.stamp(), displacement, graph()))); AddressNode address = graph().unique(new OffsetAddressNode(object, off)); - JavaWriteNode write = graph().add(new JavaWriteNode(storeKind, address, locationIdentity, value, BarrierType.NONE, storeKind == Kind.Object, false)); + JavaWriteNode write = graph().add(new JavaWriteNode(storeKind, address, locationIdentity, value, BarrierType.NONE, storeKind == JavaKind.Object, false)); graph().replaceFixedWithFixed(this, write); tool.getLowerer().lower(write, tool); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,9 +40,9 @@ public static final NodeClass TYPE = NodeClass.create(DirectReadNode.class); @Input protected ValueNode address; - protected final Kind readKind; + protected final JavaKind readKind; - public DirectReadNode(ValueNode address, Kind readKind) { + public DirectReadNode(ValueNode address, JavaKind readKind) { super(TYPE, StampFactory.forKind(readKind.getStackKind())); this.address = address; this.readKind = readKind; @@ -64,7 +64,7 @@ public void generate(NodeLIRBuilderTool gen) { LIRKind kind = gen.getLIRGeneratorTool().target().getLIRKind(readKind); Value loaded = gen.getLIRGeneratorTool().emitLoad(kind, gen.operand(address), null); - switch ((Kind) kind.getPlatformKind()) { + switch ((JavaKind) kind.getPlatformKind()) { case Byte: loaded = gen.getLIRGeneratorTool().emitSignExtend(loaded, 8, 32); break; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,9 +41,9 @@ public static final NodeClass TYPE = NodeClass.create(DirectStoreNode.class); @Input protected ValueNode address; @Input protected ValueNode value; - protected final Kind kind; + protected final JavaKind kind; - public DirectStoreNode(ValueNode address, ValueNode value, Kind kind) { + public DirectStoreNode(ValueNode address, ValueNode value, JavaKind kind) { super(TYPE, StampFactory.forVoid()); this.address = address; this.value = value; @@ -66,5 +66,5 @@ } @NodeIntrinsic - public static native void storeBoolean(long address, boolean value, @ConstantNodeParameter Kind kind); + public static native void storeBoolean(long address, boolean value, @ConstantNodeParameter JavaKind kind); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -81,8 +81,8 @@ } private static Stamp returnStamp(JavaType returnType) { - Kind kind = returnType.getKind(); - if (kind == Kind.Object) { + JavaKind kind = returnType.getJavaKind(); + if (kind == JavaKind.Object) { return StampFactory.declared((ResolvedJavaType) returnType); } else { return StampFactory.forKind(kind); @@ -208,7 +208,7 @@ InvokeNode invoke = graph().add(new InvokeNode(callTarget, bci)); if (stateAfter() != null) { invoke.setStateAfter(stateAfter().duplicate()); - if (getStackKind() != Kind.Void) { + if (getStackKind() != JavaKind.Void) { invoke.stateAfter().replaceFirstInput(this, invoke); } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MethodHandleNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MethodHandleNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MethodHandleNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -262,7 +262,7 @@ // we need to use the stamp of the invoker. Note: always using the // invoker's stamp would be wrong because it's a less concrete type // (usually java.lang.Object). - if (returnType.getKind() == Kind.Void) { + if (returnType.getJavaKind() == JavaKind.Void) { return new InvokeNode(callTarget, bci, StampFactory.forVoid()); } else { return new InvokeNode(callTarget, bci); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -56,7 +56,7 @@ */ protected final boolean incoming; - public ReadRegisterNode(Register register, Kind kind, boolean directUse, boolean incoming) { + public ReadRegisterNode(Register register, JavaKind kind, boolean directUse, boolean incoming) { super(TYPE, StampFactory.forKind(kind)); assert register != null; this.register = register; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -40,17 +40,17 @@ public ReverseBytesNode(ValueNode value) { super(TYPE, StampFactory.forKind(value.getStackKind()), value); - assert getStackKind() == Kind.Int || getStackKind() == Kind.Long; + assert getStackKind() == JavaKind.Int || getStackKind() == JavaKind.Long; } @Override public boolean inferStamp() { IntegerStamp valueStamp = (IntegerStamp) getValue().stamp(); Stamp newStamp; - if (getStackKind() == Kind.Int) { - long mask = CodeUtil.mask(Kind.Int.getBitCount()); + if (getStackKind() == JavaKind.Int) { + long mask = CodeUtil.mask(JavaKind.Int.getBitCount()); newStamp = IntegerStamp.stampForMask(valueStamp.getBits(), Integer.reverse((int) valueStamp.downMask()) & mask, Integer.reverse((int) valueStamp.upMask()) & mask); - } else if (getStackKind() == Kind.Long) { + } else if (getStackKind() == JavaKind.Long) { newStamp = IntegerStamp.stampForMask(valueStamp.getBits(), Long.reverse(valueStamp.downMask()), Long.reverse(valueStamp.upMask())); } else { return false; @@ -62,7 +62,7 @@ public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) { if (forValue.isConstant()) { JavaConstant c = forValue.asJavaConstant(); - long reversed = getStackKind() == Kind.Int ? Integer.reverseBytes(c.asInt()) : Long.reverseBytes(c.asLong()); + long reversed = getStackKind() == JavaKind.Int ? Integer.reverseBytes(c.asInt()) : Long.reverseBytes(c.asLong()); return ConstantNode.forIntegerKind(getStackKind(), reversed); } return this; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerAddExactNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerAddExactNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerAddExactNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -132,12 +132,12 @@ JavaConstant xConst = forX.asJavaConstant(); JavaConstant yConst = forY.asJavaConstant(); if (xConst != null && yConst != null) { - assert xConst.getKind() == yConst.getKind(); + assert xConst.getJavaKind() == yConst.getJavaKind(); try { - if (xConst.getKind() == Kind.Int) { + if (xConst.getJavaKind() == JavaKind.Int) { return ConstantNode.forInt(Math.addExact(xConst.asInt(), yConst.asInt())); } else { - assert xConst.getKind() == Kind.Long; + assert xConst.getJavaKind() == JavaKind.Long; return ConstantNode.forLong(Math.addExact(xConst.asLong(), yConst.asLong())); } } catch (ArithmeticException ex) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulExactNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulExactNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulExactNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -73,12 +73,12 @@ private ValueNode canonicalXconstant(ValueNode forX, ValueNode forY) { JavaConstant xConst = forX.asJavaConstant(); JavaConstant yConst = forY.asJavaConstant(); - assert xConst.getKind() == yConst.getKind(); + assert xConst.getJavaKind() == yConst.getJavaKind(); try { - if (xConst.getKind() == Kind.Int) { + if (xConst.getJavaKind() == JavaKind.Int) { return ConstantNode.forInt(Math.multiplyExact(xConst.asInt(), yConst.asInt())); } else { - assert xConst.getKind() == Kind.Long; + assert xConst.getJavaKind() == JavaKind.Long; return ConstantNode.forLong(Math.multiplyExact(xConst.asLong(), yConst.asLong())); } } catch (ArithmeticException ex) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulHighNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulHighNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerMulHighNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -55,15 +55,15 @@ IntegerStamp xStamp = (IntegerStamp) forX.stamp(); IntegerStamp yStamp = (IntegerStamp) forY.stamp(); - Kind kind = getStackKind(); - assert kind == Kind.Int || kind == Kind.Long; + JavaKind kind = getStackKind(); + assert kind == JavaKind.Int || kind == JavaKind.Long; long[] xExtremes = {xStamp.lowerBound(), xStamp.upperBound()}; long[] yExtremes = {yStamp.lowerBound(), yStamp.upperBound()}; long min = Long.MAX_VALUE; long max = Long.MIN_VALUE; for (long a : xExtremes) { for (long b : yExtremes) { - long result = kind == Kind.Int ? multiplyHigh((int) a, (int) b) : multiplyHigh(a, b); + long result = kind == JavaKind.Int ? multiplyHigh((int) a, (int) b) : multiplyHigh(a, b); min = Math.min(min, result); max = Math.max(max, result); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerSubExactNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerSubExactNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/IntegerSubExactNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -72,12 +72,12 @@ private ValueNode canonicalXYconstant(ValueNode forX, ValueNode forY) { JavaConstant xConst = forX.asJavaConstant(); JavaConstant yConst = forY.asJavaConstant(); - assert xConst.getKind() == yConst.getKind(); + assert xConst.getJavaKind() == yConst.getJavaKind(); try { - if (xConst.getKind() == Kind.Int) { + if (xConst.getJavaKind() == JavaKind.Int) { return ConstantNode.forInt(Math.subtractExact(xConst.asInt(), yConst.asInt())); } else { - assert xConst.getKind() == Kind.Long; + assert xConst.getJavaKind() == JavaKind.Long; return ConstantNode.forLong(Math.subtractExact(xConst.asLong(), yConst.asLong())); } } catch (ArithmeticException ex) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/UnsignedMulHighNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/UnsignedMulHighNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/arithmetic/UnsignedMulHighNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -58,15 +58,15 @@ IntegerStamp xStamp = (IntegerStamp) forX.stamp(); IntegerStamp yStamp = (IntegerStamp) forY.stamp(); - Kind kind = getStackKind(); - assert kind == Kind.Int || kind == Kind.Long; + JavaKind kind = getStackKind(); + assert kind == JavaKind.Int || kind == JavaKind.Long; long[] xExtremes = {xStamp.lowerBound(), xStamp.upperBound()}; long[] yExtremes = {yStamp.lowerBound(), yStamp.upperBound()}; long min = Long.MAX_VALUE; long max = Long.MIN_VALUE; for (long a : xExtremes) { for (long b : yExtremes) { - long result = kind == Kind.Int ? multiplyHighUnsigned((int) a, (int) b) : multiplyHighUnsigned(a, b); + long result = kind == JavaKind.Int ? multiplyHighUnsigned((int) a, (int) b) : multiplyHighUnsigned(a, b); min = Math.min(min, result); max = Math.max(max, result); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64OptimizedCallTargetInstrumentationFactory.java --- a/graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64OptimizedCallTargetInstrumentationFactory.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64OptimizedCallTargetInstrumentationFactory.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,7 +49,7 @@ protected void injectTailCallCode(HotSpotVMConfig config, HotSpotRegistersProvider registers) { @SuppressWarnings("hiding") AMD64MacroAssembler asm = (AMD64MacroAssembler) this.asm; - Register thisRegister = codeCache.getRegisterConfig().getCallingConventionRegisters(Type.JavaCall, Kind.Object)[0]; + Register thisRegister = codeCache.getRegisterConfig().getCallingConventionRegisters(Type.JavaCall, JavaKind.Object)[0]; Register spillRegister = AMD64.r10; // TODO(mg): fix me Label doProlog = new Label(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64RawNativeCallNodeFactory.java --- a/graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64RawNativeCallNodeFactory.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64RawNativeCallNodeFactory.java Tue Sep 08 19:57:39 2015 +0200 @@ -31,7 +31,7 @@ @ServiceProvider(RawNativeCallNodeFactory.class) public class AMD64RawNativeCallNodeFactory implements RawNativeCallNodeFactory { - public FixedWithNextNode createRawCallNode(Kind returnType, JavaConstant functionPointer, ValueNode... args) { + public FixedWithNextNode createRawCallNode(JavaKind returnType, JavaConstant functionPointer, ValueNode... args) { return new AMD64RawNativeCallNode(returnType, functionPointer, args); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot.sparc/src/com/oracle/graal/truffle/hotspot/sparc/SPARCOptimizedCallTargetInstumentationFactory.java --- a/graal/com.oracle.graal.truffle.hotspot.sparc/src/com/oracle/graal/truffle/hotspot/sparc/SPARCOptimizedCallTargetInstumentationFactory.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot.sparc/src/com/oracle/graal/truffle/hotspot/sparc/SPARCOptimizedCallTargetInstumentationFactory.java Tue Sep 08 19:57:39 2015 +0200 @@ -26,7 +26,7 @@ import static com.oracle.graal.asm.sparc.SPARCAssembler.CC.*; import static com.oracle.graal.asm.sparc.SPARCAssembler.ConditionFlag.*; import static jdk.internal.jvmci.code.CallingConvention.Type.*; -import static jdk.internal.jvmci.meta.Kind.*; +import static jdk.internal.jvmci.meta.JavaKind.*; import jdk.internal.jvmci.code.*; import jdk.internal.jvmci.hotspot.*; import jdk.internal.jvmci.service.*; diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/HotSpotNativeFunctionHandle.java --- a/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/HotSpotNativeFunctionHandle.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/HotSpotNativeFunctionHandle.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -84,7 +84,7 @@ assert arg != null; Class expectedType = argumentTypes[i]; if (expectedType.isPrimitive()) { - Kind kind = Kind.fromJavaClass(expectedType); + JavaKind kind = JavaKind.fromJavaClass(expectedType); expectedType = kind.toBoxedJavaClass(); } assert expectedType == arg.getClass() : this + " expected arg " + i + " to be " + expectedType.getName() + ", not " + arg.getClass().getName(); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/NativeCallStubGraphBuilder.java --- a/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/NativeCallStubGraphBuilder.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/NativeCallStubGraphBuilder.java Tue Sep 08 19:57:39 2015 +0200 @@ -57,9 +57,9 @@ try { ResolvedJavaMethod method = providers.getMetaAccess().lookupJavaMethod(NativeCallStubGraphBuilder.class.getMethod("libCall", Object.class, Object.class, Object.class)); StructuredGraph g = new StructuredGraph(method, AllowAssumptions.NO); - ParameterNode arg0 = g.unique(new ParameterNode(0, StampFactory.forKind(Kind.Object))); - ParameterNode arg1 = g.unique(new ParameterNode(1, StampFactory.forKind(Kind.Object))); - ParameterNode arg2 = g.unique(new ParameterNode(2, StampFactory.forKind(Kind.Object))); + ParameterNode arg0 = g.unique(new ParameterNode(0, StampFactory.forKind(JavaKind.Object))); + ParameterNode arg1 = g.unique(new ParameterNode(1, StampFactory.forKind(JavaKind.Object))); + ParameterNode arg2 = g.unique(new ParameterNode(2, StampFactory.forKind(JavaKind.Object))); FrameState frameState = g.add(new FrameState(null, method, 0, Arrays.asList(new ValueNode[]{arg0, arg1, arg2}), 3, 0, false, false, null, new ArrayList())); g.start().setStateAfter(frameState); List parameters = new ArrayList<>(); @@ -82,14 +82,14 @@ // box result BoxNode boxedResult; - if (callNode.getStackKind() != Kind.Void) { - if (callNode.getStackKind() == Kind.Object) { + if (callNode.getStackKind() != JavaKind.Void) { + if (callNode.getStackKind() == JavaKind.Object) { throw new IllegalArgumentException("Return type not supported: " + returnType.getName()); } ResolvedJavaType type = providers.getMetaAccess().lookupJavaType(callNode.getStackKind().toBoxedJavaClass()); boxedResult = g.add(new BoxNode(callNode, type, callNode.getStackKind())); } else { - boxedResult = g.add(new BoxNode(ConstantNode.forLong(0, g), providers.getMetaAccess().lookupJavaType(Long.class), Kind.Long)); + boxedResult = g.add(new BoxNode(ConstantNode.forLong(0, g), providers.getMetaAccess().lookupJavaType(Long.class), JavaKind.Long)); } callNode.setNext(boxedResult); @@ -106,7 +106,7 @@ FixedWithNextNode last = null; for (int i = 0; i < numArgs; i++) { // load boxed array element: - LoadIndexedNode boxedElement = g.add(new LoadIndexedNode(argumentsArray, ConstantNode.forInt(i, g), Kind.Object)); + LoadIndexedNode boxedElement = g.add(new LoadIndexedNode(argumentsArray, ConstantNode.forInt(i, g), JavaKind.Object)); if (i == 0) { g.start().setNext(boxedElement); last = boxedElement; @@ -115,10 +115,10 @@ last = boxedElement; } Class type = argumentTypes[i]; - Kind kind = getKind(type); - if (kind == Kind.Object) { + JavaKind kind = getKind(type); + if (kind == JavaKind.Object) { // array value - Kind arrayElementKind = getElementKind(type); + JavaKind arrayElementKind = getElementKind(type); HotSpotJVMCIRuntimeProvider jvmciRuntime = runtime().getJVMCIRuntime(); int displacement = jvmciRuntime.getArrayBaseOffset(arrayElementKind); AddressNode arrayAddress = g.unique(new OffsetAddressNode(boxedElement, ConstantNode.forLong(displacement, g))); @@ -142,34 +142,34 @@ return last; } - public static Kind getElementKind(Class clazz) { + public static JavaKind getElementKind(Class clazz) { Class componentType = clazz.getComponentType(); if (componentType == null) { throw new IllegalArgumentException("Parameter type not supported: " + clazz); } if (componentType.isPrimitive()) { - return Kind.fromJavaClass(componentType); + return JavaKind.fromJavaClass(componentType); } throw new IllegalArgumentException("Parameter type not supported: " + clazz); } - private static Kind getKind(Class clazz) { + private static JavaKind getKind(Class clazz) { if (clazz == int.class || clazz == Integer.class) { - return Kind.Int; + return JavaKind.Int; } else if (clazz == long.class || clazz == Long.class) { - return Kind.Long; + return JavaKind.Long; } else if (clazz == char.class || clazz == Character.class) { - return Kind.Char; + return JavaKind.Char; } else if (clazz == byte.class || clazz == Byte.class) { - return Kind.Byte; + return JavaKind.Byte; } else if (clazz == float.class || clazz == Float.class) { - return Kind.Float; + return JavaKind.Float; } else if (clazz == double.class || clazz == Double.class) { - return Kind.Double; + return JavaKind.Double; } else if (clazz == int[].class || clazz == long[].class || clazz == char[].class || clazz == byte[].class || clazz == float[].class || clazz == double[].class) { - return Kind.Object; + return JavaKind.Object; } else if (clazz == void.class) { - return Kind.Void; + return JavaKind.Void; } else { throw new IllegalArgumentException("Type not supported: " + clazz); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/RawNativeCallNodeFactory.java --- a/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/RawNativeCallNodeFactory.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/nfi/RawNativeCallNodeFactory.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,7 +30,7 @@ * Factory for creating a node that makes a direct call to a native function pointer. */ public interface RawNativeCallNodeFactory { - FixedWithNextNode createRawCallNode(Kind returnType, JavaConstant functionPointer, ValueNode... args); + FixedWithNextNode createRawCallNode(JavaKind returnType, JavaConstant functionPointer, ValueNode... args); String getArchitecture(); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/ConditionAnchoringTest.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/ConditionAnchoringTest.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/ConditionAnchoringTest.java Tue Sep 08 19:57:39 2015 +0200 @@ -136,7 +136,7 @@ protected GraphBuilderConfiguration editGraphBuilderConfiguration(GraphBuilderConfiguration conf) { // get UnsafeAccessImpl.unsafeGetInt intrinsified Registration r = new Registration(conf.getPlugins().getInvocationPlugins(), UnsafeAccess.class); - TruffleGraphBuilderPlugins.registerUnsafeLoadStorePlugins(r, Kind.Int); + TruffleGraphBuilderPlugins.registerUnsafeLoadStorePlugins(r, JavaKind.Int); // get UnsafeAccess.getInt inlined conf.getPlugins().appendInlineInvokePlugin(new InlineEverythingPlugin()); return super.editGraphBuilderConfiguration(conf); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Tue Sep 08 19:57:39 2015 +0200 @@ -246,7 +246,7 @@ for (ValueNode argument : arguments) { if (argument.isConstant()) { JavaConstant constant = argument.asJavaConstant(); - if (constant.getKind() == Kind.Object && snippetReflection.asObject(MethodHandle.class, constant) != null) { + if (constant.getJavaKind() == JavaKind.Object && snippetReflection.asObject(MethodHandle.class, constant) != null) { return true; } } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleConstantReflectionProvider.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleConstantReflectionProvider.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleConstantReflectionProvider.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,9 +62,9 @@ if (!field.isStatic() && receiver.isNonNull()) { JavaType fieldType = field.getType(); if (field.isFinal() || field.getAnnotation(CompilationFinal.class) != null || - (fieldType.getKind() == Kind.Object && (field.getAnnotation(Child.class) != null || field.getAnnotation(Children.class) != null))) { + (fieldType.getJavaKind() == JavaKind.Object && (field.getAnnotation(Child.class) != null || field.getAnnotation(Children.class) != null))) { final JavaConstant constant; - if (fieldType.getKind() == Kind.Object && fieldType instanceof ResolvedJavaType && ((ResolvedJavaType) fieldType).isArray() && + if (fieldType.getJavaKind() == JavaKind.Object && fieldType instanceof ResolvedJavaType && ((ResolvedJavaType) fieldType).isArray() && (field.getAnnotation(CompilationFinal.class) != null || field.getAnnotation(Children.class) != null)) { constant = graalConstantReflection.readStableFieldValue(field, receiver, true); } else { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleDebugJavaMethod.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleDebugJavaMethod.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleDebugJavaMethod.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,8 +48,8 @@ throw new UnsupportedOperationException(); } - public Kind getKind() { - return Kind.Object; + public JavaKind getJavaKind() { + return JavaKind.Object; } public ResolvedJavaType resolve(ResolvedJavaType accessingClass) { diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -41,7 +41,7 @@ @Input ValueNode value; public IsCompilationConstantNode(ValueNode value) { - super(TYPE, StampFactory.forKind(Kind.Boolean)); + super(TYPE, StampFactory.forKind(JavaKind.Boolean)); this.value = value; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/ObjectLocationIdentity.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/ObjectLocationIdentity.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/ObjectLocationIdentity.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ private JavaConstant object; public static LocationIdentity create(JavaConstant object) { - assert object.getKind() == Kind.Object && object.isNonNull(); + assert object.getJavaKind() == JavaKind.Object && object.isNonNull(); return new ObjectLocationIdentity(object); } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -207,26 +207,26 @@ } private ValueNode initialPrimitiveValue(FrameSlotKind kind) { - Kind graalKind = null; + JavaKind graalKind = null; switch (kind) { case Boolean: case Byte: case Int: - graalKind = Kind.Int; + graalKind = JavaKind.Int; break; case Double: - graalKind = Kind.Double; + graalKind = JavaKind.Double; break; case Float: - graalKind = Kind.Float; + graalKind = JavaKind.Float; break; case Long: - graalKind = Kind.Long; + graalKind = JavaKind.Long; break; case Object: case Illegal: // won't be stored in the primitive array, so default to long - graalKind = Kind.Long; + graalKind = JavaKind.Long; break; default: throw new IllegalStateException("Unexpected frame slot kind: " + kind); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Tue Sep 08 19:57:39 2015 +0200 @@ -78,14 +78,14 @@ OptimizedAssumption assumption = snippetReflection.asObject(OptimizedAssumption.class, (JavaConstant) constant); if (assumption.isValid()) { if (targetMethod.getName().equals("isValid")) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(true)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(true)); } else { assert targetMethod.getName().equals("check") : targetMethod; } b.getAssumptions().record(new AssumptionValidAssumption(assumption)); } else { if (targetMethod.getName().equals("isValid")) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(false)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(false)); } else { assert targetMethod.getName().equals("check") : targetMethod; b.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.None)); @@ -103,7 +103,7 @@ public static void registerExactMathPlugins(InvocationPlugins plugins) { Registration r = new Registration(plugins, ExactMath.class); - for (Kind kind : new Kind[]{Kind.Int, Kind.Long}) { + for (JavaKind kind : new JavaKind[]{JavaKind.Int, JavaKind.Long}) { Class type = kind.toJavaClass(); r.register2("addExact", type, type, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode x, ValueNode y) { @@ -142,13 +142,13 @@ Registration r = new Registration(plugins, CompilerDirectives.class); r.register0("inInterpreter", new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(false)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(false)); return true; } }); r.register0("inCompiledCode", new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(true)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(true)); return true; } }); @@ -176,7 +176,7 @@ }); r.register2("injectBranchProbability", double.class, boolean.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode probability, ValueNode condition) { - b.addPush(Kind.Boolean, new BranchProbabilityNode(probability, condition)); + b.addPush(JavaKind.Boolean, new BranchProbabilityNode(probability, condition)); return true; } }); @@ -210,9 +210,9 @@ r.register1("isCompilationConstant", Object.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode value) { if ((value instanceof BoxNode ? ((BoxNode) value).getValue() : value).isConstant()) { - b.addPush(Kind.Boolean, ConstantNode.forBoolean(true)); + b.addPush(JavaKind.Boolean, ConstantNode.forBoolean(true)); } else { - b.addPush(Kind.Boolean, new IsCompilationConstantNode(value)); + b.addPush(JavaKind.Boolean, new IsCompilationConstantNode(value)); } return true; } @@ -290,13 +290,13 @@ r.register2("createFrame", FrameDescriptor.class, Object[].class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode descriptor, ValueNode args) { Class frameClass = TruffleCompilerOptions.TruffleUseFrameWithoutBoxing.getValue() ? FrameWithoutBoxing.class : FrameWithBoxing.class; - b.addPush(Kind.Object, new NewFrameNode(StampFactory.exactNonNull(metaAccess.lookupJavaType(frameClass)), descriptor, args)); + b.addPush(JavaKind.Object, new NewFrameNode(StampFactory.exactNonNull(metaAccess.lookupJavaType(frameClass)), descriptor, args)); return true; } }); r.register2("castArrayFixedLength", Object[].class, int.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode args, ValueNode length) { - b.addPush(Kind.Object, new PiArrayNode(args, length, args.stamp())); + b.addPush(JavaKind.Object, new PiArrayNode(args, length, args.stamp())); return true; } }); @@ -306,7 +306,7 @@ Registration r = new Registration(plugins, FrameWithoutBoxing.class); registerMaterialize(r); registerUnsafeCast(r, canDelayIntrinsification); - registerUnsafeLoadStorePlugins(r, Kind.Int, Kind.Long, Kind.Float, Kind.Double, Kind.Object); + registerUnsafeLoadStorePlugins(r, JavaKind.Int, JavaKind.Long, JavaKind.Float, JavaKind.Double, JavaKind.Object); } public static void registerFrameWithBoxingPlugins(InvocationPlugins plugins, boolean canDelayIntrinsification) { @@ -318,7 +318,7 @@ private static void registerMaterialize(Registration r) { r.register1("materialize", Receiver.class, new InvocationPlugin() { public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver frame) { - b.addPush(Kind.Object, new MaterializeFrameNode(frame.get())); + b.addPush(JavaKind.Object, new MaterializeFrameNode(frame.get())); return true; } }); @@ -331,7 +331,7 @@ ConstantReflectionProvider constantReflection = b.getConstantReflection(); ResolvedJavaType javaType = constantReflection.asJavaType(clazz.asConstant()); if (javaType == null) { - b.push(Kind.Object, object); + b.push(JavaKind.Object, object); } else { Stamp piStamp = null; if (javaType.isArray()) { @@ -355,7 +355,7 @@ if (!skipAnchor) { valueAnchorNode = b.add(new ConditionAnchorNode(compareNode)); } - b.addPush(Kind.Object, new PiNode(object, piStamp, valueAnchorNode)); + b.addPush(JavaKind.Object, new PiNode(object, piStamp, valueAnchorNode)); } return true; } else if (canDelayIntrinsification) { @@ -367,22 +367,22 @@ }); } - public static void registerUnsafeLoadStorePlugins(Registration r, Kind... kinds) { - for (Kind kind : kinds) { + public static void registerUnsafeLoadStorePlugins(Registration r, JavaKind... kinds) { + for (JavaKind kind : kinds) { String kindName = kind.getJavaName(); kindName = toUpperCase(kindName.charAt(0)) + kindName.substring(1); String getName = "unsafeGet" + kindName; String putName = "unsafePut" + kindName; r.register4(getName, Object.class, long.class, boolean.class, Object.class, new CustomizedUnsafeLoadPlugin(kind)); - r.register4(putName, Object.class, long.class, kind == Kind.Object ? Object.class : kind.toJavaClass(), Object.class, new CustomizedUnsafeStorePlugin(kind)); + r.register4(putName, Object.class, long.class, kind == JavaKind.Object ? Object.class : kind.toJavaClass(), Object.class, new CustomizedUnsafeStorePlugin(kind)); } } static class CustomizedUnsafeLoadPlugin implements InvocationPlugin { - private final Kind returnKind; + private final JavaKind returnKind; - public CustomizedUnsafeLoadPlugin(Kind returnKind) { + public CustomizedUnsafeLoadPlugin(JavaKind returnKind) { this.returnKind = returnKind; } @@ -405,9 +405,9 @@ static class CustomizedUnsafeStorePlugin implements InvocationPlugin { - private final Kind kind; + private final JavaKind kind; - public CustomizedUnsafeStorePlugin(Kind kind) { + public CustomizedUnsafeStorePlugin(JavaKind kind) { this.kind = kind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java Tue Sep 08 19:57:39 2015 +0200 @@ -43,10 +43,10 @@ public class PEReadEliminationClosure extends PartialEscapeClosure { - private static final EnumMap UNBOX_LOCATIONS; + private static final EnumMap UNBOX_LOCATIONS; static { - UNBOX_LOCATIONS = new EnumMap<>(Kind.class); - for (Kind kind : Kind.values()) { + UNBOX_LOCATIONS = new EnumMap<>(JavaKind.class); + for (JavaKind kind : JavaKind.values()) { UNBOX_LOCATIONS.put(kind, NamedLocationIdentity.immutable("PEA unbox " + kind.getJavaName())); } } @@ -131,7 +131,7 @@ long offset = load.offset().asJavaConstant().asLong(); int index = VirtualArrayNode.entryIndexForOffset(offset, load.accessKind(), type.getComponentType(), Integer.MAX_VALUE); ValueNode object = GraphUtil.unproxify(load.object()); - LocationIdentity location = NamedLocationIdentity.getArrayLocation(type.getComponentType().getKind()); + LocationIdentity location = NamedLocationIdentity.getArrayLocation(type.getComponentType().getJavaKind()); ValueNode cachedValue = state.getReadCache(object, location, index, this); if (cachedValue != null && load.stamp().isCompatible(cachedValue.stamp())) { effects.replaceAtUsages(load, cachedValue); @@ -148,7 +148,7 @@ private boolean processUnsafeStore(UnsafeStoreNode store, PEReadEliminationBlockState state, GraphEffectList effects) { ResolvedJavaType type = StampTool.typeOrNull(store.object()); if (type != null && type.isArray()) { - LocationIdentity location = NamedLocationIdentity.getArrayLocation(type.getComponentType().getKind()); + LocationIdentity location = NamedLocationIdentity.getArrayLocation(type.getComponentType().getJavaKind()); if (store.offset().isConstant()) { long offset = store.offset().asJavaConstant().asLong(); int index = VirtualArrayNode.entryIndexForOffset(offset, store.accessKind(), type.getComponentType(), Integer.MAX_VALUE); @@ -301,7 +301,7 @@ } } for (PhiNode phi : getPhis()) { - if (phi.getStackKind() == Kind.Object) { + if (phi.getStackKind() == JavaKind.Object) { for (Map.Entry entry : states.get(0).readCache.entrySet()) { if (entry.getKey().object == getPhiValueAt(phi, 0)) { mergeReadCachePhi(phi, entry.getKey().identity, entry.getKey().index, states); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -576,7 +576,7 @@ if (uniqueMaterializedValue != null) { newState.addObject(object, new ObjectState(uniqueMaterializedValue, null, ensureVirtual)); } else { - PhiNode materializedValuePhi = getPhi(object, StampFactory.forKind(Kind.Object)); + PhiNode materializedValuePhi = getPhi(object, StampFactory.forKind(JavaKind.Object)); mergeEffects.addFloatingNode(materializedValuePhi, "materializedPhi"); for (int i = 0; i < states.length; i++) { ObjectState obj = states[i].getObjectState(object); @@ -656,18 +656,18 @@ int entryCount = virtual.entryCount(); // determine all entries that have a two-slot value - Kind[] twoSlotKinds = null; + JavaKind[] twoSlotKinds = null; outer: for (int i = 0; i < states.length; i++) { ObjectState objectState = states[i].getObjectState(getObject.apply(i)); ValueNode[] entries = objectState.getEntries(); int valueIndex = 0; ensureVirtual &= objectState.getEnsureVirtualized(); while (valueIndex < entryCount) { - Kind otherKind = entries[valueIndex].getStackKind(); - Kind entryKind = virtual.entryKind(valueIndex); - if (entryKind == Kind.Int && otherKind.needsTwoSlots()) { + JavaKind otherKind = entries[valueIndex].getStackKind(); + JavaKind entryKind = virtual.entryKind(valueIndex); + if (entryKind == JavaKind.Int && otherKind.needsTwoSlots()) { if (twoSlotKinds == null) { - twoSlotKinds = new Kind[entryCount]; + twoSlotKinds = new JavaKind[entryCount]; } if (twoSlotKinds[valueIndex] != null && twoSlotKinds[valueIndex] != otherKind) { compatible = false; @@ -677,8 +677,8 @@ // skip the next entry valueIndex++; } else { - assert entryKind.getStackKind() == otherKind.getStackKind() || (entryKind == Kind.Int && otherKind == Kind.Illegal) || entryKind.getBitCount() >= otherKind.getBitCount() : entryKind + - " vs " + otherKind; + assert entryKind.getStackKind() == otherKind.getStackKind() || (entryKind == JavaKind.Int && otherKind == JavaKind.Illegal) || + entryKind.getBitCount() >= otherKind.getBitCount() : entryKind + " vs " + otherKind; } valueIndex++; } @@ -687,12 +687,12 @@ // if there are two-slot values then make sure the incoming states can be merged outer: for (int valueIndex = 0; valueIndex < entryCount; valueIndex++) { if (twoSlotKinds[valueIndex] != null) { - assert valueIndex < virtual.entryCount() - 1 && virtual.entryKind(valueIndex) == Kind.Int && virtual.entryKind(valueIndex + 1) == Kind.Int; + assert valueIndex < virtual.entryCount() - 1 && virtual.entryKind(valueIndex) == JavaKind.Int && virtual.entryKind(valueIndex + 1) == JavaKind.Int; for (int i = 0; i < states.length; i++) { int object = getObject.apply(i); ObjectState objectState = states[i].getObjectState(object); ValueNode value = objectState.getEntry(valueIndex); - Kind valueKind = value.getStackKind(); + JavaKind valueKind = value.getStackKind(); if (valueKind != twoSlotKinds[valueIndex]) { ValueNode nextValue = objectState.getEntry(valueIndex + 1); if (value.isConstant() && value.asConstant().equals(JavaConstant.INT_0) && nextValue.isConstant() && nextValue.asConstant().equals(JavaConstant.INT_0)) { @@ -740,7 +740,7 @@ PhiNode phi = phis[i]; if (phi != null) { mergeEffects.addFloatingNode(phi, "virtualMergePhi"); - if (virtual.entryKind(i) == Kind.Object) { + if (virtual.entryKind(i) == JavaKind.Object) { materialized |= mergeObjectEntry(getObject, states, phi, i); } else { for (int i2 = 0; i2 < states.length; i2++) { @@ -758,7 +758,7 @@ return materialized; } else { // not compatible: materialize in all predecessors - PhiNode materializedValuePhi = getPhi(resultObject, StampFactory.forKind(Kind.Object)); + PhiNode materializedValuePhi = getPhi(resultObject, StampFactory.forKind(JavaKind.Object)); for (int i = 0; i < states.length; i++) { Block predecessor = getPredecessor(i); ensureMaterialized(states[i], getObject.apply(i), predecessor.getEndNode(), blockEffects.get(predecessor), METRIC_MATERIALIZATIONS_MERGE); @@ -770,7 +770,7 @@ } /** - * Fill the inputs of the PhiNode corresponding to one {@link Kind#Object} entry in the + * Fill the inputs of the PhiNode corresponding to one {@link JavaKind#Object} entry in the * virtual object. * * @return true if materialization happened during the merge, false otherwise diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java Tue Sep 08 19:57:39 2015 +0200 @@ -251,7 +251,7 @@ } } for (PhiNode phi : getPhis()) { - if (phi.getStackKind() == Kind.Object) { + if (phi.getStackKind() == JavaKind.Object) { for (Map.Entry, ValueNode> entry : states.get(0).readCache.entrySet()) { if (entry.getKey().object == getPhiValueAt(phi, 0)) { mergeReadCachePhi(phi, entry.getKey(), states); diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/VirtualizerToolImpl.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/VirtualizerToolImpl.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/VirtualizerToolImpl.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -108,7 +108,7 @@ } private static boolean isObjectEntry(ValueNode value) { - return value.getStackKind() == Kind.Object || value instanceof VirtualObjectNode; + return value.getStackKind() == JavaKind.Object || value instanceof VirtualObjectNode; } @Override diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.word/src/com/oracle/graal/word/WordTypes.java --- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/WordTypes.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/WordTypes.java Tue Sep 08 19:57:39 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,9 +54,9 @@ */ private final ResolvedJavaType barrieredAccessType; - private final Kind wordKind; + private final JavaKind wordKind; - public WordTypes(MetaAccessProvider metaAccess, Kind wordKind) { + public WordTypes(MetaAccessProvider metaAccess, JavaKind wordKind) { this.wordKind = wordKind; this.wordBaseType = metaAccess.lookupJavaType(WordBase.class); this.wordImplType = metaAccess.lookupJavaType(Word.class); @@ -115,15 +115,15 @@ * Gets the kind for a given type, returning the {@linkplain #getWordKind() word kind} if * {@code type} is a {@linkplain #isWord(ResolvedJavaType) word type}. */ - public Kind asKind(JavaType type) { + public JavaKind asKind(JavaType type) { if (type instanceof ResolvedJavaType && isWord((ResolvedJavaType) type)) { return wordKind; } else { - return type.getKind(); + return type.getJavaKind(); } } - public Kind getWordKind() { + public JavaKind getWordKind() { return wordKind; } diff -r 6d339ba0edc5 -r b00cc0475f31 graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java --- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Tue Sep 08 18:53:24 2015 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Tue Sep 08 19:57:39 2015 +0200 @@ -46,22 +46,22 @@ @Input ValueNode input; public final boolean trackedPointer; - public static WordCastNode wordToObject(ValueNode input, Kind wordKind) { + public static WordCastNode wordToObject(ValueNode input, JavaKind wordKind) { assert input.getStackKind() == wordKind; return new WordCastNode(StampFactory.object(), input); } - public static WordCastNode addressToWord(ValueNode input, Kind wordKind) { + public static WordCastNode addressToWord(ValueNode input, JavaKind wordKind) { assert input.stamp() instanceof AbstractPointerStamp; return new WordCastNode(StampFactory.forKind(wordKind), input); } - public static WordCastNode objectToTrackedPointer(ValueNode input, Kind wordKind) { + public static WordCastNode objectToTrackedPointer(ValueNode input, JavaKind wordKind) { assert input.stamp() instanceof ObjectStamp; return new WordCastNode(StampFactory.forKind(wordKind), input, true); } - public static WordCastNode objectToUntrackedPointer(ValueNode input, Kind wordKind) { + public static WordCastNode objectToUntrackedPointer(ValueNode input, JavaKind wordKind) { assert input.stamp() instanceof ObjectStamp; return new WordCastNode(StampFactory.forKind(wordKind), input, false); } @@ -92,7 +92,7 @@ /* Null pointers are uncritical for GC, so they can be constant folded. */ if (input.asJavaConstant().isNull()) { return ConstantNode.forIntegerStamp(stamp(), 0); - } else if (input.asJavaConstant().getKind().isNumericInteger() && input.asJavaConstant().asLong() == 0) { + } else if (input.asJavaConstant().getJavaKind().isNumericInteger() && input.asJavaConstant().asLong() == 0) { return ConstantNode.forConstant(stamp(), JavaConstant.NULL_POINTER, tool.getMetaAccess()); } } diff -r 6d339ba0edc5 -r b00cc0475f31 mx.graal/suite.py --- a/mx.graal/suite.py Tue Sep 08 18:53:24 2015 +0200 +++ b/mx.graal/suite.py Tue Sep 08 19:57:39 2015 +0200 @@ -6,7 +6,7 @@ "suites": [ { "name" : "jvmci", - "version" : "ca418f35d728634b8fdb494df9817849128bfcc3", + "version" : "dc1aeef79e7e7387aceebb84ae677a55ce626b82", "urls" : [ {"url" : "http://lafo.ssw.uni-linz.ac.at/hg/graal-jvmci-8", "kind" : "hg"}, {"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind" : "binary"},