diff --git a/js-assembler/assemble-helpers.rkt b/js-assembler/assemble-helpers.rkt index 9ab477e..8451284 100644 --- a/js-assembler/assemble-helpers.rkt +++ b/js-assembler/assemble-helpers.rkt @@ -311,7 +311,7 @@ (: assemble-control-stack-label/multiple-value-return (ControlStackLabel/MultipleValueReturn -> String)) (define (assemble-control-stack-label/multiple-value-return a-csl) - "M.control[M.control.length-1].label.multipleValueReturn") + "M.control[M.control.length-1].label.mvr") diff --git a/js-assembler/assemble.rkt b/js-assembler/assemble.rkt index 283182d..8319276 100644 --- a/js-assembler/assemble.rkt +++ b/js-assembler/assemble.rkt @@ -139,7 +139,8 @@ EOF [(symbol? stmt) (next)] [(LinkedLabel? stmt) - (fprintf op "~a.multipleValueReturn=~a;\n" + ;; Setting up multiple-value-return + (fprintf op "~a.mvr=~a;\n" (assemble-label (make-Label (LinkedLabel-label stmt))) (assemble-label (make-Label (LinkedLabel-linked-to stmt)))) (next)] diff --git a/js-assembler/runtime-src/baselib-functions.js b/js-assembler/runtime-src/baselib-functions.js index 46ab471..9946df6 100644 --- a/js-assembler/runtime-src/baselib-functions.js +++ b/js-assembler/runtime-src/baselib-functions.js @@ -72,12 +72,12 @@ return MACHINE.control.pop().label(MACHINE); } else if (returnArgs.length === 0) { MACHINE.argcount = 0; - return MACHINE.control.pop().label.multipleValueReturn(MACHINE); + return MACHINE.control.pop().label.mvr(MACHINE); } else { MACHINE.argcount = returnArgs.length; MACHINE.val = returnArgs.shift(); MACHINE.env.push.apply(MACHINE.env, returnArgs.reverse()); - return MACHINE.control.pop().label.multipleValueReturn(MACHINE); + return MACHINE.control.pop().label.mvr(MACHINE); } }; @@ -164,7 +164,7 @@ succ(returnValue); }); }; - afterGoodInvoke.multipleValueReturn = function (MACHINE) { + afterGoodInvoke.mvr = function (MACHINE) { plt.runtime.PAUSE( function (restart) { MACHINE.params['currentErrorHandler'] = oldErrorHandler; @@ -261,7 +261,7 @@ success(returnValue); }); }; - afterGoodInvoke.multipleValueReturn = function (MACHINE) { + afterGoodInvoke.mvr = function (MACHINE) { plt.runtime.PAUSE(function (restart) { MACHINE.params['currentErrorHandler'] = oldErrorHandler; var returnValues = [MACHINE.val];