This used to be required in case we released arenas here but since bug 1552118 we don't need this.
Differential Revision: https://phabricator.services.mozilla.com/D60033
--HG--
extra : moz-landing-system : lando
When we compile WebAssembly with Ion, we might get multiple return values from function calls. However the way that Wasm calls are modelled in Ion right now makes it impossible to have multiple register results.
This patch separates the SSA definition of result values from the calls. In WasmIonCompile.cpp, this allows us to collect results into a vector, making them available as inputs to further WebAssembly instructions.
Differential Revision: https://phabricator.services.mozilla.com/D59340
--HG--
extra : moz-landing-system : lando
Since bug 1603373 we no longer store magic types in HeapTypeSets. This broke an
Ion optimization because it uses constraints to guard a property does not exist
on the global lexical environment. This patch explicitly fires the constraint
when defining an uninitialized global lexical.
I was unable to write a test for this that doesn't require --ion-eager.
Differential Revision: https://phabricator.services.mozilla.com/D58910
--HG--
extra : moz-landing-system : lando
These are mochitests because there's currently no way to trigger a GC from WPT. I tried to do this with xpcshell tests but I couldn't get the pref to enable weak refs to work.
Differential Revision: https://phabricator.services.mozilla.com/D59375
--HG--
extra : moz-landing-system : lando
It doesn't make sense to queue callbacks at this point because they will never run, and without this we get leaks at shutdown. I also refactored GCRuntime::sweepFinalizationGroups a little.
Differential Revision: https://phabricator.services.mozilla.com/D59897
--HG--
extra : moz-landing-system : lando
This also removes the `name` field from FOR_EACH_OPCODE. Disassembly now uses
the UpperCamelCase opcode name.
A few tests look at disassembler output.
Differential Revision: https://phabricator.services.mozilla.com/D59809
--HG--
extra : moz-landing-system : lando
I am not sure if I should create a separate header just for ValueToSource?
In the future after we remove toSource from chrome-js we can move more ToSource methods to this file.
Differential Revision: https://phabricator.services.mozilla.com/D59684
--HG--
rename : js/src/vm/StringType.cpp => js/src/vm/ToSource.cpp
extra : moz-landing-system : lando
By cleaning up the register set APIs very slightly we can simplify the wrappers and
make space for meaningful assertions.
Differential Revision: https://phabricator.services.mozilla.com/D59673
--HG--
extra : moz-landing-system : lando
This pulls the Zydis working branch to get a compile fix for Solaris
that was upstreamed to Zydis by Oracle.
I ran the zydis/update.sh script, then 'hg add'ed four new files, and
ran a quick test - everything seems to work OK, wonders never cease.
A diff of new vs old code shows the Solaris fix is included.
The patch includes a change to update.sh that gets the pulled rev
from the git repo, not from the command line
Differential Revision: https://phabricator.services.mozilla.com/D59915
--HG--
extra : moz-landing-system : lando
This also removes the `name` field from FOR_EACH_OPCODE. Disassembly now uses
the UpperCamelCase opcode name.
A few tests look at disassembler output.
Differential Revision: https://phabricator.services.mozilla.com/D59809
--HG--
extra : moz-landing-system : lando
The comment about JSOP_GLOBALTHIS and JSOP_FUNCTIONTHIS may never have been
sensible; JSOP_FUNCTIONTHIS never walks the environment chain, as it is used
only in non-arrow functions, which take `this` as an argument in the CallArgs.
JSOP_LOOPENTRY and JSOP_TRACE are gone. So is JSOP_SPREAD.
"JSOP_POPs" was eccentric in a way that would be unclear with CamelCase.
Differential Revision: https://phabricator.services.mozilla.com/D59799
--HG--
extra : moz-landing-system : lando
The new opcode names are like `JSOp::InitHiddenProp`. This patch creates
aliases with all of the old names, like `JSOP_INITHIDDENPROP`, to keep existing
code working.
Differential Revision: https://phabricator.services.mozilla.com/D59363
--HG--
extra : moz-landing-system : lando