diff --git a/lib/6to5/transformation/templates/tail-call.js b/lib/6to5/transformation/templates/tail-call.js index e606340503..86fd368be2 100644 --- a/lib/6to5/transformation/templates/tail-call.js +++ b/lib/6to5/transformation/templates/tail-call.js @@ -5,6 +5,8 @@ this.context = context; } + Tail.prototype._isTailDescriptor = true; + var isRunning = false; return function (func, args, context) { @@ -13,7 +15,7 @@ isRunning = true; do { result = result.func.apply(result.context, result.args); - } while (result instanceof Tail); + } while (result instanceof Tail || (result && result._isTailDescriptor)); isRunning = false; } return result;