< prev index next >
src/share/vm/oops/constantPool.cpp
Print this page
@@ -219,11 +219,15 @@
}
}
Klass* ConstantPool::klass_at_impl(const constantPoolHandle& this_cp, int which,
bool save_resolution_error, TRAPS) {
- assert(THREAD->is_Java_thread(), "must be a Java thread");
+ //assert(THREAD->is_Java_thread(), "must be a Java thread");
+ // TODO re-enable this assert as soon as we have a better solution
+ // With ValueTypePassFieldsAsArgs, we need to resolve call sites from the GC thread
+ // to determine the callee signature in nmethod::preserve_callee_argument_oops().
+ assert(ValueTypePassFieldsAsArgs || THREAD->is_Java_thread(), "must be a Java thread");
// A resolved constantPool entry will contain a Klass*, otherwise a Symbol*.
// It is not safe to rely on the tag bit's here, since we don't have a lock, and
// the entry and tag is not updated atomicly.
CPSlot entry = this_cp->slot_at(which);
< prev index next >