aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2006-07-13 14:19:04 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2006-07-13 15:19:04 +0100
commit0ed431d48446d901139127e3ce9dc894f0ced6c8 (patch)
treec16339824342ade22665525f786ce50742fea606
parent18c3f977d0a09c3b96fa5ea69130bd625b128bde (diff)
downloadgcc-0ed431d48446d901139127e3ce9dc894f0ced6c8.zip
gcc-0ed431d48446d901139127e3ce9dc894f0ced6c8.tar.gz
gcc-0ed431d48446d901139127e3ce9dc894f0ced6c8.tar.bz2
builtins.c (check_for_builtin): If a builtin could result in a direct call being generated...
2006-07-12 Bryce McKinlay <mckinlay@redhat.com> * builtins.c (check_for_builtin): If a builtin could result in a direct call being generated, don't use it if flag_indirect_dispatch is set. From-SVN: r115414
-rw-r--r--gcc/java/ChangeLog10
-rw-r--r--gcc/java/builtins.c5
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index f923536..786d43d 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,13 @@
+2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
+
+ * builtins.c (check_for_builtin): If a builtin could result in a
+ direct call being generated, don't use it if flag_indirect_dispatch
+ is set.
+
+2006-07-12 Bryce McKinlay <mckinlay@redhat.com>
+
+ * gcj.texi (Invocation): Corrections for Invocation API example.
+
2006-07-04 Andrew Haley <aph@redhat.com>
* class.c (build_fieldref_cache_entry): Set DECL_IGNORED_P on the
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index 86aa00f..7793639 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -293,6 +293,11 @@ check_for_builtin (tree method, tree call)
method_arguments);
return result == NULL_TREE ? call : result;
}
+
+ /* Builtin functions emit a direct call which is incompatible
+ with the BC-ABI. */
+ if (flag_indirect_dispatch)
+ return call;
fn = built_in_decls[java_builtins[i].builtin_code];
if (fn == NULL_TREE)
return call;