prims.cc (_Jv_InitPrimClass): Don't create an array class.
authorBryce McKinlay <mckinlay@redhat.com>
Sat, 24 Jul 2004 01:17:29 +0000 (01:17 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Sat, 24 Jul 2004 01:17:29 +0000 (02:17 +0100)
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

libjava/ChangeLog
libjava/include/jvm.h
libjava/java/lang/Class.h
libjava/prims.cc

index a1280c74b1557293c184431b8ab93de20ede4828..bcb9db2da93e72787c97f8bbcad94d6f5a075cd3 100644 (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
index 7b5e9842c27b20744833c4f8991c6d07c2371e9e..b85927729231b754a72e076eaca3efc802e26966 100644 (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;
index de00c2eb2fb8710ad04c24a174b409b5bbf019db..8d2b4a0cf24e8d34cc7e6477c4706c3b6c79fa9a 100644 (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);
index a0ad08e738fb52985226b1a4cabc9b8fc4eb076f..0346b02371b9adcdb02ac5ee247413e52a271b87 100644 (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$);