Mercurial > hg > truffle
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); |