Add tests for tail-call optimization
ECMAScript 2015 introduced tail call optimization for function calls occuring in a number of positions in the grammar. Assert expected behavior by triggering a large (but configurable) number of recursive function calls in these positions. Compliant runtimes will execute such programs without error; non-compliant runtimes are expected to fail these tests by throwing an error or crashing when system resources are exhausted.
Showing
- harness/tco-helper.js 4 additions, 0 deletionsharness/tco-helper.js
- test/language/expressions/call/tco-call-args.js 20 additions, 0 deletionstest/language/expressions/call/tco-call-args.js
- test/language/expressions/call/tco-member-args.js 19 additions, 0 deletionstest/language/expressions/call/tco-member-args.js
- test/language/expressions/comma/tco-final.js 19 additions, 0 deletionstest/language/expressions/comma/tco-final.js
- test/language/expressions/conditional/tco-cond.js 19 additions, 0 deletionstest/language/expressions/conditional/tco-cond.js
- test/language/expressions/conditional/tco-pos.js 19 additions, 0 deletionstest/language/expressions/conditional/tco-pos.js
- test/language/expressions/logical-and/tco-right.js 19 additions, 0 deletionstest/language/expressions/logical-and/tco-right.js
- test/language/expressions/logical-or/tco-right.js 19 additions, 0 deletionstest/language/expressions/logical-or/tco-right.js
- test/language/expressions/tagged-template/tco-call.js 25 additions, 0 deletionstest/language/expressions/tagged-template/tco-call.js
- test/language/expressions/tagged-template/tco-member.js 22 additions, 0 deletionstest/language/expressions/tagged-template/tco-member.js
- test/language/expressions/tco-pos.js 19 additions, 0 deletionstest/language/expressions/tco-pos.js
- test/language/statements/block/tco-stmt-list.js 19 additions, 0 deletionstest/language/statements/block/tco-stmt-list.js
- test/language/statements/block/tco-stmt.js 19 additions, 0 deletionstest/language/statements/block/tco-stmt.js
- test/language/statements/do-while/tco-body.js 21 additions, 0 deletionstest/language/statements/do-while/tco-body.js
- test/language/statements/for/tco-const-body.js 21 additions, 0 deletionstest/language/statements/for/tco-const-body.js
- test/language/statements/for/tco-let-body.js 21 additions, 0 deletionstest/language/statements/for/tco-let-body.js
- test/language/statements/for/tco-lhs-body.js 22 additions, 0 deletionstest/language/statements/for/tco-lhs-body.js
- test/language/statements/for/tco-var-body.js 21 additions, 0 deletionstest/language/statements/for/tco-var-body.js
- test/language/statements/if/tco-else-body.js 19 additions, 0 deletionstest/language/statements/if/tco-else-body.js
- test/language/statements/if/tco-if-body.js 19 additions, 0 deletionstest/language/statements/if/tco-if-body.js
Loading
Please register or sign in to comment