gcc/gcc/java ChangeLog decl.c except.c expr.c ...

aph@gcc.gnu.org aph@gcc.gnu.org
Thu Jul 31 16:53:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	aph@gcc.gnu.org	2003-07-31 16:52:59

Modified files:
	gcc/java       : ChangeLog decl.c except.c expr.c java-except.h 
	                 java-gimplify.c java-tree.h jcf-parse.c parse.y 

Log message:
	2003-07-31  Andrew Haley  <aph@redhat.com>
	
	* java-tree.h: (add_stmt_to_compound): New function.
	(java_add_stmt): New function.
	(java_add_local_var): New function.
	(get_stmts): New function.
	* java-gimplify.c (java_gimplify_block): Allow for null body.
	* except.c (link_handler): Set h->stmt.
	(expand_start_java_handler): Build a TRY_CATCH_EXPR for this
	range;  don't expand_eh_region_start.
	(expand_end_java_handler): Rewrite.
	* java-except.h (stmt): New field.
	* expr.c (flush_quick_stack): Replace expand_assignment with
	java_add_stmt.
	(java_stack_dup): Replace emit_move_insn with java_add_stmt.
	(build_java_athrow): Replace expand_expr_stmt with java_add_stmt.
	(build_java_jsr): Replace emit_jump with java_add_stmt (build (GOTO_EXPR))
	(build_java_ret): Replace expand_computed_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_java_arraystore): Replace expand_assignment with
	java_add_stmt.
	(expand_java_return): Replace expand_return with
	java_add_stmt (build (RETURN_EXPR))
	(expand_load_internal): Remove layout_decl, DECL_REGISTER,
	expand_decl, and expand_decl_init.  Instead, add the local
	variable and a MODIFY_EXPR to the current tree.
	(expand_iinc): Replace expand_assignment with
	java_add_stmt.
	(expand_compare): Replace expand_cond with
	java_add_stmt(build (COND_EXPR))
	(expand_java_goto): Replace expand_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_invoke): Replace expand_expr_stmt with java_add_stmt.
	(build_jni_stub): Generate a BIND_EXPR to hold the block we've
	created.  Don't distinguish between source and byte compiler.
	(expand_java_field_op):  Replace expand_assignment with
	java_add_stmt.
	(java_expand_expr): Abort.  No-one should call this function any
	more.
	(expand_byte_code): Replace expand_label with
	java_add_stmt (build (LABEL_EXPR))
	(process_jvm_instruction): Replace build (JAVA_EXC_OBJ_EXPR) with
	build_exception_object_ref.  Replace expand_assignment with
	java_add_stmt.
	* except.c (link_handler): Null stmt field.
	(expand_start_java_handler): Don't expand_eh_region_start.
	Instead, generate a TRY_CATCH_EXPR and insert it into the tree
	we're building.
	(expand_end_java_handler): Don't expand_start_all_catch.  Instead,
	build a TRY_FINALLY_EXPR and wrap the catch block with it.
	Don't expand_end_all_catch.
	* decl.c (push_jvm_slot): Call pushdecl().
	(find_local_variable): Give symbolic names to unnamed local
	variables.
	(struct binding_level: stmts): New field.
	(poplevel): If any statements have been generated at this level,
	create a BIND_EXPR to hold them and copy the variables to it.  If
	we are at the outermost level, save this BIND_EXPR in the
	DECL_SAVED_TREE of this function.
	(maybe_pushlevels): Don't expand_start_bindings.
	(maybe_poplevels): Don't expand_end_bindings.
	(complete_start_java_method): Reorganize static initialization and
	synchronization logic for source compiler.  Remove pushlevel and
	expand_start_bindings for byte compiler.
	(end_java_method): Don't expand_end_bindings.  Add static
	initialization and synchronization logic for byte compiler.
	Set cfun->x_whole_function_mode_p.
	Call gimplify_function_tree and optimize_function_tree and
	expand_expr_stmt.
	(add_stmt_to_compound): New.
	(java_add_stmt): New.
	(java_add_local_var): New.
	(get_stmts): New.
	* parse.y (add_stmt_to_compound): Remove.
	* jcf-parse.c (parse_class_file): Don't call expand_expr_stmt for
	a native method -- we'll do that later.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1019.2.32&r2=1.1019.2.33
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/decl.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.128.2.17&r2=1.128.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/except.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.27.2.7&r2=1.27.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/expr.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.147.2.17&r2=1.147.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-except.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.9.32.2&r2=1.9.32.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-gimplify.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.153.2.20&r2=1.153.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/jcf-parse.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.118.2.14&r2=1.118.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/parse.y.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.387.2.26&r2=1.387.2.27



More information about the Gcc-cvs mailing list