--- old/src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp 2018-11-07 15:46:22.336985678 +0100 +++ new/src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp 2018-11-07 15:46:22.189987015 +0100 @@ -505,7 +505,7 @@ } #endif // COMPILER2 - else if (sig == SIGSEGV && info->si_code > 0 && !MacroAssembler::needs_explicit_null_check((intptr_t)info->si_addr)) { + else if (sig == SIGSEGV && info->si_code > 0 && MacroAssembler::uses_implicit_null_check((void*)info->si_addr)) { // Determination of interpreter/vtable stub/compiled code null exception stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); } --- old/src/hotspot/share/asm/assembler.cpp 2018-11-07 15:46:22.738982021 +0100 +++ new/src/hotspot/share/asm/assembler.cpp 2018-11-07 15:46:22.597983304 +0100 @@ -326,7 +326,7 @@ } } #endif - intptr_t start = (intptr_t)-cell_header_size; + intptr_t start = -cell_header_size; intptr_t end = start + region_size; return int_address >= start && int_address < end; }