RFR (L, tedious) 8160399: is_oop_or_null involves undefined behavior

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Aug 17 17:21:09 UTC 2017


Summary: replace oop->is_oop*() with oopDesc::is_oop*(oop) so this 
pointer can be verified

Also included is:
8164984: Improper use of is_oop in production code

http://cr.openjdk.java.net/~coleenp/8160399.01/webrev/src/share/vm/classfile/javaClasses.cpp.udiff.html

I also moved is_oop() to the .cpp file, which reduces the size of 
fastdebug libjvm.so a little, since is_oop is only used for assert and 
verification.

before: -rw-r--r-- 1 cphillim   35086408 Aug 17 12:08 libjvm.so
after: -rw-r--r-- 1 cphillim      35073384 Aug 17 12:12 libjvm.so

Ran all platforms nightly tests (still in progress but no new failures).

Sorry for the boring code review request.

Thanks,
Coleen


More information about the hotspot-dev mailing list