8sa1-gcc/gcc/java
Alexandre Petit-Bianco 4009bb7d50 check-init.c (flags.h): Include
2001-08-08  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* check-init.c (flags.h): Include
	(check_init): Don't report uninitialized static class
	initialization flags, don't free bit index when doing static class
	initialization optimization.
	(check_for_initialization): Return type changed to `unsigned int.'
	(attach_initialized_static_class): New function.
	* class.c (add_method_1): Create the initialized static class
	table if necessary.
	(finish_class): Always emit deferred inline methods.
	* decl.c (emit_init_test_initialization): Moved to expr.c
	(complete_start_java_method): Don't traverse
	DECL_FUNCTION_INIT_TEST_TABLE.
	(lang_mark_tree): Mark hash tables in function decls.
	* expr.c (emit_init_test_initialization): Moved from decl.c.
	(build_class_init): Create LAG_DECL_SPECIFIC for the static class
	initialization flag, set DECL_CONTEXT and
	LOCAL_CLASS_INITIALIZATION_FLAG.
	(java_lang_expand_expr): Emit initialization code for static class
	initialized flags when entering block, if necessary.
	* gcj.texi (-fno-optimize-static-class-initialization): Documented.
	* java-tree.h (flag_optimize_sci): New global variable declaration.
	(DECL_FUNCTION_INITIALIZED_CLASS_TABLE): New macro.
	(DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND): Likewise.
	(LOCAL_FINAL_P): Fixed typo in comment.
	(FINAL_VARIABLE_P): Likewise.
	(LOCAL_CLASS_INITIALIZATIO_FLAG): New macro.
	(LOCAL_CLASS_INITIALIZATIO_FLAG_P): Likewise.
	(struct lang_decl): New fields `ict', `smic' and `cif.'
	(check_for_initialization): New returned value for global.
	(attach_initialized_static_class): New global function.
	(STATIC_CLASS_INIT_OPT_P): New macro.
	* lang-options.h (-fno-optimize-static-class-initialization): New flag.
	* lang.c (java_decode_option): Handle
	`-fno-optimize-static-class-initialization'
	* parse.y (start_complete_expand_method): New function.
	(java_expand_method_bodies): Likewise.
	(attach_init_test_initialization_flags): Likewise.
	(adjust_init_test_initialization): Likewise.
	(emit_test_initialization): Likewise.
	(java_complete_expand_methods): Nullify abstract and native method
	bodies.
	(java_complete_expand_method): New locals `fbody', `block_body'
	and `exception_copy.' Reorganized: directly return on empty method
	bodies, call `start_complete_expand_method', remember definitely
	initialized static class in function, don't expand method bodies.
	(java_expand_classes): Call `java_expand_method_bodies' before
	`finish_class' when compiling to native.
	(resolve_expression_name): Use `orig' after building outer class
	field access.
	(patch_invoke): Remember static method invokations.

(http://gcc.gnu.org/ml/gcc-patches/2001-08/msg00454.html)

From-SVN: r44733
2001-08-08 21:19:12 -07:00
..
.cvsignore
boehm.c
buffer.c
buffer.h
ChangeLog check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
chartables.h
check-init.c check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
class.c check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
config-lang.in * config-lang.in (target_libs): Copy from $libgcj_saved. 2001-04-25 21:30:21 +00:00
constants.c jcf-write.c (generate_bytecode_insns case SWITCH_EXPR): Fix thinko: If a single case, use if_icmpeq, not ifeq. 2001-04-26 11:32:22 -07:00
convert.h
decl.c check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
except.c
expr.c check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
gcj.texi check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
gen-table.pl Standardize header guards. 2001-05-25 18:31:47 -07:00
gjavah.c
java-except.h
java-opcodes.h
java-tree.def java-tree.def (JAVA_EXC_OBJ_EXPR): New. 2001-05-12 21:59:33 -07:00
java-tree.h check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
javaop.def
javaop.h Standardize header guards. 2001-05-25 18:31:47 -07:00
jcf-depend.c
jcf-dump.c
jcf-io.c [multiple changes] 2001-07-11 00:33:43 -07:00
jcf-parse.c Makefile.in (c-lex.o): Wrap long lines. 2001-07-11 20:51:46 +00:00
jcf-path.c
jcf-reader.c
jcf-write.c *** empty log message *** 2001-07-31 19:28:43 -07:00
jcf.h [multiple changes] 2001-07-05 15:33:44 -07:00
jv-scan.c jv-scan.c (version): Update copyright year. 2001-05-23 19:10:30 +01:00
jvgenmain.c re PR java/227 (mips-tfile:internal error (when compiling java code)) 2001-08-02 12:26:00 +00:00
jvspec.c re PR java/227 (mips-tfile:internal error (when compiling java code)) 2001-08-02 12:26:00 +00:00
keyword.gperf
keyword.h
lang-options.h check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
lang-specs.h [multiple changes] 2001-07-11 00:33:43 -07:00
lang.c check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
lex.c For PR java/2812: 2001-07-18 17:18:55 +00:00
lex.h For PR java/2812: 2001-07-18 17:18:55 +00:00
Make-lang.in For PR java/2812: 2001-07-18 17:18:55 +00:00
mangle_name.c
mangle.c jcf-io.c (read_zip_member): Cast to long in comparison with signed value. 2001-04-29 11:24:37 +00:00
parse-scan.y
parse.h [multiple changes] 2001-07-31 15:20:05 -07:00
parse.y check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
typeck.c jcf-io.c (read_zip_member): Cast to long in comparison with signed value. 2001-04-29 11:24:37 +00:00
verify.c * verify.c: Don't use // comments. 2001-07-07 18:26:11 +00:00
xref.c
xref.h
zextract.c
zipfile.h zipfile.h: Use GCC_JCF_H instead of JCF_H. 2001-06-23 09:22:20 -07:00