Commit Graph

1333 Commits

Author SHA1 Message Date
roytam1 67885784d2 Merge remote-tracking branch 'origin/tracking' into custom 2026-02-27 07:01:48 +08:00
Moonchild be0566f463 No issue - Fix build issue.
Unified build deprot on some targets causing issues with the recently
added `mozilla:KnownNotNull` without this header.
2026-02-27 07:01:21 +08:00
roytam1 a00f6d4336 Merge remote-tracking branch 'origin/tracking' into custom 2026-02-26 09:04:13 +08:00
Moonchild 7bef52f38c [WASM] Make sure to assign module 2026-02-26 09:02:58 +08:00
Moonchild b7a01d4900 [WASM] Improve WasmModuleObject handling in WasmJS.cpp 2026-02-26 09:02:31 +08:00
Moonchild 6aa3331bdb No issue - Don't assign non-live hash table entry.
The problem here is that we use move assignment on a hash table entry that
is not live. Although all entries are constructed by
`HashTable::createTable`, they may subsequently be destroyed by
`HashTableEntry::destroyStoredT()`.

Therefore it is not safe to call any methods on a non live entry.
This causes a problem for GC barrier wrappers which assume that the object
state is valid (and presumably anything that does more than just write the
assigned data into memory).

The fix is to construct a new entry in-place.

Based on work by Jon Coppeard <jcoppeard@mozilla.com> in Bug 2009608
2026-02-26 09:00:37 +08:00
roytam1 d72f3921f8 Merge remote-tracking branch 'origin/tracking' into custom 2026-02-13 23:58:37 +08:00
Basilisk-Dev 113300ac3f Issue #2229 - Fix assertions in top-level await on x86_64 2026-02-13 23:58:18 +08:00
roytam1 1e3513c6b2 Merge remote-tracking branch 'origin/tracking' into custom 2026-02-13 07:16:58 +08:00
Basilisk-Dev 13a4a75cd0 Issue #2229 - Fix debug builds when visiting pages that utilize top-level await
Fix JSOP_AWAIT stack modeling for top‑level await in modules.
Ensure yield/await offsets are emitted for TLA scripts.
Allow interpreter prologue for resumed TLA module frames.
Fix MediaQueryList invariant for onchange handler.
2026-02-13 07:16:39 +08:00
roytam1 745f2ed97a Merge remote-tracking branch 'origin/tracking' into custom 2026-02-11 23:39:01 +08:00
Basilisk-Dev 6c67c6f665 Issue #2229 Followup - Handle re-entrant module instantiation/evaluation during async module loads 2026-02-11 23:38:37 +08:00
roytam1 db4abe3adb Merge remote-tracking branch 'origin/tracking' into custom 2026-02-11 07:02:34 +08:00
Basilisk-Dev 112460fa84 Issue #2229 - Add top level await tests 2026-02-11 07:02:14 +08:00
Basilisk-Dev d29f47f950 Issue #2229 - Add comment regarding JIT to top level await code 2026-02-11 07:01:57 +08:00
Basilisk-Dev 903f228fa0 Issue #2229 - add better comments on top level await code 2026-02-11 07:01:35 +08:00
Basilisk-Dev 2e88bbe575 Issue #2229 - Initial implementation of top level await functionality 2026-02-11 07:00:29 +08:00
roytam1 2bfccb8d2d Merge remote-tracking branch 'origin/tracking' into custom 2026-02-07 21:40:07 +08:00
Basilisk-Dev 6e0414ddb4 Issue #2551 - comment toSorted implementation 2026-02-07 21:39:31 +08:00
Basilisk-Dev 68a5ed17c3 Issue #2551 - Add toSorted test and do some final tweaks to toSorted to be compliant 2026-02-07 21:39:18 +08:00
Basilisk-Dev 89e4711761 Issue #2551 - Ensure toSorted is 100% spec compliant per multiple tests 2026-02-07 21:38:58 +08:00
Basilisk-Dev b8f6996928 Issue #2551 - Initial attempt at toSorted implementation 2026-02-07 21:38:43 +08:00
roytam1 b69cdf1cd1 js-random: 32bit: reduce a push-pop pair 2026-02-01 00:40:59 +08:00
roytam1 24ca693723 Merge remote-tracking branch 'origin/tracking' into custom 2026-01-29 07:43:35 +08:00
Andy 20525d238b Whitespace Compatibility for ICU 72+
ICU replaced the space prefixing the period with a narrow, non-breaking space, and occasionally, a thin space.
Until the rest of the world's scripts are ready to support this new convention, we un-replace these two whitespace characters with spaces again, but only in formatted dates and times.
This is not an ideal solution, as it could be possible that a custom format using one or both of these characters may be requested intentionally elsewhere in the string, but for now, this appears to be what other browsers do, so we're at least in parity with their edge case behavior.
2026-01-29 07:30:20 +08:00
roytam1 c619442e86 Merge remote-tracking branch 'origin/tracking' into custom 2026-01-27 19:58:00 +08:00
Moonchild 0dbad452e6 Issue #2895 - Implement 32-bit compatible Xoroshiro128++
This puts in a reduced-register version of Xoroshiro128++ which /just/
fits in our x86 7-register space by making use of an extra mState to
temporarily store the result to be passed back.

