[JSC] JSBigInt::digitDiv has undefined behavior which causes test failures
Created attachment 341424 [details] Patch
I don't think we should have perf test right now. We should do that once features are implemented. (we do not have enough DFG and FTL coverage for JSBigInt. in this situation, numbers are not so meaningful.)
Created attachment 341425 [details] Patch
Created attachment 341426 [details] Patch
Created attachment 341427 [details] Patch
Comment on attachment 341427 [details] Patch Nice work! Thank you for this Patch. I think it is ready to go.
Comment on attachment 341427 [details] Patch I've come up with more efficient and clean code. Updating.
Created attachment 341443 [details] Patch
Created attachment 341444 [details] Patch
Created attachment 341445 [details] Patch
Comment on attachment 341445 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341445&action=review > Source/JavaScriptCore/runtime/JSBigInt.cpp:460 > + static constexpr const unsigned shiftMask = digitBits - 1; I don’t think we ever need const in an expression if we already have constexpr. > Source/JavaScriptCore/runtime/JSBigInt.h:123 > + static constexpr const unsigned maxLength = 1024 * 1024 / (sizeof(void*) * bitsPerByte); Ditto.
Comment on attachment 341445 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341445&action=review Thanks! >> Source/JavaScriptCore/runtime/JSBigInt.cpp:460 >> + static constexpr const unsigned shiftMask = digitBits - 1; > > I don’t think we ever need const in an expression if we already have constexpr. Fixed. >> Source/JavaScriptCore/runtime/JSBigInt.h:123 >> + static constexpr const unsigned maxLength = 1024 * 1024 / (sizeof(void*) * bitsPerByte); > > Ditto. Fixed.
Committed r232253: <https://trac.webkit.org/changeset/232253>
<rdar://problem/40607058>