From 28dbb9a74aa225d6d134afec2feb73a02dbe8b72 Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Sat, 3 Sep 2011 20:05:22 -0400 Subject: [PATCH] continuing to optimize --- js-assembler/assemble.rkt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/js-assembler/assemble.rkt b/js-assembler/assemble.rkt index 6e5e40f..d1eebb2 100644 --- a/js-assembler/assemble.rkt +++ b/js-assembler/assemble.rkt @@ -395,12 +395,8 @@ EOF (: assemble-statement (UnlabeledStatement -> String)) ;; Generates the code to assemble a statement. (define (assemble-statement stmt) - (string-append - (if (current-emit-debug-trace?) - (format "if (typeof(window.console) !== 'undefined' && typeof(console.log) === 'function') { console.log(~s);\n}" - (format "~a" stmt)) - "") - (cond + (define assembled + (cond [(DebugPrint? stmt) (format "MACHINE.params.currentOutputPort.writeDomNode(MACHINE, $('').text(~a));" (assemble-oparg (DebugPrint-value stmt)))] [(AssignImmediateStatement? stmt) @@ -516,7 +512,15 @@ EOF val-string))] [(Comment? stmt) ;; TODO: maybe comments should be emitted as JavaScript comments. - ""]))) + ""])) + (cond + [(current-emit-debug-trace?) + (string-append + (format "if (typeof(window.console) !== 'undefined' && typeof(console.log) === 'function') { console.log(~s);\n}" + (format "~a" stmt)) + assembled)] + [else + assembled])) (define-predicate natural? Natural)