Basilisk-Dev
19504eed91
Issue #2229 - add better comments on top level await code
2026-02-10 14:59:26 -05:00
Basilisk-Dev
7c72b41e2c
Issue #2229 - Initial implementation of top level await functionality
2026-02-10 14:59:04 -05:00
Brian Smith
65d318f307
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-27 23:30:25 -06:00
FranklinDM
e381dd84c2
Issue #2234 - Part 2: Ensure that the created async function wrapper is valid
...
This excludes the GC-related changes (cell pointer asserts) since we don't have them. This bug should be revisited if we'd ever plan on porting those asserts over.
Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649
2023-05-07 01:01:22 +08:00
FranklinDM
4b516daf13
Issue #2234 - Part 1: Create async function wrapper when instantiating module functions
...
This excludes the change that removes "excessive" rooting from the Lambda* methods in Interpreter.cpp.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
2023-05-07 01:01:21 +08:00
Job Bautista
9baae9a47e
Issue #1691 - Follow-up: Fix CallSelfHostedFunction deprot introduced by Part 4.
2023-04-30 21:11:01 +08:00
Brian Smith
c961285752
Issue #1691 - Part 6e: Fix problems due to divergent codebases. This gets basic dynamic import working.
...
Fix a problem in Part 5b where Mozilla used toGCThing() and we don't.
Fix a problem in Part 4 where runtime() returns nullptr in our codebase since it runs on JS Helper thread.
We need to get the runtime via runtimeFromAnyThread() instead.
(cherry picked from commit dddb46225bbd1adff11f635e32934aee36923e47)
2023-04-27 13:34:05 -05:00
Brian Smith
1a4146cead
Issue #1691 - Part 5b: Stop modules from entraining the top-level JSScript.
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1489477
(cherry picked from commit 6ce0af856186e65fb4987daf4e06dc68fb3f7483)
2023-04-27 13:33:17 -05:00
Brian Smith
130d9f4d91
Issue #1691 - Part 4: Finish implementing call import.
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1499140
(cherry picked from commit 7bf7d64887944b127a72090dd62eb57f67c5089d)
2023-04-27 13:33:00 -05:00
Brian Smith
6eecfad57c
Issue #1691 - Part 3: Finish implementing import meta.
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1427610
(cherry picked from commit a8625238ac846fb7eb103646ddb8634a5860f067)
2023-04-27 13:32:52 -05:00
Brian Smith
7223fb518d
Issue #1691 - Part 1: Provide a way of associating a private value with a script
...
or module.
This is a prerequisite for dynamic import
(cherry picked from commit 2e2972647ee29340df51a804f05e40fc1da2c89b)
2023-04-27 13:28:56 -05:00
Martok
0c7e7591b7
Issue #2173 - Separate CodeNode into FunctionNode and ModuleNode
...
ModuleNode only has a body and FunctionNode has many more attributes,
and will get more in the following commit.
Based-on: 1518391/2
2023-04-03 16:50:24 +02:00
Martok
88f7cba9c9
Issue #2173 - Add accessors to NameNode, CodeNode, RegExpLiteral, and add NumericLiteral
...
Based-on: m-c 1479659/{5,9,10}, m-c 1491147
2023-04-03 16:50:23 +02:00
Martok
6cea01f811
Issue #2173 - Add accessors to UnaryNode and subclasses
...
Based-on: m-c 1479659/4
2023-04-03 16:50:22 +02:00
Martok
0fdd23e0b4
Issue #2173 - Add accessors to BinaryNode and subclasses
...
Based-on: m-c 1479659/3
2023-04-03 16:50:22 +02:00
Martok
cc14ee0148
Issue #2173 - Add accessors to ListNode
...
Based-on: m-c 1479659/{1,12}
2023-04-03 16:50:22 +02:00
Martok
3481496454
Issue #2173 - Fix exporting array and object binding patterns
...
Examples:
export const [name1, name2] = [1, 2];
export var {...name} = get;
Based-on: m-c 1446811, m-c 1462286
2023-04-03 15:33:21 +02:00
Moonchild
060e3eb0c8
Revert "Issue #1691 - Part 1: Provide a way of associating a private value with a script"
...
This reverts commit 15914ec578 .
2020-11-28 10:18:10 +00:00
Moonchild
15914ec578
Issue #1691 - Part 1: Provide a way of associating a private value with a script
...
or module.
This is a prerequisite for dynamic import
2020-11-27 15:47:49 +00:00
Moonchild
0c3bd2b10a
Issue #1656 - Part 7: Nuke vim config lines in JS
2020-09-24 07:23:04 +00:00
Gaming4JC
609815070b
Issue #618 - Lazily initialise module binding maps - Debug follow up
...
The added debug assertion does not work due to missing API.
They were added in BZ 1337491, 1395366, and others, but were primarily used for multi-threading.
This uses our existing non-multithreaded syntax instead, resolving a `no member named` build error.
2020-08-03 14:37:41 -04:00
Moonchild
e94f9dcced
Issue #618 - Lazily initialise module binding maps
...
Make it so they are not allocated on a background thread in a different zone to
the final module.
Ref: BZ 1372258
2020-07-08 14:53:31 +00:00
Moonchild
6e72707e0b
Issue #618 - Use a single slot for the module's environment object.
...
According to the spec this isn't created until the module is instantiated, but
we create it when we compile the module.
We stored this previously in InitialEnvironmentSlot and copied it to
EnvironmentSlot when it was supposed to be created, but we can just store it in
the latter slot straight away and check the module's status and return null if
it shouldn't exist yet.
This reduces the number of slots needed on a moduleObject to 17.
Re: BZ 1420412 Part 1
We can't implement the second part to further reduce our number of slots,
because it relies on SetProxyReservedSlot which in turn relies on
rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole
we really don't want to fall into.
So, we'll end up being a bit slower because it can't be in-line allocated with
having more than 16 slots, but so be it. I sincerely doubt it will make any
practical difference.
2020-07-08 14:12:57 +00:00
Moonchild
43e0632cd4
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-07-08 12:58:30 +00:00
Moonchild
e378530bca
Issue #618 - Fix typo and remove old function declarations.
2020-07-07 12:27:02 +00:00
Moonchild
2dff89b658
Issue #618 - Report source position information (line/column)
...
Report source position information for module export resolution failures.
Ref: BZ 1362098
2020-07-04 23:12:13 +00:00
Moonchild
61a471ef17
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-03 13:56:49 +00:00
wolfbeast
dd57b9273c
Revert #1137 - Remove unboxed arrays
...
- accounting for removal of watch()/unwatch()
- updated for intermediate code changes.
2020-02-23 14:41:40 +01:00
wolfbeast
974a481d12
Merge branch 'master' into js-modules
...
# Conflicts:
# modules/libpref/init/all.js
2019-11-10 11:39:27 +01:00
Gaming4JC
31c0c2f9cc
1320408 - Part 19: Remove JSContext* parameter from ModuleObject::fixEnvironmentsAfterCompartmentMerge.
2019-07-18 22:38:27 -04:00
Gaming4JC
3a5176f4b2
1320408 - Part 14: Change some GlobalObject methods to static method.
2019-07-18 22:38:25 -04:00
wolfbeast
c2b5f396eb
Remove UnboxedArray code part 1
2019-05-23 02:48:13 +00:00
janekptacijarabaci
8af513a207
Bug 1341411 - Support circular module dependencies through export* per ES2017
2018-04-14 09:00:53 +02:00
janekptacijarabaci
c60cefb1b0
Bug 1339986 - Handle export* when checking for duplicate export
2018-04-14 08:59:22 +02:00
janekptacijarabaci
3bd16c9080
Bug 1341256 - Fix module namespace object get handler
2018-04-14 08:57:05 +02:00
janekptacijarabaci
05505d2e83
Bug 1340268 - [[HasProperty]] on module namespace object should work even when binding is uninitialized
2018-04-14 08:56:17 +02:00
janekptacijarabaci
6452e3c978
Bug 1326453 - Part 4: Return @@toStringTag in [[OwnPropertyKeys]] trap for module namespace objects
2018-04-14 08:52:37 +02:00
janekptacijarabaci
e2719e1dbf
Bug 1326453 - Part 3: Don't throw a TypeError when SetPrototypeOf for module namespace objects is called with null
2018-04-14 08:51:05 +02:00
janekptacijarabaci
a7f7a22319
Bug 1326453 - Part 2: Change @@toStringTag for module namespace objects to non-configurable
2018-04-14 08:50:17 +02:00
janekptacijarabaci
b2ec36808a
Bug 1326453 - Part 1: Remove @@iterator method from module namespace objects per ES2017
2018-04-14 08:49:15 +02:00
janekptacijarabaci
87e4f43be0
Bug 1320993 - Fix exporting default class expression
2018-04-14 08:40:37 +02:00
trav90
0433d6e7d1
Fix incorrect assertions in js/src/builtin/
...
Prevents GCC 7 build warning spam.
2018-04-06 13:29:27 -05:00
janekptacijarabaci
5ef44cf648
Part 1: Implement ES6 function name property semantics
...
Issue #78
2018-03-19 15:47:10 +01:00
Matt A. Tobin
5f8de423f1
Add m-esr52 at 52.6.0
2018-02-02 04:16:08 -05:00