This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r113224 - in /trunk: gcc/java/ChangeLog gcc/jav...
- From: aph at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 24 Apr 2006 15:33:19 -0000
- Subject: r113224 - in /trunk: gcc/java/ChangeLog gcc/jav...
Author: aph
Date: Mon Apr 24 15:33:16 2006
New Revision: 113224
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113224
Log:
2006-04-21 Andrew Haley <aph@redhat.com>
* lang.c (java_init): Handle flag_indirect_classes.
* jvgenmain.c: Use "class$$" instead of "class$".
* mangle.c (java_mangle_decl): Accept RECORD_TYPEs sw well as
DECLs.
(mangle_class_field): Special case "class$$" as well as "class$".
* constants.c (build_ref_from_constant_pool): If
flag_indirect_classes, generate a ref into the heap.
* decl.c (constants_field_decl_node,
constants_data_field_decl_node): New.
* class.c (build_static_class_ref): New.
(build_classdollar_field): Factor out from build_class_ref().
(make_field_value): Handle static fields in heap.
(make_class_data): Make sure we get a static ref to class.
Make class initializer const if flag_indirect_classes.
(register_class): Build a class_ref for initialization if
flag_indirect_classes.
(emit_indirect_register_classes): New.
2006-04-21 Andrew Haley <aph@redhat.com>
* include/execution.h (struct _Jv_CompiledEngine): Define for
compiled classes.
* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Call
_Jv_RegisterLibForGc.
(_Jv_RegisterClasses_Counted): Likewise.
(_Jv_NewClassFromInitializer): New.
(_Jv_RegisterNewClasses): New.
* sources.am: Regenerate.
* boehm.cc (_Jv_GC_has_static_roots): new.
(_Jv_InitGC): Call GC_register_has_static_roots_callback.
(filename_node, find_file, _Jv_print_gc_store, new_node,
_Jv_GC_has_static_roots, _Jv_RegisterLibForGc): New.
* scripts/makemake.tcl: Add -fno-indirect-classes.
* Makefile.in: Regenerate.
* link.cc (resolve_pool_entry): Allocate constant pool.
Allocate fields.
Modified:
trunk/gcc/java/ChangeLog
trunk/gcc/java/class.c
trunk/gcc/java/constants.c
trunk/gcc/java/decl.c
trunk/gcc/java/java-tree.h
trunk/gcc/java/jvgenmain.c
trunk/gcc/java/lang.c
trunk/gcc/java/lang.opt
trunk/gcc/java/mangle.c
trunk/libjava/ChangeLog
trunk/libjava/Makefile.in
trunk/libjava/boehm.cc
trunk/libjava/include/boehm-gc.h
trunk/libjava/include/execution.h
trunk/libjava/java/lang/Class.h
trunk/libjava/java/lang/natClassLoader.cc
trunk/libjava/link.cc
trunk/libjava/scripts/makemake.tcl
trunk/libjava/sources.am