JDK-8160363: assert(discovered->is_oop_or_null()) failed: Expected an oop or NULL for discovered field at 0x0000000000000000

Dmitry Samersoff dmitry.samersoff at oracle.com
Mon Jun 27 15:22:05 UTC 2016


Yasumasa,

Do you have a reproducer?

Could you try to compile this unit with

gcc -Wa,-adhln <optimiation flags>

and see what compiler actually generates.

-Dmitry



On 2016-06-27 18:17, Yasumasa Suenaga wrote:
> 2016/06/28 0:08 "Dmitry Samersoff" <dmitry.samersoff at oracle.com>:
>>
>> Yasumasa,
>>
>> Statements below
>>
>> return this == NULL ? true : is_oop(ignore_mark_word);
>>
>> and
>>
>> return (this == NULL) || is_oop(ignore_mark_word);
>>
>> looks equivalent for me.
> 
> Me too.
> But return this == NULL ? true : is_oop(ignore_mark_word); does not work...
> 
> Yasumasa
> 
>> -Dmitry
>>
>> On 2016-06-27 17:41, Yasumasa Suenaga wrote:
>>> Hi all,
>>>
>>> This review request relates to JDK-8160310: HotSpot cannot be built with
>>> GCC 6 .
>>>
>>> I encountered VM crash when I compiled OpenJDK 9 with GCC 6
>>> on Fedora 24 x64.
>>>
>>> Address of pointer was expected (0x0), however is_oop_or_null() did not
>>> work.
>>> I do not understand why current code did not work, however it works fine
>>> as below:
>>>
>>>   http://cr.openjdk.java.net/~ysuenaga/JDK-8160363/webrev.00/
>>>
>>>
>>> Please discuss about it.
>>>
>>>
>>> Thanks,
>>>
>>> Yasumasa
>>>
>>>
>>
>>
>> --
>> Dmitry Samersoff
>> Oracle Java development team, Saint Petersburg, Russia
>> * I would love to change the world, but they won't give me the sources.


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the hotspot-dev mailing list