changeset 16324:cb196ea71d77

[SPARC] Fixing last issues on jtt.bytecode, reverting changes to HexCodeFile, fixed parsing method in Disassembler and submitted the patch
author Stefan Anzinger <stefan.anzinger@gmail.com>
date Fri, 06 Jun 2014 00:18:30 +0200
parents f22e4fd06a7e
children e497100e1fbf
files graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/UnsafeAccess.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ObjectStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/PrimitiveStamp.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampFactory.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampProvider.java graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java graal/com.oracle.graal.hotspotvmconfig/src/com/oracle/graal/hotspotvmconfig/HotSpotVMConstant.java graal/com.oracle.graal.hotspotvmconfig/src/com/oracle/graal/hotspotvmconfig/HotSpotVMField.java graal/com.oracle.graal.hotspotvmconfig/src/com/oracle/graal/hotspotvmconfig/HotSpotVMFlag.java graal/com.oracle.graal.hotspotvmconfig/src/com/oracle/graal/hotspotvmconfig/HotSpotVMType.java graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningPhase.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java test/whitelist_baseline.txt
diffstat 2 files changed, 6 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java	Thu Jun 05 16:28:13 2014 +0200
+++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java	Fri Jun 06 00:18:30 2014 +0200
@@ -599,33 +599,33 @@
                     }
                     break;
                 case F2D:
-                    new Fstod(masm, asDoubleReg(dst), asDoubleReg(dst));
+                    new Fstod(masm, asFloatReg(src), asDoubleReg(dst));
                     break;
                 case F2L:
                     new Fcmp(CC.Fcc0, Opfs.Fcmps, asFloatReg(dst), asFloatReg(dst)).emit(masm);
                     new Fbfcc(masm, FCond.Fbo, false, 4);
-                    new Fstox(masm, asFloatReg(dst), asFloatReg(dst));
+                    new Fstox(masm, asFloatReg(src), asFloatReg(dst));
                     new Fitos(masm, asFloatReg(dst), asFloatReg(dst));
                     new Fsubs(asFloatReg(dst), asFloatReg(dst), asFloatReg(dst)).emit(masm);
                     break;
                 case F2I:
                     new Fcmp(CC.Fcc0, Opfs.Fcmps, asFloatReg(dst), asFloatReg(dst)).emit(masm);
                     new Fbfcc(masm, FCond.Fbo, false, 4);
-                    new Fstoi(masm, asFloatReg(dst), asFloatReg(dst));
+                    new Fstoi(masm, asFloatReg(src), asFloatReg(dst));
                     new Fitos(masm, asFloatReg(dst), asFloatReg(dst));
                     new Fsubs(asFloatReg(dst), asFloatReg(dst), asFloatReg(dst)).emit(masm);
                     break;
                 case D2L:
                     new Fcmp(CC.Fcc0, Opfs.Fcmpd, asDoubleReg(dst), asDoubleReg(dst)).emit(masm);
                     new Fbfcc(masm, FCond.Fbo, false, 4);
-                    new Fdtox(masm, asDoubleReg(dst), asDoubleReg(dst));
+                    new Fdtox(masm, asDoubleReg(src), asDoubleReg(dst));
                     new Fxtod(masm, asDoubleReg(dst), asDoubleReg(dst));
                     new Fsubd(asDoubleReg(dst), asDoubleReg(dst), asDoubleReg(dst)).emit(masm);
                     break;
                 case D2I:
                     new Fcmp(CC.Fcc0, Opfs.Fcmpd, asDoubleReg(dst), asDoubleReg(dst)).emit(masm);
                     new Fbfcc(masm, FCond.Fbo, false, 4);
-                    new Fdtoi(masm, asDoubleReg(dst), asDoubleReg(dst));
+                    new Fdtoi(masm, asDoubleReg(src), asDoubleReg(dst));
                     new Fitod(masm, asDoubleReg(dst), asDoubleReg(dst));
                     new Fsubd(asDoubleReg(dst), asDoubleReg(dst), asDoubleReg(dst)).emit(masm);
                     break;
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java	Thu Jun 05 16:28:13 2014 +0200
+++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java	Fri Jun 06 00:18:30 2014 +0200
@@ -23,7 +23,6 @@
 package com.oracle.graal.printer;
 
 import java.io.*;
-import java.math.*;
 import java.util.*;
 import java.util.regex.*;
 
@@ -160,19 +159,9 @@
     }
 
     public void writeTo(OutputStream out) {
-        /**
-         * The BigInteger issue is necessary, as the c1visualizer/mxpaser/Long.parseLong cannot
-         * parse unsigned strings representing values greater or equal 1<<63
-         */
-        BigInteger relocatedtartAddress = new BigInteger(Long.toHexString(startAddress), 16);
-        if (startAddress < 0) {
-            relocatedtartAddress = relocatedtartAddress.clearBit(63); // Remove the sign bit.
-            comments.get(0).add(0, String.format("NOTICE: Address value is always 0x%x less than physical.", Long.MIN_VALUE));
-        }
-        // Now generate the output.
         PrintStream ps = out instanceof PrintStream ? (PrintStream) out : new PrintStream(out);
         ps.printf("Platform %s %d %s%n", isa, wordWidth, SECTION_DELIM);
-        ps.printf("HexCode %x %s %s%n", relocatedtartAddress.longValue(), HexCodeFile.hexCodeString(code), SECTION_DELIM);
+        ps.printf("HexCode %x %s %s%n", startAddress, HexCodeFile.hexCodeString(code), SECTION_DELIM);
 
         for (JumpTable table : jumpTables) {
             ps.printf("JumpTable %d %d %d %d %s%n", table.position, table.entrySize, table.low, table.high, SECTION_DELIM);