docs: function resolve() {
      var me = this,
          clone = me.benchmark,
          bench = clone._original;
  
      if (bench.aborted) {
        // cycle() -> clone cycle/complete event -> compute()'s invoked bench.run() cycle/complete
        me.teardown();
        clone.running = false;
        cycle(me);
      }
      else if (++me.cycles < clone.count) {
        // continue the test loop
        if (support.timeout) {
          // use setTimeout to avoid a call stack overflow if called recursively
          setTimeout(function() { clone.compiled.call(me, timer); }, 0);
        } else {
          clone.compiled.call(me, timer);
        }
      }
      else {
        timer.stop(me);
        me.teardown();
        delay(clone, function() { cycle(me); });
      }
    }