diff options
author | Ian Price <ianprice90@googlemail.com> | 2017-06-15 22:34:39 +0100 |
---|---|---|
committer | Ian Price <ianprice90@googlemail.com> | 2017-06-15 22:34:39 +0100 |
commit | 723fc850f604addee991b01b075efcfe16b0bdab (patch) | |
tree | 3d398909df0f1ea8c4842ce9d2ef54e3798f119c | |
parent | 602bfb559dc00375cacf3f70e04b8b80e5c5959f (diff) | |
download | guile-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.scm | 8 |
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")) |