[11u] RFR: 8248901: Signed immediate support in .../share/assembler.hpp is broken.memory chain

Doerr, Martin martin.doerr at sap.com
Wed Dec 23 21:25:07 UTC 2020


Hi,

I noticed that I need additional fixes for PPC64 and SPARC (see below).
I've taken the fix for the wrong assertion on PPC64 from upstream and added the missing functions to assembler_sparc.hpp.

New webrev:
http://cr.openjdk.java.net/~mdoerr/8248901_assembler_11u/webrev.01/

Best regards,
Martin


diff -r d8d8bd39cbbe src/hotspot/cpu/ppc/macroAssembler_ppc.cpp
--- a/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp        Mon Jul 06 21:29:51 2020 +0200
+++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp        Wed Dec 23 22:08:52 2020 +0100
@@ -2302,7 +2302,7 @@
 ) {
   // make sure arguments make sense
   assert_different_registers(obj, var_size_in_bytes, t1);
-  assert(0 <= con_size_in_bytes && is_simm13(con_size_in_bytes), "illegal object size");
+  assert(0 <= con_size_in_bytes && is_simm16(con_size_in_bytes), "illegal object size");
   assert((con_size_in_bytes & MinObjAlignmentInBytesMask) == 0, "object size is not multiple of alignment");

   const Register new_top = t1;
diff -r d8d8bd39cbbe src/hotspot/cpu/sparc/assembler_sparc.hpp
--- a/src/hotspot/cpu/sparc/assembler_sparc.hpp Mon Jul 06 21:29:51 2020 +0200
+++ b/src/hotspot/cpu/sparc/assembler_sparc.hpp Wed Dec 23 22:08:52 2020 +0100
@@ -358,6 +358,13 @@
     return is_in_wdisp_range(a, b, 30);
   }

+  static bool is_simm5(intptr_t x) { return is_simm(x, 5); }
+  static bool is_simm11(intptr_t x) { return is_simm(x, 11); }
+  static bool is_simm12(intptr_t x) { return is_simm(x, 12); }
+  static bool is_simm13(intptr_t x) { return is_simm(x, 13); }
+
+  static int min_simm13() { return -4096; }
+
   enum ASIs { // page 72, v9
     ASI_PRIMARY            = 0x80,
     ASI_PRIMARY_NOFAULT    = 0x82,


> -----Original Message-----
> From: Doerr, Martin
> Sent: Montag, 21. Dezember 2020 18:32
> To: Hohensee, Paul <hohensee at amazon.com>; 'hotspot-compiler-
> dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>; jdk-
> updates-dev at openjdk.java.net
> Cc: Langer, Christoph <christoph.langer at sap.com>; Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com>
> Subject: RE: [11u] RFR: 8248901: Signed immediate support in
> .../share/assembler.hpp is broken.memory chain
> 
> Hi Paul,
> 
> thanks for the review! I'll have to backport it together with JDK-8247766
> which doesn't apply cleanly in order to avoid breaking aarch64.
> 
> Best regards,
> Martin
> 
> 
> > -----Original Message-----
> > From: Hohensee, Paul <hohensee at amazon.com>
> > Sent: Montag, 21. Dezember 2020 18:29
> > To: Doerr, Martin <martin.doerr at sap.com>; 'hotspot-compiler-
> > dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>; jdk-
> > updates-dev at openjdk.java.net
> > Cc: Langer, Christoph <christoph.langer at sap.com>; Lindenmaier, Goetz
> > <goetz.lindenmaier at sap.com>
> > Subject: RE: [11u] RFR: 8248901: Signed immediate support in
> > .../share/assembler.hpp is broken.memory chain
> >
> > Lgtm.
> >
> > Thanks,
> > Paul
> >
> > -----Original Message-----
> > From: jdk-updates-dev <jdk-updates-dev-retn at openjdk.java.net> on
> > behalf of "Doerr, Martin" <martin.doerr at sap.com>
> > Date: Monday, December 21, 2020 at 8:52 AM
> > To: "'hotspot-compiler-dev at openjdk.java.net'" <hotspot-compiler-
> > dev at openjdk.java.net>, "jdk-updates-dev at openjdk.java.net" <jdk-
> > updates-dev at openjdk.java.net>
> > Cc: "Langer, Christoph" <christoph.langer at sap.com>, "Lindenmaier,
> Goetz"
> > <goetz.lindenmaier at sap.com>
> > Subject: [11u] RFR: 8248901: Signed immediate support in
> > .../share/assembler.hpp is broken.memory chain
> >
> > Hi,
> >
> > JDK-8248901 is backported to 11.0.11-oracle. I'd like to backport it for parity.
> > Change applies cleanly, but precond macro is missing in 11u. I've taken it
> from
> > JDK-8223140 (http://hg.openjdk.java.net/jdk/jdk/rev/6b77693eda6a).
> >
> > Bug:
> > https://bugs.openjdk.java.net/browse/JDK-8248901
> >
> > Original change:
> > https://hg.openjdk.java.net/jdk/jdk/rev/ce8fb40c9174
> >
> > Clean 11u backport with added precond and postcond macros:
> > http://cr.openjdk.java.net/~mdoerr/8248901_assembler_11u/webrev.00/
> >
> > Please review.
> >
> > Best regards,
> > Martin
> >



More information about the hotspot-compiler-dev mailing list