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

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Aug 17 18:00:55 UTC 2017


Thanks Ioi for slogging through it.
Coleen


On 8/17/17 1:47 PM, Ioi Lam wrote:
> Hi Coleen,
>
> This looks good to me.
>
> Thanks
> Ioi
>
>> On Aug 17, 2017, at 10:32 AM, coleen.phillimore at oracle.com wrote:
>>
>>
>> Maybe the links would help:
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8160399.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8160399
>> bug link https://bugs.openjdk.java.net/browse/JDK-8164984
>>
>>
>>> On 8/17/17 1:21 PM, coleen.phillimore at oracle.com wrote:
>>> 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