More on memory barriers

Vitaly Davidovich vitalyd at gmail.com
Thu Sep 18 02:50:26 UTC 2014


It's not a subtype.  I think the proposal was to add a tag to a release
node that would indicate its purpose a bit more granularly.  The backend
(AArch64 in this case) could then match on that tag and emit a lighter code
sequence/instruction.  I think this is a bit of a hack to work around the
fact that C2 has certain assumptions about the type of barriers and not
having more fine grained node types.

Sent from my phone
On Sep 17, 2014 10:43 PM, "David Holmes" <david.holmes at oracle.com> wrote:

> On 17/09/2014 9:16 PM, Doug Lea wrote:
>
>> On 09/17/2014 06:31 AM, Andrew Haley wrote:
>>
>>> On 09/16/2014 08:40 AM, Andrew Haley wrote:
>>>
>>>> On 15/09/14 17:20, Vitaly Davidovich wrote:
>>>>
>>>>> Looking at hg history, MemBarStoreStore was added a few years ago,
>>>>> whereas
>>>>> the code in question is much older.  The comments in the changelist
>>>>> adding
>>>>> MemBarStoreStore seem to indicate it was done to address a specific
>>>>> issue,
>>>>> and my guess is that it wasn't "retrofitted" into all possible places.
>>>>>
>>>>
>>>> That sounds plausible.  I'll change this to a StoreStore in the AArch64
>>>> port and do some testing.
>>>>
>>>
>>> Bah, that doesn't work.  Escape analysis assumes that a StoreStore
>>> is only used in certain contexts.  Back to the drawing board.
>>>
>>>
>> The setup for StoreStore seems suspicious. I believe that this could
>> only work in C2 if done in the way I mentioned: StoreStore must be
>> handled identically to Release by c2, but possibly more cheaply
>> matched. Can StoreStore be reworked as a subtype or property of
>> Release?
>>
>
> I'm not a C2 person but I don't understand in what way a storestore can,
> or should, be considered a "subtype" of release ??
>
> David
>
>  -Doug
>>
>>
>>


More information about the hotspot-dev mailing list