RFR: 8214363: HeapWord should not be a fake class

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Feb 15 20:27:17 UTC 2019


moving to hotspot-dev.
Coleen

On 2/15/19 8:07 AM, coleen.phillimore at oracle.com wrote:
>
> This is nice but what does this mean?
>
> http://cr.openjdk.java.net/~kbarrett/8214363/open.02/src/hotspot/share/gc/shared/spaceDecorator.cpp.udiff.html 
>
>
> + return badHeapWord == (max_juint & reinterpret_cast<uintptr_t>(*q));
>
>
> I thought since it has no implementation class, you can't use *q ?
>
> http://cr.openjdk.java.net/~kbarrett/8214363/open.02/src/hotspot/share/gc/shared/vmStructs_gc.hpp.udiff.html 
>
>
> Checked SA, looks unused. Phew.
>
> thanks,
> Coleen
>
> On 2/14/19 5:54 PM, Kim Barrett wrote:
>> I meant to send this to hotspot-dev, not hotspot-runtime-dev.  Please 
>> use the other thread.
>>
>>> On Feb 14, 2019, at 5:04 PM, Kim Barrett <kim.barrett at oracle.com> 
>>> wrote:
>>>
>>> Please review this change to the definitions of HeapWord and MetaWord.
>>> They are no longer a class type.  Rather, they are typedefs for a
>>> pointer to associated incomplete (and never defined) helper classes.
>>> Thus, we no longer pretend to have class objects where they never
>>> existed.
>>>
>>> Among other things, this makes memset on a HeapWord[] no longer trigger
>>> gcc8's new -Wclass-memaccess in ObjectStartArray::set_covered_region().
>>>
>>> Other than the change to the definitions of HeapWord and MetaWord,
>>> most of the changes are removal of no longer valid forward class
>>> declarations for those types.
>>>
>>> CR:
>>> https://bugs.openjdk.java.net/browse/JDK-8214363
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~kbarrett/8214363/open.02/
>>>
>>> Testing:
>>> mach5 tier1-3.
>>
>



More information about the hotspot-dev mailing list