RFR(M): Shenandoah string dedup support
Aleksey Shipilev
shade at redhat.com
Wed Aug 23 16:56:25 UTC 2017
On 08/22/2017 08:01 PM, Zhengyu Gu wrote:
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/strdedup/webrev.00/
General:
*) Do we need to do StringDedup cleanup on each concurrent mark? Right now all the cleanup actions
in final mark are done optionally (every 5-th cycle by default). Should we do the String table
cleanup there as well?
*) Trying to understand the logic for dedup during evacuation. Why do we need to have the block
before the fwdptr CAS? Why can't we increment the copy_val age after successful copy?
Nits:
*) g1StringDedup.hpp, extra newline:
104 private:
105
*) shenandoahHeap.inline.hpp, typo:
355 // Only dedeup evacuated string
*) Build fails:
/home/shade/trunks/shenandoah-jdk10/hotspot/src/share/vm/gc/g1/g1StringDedupThread.cpp:40:16: error:
format not a string literal and no format arguments [-Werror=format-security]
set_name(name);
^
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list