aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-01-22 20:23:46 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-01-22 20:23:46 +0000
commitfec763fcfdaad01e5ebb8ca1d3ccee34ef65f099 (patch)
tree38b316a8ea04383d07bdceb8943a04f07e0917cc /gcc/java/expr.c
parent9ce3f7e5d3e94dbe814dbe1d2212064cb9084014 (diff)
downloadgcc-fec763fcfdaad01e5ebb8ca1d3ccee34ef65f099.zip
gcc-fec763fcfdaad01e5ebb8ca1d3ccee34ef65f099.tar.gz
gcc-fec763fcfdaad01e5ebb8ca1d3ccee34ef65f099.tar.bz2
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
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r--gcc/java/expr.c13
1 files changed, 7 insertions, 6 deletions
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)
{