# HG changeset patch
# User zgu
# Date 1580236471 18000
# Tue Jan 28 13:34:31 2020 -0500
# Node ID 419811be390dec5f175002c72dee105149de46da
# Parent e7c4199e4d3226c4aef59d216596419e92610d29
8237963: Shenandoah: Heap iteration should use single-threaded string dedup oops_do_slow()
diff --git a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
+++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2019, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2015, 2020, Red Hat, Inc. 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
@@ -152,9 +152,9 @@
ShenandoahConcurrentStringDedupRoots::ShenandoahConcurrentStringDedupRoots() {
if (ShenandoahStringDedup::is_enabled()) {
- StringDedup::gc_prologue(true);
StringDedupTable_lock->lock_without_safepoint_check();
StringDedupQueue_lock->lock_without_safepoint_check();
+ StringDedup::gc_prologue(true);
}
}
diff --git a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
+++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
@@ -266,7 +266,7 @@
_cld_roots;
ShenandoahSerialWeakRoots _serial_weak_roots;
ShenandoahWeakRoots _weak_roots;
- ShenandoahStringDedupRoots _dedup_roots;
+ ShenandoahConcurrentStringDedupRoots _dedup_roots;
ShenandoahCodeCacheRoots _code_roots;
public: