# HG changeset patch # User minqi # Date 1350662294 25200 # Node ID 57594319ed46d8be9ae63b3b3f886fc50db8d447 # Parent 89ac7d090f105380960a71f08af0c91973ccd887 8001055: Bytes.swap should follow big endian Summary: This is a mistake change in 6879063 about Bytes.swap. Java byte code order always follows big endian, but in that change, assume they follow native platform order that is not right. Reviewed-by: coleenp, sspitsyn, dholmes Contributed-by: yumin.qi@oracle.com diff -r 89ac7d090f10 -r 57594319ed46 hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java Fri Oct 19 08:56:57 2012 -0700 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java Fri Oct 19 08:58:14 2012 -0700 @@ -30,24 +30,10 @@ /** Encapsulates some byte-swapping operations defined in the VM */ public class Bytes { - // swap if client platform is different from server's. private boolean swap; public Bytes(MachineDescription machDesc) { - String cpu = PlatformInfo.getCPU(); - if (cpu.equals("sparc")) { - if (machDesc.isBigEndian()) { - swap = false; - } else { - swap = true; - } - } else { // intel - if (machDesc.isBigEndian()) { - swap = true; - } else { - swap = false; - } - } + swap = !machDesc.isBigEndian(); } /** Should only swap if the hardware's underlying byte order is