Check VM and Realm options that may disable syntax parsing up front in
the CompileOptions constructor. This is needed to make the frontend
closer to a pure-function.
Differential Revision: https://phabricator.services.mozilla.com/D35214
--HG--
extra : moz-landing-system : lando
Check realm flags at when creating CompileOptions rather than during
compilation. This is helpful for pre-compiling self-hosting code.
Differential Revision: https://phabricator.services.mozilla.com/D34976
--HG--
extra : moz-landing-system : lando
All uses of OwningCompileOptions now are initialized from copy() so
remove the now-unused setters.
Differential Revision: https://phabricator.services.mozilla.com/D35080
--HG--
extra : moz-landing-system : lando
Initializing OwningCompileOptions directly will soon be deprecated in
order to have consistent defaults. This results in more consistent
behavior of experimental features that are enabled based on realm flags.
Differential Revision: https://phabricator.services.mozilla.com/D35071
--HG--
extra : moz-landing-system : lando
Added isHelperThreadContext() to check that cx runs on a helper thread, similar to isMainThreadContext(). Replaced null-checks meant to look for helper threads with isHelperThreadContext(), leaving instances where helperthread() is checked in order to access the actual helper thread.
Differential Revision: https://phabricator.services.mozilla.com/D34937
--HG--
extra : moz-landing-system : lando
When I wrote my prior patch, I forgot that a DebuggerFrame object's
ONSTEP_HANDLER_SLOT holds, not a JavaScript object, but a private value pointing
to an OnStepHandler, which must be explicitly freed.
Differential Revision: https://phabricator.services.mozilla.com/D34978
--HG--
extra : moz-landing-system : lando
Check realm flags at when creating CompileOptions rather than during
compilation. This is helpful for pre-compiling self-hosting code.
Differential Revision: https://phabricator.services.mozilla.com/D34976
--HG--
extra : moz-landing-system : lando
This changes the format of the trace list from using -1 as a delimter to storing the list lengths up front so that we have length information.
Differential Revision: https://phabricator.services.mozilla.com/D34731
Note that we only track the for typed arrays that are not backed by an ArrayBuffer as the memory is tracked there from then on.
Differential Revision: https://phabricator.services.mozilla.com/D34729
I had to store the length as the first word of the bytecode. I also shuffled RegExpShared fields around to make the class a little smaller.
Differential Revision: https://phabricator.services.mozilla.com/D34726
Some kinds of memory use (e.g. reg exp byte code) require multiple memory associations for a single cell. This patch adds machinery to let that happen for specific uses.
Differential Revision: https://phabricator.services.mozilla.com/D34723
I wanted to make VectorMatchPairs use ZoneAllocPolicy but this is also used in a bunch of places where it's not attached to a GC thing, so I left this as a todo.
Differential Revision: https://phabricator.services.mozilla.com/D34556
The args count needs to be set before the LazyScript takes hold of the
functionbox, or else some code that references lazy functions can get the wrong
number of arguments (ie, CloneFunctionObjectIfNotSingleton on a lazy function)
Differential Revision: https://phabricator.services.mozilla.com/D34586
--HG--
extra : moz-landing-system : lando
In some cases, the nsIScriptError is initialized with zero innerWindowId, but is from chrome context.
For cases, this patch adds an optional aFromChromeContext parameter to nsIScriptError::InitWithWindowID, which default value is false.
Differential Revision: https://phabricator.services.mozilla.com/D34508
--HG--
extra : moz-landing-system : lando
IsMarkingTracer no-longer exists, so remove one comment that refers to it
and fix another comment.
Differential Revision: https://phabricator.services.mozilla.com/D34674
--HG--
extra : moz-landing-system : lando
Member variables `calledPrepareVMCall_` and `inStubFrame_` served the same purpose for their classes.
Unified them in CacheIRCompiler.
Differential Revision: https://phabricator.services.mozilla.com/D33526
--HG--
extra : moz-landing-system : lando
Base commit for bug 1467191. Moves declarations of BaselineCacheIRCompiler and IonCacheIRCompiler
into their respective header files.
Differential Revision: https://phabricator.services.mozilla.com/D33521
--HG--
extra : moz-landing-system : lando
Base commit for patch for bug 1467191 that fixes inconsistencies in
namespace use between BaselineCacheIRCompiler and IonCacheIRCompiler.
Differential Revision: https://phabricator.services.mozilla.com/D33516
--HG--
extra : moz-landing-system : lando
Since bug 1535137 the consts array only stores `BigIntValues` so we can change
it to a `BigInt` array. This will also make it easier to fix bug 1535154.
Differential Revision: https://phabricator.services.mozilla.com/D34712
--HG--
extra : moz-landing-system : lando