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