comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeLoadSnippets.java @ 11932:66909d055314

Fix unsafe load snippet.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 07 Oct 2013 23:10:17 +0200
parents 88fb9cba8751
children 23ccaa863eda
comparison
equal deleted inserted replaced
11931:9fe53a7b42b8 11932:66909d055314
37 import com.oracle.graal.word.*; 37 import com.oracle.graal.word.*;
38 38
39 public class UnsafeLoadSnippets implements Snippets { 39 public class UnsafeLoadSnippets implements Snippets {
40 40
41 @Snippet 41 @Snippet
42 public static Object lowerUnsafeLoad(Object object, long offset, int disp) { 42 public static Object lowerUnsafeLoad(Object object, long displacement) {
43 Object fixedObject = FixedValueAnchorNode.getObject(object); 43 Object fixedObject = FixedValueAnchorNode.getObject(object);
44 long displacement = disp + offset;
45 if (object instanceof java.lang.ref.Reference && referentOffset() == displacement) { 44 if (object instanceof java.lang.ref.Reference && referentOffset() == displacement) {
46 return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.PRECISE, true); 45 return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.PRECISE, true);
47 } else { 46 } else {
48 return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.NONE, true); 47 return Word.fromObject(fixedObject).readObject((int) displacement, BarrierType.NONE, true);
49 } 48 }