RFR: keep read barrier on final field access

Roman Kennke roman at kennke.org
Tue Oct 24 13:43:25 UTC 2017


Am 24.10.2017 um 15:41 schrieb Aleksey Shipilev:
> On 10/24/2017 03:31 PM, Roland Westrelin wrote:
>>> Yes, I agree. Let's emit the read barriers for them today.
>> Ok. So that's what we go with, right?
>>
>> http://cr.openjdk.java.net/~roland/shenandoah/rbonfinalinstancefield/webrev.02/
> Yes, I think so!
>
> Sorry, but this is still extremely hard to read:
>
>   175   if (!((ShenandoahOptimizeStaticFinals && field->is_static() && field->is_final()) ||
>   176         (ShenandoahOptimizeInstanceFinals && !field->is_static() && field->is_final()) ||
>   177         (ShenandoahOptimizeStableFinals && field->is_stable()))) {
>
> Suggestion:
>
>   if ((field->is_final()  &&  field->is_static() && !ShenandoahOptimizeStaticFinals) ||
>       (field->is_final()  && !field->is_static() && !ShenandoahOptimizeInstanceFinals) ||
>       (field->is_stable()                        && !ShenandoahOptimizeStableFinals)) {
>     obj = shenandoah_read_barrier(obj);
>   }

+1


More information about the shenandoah-dev mailing list