mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-11 21:03:45 +08:00
5bb11b2e20
* 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 |
||
---|---|---|
.. | ||
doc | ||
gcj | ||
gnu | ||
include | ||
java | ||
javax/naming | ||
libltdl | ||
scripts | ||
sysdep | ||
testsuite | ||
acconfig.h | ||
acinclude.m4 | ||
aclocal.m4 | ||
addr2name.awk | ||
boehm.cc | ||
ChangeLog | ||
ChangeLog-1999 | ||
chartables.pl | ||
configure | ||
configure.host | ||
configure.in | ||
COPYING | ||
defineclass.cc | ||
exception.cc | ||
gij.cc | ||
interpret.cc | ||
jni.cc | ||
LIBGCJ_LICENSE | ||
libgcj-test.spec.in | ||
libgcj.spec.in | ||
libgcjdata.c | ||
libtool-version | ||
Makefile.am | ||
Makefile.in | ||
mauve-libgcj | ||
name-finder.cc | ||
NEWS | ||
no-threads.cc | ||
nogc.cc | ||
posix-threads.cc | ||
posix.cc | ||
prims.cc | ||
README | ||
resolve.cc | ||
THANKS | ||
win32-threads.cc |
This is libgcj: the runtime library for gcj, the GNU Compiler for Java. libgcj provides a partial implementation of the Java Class Libraries. libgcj is free software. See the file LIBGCJ_LICENSE for copying permission. DOCUMENTATION ============= All documentation, including detailed installation and usage instructions, can be found on the gcj web pages at this URL: http://sourceware.cygnus.com/java/ REQUIREMENTS ============ libgcj must be built with a compatible version of the gcc compiler. libgcj releases are usually numbered according to their corresponding gcc release. For example, if this is "libgcj 2.95.3", you need to build it using "gcc 2.95.3". QUICK INSTALLATION ================== > mkdir build > cd build > ../libgcj/configure --enable-threads=<THREADS_TYPE> --prefix=<DIR> > make > make install where: <THREADS_TYPE> specifies the threads library to be used by libgcj. Currently the possible values are "posix" and "none". This value must be the same as the value used when configuring gcc itself. <DIR> specifies the installation directory. This should be the same location as where gcc is installed. Consult the gcj web pages for additional "configure" arguments. NOTE: libgcj can not be built in the same directory as `configure'. You must create a separate build directory. BUGS ==== Please submit bug reports via this URL: http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?database=java