+ printf("Exception in thread \"main\" %s\n", classname);
+ exit(1);
+}
+
+void new_exception_message(char *classname, char *message)
+{
+ printf("Exception in thread \"main\" %s: %s\n", classname, message);
+ exit(1);
+}
+
+void new_exception_throwable(char *classname, java_objectheader *t) {}
+void new_exception_utfmessage(char *classname, utf *message)
+{
+ printf("Exception in thread \"main\" %s: ", classname);
+ utf_display(message);
+ printf("\n");
+ exit(1);
+}
+
+java_objectheader *literalstring_new(utf *u) { return NULL; }
+
+
+void literalstring_free(java_objectheader *o) {}
+void stringtable_update() { }
+void synchronize_caches() { }
+void asm_call_jit_compiler() { }
+void asm_calljavafunction() { }
+s4 asm_builtin_checkcast(java_objectheader *obj, classinfo *class) { return 0; }
+
+s4 asm_builtin_idiv(s4 a, s4 b) {return 0;}
+s4 asm_builtin_irem(s4 a, s4 b) {return 0;}
+s8 asm_builtin_ldiv(s8 a, s8 b) {return 0;}
+s8 asm_builtin_lrem(s8 a, s8 b) {return 0;}
+
+s4 asm_builtin_f2i(float a) { return 0; }
+s8 asm_builtin_f2l(float a) { return 0; }
+s4 asm_builtin_d2i(double a) { return 0; }
+s8 asm_builtin_d2l(double a) { return 0; }
+
+void use_class_as_object() {}
+void asm_builtin_monitorenter(java_objectheader *o) {}
+void asm_builtin_monitorexit(java_objectheader *o) {}
+
+s4 asm_builtin_checkarraycast(java_objectheader *obj, vftbl *target) {return 0;}
+
+#if defined(__MIPS__)
+void atomic_swap() {}
+void compare_and_swap() {}
+#endif
+
+
+#if defined(__I386__)
+s4 asm_builtin_arrayinstanceof(java_objectheader *obj, classinfo *class) { return 0; }
+void asm_builtin_newarray(s4 size, vftbl *arrayvftbl) {}
+#endif
+
+void asm_builtin_aastore(java_objectarray *a, s4 index, java_objectheader *o) {}
+
+u1 *createcompilerstub(methodinfo *m) {return NULL;}
+u1 *createnativestub(functionptr f, methodinfo *m) {return NULL;}
+u1 *oldcreatenativestub(functionptr f, methodinfo *m) {return NULL;}
+
+void removecompilerstub(u1 *stub) {}
+void removenativestub(u1 *stub) {}
+
+void asm_perform_threadswitch(u1 **from, u1 **to, u1 **stackTop) {}
+u1* asm_initialize_thread_stack(void *func, u1 *stack) { return NULL; }
+void thread_restartcriticalsection() {}
+void asm_switchstackandcall() {}
+void asm_handle_builtin_exception(classinfo *c) {}
+void asm_getclassvalues_atomic() {}
+
+#if defined(__DARWIN__)
+int cacao_catch_Handler() {}
+#endif
+
+#if defined(USE_THREADS) && defined(NATIVE_THREADS)
+threadcritnode asm_criticalsections;
+#endif
+
+java_objectheader *native_new_and_init(void *p) { return NULL; }
+
+
+/************************ global variables **********************/
+
+THREADSPECIFIC java_objectheader *_exceptionptr;
+
+chain *nativemethod_chain; /* chain with native methods */
+chain *nativeclass_chain; /* chain with processed classes */
+static chain *ident_chain; /* chain with method and field names in current class */
+FILE *file = NULL;
+static u4 outputsize;
+static bool dopadding;
+
+
+static void printIDpart(int c)
+{
+ if ((c >= 'a' && c <= 'z')
+ || (c >= 'A' && c <= 'Z')
+ || (c >= '0' && c <= '9')
+ || (c == '_'))
+ putc(c, file);
+ else
+ putc('_', file);