RFR: Avoid evacuating filler objects in Shenandoah

Aleksey Shipilev shade at redhat.com
Thu Aug 31 09:20:26 UTC 2017


On 08/30/2017 10:55 PM, Zhengyu Gu wrote:
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh_filler/webrev.00/index.html

We need to do performance study for this first: checking the is_filler flag on marked_object_iterate
path should be offset by the performance improvements. I did my initial experiments with -Xint to
only care about native paths. Also, the initial estimate of 5-10% was gathered during full heap scan
during verification. It may be the case that evacuation does not encounter filler objects all that much.

Suggestion: revert marked_object_iterate, put p->is_filler() checks on interesting paths in e.g.
evacuation and see if we indeed take that shortcut. Then, make CollectedHeap::fill_with_array inject
fillers with either intArray or fillerArray, based on UseNewCode flag, and compare runtime performance.

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list