Managed language runtimes (like Java) might have pervasive null checks for references. Instead of marking the failing case as unlikely for prediction, register them as a SEGV handler, and dereference the pointer without fear.
Heavier failing case, cheaper well-behavedness.
See LLVM ImplicitNullChecks pass:
https://llvm.org/docs/FaultMaps.html#the-implicitnullchecks-pass
Heavier failing case, cheaper well-behavedness.
See LLVM ImplicitNullChecks pass:
https://llvm.org/docs/FaultMaps.html#the-implicitnullchecks-pass