RFR (XS) 8241128: x86_32 build failure after JDK-8241042

Aleksey Shipilev shade at redhat.com
Wed Mar 18 05:44:22 UTC 2020


Bug:
  https://bugs.openjdk.java.net/browse/JDK-8241128

JDK-8241042 changed the lines below incorrectly. There is no multi-arg emit_int8, and it must be
emit_int16 or emit_int24.

Fix:

diff -r 82d11846109a -r 3d86b4b4701b src/hotspot/cpu/x86/assembler_x86.cpp
--- a/src/hotspot/cpu/x86/assembler_x86.cpp     Wed Mar 18 06:28:50 2020 +0100
+++ b/src/hotspot/cpu/x86/assembler_x86.cpp     Wed Mar 18 06:39:55 2020 +0100
@@ -6838,7 +6838,7 @@
 void Assembler::cmp_literal32(Register src1, int32_t imm32, RelocationHolder const& rspec) {
   // NO PREFIX AS NEVER 64BIT
   InstructionMark im(this);
-  emit_int8((unsigned char)0x81, (0xF8 | src1->encoding()));
+  emit_int16((unsigned char)0x81, (0xF8 | src1->encoding()));
   emit_data(imm32, rspec, 0);
 }

@@ -7638,7 +7638,7 @@
 }

 void Assembler::set_byte_if_not_zero(Register dst) {
-  emit_int8(0x0F, (unsigned char)0x95, (0xE0 | dst->encoding()));
+  emit_int24(0x0F, (unsigned char)0x95, (0xE0 | dst->encoding()));
 }

 #else // LP64

Testing: x86_32 build

-- 
Thanks,
-Aleksey



More information about the hotspot-runtime-dev mailing list