builtins.c (check_for_builtin): If a builtin could result in a direct call being...
authorBryce McKinlay <mckinlay@redhat.com>
Thu, 13 Jul 2006 14:19:04 +0000 (14:19 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Thu, 13 Jul 2006 14:19:04 +0000 (15:19 +0100)
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

gcc/java/ChangeLog
gcc/java/builtins.c

index f923536dc016b376e2b8e4f412baf5d1a4e295f1..786d43d3a200f467356f45e352bdb3da171a84ac 100644 (file)
@@ -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
index 86aa00f2bfde430714486a83d56ce10738c36de1..77936395cbbc76b085e3f3447e7a99869d448623 100644 (file)
@@ -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;