Mercurial > hg > graal-compiler
changeset 22395:30de5362b0ca
Remove Word.fromWordBase().
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 31 Jul 2015 14:26:26 +0200 |
parents | 001d6ea7084d |
children | 65eab5908106 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java |
diffstat | 6 files changed, 24 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java Fri Jul 31 14:26:26 2015 +0200 @@ -101,24 +101,24 @@ public static final ForeignCallDescriptor UNPACK_FRAMES = newDescriptor(DeoptimizationStub.class, "unpackFrames", int.class, Word.class, int.class); /** - * @see AESCryptSubstitutions#encryptBlockStub(ForeignCallDescriptor, Word, Word, Word) + * @see AESCryptSubstitutions#encryptBlockStub(ForeignCallDescriptor, Word, Word, Pointer) */ - public static final ForeignCallDescriptor ENCRYPT_BLOCK = new ForeignCallDescriptor("encrypt_block", void.class, Word.class, Word.class, Word.class); + public static final ForeignCallDescriptor ENCRYPT_BLOCK = new ForeignCallDescriptor("encrypt_block", void.class, Word.class, Word.class, Pointer.class); /** - * @see AESCryptSubstitutions#decryptBlockStub(ForeignCallDescriptor, Word, Word, Word) + * @see AESCryptSubstitutions#decryptBlockStub(ForeignCallDescriptor, Word, Word, Pointer) */ - public static final ForeignCallDescriptor DECRYPT_BLOCK = new ForeignCallDescriptor("decrypt_block", void.class, Word.class, Word.class, Word.class); + public static final ForeignCallDescriptor DECRYPT_BLOCK = new ForeignCallDescriptor("decrypt_block", void.class, Word.class, Word.class, Pointer.class); /** * @see CipherBlockChainingSubstitutions#crypt */ - public static final ForeignCallDescriptor ENCRYPT = new ForeignCallDescriptor("encrypt", void.class, Word.class, Word.class, Word.class, Word.class, int.class); + public static final ForeignCallDescriptor ENCRYPT = new ForeignCallDescriptor("encrypt", void.class, Word.class, Word.class, Pointer.class, Pointer.class, int.class); /** * @see CipherBlockChainingSubstitutions#crypt */ - public static final ForeignCallDescriptor DECRYPT = new ForeignCallDescriptor("decrypt", void.class, Word.class, Word.class, Word.class, Word.class, int.class); + public static final ForeignCallDescriptor DECRYPT = new ForeignCallDescriptor("decrypt", void.class, Word.class, Word.class, Pointer.class, Pointer.class, int.class); /** * @see VMErrorNode
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java Fri Jul 31 14:26:26 2015 +0200 @@ -25,7 +25,6 @@ import static com.oracle.graal.hotspot.HotSpotBackend.*; import static com.oracle.graal.hotspot.replacements.HotSpotReplacementsUtil.*; import static com.oracle.graal.nodes.extended.BranchProbabilityNode.*; -import static com.oracle.graal.word.Word.*; import java.lang.reflect.*; @@ -79,7 +78,7 @@ checkArgs(in, inOffset, out, outOffset); Object realReceiver = PiNode.piCastNonNull(rcvr, AESCryptClass); Object kObject = UnsafeLoadNode.load(realReceiver, kOffset, Kind.Object, LocationIdentity.any()); - Word kAddr = fromWordBase(Word.fromObject(kObject).add(arrayBaseOffset(Kind.Byte))); + Pointer kAddr = Word.fromObject(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)); if (encrypt) { @@ -99,8 +98,8 @@ } @NodeIntrinsic(ForeignCallNode.class) - public static native void encryptBlockStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Word key); + public static native void encryptBlockStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Pointer key); @NodeIntrinsic(ForeignCallNode.class) - public static native void decryptBlockStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Word key); + public static native void decryptBlockStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Pointer key); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java Fri Jul 31 14:26:26 2015 +0200 @@ -98,8 +98,8 @@ 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()); - Word kAddr = Word.fromWordBase(Word.fromObject(kObject).add(arrayBaseOffset(Kind.Byte))); - Word rAddr = Word.fromWordBase(Word.fromObject(rObject).add(arrayBaseOffset(Kind.Byte))); + Pointer kAddr = Word.fromObject(kObject).add(arrayBaseOffset(Kind.Byte)); + Pointer rAddr = Word.fromObject(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)); if (encrypt) { @@ -110,8 +110,8 @@ } @NodeIntrinsic(ForeignCallNode.class) - public static native void encryptAESCryptStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Word key, Word r, int inLength); + public static native void encryptAESCryptStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Pointer key, Pointer r, int inLength); @NodeIntrinsic(ForeignCallNode.class) - public static native void decryptAESCryptStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Word key, Word r, int inLength); + public static native void decryptAESCryptStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Word in, Word out, Pointer key, Pointer r, int inLength); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Fri Jul 31 14:26:26 2015 +0200 @@ -74,7 +74,7 @@ serialWriteBarrierCounter.inc(); int cardTableShift = (isImmutableCode() && generatePIC()) ? CardTableShiftNode.cardTableShift() : cardTableShift(); long cardTableAddress = (isImmutableCode() && generatePIC()) ? CardTableAddressNode.cardTableAddress() : cardTableStart(); - Word base = Word.fromWordBase(ptr.unsignedShiftRight(cardTableShift)); + Word base = (Word) ptr.unsignedShiftRight(cardTableShift); long startAddress = cardTableAddress; int displacement = 0; if (((int) startAddress) == startAddress) { @@ -123,8 +123,8 @@ Word thread = registerAsWord(threadRegister); verifyOop(object); Object fixedExpectedObject = FixedValueAnchorNode.getObject(expectedObject); - Word field = Word.fromWordBase(Word.fromAddress(address)); - Word previousOop = Word.fromWordBase(Word.fromObject(fixedExpectedObject)); + Pointer field = Word.fromAddress(address); + Pointer previousOop = Word.fromObject(fixedExpectedObject); byte markingValue = thread.readByte(g1SATBQueueMarkingOffset()); Word bufferAddress = thread.readWord(g1SATBQueueBufferOffset()); Word indexAddress = thread.add(g1SATBQueueIndexOffset()); @@ -144,7 +144,7 @@ // If the previous value has to be loaded (before the write), the load is issued. // The load is always issued except the cases of CAS and referent field. if (probability(LIKELY_PROBABILITY, doLoad)) { - previousOop = Word.fromWordBase(Word.fromObject(field.readObject(0, BarrierType.NONE))); + previousOop = Word.fromObject(field.readObject(0, BarrierType.NONE)); if (trace) { log(trace, "[%d] G1-Pre Thread %p Previous Object %p\n ", gcCycle, thread.rawValue(), previousOop.rawValue()); verifyOop(previousOop.toObject()); @@ -177,11 +177,11 @@ verifyOop(object); verifyOop(fixedValue); validateObject(object, fixedValue); - Word oop; + Pointer oop; if (usePrecise) { - oop = Word.fromWordBase(Word.fromAddress(address)); + oop = Word.fromAddress(address); } else { - oop = Word.fromWordBase(Word.fromObject(object)); + oop = Word.fromObject(object); } int gcCycle = 0; if (trace) { @@ -189,17 +189,17 @@ log(trace, "[%d] G1-Post Thread: %p Object: %p\n", gcCycle, thread.rawValue(), Word.fromObject(object).rawValue()); log(trace, "[%d] G1-Post Thread: %p Field: %p\n", gcCycle, thread.rawValue(), oop.rawValue()); } - Word writtenValue = Word.fromWordBase(Word.fromObject(fixedValue)); + Pointer writtenValue = Word.fromObject(fixedValue); Word bufferAddress = thread.readWord(g1CardQueueBufferOffset()); Word indexAddress = thread.add(g1CardQueueIndexOffset()); Word indexValue = thread.readWord(g1CardQueueIndexOffset()); // The result of the xor reveals whether the installed pointer crosses heap regions. // In case it does the write barrier has to be issued. - Word xorResult = (oop.xor(writtenValue)).unsignedShiftRight(logOfHeapRegionGrainBytes()); + Unsigned xorResult = (oop.xor(writtenValue)).unsignedShiftRight(logOfHeapRegionGrainBytes()); // Calculate the address of the card to be enqueued to the // thread local card queue. - Word cardBase = oop.unsignedShiftRight(cardTableShift()); + Unsigned cardBase = oop.unsignedShiftRight(cardTableShift()); long startAddress = cardTableStart(); int displacement = 0; if (((int) startAddress) == startAddress) { @@ -207,7 +207,7 @@ } else { cardBase = cardBase.add(Word.unsigned(cardTableStart())); } - Word cardAddress = cardBase.add(displacement); + Word cardAddress = (Word) cardBase.add(displacement); g1AttemptedPostWriteBarrierCounter.inc(); if (probability(FREQUENT_PROBABILITY, xorResult.notEqual(0))) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/WordOperationPlugin.java Fri Jul 31 14:26:26 2015 +0200 @@ -263,11 +263,6 @@ b.push(returnKind, toUnsigned(b, args[0], Kind.Long)); break; - case FROM_WORDBASE: - assert args.length == 1; - b.push(returnKind, args[0]); - break; - case FROM_OBJECT: assert args.length == 1; WordCastNode objectToWord = b.add(WordCastNode.objectToWord(args[0], wordKind));
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java Fri Jul 31 14:40:01 2015 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java Fri Jul 31 14:26:26 2015 +0200 @@ -74,7 +74,6 @@ FROM_UNSIGNED, FROM_SIGNED, FROM_OBJECT, - FROM_WORDBASE, FROM_ADDRESS, TO_OBJECT, TO_RAW_VALUE, @@ -173,9 +172,6 @@ return unbox(); } - @Operation(opcode = Opcode.FROM_WORDBASE) - public static native Word fromWordBase(WordBase val); - @Operation(opcode = Opcode.FROM_OBJECT) public static native Pointer fromObject(Object val);