< 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 >