Parent: #496 Related: #493, #460, #459
Defect
Parser.validateStrictParams compares each simple formal parameter with every earlier formal parameter. A valid strict function with n unique parameters therefore performs Θ(n²) name comparisons even though the parser already uses hash-indexed UniqueFormalParameters validation for arrows, methods, generators, async functions, and non-simple lists.
This is a user-controlled frontend latency surface. Long unique lists are valid JavaScript and must not be rejected or special-cased.
Required change
- Add a deterministic representative/growth workload that isolates strict-parameter parsing.
- Make strict duplicate detection expected-linear while preserving reserved-name,
eval/arguments, destructuring, sloppy duplicate, generator/async, arrow, method, and abrupt syntax behavior. - Keep all state parser-invocation-local and allocation failure explicit.
- Measure exact-parent CPU work and memory; retain only a demonstrated improvement.
- Run focused frontend tests and the relevant test262 parser/function subtrees with no regressions.
No-workaround rules
No parameter-count blacklist, reduced syntax support, skipped duplicate checks, probabilistic equality, global mutable cache, or benchmark-only fast path.