RFR(S): 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization.
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Nov 20 17:04:10 PST 2013
On 11/20/13 3:18 PM, Lindenmaier, Goetz wrote:
> Hi Vladimir,
>
> thanks for the quick review!
>
> I updated the webrev:
> http://cr.openjdk.java.net/~goetz/webrevs/8028471-0-zpage/
>
> I made an additional method with the name you proposed.
> I prefer two methods, as one tests whether the operation
> traps, the other checks how the narrow oop was decoded --
> two different things. Should be optimized by the C-compiler
> anyways.
Without (UseCompressedOops && Universe::narrow_oop_base() > 0) check
Universe::narrow_oop_use_implicit_null_checks() is useless because it is
'true' by default. That is why I asked to move check inside to combine
them in one place.
You can use Matcher::gen_narrow_oop_implicit_null_checks() check
instead. Note Universe::narrow_oop_base() != NULL only if
UseCompressedOops is true.
>
> No ShouldNotReachHere for AIX. I tried to improve the comment
> instead.
So you want to return false if it is not DecodeN. Right?
Thanks,
Vladimir
>
> Sorry for the wrong indents.
>
> Best regards,
> Goetz.
>
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
> Sent: Wednesday, November 20, 2013 9:04 PM
> To: Lindenmaier, Goetz; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'
> Subject: Re: RFR(S): 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization.
>
> Hi, Goetz
>
> Can you move all checks in lcm.cpp into new method and rename it to
> needs_explicit_null_check_for_read()? So the condition will be simple:
>
> if (!was_store && needs_explicit_null_check_for_read(val)) {
> continue;
> }
>
> You should also add ShouldNotReachHere() for AIX near Unimplemented()
> for non AIX.
>
> And, please, fix indents in new method.
>
> Thanks,
> Vladimir
>
> On 11/20/13 2:11 AM, Lindenmaier, Goetz wrote:
>> Hi,
>>
>> ImplicitNullChecks did not work on platforms where the zero
>> page is only write protected.
>>
>> This change adds os property 'zero_page_read_protected' and extends
>> the ImplicitNullCheck optimization to consider only stores if
>> this property is not true. If a decoded compressed oop will access the
>> guard page before the heap, Loads work again.
>> This is needed on AIX, where the page at address '0' is only write-protected.
>>
>> Please review and test this change:
>> http://cr.openjdk.java.net/~goetz/webrevs/8028471-0-zpage/
>>
>> I tagged this S, as a majority of the patches apply to the ppc platform files.
>>
>> Best regards,
>> Goetz.
>>
More information about the ppc-aix-port-dev
mailing list