Add JDK-8237396 backport to resolve Shenandoah TCK breakage in traversal mode.
This commit is contained in:
parent
8ebdc0d602
commit
870cbdd5d1
@ -223,7 +223,7 @@
|
||||
%global top_level_dir_name %{origin}
|
||||
%global minorver 0
|
||||
%global buildver 2
|
||||
%global rpmrelease 3
|
||||
%global rpmrelease 4
|
||||
#%%global tagsuffix ""
|
||||
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
|
||||
%if %is_system_jdk
|
||||
@ -1056,6 +1056,16 @@ Patch6: rh1566890-CVE_2018_3639-speculative_store_bypass.patch
|
||||
Patch7: pr3695-toggle_system_crypto_policy.patch
|
||||
# S390 ambiguous log2_intptr call
|
||||
Patch8: s390-8214206_fix.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
# Patches appearing in 11.0.7
|
||||
#
|
||||
# This section includes patches which are present
|
||||
# in the listed OpenJDK 11u release and should be
|
||||
# able to be removed once that release is out
|
||||
# and used by this RPM.
|
||||
#############################################
|
||||
# JDK-8241296: Segfault in JNIHandleBlock::oops_do()
|
||||
Patch10: jdk8241296-jnihandleblock_segfault.patch
|
||||
|
||||
@ -1070,6 +1080,8 @@ Patch10: jdk8241296-jnihandleblock_segfault.patch
|
||||
#############################################
|
||||
# JDK-8237879: make 4.3 breaks build
|
||||
Patch9: jdk8237879-make_4_3_build_fixes.patch
|
||||
# JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
|
||||
Patch11: jdk8237396-avoid_triggering_barriers.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -1307,6 +1319,7 @@ pushd %{top_level_dir_name}
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
popd # openjdk
|
||||
|
||||
%patch1000
|
||||
@ -1850,6 +1863,9 @@ require "copy_jdk_configs.lua"
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Mar 28 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.2-0.4.ea
|
||||
- Add JDK-8237396 backport to resolve Shenandoah TCK breakage in traversal mode.
|
||||
|
||||
* Tue Mar 24 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.7.2-0.3.ea
|
||||
- Revert GCC 10 workaround for s390x.
|
||||
- Resolves RHBZ#1799087.
|
||||
|
58
jdk8237396-avoid_triggering_barriers.patch
Normal file
58
jdk8237396-avoid_triggering_barriers.patch
Normal file
@ -0,0 +1,58 @@
|
||||
# HG changeset patch
|
||||
# User zgu
|
||||
# Date 1579696811 18000
|
||||
# Wed Jan 22 07:40:11 2020 -0500
|
||||
# Node ID 91ea567eeabeade6b3f8d6cf10c02ba53f700eca
|
||||
# Parent 082f1d3eb1649ff776cda165ed78d65bc7361ebc
|
||||
8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
|
||||
Reviewed-by: stefank, rkennke
|
||||
|
||||
diff --git a/src/hotspot/share/prims/jvmtiTagMap.cpp b/src/hotspot/share/prims/jvmtiTagMap.cpp
|
||||
--- a/src/hotspot/share/prims/jvmtiTagMap.cpp
|
||||
+++ b/src/hotspot/share/prims/jvmtiTagMap.cpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -96,6 +96,11 @@
|
||||
inline oop object_peek() {
|
||||
return NativeAccess<ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE>::oop_load(object_addr());
|
||||
}
|
||||
+
|
||||
+ inline oop object_raw() {
|
||||
+ return RawAccess<>::oop_load(object_addr());
|
||||
+ }
|
||||
+
|
||||
inline jlong tag() const { return _tag; }
|
||||
|
||||
inline void set_tag(jlong tag) {
|
||||
@@ -3357,7 +3362,7 @@
|
||||
JvmtiTagHashmapEntry* next = entry->next();
|
||||
|
||||
// has object been GC'ed
|
||||
- if (!is_alive->do_object_b(entry->object_peek())) {
|
||||
+ if (!is_alive->do_object_b(entry->object_raw())) {
|
||||
// grab the tag
|
||||
jlong tag = entry->tag();
|
||||
guarantee(tag != 0, "checking");
|
||||
@@ -3375,7 +3380,7 @@
|
||||
++freed;
|
||||
} else {
|
||||
f->do_oop(entry->object_addr());
|
||||
- oop new_oop = entry->object_peek();
|
||||
+ oop new_oop = entry->object_raw();
|
||||
|
||||
// if the object has moved then re-hash it and move its
|
||||
// entry to its new location.
|
||||
@@ -3409,7 +3414,7 @@
|
||||
// Re-add all the entries which were kept aside
|
||||
while (delayed_add != NULL) {
|
||||
JvmtiTagHashmapEntry* next = delayed_add->next();
|
||||
- unsigned int pos = JvmtiTagHashmap::hash(delayed_add->object_peek(), size);
|
||||
+ unsigned int pos = JvmtiTagHashmap::hash(delayed_add->object_raw(), size);
|
||||
delayed_add->set_next(table[pos]);
|
||||
table[pos] = delayed_add;
|
||||
delayed_add = next;
|
Loading…
Reference in New Issue
Block a user