gcc/libjava/java/lang/reflect
Bryce McKinlay 5bb11b2e20 In gcc/java:
* class.c (make_class_data): Push initial value for "arrayclass".
	* decl.c (init_decl_processing): Add new class field "arrayclass".

In libjava:
	* java/lang/Class.h (_Jv_InitClass): Use __builtin_expect.
	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass.
	(_Jv_GetArrayClass): New inline function.
	(arrayclass): New field.
	* prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use
	_Jv_GetArrayElementFromElementType.
	(_Jv_NewPrimArray): Ditto.
	(_Jv_PrimClass constructor): Initialize "depth", "ancestors", and
	"idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass.
	Set Modifier::ABSTRACT.
	* java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass".
	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void.
	Now synchronized. Array classes are now referenced from
	elementClass->arrayclass. Don't use _Jv_FindClassInCache.
	Set array classes' accessibility flags correctly. Optimize so that
	all array classes share the same IDT.
	* java/lang/reflect/natArray.cc (newInstance): Use _Jv_GetArrayClass.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature): Ditto.
	* java/lang/natClass.cc (_getFields): Increment offset. Prevent fields
	in superclasses from overwriting classes own fields.
	(_Jv_IsAssignableFrom): Check for NULL source idt instead of calling
	Modifier::isAbstract().
	(null_idt): New static field.
	(_Jv_PrepareConstantTimeTables): Optimize case where class implements
	no interfaces.
	(_Jv_IndexOf): Made inline.
	* boehm.cc (_Jv_MarkObj): Mark "arrayclass" field.

From-SVN: r38808
2001-01-08 23:28:56 +00:00
..
AccessibleObject.java AccessibleObject.java (isAccessible, [...]): Now public. 2000-11-18 02:30:29 +00:00
Array.java All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
Constructor.java Constructor.java (toString): Use `getName' for parameter types. 2000-09-06 22:24:34 +00:00
Field.java Field.java (toString): Don't rely on Class.toString. 2000-09-11 22:49:29 +00:00
InvocationTargetException.java PropertyChangeEvent.java (serialVersionUID): Added. 2000-09-08 19:37:09 +00:00
Member.java All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
Method.java Constructor.java (toString): Use `getName' for parameter types. 2000-09-06 22:24:34 +00:00
Modifier.java mauve-libgcj: Activated serialization tests. 2000-07-27 23:57:07 +00:00
natArray.cc In gcc/java: 2001-01-08 23:28:56 +00:00
natConstructor.cc mauve-libgcj: Activated serialization tests. 2000-07-27 23:57:07 +00:00
natField.cc natField.cc (BooleanClass): Don't define. 2000-10-06 01:49:32 +00:00
natMethod.cc In gcc/java: 2001-01-08 23:28:56 +00:00
ReflectPermission.java Makefile.in: Rebuilt. 2000-11-20 18:25:41 +00:00