Commit graph

1,001 commits

Author SHA1 Message Date
Martok
90eb83819c Issue #2435 - Re-Implement rejected Promises events according to spec
Own implementation; upstream gets several things wrong.
2024-01-09 12:00:53 +08:00
Martok
9126a4836f Issue #2435 - Implement notifying of rejected promises
Based-on: m-c 1362272
2024-01-09 12:00:33 +08:00
Martok
f059bb0a59 Issue #2240 - Align Microtasks and promises scheduling with spec
Microtasks, resolved Promises and Observers are handled after the sync
task that caused them, in the order they were generated.
Also simplifies reentrancy handling.

Based-on: m-c 1193394
2024-01-09 11:59:32 +08:00
Gaming4JC
10a37ae467 Issue #1442 Follow-up: Fix debug assertion in JSFun
Change in d5020b69bd introduced a debug build crash, this fixes the crash by properly porting the changes to an assertion as mentioned in issue #2410.
2024-01-05 10:09:09 +08:00
Matheus Marinho
2e330af8c4 No Issue - Fix syntax in js/src/jsapi-tests/moz.build 2024-01-05 10:07:09 +08:00
Brian Smith
eef37b2cd5 Issue #2387 - Collection of fixes related to a crash while canceling a dynamic import. Add AddRef/Release hooks for embedding's script or module private value and set this script source object where appropriate. https://bugzilla.mozilla.org/show_bug.cgi?id=1519140 Partial, no Value passing changes. Clear the list of dynamic import requests after cancelling them in ScriptLoader::ParsingComplete as we do for other requests. https://bugzilla.mozilla.org/show_bug.cgi?id=1291535 ScriptLoader::OnStreamComplete never returns a failure. https://bugzilla.mozilla.org/show_bug.cgi?id=1627275 Also cancel the correct kind of parser for Modules. 2023-11-30 09:51:50 +08:00
Basilisk-Dev
ae5bfc9ff2 No Issue - StructuredClone serialize and deserialize should treat back reference consistently
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1538622
2023-11-10 15:31:51 +08:00
Basilisk-Dev
727a24d78e No issue - Structured clone algorithm doesn't serialize Array Length contrary to HTML spec, resulting in truncation of trailing sparse arrays like [1,2,3,,]
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1476955
2023-11-10 15:31:33 +08:00
Brian Smith
cd66a17327 Issue #2354 - Restore ARM32 buildability on Linux. Fix ION breakages due to BigInt changes. Fix breakages from libjpeg, libyuv and libvpx upgrades. Restore ARM(32/64) NEON FPU support in libyuv. 2023-11-04 11:36:56 +08:00
Moonchild
e65b46ba0f Issue #2350 - Part 2: Allow "maximumFractionDigits" option in Intl.NumberFormat to be less than the default minimum fraction digits.
This implements the changes from the "has consensus" PR in TC39
The second pair of `DefaultNumberOption()` calls was inlined, because
only the fallback case is relevant anyway.

