RFR: 8356075: Support Shenandoah GC in JVMCI
Aleksey Shipilev
shade at openjdk.org
Mon May 5 15:38:46 UTC 2025
On Fri, 2 May 2025 10:35:03 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
> In order to support Shenandoah GC in Graal, some changes are required in JVMCI, namely, export Shenandoah relevant symbols.
>
> Testing:
> - [x] extensive testing with https://github.com/oracle/graal/pull/10904
A few questions:
src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp line 42:
> 40: static void pre_barrier(JavaThread* thread, oopDesc* orig) {
> 41: write_ref_field_pre(orig, thread);
> 42: }
So, why not export `write_ref_field_pre`, instead of introducing this new method? Style/cleanliness, or something else? I am asking, because every time we add a new stub here, we would need to record it in `AOTCache` tables for Leyden benefit.
src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp line 240:
> 238: cardtable_shift = CardTable::card_shift();
> 239: } else if (bs->is_a(BarrierSet::ShenandoahBarrierSet)) {
> 240: cardtable_shift = CardTable::card_shift();
I understand the barrier code does not use `cardtable_start_address`, but should we still initialize it here to `nullptr`?
-------------
PR Review: https://git.openjdk.org/jdk/pull/25001#pullrequestreview-2815217376
PR Review Comment: https://git.openjdk.org/jdk/pull/25001#discussion_r2073674847
PR Review Comment: https://git.openjdk.org/jdk/pull/25001#discussion_r2073678010
More information about the graal-dev
mailing list