# HG changeset patch # User minqi # Date 1350662294 25200 # Node ID 8eeffbc22f10b8f906f65f840ef9dbe7719a87f1 # Parent c7957b458bf8982803af39574c7955e091eab35f 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 c7957b458bf8 -r 8eeffbc22f10 agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java --- a/agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java Fri Oct 19 08:56:57 2012 -0700 +++ b/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