Lazy checkcast and instanceof.
[cacao.git] / src / vm / jit / asmpart.h
index 5f472c8e6a5544355d86efca570a7f8609da4228..7e24ff6c6973a7c21caf6f330c849e94178a3691 100644 (file)
@@ -29,7 +29,7 @@
 
    Changes: Christian Thalinger
 
-   $Id: asmpart.h 2194 2005-04-03 16:13:27Z twisti $
+   $Id: asmpart.h 2260 2005-04-11 09:46:24Z twisti $
 
 */
 
@@ -45,6 +45,7 @@
 # endif
 #endif
 
+#include "vm/resolve.h"
 #include "vm/jit/stacktrace.h"
 
 
@@ -105,13 +106,10 @@ void calljava_xhandler();
 void calljava_xhandler2();
 #endif
 
-
 void asm_handle_exception();
 void asm_handle_nat_exception();
 void asm_handle_nullptr_exception();
 
-void asm_check_clinit();
-
 void asm_handle_builtin_exception(classinfo *);
 void asm_throw_and_handle_exception();
 #ifdef __ALPHA__
@@ -121,6 +119,25 @@ void asm_throw_and_handle_arrayindexoutofbounds_exception();
 #endif
 void asm_throw_and_handle_hardware_arithmetic_exception();
 
+/* code patching functions */
+void asm_get_putstatic(void);
+void asm_get_putfield(void);
+void asm_builtin_new(unresolved_class *uc);
+
+void asm_builtin_newarray(unresolved_class *uc);
+#define asm_BUILTIN_newarray (functionptr) asm_builtin_newarray
+
+void asm_builtin_multianewarray(unresolved_class *uc);
+#define asm_BUILTIN_multianewarray (functionptr) asm_builtin_multianewarray
+
+void asm_invokestatic_special(void);
+void asm_invokevirtual(void);
+void asm_invokeinterface(void);
+void asm_checkcast_interface(void);
+void asm_checkcast_class(void);
+void asm_check_clinit(void);
+
+
 stacktraceelement *asm_get_stackTrace();
 
 void *asm_switchstackandcall(void *stack, void *func, void **stacktopsave, void * p);