* 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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| doc | Loading commit data... | |
| gcj | Loading commit data... | |
| gnu | Loading commit data... | |
| include | Loading commit data... | |
| java | Loading commit data... | |
| javax/naming | Loading commit data... | |
| libltdl | Loading commit data... | |
| scripts | Loading commit data... | |
| sysdep | Loading commit data... | |
| testsuite | Loading commit data... | |
| COPYING | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog-1999 | Loading commit data... | |
| LIBGCJ_LICENSE | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| NEWS | Loading commit data... | |
| README | Loading commit data... | |
| THANKS | Loading commit data... | |
| acconfig.h | Loading commit data... | |
| acinclude.m4 | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| addr2name.awk | Loading commit data... | |
| boehm.cc | Loading commit data... | |
| chartables.pl | Loading commit data... | |
| configure | Loading commit data... | |
| configure.host | Loading commit data... | |
| configure.in | Loading commit data... | |
| defineclass.cc | Loading commit data... | |
| exception.cc | Loading commit data... | |
| gij.cc | Loading commit data... | |
| interpret.cc | Loading commit data... | |
| jni.cc | Loading commit data... | |
| libgcj-test.spec.in | Loading commit data... | |
| libgcj.spec.in | Loading commit data... | |
| libgcjdata.c | Loading commit data... | |
| libtool-version | Loading commit data... | |
| mauve-libgcj | Loading commit data... | |
| name-finder.cc | Loading commit data... | |
| no-threads.cc | Loading commit data... | |
| nogc.cc | Loading commit data... | |
| posix-threads.cc | Loading commit data... | |
| posix.cc | Loading commit data... | |
| prims.cc | Loading commit data... | |
| resolve.cc | Loading commit data... | |
| win32-threads.cc | Loading commit data... |