+2006-04-11 Aleksey Demakov <ademakov@gmail.com>
+
+ * jit/jit-insn.c (jit_insn_start_catcher): initialize
+ thrown_exception (the problem was found by Klaus).
+
2006-04-08 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-opcode.c: add jump table into jit_opcodes array.
jit_value_t jit_insn_start_catcher(jit_function_t func)
{
jit_value_t value;
+#if !defined(JIT_BACKEND_INTERP)
+ jit_value_t last_exception;
+ jit_type_t type;
+#endif
if(!_jit_function_ensure_builder(func))
{
return 0;
{
return 0;
}
+#else
+ type = jit_type_create_signature(jit_abi_cdecl, jit_type_void_ptr, 0, 0, 1);
+ if(!type)
+ {
+ return 0;
+ }
+ last_exception = jit_insn_call_native(
+ func, "jit_exception_get_last",
+ (void *)jit_exception_get_last, type, 0, 0, JIT_CALL_NOTHROW);
+ jit_insn_store(func, value, last_exception);
+ jit_type_free(type);
#endif
return value;
}