The multi-component Date constructor coerces every supplied argument, including arguments after the seven defined components. Those extra values must be evaluated by the call expression but not converted by Date.
Executed probe: an eighth argument with a throwing valueOf produces true,0 in Node (construction succeeds, no coercion). The saved before binary produces false,1 in both tree and required-bytecode modes.
Acceptance:
- Coerce only year/month/day/hour/minute/second/millisecond, once each in order; ignore further values without suppressing argument-expression evaluation.
- Use bounded local component storage instead of an arena allocation proportional to the argument count.
- Pin extra throwing/NaN/Symbol/BigInt values, observable expression evaluation, NaN and abrupt ordering, and inherited Date constructors against Node.
- Normal/unsuppressed TSan, GC-enabled required bytecode, and before/after full Date corpus checks pass.