mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 11:50:57 +08:00
2003-10-01 Andrew Haley <aph@redhat.com> * jcf-parse.c (java_parse_file): Write otable and atable. * java-tree.h (atable_methods): New. (atable_decl): New. (atable_syms_decl): New. (enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL, JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*. (symbol_*type): Rename method_symbol* to symbol*type. (emit_offset_symbol_table): Delete. (emit_symbol_table): New. (get_symbol_table_index): New. (atable_type): New. * expr.c (build_field_ref): Handle flag_indirect_dispatch. (build_known_method_ref): Likewise. (get_symbol_table_index): Rename from get_offset_table_index. Parameterize to allow re-use by differing types of symbol table. (build_invokevirtual): Pass table to get_offset_table_index. * decl.c (java_init_decl_processing): Push types and decls for atable and atable_syyms. * class.c (build_static_field_ref): Handle flag_indirect_dispatch. (make_class_data): Add new fields atable and atable_syms. (emit_symbol_table): Rename from emit_offset_symbol_table. Parameterize to allow re-use by different types of symbol table. (build_symbol_entry): Renamed from build_method_symbols_entry. 2003-10-01 Andrew Haley <aph@redhat.com> * java/lang/natClass.cc (initializeClass): Check for otable and atable. (_Jv_LinkOffsetTable): Check for existence of atable. Rewrite loops using for(). Search superinterfaces. Check for fields as well as methods. Initialize atable as well as otable: check for static methods as well as virtual methods. * java/lang/Class.h (struct _Jv_AddressTable): New. (atable): New. (atable_syms): New. * include/jvm.h (_Jv_equalUtf8Consts): constify. * prims.cc (_Jv_equalUtf8Consts): constify. From-SVN: r71979
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://gcc.gnu.org/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://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc