RFR: 8237637: Remove dubious type conversions from oop
Stefan Karlsson
stefan.karlsson at oracle.com
Wed Jan 22 13:33:19 UTC 2020
Hi all,
Please review this patch to remove some dubious type conversions from oop.
https://bugs.openjdk.java.net/browse/JDK-8237637
When running with fastdebug and CHECK_UNHANDLED_OOPS oop is not a simple
oopDesc* but a class. This class has a number of type conversions with
the comment:
// Explict user conversions
However, these are not only *explicit* conversions. They can be invoked
implicitly as well.
I propose that we get rid of most of these and only leave these two:
operator void* () const
operator oopDesc* () const
so that we get better type safety in the code.
I've split this up into multiple webrevs to make it easier to review:
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/00.promotedObject/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/01.oopStar/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/02.jobject/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/03.address/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/03.address/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/05.voidStarVolatiles/
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/06.heapWord/
All changes combined:
https://cr.openjdk.java.net/~stefank/8237637/webrev.01/all/
Testing: builds pass, tier1-3 running
Thanks,
StefanK
More information about the hotspot-dev
mailing list