7012493: 2/2 6849574/Test.java fails with Internal Error (src/share/vm/prims/jvmtiTagMap.cpp:3294)

Refine assertion to work before VMThread has started.

Reviewed-by: ysr, never, dholmes, acorn
This commit is contained in:
Daniel D. Daugherty 2011-01-19 07:41:39 -08:00
parent 3f77a1ee13
commit 5dc9441b0a

View file

@ -3290,7 +3290,11 @@ void JvmtiTagMap::follow_references(jint heap_filter,
void JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
assert(SafepointSynchronize::is_at_safepoint(),
// No locks during VM bring-up (0 threads) and no safepoints after main
// thread creation and before VMThread creation (1 thread); initial GC
// verification can happen in that window which gets to here.
assert(Threads::number_of_threads() <= 1 ||
SafepointSynchronize::is_at_safepoint(),
"must be executed at a safepoint");
if (JvmtiEnv::environments_might_exist()) {
JvmtiEnvIterator it;