// Ensure 8-byte alignment, for hash synchronization.
#define DECLARE_PRIM_TYPE(NAME) \
- _Jv_ArrayVTable _Jv_##NAME##VTable; \
java::lang::Class _Jv_##NAME##Class __attribute__ ((aligned (8)));
DECLARE_PRIM_TYPE(byte)
DECLARE_PRIM_TYPE(void)
void
-_Jv_InitPrimClass (jclass cl, char *cname, char sig, int len,
- _Jv_ArrayVTable *array_vtable)
+_Jv_InitPrimClass (jclass cl, char *cname, char sig, int len)
{
using namespace java::lang::reflect;
cl->vtable = JV_PRIMITIVE_VTABLE;
cl->state = JV_STATE_DONE;
cl->depth = -1;
- if (sig != 'V')
- _Jv_NewArrayClass (cl, NULL, (_Jv_VTable *) array_vtable);
}
jclass
finit_name = _Jv_makeUtf8Const ("finit$", 6);
/* Initialize built-in classes to represent primitive TYPEs. */
- _Jv_InitPrimClass (&_Jv_byteClass, "byte", 'B', 1, &_Jv_byteVTable);
- _Jv_InitPrimClass (&_Jv_shortClass, "short", 'S', 2, &_Jv_shortVTable);
- _Jv_InitPrimClass (&_Jv_intClass, "int", 'I', 4, &_Jv_intVTable);
- _Jv_InitPrimClass (&_Jv_longClass, "long", 'J', 8, &_Jv_longVTable);
- _Jv_InitPrimClass (&_Jv_booleanClass, "boolean", 'Z', 1, &_Jv_booleanVTable);
- _Jv_InitPrimClass (&_Jv_charClass, "char", 'C', 2, &_Jv_charVTable);
- _Jv_InitPrimClass (&_Jv_floatClass, "float", 'F', 4, &_Jv_floatVTable);
- _Jv_InitPrimClass (&_Jv_doubleClass, "double", 'D', 8, &_Jv_doubleVTable);
- _Jv_InitPrimClass (&_Jv_voidClass, "void", 'V', 0, &_Jv_voidVTable);
+ _Jv_InitPrimClass (&_Jv_byteClass, "byte", 'B', 1);
+ _Jv_InitPrimClass (&_Jv_shortClass, "short", 'S', 2);
+ _Jv_InitPrimClass (&_Jv_intClass, "int", 'I', 4);
+ _Jv_InitPrimClass (&_Jv_longClass, "long", 'J', 8);
+ _Jv_InitPrimClass (&_Jv_booleanClass, "boolean", 'Z', 1);
+ _Jv_InitPrimClass (&_Jv_charClass, "char", 'C', 2);
+ _Jv_InitPrimClass (&_Jv_floatClass, "float", 'F', 4);
+ _Jv_InitPrimClass (&_Jv_doubleClass, "double", 'D', 8);
+ _Jv_InitPrimClass (&_Jv_voidClass, "void", 'V', 0);
// Turn stack trace generation off while creating exception objects.
_Jv_InitClass (&java::lang::VMThrowable::class$);