         o 'gc()V', (rs) ->
             # No universal way of forcing browser to GC, so we yield in hopes
             # that the browser will use it as an opportunity to GC.
-            rs.curr_frame().resume = -> # NOP
+            rs.curr_frame().runner = -> rs.meta_stack().pop()
             throw new exceptions.YieldIOException (cb) -> setTimeout(cb, 0)
       ]
       Shutdown: [

  if node?
    # For the browser implementation -- the DOM doesn't get repainted
    # unless we give the event loop a chance to spin.
    rs.curr_frame().resume = -> # NOP
    throw new exceptions.YieldIOException (cb) -> setTimeout(cb, 0)



              return if bytes_read == 0 and n_bytes isnt 0 then -1 else bytes_read
            # reading from System.in, do it async
            result = null # will be filled in after the yield
            rs.curr_frame().runner = ->
              rs.meta_stack().pop()
              rs.push result
            throw new exceptions.YieldIOException (cb) ->
              rs.async_input n_bytes, (bytes) ->
                byte_arr.array[offset+idx] = b for b, idx in bytes
