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
Brian Smith
4aa193b16b
Issue #1240 - Part 9 - Fix incorrectly parsing decimal BigInt 0n. The decimal parser strips leading 0s, so prevent tokenbuf being empty.
2023-07-25 09:14:59 +08:00
Brian Smith
7a30b0fa2d
Issue #1240 - Part 8 - Fix incorrect asserts with debug enabled. Fix BigInt errors in remainder operations https://bugzilla.mozilla.org/show_bug.cgi?id=1524136 Also fix 2 debug asserts in fallthroughs due to missing BigInt cases.
2023-07-25 09:14:42 +08:00
Brian Smith
4a3f1b7570
Issue #1240 - Part 7 - Handle BigInt values in XPCVariant code. https://bugzilla.mozilla.org/show_bug.cgi?id=1603055
2023-07-25 09:14:25 +08:00
Brian Smith
1355043d40
Issue #1240 - Part 5g - Implement BigInt comparison operators. Implement BigInt support for equality operators. https://bugzilla.mozilla.org/show_bug.cgi?id=1486173 Part 3. Implement BigInt support for relational comparison operators. https://bugzilla.mozilla.org/show_bug.cgi?id=1492669
2023-07-25 09:14:06 +08:00
Brian Smith
bbbab3898f
Issue #1240 - Part 6c - Implement asIntN and asUintN methods for BigInt values. https://bugzilla.mozilla.org/show_bug.cgi?id=1501104
2023-07-25 09:13:51 +08:00
Brian Smith
e004b99054
Issue #1240 - Part 6b - Use ToIndex when constructing TypedArray with length argument. https://bugzilla.mozilla.org/show_bug.cgi?id=1317383 Part 2.
2023-07-25 09:13:36 +08:00
Brian Smith
e8f0ea219f
Issue #1240 - Part 6a - Implement BigInt.prototype.toLocaleString. https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 5.
2023-07-25 09:13:18 +08:00
Brian Smith
e3ec738471
Issue #1240 - Part 5f - Add DataView methods for BigInt access. https://bugzilla.mozilla.org/show_bug.cgi?id=1528582
2023-07-25 09:12:59 +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
20b52c9e2e
Issue #1240 - Part 5d - Use the radix when parsing BigInts. Fixes Hex, Octal and Binary BigInt literal parsing. Previously it was only parsing in decimal.
2023-07-25 09:12:20 +08:00
Brian Smith
d44e3c9941
Issue #1240 - Part 5c -Implement ToInt32OrBigInt operation. https://bugzilla.mozilla.org/show_bug.cgi?id=1490387
2023-07-25 09:12:02 +08:00
Brian Smith
44b5d8dec3
Issue #1240 - Part 5b - BigInt support for basic arithmetic operations. https://bugzilla.mozilla.org/show_bug.cgi?id=1471134 Parts 3-5.
2023-07-25 09:11:46 +08:00
Brian Smith
25ee810247
Issue #1240 - Part 5a - BigInt to Number conversion. https://bugzilla.mozilla.org/show_bug.cgi?id=1466893
2023-07-25 09:10:14 +08:00
Brian Smith
dc23241afb
Issue #1240 - Part 4 - Implement parser support for BigInt literals. https://bugzilla.mozilla.org/show_bug.cgi?id=1505849 Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1456568 Un-result-ified the BigInt XDR code, so we can enable it. https://bugzilla.mozilla.org/show_bug.cgi?id=1419094 Uninitialised memory read with BigInt right-shift https://bugzilla.mozilla.org/show_bug.cgi?id=1679003
2023-07-25 09:09:57 +08:00
Brian Smith
07b6c03dc7
Issue #1240 - Part 3c - Fast-forward to the V8 version of BigIntType. Disabling some sections temporarily since the dependencies are not there yet. Based on the following: https://bugzilla.mozilla.org/show_bug.cgi?id=1502797 https://bugzilla.mozilla.org/show_bug.cgi?id=1471134 https://bugzilla.mozilla.org/show_bug.cgi?id=1441098 Part 3 & 4 Add structured clone support for BigInt and Enable BigInt wrapping from DOM bindings. https://bugzilla.mozilla.org/show_bug.cgi?id=1522738
2023-07-25 09:09:18 +08:00
Brian Smith
d42d5ce138
Issue #1240 - Part 3b - Implement WrappingOperations.h for wraparound math operations & conversions. https://bugzilla.mozilla.org/show_bug.cgi?id=1441657 Implement mozilla::WrappingMultiply. Prerequisite for our V8 fast forward.
2023-07-25 09:08:56 +08:00
Brian Smith
ddd49121a6
Issue #1240 - Part 3a - Adjust mozilla::FloatingPoint<T>'s definition. So only the barest details are specified for floating-point encodings, with every other number, bit mask, &c. mathematically derived. Also add a bunch of documentation comments. https://bugzilla.mozilla.org/show_bug.cgi?id=1508725 Prerequisite for our V8 fast forward.
2023-07-25 09:08:39 +08:00
Brian Smith
13ac0d6483
Issue #1240 - Part 2 - Define the BigIntObject class for BigInt wrapper objects. Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 3. In our Part 3 we will fast forward to the V8 implementation skipping GMP.
2023-07-25 09:08:22 +08:00
Brian Smith
f041afc61d
Issue #1240 - Part 1 - Define a new BigInt primitive type. Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1366287 Part 1.0. However leaving out the --enable-bigint changes.
2023-07-25 09:08:03 +08:00
Martok
76052fcda8
Issue #2271 - Use declared names of self-hosted functions for cloning
...
Ensure that cloning a self-hosted function always has access to the declared
name from the source and that it doesn't get lost on successive clones.
This is done by storing the declared name in an extended slot on rename, and
cloning it with the function.
Based-on: m-c 1546232
2023-07-14 10:20:43 +08:00
Martok
3eb7729d04
Issue #2271 - Separate cloning of native and interpreted functions
...
Separate code paths make it easier to follow and specialize than a single
one-size-fits-all function.
Based-on: m-c 1405766, 1411954
2023-07-14 10:20:28 +08:00