diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp index d9118c35ca9f1cb8bf09f72aca91b492e64e2e82..183d127e321fc6914a8779f982498ea606fb4ee7 100644 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp @@ -1093,8 +1093,9 @@ bool CompactibleFreeListSpace::block_is_obj(const HeapWord* p) const { // perm_gen_verify_bit_map where we store the "deadness" information if // we did not sweep the perm gen in the most recent previous GC cycle. bool CompactibleFreeListSpace::obj_is_alive(const HeapWord* p) const { + assert(SafepointSynchronize::is_at_safepoint() || !is_init_completed(), + "Else races are possible"); assert(block_is_obj(p), "The address should point to an object"); - assert(SafepointSynchronize::is_at_safepoint(), "Else races are possible"); // If we're sweeping, we use object liveness information from the main bit map // for both perm gen and old gen. diff --git a/src/share/vm/includeDB_core b/src/share/vm/includeDB_core index 07039e57df0aa5484902088d9bbb8f9f469acc56..3d0901b22c1002f870057aeb2c9c296c40c577a8 100644 --- a/src/share/vm/includeDB_core +++ b/src/share/vm/includeDB_core @@ -4454,6 +4454,7 @@ universe.cpp genRemSet.hpp universe.cpp generation.hpp universe.cpp handles.inline.hpp universe.cpp hashtable.inline.hpp +universe.cpp init.hpp universe.cpp instanceKlass.hpp universe.cpp instanceKlassKlass.hpp universe.cpp instanceRefKlass.hpp diff --git a/src/share/vm/memory/universe.cpp b/src/share/vm/memory/universe.cpp index f0595761a8b2ca16f22bf5b97611613114d371ec..de2b3b872dc658e88761491059a0af725c3b4fb3 100644 --- a/src/share/vm/memory/universe.cpp +++ b/src/share/vm/memory/universe.cpp @@ -945,6 +945,7 @@ void universe2_init() { extern void initialize_converter_functions(); bool universe_post_init() { + assert(!is_init_completed(), "Error: initialization not yet completed!"); Universe::_fully_initialized = true; EXCEPTION_MARK; { ResourceMark rm; diff --git a/src/share/vm/runtime/init.cpp b/src/share/vm/runtime/init.cpp index 9eac44347c20654cd05c26802f26323299ed1ae6..fbecf4d6a9c88f14b3e351df214c465d81599b94 100644 --- a/src/share/vm/runtime/init.cpp +++ b/src/share/vm/runtime/init.cpp @@ -160,5 +160,6 @@ bool is_init_completed() { void set_init_completed() { + assert(Universe::is_fully_initialized(), "Should have completed initialization"); _init_completed = true; }