[Top][All Lists]
[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);
}