~ 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