# 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: