Граф коммитов

67985 Коммитов

Автор SHA1 Сообщение Дата
André Bargull fbeca0fb5b Bug 1444917: Combine tests for valid and canonical language tags in assertions. r=Waldo 2018-10-29 05:41:59 -07:00
Jon Coppeard c41bf88d0c Bug 1506798 - Fix possible data race updating scope object during compacting GC r=pbone 2018-11-17 13:48:18 +00:00
Jon Coppeard bee779b305 Bug 1506954 - Don't attempt to protect relocated pages on systems that don't support this r=pbone 2018-11-17 13:48:18 +00:00
Andreea Pavel 72b0594cb8 Merge mozilla-inbound to mozilla-central. a=merge 2018-11-17 13:27:24 +02:00
Cosmin Sabou 1f1188e86c Backed out changeset 26933ef9fa13 (bug 1506323) for landing the wrong patch.
--HG--
extra : rebase_source : ba856955dcf81339ec94abf140810c3b4dadc73b
2018-11-17 04:39:49 +02:00
Nika Layzell 589d2a7b6f Bug 1477432 - Part 10: Stop using nsIJSID in nsIArray for optional IID parameters, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D9732
2018-11-16 17:27:46 -05:00
Nika Layzell 11b083d72c Bug 1477432 - Part 9: Switch to using plain JS objects for nsIJS[IC]ID, r=mccr8
This is a complete rewrite of the interface while maintaining the same APIs.
Each ID is fully-contained within a single object, does not require a finalizer,
and is cheap to create.

Beyond using reserved slots, this code avoids using custom ClassOps, instead
preferring Symbol.hasInstance and eager constants.

One major change which occurred in this patch was the move from storing a nsCID
to storing the ContractID for JSCID objects. This eliminates the need for the
'refreshCID' method, and hopefully shouldn't have performance implications.

If we discover that there are performance problems there, we can look into
stashing the CID, and re-introduce 'refreshCID', despite its surprising
behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D2286
2018-11-16 17:27:44 -05:00
Nika Layzell d2f648498e Bug 1477432 - Part 8: Remove test-only Components.classesById and Components.interfacesById, r=mccr8
These two interfaces are effectively never used, so to avoid needing to support
ClassID2JSValue with the new implementation, I remove them entirely.

Differential Revision: https://phabricator.services.mozilla.com/D2285
2018-11-16 17:27:42 -05:00
Nika Layzell 738dd3f1a9 Bug 1477432 - Part 7: Stop using nsIJSID in xpconnect outside of XPCJSID.cpp, r=mccr8
This mostly consists of changes to the XPCComponents objects to avoid using the
implementation details, and instead use the API defined in part 1.

Differential Revision: https://phabricator.services.mozilla.com/D2284
2018-11-16 17:27:41 -05:00
Nika Layzell 7954235168 Bug 1477432 - Part 5: Add a refreshCID method to JSCID objects, r=mccr8
This lets us get rid of the method 'initalize', which currently needs the
internal representation of JSCID.

This particular method is removed entirely in Part 9, and only exists to keep
intermediate states building & running.

Differential Revision: https://phabricator.services.mozilla.com/D2282
2018-11-16 17:27:37 -05:00
Nika Layzell a3dbdf2c54 Bug 1477432 - Part 4: Remove the nsJSID XPCOM constructor, r=mccr8
Nobody was using it, so it's pretty easy to remove.

Differential Revision: https://phabricator.services.mozilla.com/D2281
2018-11-16 17:27:35 -05:00
Nika Layzell a3a4d67877 Bug 1477432 - Part 3: Avoid using nsIJSID in Components.Constructor, r=mccr8
This should be mostly compatible with the original implementation. I tried to
simplify things here to just directly wrap and use JS objects, calling methods
on them. This eliminates the nsXPCConstructor type completely, replacing it with
a JSNative constructor with predefined READONLY | PERMANENT properties.

Differential Revision: https://phabricator.services.mozilla.com/D2280
2018-11-16 17:27:33 -05:00
Nika Layzell fe2f2478f7 Bug 1477432 - Part 2: Avoid using nsIJSID in GenerateQI, and produce better diagnostics, r=kmag
This is the first part of hiding the implementation of nsIJSID behind the
interface added in Part 1, such that we can substitute that implementation out.

I had to make a couple of changes to fix the errors caused by the new behaviour
in GenerateQI.

Differential Revision: https://phabricator.services.mozilla.com/D2279
2018-11-16 17:27:31 -05:00
Nika Layzell e3d63382ee Bug 1477432 - Part 1: Move xpc_ nsJSID methods to a future-proof API, r=mccr8
The new API tries to be more generic, taking and producing JS::Values. It also
supports creating the more specialized IID and CID types.

Differential Revision: https://phabricator.services.mozilla.com/D2278
2018-11-16 17:27:29 -05:00
Philip Chimento 29161b173a Bug 1506324 - Add JS::DefaultGlobalClassOps to JSAPI. r=jorendorff
This also adds a js::ClassOps variant, js::DefaultGlobalClassOps which can
be used in js::Class.

Depends on D11569

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

--HG--
extra : moz-landing-system : lando
2018-11-16 15:30:28 +00:00
Philip Chimento 700abccb03 Bug 1506323 - Add JS::PrintError to public API. r=tcampbell
Depends on D11568

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

--HG--
extra : moz-landing-system : lando
2018-11-15 16:28:03 +00:00
Cosmin Sabou 8b0d7e9861 Merge mozilla-central to autoland. a=merge
--HG--
extra : rebase_source : d2d1fef29703d48d14b7ceac0ffa9ee0e5a0a007
2018-11-16 23:57:57 +02:00
Luke Wagner e67e6f648b Bug 1507314 - Baldr: correctly propagate shell flags to nested testig process on Windows (r=bbouvier) 2018-11-16 12:03:51 -06:00
Gurzau Raul 2fa7618d3f Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-11-16 19:55:39 +02:00
Gurzau Raul 0e822b012b Merge inbound to mozilla-central. a=merge 2018-11-16 19:08:39 +02:00
Luke Wagner 00940fee0d Bug 1505632 - Baldr: correctly propagate AbortError from consume stream body operation (r=lth,baku,Ms2ger) 2018-11-16 10:32:20 -06:00
Jason Orendorff 4cc5d86801 Bug 1506660 - Dispense with TODO comments about bytesWritten in ReadableStream implementation. r=till
The first comment appears in ReadableByteStreamControllerPullSteps. It's OK to
delete it because we just asserted that there are no pending read requests
(step 3.a.).

The second comment appears in JS::ReadableStreamUpdateDataAvailableFromSource.
It's OK to delete this one because it's in the hasDefaultReader branch. Default
readers don't have read requests that care about the number of bytes available.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 13:22:04 +00:00
Jason Orendorff 92299c40cd Bug 1503718 - Part 5: Use the `unwrapped` prefix. Covers API entry points. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D11688

--HG--
extra : moz-landing-system : lando
2018-11-16 12:40:56 +00:00
Jason Orendorff 9b5470b3ee Bug 1503718 - Part 4: Use the `unwrapped` prefix. Covers spec sections 6.1 to 6.3. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D11687

--HG--
extra : moz-landing-system : lando
2018-11-16 12:40:24 +00:00
Jason Orendorff 5f0648595e Bug 1503718 - Part 3: Use the `unwrapped` prefix. Covers spec sections 3.10 and 3.12. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D11685

