From: Han-Wen Nienhuys Date: Mon, 11 Dec 2006 15:26:45 +0000 (+0100) Subject: cherry pick of GC stats fix. X-Git-Tag: release/2.10.2-1~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=847b1c00f39de83f768aedf09bbdc70b60cd2fce;p=lilypond.git cherry pick of GC stats fix. --- diff --git a/scm/lily.scm b/scm/lily.scm index b07bdfeeb9..5a1bdaa681 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -362,34 +362,37 @@ The syntax is the same as `define*-public'." ".scm")) (outfile (open-file out-file-name "w"))) - (display (format "Dumping gc protected objs to ~a...\n" out-file-name)) + (display (format "Dumping GC statistics ~a...\n" out-file-name)) (display (map (lambda (y) (let ((x (car y)) (c (cdr y))) - - (string-append - (string-join - (map object->string (list (object-address x) c x)) - " ") - "\n"))) - + (display + (format "~a (~a) = ~a\n" (object-address x) c x) + outfile))) (filter (lambda (x) (not (symbol? (car x)))) protects)) outfile) - ; (display (ly:smob-protects)) + (format outfile "\nprotected symbols: ~a\n" + (length (filter symbol? (map car protects)))) + + + + ;; (display (ly:smob-protects)) (newline outfile) (if (defined? 'gc-live-object-stats) (let* ((stats #f)) (display "Live object statistics: GC'ing\n") + (ly:reset-all-fonts) (gc) (gc) (ly:set-option 'debug-gc-assert-parsed-dead #t) (gc) - + (ly:set-option 'debug-gc-assert-parsed-dead #f) + (set! stats (gc-live-object-stats)) (display "Dumping live object statistics.\n") @@ -398,7 +401,26 @@ The syntax is the same as `define*-public'." (format outfile "~a: ~a\n" (car x) (cdr x))) (sort (gc-live-object-stats) (lambda (x y) - (string