Mercurial > hg > graal-compiler
changeset 22603:6d339ba0edc5
Update jvmci import: Use wordKind instead of Kind.Object in backend.
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Tue Sep 08 18:53:24 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,7 +57,7 @@ // The calling convention for the exception handler stub is (only?) defined in // TemplateInterpreterGenerator::generate_throw_exception() // in templateInterpreter_x86_64.cpp around line 1923 - RegisterValue exception = rax.asValue(LIRKind.reference(Kind.Object)); + RegisterValue exception = rax.asValue(LIRKind.reference(word)); RegisterValue exceptionPc = rdx.asValue(LIRKind.value(word)); CallingConvention exceptionCc = new CallingConvention(0, ILLEGAL, exception, exceptionPc); register(new HotSpotForeignCallLinkageImpl(EXCEPTION_HANDLER, 0L, PRESERVES_REGISTERS, LEAF_NOFP, null, exceptionCc, NOT_REEXECUTABLE, any()));
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Tue Sep 08 18:53:24 2015 +0200 @@ -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.Object), JavaConstant.NULL_POINTER); + Value nullValue = emitConstant(LIRKind.reference(Kind.Long), JavaConstant.NULL_POINTER); moveDeoptValuesToThread(actionAndReason, nullValue); append(new AMD64HotSpotDeoptimizeCallerOp(saveRbp.getRbpRescueSlot())); } @@ -531,7 +531,7 @@ @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() == Kind.Long; if (inputKind.isReference(0)) { // oop Variable result = newVariable(LIRKind.reference(Kind.Int)); @@ -555,7 +555,7 @@ assert inputKind.getPlatformKind() == Kind.Int; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(Kind.Object)); + Variable result = newVariable(LIRKind.reference(Kind.Long)); append(new AMD64HotSpotMove.UncompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 @@ -540,9 +540,10 @@ @Override public int arrayScalingFactor(Kind kind) { if (runtime.getConfig().useCompressedOops && kind == Kind.Object) { - return this.runtime.getTarget().getSizeInBytes(Kind.Int); + return super.arrayScalingFactor(Kind.Int); + } else { + return super.arrayScalingFactor(kind); } - return super.arrayScalingFactor(kind); } @Override
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarker.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarker.java Tue Sep 08 18:53:24 2015 +0200 @@ -110,7 +110,6 @@ } private static final EnumSet<OperandFlag> REGISTER_FLAG_SET = EnumSet.of(OperandFlag.REG); - private static final LIRKind REFERENCE_KIND = LIRKind.reference(Kind.Object); private S currentSet; @@ -127,7 +126,8 @@ op.visitEachOutput(defConsumer); if (frameMap != null && op.destroysCallerSavedRegisters()) { for (Register reg : frameMap.getRegisterConfig().getCallerSaveRegisters()) { - defConsumer.visitValue(reg.asValue(REFERENCE_KIND), OperandMode.TEMP, REGISTER_FLAG_SET); + PlatformKind kind = frameMap.getTarget().arch.getLargestStorableKind(reg.getRegisterCategory()); + defConsumer.visitValue(reg.asValue(LIRKind.value(kind)), OperandMode.TEMP, REGISTER_FLAG_SET); } }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMapBuilderImpl.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/FrameMapBuilderImpl.java Tue Sep 08 18:53:24 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 @@ -74,7 +74,7 @@ if (outObjectStackSlots != null) { throw JVMCIError.unimplemented(); } - VirtualStackSlotRange slot = new VirtualStackSlotRange(numStackSlots++, slots, objects); + VirtualStackSlotRange slot = new VirtualStackSlotRange(numStackSlots++, slots, objects, frameMap.getTarget().getLIRKind(Kind.Object)); stackSlots.add(slot); return slot; }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/VirtualStackSlotRange.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/framemap/VirtualStackSlotRange.java Tue Sep 08 18:53:24 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 @@ -36,8 +36,8 @@ private final BitSet objects; private final int slots; - public VirtualStackSlotRange(int id, int slots, BitSet objects) { - super(id, LIRKind.reference(Kind.Object)); + public VirtualStackSlotRange(int id, int slots, BitSet objects, LIRKind kind) { + super(id, kind); this.slots = slots; this.objects = (BitSet) objects.clone(); }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/DefaultLIRKindTool.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/DefaultLIRKindTool.java Tue Sep 08 18:53:24 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 @@ -64,7 +64,7 @@ } public LIRKind getObjectKind() { - return LIRKind.reference(Kind.Object); + return LIRKind.reference(wordKind); } public LIRKind getWordKind() {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Sep 08 17:32:21 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Tue Sep 08 18:53:24 2015 +0200 @@ -620,7 +620,7 @@ protected abstract int arrayBaseOffset(Kind elementKind); public int arrayScalingFactor(Kind elementKind) { - return target.getSizeInBytes(elementKind); + return target.arch.getPlatformKind(elementKind).getSizeInBytes(); } protected abstract LocationIdentity initLocationIdentity();
--- a/mx.graal/suite.py Tue Sep 08 17:32:21 2015 +0200 +++ b/mx.graal/suite.py Tue Sep 08 18:53:24 2015 +0200 @@ -6,7 +6,7 @@ "suites": [ { "name" : "jvmci", - "version" : "df053711614bbad30c2b885f7a49ee1d7f0c180d", + "version" : "ca418f35d728634b8fdb494df9817849128bfcc3", "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"},