Commit Graph
25 Commits
Author SHA1 Message Date
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