Steps 12.d and 12.e from the spec PR were combined into a single
`if`-block. That way it also matches step 12.f more closely.
Also changed the single `if` steps into an `if-else if` chain, because
the steps are mutually exclusive.
2023-10-21 11:04:15 +08:00
Moonchild
be81bae5b7 Issue #2350 - Part 1: Apply "minimumIntegerDigits" to number-formatters with fraction-digits.
Implements the changes to `SetNumberFormatDigitOptions` and
`FormatNumberToString`, except for the support of the new
"compact-rounding" mode.
This also includes a few minor fixes for edge cases (like -0 vs. 0)
2023-10-21 11:03:56 +08:00
Moonchild
735bb78c28 Issue #2350 - Part 0: Add a helper function DefaultNumberOption
This is the abstract operation that converts an option value to a number
value, checking whether it is in the allowed range, and filling in a
fallback value if necessary.
2023-10-21 11:03:34 +08:00
Brian Smith
46024cd872 Issue #1442 Follow-up: Stop pretending proxies have a JSNative call/construct hook. https://bugzilla.mozilla.org/show_bug.cgi?id=1471924 Part 1 Also remove an erroneous debug assert and guard against future issues. This fixes crashes on vk.com but still does not behave correctly. 2023-10-18 09:48:01 +08:00
Brian Smith
41409ab613 Issue #1442 & #1691 Follow-up - Part 22 - Changes that came with Dynamic Module Import. At the time we did not have ReadableStreams in our tree so these changes were left out. https://bugzilla.mozilla.org/show_bug.cgi?id=1499140 Implement support for dynamic module import in the interpreter. 2023-10-04 10:03:49 +08:00
Brian Smith
0701dccaca Issue #1442 - Part 5: Implement WebIDL bindings for Streams. https://bugzilla.mozilla.org/show_bug.cgi?id=1128959 2023-10-04 09:54:00 +08:00
Brian Smith
9b9075eef6 Issue #1442 - Part 4: Add JSAPI functions for working with ReadableStream. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:45 +08:00
Brian Smith
54e84f0f1d Issue #1442 - Part 3: Implement ReadableStream and associated classes in the JS engine. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:29 +08:00
Brian Smith
62467428a3 Issue #1442 - Part 2: Add a run-time preference for toggling the streams API. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:53:12 +08:00
Brian Smith
90ca1f569a Issue #1442 - Part 1: Change ArrayBufferCopyData self-hosting intrinsic to take a start offset for the destination. This will be needed to manage stream chunks. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697 2023-10-04 09:52:57 +08:00
Brian Smith
6d1b63e21b No Issue - IonMonkey: Don't test for a 3-byte opcode in a 2-byte opcode predicate. https://bugzilla.mozilla.org/show_bug.cgi?id=1390214 Silence increasingly loud warnings from clang, also could cause errant behavior. 2023-09-29 09:42:05 +08:00
André Bargull
51e4b86e6d [js] Handle dead wrappers 2023-09-28 11:50:55 +08:00
Brian Smith
61b73a894a Issue #2313 - Implement WebAssembly sign extension opcodes. https://bugzilla.mozilla.org/show_bug.cgi?id=1389461 2023-09-26 16:06:17 +08:00
Moonchild
3798308cff Issue #2307 - Follow-up: remove some missed SIMD scalar types. 2023-09-26 16:03:23 +08:00
Moonchild
45c19ce1c5 Issue #2307 - Part 3b: Fix build bustage. 2023-09-22 09:57:05 +08:00
Moonchild
50a4412750 Issue #2307 - Part 3: Remove SIMD.js support
This gets rid of the SIMD-specific scalar types in JS.
This considerably deviates from Mozilla's work because of our divergent
path.
2023-09-22 09:56:35 +08:00
Moonchild
b086ec848b Issue #2307 - Part 2b: Remove superfluous dev comment 2023-09-22 09:52:53 +08:00
Moonchild
20f39d9450 Issue #2307 - Part 2: Move SIMD code generation to masm methods 2023-09-22 09:52:31 +08:00
Moonchild
ba51ff6a74 Issue #2307 - Part 1: Extend masm with the pmovmskb SSE2 instruction. 2023-09-22 09:52:02 +08:00
Brian Smith
8f44226445 Issue #2308 & #1240 Follow-up - Fill in missing JSOP_INC/DEC cases for Doubles in Ion. 2023-09-20 09:31:08 +08:00
Brian Smith
209d714434 Issue #2308 & #1240 Follow-up - Replace JSOP_POS in ++/-- with JSOP_TONUMERIC. https://bugzilla.mozilla.org/show_bug.cgi?id=1519135 2023-09-20 09:30:06 +08:00
Brian Smith
2b637c564f Issue #2308 & #1240 Follow-up - Fill in missing JSOP_INC/DEC cases for Ion on Intel32/64. 2023-09-20 09:29:46 +08:00
Brian Smith
e12e377e51 Issue #2308 & #1240 Follow-up - Add BigInt support to JSOP_INC and JSOP_DEC. https://bugzilla.mozilla.org/show_bug.cgi?id=1526309 2023-09-20 09:29:18 +08:00
Brian Smith
5c8a6c5bb8 Issue #2308 & #1240 Follow-up - Introduce new increment and decrement operations. https://bugzilla.mozilla.org/show_bug.cgi?id=1508521 2023-09-20 09:29:01 +08:00
Brian Smith
e9202b0b0f Issue #2308 - Fix JSON BigInt regressions. https://bugzilla.mozilla.org/show_bug.cgi?id=1522433 2023-09-20 09:28:44 +08:00
Brian Smith
7392901a9b Issue #2026 Follow-up: Fill in missing BigInt64 cases in js::IsTypedArrayConstructor(). Hopefully fixes RSA errors on ProtonMail. 2023-09-20 09:28:07 +08:00
Martok
6ff7b5269e Issue #2298 - Support '#x in obj' ergonomic brand check syntax 2023-08-31 22:39:41 +08:00
Martok
b0d9f0e2ed Issue #2298 - Carry private-ness of names through ParseNodeHandler 2023-08-31 22:38:30 +08:00
Brian Smith
9f80f52d0a Issue #2255 - Disable untested code path in Stopwatch.(h|cpp). https://bugzilla.mozilla.org/show_bug.cgi?id=1325299 Multiprocessor support in Windows returned bogus times causing debug asserts. This may or may not be related to the issue but found it trying to debug it. 2023-08-17 09:13:23 +08:00
Martok
dc5702a0f2 Issue #2172 - add null zone sanity checks 2023-08-10 22:14:10 +08:00
Martok
8893997378 Issue #2172 - ensure pointers in RegExpShared are updated after GC compacting 2023-08-10 22:13:56 +08:00
Martok
cd1920af58 Issue #2172 - add missing RegExpShared TraceKind declaration 2023-08-10 22:13:21 +08:00
Brian Smith
0e1816aa4c No Issue - Fix building with --enable-js-lto Needed to include jscntxt.h due to de-unified building. 2023-08-08 09:43:24 +08:00
Brian Smith
5c3cedb141 Issue #1240 - Follow-up: Add missing JSVAL_TYPE_BIGINT cases in JitFrames.cpp. As pointed out by roytam1 during testing with Discord. 2023-07-29 23:43:04 +08:00
Brian Smith
df03810723 Issue #1240 - Follow-up: Fix incorrect values in Number() constructor. https://bugzilla.mozilla.org/show_bug.cgi?id=1466893 Our code base was using the return value to create the Number object. However with the BigInt changes, it is no longer stored in rval, use args[0]. 2023-07-29 23:42:50 +08:00
Brian Smith
b7e487bdf1 Issue #2026 - Part 4 - Fill in missing dense elements case and fix a comment. https://bugzilla.mozilla.org/show_bug.cgi?id=1456569 Skipped this during the initial implementation, not sure when or if this code path is used, but I figure it should be there just in case. Also fix debug builgs by removing an no longer valid MOZ_ASSERT. 2023-07-29 23:42:33 +08:00
Brian Smith
3ce9cf4deb Issue #2026 - Part 2b - Format BigInts representable as int64_t without first converting them to strings. https://bugzilla.mozilla.org/show_bug.cgi?id=1543677 2023-07-29 23:38:56 +08:00
Brian Smith
d972016c23 Issue #2026 - Part 2a - Support BigInt in NumberFormat and toLocaleString. https://bugzilla.mozilla.org/show_bug.cgi?id=1543677 2023-07-29 23:38:30 +08:00
Brian Smith
b64643e410 Issue #2026 - Part 1 - Implement BigInt64 and BigUint64Array. https://bugzilla.mozilla.org/show_bug.cgi?id=1456569 2023-07-29 23:38:09 +08:00
Brian Smith
15115c97fd Issue #1240 - Part 11 - Fix several issue reported on review. Skip over block delimiters when parsing BigInt literals. Update BigInt hashing to account for the possibility of moving GC. https://bugzilla.mozilla.org/show_bug.cgi?id=1531018 Make HashableValue comparison of BigInts infallible. https://bugzilla.mozilla.org/show_bug.cgi?id=1530406 Fix BigInt constructor API CallArgs usage. https://bugzilla.mozilla.org/show_bug.cgi?id=1526279 2023-07-25 09:15:38 +08:00
Brian Smith
2d5ee3c457 Issue #1240 - Part 10 - Implement minimal Ion support for BigInt. https://bugzilla.mozilla.org/show_bug.cgi?id=1507484 Implement IC support for BigInt. https://bugzilla.mozilla.org/show_bug.cgi?id=1522431 2023-07-25 09:15:18 +08:00