< prev index next >

src/hotspot/os/bsd/os_bsd.cpp

Print this page
rev 51962 : [mq]: deprecation_warnings

*** 3243,3253 **** // Work around the unaligned VM callbacks in hotspot's // sharedRuntime. The callbacks don't use SSE2 instructions, and work on // Linux, Solaris, and FreeBSD. On Mac OS X, dyld (rightly so) enforces // alignment when doing symbol lookup. To work around this, we force early // binding of all symbols now, thus binding when alignment is known-good. ! _dyld_bind_fully_image_containing_address((const void *) &os::init); #endif os::Posix::init(); } --- 3243,3259 ---- // Work around the unaligned VM callbacks in hotspot's // sharedRuntime. The callbacks don't use SSE2 instructions, and work on // Linux, Solaris, and FreeBSD. On Mac OS X, dyld (rightly so) enforces // alignment when doing symbol lookup. To work around this, we force early // binding of all symbols now, thus binding when alignment is known-good. ! Dl_info dl_info; ! if (dladdr(CAST_FROM_FN_PTR(void*, os::init), &dl_info) != 0) { ! void* handle = dlopen(dl_info.dli_fname, RTLD_NOW); ! if (handle != NULL) { ! dlclose(handle); ! } ! } #endif os::Posix::init(); }
< prev index next >