Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b916e2ba4eea871087af542481ca559c8723613c
https://github.com/WebKit/WebKit/commit/b916e2ba4eea871087af542481ca559c8723613c
Author: Yusuke Suzuki <[email protected]>
Date: 2025-12-10 (Wed, 10 Dec 2025)
Changed paths:
M Source/JavaScriptCore/runtime/JSBigInt.cpp
M Source/JavaScriptCore/runtime/JSBigInt.h
Log Message:
-----------
[JSC] Implement DIV2BY1 division algorithm
https://bugs.webkit.org/show_bug.cgi?id=303964
rdar://166268064
Reviewed by Sosuke Suzuki.
Implement "Division by Invariant Integers using Multiplication"'s DIV2BY1
algorithm,
which is widely used in various compilers and BigInt implementations.
This performs division faster by using pre-computed inverse number of
the divisor. This is effective when we repeatedly divides numbers with
the same divisor. This is common in our JSBigInt division / remainder
algorithm.
We also remove inplaceSub etc. case when qhat is 0. qhatvSpan becomes
complete zeros, and inplaceSub etc. has zero effect.
* Source/JavaScriptCore/runtime/JSBigInt.cpp:
(JSC::DigitDiv::DigitDiv):
(JSC::DigitDiv::div):
(JSC::DigitDiv::calculateInverse):
(JSC::JSBigInt::divideTextbook):
* Source/JavaScriptCore/runtime/JSBigInt.h:
Canonical link: https://commits.webkit.org/304278@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications