< prev index next >

src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp

Print this page
rev 52430 : 8213199: GC abstraction for Assembler::needs_explicit_null_check()

*** 382,392 **** CodeBlob* cb = CodeCache::find_blob_unsafe(pc); CompiledMethod* nm = (cb != NULL) ? cb->as_compiled_method_or_null() : NULL; if (nm != NULL && nm->has_unsafe_access()) { unsafe_access = true; } ! } else if (sig == SIGSEGV && !MacroAssembler::needs_explicit_null_check((intptr_t)info->si_addr)) { // Determination of interpreter/vtable stub/compiled code null exception CodeBlob* cb = CodeCache::find_blob_unsafe(pc); if (cb != NULL) { stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); } --- 382,393 ---- CodeBlob* cb = CodeCache::find_blob_unsafe(pc); CompiledMethod* nm = (cb != NULL) ? cb->as_compiled_method_or_null() : NULL; if (nm != NULL && nm->has_unsafe_access()) { unsafe_access = true; } ! } else if (sig == SIGSEGV && ! MacroAssembler::uses_implicit_null_check(info->si_addr)) { // Determination of interpreter/vtable stub/compiled code null exception CodeBlob* cb = CodeCache::find_blob_unsafe(pc); if (cb != NULL) { stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); }
*** 690,695 **** int os::extra_bang_size_in_bytes() { // ARM does not require an additional stack bang. return 0; } - --- 691,695 ----
< prev index next >