What does `hasParameterExpressions` have to do with `argumentsObjectNeeded`?

I believe the purpose is to point out to implementations that they can avoid creating the arguments object in some cases, as an optimization.

The spec doesn't usually do that kind of thing, but for some reason there are several such optimizations in this method. E.g. step 19 is not actually observable to user code, and is there just to point out to engines that a particular optimization is possible.

1 Like