RFR: JDK-8211279: Verify missing object equals barriers

Roman Kennke rkennke at redhat.com
Mon Oct 8 20:13:46 UTC 2018

Thanks, Aleksey, for the review.

I've sent the patch through jdk/submit, and it came back PASSED.

Per, Erik, everybody else, what do you think about the last changeset?
Can you live with it?


> On 10/08/2018 06:32 PM, Roman Kennke wrote:
>>> *) I always get a bit uneasy seeing the casts to (void*) like here:
>>>  413   static bool equals(oop o1, oop o2) { return (void*)o1 == (void*)o2; }
>>>  ...but I think this comparison is well-defined in C++ with the semantics we want.
>> What would you suggest? reinterpret_cast<void*>(..) better?
> No, from my reading of C++ spec casting to void* is safe here. Just thinking out loud.
>>> *) So, if CHECK_UNHANDLED_OOPS is not defined, this declaration is inaccessible, and asserts that
>>> use it would fail to compile? I think this ifdef is not needed here, but rather it should be around
>>> the asserts in oop::operator== and !=?
>>>  133 #ifdef CHECK_UNHANDLED_OOPS
>>>  134   virtual bool oop_equals_operator_allowed() { return true; }
>>>  135 #endif
>>>  136
>> It already *is* around the whole (oop class) declaration in
>> oopsHierarchy.hpp, that's the only user of the check so I put this under
>> #ifdef CHECK_UNHANDLED_OOPS too, but I can remove this #ifdef if you
>> prefer. Let me know?
> Ah! Missed that. No, this is fine then.
> -Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20181008/c66a06b5/signature.asc>

More information about the hotspot-gc-dev mailing list