Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8255019: Shenandoah: Split STW and concurrent mark into separate classes #1009

Closed
wants to merge 37 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
4798cc2
8255019: Shenandoah: Split STW and concurrent mark into separate classes
Oct 30, 2020
787e6ca
Split finish mark and pre-evaculation
Oct 31, 2020
6b75cf0
Make ShenandoahMarkCompact stack allocated
Nov 2, 2020
e4113c3
Merge branch 'master' into JDK-8255019-sh-mark
Nov 2, 2020
a616a46
Merge branch 'master' into JDK-8255019-sh-mark
Nov 2, 2020
824165f
Merge
Nov 4, 2020
b4efedb
Merge branch 'JDK-8255019-sh-mark' of github.com:zhengyu123/jdk into …
Nov 4, 2020
bb72dea
Move weak reference processing out of STWMark and fix its timings
Nov 4, 2020
9c5d0d3
Merge
Nov 5, 2020
75e6a85
Merge branch 'master' into JDK-8255019-sh-mark
Nov 5, 2020
fe93d95
Merge branch 'master' into JDK-8255019-sh-mark
Nov 9, 2020
6896e06
Merge branch 'master' into JDK-8255019-sh-mark
Nov 11, 2020
71b38b4
Merge branch 'master' into JDK-8255019-sh-mark
Nov 11, 2020
91886ed
Removed obsoleted class
Nov 12, 2020
4322490
Merge branch 'master' into JDK-8255019-sh-mark
Nov 13, 2020
7524feb
Merge branch 'master' into JDK-8255019-sh-mark
Nov 14, 2020
701880d
Merge branch 'master' into JDK-8255019-sh-mark
Nov 17, 2020
f65e3da
Merge
Nov 18, 2020
403ec58
Moved task queues to marking context
Nov 18, 2020
8c58f6f
Merge
Nov 20, 2020
9301167
Merge branch 'master' into JDK-8255019-sh-mark
Nov 23, 2020
c9842ef
Removed ShenandoahConcurrentMark parameter from concurrent GC entry/o…
Nov 23, 2020
0c7b594
Merge branch 'master' into JDK-8255019-sh-mark
Dec 1, 2020
367c9fc
Silent valgrind on potential memory leak
Dec 1, 2020
c16fd77
Merge branch 'master' into JDK-8255019-sh-mark
Dec 3, 2020
05faa44
Merge branch 'master' into JDK-8255019-sh-mark
Dec 9, 2020
0cb404d
Concurrent mark does not expect forwarded objects
Dec 11, 2020
85a4469
Merge branch 'master' into JDK-8255019-sh-mark
Dec 11, 2020
cde2011
Merge
Jan 4, 2021
4b367ed
Update copyright years
Jan 4, 2021
b7390c0
Merge
Jan 5, 2021
8cd3f9d
@shade's comments
Jan 5, 2021
dd57c07
Silent MacOSX build
Jan 5, 2021
a6540b9
Merge branch 'master' into JDK-8255019-sh-mark
Jan 5, 2021
37cda8b
Fixes based on shade's comments
Jan 11, 2021
4fbbfd2
Merge branch 'master' into JDK-8255019-sh-mark
Jan 13, 2021
8a6d94b
Merge
Jan 14, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 7 additions & 15 deletions src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp
Original file line number Diff line number Diff line change
@@ -165,21 +165,13 @@ class ShenandoahFinalMarkingTask : public AbstractGangTask {
SATBMarkQueueSet& satb_mq_set = ShenandoahBarrierSet::satb_mark_queue_set();
while (satb_mq_set.apply_closure_to_completed_buffer(&cl));
bool do_nmethods = heap->unload_classes() && !ShenandoahConcurrentRoots::can_do_concurrent_class_unloading();
if (heap->has_forwarded_objects()) {
ShenandoahMarkResolveRefsClosure resolve_mark_cl(q, rp);
MarkingCodeBlobClosure blobsCl(&resolve_mark_cl, !CodeBlobToOopClosure::FixRelocations);
ShenandoahSATBAndRemarkCodeRootsThreadsClosure tc(&cl,
ShenandoahStoreValEnqueueBarrier ? &resolve_mark_cl : NULL,
do_nmethods ? &blobsCl : NULL);
Threads::threads_do(&tc);
} else {
ShenandoahMarkRefsClosure mark_cl(q, rp);
MarkingCodeBlobClosure blobsCl(&mark_cl, !CodeBlobToOopClosure::FixRelocations);
ShenandoahSATBAndRemarkCodeRootsThreadsClosure tc(&cl,
ShenandoahStoreValEnqueueBarrier ? &mark_cl : NULL,
do_nmethods ? &blobsCl : NULL);
Threads::threads_do(&tc);
}
assert(!heap->has_forwarded_objects(), "Not expected");
ShenandoahMarkRefsClosure mark_cl(q, rp);
MarkingCodeBlobClosure blobsCl(&mark_cl, !CodeBlobToOopClosure::FixRelocations);
ShenandoahSATBAndRemarkCodeRootsThreadsClosure tc(&cl,
ShenandoahStoreValEnqueueBarrier ? &mark_cl : NULL,
do_nmethods ? &blobsCl : NULL);
Threads::threads_do(&tc);
}

_cm->mark_loop(worker_id, _terminator, rp,