using namespace gcj;
-// When true, print debugging information about class loading.
-bool gcj::verbose_class_flag;
-
typedef unsigned int uaddr __attribute__ ((mode (pointer)));
template<typename T>
}
// This is put in empty vtable slots.
-static void
-_Jv_abstractMethodError (void)
+void
+_Jv_ThrowAbstractMethodError ()
{
throw new java::lang::AbstractMethodError();
}
(_Jv_GetMethodString (klass, meth));
if ((meth->accflags & Modifier::ABSTRACT) != 0)
- itable[pos] = (void *) &_Jv_abstractMethodError;
+ itable[pos] = (void *) &_Jv_ThrowAbstractMethodError;
else
itable[pos] = meth->ncode;
}
if ((meth->accflags & Modifier::ABSTRACT))
// FIXME: it might be nice to have a libffi trampoline here,
// so we could pass in the method name and other information.
- vtable->set_method(meth->index, (void *) &_Jv_abstractMethodError);
+ vtable->set_method(meth->index,
+ (void *) &_Jv_ThrowAbstractMethodError);
else
vtable->set_method(meth->index, meth->ncode);
}
if (state >= JV_STATE_LINKED && klass->state < JV_STATE_LINKED)
{
- verify_class (klass);
+ if (gcj::verifyClasses)
+ verify_class (klass);
ensure_class_linked (klass);
link_exception_table (klass);