extern bool vm_initializing;
extern bool vm_exiting;
-extern u1 *intrp_main_stack;
-
-extern void **stackbottom;
+extern char *cacao_prefix;
+extern char *cacao_libjvm;
+extern char *classpath_libdir;
-extern char *mainstring;
+extern char *mainstring;
extern classinfo *mainclass;
+#if defined(ENABLE_INTRP)
+extern u1 *intrp_main_stack;
+#endif
+
/* vm_arg **********************************************************************
struct vm_arg {
u8 type;
- u8 data;
+
+ union {
+ u8 l;
+ float f;
+ double d;
+ } data;
};
void usage(void);
bool vm_create(JavaVMInitArgs *vm_args);
+void vm_run(JavaVM *vm, JavaVMInitArgs *vm_args);
s4 vm_destroy(JavaVM *vm);
void vm_exit(s4 status);
void vm_shutdown(s4 status);
void vm_exit_handler(void);
+void vm_abort(const char *text, ...);
+
/* Java method calling functions */
java_objectheader *vm_call_method(methodinfo *m, java_objectheader *o, ...);
java_objectheader *vm_call_method_valist(methodinfo *m, java_objectheader *o,