RFR: Partial GC
Roman Kennke
rkennke at redhat.com
Mon Mar 13 18:30:23 UTC 2017
Am 13.03.2017 um 19:04 schrieb Aleksey Shipilev:
> On 03/13/2017 06:48 PM, Roman Kennke wrote:
>> http://cr.openjdk.java.net/~rkennke/partialgc/webrev.01/
> shenandoahCollectorPolicy.cpp:
>
> *) Just return?
>
> 682 if ((used - _bytes_allocated_after_last_gc) * 100 / capacity >
> ShenandoahAllocationThreshold) {
> 683 return true;
> 684 } else {
> 685 return false;
> 686 }
>
> shenandoahMarkCompact.cpp:
>
> *) VerifyShenandoahMatrix invocation is gone?
>
> vm_operations_shenandoah.hpp
>
> *) Double new line ;)
> 85
> 86
>
> vm_operations.hpp
>
> *) Bad indent:
> 103 template(ShenandoahPartialGC) \
>
> Otherwise OK to go.
>
> -Aleksey
>
Fixed everything except verification in full-gc. We can't really verify
the matrix there because at no point during full-GC does the marking
bitmap match the new addresses of objects, and therefore the new matrix.
This is why I removed it.
http://cr.openjdk.java.net/~rkennke/partialgc/webrev.02/
<http://cr.openjdk.java.net/%7Erkennke/partialgc/webrev.02/>
I found the the C2 matrix math optimization broke matrix updating. In
order for partial gc to work correctly we either need to back that out
or run without C2.
Roman
More information about the shenandoah-dev
mailing list