Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dbc50284d4cfe5c90b1a5189c1c199779af6ba04
https://github.com/WebKit/WebKit/commit/dbc50284d4cfe5c90b1a5189c1c199779af6ba04
Author: Yusuke Suzuki <[email protected]>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/jit/AssemblyHelpers.h
M Source/JavaScriptCore/runtime/JSBigInt.cpp
M Source/JavaScriptCore/runtime/JSBigInt.h
M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
Log Message:
-----------
[JSC] Inline storage into JSBigInt
https://bugs.webkit.org/show_bug.cgi?id=307225
rdar://169860687
Reviewed by Sosuke Suzuki.
Due to past several months clean up of JSBigInt, we are now nicely
separate temporary BigInt data from JSBigInt. So it becomes more and
more immutable data with already specified length. Also,
JSWebAssemblyArray / JSWebAssemblyStruct are inlining all the fields
into themselves, so there is no benefit of separating the storage from
JSBigInt. Let's just allocate JSBigInt in the similar manner to
JSWebAssemblyArray. It has trailing storage for Digit and use it. This
is dramatically faster for access, reducing complicated JIT handling.
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::toBigInt64):
* Source/JavaScriptCore/runtime/JSBigInt.cpp:
(JSC::JSBigInt::JSBigInt):
(JSC::JSBigInt::initialize):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::visitChildrenImpl): Deleted.
* Source/JavaScriptCore/runtime/JSBigInt.h:
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::FunctionSignature::jsToWasmICEntrypoint const):
Canonical link: https://commits.webkit.org/307016@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications