Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f40dcdd0730da87608e5eec3469d8abbb513b681
https://github.com/WebKit/WebKit/commit/f40dcdd0730da87608e5eec3469d8abbb513b681
Author: Sosuke Suzuki <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
Log Message:
-----------
[JSC] LLInt prologue should zero the new frame 16 bytes per iteration
https://bugs.webkit.org/show_bug.cgi?id=320799
Reviewed by Yusuke Suzuki.
The LLInt prologue's frame-clearing loop from 199147@main zeroes the frame 8
bytes
per top-tested iteration, and on ARM64 the immediate store re-materializes zero
every iteration: 12 instructions per 16 bytes.
Both bounds are stack-aligned (numCalleeLocals is always rounded to
stackAlignmentRegisters and sp is aligned before the loop), so hoist the zero
register and store 16 bytes per bottom-tested iteration (stp on ARM64, two
storeq on X86_64): 4 instructions per 16 bytes on ARM64, 5 on X86_64.
* Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
Canonical link: https://commits.webkit.org/318432@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications