hotspot/test/compiler/jvmci/code/sparc/SPARCTestAssembler.java
changeset 35591 35ab7c6816e9
parent 35582 c32a0cc19877
child 35595 4308ac6d1b16
--- a/hotspot/test/compiler/jvmci/code/sparc/SPARCTestAssembler.java	Fri Jan 22 12:37:32 2016 +0100
+++ b/hotspot/test/compiler/jvmci/code/sparc/SPARCTestAssembler.java	Thu Jan 21 16:22:01 2016 +0100
@@ -109,10 +109,11 @@
 
     @Override
     public Register emitLoadLong(long c) {
-        if ((c & 0xFFFFFFFF) == c) {
+        if ((c & 0xFFFF_FFFFL) == c) {
             return emitLoadInt((int) c);
         } else {
             DataSectionReference ref = new DataSectionReference();
+            data.align(8);
             ref.setOffset(data.position());
             data.emitLong(c);
             return emitLoadPointer(ref);
@@ -133,6 +134,7 @@
     @Override
     public Register emitLoadFloat(float c) {
         DataSectionReference ref = new DataSectionReference();
+        data.align(4);
         ref.setOffset(data.position());
         data.emitFloat(c);
 
@@ -262,4 +264,14 @@
         recordImplicitException(info);
         emitOp3(0b11, SPARC.g0, 0b001011, SPARC.g0, 0); // LDX [g0+0], g0
     }
+
+    @Override
+    public DataSectionReference emitDataItem(HotSpotConstant c) {
+        if (c.isCompressed()) {
+            data.align(4);
+        } else {
+            data.align(8);
+        }
+        return super.emitDataItem(c);
+    }
 }