< prev index next >

src/share/vm/oops/constantPool.cpp

Print this page

        

*** 219,229 **** } } 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"); // 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); --- 219,233 ---- } } 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"); ! // 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 >