RFR(M): 8212243: More gc interface tweaks for arraycopy and some other smaller changes in preparation for Shenandoah
Erik Österlund
erik.osterlund at oracle.com
Thu Oct 18 15:31:06 UTC 2018
Hi Roland,
On 2018-10-18 17:14, Roland Westrelin wrote:
>> Even though I never suggested adding an API for the store unless you
>> feel like it, I guess I should mention that you can represent that you
>> don't want SATB barrier with the IS_DEST_UNINITIALIZED decorator, which
>> is how this is already done in the rest of the VM.
> We only need the store side for shenandoah. Regular loads works fine in
> this case.
Okay thanks for the clarification.
> So if the C2Access hierarchy is now:
>
> class C2Access: public StackObj {
> protected:
> DecoratorSet _decorators;
> BasicType _type;
> Node* _base;
> C2AccessValuePtr& _addr;
> Node* _raw_access;
>
> ...
>
> class C2ParseAccess: public C2Access {
> protected:
> GraphKit* _kit;
>
> ...
>
> class C2OptAccess: public C2Access {
> Node* _mem;
> Node* _ctl;
>
> ...
> What would the signature of the BarrierSetC2 methods be?
>
> Is it still:
>
> virtual Node* store_at(C2Access& access, C2AccessValue& val) const;
> virtual Node* load_at(C2Access& access, const Type* val_type) const;
>
> ?
>
> Or
>
> virtual Node* store_at(C2ParseAccess& access, C2AccessValue& val) const;
> virtual Node* load_at(C2ParseAccess& access, const Type* val_type) const;
>
> virtual Node* store_at(C2OptAccess& access, C2AccessValue& val) const;
> virtual Node* load_at(C2OptAccess& access, const Type* val_type) const;
>
> ?
I prefer the first one.
Thanks,
/Erik
> Roland.
More information about the hotspot-compiler-dev
mailing list