--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Tue Nov 16 14:07:33 2010 -0800
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Tue Nov 16 16:12:28 2010 -0800
@@ -1093,8 +1093,9 @@
// 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.
--- a/hotspot/src/share/vm/includeDB_core Tue Nov 16 14:07:33 2010 -0800
+++ b/hotspot/src/share/vm/includeDB_core Tue Nov 16 16:12:28 2010 -0800
@@ -4454,6 +4454,7 @@
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
--- a/hotspot/src/share/vm/memory/universe.cpp Tue Nov 16 14:07:33 2010 -0800
+++ b/hotspot/src/share/vm/memory/universe.cpp Tue Nov 16 16:12:28 2010 -0800
@@ -945,6 +945,7 @@
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;
--- a/hotspot/src/share/vm/runtime/init.cpp Tue Nov 16 14:07:33 2010 -0800
+++ b/hotspot/src/share/vm/runtime/init.cpp Tue Nov 16 16:12:28 2010 -0800
@@ -160,5 +160,6 @@
void set_init_completed() {
+ assert(Universe::is_fully_initialized(), "Should have completed initialization");
_init_completed = true;
}