* src/vm/jit/powerpc/codegen.c (codegen_emit): Fixed bug when taking
[cacao.git] / src / vm / builtintable.inc
index 6d85bc7f10124b959587c0612f20d8c99eedb29d..456f7158e432b30f1514d890a62cf29c3c3ce97a 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/builtintable.inc - tables of builtin functions
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+   Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
    C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
    E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
    J. Wenninger, Institut f. Computersprachen - TU Wien
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Christian Thalinger
-
-   Changes:
-
-   $Id: builtintable.inc 5251 2006-08-18 13:01:00Z twisti $
+   $Id: builtintable.inc 7745 2007-04-17 20:59:52Z twisti $
 
 */
 
@@ -719,6 +713,9 @@ static builtintable_entry builtintable_automatic[] = {
                false,
                NULL
        },
+#endif /* !SUPPORT_FLOAT */
+
+#if !SUPPORT_FLOAT || !SUPPORT_FLOAT_CMP
        {
                ICMD_FCMPL,
                BUILTIN_fcmpl,
@@ -743,7 +740,7 @@ static builtintable_entry builtintable_automatic[] = {
                false,
                NULL
        },
-#endif /* !SUPPORT_FLOAT */
+#endif /* !SUPPORT_FLOAT || !SUPPORT_FLOAT_CMP */
 
 
        /* double functions *******************************************************/
@@ -809,6 +806,9 @@ static builtintable_entry builtintable_automatic[] = {
                false,
                NULL
        },
+#endif /* !SUPPORT_DOUBLE */
+
+#if !SUPPORT_DOUBLE || !SUPPORT_DOUBLE_CMP
        {
                ICMD_DCMPL,
                BUILTIN_dcmpl,
@@ -833,7 +833,7 @@ static builtintable_entry builtintable_automatic[] = {
                false,
                NULL
        },
-#endif /* !SUPPORT_DOUBLE */
+#endif /* !SUPPORT_DOUBLE || !SUPPORT_DOUBLE_CMP */
 
 
        /* float/double functions *************************************************/
@@ -886,9 +886,16 @@ static builtintable_entry builtintable_automatic[] = {
 /* automatically replaced functions *******************************************/
 
 static builtintable_entry builtintable_function[] = {
+#if defined(ENABLE_JIT)
 
        /* java.lang.VMSystem.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V STATIC NATIVE */
 
+#if defined(__MIPS__) && (SIZEOF_VOID_P != 4)
+       /* We can't use this optimization on MIPS32, since it has only 4
+          argument registers and we use 8-byte stack slots.  The code
+          generated does not access the correct 5th argument (hint: *8
+          instead of *4). */
+
        {
                ICMD_BUILTIN,
                BUILTIN_arraycopy,
@@ -901,6 +908,7 @@ static builtintable_entry builtintable_function[] = {
                true,
                NULL
        },
+#endif
 
        /* java.lang.System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V PUBLIC STATIC */
 
@@ -952,6 +960,8 @@ static builtintable_entry builtintable_function[] = {
                NULL
        },
 
+#endif /* defined(ENABLE_JIT) */
+
        /* stop entry */
 
        {