comparison src/share/vm/memory/universe.cpp @ 10405:f2110083203d

8005849: JEP 167: Event-Based JVM Tracing Reviewed-by: acorn, coleenp, sla Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author sla
date Mon, 10 Jun 2013 11:30:51 +0200
parents 0def34ab1c98
children 836a62f43af9 ef57c43512d6 3a0774193f71
comparison
equal deleted inserted replaced
10404:d0add7016434 10405:f2110083203d
817 ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) { 817 ((uint64_t)Universe::heap()->base() + Universe::class_metaspace_size() > KlassEncodingMetaspaceMax))) {
818 // Can't reserve heap below 32Gb. 818 // Can't reserve heap below 32Gb.
819 // keep the Universe::narrow_oop_base() set in Universe::reserve_heap() 819 // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
820 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 820 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
821 if (verbose) { 821 if (verbose) {
822 tty->print(", Compressed Oops with base: "PTR_FORMAT, Universe::narrow_oop_base()); 822 tty->print(", %s: "PTR_FORMAT,
823 narrow_oop_mode_to_string(HeapBasedNarrowOop),
824 Universe::narrow_oop_base());
823 } 825 }
824 } else { 826 } else {
825 Universe::set_narrow_oop_base(0); 827 Universe::set_narrow_oop_base(0);
826 if (verbose) { 828 if (verbose) {
827 tty->print(", zero based Compressed Oops"); 829 tty->print(", %s", narrow_oop_mode_to_string(ZeroBasedNarrowOop));
828 } 830 }
829 #ifdef _WIN64 831 #ifdef _WIN64
830 if (!Universe::narrow_oop_use_implicit_null_checks()) { 832 if (!Universe::narrow_oop_use_implicit_null_checks()) {
831 // Don't need guard page for implicit checks in indexed addressing 833 // Don't need guard page for implicit checks in indexed addressing
832 // mode with zero based Compressed Oops. 834 // mode with zero based Compressed Oops.
837 // Can't reserve heap below 4Gb. 839 // Can't reserve heap below 4Gb.
838 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 840 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
839 } else { 841 } else {
840 Universe::set_narrow_oop_shift(0); 842 Universe::set_narrow_oop_shift(0);
841 if (verbose) { 843 if (verbose) {
842 tty->print(", 32-bits Oops"); 844 tty->print(", %s", narrow_oop_mode_to_string(UnscaledNarrowOop));
843 } 845 }
844 } 846 }
845 } 847 }
846 if (verbose) { 848 if (verbose) {
847 tty->cr(); 849 tty->cr();
943 void Universe::update_heap_info_at_gc() { 945 void Universe::update_heap_info_at_gc() {
944 _heap_capacity_at_last_gc = heap()->capacity(); 946 _heap_capacity_at_last_gc = heap()->capacity();
945 _heap_used_at_last_gc = heap()->used(); 947 _heap_used_at_last_gc = heap()->used();
946 } 948 }
947 949
950
951 const char* Universe::narrow_oop_mode_to_string(Universe::NARROW_OOP_MODE mode) {
952 switch (mode) {
953 case UnscaledNarrowOop:
954 return "32-bits Oops";
955 case ZeroBasedNarrowOop:
956 return "zero based Compressed Oops";
957 case HeapBasedNarrowOop:
958 return "Compressed Oops with base";
959 }
960
961 ShouldNotReachHere();
962 return "";
963 }
964
965
966 Universe::NARROW_OOP_MODE Universe::narrow_oop_mode() {
967 if (narrow_oop_base() != 0) {
968 return HeapBasedNarrowOop;
969 }
970
971 if (narrow_oop_shift() != 0) {
972 return ZeroBasedNarrowOop;
973 }
974
975 return UnscaledNarrowOop;
976 }
948 977
949 978
950 void universe2_init() { 979 void universe2_init() {
951 EXCEPTION_MARK; 980 EXCEPTION_MARK;
952 Universe::genesis(CATCH); 981 Universe::genesis(CATCH);