RFR (M): 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Jun 26 12:25:16 PDT 2012
OK, I think we should stop here. Roland, use what you think is best.
Vladimir
John Rose wrote:
> On Jun 26, 2012, at 7:27 AM, Vladimir Kozlov wrote:
>
>> I first thought about LoadStoreAdd, LoadStoreSet, LoadStoreCmpXchg. I
>> don't like abbreviation (LS).
>>
>> On 6/26/12 12:55 AM, Roland Westrelin wrote:
>>>> Even so John said you can use LS I would suggest to use full name.
>>>> Why not use nodes names? For a example: GetAndAdd, GetAndSet,
>>>> CompareAndSwap. It is easier to understand the meaning.
>>>
>>> Are you suggesting I drop the LS prefix as well?
>>> I would expect it to be good for readability that the name contains a
>>> hint that all those constants are related to each other.
>>
>> They are used in the same method so one can see that they are related.
>> I don't like abbreviation (LS) but I am not strongly against it. It is
>> up to you.
>>
>> Vladimir
>
> Here's another $0.02 on the subject.
>
> To me the important thing is that enums (like all manifest constants)
> should be easy to distinguish from other names (variables, classes), and
> easy to relate to their definition site and meaning.
>
> There are several ways we do this in the source base. A common
> prefix or suffix is one way, a common theme word is another way. I just
> tried the following grep and found the output instructive:
> grep -A2 '^ enum[^;]*$' $(hg loc -I 'src/share/**/*.hpp')
>
> Leading underscores and/or all-caps spellings can reinforce the status
> of enum names as manifest constants.
>
> The bare operation names above (in either lower case or camel-case) do
> not look like manifest constants to me; that is why I suggested some
> extra decoration. But it is just a suggestion. I like Vladimir's idea
> of adapting pre-existing names (GetAndSet), but without adjustment they
> look too much like C++ class names. Note that our Node type enums have
> an Op_ prefix, so they can be recognized as constants more easily.
>
> — John
More information about the hotspot-compiler-dev
mailing list