mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8224970: ShenandoahRootScanner::roots_do assert is too strong
Reviewed-by: zgu
This commit is contained in:
parent
bc24d17e80
commit
b33580af3e
1 changed files with 4 additions and 2 deletions
|
@ -27,6 +27,7 @@
|
||||||
#include "gc/shenandoah/shenandoahHeuristics.hpp"
|
#include "gc/shenandoah/shenandoahHeuristics.hpp"
|
||||||
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
|
#include "gc/shenandoah/shenandoahRootProcessor.hpp"
|
||||||
#include "gc/shenandoah/shenandoahTimingTracker.hpp"
|
#include "gc/shenandoah/shenandoahTimingTracker.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahUtils.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
|
|
||||||
template <typename IsAlive, typename KeepAlive>
|
template <typename IsAlive, typename KeepAlive>
|
||||||
|
@ -90,9 +91,10 @@ void ShenandoahRootScanner<ITR>::strong_roots_do(uint worker_id, OopClosure* oop
|
||||||
|
|
||||||
template <typename ITR>
|
template <typename ITR>
|
||||||
void ShenandoahRootScanner<ITR>::roots_do(uint worker_id, OopClosure* oops, CLDClosure* clds, CodeBlobClosure* code, ThreadClosure *tc) {
|
void ShenandoahRootScanner<ITR>::roots_do(uint worker_id, OopClosure* oops, CLDClosure* clds, CodeBlobClosure* code, ThreadClosure *tc) {
|
||||||
assert(!ShenandoahHeap::heap()->unload_classes() ||
|
assert(!ShenandoahSafepoint::is_at_shenandoah_safepoint() ||
|
||||||
|
!ShenandoahHeap::heap()->unload_classes() ||
|
||||||
ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc(),
|
ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc(),
|
||||||
"No class unloading or traversal GC");
|
"Expect class unloading or traversal when Shenandoah cycle is running");
|
||||||
ShenandoahParallelOopsDoThreadClosure tc_cl(oops, code, tc);
|
ShenandoahParallelOopsDoThreadClosure tc_cl(oops, code, tc);
|
||||||
ResourceMark rm;
|
ResourceMark rm;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue