~ chicken-core (chicken-5) c2e94e1940157222522b308934af20d68fd5814c
commit c2e94e1940157222522b308934af20d68fd5814c
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Jan 11 08:04:53 2010 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Mon Jan 11 08:04:53 2010 +0100
removed patches
diff --git a/patches/finalizer-closures.diff b/patches/finalizer-closures.diff
deleted file mode 100644
index 963d3bd1..00000000
--- a/patches/finalizer-closures.diff
+++ /dev/null
@@ -1,55 +0,0 @@
-Index: runtime.c
-===================================================================
---- runtime.c (Revision 12825)
-+++ runtime.c (Revision 12869)
-@@ -2701,10 +2701,15 @@
- /* Mark collectibles: */
- for(msp = collectibles; msp < collectibles_top; ++msp)
- if(*msp != NULL) mark(*msp);
--
-+
-+ /* mark GC roots: */
- for(gcrp = gc_root_list; gcrp != NULL; gcrp = gcrp->next)
- mark(&gcrp->value);
-
-+ /* mark finalizer procedures: */
-+ for(flist = finalizer_list; flist != NULL; flist = flist->next)
-+ mark(&flist->finalizer);
-+
- mark_system_globals();
- }
- else {
-@@ -2769,7 +2774,6 @@
-
- for(flist = finalizer_list; flist != NULL; flist = flist->next) {
- mark(&flist->item);
-- mark(&flist->finalizer);
- ++fcount;
- }
-
-@@ -2786,7 +2790,6 @@
- }
-
- mark(&flist->item);
-- mark(&flist->finalizer);
- }
- }
-
-@@ -2794,7 +2797,7 @@
- finalizers_checked = 1;
-
- if(pending_finalizer_count > 0 && gc_report_flag)
-- C_printf(C_text("[GC] finalizers pending for rescan:\t %d (%d live)\n"),
-+ C_printf(C_text("[GC] finalizers pending: %d (%d live)\n"),
- pending_finalizer_count, live_finalizer_count);
-
- goto rescan;
-@@ -2803,7 +2806,7 @@
- /* Copy finalized items with remembered indices into `##sys#pending-finalizers'
- (and release finalizer node): */
- if(pending_finalizer_count > 0) {
-- if(gc_report_flag) C_printf(C_text("[GC] queueing %d finalizers\n"), pending_finalizer_count);
-+ if(gc_report_flag) C_printf(C_text("[GC] finalizers queued: %d\n"), pending_finalizer_count);
-
- last = C_block_item(pending_finalizers_symbol, 0);
- assert(C_u_i_car(last) == C_fix(0));
diff --git a/patches/finalizer-exceptions.diff b/patches/finalizer-exceptions.diff
deleted file mode 100644
index 2167aa20..00000000
--- a/patches/finalizer-exceptions.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: library.scm
-===================================================================
-@@ -4250,6 +4257,7 @@
- (define ##sys#run-pending-finalizers
- (let ([vector-fill! vector-fill!]
- [print print]
-+ [with-exception-handler with-exception-handler]
- [working #f] )
- (lambda (state)
- (unless working
-@@ -4262,8 +4270,13 @@
- (do ([i 0 (fx+ i 1)])
- ((fx>= i c))
- (let ([i2 (fx+ 1 (fx* i 2))])
-- ((##sys#slot ##sys#pending-finalizers (fx+ i2 1))
-- (##sys#slot ##sys#pending-finalizers i2)) ) )
-+ (##sys#call-with-current-continuation
-+ (lambda (ret)
-+ (with-exception-handler
-+ ret
-+ (lambda ()
-+ ((##sys#slot ##sys#pending-finalizers (fx+ i2 1))
-+ (##sys#slot ##sys#pending-finalizers i2)))))) ) )
- (vector-fill! ##sys#pending-finalizers (##core#undefined))
- (##sys#setislot ##sys#pending-finalizers 0 0)
- (set! working #f) ) )
diff --git a/patches/record-rename.diff b/patches/record-rename.diff
deleted file mode 100644
index ce98e287..00000000
--- a/patches/record-rename.diff
+++ /dev/null
@@ -1,54 +0,0 @@
-Index: chicken-syntax.scm
-===================================================================
---- chicken-syntax.scm (revision 13204)
-+++ chicken-syntax.scm (working copy)
-@@ -46,8 +46,11 @@
- (lambda (x r c)
- (##sys#check-syntax 'define-record x '(_ symbol . #(symbol 0)))
- (let* ((name (cadr x))
-+ (prefix (symbol->string name))
-+ (name (if (##sys#current-module)
-+ (##sys#module-rename name (##sys#module-name (##sys#current-module)))
-+ name))
- (slots (cddr x))
-- (prefix (symbol->string name))
- (setters (memq #:record-setters ##sys#features))
- (%begin (r 'begin))
- (%define (r 'define))
-@@ -807,11 +810,21 @@
- 'define-record-printer (cons head body)
- '((symbol symbol symbol) . #(_ 1)))
- `(##sys#register-record-printer
-- ',(##sys#slot head 0)
-+ ',(if (##sys#current-module)
-+ (##sys#module-rename (##sys#slot head 0)
-+ (##sys#module-name
-+ (##sys#current-module)))
-+ (##sys#slot head 0))
- (,(r 'lambda) ,(##sys#slot head 1) ,@body)) ]
- [else
- (##sys#check-syntax 'define-record-printer (cons head body) '(symbol _))
-- `(##sys#register-record-printer ',head ,@body) ] ) ))))
-+ `(##sys#register-record-printer
-+ ',(if (##sys#current-module)
-+ (##sys#module-rename head
-+ (##sys#module-name
-+ (##sys#current-module)))
-+ head)
-+ ,@body) ] ) ))))
-
-
- ;;; Exceptions:
-@@ -874,7 +887,11 @@
- (##sys#er-transformer
- (lambda (form r c)
- (##sys#check-syntax 'define-record-type form '(_ variable #(variable 1) variable . _))
-- (let* ((t (cadr form))
-+ (let* ((t (if (##sys#current-module)
-+ (##sys#module-rename (cadr form)
-+ (##sys#module-name
-+ (##sys#current-module)))
-+ (cadr form)))
- (conser (caddr form))
- (pred (cadddr form))
- (slots (cddddr form))
Trap