Mercurial > hg > icedtea8
changeset 2901:12293af24349
S8213419, PR3724: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1
2019-04-22 Andrew John Hughes <gnu_andrew@member.fsf.org>
S8213419, PR3724: [AArch64] C2 may hang in
MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1
* Makefile.am:
(ICEDTEA_PATCHES): Apply additional PR3724 patch
when building the default HotSpot. Move Shenandoah-only
patches into the ALT_HSBUILD block.
* NEWS: Updated.
* patches/pr3724.patch:
AArch64 segment of 8213419, also fixed upstream
after the 3.12.0 tag.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Wed, 24 Apr 2019 06:06:49 +0100 |
parents | 8a52bc7c8fed |
children | 86a0f06c97b2 |
files | ChangeLog Makefile.am NEWS patches/pr3724.patch |
diffstat | 4 files changed, 60 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Apr 22 18:32:41 2019 +0100 +++ b/ChangeLog Wed Apr 24 06:06:49 2019 +0100 @@ -1,3 +1,16 @@ +2019-04-22 Andrew John Hughes <gnu_andrew@member.fsf.org> + + S8213419, PR3724: [AArch64] C2 may hang in + MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 + * Makefile.am: + (ICEDTEA_PATCHES): Apply additional PR3724 patch + when building the default HotSpot. Move Shenandoah-only + patches into the ALT_HSBUILD block. + * NEWS: Updated. + * patches/pr3724.patch: + AArch64 segment of 8213419, also fixed upstream + after the 3.12.0 tag. + 2019-04-22 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump shenandoah to aarch64-shenandoah-jdk8u212-b04.
--- a/Makefile.am Mon Apr 22 18:32:41 2019 +0100 +++ b/Makefile.am Wed Apr 24 06:06:49 2019 +0100 @@ -391,7 +391,6 @@ patches/hotspot/$(HSBUILD)/8059847-pr3696.patch \ patches/hotspot/$(HSBUILD)/8076475-pr3696.patch \ patches/hotspot/$(HSBUILD)/pr3728.patch -endif # Shenandoah has the AArch64 port so should get the return value & debug build fixes # Shenandoah also needs some fixes to build on all architectures @@ -403,6 +402,10 @@ patches/hotspot/$(HSBUILD)/pr3519-return_value-02.patch \ patches/hotspot/$(HSBUILD)/pr3634.patch endif +else +ICEDTEA_PATCHES += \ + patches/pr3724.patch +endif if BUILD_CACAO ICEDTEA_PATCHES += \
--- a/NEWS Mon Apr 22 18:32:41 2019 +0100 +++ b/NEWS Wed Apr 24 06:06:49 2019 +0100 @@ -173,10 +173,9 @@ - PR3722: Use SDK bin directory in jconsole.desktop.in - PR3723: Use shortened Java version first in Name field of desktop files - PR3728: CVE-2018-3639 fix revision to prefer PR_SPEC_DISABLE_NOEXEC to PR_SPEC_DISABLE -* Shenandoah - - S8213419: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 * AArch64 port - S8153172, PR3724: aarch64: hotspot crashes after the 8.1 LSE patch is merged + - S8213419, PR3724: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 - S8221220, PR3724: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable New in release 3.11.0 (2019-03-01):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/pr3724.patch Wed Apr 24 06:06:49 2019 +0100 @@ -0,0 +1,42 @@ +# HG changeset patch +# User roland +# Date 1554911223 -3600 +# Wed Apr 10 16:47:03 2019 +0100 +# Node ID 5f929b75d93ca63ca29cc1324fb50dac67a231a6 +# Parent 5174c702c7e30e0b047b89d2163736a5fd79861b +8213419, PR3724: [AArch64] C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 +Reviewed-by: kvn, dlong, aph + +diff --git openjdk.orig/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp openjdk/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp +--- openjdk.orig/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp ++++ openjdk/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp +@@ -320,29 +320,6 @@ + enum operation { uxtb, uxth, uxtw, uxtx, sxtb, sxth, sxtw, sxtx }; + }; + +-// abs methods which cannot overflow and so are well-defined across +-// the entire domain of integer types. +-static inline unsigned int uabs(unsigned int n) { +- union { +- unsigned int result; +- int value; +- }; +- result = n; +- if (value < 0) result = -result; +- return result; +-} +-static inline unsigned long uabs(unsigned long n) { +- union { +- unsigned long result; +- long value; +- }; +- result = n; +- if (value < 0) result = -result; +- return result; +-} +-static inline unsigned long uabs(long n) { return uabs((unsigned long)n); } +-static inline unsigned long uabs(int n) { return uabs((unsigned int)n); } +- + // Addressing modes + class Address VALUE_OBJ_CLASS_SPEC { + public: