dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-insn.c


From: Aleksey Demakov
Subject: [dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-insn.c
Date: Mon, 10 Apr 2006 19:42:40 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    libjit
Branch:         
Changes by:     Aleksey Demakov <address@hidden>        06/04/10 19:42:40

Modified files:
        .              : ChangeLog 
        jit            : jit-insn.c 

Log message:
        initialize thrown_exception value

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/ChangeLog.diff?tr1=1.214&tr2=1.215&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-insn.c.diff?tr1=1.44&tr2=1.45&r1=text&r2=text

Patches:
Index: libjit/ChangeLog
diff -u libjit/ChangeLog:1.214 libjit/ChangeLog:1.215
--- libjit/ChangeLog:1.214      Sat Apr  8 09:26:05 2006
+++ libjit/ChangeLog    Mon Apr 10 19:42:40 2006
@@ -1,3 +1,8 @@
+2006-04-11  Aleksey Demakov  <address@hidden>
+
+       * jit/jit-insn.c (jit_insn_start_catcher): initialize
+       thrown_exception (the problem was found by Klaus).
+
 2006-04-08  Aleksey Demakov  <address@hidden>
 
        * jit/jit-opcode.c: add jump table into jit_opcodes array.
Index: libjit/jit/jit-insn.c
diff -u libjit/jit/jit-insn.c:1.44 libjit/jit/jit-insn.c:1.45
--- libjit/jit/jit-insn.c:1.44  Thu Apr  6 23:42:31 2006
+++ libjit/jit/jit-insn.c       Mon Apr 10 19:42:40 2006
@@ -7228,6 +7228,10 @@
 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;
@@ -7248,6 +7252,17 @@
        {
                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;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]