hotspot/src/share/vm/memory/universe.cpp
changeset 22827 07d991d45a51
parent 18687 5a0543c157c9
child 22828 17ecb098bc1e
equal deleted inserted replaced
22826:3ee6886e718d 22827:07d991d45a51
   745     } else {
   745     } else {
   746       // Set to a non-NULL value so the ReservedSpace ctor computes
   746       // Set to a non-NULL value so the ReservedSpace ctor computes
   747       // the correct no-access prefix.
   747       // the correct no-access prefix.
   748       // The final value will be set in initialize_heap() below.
   748       // The final value will be set in initialize_heap() below.
   749       Universe::set_narrow_oop_base((address)NarrowOopHeapMax);
   749       Universe::set_narrow_oop_base((address)NarrowOopHeapMax);
   750 #ifdef _WIN64
   750 #if defined(_WIN64) || defined(AIX)
   751       if (UseLargePages) {
   751       if (UseLargePages) {
   752         // Cannot allocate guard pages for implicit checks in indexed
   752         // Cannot allocate guard pages for implicit checks in indexed
   753         // addressing mode when large pages are specified on windows.
   753         // addressing mode when large pages are specified on windows.
   754         Universe::set_narrow_oop_use_implicit_null_checks(false);
   754         Universe::set_narrow_oop_use_implicit_null_checks(false);
   755       }
   755       }
   823         (UseCompressedKlassPointers &&
   823         (UseCompressedKlassPointers &&
   824         ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) {
   824         ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) {
   825       // Can't reserve heap below 32Gb.
   825       // Can't reserve heap below 32Gb.
   826       // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
   826       // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
   827       Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
   827       Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
       
   828 #ifdef AIX
       
   829       // There is no protected page before the heap. This assures all oops
       
   830       // are decoded so that NULL is preserved, so this page will not be accessed.
       
   831       Universe::set_narrow_oop_use_implicit_null_checks(false);
       
   832 #endif
   828       if (verbose) {
   833       if (verbose) {
   829         tty->print(", %s: "PTR_FORMAT,
   834         tty->print(", %s: "PTR_FORMAT,
   830             narrow_oop_mode_to_string(HeapBasedNarrowOop),
   835             narrow_oop_mode_to_string(HeapBasedNarrowOop),
   831             Universe::narrow_oop_base());
   836             Universe::narrow_oop_base());
   832       }
   837       }