< prev index next >
src/hotspot/share/memory/universe.hpp
Print this page
*** 37,46 ****
--- 37,47 ----
// support is provided. Allocation by the interpreter and compiled code is done inline
// and bails out to Scavenge::invoke_and_allocate.
class CollectedHeap;
class DeferredObjAllocEvent;
+ class OopStorage;
// A helper class for caching a Method* when the user of the cache
// only cares about the latest version of the Method*. This cache safely
// interacts with the RedefineClasses API.
*** 122,131 ****
--- 123,135 ----
static Klass* _doubleArrayKlassObj;
static Klass* _typeArrayKlassObjs[T_VOID+1];
static Klass* _objectArrayKlassObj;
+ // VM weak OopStorage object.
+ static OopStorage* _vm_weak_oop_storage;
+
// Known objects in the VM
// Primitive objects
static oop _int_mirror;
static oop _float_mirror;
*** 227,236 ****
--- 231,242 ----
static void reinitialize_vtable_of(Klass* k, TRAPS);
static void reinitialize_itables(TRAPS);
static void compute_base_vtable_size(); // compute vtable size of class Object
+ static void initialize_oop_storage();
+
static void genesis(TRAPS); // Create the initial world
// Mirrors for primitive classes (created eagerly)
static oop check_mirror(oop m) {
assert(m != NULL, "mirror not initialized");
*** 286,295 ****
--- 292,303 ----
assert((uint)t < T_VOID+1, "range check for type: %s", type2name(t));
assert(_typeArrayKlassObjs[t] != NULL, "domain check");
return _typeArrayKlassObjs[t];
}
+ static OopStorage* vm_weak_oop_storage();
+
// Known objects in the VM
static oop int_mirror() { return check_mirror(_int_mirror); }
static oop float_mirror() { return check_mirror(_float_mirror); }
static oop double_mirror() { return check_mirror(_double_mirror); }
static oop byte_mirror() { return check_mirror(_byte_mirror); }
< prev index next >