< prev index next >

src/share/vm/runtime/sharedRuntime.cpp

Print this page

        

*** 2959,2973 **** --- 2959,2976 ---- for (; !ss.at_return_type(); ss.next()) { BasicType bt = ss.type(); if (bt == T_VALUETYPE) { #ifdef ASSERT Thread* THREAD = Thread::current(); + // Avoid class loading from compiler thread + if (THREAD->can_call_java()) { Handle class_loader(THREAD, method->method_holder()->class_loader()); Handle protection_domain(THREAD, method->method_holder()->protection_domain()); Klass* k = ss.as_klass(class_loader, protection_domain, SignatureStream::ReturnNull, THREAD); assert(k != NULL && !HAS_PENDING_EXCEPTION, "can't resolve klass"); assert(k == SystemDictionary::___Value_klass(), "other values not supported"); + } #endif bt = T_VALUETYPEPTR; } sig_bt[i++] = bt; // Collect remaining bits of signature if (ss.type() == T_LONG || ss.type() == T_DOUBLE)
< prev index next >