Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1ff6d45f35c140efefa6110b5d5a71a872f3821e https://github.com/WebKit/WebKit/commit/1ff6d45f35c140efefa6110b5d5a71a872f3821e Author: Joseph Griego <jgri...@igalia.com> Date: 2023-10-25 (Wed, 25 Oct 2023)
Changed paths: M Source/JavaScriptCore/jit/FPRInfo.h M Source/JavaScriptCore/jit/RegisterSet.cpp M Source/JavaScriptCore/llint/LowLevelInterpreter.asm M Source/JavaScriptCore/offlineasm/arm.rb Log Message: ----------- [JSC][armv7] Reserve `d14` as a scratch register for wasm JITs https://bugs.webkit.org/show_bug.cgi?id=263324 Reviewed by Justin Michaud. We really need an extra FP scratch register for wasm BBQ on armv7. In particular, we use the `nonPreservedNonArgumentFPR0` for this purpose, but we also ended up using register currently singled out as the `nonPreservedNonArgumentFPR0`, `d7` as an argument register in BBQ JIT contexts. To avoid the overlap, reserve `d14` as a scratch register--we copy exactly the approach used to reserve `d15` as a scratch FPR for the macroassembler [1]: though the register is callee-save in the platform ABI, we save/restore only at VM entry/exit and the register is volatile in VM contexts. [1] https://commits.webkit.org/250952@main * Source/JavaScriptCore/jit/FPRInfo.h: * Source/JavaScriptCore/jit/RegisterSet.cpp: (JSC::RegisterSetBuilder::vmCalleeSaveRegisters): * Source/JavaScriptCore/llint/LowLevelInterpreter.asm: * Source/JavaScriptCore/offlineasm/arm.rb: Canonical link: https://commits.webkit.org/269762@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes