gecko-dev/js
Iain Ireland 00769c18e8 Bug 1533890: Add support for additional call opcodes r=mgaudet
To verify that I had covered all of the existing functionality, I added assertions to DoCallFallback and DoSpreadCallFallback to verify that the old C++ implementation never managed to attach a stub if CacheIR had failed to handle it. This patch includes the changes made as a result of this testing:

1. JSOP_CALLITER is equivalent to JSOP_CALL for our purposes. Adding support for JSOP_CALLITER did not require any additional changes.
2. JSOP_SUPERCALL and JSOP_SPREADSUPERCALL are just like normal constructors, except we don't save a template object. I added the super guards where necessary.
3. There were also a number of cases where we tried to attach a CacheIR stub, declined to attach because an identical stub already existed, and then attached an old stub. For example, a spread call IC with more than 16 arguments will fail, but we will try to attach another spread call IC. I examined the failures of this sort by hand. Many of them were invalid (in particular, oomtests that caused us to fail during the process of attaching the stub) or seemed acceptable. I made a few spot fixes to cover easy exceptions.
4. I added jitspew to the attachment code to print BaselineICFallback messages if we try to attach an identical stub, which will hopefully help when testing new ICs to verify that they are not perma-failing.

Differential Revision: https://phabricator.services.mozilla.com/D25877

--HG--
extra : moz-landing-system : lando
2019-04-08 15:29:31 +00:00
..
ductwork/debugger Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE 2019-02-14 11:50:23 +02:00
examples No bug. Update jorendb for newGlobal API change, a=NPOTB, DONTBUILD 2019-02-25 21:20:32 -08:00
ipc Bug 1534967 - Part 1: use RootedIdVector. r=jonco 2019-04-08 10:46:53 +08:00
public Bug 1541810 part 1 - Move the global lexical environment from GlobalObject to Realm. r=jonco 2019-04-08 12:07:23 +00:00
rust Bug 1534967 - Part 2: Use RootedIdVector in rust binding. r=jonco,fitzgen 2019-04-08 10:46:58 +08:00
src Bug 1533890: Add support for additional call opcodes r=mgaudet 2019-04-08 15:29:31 +00:00
xpconnect Bug 1539136 - XrayWrappers filter out disabled DataView properties. r=kmag 2019-04-08 09:31:33 +02:00
app.mozbuild
ffi.configure Bug 1519040 - Remove some unused old-configure assignments. r=mshal 2019-01-10 22:02:04 +00:00
moz.build
moz.configure Bug 1541463 - Enable MacroAssembler spew when --enable-jitspew is provided. r=sstangl 2019-04-03 16:47:49 +00:00
sub.configure Bug 1520394 - Don't invoke js subconfigure as a separate process. r=nalexander 2019-01-16 23:42:12 +00:00