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