Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 150dba5b93243030da0a24fcbb9f3970b64a331b
https://github.com/WebKit/WebKit/commit/150dba5b93243030da0a24fcbb9f3970b64a331b
Author: Mark Lam <[email protected]>
Date: 2025-11-27 (Thu, 27 Nov 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/jit/AssemblyHelpers.h
M Source/JavaScriptCore/runtime/Structure.h
M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
Log Message:
-----------
Remove use of CompactPtr for Structure::m_classInfo.
https://bugs.webkit.org/show_bug.cgi?id=303079
rdar://165381788
Reviewed by Marcus Plutowski.
ClassInfo is located in CONST_DATA, and it is not guaranteed that CONST_DATA
will be located
in the same 36-bit address range that applies to heap allocated memory.
Also, sizeof(Structure) on iOS (and peers) is 104. With the removal of this
CompactPtr,
sizeof(Structure) increases to 112. However, on iOS, Structures require 32
atom (alignment),
which takes its size class up to 128. This means the size increase will be
completely
inconsequential, and does not actually increase memory use.
No new tests because this is simply changing the encoding of a field to match
that of macOS's.
It is already covered by existing tests.
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileFunctionToString):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::loadCompactPtr): Deleted.
(JSC::AssemblyHelpers::branchCompactPtr): Deleted.
* Source/JavaScriptCore/runtime/Structure.h:
(JSC::Structure::classInfoForCells const):
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::FunctionSignature::jsToWasmICEntrypoint const):
Canonical link: https://commits.webkit.org/303621@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications