RFC [10]: Pick up jdk-updates/jdk10u to sh/jdk10
Aleksey Shipilev
shade at redhat.com
Wed Mar 14 09:54:36 UTC 2018
There are two HS changes we want:
$ hg in http://hg.openjdk.java.net/jdk-updates/jdk10u -p
comparing with http://hg.openjdk.java.net/jdk-updates/jdk10u
searching for changes
changeset: 48725:663f20fc5109
tag: jdk-10+44
parent: 48667:f9884e190f2b
user: tschatzl
date: Thu Feb 15 00:20:22 2018 +0100
summary: 8197968: [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check
for cards in collection set
diff -r f9884e190f2b -r 663f20fc5109 src/hotspot/share/gc/g1/g1RemSet.cpp
--- a/src/hotspot/share/gc/g1/g1RemSet.cpp Fri Feb 09 12:53:08 2018 +0100
+++ b/src/hotspot/share/gc/g1/g1RemSet.cpp Thu Feb 15 00:20:22 2018 +0100
@@ -586,6 +586,20 @@
return;
}
+ // While we are processing RSet buffers during the collection, we
+ // actually don't want to scan any cards on the collection set,
+ // since we don't want to update remembered sets with entries that
+ // point into the collection set, given that live objects from the
+ // collection set are about to move and such entries will be stale
+ // very soon. This change also deals with a reliability issue which
+ // involves scanning a card in the collection set and coming across
+ // an array that was being chunked and looking malformed. Note,
+ // however, that if evacuation fails, we have to scan any objects
+ // that were not moved and create any missing entries.
+ if (r->in_collection_set()) {
+ return;
+ }
+
// The result from the hot card cache insert call is either:
// * pointer to the current card
// (implying that the current card is not 'hot'),
@@ -610,7 +624,8 @@
// Check whether the region formerly in the cache should be
// ignored, as discussed earlier for the original card. The
- // region could have been freed while in the cache.
+ // region could have been freed while in the cache. The cset is
+ // not relevant here, since we're in concurrent phase.
if (!r->is_old_or_humongous()) {
return;
}
changeset: 48729:6fa770f9f8ab
tag: jdk-10+46
user: adinn
date: Mon Mar 05 13:18:55 2018 +0000
summary: 8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails
diff -r a487515924b7 -r 6fa770f9f8ab src/hotspot/share/opto/library_call.cpp
--- a/src/hotspot/share/opto/library_call.cpp Tue Feb 27 20:48:06 2018 +0000
+++ b/src/hotspot/share/opto/library_call.cpp Mon Mar 05 13:18:55 2018 +0000
@@ -2578,7 +2578,8 @@
// the one that guards them: pin the Load node
LoadNode::ControlDependency dep = LoadNode::Pinned;
Node* ctrl = control();
- if (adr_type->isa_instptr()) {
+ // non volatile loads may be able to float
+ if (!need_mem_bar && adr_type->isa_instptr()) {
assert(adr_type->meet(TypePtr::NULL_PTR) != adr_type->remove_speculative(), "should be not
null");
intptr_t offset = Type::OffsetBot;
AddPNode::Ideal_base_and_offset(adr, &_gvn, offset);
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list