diff --git a/js-assembler/runtime-src/runtime.js b/js-assembler/runtime-src/runtime.js index 07c65b2..398fb9e 100644 --- a/js-assembler/runtime-src/runtime.js +++ b/js-assembler/runtime-src/runtime.js @@ -441,13 +441,14 @@ // var recomputeMaxNumBouncesBeforeYield; - var scheduleTrampoline = function(MACHINE, f) { + var scheduleTrampoline = function(MACHINE, f, before) { setTimeout( function() { MACHINE.exclusiveLock.acquire( 'scheduleTrampoline', function(release) { release(); + if (before) { before(); } MACHINE.trampoline(f); }); }, @@ -460,8 +461,7 @@ var makeRestartFunction = function(MACHINE) { var oldArgcount = MACHINE.a; return function(f) { - MACHINE.a = oldArgcount; - return scheduleTrampoline(MACHINE, f); + return scheduleTrampoline(MACHINE, f, function() { MACHINE.a = oldArgcount; }); }; }; diff --git a/version.rkt b/version.rkt index 10e1aaf..750354d 100644 --- a/version.rkt +++ b/version.rkt @@ -7,4 +7,4 @@ (provide version) (: version String) -(define version "1.98") +(define version "1.100")