--HG--
extra : moz-landing-system : lando
2018-11-16 12:39:59 +00:00
Jason Orendorff 08c1c29011 Bug 1503718 - Part 2: Use the `unwrapped` prefix. Covers spec sections 3.5 to 3.9. r=tcampbell
ReportArgTypeError is replaced with a new helper function template,
UnwrapAndTypeCheckArgument. The old function used the expression decompiler,
but that seems unhelpful here; the new code uses InformalValueTypeName on the
actual argument value.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 12:39:24 +00:00
Jason Orendorff 9e369519a3 Bug 1503718 - Part 1: Use the `unwrapped` prefix. Covers spec sections 3.2 to 3.4. r=tcampbell
Each patch in this stack deletes comments that are redundant with the new
naming convention.

In ReadableStreamTee_Cancel, we have a variable named `unwrappedReason` whose
purpose is to create a properly wrapped verison of `reason`. It's a little
vertiginous. But I think this is what the new convention demands and it's not
so bad.

Also in ReadableStreamTee_Cancel, step 4.c., we wrap `cancelResult`, which does
not have an `unwrapped` tag.  This is because we switched realms between the
declaration of `cancelResult` and the line of code where we're going to use it.
I think this just means the convention is never going to make all correct code
obviously-correct and all wrong code obviously-wrong. Still an improvement.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 12:38:43 +00:00
Jason Orendorff 7d88a699e3 Bug 1506657 - Indentation fixes in Stream.cpp. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D11682

--HG--
extra : moz-landing-system : lando
2018-11-16 12:38:08 +00:00
Jason Orendorff a09ac0fd74 Bug 1506656 - Part 2: Silence a dead code warning. r=jwalden
This renames the other CreateReadableByteStreamController signature, since the
two seem different enough to warrant distinct names.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 12:37:35 +00:00
Jason Orendorff ece5f24253 Bug 1506656 - Part 1: ReadableStream controller constructors should throw unconditionally. r=jwalden
They already do, as it's impossible for content to get hold of a stream with no controller,
which is the only kind of object our existing code would accept. But the spec is now more
direct, and the code should match it.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 12:37:15 +00:00
Benjamin Bouvier 68abcfdef0 Bug 1507730: Generate a temporary for negative power-of-two constants in mul64 on 32 bits platforms; r=lth
In the code generator function, we assume we have a temp if a known constant is
a non-negative power of two. But lowering only checked for power of twos
independently of their sign, so this was incorrect. This patch syncs them up on
both ARM32 and x86.

--HG--
extra : rebase_source : 3d4fb428892d67249af73dbdfe06ff7d43e7c02a
extra : histedit_source : cf49ed802cc47ae38859c76da63c279959b9635d
2018-11-16 11:44:36 +01:00
Bogdan Tara df744acb24 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-11-16 11:50:21 +02:00
Bogdan Tara 647b9eb109 Merge inbound to mozilla-central. a=merge 2018-11-16 11:47:51 +02:00
Mike Hommey 9cc79e2096 Bug 1502457 - Move MOZ_APP_VERSION{,_DISPLAY} to python configure. r=nalexander
Depends on D11983

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

--HG--
extra : moz-landing-system : lando
2018-11-16 01:15:35 +00:00
Benjamin Bouvier e50fdcd5ff Bug 1507564: Bind code labels when generating lazy table stubs; r=luke
A lazy stub could generate CodeLabels on x86, because of a constant NaN
generated for the entry's epilogue that ended up in a constant pool. We need to
actually bind these code labels in general.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 21:25:52 +00:00
Narcis Beleuzu df50f67e20 Backed out 6 changesets (bug 1502457) for build bustages. CLOSED TREE
Backed out changeset febdb867785a (bug 1502457)
Backed out changeset 7ea52c602445 (bug 1502457)
Backed out changeset 73bb6a74cad0 (bug 1502457)
Backed out changeset b172bda6e983 (bug 1502457)
Backed out changeset 0e283ddc6c3b (bug 1502457)
Backed out changeset 638fa0251123 (bug 1502457)
2018-11-16 02:13:57 +02:00
Mike Hommey b1fdc6b2a4 Bug 1502457 - Move MOZ_APP_VERSION{,_DISPLAY} to python configure. r=nalexander
Depends on D11983

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

