Dactyloidae/js
Moonchild 1cfaf06d8f 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-08-29 08:07:03 +08:00
..
ductwork Reclassify heapsnapshot and nsJSInspector as not part of devtools 2020-02-27 07:31:01 +08:00
examples import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
ipc 1332245 - Move nsScriptError from js/xpconnect to dom/bindings. 2019-07-22 19:50:13 +08:00
public [js] Try to catch bad pointers for GC and bail if not valid. 2020-08-06 10:23:26 +08:00
src Issue #618 - Use a single slot for the module's environment object. 2020-08-29 08:07:03 +08:00
xpconnect Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement 2020-07-04 07:01:00 +08:00
ffi.configure import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00
moz.configure Issue #1322 - Part 2: Remove --enable-sm-promise buildconfig switch. 2019-12-20 09:07:26 +08:00