RFR: 8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries [v3]
Zhengyu Gu
zgu at openjdk.org
Mon Oct 2 13:51:13 UTC 2023
On Mon, 2 Oct 2023 13:41:56 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>> During STW root scan, interpreted frame's oop map may be cached. But due to limited cache size (32 entries per instance class), entries may be evicted to old entries list due to collision, should be cleanup in VM_Operation's doit_epilogue(), or risk leaking memory.
>>
>> Test:
>> hotspot_gc_shenandoah (fastdebug and release on MacOSX)
>
> Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix order
> This looks okay, but I think you can "just" add `OMC::cleanup_old_entries` in `VM_ShenandoahReferenceOperation` destructor, without introducing the intermediary?
> This looks okay, but I think you can "just" add `OMC::cleanup_old_entries` in `VM_ShenandoahReferenceOperation` destructor, without introducing the intermediary?
Place the call in `doit_epilogue()` for the symmetry with other [GCs](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/gc/shared/gcVMOperations.cpp#L135). But you are right, we don't need another VM operation.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15921#issuecomment-1743052006
More information about the hotspot-gc-dev
mailing list