Loading
Bug 1825014 part 2 - Implement ArgumentsLength() and GetArgument(i) intrinsics. r=iain
These can be used to replace uses of `arguments.length` and `arguments[i]` in self-hosted code. The frontend emits specialized bytecode ops for those instructions that access the frame directly. This means we no longer have to allocate an arguments object in the interpreter and Baseline for self-hosted functions. This speeds up many perf-sensitive builtins such as `ArrayMap`. Later patches convert all `arguments` uses in self-hosted code and add assertions to ensure we never create an arguments object for any self-hosted function. Differential Revision: https://phabricator.services.mozilla.com/D173952