From 017a1252e2f3c1deba1c49207953c1e4f6841a89 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 4 Sep 2018 19:37:25 +0200 Subject: [PATCH] Updated to u181-b15; moved to single repo tarball. --- .gitignore | 1 + 8165489-pr3589.patch | 123 --------------------------------- 8165852-pr3468.patch | 21 ------ 8196516-pr3523-rh1538767.patch | 33 --------- java-1.8.0-openjdk.spec | 94 +++++++++++++------------ pr3539-rh1548475.patch | 6 +- pr3619.patch | 45 ++++++++++++ pr3620.patch | 70 +++++++++++++++++++ sources | 3 +- 9 files changed, 171 insertions(+), 225 deletions(-) delete mode 100644 8165489-pr3589.patch delete mode 100644 8165852-pr3468.patch delete mode 100644 8196516-pr3523-rh1538767.patch create mode 100644 pr3619.patch create mode 100644 pr3620.patch diff --git a/.gitignore b/.gitignore index d8923d4..571ea50 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,4 @@ /aarch64-port-jdk8u-aarch64-jdk8u181-b13.tar.xz /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b13.tar.xz /systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz +/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b15.tar.xz diff --git a/8165489-pr3589.patch b/8165489-pr3589.patch deleted file mode 100644 index 1674dec..0000000 --- a/8165489-pr3589.patch +++ /dev/null @@ -1,123 +0,0 @@ -# HG changeset patch -# User mdoerr -# Date 1473159687 -7200 -# Tue Sep 06 13:01:27 2016 +0200 -# Node ID 7f6e1069a5719c8908b53774d3560ce851c7cd70 -# Parent b8fc1e640c4c7f38ca94131279cb67c4d3de6961 -8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile -Summary: Add missing barrier, sharing code with Unsafe_GetObject. -Reviewed-by: kbarrett, mgerdin, pliden, tschatzl - -diff --git openjdk.orig/hotspot/src/share/vm/prims/unsafe.cpp openjdk/hotspot/src/share/vm/prims/unsafe.cpp ---- openjdk.orig/hotspot/src/share/vm/prims/unsafe.cpp -+++ openjdk/hotspot/src/share/vm/prims/unsafe.cpp -@@ -199,37 +199,40 @@ - - // Get/SetObject must be special-cased, since it works with handles. - -+// We could be accessing the referent field in a reference -+// object. If G1 is enabled then we need to register non-null -+// referent with the SATB barrier. -+ -+#if INCLUDE_ALL_GCS -+static bool is_java_lang_ref_Reference_access(oop o, jlong offset) { -+ if (offset == java_lang_ref_Reference::referent_offset && o != NULL) { -+ Klass* k = o->klass(); -+ if (InstanceKlass::cast(k)->reference_type() != REF_NONE) { -+ assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity"); -+ return true; -+ } -+ } -+ return false; -+} -+#endif -+ -+static void ensure_satb_referent_alive(oop o, jlong offset, oop v) { -+#if INCLUDE_ALL_GCS -+ if (UseG1GC && v != NULL && is_java_lang_ref_Reference_access(o, offset)) { -+ G1SATBCardTableModRefBS::enqueue(v); -+ } -+#endif -+} -+ - // The xxx140 variants for backward compatibility do not allow a full-width offset. - UNSAFE_ENTRY(jobject, Unsafe_GetObject140(JNIEnv *env, jobject unsafe, jobject obj, jint offset)) - UnsafeWrapper("Unsafe_GetObject"); - if (obj == NULL) THROW_0(vmSymbols::java_lang_NullPointerException()); - GET_OOP_FIELD(obj, offset, v) -- jobject ret = JNIHandles::make_local(env, v); --#if INCLUDE_ALL_GCS -- // We could be accessing the referent field in a reference -- // object. If G1 is enabled then we need to register a non-null -- // referent with the SATB barrier. -- if (UseG1GC) { -- bool needs_barrier = false; - -- if (ret != NULL) { -- if (offset == java_lang_ref_Reference::referent_offset) { -- oop o = JNIHandles::resolve_non_null(obj); -- Klass* k = o->klass(); -- if (InstanceKlass::cast(k)->reference_type() != REF_NONE) { -- assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity"); -- needs_barrier = true; -- } -- } -- } -+ ensure_satb_referent_alive(p, offset, v); - -- if (needs_barrier) { -- oop referent = JNIHandles::resolve(ret); -- G1SATBCardTableModRefBS::enqueue(referent); -- } -- } --#endif // INCLUDE_ALL_GCS -- return ret; -+ return JNIHandles::make_local(env, v); - UNSAFE_END - - UNSAFE_ENTRY(void, Unsafe_SetObject140(JNIEnv *env, jobject unsafe, jobject obj, jint offset, jobject x_h)) -@@ -262,32 +265,10 @@ - UNSAFE_ENTRY(jobject, Unsafe_GetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset)) - UnsafeWrapper("Unsafe_GetObject"); - GET_OOP_FIELD(obj, offset, v) -- jobject ret = JNIHandles::make_local(env, v); --#if INCLUDE_ALL_GCS -- // We could be accessing the referent field in a reference -- // object. If G1 is enabled then we need to register non-null -- // referent with the SATB barrier. -- if (UseG1GC) { -- bool needs_barrier = false; - -- if (ret != NULL) { -- if (offset == java_lang_ref_Reference::referent_offset && obj != NULL) { -- oop o = JNIHandles::resolve(obj); -- Klass* k = o->klass(); -- if (InstanceKlass::cast(k)->reference_type() != REF_NONE) { -- assert(InstanceKlass::cast(k)->is_subclass_of(SystemDictionary::Reference_klass()), "sanity"); -- needs_barrier = true; -- } -- } -- } -+ ensure_satb_referent_alive(p, offset, v); - -- if (needs_barrier) { -- oop referent = JNIHandles::resolve(ret); -- G1SATBCardTableModRefBS::enqueue(referent); -- } -- } --#endif // INCLUDE_ALL_GCS -- return ret; -+ return JNIHandles::make_local(env, v); - UNSAFE_END - - UNSAFE_ENTRY(void, Unsafe_SetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h)) -@@ -312,6 +293,9 @@ - } else { - (void)const_cast(v = *(volatile oop*) addr); - } -+ -+ ensure_satb_referent_alive(p, offset, v); -+ - OrderAccess::acquire(); - return JNIHandles::make_local(env, v); - UNSAFE_END diff --git a/8165852-pr3468.patch b/8165852-pr3468.patch deleted file mode 100644 index 6a9f643..0000000 --- a/8165852-pr3468.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java 2017-08-23 11:40:26.690809603 +0200 -+++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java 2017-08-23 11:44:28.314815334 +0200 -@@ -74,8 +74,16 @@ - } catch (UnixException x) { - x.rethrowAsIOException(parent); - } -- if (attrs.dev() != dev()) -- break; -+ if (attrs.dev() != dev()) { -+ -+ // step 3: lookup mounted file systems (use /proc/mounts to ensure we -+ // find the file system even when not in /etc/mtab) -+ byte[] dir = path.asByteArray(); -+ for (UnixMountEntry entry: fs.getMountEntries("/proc/mounts")) { -+ if (Arrays.equals(dir, entry.dir())) -+ return entry; -+ } -+ } - path = parent; - parent = parent.getParent(); - } diff --git a/8196516-pr3523-rh1538767.patch b/8196516-pr3523-rh1538767.patch deleted file mode 100644 index b321611..0000000 --- a/8196516-pr3523-rh1538767.patch +++ /dev/null @@ -1,33 +0,0 @@ -# HG changeset patch -# User sgehwolf -# Date 1523360781 -7200 -# Tue Apr 10 13:46:21 2018 +0200 -# Node ID 5f2401aef9acb6998f06cb82fdd8a84eda3e63ad -# Parent 656ab3b39178c1e4de644d490613bfd8212ae924 -8196516: libfontmanager must be built with LDFLAGS allowing unresolved symbols -Summary: Fixes build failures on some sustems with custom LDFLAGS settings. - -diff --git a/make/lib/Awt2dLibraries.gmk b/make/lib/Awt2dLibraries.gmk ---- a/make/lib/Awt2dLibraries.gmk -+++ b/make/lib/Awt2dLibraries.gmk -@@ -927,6 +927,10 @@ ifeq ($(OPENJDK_TARGET_OS), linux) - BUILD_LIBFONTMANAGER_IndicRearrangementProcessor2.cpp_CXXFLAGS := -fno-strict-overflow - endif - -+# LDFLAGS clarification: -+# Filter relevant linker flags disallowing unresolved symbols as we cannot -+# build-time decide to which library to link against (libawt_headless or -+# libawt_xawt). See JDK-8196516 for details. - $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \ - LIBRARY := fontmanager, \ - OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ -@@ -941,7 +945,8 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \ - CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ - -DCC_NOEX, \ - MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \ -- LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ -+ LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \ -+ $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \ - $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \ - LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index e86860b..4888f74 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -219,12 +219,13 @@ %global origin_nice OpenJDK %global top_level_dir_name %{origin} # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. -%global project aarch64-port -%global repo jdk8u -%global revision aarch64-jdk8u181-b13 %global shenandoah_project aarch64-port %global shenandoah_repo jdk8u-shenandoah -%global shenandoah_revision aarch64-shenandoah-jdk8u181-b13 +%global shenandoah_revision aarch64-shenandoah-jdk8u181-b15 +# Define old aarch64/jdk8u tree variables for compatibility +%global project %{shenandoah_project} +%global repo %{shenandoah_repo} +%global revision %{shenandoah_revision} # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%) %global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*}) @@ -960,7 +961,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 7%{?dist} +Release: 0%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -988,22 +989,15 @@ Group: Development/Languages License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib URL: http://openjdk.java.net/ -# aarch64-port now contains integration forest of both aarch64 and normal jdk -# Source from upstream OpenJDK8 project. To regenerate, use -# VERSION=%%{revision} FILE_NAME_ROOT=%%{project}-%%{repo}-${VERSION} -# REPO_ROOT= generate_source_tarball.sh -# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo} -Source0: %{project}-%{repo}-%{revision}.tar.xz - # Shenandoah HotSpot # aarch64-port/jdk8u-shenandoah contains an integration forest of # OpenJDK 8u, the aarch64 port and Shenandoah # To regenerate, use: # VERSION=%%{shenandoah_revision} # FILE_NAME_ROOT=%%{shenandoah_project}-%%{shenandoah_repo}-${VERSION} -# REPO_ROOT= REPOS=hotspot generate_source_tarball.sh +# REPO_ROOT= generate_source_tarball.sh # where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo} -Source1: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}.tar.xz +Source0: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}.tar.xz # Custom README for -src subpackage Source2: README.md @@ -1152,8 +1146,6 @@ Patch575: 8197981-pr3548.patch Patch576: 8064786-pr3599.patch # 8062808, PR3548: Turn on the -Wreturn-type warning Patch577: 8062808-pr3548.patch -# 8165852, PR3468: (fs) Mount point not found for a file which is present in overlayfs -Patch210: 8165852-pr3468.patch # 8207057, PR3613: Enable debug information for assembly code files Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch @@ -1180,11 +1172,6 @@ Patch565: 8185723-pr3553.patch Patch566: 8186461-pr3557.patch # 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong Patch569: 8201509-pr3579.patch -# 8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile -Patch570: 8165489-pr3589.patch -# 8196516, RH1538767: libfontmanager.so needs to be built with LDFLAGS so as to allow -# linking with unresolved symbols. -Patch531: 8196516-pr3523-rh1538767.patch # 8075942, PR3602: ArrayIndexOutOfBoundsException in sun.java2d.pisces.Dasher.goTo Patch578: 8075942-pr3602-rh1582032.patch # 8203182, PR3603: Release session if initialization of SunPKCS11 Signature fails @@ -1218,8 +1205,12 @@ Patch539: pr2888.patch # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts Patch540: pr3575-rh1567204.patch -############################################# -# +# Shenandoah fixes +# PR3619: Shenandoah broken on s390 +Patch582: pr3619.patch +# PR3620: Shenandoah broken on ppc64 +Patch583: pr3620.patch + # Non-OpenJDK fixes # ############################################# @@ -1528,17 +1519,7 @@ if [ $prioritylength -ne 7 ] ; then exit 14 fi # For old patches -ln -s openjdk jdk8 -%if %{use_shenandoah_hotspot} -# On Shenandoah-supported architectures, replace HotSpot with -# the Shenandoah version -pushd openjdk -tar -xf %{SOURCE1} -rm -rf hotspot -mv openjdk/hotspot . -rm -rf openjdk -popd -%endif +ln -s %{top_level_dir_name} jdk8 cp %{SOURCE2} . @@ -1563,7 +1544,6 @@ sh %{SOURCE12} %patch204 %patch205 %patch206 -%patch210 %patch300 @@ -1612,9 +1592,6 @@ sh %{SOURCE12} %patch530 %patch538 %patch560 -pushd openjdk/jdk -%patch531 -p1 -popd %patch561 %patch562 %patch563 @@ -1645,11 +1622,9 @@ popd %patch534 %endif -# Shenandoah-only patches -%if %{use_shenandoah_hotspot} -%else -%patch570 -%endif +# Shenandoah patches +%patch582 +%patch583 %patch1000 @@ -2294,6 +2269,39 @@ require "copy_jdk_configs.lua" %endif %changelog +* Thu Aug 23 2018 Andrew Hughes - 1:1.8.0.181.b15-0 +- Move to single OpenJDK tarball build, based on aarch64/shenandoah-jdk8u. +- Update to aarch64-shenandoah-jdk8u181-b15. +- Drop 8165489-pr3589.patch which was only applied to aarch64/jdk8u builds. +- Move buildver to where it should be in the OpenJDK version. +- Split ppc64 Shenandoah fix into separate patch file with its own bug ID (PR3620). +- Update pr3539-rh1548475.patch to apply after 8187045. +- Resolves: rhbz#1594249 + +* Sat Aug 11 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- Remove unneeded functions from ppc shenandoahBarrierSet. +- Resolves: rhbz#1594249 + +* Wed Aug 08 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- Add missing shenandoahBarrierSet implementation for ppc64{be,le}. +- Resolves: rhbz#1594249 + +* Tue Aug 07 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- Fix wrong format specifiers in Shenandoah code. +- Resolves: rhbz#1594249 + +* Tue Aug 07 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- Avoid changing variable types to fix size_t, at least for now. +- Resolves: rhbz#1594249 + +* Tue Aug 07 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- More size_t fixes for Shenandoah. +- Resolves: rhbz#1594249 + +* Fri Aug 03 2018 Andrew Hughes - 1:1.8.0.181-8.b13 +- Add additional s390 size_t case for Shenandoah. +- Resolves: rhbz#1594249 + * Wed Aug 01 2018 Jiri Vanek - 1:1.8.0.181.b13-7 - build number moved from release to version diff --git a/pr3539-rh1548475.patch b/pr3539-rh1548475.patch index 492a080..9b40a7f 100644 --- a/pr3539-rh1548475.patch +++ b/pr3539-rh1548475.patch @@ -85,8 +85,8 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/m # cause problems with interposing. See CR: 6466665 # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE)) --LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) -+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS) +-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK) ++LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK) $(EXTRA_LDFLAGS) # DEBUG_BINARIES overrides everything, use full -g debug information ifeq ($(DEBUG_BINARIES), true) @@ -105,7 +105,7 @@ diff --git openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make --- openjdk.orig/hotspot/make/linux/makefiles/vm.make +++ openjdk/hotspot/make/linux/makefiles/vm.make -@@ -130,7 +130,7 @@ +@@ -122,7 +122,7 @@ # Extra flags from gnumake's invocation or environment CFLAGS += $(EXTRA_CFLAGS) diff --git a/pr3619.patch b/pr3619.patch new file mode 100644 index 0000000..3c8631f --- /dev/null +++ b/pr3619.patch @@ -0,0 +1,45 @@ +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp +@@ -108,7 +108,7 @@ + step = MIN2(step, (intx) MaxNormalStep); + + log_info(gc, ergo)("Capacity: " SIZE_FORMAT "M, Peak Occupancy: " SIZE_FORMAT +- "M, Lowest Free: " SIZE_FORMAT "M, Free Threshold: " UINTX_FORMAT "M", ++ "M, Lowest Free: " SIZE_FORMAT "M, Free Threshold: " SIZE_FORMAT "M", + capacity / M, _peak_occupancy / M, + (capacity - _peak_occupancy) / M, ShenandoahMinFreeThreshold * capacity / 100 / M); + +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp +@@ -36,7 +36,7 @@ + } + + void ShenandoahStaticHeuristics::print_thresholds() { +- log_info(gc, init)("Shenandoah heuristics thresholds: allocation "SIZE_FORMAT", free "SIZE_FORMAT", garbage "SIZE_FORMAT, ++ log_info(gc, init)("Shenandoah heuristics thresholds: allocation "UINTX_FORMAT", free "UINTX_FORMAT", garbage "UINTX_FORMAT, + ShenandoahAllocationThreshold, + ShenandoahFreeThreshold, + ShenandoahGarbageThreshold); +diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp +@@ -539,7 +539,7 @@ + } + size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; + region_size = MAX2(average_heap_size / ShenandoahTargetNumRegions, +- ShenandoahMinRegionSize); ++ (size_t) ShenandoahMinRegionSize); + + // Now make sure that we don't go over or under our limits. + region_size = MAX2(ShenandoahMinRegionSize, region_size); +@@ -573,7 +573,7 @@ + // Otherwise, mem-protecting one region may falsely protect the adjacent + // regions too. + if (UseLargePages) { +- region_size = MAX2(region_size, os::large_page_size()); ++ region_size = MAX2((size_t) region_size, os::large_page_size()); + } + + int region_size_log = log2_long((jlong) region_size); diff --git a/pr3620.patch b/pr3620.patch new file mode 100644 index 0000000..206828d --- /dev/null +++ b/pr3620.patch @@ -0,0 +1,70 @@ +diff --git openjdk.orig/hotspot/make/excludeSrc.make openjdk/hotspot/make/excludeSrc.make +--- openjdk.orig/hotspot/make/excludeSrc.make ++++ openjdk/hotspot/make/excludeSrc.make +@@ -121,6 +121,7 @@ + Src_Files_EXCLUDE += \ + shenandoahBarrierSet_x86.cpp \ + shenandoahBarrierSet_aarch64.cpp \ ++ shenandoahBarrierSet_ppc.cpp \ + shenandoahBarrierSet_sparc.cpp \ + shenandoahBarrierSet_zero.cpp + endif +diff --git openjdk.orig/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp openjdk/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp +new file mode 100644 +--- /dev/null ++++ openjdk/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp +@@ -0,0 +1,54 @@ ++/* ++ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ++ * or visit www.oracle.com if you need additional information or have any ++ * questions. ++ * ++ */ ++ ++#include "precompiled.hpp" ++#include "gc_implementation/shenandoah/brooksPointer.hpp" ++#include "gc_implementation/shenandoah/shenandoahBarrierSet.inline.hpp" ++ ++#include "asm/macroAssembler.hpp" ++#include "interpreter/interpreter.hpp" ++ ++#define __ masm-> ++ ++#ifndef CC_INTERP ++ ++void ShenandoahBarrierSet::interpreter_read_barrier(MacroAssembler* masm, Register dst) { ++ Unimplemented(); ++} ++ ++void ShenandoahBarrierSet::interpreter_read_barrier_not_null(MacroAssembler* masm, Register dst) { ++ Unimplemented(); ++} ++ ++void ShenandoahBarrierSet::interpreter_write_barrier(MacroAssembler* masm, Register dst) { ++ Unimplemented(); ++} ++ ++void ShenandoahBarrierSet::asm_acmp_barrier(MacroAssembler* masm, Register op1, Register op2) { ++ Unimplemented(); ++} ++ ++void ShenandoahHeap::compile_prepare_oop(MacroAssembler* masm, Register obj) { ++ Unimplemented(); ++} ++#endif diff --git a/sources b/sources index a9a9f44..f10b98c 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d -SHA512 (aarch64-port-jdk8u-aarch64-jdk8u181-b13.tar.xz) = d22ddb8b0b76faa18067fe383a147345be5fe1bad77b50940ff2993f3356166143e5ac9e14d9ead4437c13b00c6b2a5c62093ad57645da15a3419238990a74ac -SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b13.tar.xz) = b5611a5b13a8aa3c0e07e015e39b11241f96124bb9454d4151c54d4e9af004ea038cc3a27e3b9099b3061bb9225cb298551e0e726f79bc9bc9837aa912f1586c +SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b15.tar.xz) = d8cdb9b7ef129ba8a07332ca3e4c56ad9e6cc84c4977cbad601b67deeecec44c0f3b95f219d603e063bd7b89bf6515151111fe021cf36132b9b4cc47c1d1d12c