RFR (S): JDK-6991197 G1: specialize deal_with_reference() for narrowOop*

Bengt Rutisson bengt.rutisson at oracle.com
Tue Jan 28 09:29:58 UTC 2014


Hi Thomas,

The new webrev looks much better. I like that solution.

Can we do something similar with set_partial_array_mask()? It would be 
good if that one could not be called with a narrowOop. Maybe this works?

template <> inline narrowOop* set_partial_array_mask(narrowOop obj);

Not sure if that is correct, but the thought (suggested by Stefan) is 
that this would give a compile time error if someone tries to call it 
with a narrowOop since the method is not implemented.

Bengt


On 2014-01-27 20:27, Thomas Schatzl wrote:
> Hi,
>
> On Mon, 2014-01-27 at 14:15 +0100, Stefan Karlsson wrote:
>> Thomas,
>>
>> On 2014-01-27 12:51, Thomas Schatzl wrote:
>>> Hi all,
>>>
>>> Testing:
>>> jprt, specjbb2005/13, specjvm98/2008, CRM Fuse
>>>
>>> Bug entry:
>>> https://bugs.openjdk.java.net/browse/JDK-6991197
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~tschatzl/6991197/webrev/
>> Have you considered specializing has_partial_array_mask() to always
>> return false when T = narrowOop? If you do it that way, you would get
>> rid of the code duplication.
>    as mentioned, that looks a lot better to me. Thanks for the
> suggestion.
>
> New webrev at http://cr.openjdk.java.net/~tschatzl/6991197/webrev.1/
>
> Testing:
> jprt
>
> Thomas
>




More information about the hotspot-gc-dev mailing list