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

Andrew Dinn adinn at redhat.com
Wed Nov 7 10:31:37 UTC 2018

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.


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-dev mailing list