~ chicken-core (chicken-5) 6c09f18961f7b0ae7a1baf7bc05f87bcc72d8e6c
commit 6c09f18961f7b0ae7a1baf7bc05f87bcc72d8e6c
Author: megane <meganeka@gmail.com>
AuthorDate: Wed Aug 21 08:51:04 2019 +0300
Commit: Peter Bex <peter@more-magic.net>
CommitDate: Sun Sep 15 11:26:43 2019 +0200
* scrutinizer.scm: Improve debug output
Print walk result at the same indentation level as the "walk:"
message. Prefix with "walked" so it's quicker to see what this message
is about.
The big banners are helpful for finding where the scrutiny starts.
Especially when there's a lot of define-types which generate debugging
output too.
Signed-off-by: Peter Bex <peter@more-magic.net>
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 76b2e208..369942ee 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -175,6 +175,7 @@
(else #f)))
(define (scrutinize node db complain specialize strict block-compilation)
+ (d "################################## SCRUTINIZE ##################################")
(define (report loc msg . args)
(when *complain?*
(warning
@@ -794,7 +795,7 @@
(for-each (lambda (n) (walk n e loc #f flow #f)) subs)
'*))))
(set! d-depth (sub1 d-depth))
- (dd " ~a -> ~a" class results)
+ (dd "walked ~a -> ~a flow: ~a" class results flow)
results)))
(let ((rn (walk (first (node-subexpressions node)) '() '() #f (list (tag)) #f)))
@@ -813,6 +814,7 @@
(debugging '(o e) "dropped branches" dropped-branches))
(when (positive? assigned-immediates)
(debugging '(o e) "assignments to immediate values" assigned-immediates))
+ (d "############################### SCRUTINIZE FINISH ##############################")
(when errors
(quit-compiling "some variable types do not satisfy strictness"))
rn)))
Trap