[11u] RFR 8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect

Aleksey Shipilev shade at redhat.com
Thu Nov 12 15:24:02 UTC 2020


Original bug:
   https://bugs.openjdk.java.net/browse/JDK-8255550
   https://git.openjdk.java.net/jdk/commit/9e5bbff5

Backporting this for parity in 11u. The code shape is a bit different due to clean ups in later JDK. 
11u patch is:

diff -r 36e0ac0a01ad src/hotspot/cpu/x86/assembler_x86.cpp
--- a/src/hotspot/cpu/x86/assembler_x86.cpp     Wed May 20 11:29:11 2020 -0700
+++ b/src/hotspot/cpu/x86/assembler_x86.cpp     Thu Nov 12 15:47:56 2020 +0100
@@ -8588,7 +8588,7 @@
  void Assembler::cmpq(Address dst, Register src) {
    InstructionMark im(this);
    prefixq(dst, src);
-  emit_int8(0x3B);
+  emit_int8(0x39);
    emit_operand(src, dst);
  }

Testing: checking code usages (none!), tier1

-- 
Thanks,
-Aleksey



More information about the jdk-updates-dev mailing list