Commit Graph

40 Commits

Author SHA1 Message Date
roytam1 92f40774ad Merge remote-tracking branch 'origin/tracking' into custom 2026-05-19 09:39:53 +08:00
Basilisk-Dev d97a2eb04f Guard typed array JIT paths for resizable buffers 2026-05-19 09:36:34 +08:00
roytam1 b69cdf1cd1 js-random: 32bit: reduce a push-pop pair 2026-02-01 00:40:59 +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
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 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
Martok 6dbe2de6db Issue #2305 Part 3b: Create .indices and .indices.groups 2024-11-13 23:23:27 +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 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
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 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
Brian Smith 03734326e8 Issue #1240 - Part 5e - BigInt bitwise operators. https://bugzilla.mozilla.org/show_bug.cgi?id=1490387 2023-07-25 09:12:38 +08:00
Brian Smith c965fbdd10 Issue #1691 - Part 5: Don't pre-create module metadata object when compiling. https://bugzilla.mozilla.org/show_bug.cgi?id=1489477
(cherry picked from commit d83bad49f6b03894548fbf85fc18ad7e8cc19a93)
2023-04-30 21:17:26 +08:00
Brian Smith 7a6dab0b38 Issue #1691 - Part 4: Finish implementing call import. https://bugzilla.mozilla.org/show_bug.cgi?id=1499140
(cherry picked from commit 7bf7d64887944b127a72090dd62eb57f67c5089d)
2023-04-30 21:17:13 +08:00
Moonchild 82a2a67f07 No Issue - Ensure more OsiSpace
ensureOsiSpace(); was very much under-used. This adds more instances
where it makes sense to ensure Osi space before placing masm calls.
2023-03-20 10:43:36 +08:00
Martok e81a8d866d Issue #1285 - implement named capturing groups and named backrefs
- RegExpParser collects seen groups in named_captures_.
- After irregexp::ParsePattern has finished, RegExpParser::StoreNamedCaptureMap translates
  the parser data to RegExpCompileData.capture_name/index
- RegExpShared::initializeNamedCaptures takes these and builds a PlainObject map which
  is kept with the compiled expression
This is done because irregexp doesn't have access to the JS context and so can't allocate
any JSValues itself.
- for each match result, this map is used to build PlainObjects of name->match/undefined
  (extremely simplified from upstream at the expense of some perf)

IonMonkey switches to non-masm code path for expressions with named groups.
2022-12-24 08:09:39 +08:00
FranklinDM 5812721809 Issue #1894 - Part 4: Implement IonMonkey support for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:31 +08:00
Moonchild dabd32f955 Issue #1656 - Part 7: Nuke vim config lines in JS 2020-09-25 22:04:24 +08:00
wolfbeast 2996c783d8 Revert #1091 Remove unboxed object code phase 1 + extras.
This should be the last code backout for this. merging this branch
should get us back to the way we were (+ additional code changes for
later changes) as fasr as the unused unboxed code is concerned.
2020-02-27 07:34:57 +08:00
wolfbeast cfed2447da Revert #1137 - Remove unboxed arrays
- accounting for removal of watch()/unwatch()
- updated for intermediate code changes.
2020-02-27 07:34:50 +08:00
wolfbeast 47781d6165 Revert #1142 - Remove unboxed objects
- accounting for removal of watch()/unwatch()
2020-02-27 07:33:11 +08:00
Gaming4JC 06b3cb6ccd Bug 1331092 - Part 8: Support JSOP_TOASYNCITER in JIT.
Tag #1287
2019-12-18 09:17:00 +08:00
Gaming4JC 67b8cd621a Bug 1331092 - Part 6: Support JSOP_TOASYNCGEN in JIT.
Tag #1287
2019-12-18 09:16:57 +08:00
Gaming4JC 4f51cc381d 1344477 - Part 2: Optimize Array.prototype.splice with JSOP_NORVCALL. 2019-07-22 19:52:27 +08:00
Gaming4JC 417aa02122 1344477 - Part 1: Add JSOP_CALL_IGNORES_RV for function call that ignores return value. 2019-07-22 19:52:23 +08:00
Gaming4JC cc8cb910dd 1320408 - Part 14: Change some GlobalObject methods to static method. 2019-07-22 19:48:14 +08:00
wolfbeast c2c997f393 Remove now-unused parameter (prev. used for unboxed objects). 2019-06-28 20:11:21 +08:00
wolfbeast 7ec709fb70 Remove Unboxed Object code from jit, Part 4. 2019-06-28 20:11:07 +08:00
wolfbeast 0c434f7244 Fix unified deprot 2019-06-28 20:11:01 +08:00
wolfbeast c6c456b12b Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls. 2019-06-19 21:34:33 +08:00
wolfbeast 87f3c86484 Make use of ArrayObjects in favor of generic JS objects.
ArrayObjects has been a thing for years but been under-used. About time
they are used where prudent.
2019-06-19 21:34:21 +08:00
wolfbeast 54b6b407a9 Remove UnboxedArray code part 2 2019-06-19 21:34:02 +08:00
wolfbeast 5c15924907 Remove UnboxedArray code part 1 2019-06-19 21:33:59 +08:00
wolfbeast cc936df2e5 Remove unboxed object code from jit, Part 1 2019-05-24 21:56:13 +08:00
wolfbeast 8f16d02c34 Change inlining of intrinsics. 2019-02-16 00:01:15 +08:00
trav90 10b24b8110 Fix Value::isGCThing footgun, stop returning true for NullValue 2019-02-15 23:41:26 +08:00
janekptacijarabaci 5bf58e6044 Bug 1342553 - Part 0.2: Support JSOP_CHECKISCALLABLE in JIT
Issue #74
2019-02-15 23:39:30 +08:00
janekptacijarabaci 7bfe087f0c Part 3: Support JSOP_SETFUNNAME in Baseline and Ion
Issue #87
2019-02-15 23:38:47 +08:00
roytam1 dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00