--HG--
extra : moz-landing-system : lando
2018-11-15 23:22:24 +00:00
Csoregi Natalia c9b70719c8 Merge mozilla-central to autoland. CLOSED TREE 2018-11-16 00:19:45 +02:00
Margareta Eliza Balazs d5555d2998 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-11-15 18:22:30 +02:00
Rob Wu 1e7066abb9 Bug 1506861 - Stop accessing Proxy.prototype in XrayWrapper r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D11771

--HG--
extra : moz-landing-system : lando
2018-11-15 01:35:59 +00:00
arthur.iakab 82802a8287 Merge mozilla-central to autoland 2018-11-15 11:55:43 +02:00
arthur.iakab c0b26c4076 Merge inbound to mozilla-central a=merge 2018-11-15 11:54:15 +02:00
Benjamin Bouvier 8e7577856a Bug 1507418: Update table loads in Cranelift; r=lhansen
... to take into account that table entries are always two-word sized. Also
adds an assertion that tables are table of functions, since Cranelift doesn't
handle anyref tables yet.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 09:46:44 +00:00
Brian Hackett 6afedf5456 Bug 1505935 Part 1 - Rename IsInternalScript API, r=lsmyth.
--HG--
extra : rebase_source : 4e182c0ee98d654dd7755c7c5bce9391d6e04a0f
2018-11-10 15:26:52 -10:00
Cosmin Sabou 2ea797e651 Backed out changeset 1d50d21da50d (bug 1507721) for spidermonkey bustages on dynamic-import-oom.js. 2018-11-16 22:53:36 +02:00
Cosmin Sabou 2213c64dfe Backed out changeset d3468dd807eb (bug 1454613) for Btup bustages on js/src/rust/Cargo.toml 2018-11-16 22:30:31 +02:00
Ted Mielczarek 6359dfdc7a bug 1454613 - build binsource when building SpiderMonkey. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D11056

--HG--
extra : moz-landing-system : lando
2018-11-12 21:15:49 +00:00
Tom Schuster 0d00659591 Bug 1317422 - Implement JavaScript globalThis proposal. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D11322

--HG--
extra : moz-landing-system : lando
2018-11-14 15:57:03 +00:00
James Graham c597273773 Bug 1497898 - Update jstests.py wpt integration for manifest optimisations, r=bbouvier,Ms2ger
Depends on D10743

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

--HG--
extra : moz-landing-system : lando
2018-11-16 17:59:03 +00:00
James Graham 15caf59c7f Bug 1505474 - Use downloaded manifest for wpt in jsshell, r=bbouvier,Ms2ger
web-platform-tests gets its test list from a manifest file that's
generated from the content of the tests. Unfortunately generating this
manifest is slow, so it's unreasonable to create it from scratch for
every test run. Until recently the generated manifest was kept
in-tree, which was suboptimal in a few ways:

* The manifest tended to get out of sync with the actual source
* The large json file caused problems for tooling including source
  control and the review frontends.

We previously switched `mach wpt` to download a manifest on demand and
apply an incremental update. However this work missed the usage in
jstests.py. This continued to use the increasing outdated in-tree
manifest, which causes a number of problems

* It doesn't have an up-to-date list of tests
* It blocks removing that file
* It blocks landing various optimisations to make updating the
  manifest faster.

This patch fixes jstests.py to use a downloaded manifest. Unlike the
tests run through a mach frontend jstests.py doesn't know where the
objdir is, so it's hard to work out where to download the
manifest. This patch adopts a heuristic approach; if the path to the
jsshell looks like <root>/dist/bin and <root>/_tests exists, we assume
it's a gecko-like objdir and use <root>/_tests/web-platform/ for the
manifest; otherwise we just put it into the system tempdir.

Because the manifest has to be updated on startup, this patch causes a
startup time regression, but this will be considerably reduced by the
work in Bug 1497898 for which this is a prerequisite.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 15:23:21 +00:00