prims.cc (_Jv_InitPrimClass): Don't create an array class.

2004-07-23  Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (_Jv_InitPrimClass): Don't create an array class.
	(_Jv_CreateJavaVM): Don't pass array vtable parameter to
	_Jv_InitPrimClass.
	(DECLARE_PRIM_TYPE): Don't declare array vtables.
	* include/jvm.h (struct _Jv_ArrayVTable): Removed.
	* java/lang/Class.h (_Jv_InitPrimClass): Update friend declaration.

From-SVN: r85109
This commit is contained in:
Bryce McKinlay 2004-07-24 01:17:29 +00:00 committed by Bryce McKinlay
parent bbc630f5d9
commit ffe4e0376f
4 changed files with 20 additions and 21 deletions

View File

@ -1,3 +1,12 @@
2004-07-23 Bryce McKinlay <mckinlay@redhat.com>
* prims.cc (_Jv_InitPrimClass): Don't create an array class.
(_Jv_CreateJavaVM): Don't pass array vtable parameter to
_Jv_InitPrimClass.
(DECLARE_PRIM_TYPE): Don't declare array vtables.
* include/jvm.h (struct _Jv_ArrayVTable): Removed.
* java/lang/Class.h (_Jv_InitPrimClass): Update friend declaration.
2004-07-23 Thomas Fitzsimmons <fitzsim@redhat.com>
* Makefile.am: Replace jar, rmic and rmiregistry references with

View File

@ -79,12 +79,6 @@ struct _Jv_VTable
// to keep this up to date by hand.
#define NUM_OBJECT_METHODS 5
// This structure is the type of an array's vtable.
struct _Jv_ArrayVTable : public _Jv_VTable
{
vtable_elt extra_method[NUM_OBJECT_METHODS - 1];
};
union _Jv_word
{
jobject o;

View File

@ -328,7 +328,7 @@ private:
friend void _Jv_InitNewClassFields (jclass klass);
// in prims.cc
friend void _Jv_InitPrimClass (jclass, char *, char, int, _Jv_ArrayVTable *);
friend void _Jv_InitPrimClass (jclass, char *, char, int);
friend void _Jv_PrepareCompiledClass (jclass);
friend void _Jv_PrepareConstantTimeTables (jclass);

View File

@ -670,7 +670,6 @@ _Jv_NewMultiArray (jclass array_type, jint dimensions, ...)
// 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)
@ -684,8 +683,7 @@ DECLARE_PRIM_TYPE(double)
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;
@ -702,8 +700,6 @@ _Jv_InitPrimClass (jclass cl, char *cname, char sig, int len,
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
@ -976,15 +972,15 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
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$);