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-rules-x86.ins


From: Aleksey Demakov
Subject: [dotgnu-pnet-commits] libjit ChangeLog jit/jit-rules-x86.ins
Date: Sun, 26 Nov 2006 16:34:26 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    libjit
Changes by:     Aleksey Demakov <avd>   06/11/26 16:34:26

Modified files:
        .              : ChangeLog 
        jit            : jit-rules-x86.ins 

Log message:
        patch #5278

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.281&r2=1.282
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-rules-x86.ins?cvsroot=dotgnu-pnet&r1=1.22&r2=1.23

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.281
retrieving revision 1.282
diff -u -b -r1.281 -r1.282
--- ChangeLog   26 Nov 2006 12:05:02 -0000      1.281
+++ ChangeLog   26 Nov 2006 16:34:26 -0000      1.282
@@ -1,3 +1,8 @@
+2006-11-26  Kirill Kononenko  <address@hidden>
+
+       * jit/jit-rules-x86.ins: if JIT_USE_SIGNALS is defined do not emit
+       explicit division by zero check (patch #5278).
+
 2006-11-26  Aleksey Demakov  <address@hidden>
 
        * jit/jit-reg-alloc.c (choose_output_register): fix global register
@@ -261,7 +266,7 @@
        * jit/Makefile.am: add jit/jit-signal.c;
        * jit/jit-signal.c, jit/jit-internal.h: add _jit_signal_init();
        * jit/jit-init.c: call _jit_signal_init() if JIT_USE_SIGNALS is
-       defined.
+       defined. (patch #5278.)
 
 2006-08-11  Thomas Cort  <address@hidden>
 

Index: jit/jit-rules-x86.ins
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-rules-x86.ins,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- jit/jit-rules-x86.ins       26 Nov 2006 12:05:02 -0000      1.22
+++ jit/jit-rules-x86.ins       26 Nov 2006 16:34:26 -0000      1.23
@@ -550,11 +550,13 @@
        }
        [reg("eax"), reg, scratch("edx")] -> {
                unsigned char *patch, *patch2;
+#ifndef JIT_USE_SIGNALS
                x86_alu_reg_reg(inst, X86_OR, $2, $2);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
                inst = throw_builtin(inst, func, JIT_RESULT_DIVISION_BY_ZERO);
                x86_patch(patch, inst);
+#endif
                x86_alu_reg_imm(inst, X86_CMP, $2, -1);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
@@ -589,12 +591,14 @@
                x86_div_reg(inst, $3, 0);
        }
        [reg("eax"), reg, scratch("edx")] -> {
+#ifndef JIT_USE_SIGNALS
                unsigned char *patch;
                x86_alu_reg_reg(inst, X86_OR, $2, $2);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
                inst = throw_builtin(inst, func, JIT_RESULT_DIVISION_BY_ZERO);
                x86_patch(patch, inst);
+#endif
                x86_clear_reg(inst, X86_EDX);
                x86_div_reg(inst, $2, 0);
        }
@@ -624,11 +628,13 @@
        }
        [=reg("edx"), *reg("eax"), reg, scratch("edx")] -> {
                unsigned char *patch, *patch2;
+#ifndef JIT_USE_SIGNALS
                x86_alu_reg_reg(inst, X86_OR, $3, $3);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
                inst = throw_builtin(inst, func, JIT_RESULT_DIVISION_BY_ZERO);
                x86_patch(patch, inst);
+#endif
                x86_alu_reg_imm(inst, X86_CMP, $3, -1);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
@@ -659,12 +665,14 @@
                x86_div_reg(inst, $4, 0);
        }
        [=reg("edx"), *reg("eax"), reg, scratch("edx")] -> {
+#ifndef JIT_USE_SIGNALS
                unsigned char *patch;
                x86_alu_reg_reg(inst, X86_OR, $3, $3);
                patch = inst;
                x86_branch8(inst, X86_CC_NE, 0, 0);
                inst = throw_builtin(inst, func, JIT_RESULT_DIVISION_BY_ZERO);
                x86_patch(patch, inst);
+#endif
                x86_clear_reg(inst, X86_EDX);
                x86_div_reg(inst, $3, 0);
        }




reply via email to

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