changeset 21909:9fed54b2b98f

Fix bug in access to compressed metaspace pointers.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 11 Jun 2015 11:06:00 +0200
parents dfdbd9cd31c1
children 0ab08be12bbb
files graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotAddressLowering.java
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotAddressLowering.java	Wed Jun 10 17:56:40 2015 -0700
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotAddressLowering.java	Thu Jun 11 11:06:00 2015 +0200
@@ -102,9 +102,10 @@
                 ValueNode base = compression.graph().unique(new HeapBaseNode(heapBaseRegister));
                 addr.setBase(base);
             } else if (encoding.base != 0) {
-                long disp = addr.getDisplacement() + heapBase;
+                long disp = addr.getDisplacement() + encoding.base;
                 if (NumUtil.isInt(disp)) {
                     addr.setDisplacement((int) disp);
+                    addr.setBase(null);
                 } else {
                     return false;
                 }