summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Price <ianprice90@googlemail.com>2017-06-15 22:34:39 +0100
committerIan Price <ianprice90@googlemail.com>2017-06-15 22:34:39 +0100
commit723fc850f604addee991b01b075efcfe16b0bdab (patch)
tree3d398909df0f1ea8c4842ce9d2ef54e3798f119c
parent602bfb559dc00375cacf3f70e04b8b80e5c5959f (diff)
downloadguile-723fc850f604addee991b01b075efcfe16b0bdab.tar.gz
Add #:js-inline? and #:js-flatten? debugging options
* module/language/js-il/compile-javascript.scm (compile-javascript): Check for #:js-inline? and #:js-flatten?, and turn off inline-single-calls and flatten-blocks respectively.
-rw-r--r--module/language/js-il/compile-javascript.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/module/language/js-il/compile-javascript.scm b/module/language/js-il/compile-javascript.scm
index 67a34921d..ed764410b 100644
--- a/module/language/js-il/compile-javascript.scm
+++ b/module/language/js-il/compile-javascript.scm
@@ -15,9 +15,13 @@
(eqv? obj (pointer->scm (make-pointer unbound-bits))))
(define (compile-javascript exp env opts)
- (set! exp (inline-single-calls exp))
+ (match (memq #:js-inline? opts)
+ ((#:js-inline? #f _ ...) #f)
+ (_ (set! exp (inline-single-calls exp))))
(set! exp (compile-exp exp))
- (set! exp (flatten-blocks exp))
+ (match (memq #:js-flatten? opts)
+ ((#:js-flatten? #f _ ...) #f)
+ (_ (set! exp (flatten-blocks exp))))
(values exp env env))
(define *scheme* (make-id "scheme"))