~ chicken-core (chicken-5) 7b1614cd47dc4665ca75a129d5c526f2632a057e


commit 7b1614cd47dc4665ca75a129d5c526f2632a057e
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat May 15 23:01:50 2010 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sat May 15 23:01:50 2010 +0200

    div-by-0 checks is done at C level for fx/ and fxmod

diff --git a/library.scm b/library.scm
index 275582fe..00500fe5 100644
--- a/library.scm
+++ b/library.scm
@@ -694,17 +694,11 @@ EOF
 (define (fxodd? x) (##core#inline "C_i_fixnumoddp" x))
 (define (fxeven? x) (##core#inline "C_i_fixnumevenp" x))
 
-(define-inline (fx-check-divison-by-zero x y loc)
-  (when (eq? 0 y)
-    (##sys#error-hook (foreign-value "C_DIVISION_BY_ZERO_ERROR" int) loc x y) ) )
-
 (define (fx/ x y)
-  (fx-check-divison-by-zero x y 'fx/)
-  (##core#inline "C_u_fixnum_divide" x y) )
+  (##core#inline "C_fixnum_divide" x y) )
 
 (define (fxmod x y)
-  (fx-check-divison-by-zero x y 'fxmod)
-  (##core#inline "C_u_fixnum_modulo" x y) )
+  (##core#inline "C_fixnum_modulo" x y) )
 
 (define maximum-flonum (foreign-value "DBL_MAX" double))
 (define minimum-flonum (foreign-value "DBL_MIN" double))
Trap