Mercurial > hg > graal-compiler
changeset 11277:e75e8ffdf87c
Made Word.box() private: Outside users should use the different signed() and unsigned() methods to ensure proper expansion of 32-bit values on 64-bit systems.
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 09 Aug 2013 10:49:18 -0700 |
parents | abba25b953a2 |
children | 6d28ce8cdeb7 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java |
diffstat | 3 files changed, 8 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Fri Aug 09 16:09:33 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Fri Aug 09 10:49:18 2013 -0700 @@ -56,6 +56,6 @@ @NodeIntrinsic public static Word get() { - return Word.box(unsafeReadWord(Thread.currentThread(), eetopOffset())); + return Word.unsigned(unsafeReadWord(Thread.currentThread(), eetopOffset())); } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Fri Aug 09 16:09:33 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java Fri Aug 09 10:49:18 2013 -0700 @@ -490,16 +490,13 @@ @SuppressWarnings("unused") @NodeIntrinsic(value = UnsafeLoadNode.class, setStampFromReturnType = true) private static Word loadWordFromObjectIntrinsic(Object object, @ConstantNodeParameter int displacement, long offset, @ConstantNodeParameter Kind wordKind) { - return Word.box(unsafeReadWord(object, offset + displacement)); + return Word.unsigned(unsafeReadWord(object, offset + displacement)); } @SuppressWarnings("unused") @NodeIntrinsic(value = LoadHubNode.class, setStampFromReturnType = true) static Word loadHubIntrinsic(Object object, @ConstantNodeParameter Kind word, GuardingNode anchor) { - if (wordKind() == Kind.Int) { - return Word.box((int) unsafeReadKlassPointer(object)); - } - return Word.box(unsafeReadKlassPointer(object)); + return Word.unsigned(unsafeReadKlassPointer(object)); } @Fold
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java Fri Aug 09 16:09:33 2013 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java Fri Aug 09 10:49:18 2013 -0700 @@ -73,7 +73,11 @@ } // @formatter:on - public static Word box(long val) { + /* + * Outside users should use the different signed() and unsigned() methods to ensure proper + * expansion of 32-bit values on 64-bit systems. + */ + private static Word box(long val) { return HostedWord.boxLong(val); }