Moonchild
788cc4acb2
No issue - Add range checking to SharedArrayBuffer references.
...
This avoids a potential crash when juggling SAB allocations.
2025-03-27 09:02:33 +08:00
Steve Fink
9a6e3bc30d
[js] Disallow deserializing structured clone buffers with transferables more than once.
2024-10-03 14:35:12 +08:00
Brian Smith
0e0ec8cb20
Issue #2402 - CSP should throw EvalError when blocking eval() and Function(). https://bugzilla.mozilla.org/show_bug.cgi?id=1473024 https://bugzilla.mozilla.org/show_bug.cgi?id=1490165
2024-01-11 09:47:08 +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
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
Martok
6ff7b5269e
Issue #2298 - Support '#x in obj' ergonomic brand check syntax
2023-08-31 22:39:41 +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
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
4400677afe
Issue #2046 - Implement Intl.DateTimeFormat's date-/timeStyle and hourCycle options
...
- remove mozExtensions flag and expose to client code
Based-on: m-c 1557718
2023-07-03 15:11:41 +08:00
Martok
0b3079d8e6
Issue #2259 - Performance improvements for LanguageTag parsing
...
- parsing: dont normalise things that don't need to be normalised anymore:
extension, private-use, variant, language, script, and region subtags
- Add missing() and present() methods to LanguageSubtag
- Change mozilla::Range to mozilla::Span for slightly better code
Based-on: m-c 1592588
2023-07-03 15:10:37 +08:00
Martok
30157344fe
Issue #2259 - Update Intl.* Object-ness to ECMA-402, 4th edition
...
- turn each Intl object into a NativeObject subclass
- create them as PlainObject
- ensure correct type is passed in self-hosted code
- implement legacy constructor semantics for DateTime&NumberFormat
- store internals on object slot instead of JS WeakMap
Based-on: m-c 1328386, 1332604
2023-07-03 15:05:30 +08:00
Martok
5a531ea80c
Issue #1969 Follow-Up: Error reporting arguments in RelativeTimeFormat/DateTimeFormat
2023-07-03 15:02:30 +08:00
Martok
1fac189aea
Issue #2142 - Implement class static block
...
Based-on: m-c 1712138/{2,3}, 1713155/2
2023-05-01 13:27:03 +08:00
Martok
447261cf87
Issue #2142 - Implement ASI for fields
...
Based-on: m-c 1529772/{3,4}
2023-05-01 13:27:01 +08:00
Martok
51db22ff2f
Issue #2142 - Implement syntax for public/private fields and computed field names
...
This state still has the initializers scoped on .initializers local variable, which will be changed later.
Based-on: m-c 1499448, 1530084, 1530832, 1529448 (partial), 1532921, 1528039, 1528038, 1535166, 1550628,
1535166, 1550628, 1541641, 1547133, 1540787, 1535804/9
2023-05-01 13:26:43 +08:00
Martok
73a99c155d
Issue #1691 - Follow-up: use error message with no arguments for bad import statements
2023-05-01 06:54:10 +08:00
Brian Smith
1109559a5d
Issue #1691 - Part 8: Fix --enable-debug builds and continue dynamic module import changes. https://bugzilla.mozilla.org/show_bug.cgi?id=1342012 Support import from timeout handlers by associating the initiating script with the compiled JSScript. Fix error message that covers all import() failures that don't throw a JS exception. https://bugzilla.mozilla.org/show_bug.cgi?id=1331662 Partial - Replace nsJSUtils::EvaluateString calls by ExecutionContext scopes. Left EvaluateString() in nsXBLProtoImplField.cpp until ExecutionContext errors can be fixed.
...
(cherry picked from commit 22fcfc77971a9bb204df664c474681f4dcf54211)
2023-04-30 21:21:06 +08:00
Brian Smith
1b811bd711
Issue #1691 - Part 6a: Support private values which contain pointers to cycle-collected C++ objects https://bugzilla.mozilla.org/show_bug.cgi?id=1342012
...
(cherry picked from commit 1286cca73d58332ba0becd0011f747713b8acfac)
2023-04-30 21:17:54 +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
Brian Smith
a8ab41b4c6
Issue #1691 - Part 2: Implement call import and import meta in the parser. https://bugzilla.mozilla.org/show_bug.cgi?id=1427610 https://bugzilla.mozilla.org/show_bug.cgi?id=1484948
...
(cherry picked from commit 6be083187f49e444de1bb116bb5930b20125190b)
2023-04-30 21:16:43 +08:00
Martok
f75e9d9441
Issue #2089 - Implement the Promise.any combinator
...
Based-on: m-c 1568903/9,1560300
2023-02-02 09:32:17 +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
d7cdeaf313
Issue #1894 - Part 2: Implement support for nullish coalescing in the JS parser
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
2022-05-22 06:46:21 +08:00
FranklinDM
e04a23ff98
Issue #1658 - Part 1: Implement support for optional chaining in the JS Parser
...
Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1566143
2022-05-05 09:04:36 +08:00
Moonchild
bd0f8a2eca
Issue #1739 - Implement numeric separators.
...
Resolves #1739
2021-02-16 14:03:45 +08:00
Moonchild
0d874713ef
Issue #618 - Align error handling for module scripts with the spec (again)
...
This updates module implementation to match spec regarding handling of
instantiation errors, after it was changed yet again, this time to not remember
instantiation errors, but instead immediately rethrow applicable ones.
Ref: BZ 1420420
2020-08-29 08:07:00 +08:00
Moonchild
9201808e0a
Issue #618 - Report source position information (line/column)
...
Report source position information for module export resolution failures.
Ref: BZ 1362098
2020-07-10 22:18:10 +08:00
Moonchild
c7d195e633
Issue #618 - Align module instantiation/errors with the updated spec.
...
Store and re-throw module instantiation and evaluation errors.
Ref: BZ 1374239, 1394492
2020-07-10 22:17:41 +08:00
Gaming4JC
b476f2e713
Bug 1352312 - Enable Async Iteration.
...
Tag #1287
2019-12-18 09:17:10 +08:00
Gaming4JC
9379133c2d
Bug 1331092 - Part 9: Implement for-await-of.
...
Tag #1287
2019-12-18 09:17:01 +08:00
Gaming4JC
142e8bf444
Bug 1331092 - Part 7: Implement Async Generator yield*.
...
Tag #1287
2019-12-18 09:16:59 +08:00
Gaming4JC
10b93afff4
Bug 1331092 - Part 2: Implement Async Generator except yield*.
...
Tag #1287
2019-12-18 09:16:52 +08:00
Gaming4JC
c9f1fa2cda
Bug 1316098 - Optimize out result object allocation for await/return in async function.
...
Tag #1287
2019-12-18 09:16:01 +08:00
wolfbeast
37e3ac713b
Issue #1302 followup - Add spec-compliance checks/errors
...
- Check for undefined/null regex flags (because...)
- Make it throw a typeerror instead of syntax error on non-global
- Generalize JS error messages for these checks.
2019-12-02 15:45:58 +08:00
wolfbeast
ca9e376e55
Issue #1257 - Part 2: Remove watch/unwatch and JS watchpoint class.
2019-11-01 10:24:09 +08:00
Gaming4JC
51183e0be2
1303703 - Part 3: Syntax parse destructuring assignment patterns.
2019-07-22 19:52:16 +08:00
Gaming4JC
d965d685b5
420857 - Part 4: Report the position of opening bracket for missing bracket error in array literal.
2019-07-22 19:52:08 +08:00
Gaming4JC
e5f1edc00c
420857 - Part 1: Report the position of opening brace for missing brace error in function body.
2019-07-22 19:51:58 +08:00
Gaming4JC
006b0f5d17
104442 - Part 1: Report the position and the kind of previous declaration for redeclaration error.
2019-07-22 19:51:20 +08:00
Gaming4JC
c1f6b0ff36
1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName.
2019-07-22 19:50:44 +08:00
Gaming4JC
3d4f7e67fc
1326454 - Rename TokenStream::getBracedUnicode to TokenStream::matchBracedUnicode and make its signature fallible.
2019-07-22 19:46:30 +08:00
Gaming4JC
02761b7fc2
1317153 - Provide better error message when errornous syntax possibly match "await SOMETHING" outside async function.
2019-07-22 19:46:00 +08:00
wolfbeast
33d09dce8b
Simplify checking of targets within destructuring patterns.
2019-04-13 07:01:52 +08:00
wolfbeast
fd2042225e
Simplify increment/decrement operand checking.
2019-04-13 07:01:51 +08:00
wolfbeast
8542ac5f61
Report for-loop-decl-with-initializer errors using a specified offset
...
instead of a node's offset.
2019-04-13 07:01:34 +08:00
wolfbeast
f1f8d377a9
Remove Parser::reportBadReturn
...
Report simpler errors that don't use the offset of a node as location.
2019-04-13 07:01:31 +08:00
janekptacijarabaci
5381ebe25c
Bug 1287677 - Add mozIntl.getDisplayNames API
2019-02-15 23:44:41 +08:00
janekptacijarabaci
95390009cc
Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*
...
Issue #74
2019-02-15 23:39:07 +08:00
janekptacijarabaci
5f3e5dc3fb
Bug 1147371: Implement IteratorClose for for-of
...
Issue #74
2019-02-15 23:39:00 +08:00