On Wed, 23 Aug 2023 23:14:43 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> I can't convince myself that `volatile` is in the right place in `type 
>> volatile * dummy`. But `volatile * dummy` means that the pointer is volatile 
>> as opposed to the type being pointed to, which would match with the original 
>> macro name's use of `PTR_VOLATILE`.
>
> But in that case the use of the macro doesn't make much sense. Regardless of 
> the field type, vmstructs doesn't deal with volatile pointers to fields. It 
> deals with volatile fields (that can be pointers or scalar). I think if 
> anything the macro has always been wrong and should contain `volatile type * 
> dummy`. It probably never fails because it is taking a non-volatile type and 
> assigning it to a volatile type, which always works if the types are 
> otherwise the same.

Well of course that change blows up

invalid conversion from 'ClassLoaderData* volatile*' to 'volatile 
ClassLoaderData**'

There's something I'm not understanding here. I use to understand the volatile 
ordering syntax and how to read it properly, but that was long long ago.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15373#discussion_r1303638518

Reply via email to