mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 07:40:25 +08:00
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:
parent
bbc630f5d9
commit
ffe4e0376f
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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$);
|
||||
|
Loading…
x
Reference in New Issue
Block a user