sane comments
[cacao.git] / asmpart.h
index 6b15f6dece832368cc983261d781aaf4fc0733b2..29976f054da33c532a4b7eb3de0ed483288398f7 100644 (file)
--- a/asmpart.h
+++ b/asmpart.h
@@ -1,4 +1,4 @@
-/* asmpart.h - 
+/* asmpart.h - prototypes for machine specfic functions
 
    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser,
    Authors: Reinhard Grafl
             Andreas Krall
 
-   $Id: asmpart.h 557 2003-11-02 22:51:59Z twisti $
+   Changes: Christian Thalinger
+
+   $Id: asmpart.h 975 2004-03-25 18:09:45Z twisti $
 
 */
 
 
+#ifndef _ASMPART_H
+#define _ASMPART_H
+
 #include "global.h"
+#include "jni.h"
 
 /* 
    determines if the byte support instruction set (21164a and higher)
@@ -56,8 +62,6 @@ void asm_call_jit_compiler();
    with up to 4 parameters. This function calls a Java-method (which
    possibly needs compilation) with up to 4 parameters.
 */
-java_objectheader *asm_calljavamethod(methodinfo *m, void *arg1, void *arg2,
-                                      void *arg3, void *arg4);
 
 /* 
    This function calls a Java-method (which possibly needs compilation)
@@ -67,31 +71,38 @@ java_objectheader *asm_calljavamethod(methodinfo *m, void *arg1, void *arg2,
 */
 java_objectheader *asm_calljavafunction(methodinfo *m, void *arg1, void *arg2,
                                         void *arg3, void *arg4);
+java_objectheader *asm_calljavafunction2(methodinfo *m, u4 count, u4 size , void *callblock);
+jdouble asm_calljavafunction2double(methodinfo *m, u4 count, u4 size , void *callblock);
+jlong asm_calljavafunction2long(methodinfo *m, u4 count, u4 size , void *callblock);
+
+
 
 void asm_handle_exception();
 void asm_handle_nat_exception();
 
+void asm_check_clinit();
+
+void asm_handle_builtin_exception(classinfo *);
+
 /* 
    gets the class of the caller from the stack frame
 */
 methodinfo *asm_getcallingmethod();
 
+java_objectarray* Java_java_lang_VMSecurityManager_getClassContext(JNIEnv *env, jclass clazz);
+stacktraceelement *asm_get_stackTrace();
 
-/* 
-   This funtion saves all callee saved registers and calls the function
-   which is passed as parameter.
-   This function is needed by the garbage collector, which needs to access
-   all registers which are stored on the stack. Unused registers are
-   cleared to avoid interferances with the GC.
-*/
-void asm_dumpregistersandcall(functionptr f);
-
+/*java_lang_ClassLoader* Java_java_lang_VMSecurityManager_currentClassLoader(JNIEnv *env, jclass clazz);*/
 
 void *asm_switchstackandcall(void *stack, void *func, void **stacktopsave, void * p);
 
 void asm_builtin_trace();
 void asm_builtin_exittrace();
 
+int asm_xadd(int *, int);
+
+#endif /* _ASMPART_H */
+
 
 /*
  * These are local overrides for various environment variables in Emacs.