comparison src/share/vm/memory/universe.cpp @ 11020:3a0774193f71

Merge
author chegar
date Wed, 19 Jun 2013 11:02:10 +0100
parents eaf3742822ec f2110083203d
children 9f3e3245b50f
comparison
equal deleted inserted replaced
11019:eaf3742822ec 11020:3a0774193f71
820 ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) { 820 ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) {
821 // Can't reserve heap below 32Gb. 821 // Can't reserve heap below 32Gb.
822 // keep the Universe::narrow_oop_base() set in Universe::reserve_heap() 822 // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
823 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 823 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
824 if (verbose) { 824 if (verbose) {
825 tty->print(", Compressed Oops with base: "PTR_FORMAT, Universe::narrow_oop_base()); 825 tty->print(", %s: "PTR_FORMAT,
826 narrow_oop_mode_to_string(HeapBasedNarrowOop),
827 Universe::narrow_oop_base());
826 } 828 }
827 } else { 829 } else {
828 Universe::set_narrow_oop_base(0); 830 Universe::set_narrow_oop_base(0);
829 if (verbose) { 831 if (verbose) {
830 tty->print(", zero based Compressed Oops"); 832 tty->print(", %s", narrow_oop_mode_to_string(ZeroBasedNarrowOop));
831 } 833 }
832 #ifdef _WIN64 834 #ifdef _WIN64
833 if (!Universe::narrow_oop_use_implicit_null_checks()) { 835 if (!Universe::narrow_oop_use_implicit_null_checks()) {
834 // Don't need guard page for implicit checks in indexed addressing 836 // Don't need guard page for implicit checks in indexed addressing
835 // mode with zero based Compressed Oops. 837 // mode with zero based Compressed Oops.
840 // Can't reserve heap below 4Gb. 842 // Can't reserve heap below 4Gb.
841 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 843 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
842 } else { 844 } else {
843 Universe::set_narrow_oop_shift(0); 845 Universe::set_narrow_oop_shift(0);
844 if (verbose) { 846 if (verbose) {
845 tty->print(", 32-bits Oops"); 847 tty->print(", %s", narrow_oop_mode_to_string(UnscaledNarrowOop));
846 } 848 }
847 } 849 }
848 } 850 }
849 if (verbose) { 851 if (verbose) {
850 tty->cr(); 852 tty->cr();
946 void Universe::update_heap_info_at_gc() { 948 void Universe::update_heap_info_at_gc() {
947 _heap_capacity_at_last_gc = heap()->capacity(); 949 _heap_capacity_at_last_gc = heap()->capacity();
948 _heap_used_at_last_gc = heap()->used(); 950 _heap_used_at_last_gc = heap()->used();
949 } 951 }
950 952
953
954 const char* Universe::narrow_oop_mode_to_string(Universe::NARROW_OOP_MODE mode) {
955 switch (mode) {
956 case UnscaledNarrowOop:
957 return "32-bits Oops";
958 case ZeroBasedNarrowOop:
959 return "zero based Compressed Oops";
960 case HeapBasedNarrowOop:
961 return "Compressed Oops with base";
962 }
963
964 ShouldNotReachHere();
965 return "";
966 }
967
968
969 Universe::NARROW_OOP_MODE Universe::narrow_oop_mode() {
970 if (narrow_oop_base() != 0) {
971 return HeapBasedNarrowOop;
972 }
973
974 if (narrow_oop_shift() != 0) {
975 return ZeroBasedNarrowOop;
976 }
977
978 return UnscaledNarrowOop;
979 }
951 980
952 981
953 void universe2_init() { 982 void universe2_init() {
954 EXCEPTION_MARK; 983 EXCEPTION_MARK;
955 Universe::genesis(CATCH); 984 Universe::genesis(CATCH);