Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c0e48d007a10a46cdffaf60b81fd90cf8c287357
https://github.com/WebKit/WebKit/commit/c0e48d007a10a46cdffaf60b81fd90cf8c287357
Author: Sosuke Suzuki <[email protected]>
Date: 2026-07-14 (Tue, 14 Jul 2026)
Changed paths:
M Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
Log Message:
-----------
[JSC] LLInt should record `IterationMode::Generic` in `op_iterator_next` and
`op_async_iterator_next`
https://bugs.webkit.org/show_bug.cgi?id=319363
Reviewed by Keith Miller.
Unlike the baseline JIT, the LLInt's generic branches of op_iterator_next and
op_async_iterator_next do not record IterationMode::Generic, so the DFG sees
seenModes == 0 for LLInt-only generic sites and plants ForceOSRExit there.
Record the Generic bit in the LLInt generic branches, matching the baseline JIT.
This removes the OSR exit + recompile cycle for such sites.
* Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:
Canonical link: https://commits.webkit.org/317147@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications