+ i386_push_imm(0);
+ i386_push_reg(REG_ITMP1_XPTR);
+
+/*get the fillInStackTrace Method ID. I simulate a native call here, because I do not want to mess around with the
+java stack at this point*/
+ i386_mov_membase_reg(REG_ITMP1_XPTR, OFFSET(java_objectheader, vftbl), REG_ITMP3);
+ i386_mov_membase_reg(REG_ITMP3, OFFSET(vftbl,class), REG_ITMP1);
+ i386_push_imm(utf_fillInStackTrace_desc);
+ i386_push_imm(utf_fillInStackTrace_name);
+ i386_push_reg(REG_ITMP1);
+ i386_mov_imm_reg((s4) class_resolvemethod, REG_ITMP3);
+ i386_call_reg(REG_ITMP3);
+/*cleanup parameters of class_resolvemethod*/
+ i386_alu_imm_reg(I386_ADD,3*4 /*class reference + 2x string reference*/,REG_SP);
+/*prepare call to asm_calljavafunction2 */
+ i386_push_imm(0);
+ i386_push_imm(TYPE_ADR); /* --> call block (TYPE,Exceptionptr), each 8 byte (make this dynamic) (JOWENN)*/
+ i386_push_reg(REG_SP);
+ i386_push_imm(sizeof(jni_callblock));
+ i386_push_imm(1);
+ i386_push_reg(REG_RESULT);
+
+ i386_mov_imm_reg((s4) asm_calljavafunction2, REG_ITMP3);
+ i386_call_reg(REG_ITMP3);
+
+ /* check exceptionptr + fail (JOWENN)*/
+
+ i386_alu_imm_reg(I386_ADD,6*4,REG_SP);
+
+ i386_pop_reg(REG_ITMP1_XPTR);
+ i386_pop_reg(REG_ITMP3); /* just remove the no longer needed 0 from the stack*/