RFR: keep read barrier on final field access
Roland Westrelin
rwestrel at redhat.com
Mon Oct 23 14:12:39 UTC 2017
> *) String.value and String.coder are effectively stable, see UseImplicitStableValues. Should
String.value only?
> GraphKit::load_String_* use ShenandoahOptimizeStableFinals then? Or, we are concerned with the same
> bug as we see originally?
So test for ShenandoahOptimizeStableFinals || ShenandoahOptimizeInstanceFinals?
> *) ...in fact, should ShenandoahOptimizeStableFinals default to "false"?
It's probably safer, indeed. I'll make it false by default.
> *) It seems this description applies to ShenandoahOptimizeInstanceFinals too?
>
> 47 "Turn it off for maximum compatibility with reflection or JNI " \
> 48 "code that manipulates final fields." \
> 49 "Defaults to true. ") \
I'll duplicate that part for ShenandoahOptimizeInstanceFinals. I suppose
we can drop "Defaults to true. "
Roland.
More information about the shenandoah-dev
mailing list