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