RFR: JDK-8213199: GC abstraction for Assembler::needs_explicit_null_check()

Roman Kennke rkennke at redhat.com
Wed Nov 7 16:38:27 UTC 2018


Right. Forgot about that. New (and hopefully final) webrev:

http://cr.openjdk.java.net/~rkennke/JDK-8213199/webrev.04/

?

Roman

> Hi Roman,
> 
> On 07/11/18 15:23, Roman Kennke wrote:
>> Hi Erik,
>>
>>> The si_addr is always void*, so the cast to void* is redundant.
>>> Otherwise, looks good.
>>> Don't need to see another webrev for that.
>>
>> Right. Thanks again for reviewing and helping.
>>
>> I'll push it through jdk/submit while waiting for another review. Andrew?
> Just one issue regarding the comment in assembler.cpp
> 
>  319     // The first page after heap_base is unmapped and
>  320     // the 'offset' is equal to [heap_base + offset] for
>  321     // narrow oop implicit null checks.
> 
> That's not the general case. It's only potentially true for narrow_oops
> read out of fields when Matcher::narrow_oop_use_complex_address returns
> true.
> 
> I would prefer for these specifics to be made clear as understanding it
> and tracking it down was not straightforward. So, how about
> 
>     // A SEGV can legitimately happen in C2 code at address
>     // (heap_base + offset) if  Matcher::narrow_oop_use_complex_address
>     // is configured to allow narrow oops field loads to be implicitly
>     // null checked
> 
> Otherwise all good.
> 
> regards,
> 
> 
> Andrew Dinn
> -----------
> 



More information about the hotspot-dev mailing list