Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 39f7f217cda397f19684d65158335d8783de7499
https://github.com/WebKit/WebKit/commit/39f7f217cda397f19684d65158335d8783de7499
Author: Sosuke Suzuki <[email protected]>
Date: 2026-10-01 (Thu, 01 Oct 2026)
Changed paths:
A JSTests/stress/for-of-fast-array-wide-operands.js
M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
Log Message:
-----------
[JSC] Inline the `FastArray` path of `op_iterator_next` in LLInt
https://bugs.webkit.org/show_bug.cgi?id=325774
Reviewed by Yusuke Suzuki.
322033@main inlined the FastArray path of op_iterator_next in Baseline JIT, but
LLInt still calls the slow path for every element just to compare the index
with the length, load the element, and increment the index.
This patch does the same in LLInt when the array has Int32 or Contiguous shape.
Everything else (other shapes, holes, the end of the iteration) still calls
the slow path.
Test: JSTests/stress/for-of-fast-array-wide-operands.js
* JSTests/stress/for-of-fast-array-wide-operands.js: Added.
(shouldBe):
* Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:
Canonical link: https://commits.webkit.org/322371@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications