< prev index next >

src/hotspot/share/memory/universe.cpp

Print this page

        

*** 36,45 **** --- 36,46 ---- #include "gc/shared/collectedHeap.inline.hpp" #include "gc/shared/gcArguments.hpp" #include "gc/shared/gcLocker.hpp" #include "gc/shared/generation.hpp" #include "gc/shared/gcTraceTime.inline.hpp" + #include "gc/shared/oopStorage.hpp" #include "gc/shared/space.hpp" #include "interpreter/interpreter.hpp" #include "logging/log.hpp" #include "logging/logStream.hpp" #include "memory/filemap.hpp"
*** 95,104 **** --- 96,106 ---- Klass* Universe::_longArrayKlassObj = NULL; Klass* Universe::_singleArrayKlassObj = NULL; Klass* Universe::_doubleArrayKlassObj = NULL; Klass* Universe::_typeArrayKlassObjs[T_VOID+1] = { NULL /*, NULL...*/ }; Klass* Universe::_objectArrayKlassObj = NULL; + OopStorage* Universe::_vm_weak_oop_storage = NULL; oop Universe::_int_mirror = NULL; oop Universe::_float_mirror = NULL; oop Universe::_double_mirror = NULL; oop Universe::_byte_mirror = NULL; oop Universe::_bool_mirror = NULL;
*** 686,695 **** --- 688,699 ---- jint status = Universe::initialize_heap(); if (status != JNI_OK) { return status; } + Universe::initialize_oop_storage(); + Metaspace::global_initialize(); // Initialize performance counters for metaspaces MetaspaceCounters::initialize_performance_counters(); CompressedClassSpaceCounters::initialize_performance_counters();
*** 1341,1350 **** --- 1345,1365 ---- Method* m = ik->method_with_idnum(method_idnum()); assert(m != NULL, "sanity check"); return m; } + void Universe::initialize_oop_storage() { + _vm_weak_oop_storage = + new OopStorage("VM Weak Oop Handles", + VMWeakAlloc_lock, + VMWeakActive_lock); + } + + OopStorage* Universe::vm_weak_oop_storage() { + assert(_vm_weak_oop_storage != NULL, "Uninitialized"); + return _vm_weak_oop_storage; + } #ifdef ASSERT // Release dummy object(s) at bottom of heap bool Universe::release_fullgc_alot_dummy() { MutexLocker ml(FullGCALot_lock);
< prev index next >