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

Erik Österlund erik.osterlund at oracle.com
Wed Nov 7 10:37:00 UTC 2018


Hi Andrew,

Thanks for digging that up.

/Erik

On 2018-11-07 11:31, Andrew Dinn wrote:
> On 06/11/18 17:45, Andrew Dinn wrote:
>> Could you point me at some place in the compiler where narrow oop loads
>> are done using a decode_not_null on the assumption that a load of a null
>> value that gets translated to a low heap_base address will be caught and
>> corrected by a check initiated from the signal handler?
> I'll answer that myself:
>
> The magic happens in opto/compile.cpp and the controlling predicate to
> search for is gen_narrow_oop_implicit_null_checks which itself relies on
> Matcher::narrow_oop_use_complex_address defined in opto/matcher.hpp.
>
> n.b. the ad file for a given architecture can control this feature by
> how it defines method narrow_oop_use_complex_address.
>
> regards,
>
>
> Andrew Dinn
> -----------
> Senior Principal Software Engineer
> Red Hat UK Ltd
> Registered in England and Wales under Company Registration No. 03798903
> Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander



More information about the hotspot-gc-dev mailing list