Returned 8035496-hotspot.patch aarch64BuildFailure.patch

This commit is contained in:
Jiri 2018-03-27 17:49:36 +02:00
parent 66bcbb215b
commit e5f736ca26
3 changed files with 48 additions and 1 deletions

30
8035496-hotspot.patch Normal file
View File

@ -0,0 +1,30 @@
# HG changeset patch
# User bdelsart
# Date 1508481469 -28800
# Fri Oct 20 14:37:49 2017 +0800
# Node ID 111ed1a4719008b83bf427ae16bbeac2a7a516bc
# Parent 471de666658d7ec14c5d3f97076fb95f70dd6ffa
8035496: G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0
Summary: release_store used when registering a PerRegionTable. Also reviewed-by: vitalyd@gmail.com
Reviewed-by: jmasa, tschatzl, brutisso
diff --git a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
--- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
@@ -514,7 +514,15 @@
PerRegionTable* first_prt = _fine_grain_regions[ind];
prt->set_collision_list_next(first_prt);
- _fine_grain_regions[ind] = prt;
+ // The assignment into _fine_grain_regions allows the prt to
+ // start being used concurrently. In addition to
+ // collision_list_next which must be visible (else concurrent
+ // parsing of the list, if any, may fail to see other entries),
+ // the content of the prt must be visible (else for instance
+ // some mark bits may not yet seem cleared or a 'later' update
+ // performed by a concurrent thread could be undone when the
+ // zeroing becomes visible). This requires store ordering.
+ OrderAccess::release_store_ptr((volatile PerRegionTable*)&_fine_grain_regions[ind], prt);
_n_fine_entries++;
if (G1HRRSUseSparseTable) {

14
aarch64BuildFailure.patch Normal file
View File

@ -0,0 +1,14 @@
diff -r 214a94e9366c src/cpu/aarch64/vm/nativeInst_aarch64.cpp
--- openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 17 12:11:32 2017 +0000
+++ openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 24 16:23:14 2017 +0100
@@ -343,7 +343,7 @@
CodeBuffer cb(code_pos, instruction_size);
MacroAssembler a(&cb);
- a.mov(rscratch1, entry);
+ a.movptr(rscratch1, (uintptr_t)entry);
a.br(rscratch1);
ICache::invalidate_range(code_pos, instruction_size);

View File

@ -1084,6 +1084,8 @@ Patch201: system-libjpeg.patch
# custom securities
Patch207: PR3183.patch
# ustreamed aarch64 fixes
Patch208: aarch64BuildFailure.patch
Patch209: 8035496-hotspot.patch
Patch210: suse_linuxfilestore.patch
# Local fixes
@ -1432,6 +1434,8 @@ sh %{SOURCE12}
%patch205
%patch206
%patch207
%patch208
%patch209
%patch210
%patch1
@ -2120,7 +2124,6 @@ require "copy_jdk_configs.lua"
- 8181419/PR3413/RH1463144, 8145913/PR3466/RH1498309,
- 8168318/PR3466/RH1498320, 8170328/PR3466/RR1498321 and
- 8181810/PR3466/RH1498319.
- removed also 208 and 209 (aarch64BuildFailure.patch, 8035496-hotspot.patch) to preven aarch64 failure
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 1:1.8.0.161-9.b14
- Rebuild to fix GCC 8 mis-compilation