This commit is contained in:
Vladimir Kozlov 2014-02-19 12:08:49 -08:00
commit 5117e1a805
358 changed files with 58875 additions and 1800 deletions

View file

@ -759,7 +759,7 @@ char* Universe::preferred_heap_base(size_t heap_size, size_t alignment, NARROW_O
// the correct no-access prefix.
// The final value will be set in initialize_heap() below.
Universe::set_narrow_oop_base((address)UnscaledOopHeapMax);
#ifdef _WIN64
#if defined(_WIN64) || defined(AIX)
if (UseLargePages) {
// Cannot allocate guard pages for implicit checks in indexed
// addressing mode when large pages are specified on windows.
@ -841,6 +841,11 @@ jint Universe::initialize_heap() {
// Can't reserve heap below 32Gb.
// keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
#ifdef AIX
// There is no protected page before the heap. This assures all oops
// are decoded so that NULL is preserved, so this page will not be accessed.
Universe::set_narrow_oop_use_implicit_null_checks(false);
#endif
if (verbose) {
tty->print(", %s: "PTR_FORMAT,
narrow_oop_mode_to_string(HeapBasedNarrowOop),