From fec763fcfdaad01e5ebb8ca1d3ccee34ef65f099 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 22 Jan 2002 20:23:46 +0000 Subject: decl.c (java_init_decl_processing): Use add_predefined_file. * decl.c (java_init_decl_processing): Use add_predefined_file. Predefine RawData.java. (predef_filenames): Removed. (java_init_decl_processing): Don't register predef_filenames. * jcf-parse.c (add_predefined_file): New function. (predefined_filename_p): Rewrote. (predefined_filename_p): No longer static. * decl.c (java_init_decl_processing): Call initialize_builtins. * Make-lang.in (JAVA_OBJS): Added builtins.o. (java/builtins.o): New target. * builtins.c: New file. * parse.y (patch_invoke): Use build_call_or_builtin. * java-tree.h (build_call_or_builtin): Declare. (initialize_builtins): Declare. (java_set_exception_lang_code): Removed unused declaration. (PREDEF_FILENAMES_SIZE): Removed. (java_tree_index): Added JTI_PREDEF_FILENAMES. (predef_filenames): New define. (add_predefined_file): Declare. (predefined_filename_p): Declare. * expr.c (expand_invoke): Use build_call_or_builtin. From-SVN: r49091 --- gcc/java/expr.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gcc/java/expr.c') diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 39ba935..e3eaf35 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1780,7 +1780,8 @@ build_class_init (clas, expr) } tree -build_known_method_ref (method, method_type, self_type, method_signature, arg_list) +build_known_method_ref (method, method_type, self_type, + method_signature, arg_list) tree method, method_type ATTRIBUTE_UNUSED, self_type, method_signature ATTRIBUTE_UNUSED, arg_list ATTRIBUTE_UNUSED; { @@ -1794,13 +1795,13 @@ build_known_method_ref (method, method_type, self_type, method_signature, arg_li { /* We don't know whether the method has been (statically) compiled. Compile this code to get a reference to the method's code: - + SELF_TYPE->methods[METHOD_INDEX].ncode - + This is guaranteed to work (assuming SELF_TYPE has been initialized), since if the method is not compiled yet, its ncode points to a trampoline that forces compilation. */ - + int method_index = 0; tree meth; tree ref = build_class_ref (self_type); @@ -2110,8 +2111,8 @@ expand_invoke (opcode, method_ref_index, nargs) func = build_invokeinterface (dtable, method); } func = build1 (NOP_EXPR, build_pointer_type (method_type), func); - call = build (CALL_EXPR, TREE_TYPE (method_type), func, arg_list, NULL_TREE); - TREE_SIDE_EFFECTS (call) = 1; + + call = build_call_or_builtin (method, func, arg_list); if (check != NULL_TREE) { -- cgit v1.1