| Summary: | JSValueGetType() is incorrect for BigInt values | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Kasper Isager Dalsgarð <kasperisager> |
| Component: | JavaScriptCore | Assignee: | Yijia Huang <yijia_huang> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | d_degazio, mark.lam, ticaiolima, webkit-bug-importer, ysuzuki |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Mac (Apple Silicon) | ||
| OS: | macOS 13 | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=250719 | ||
| Bug Depends on: | 273705 | ||
| Bug Blocks: | |||
|
Description
Kasper Isager Dalsgarð
2023-01-12 05:47:02 PST
Hmmm, JSBigInt directly extends JSCell, and therefore, not is not a JSObject. We should fix this. On a related note, JSValueIsBigInt() would be great as well. The same goes for variants of JSValueMakeBigInt*() and JSValueToBigInt*(); those are sorely missed as well. Adding JSValueMakeBigInt*() and JSValueToBigInt*() is going to take a lot more time to make sure the API is correct. For converting BigInts to C primitives, there already seem to be private APIs available: https://github.com/WebKit/WebKit/blob/4abc58df4642909ba616e53f76f7e69b18934b18/Source/JavaScriptCore/runtime/JSCJSValue.h#L312-L313 (In reply to Kasper Isager Dalsgarð from comment #6) > For converting BigInts to C primitives, there already seem to be private > APIs available: > > https://github.com/WebKit/WebKit/blob/ > 4abc58df4642909ba616e53f76f7e69b18934b18/Source/JavaScriptCore/runtime/ > JSCJSValue.h#L312-L313 The complication isn't with the primitives. It's with getting the API correct e.g. for interactions with other API, for correctness, for security, for performance, etc. Designing that and testing it will take time. Noted! It also wasn't directly relevant to the initial bug report, so I'll open separate tickets. Is there any news on this? Do let me know if there's anything I can do to help get this fixed. I'd be more than happy to provide a patch as well. Thanks! Pull request: https://github.com/WebKit/WebKit/pull/19251 That's fantastic, thanks so much! That also deals with most of https://bugs.webkit.org/show_bug.cgi?id=250719, with the exception of conversion back to numbers. *** Bug 250719 has been marked as a duplicate of this bug. *** Committed 278275@main (c97a08d9e56f): <https://commits.webkit.org/278275@main> Reviewed commits have been landed. Closing PR #19251 and removing active labels. Reopened Bugzilla. Failed Xcode build, tracking revert in https://bugs.webkit.org/show_bug.cgi?id=273705. Pull request: https://github.com/WebKit/WebKit/pull/28121 Committed 278588@main (e8e344010871): <https://commits.webkit.org/278588@main> Reviewed commits have been landed. Closing PR #28121 and removing active labels. |