With bug 1666009 we can mark these array functions taking a callback as "LargeInlinableFunction". However we still can't inline them afterwards. The problem seems to be the line: ```javascript var T = arguments.length > 1 ? arguments[1] : void 0; ``` In particular the `arguments[1]` access marks the script as uninlineable: https://searchfox.org/mozilla-central/source/js/src/jit/IonAnalysis.cpp#3800 As far as we know we use `arguments[1]` instead of having a second `thisArg` parameter because otherwise `function.length` would be 2. I don't really know what we should be doing here.
Bug 1687025 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
With bug 1666009 we can mark these array functions taking a callback as "LargeInlinableFunction". However we still can't inline them afterwards. The problem seems to be the line: ```javascript var T = arguments.length > 1 ? arguments[1] : void 0; ``` In particular the `arguments[1]` access marks the script as uninlineable: https://searchfox.org/mozilla-central/source/js/src/jit/IonAnalysis.cpp#3800 As far as I know we use `arguments[1]` instead of having a second `thisArg` parameter because otherwise `function.length` would be 2. I don't really know what we should be doing here.