summaryrefslogtreecommitdiffstats
path: root/js/src/builtin/ModuleObject.cpp
Commit message (Collapse)AuthorAgeLines
* Issue #618 - Lazily initialise module binding maps - Debug follow upGaming4JC2020-08-30-1/+1
| | | | | | 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.
* Issue #618 - Lazily initialise module binding mapsMoonchild2020-08-30-20/+26
| | | | | | | Make it so they are not allocated on a background thread in a different zone to the final module. Ref: BZ 1372258
* Issue #618 - Use a single slot for the module's environment object.Moonchild2020-08-30-22/+19
| | | | | | | | | | | | | | | | | | | | 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.
* Issue #618 - Align error handling for module scripts with the spec (again)Moonchild2020-08-30-14/+24
| | | | | | | | 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
* Issue #618 - Fix typo and remove old function declarations.Moonchild2020-07-10-2/+0
|
* Issue #618 - Report source position information (line/column)Moonchild2020-07-10-12/+67
| | | | | | Report source position information for module export resolution failures. Ref: BZ 1362098
* Issue #618 - Align module instantiation/errors with the updated spec.Moonchild2020-07-10-31/+38
| | | | | Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492
* Revert #1137 - Remove unboxed arrayswolfbeast2020-04-14-1/+1
| | | | | - accounting for removal of watch()/unwatch() - updated for intermediate code changes.
* Merge branch 'master' into js-moduleswolfbeast2019-11-10-5/+5
|\ | | | | | | | | # Conflicts: # modules/libpref/init/all.js
| * 1320408 - Part 19: Remove JSContext* parameter from ↵Gaming4JC2019-07-18-1/+1
| | | | | | | | ModuleObject::fixEnvironmentsAfterCompartmentMerge.
| * 1320408 - Part 14: Change some GlobalObject methods to static method.Gaming4JC2019-07-18-3/+3
| |
| * Remove UnboxedArray code part 1wolfbeast2019-05-23-1/+1
| |
* | Bug 1341411 - Support circular module dependencies through export* per ES2017janekptacijarabaci2018-04-14-1/+1
| |
* | Bug 1339986 - Handle export* when checking for duplicate exportjanekptacijarabaci2018-04-14-1/+1
| |
* | Bug 1341256 - Fix module namespace object get handlerjanekptacijarabaci2018-04-14-2/+4
| |
* | Bug 1340268 - [[HasProperty]] on module namespace object should work even ↵janekptacijarabaci2018-04-14-3/+5
| | | | | | | | when binding is uninitialized
* | Bug 1326453 - Part 4: Return @@toStringTag in [[OwnPropertyKeys]] trap for ↵janekptacijarabaci2018-04-14-1/+3
| | | | | | | | module namespace objects
* | Bug 1326453 - Part 3: Don't throw a TypeError when SetPrototypeOf for module ↵janekptacijarabaci2018-04-14-0/+2
| | | | | | | | namespace objects is called with null
* | Bug 1326453 - Part 2: Change @@toStringTag for module namespace objects to ↵janekptacijarabaci2018-04-14-1/+1
| | | | | | | | non-configurable
* | Bug 1326453 - Part 1: Remove @@iterator method from module namespace objects ↵janekptacijarabaci2018-04-14-29/+1
| | | | | | | | per ES2017
* | Bug 1320993 - Fix exporting default class expressionjanekptacijarabaci2018-04-14-35/+35
|/
* Fix incorrect assertions in js/src/builtin/trav902018-04-06-1/+1
| | | | Prevents GCC 7 build warning spam.
* Part 1: Implement ES6 function name property semanticsjanekptacijarabaci2018-03-19-1/+1
| | | | Issue #78
* Add m-esr52 at 52.6.0Matt A. Tobin2018-02-02-0/+1331