< prev index next >

src/share/vm/memory/universe.cpp

Print this page




 907 void Universe::print_compressed_oops_mode(outputStream* st) {
 908   st->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB",
 909               Universe::heap()->base(), Universe::heap()->reserved_region().byte_size()/M);
 910 
 911   st->print(", Compressed Oops mode: %s", narrow_oop_mode_to_string(narrow_oop_mode()));
 912 
 913   if (Universe::narrow_oop_base() != 0) {
 914     st->print(":" PTR_FORMAT, Universe::narrow_oop_base());
 915   }
 916 
 917   if (Universe::narrow_oop_shift() != 0) {
 918     st->print(", Oop shift amount: %d", Universe::narrow_oop_shift());
 919   }
 920 
 921   st->cr();
 922 }
 923 
 924 // Reserve the Java heap, which is now the same for all GCs.
 925 ReservedSpace Universe::reserve_heap(size_t heap_size, size_t alignment) {
 926   assert(alignment <= Arguments::conservative_max_heap_alignment(),
 927       err_msg("actual alignment "SIZE_FORMAT" must be within maximum heap alignment "SIZE_FORMAT,
 928           alignment, Arguments::conservative_max_heap_alignment()));
 929   size_t total_reserved = align_size_up(heap_size, alignment);
 930   assert(!UseCompressedOops || (total_reserved <= (OopEncodingHeapMax - os::vm_page_size())),
 931       "heap size is too big for compressed oops");
 932 
 933   bool use_large_pages = UseLargePages && is_size_aligned(alignment, os::large_page_size());
 934   assert(!UseLargePages
 935       || UseParallelGC
 936       || use_large_pages, "Wrong alignment to use large pages");
 937 
 938   char* addr = Universe::preferred_heap_base(total_reserved, alignment, Universe::UnscaledNarrowOop);
 939 
 940   ReservedHeapSpace total_rs(total_reserved, alignment, use_large_pages, addr);
 941 
 942   if (UseCompressedOops) {
 943     if (addr != NULL && !total_rs.is_reserved()) {
 944       // Failed to reserve at specified address - the requested memory
 945       // region is taken already, for example, by 'java' launcher.
 946       // Try again to reserver heap higher.
 947       addr = Universe::preferred_heap_base(total_reserved, alignment, Universe::ZeroBasedNarrowOop);




 907 void Universe::print_compressed_oops_mode(outputStream* st) {
 908   st->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB",
 909               Universe::heap()->base(), Universe::heap()->reserved_region().byte_size()/M);
 910 
 911   st->print(", Compressed Oops mode: %s", narrow_oop_mode_to_string(narrow_oop_mode()));
 912 
 913   if (Universe::narrow_oop_base() != 0) {
 914     st->print(":" PTR_FORMAT, Universe::narrow_oop_base());
 915   }
 916 
 917   if (Universe::narrow_oop_shift() != 0) {
 918     st->print(", Oop shift amount: %d", Universe::narrow_oop_shift());
 919   }
 920 
 921   st->cr();
 922 }
 923 
 924 // Reserve the Java heap, which is now the same for all GCs.
 925 ReservedSpace Universe::reserve_heap(size_t heap_size, size_t alignment) {
 926   assert(alignment <= Arguments::conservative_max_heap_alignment(),
 927       err_msg("actual alignment " SIZE_FORMAT " must be within maximum heap alignment " SIZE_FORMAT,
 928           alignment, Arguments::conservative_max_heap_alignment()));
 929   size_t total_reserved = align_size_up(heap_size, alignment);
 930   assert(!UseCompressedOops || (total_reserved <= (OopEncodingHeapMax - os::vm_page_size())),
 931       "heap size is too big for compressed oops");
 932 
 933   bool use_large_pages = UseLargePages && is_size_aligned(alignment, os::large_page_size());
 934   assert(!UseLargePages
 935       || UseParallelGC
 936       || use_large_pages, "Wrong alignment to use large pages");
 937 
 938   char* addr = Universe::preferred_heap_base(total_reserved, alignment, Universe::UnscaledNarrowOop);
 939 
 940   ReservedHeapSpace total_rs(total_reserved, alignment, use_large_pages, addr);
 941 
 942   if (UseCompressedOops) {
 943     if (addr != NULL && !total_rs.is_reserved()) {
 944       // Failed to reserve at specified address - the requested memory
 945       // region is taken already, for example, by 'java' launcher.
 946       // Try again to reserver heap higher.
 947       addr = Universe::preferred_heap_base(total_reserved, alignment, Universe::ZeroBasedNarrowOop);


< prev index next >