* src/vm/exceptions.c (new_arraystoreexception): Renamed to
[cacao.git] / src / vm / builtin.h
index 612c31debf28262a003175b881126736e58e3d48..ed2a820730346514c7aaf2e551f39e37019b9bd0 100644 (file)
@@ -29,7 +29,7 @@
    Changes: Edwin Steiner
             Christian Thalinger
 
-   $Id: builtin.h 4792 2006-04-19 01:05:18Z edwin $
+   $Id: builtin.h 5251 2006-08-18 13:01:00Z twisti $
 
 */
 
 #include "arch.h"
 #include "toolbox/logging.h"
 
-#if defined(USE_THREADS)
-# if defined(NATIVE_THREADS)
-#  include "threads/native/threads.h"
-# else
-#  include "threads/green/threads.h"
-# endif
+#if defined(ENABLE_THREADS)
+# include "threads/native/threads.h"
 #endif
 
 #include "vm/jit/stacktrace.h"
@@ -81,8 +77,13 @@ typedef struct builtintable_entry builtintable_entry;
 struct builtintable_entry {
        s4           opcode;                /* opcode which is replaced           */
        functionptr  fp;                    /* function pointer of builtin        */
-       char        *descriptor;
-       char        *name;
+       char        *cclassname;            /* char name of the class             */
+       char        *cname;                 /* char name of the function          */
+       char        *cdescriptor;           /* char name of the descriptor        */
+       utf         *classname;             /* class of the function              */
+       utf         *name;                  /* name of the function               */
+       utf         *descriptor;            /* descriptor of the function         */
+       bool         checkexception;        /* check for exception after return   */
        methoddesc  *md;
 };
 
@@ -94,6 +95,8 @@ bool builtin_init(void);
 builtintable_entry *builtintable_get_internal(functionptr fp);
 builtintable_entry *builtintable_get_automatic(s4 opcode);
 
+bool builtintable_replace_function(instruction *iptr);
+
 
 /**********************************************************************/
 /* BUILTIN FUNCTIONS                                                  */
@@ -192,15 +195,6 @@ void builtin_trace_args(s8 a0, s8 a1,
 void builtin_displaymethodstop(methodinfo *m, s8 l, double d, float f);
 /* NOT AN OP */
 
-#if defined(USE_THREADS)
-void builtin_monitorenter(java_objectheader *o);
-#define BUILTIN_monitorenter (functionptr) builtin_monitorenter
-void builtin_staticmonitorenter(classinfo *c);
-#define BUILTIN_staticmonitorenter (functionptr) builtin_staticmonitorenter
-void builtin_monitorexit(java_objectheader *o);
-#define BUILTIN_monitorexit (functionptr) builtin_monitorexit
-#endif
-
 s4 builtin_idiv(s4 a, s4 b);
 #define BUILTIN_idiv (functionptr) builtin_idiv
 s4 builtin_irem(s4 a, s4 b);
@@ -309,17 +303,12 @@ float    builtin_d2f(double a);
 java_arrayheader *builtin_clone_array(void *env, java_arrayheader *o);
 /* NOT AN OP */
 
-/* this is a wrapper for calls from asmpart */
-java_objectheader **builtin_asm_get_exceptionptrptr(void);
+bool builtin_arraycopy(java_arrayheader *src, s4 srcStart,
+                                          java_arrayheader *dest, s4 destStart, s4 len);
+#define BUILTIN_arraycopy (functionptr) builtin_arraycopy
 
-#if defined(USE_THREADS) && defined(NATIVE_THREADS)
-static inline java_objectheader **builtin_get_exceptionptrptr(void);
-
-inline java_objectheader **builtin_get_exceptionptrptr(void)
-{
-       return &THREADINFO->_exceptionptr;
-}
-#endif
+s8 builtin_currenttimemillis(void);
+#define BUILTIN_currenttimemillis (functionptr) builtin_currenttimemillis
 
 #if defined(ENABLE_CYCLES_STATS)
 void builtin_print_cycles_stats(FILE *file);