RFR: JDK-8211279: Verify missing object equals barriers (original) (raw)

Per Liden per.liden at oracle.com
Wed Oct 10 06:02:27 UTC 2018


Hi Roman,

On 10/08/2018 10:13 PM, Roman Kennke wrote:

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?

I can live with it.

cheers, Per

Thanks, Roman

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? reinterpretcast<void*>(..) better? No, from my reading of C++ spec casting to void* is safe here. Just thinking out loud. *) So, if CHECKUNHANDLEDOOPS 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 CHECKUNHANDLEDOOPS 134 virtual bool oopequalsoperatorallowed() { 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 CHECKUNHANDLEDOOPS too, but I can remove this #ifdef if you prefer. Let me know? Ah! Missed that. No, this is fine then. -Aleksey



More information about the hotspot-runtime-dev mailing list