Resolves #2895
2026-01-27 19:54:38 +08:00
roytam1 454565b2ac js-random: reorder Xoroshiro128++ code flow to reduce intermediate registers 2026-01-27 10:09:10 +08:00
roytam1 952e3022b8 Revert "Revert "Issue #2895 - Replace XorShift128+ with Xoroshiro128++""
This reverts commit 75ca0c37f8.
2026-01-27 10:06:22 +08:00
roytam1 75ca0c37f8 Revert "Issue #2895 - Replace XorShift128+ with Xoroshiro128++"
non-64bit portion seems causing huge memory allocation and OOM later.
2026-01-17 22:58:12 +08:00
roytam1 965ace59c2 Merge remote-tracking branch 'origin/tracking' into custom 2026-01-14 06:53:57 +08:00
Moonchild d6e9c4d85b Issue #2895 - Follow-up: Fix JIT code generator for 32-bit targets.
Register64 isn't natively supported on 32-bit targets (ARM, MIPS32, x86)
so they require initializers with 2 32-bit register components.
Also, `rotateLeft64()` requires a temp register on 32-bit targets.
2026-01-14 06:30:38 +08:00
Moonchild 75ec48bc41 Issue #2895 - Part 3: Add manual test.
To visually verify random uniformity and make a quick check on performance.
2026-01-13 23:54:02 +08:00
Moonchild 5a0f190104 Issue #2895 - Part 2: Remove incorrect debug asserts.
x86/x64 MacroAssembler front-end rotate functions had comparison asserts
that do not seem to be correct; values being the same doesn't mean the
same regs were used.
2026-01-13 23:50:16 +08:00
Moonchild d23afa84e5 Issue #2895 - Part 1b: Update license block.
Adjust the BSD 2-clause license in `ExecutableAllocator.h` to reflect
multiple authors.
2026-01-13 23:49:50 +08:00
Moonchild d4341ea07a Issue #2895 - Part 1: Replace XorShift128+ with Xoroshiro128++
Surrounding structures remain the same because the bit width remains 128.
The more complicated algorithm requires more temp registers in LRandom
to account for intermediate result placeholders in the JITed version of
this algorithm.
2026-01-13 23:49:11 +08:00
roytam1 3e9ca11775 Merge remote-tracking branch 'origin/tracking' into custom 2026-01-09 23:06:12 +08:00
Moonchild 628f7cd764 Issue #2898 - Don't unroll to large stack probe loops.
Resolves #2898
2026-01-09 23:05:53 +08:00
roytam1 f202c0e91f Merge remote-tracking branch 'origin/tracking' into custom 2026-01-07 23:11:51 +08:00
Andy 13b8ede31d Sort replacements per language and per script to ensure the generated file has stable contents.
From BZ 1651032
2026-01-07 23:03:44 +08:00
Andy 0471f3bb8c Automatically determine current CLDR version when updating langtags.
From BZ 1642934
2026-01-07 23:03:30 +08:00
roytam1 eb2f347b3f Merge remote-tracking branch 'origin/tracking' into custom 2025-12-23 22:06:58 +08:00
Andy c77fea8760 Issue #2863 - Part 24 - Remove special-casing for Etc/UCT
From BZ 1543641 Part 3
2025-12-23 22:01:45 +08:00
Andy f728497818 Issue #2863 - Part 23 - Update tzdata in Spidermonkey 2025-12-23 22:01:23 +08:00
Andy 666b590bd4 Issue #2863 - Part 19 - Update CLDR to 48 2025-12-23 22:00:02 +08:00
Andy 852e690460 Issue #2863 - Part 18 - Update Unicode in Spidermonkey 2025-12-23 21:59:43 +08:00
roytam1 217374533f Merge remote-tracking branch 'origin/tracking' into custom 2025-12-23 21:52:03 +08:00
Andy a29a80493f Issue #2863 - Part 17 - Update ICU source to 78.1 2025-12-23 16:42:38 +08:00
roytam1 8ab835832a Merge remote-tracking branch 'origin/tracking' into custom 2025-12-23 16:33:01 +08:00
Andy 3f06fa4c2a Issue #2863 - Part 16 - Update locale canonicalization algorithm for changes from CLDR 39
From BZ 1718198
2025-12-23 16:32:13 +08:00