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

Reply via email to