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

66206 Коммитов

Автор SHA1 Сообщение Дата
Paul Bone ae0b1db9bd Bug 1473213 (Part 5) - Only record allocation counts on Nightly builds r=jonco
--HG--
extra : rebase_source : fc08649811bfce781660667256f0541e692d7b65
2018-07-26 00:35:25 +10:00
Paul Bone 0c73982d50 Bug 1473213 (Part 4) - Add cells allocated statistics r=sfink
--HG--
extra : rebase_source : 667c5db83b674e28602fe38ca73bc6f250717c64
2018-08-08 12:54:50 +10:00
Paul Bone 3e4c1ee795 Bug 1473213 (Part 3) - Refactor JSContext code for changing zones r=sfink
* Introduce a setZone method that changes the zone and the freelist.
 * leaveAtomsZone() private

--HG--
extra : rebase_source : 1da68a20211b410b651a4d12548f09b3b942b017
2018-08-08 12:05:59 +10:00
Paul Bone 0647dd2041 Bug 1473213 (Part 2) - add a comment about an invariant required by the JIT r=sfink
--HG--
extra : rebase_source : 0e2b341e0a12917f0584143803a39140a060886d
extra : source : 4e59349dd9776f329c9545aa994c6f490f11d105
2018-07-16 11:36:49 +10:00
Paul Bone e0abcaa9c4 Bug 1473213 (Part 1) - Track the number of tenured cells r=jonco
--HG--
extra : rebase_source : ea625486c1c067d2a5ce4686f32f93886c16aded
extra : source : 445b672aa024fdfca38a2e819f54bcbf28e922dd
2018-07-20 15:09:01 +10:00
agashlin@mozilla.com a03dfcbd42 bug 1397297, make SnowWhite freeing more incremental, r=smaug
--HG--
extra : rebase_source : 0772adabddb6cee33d83184d32c981d3920ea6e6
2018-08-08 09:14:58 +03:00
Chris Peterson dc642862f3 Bug 1481097 - wasm: Remove inline template workaround for gcc 4.8.5 bug. r=lth
This gcc 4.8.5 workaround (from bug 1316850) is no longer needed because Firefox currently requires gcc 6.1 or later (as of bug 1444274).

MozReview-Commit-ID: 4JFmOYoJnMH

--HG--
extra : rebase_source : f348a629f25f6852250306d969262372460a677a
extra : source : cb42b2192694148ffdf97c3a5c2fabb2578a0ec0
2018-07-22 00:21:45 -07:00
Brindusan Cristian 37bf8a10b0 Backed out 3 changesets (bug 1378808) for wpt failures on /content-security-policy/securitypolicyviolation/targeting.html.
Backed out changeset 6c6a609463ab (bug 1378808)
Backed out changeset 6dd9c641346a (bug 1378808)
Backed out changeset e732697778c2 (bug 1378808)
2018-08-08 04:40:19 +03:00
Kris Maglione 25c94b46d8 Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz
Right now, a lot of test code relies on side-effects of SpecialPowers being
loaded into frame script globals. In particular:

- It forces permissive COWs from those scopes, which allows frame scripts to
  pass objects from those scopes to unprivileged content that they otherwise
  wouldn't.
- It imports a bunch of helper modules and WebIDL globals which would
  otherwise not be available.

Fortunately, this seems to only impact test code at this point. But there's a
real down-the-road risk of it impacting shipping code, which ends up working
in automation due to the side-effects of SpecialPowers, but failing in real
world use.

MozReview-Commit-ID: G27eSSOHymX

--HG--
extra : rebase_source : 1702e63fed719fc92def2bdbbb8a7c53572432db
extra : source : 41bedc526dd6ec6b7e8c7be1c832ac60c81d6263
2018-08-07 14:13:06 -07:00
Brindusan Cristian 16ec846afc Backed out 2 changesets (bug 1481021) for bc failures on security/sandbox/test/browser_bug1393259.js.
Backed out changeset c53c7b0249ad (bug 1481021)
Backed out changeset 41bedc526dd6 (bug 1481021)
2018-08-08 03:22:16 +03:00
Jim Blandy 1d92752dd6 Bug 1073753: Document GC sensitivity of Debugger.prototype.onNewGlobalObject. r=jorendorff DONTBUILD 2018-08-07 11:33:56 -07:00
Logan F Smyth 96dd9699d1 Bug 1378808 - Use ::Arguments or ::PropertyName location for method call column offsets. r=jorendorff
MozReview-Commit-ID: G8mG1qsIO21

--HG--
extra : rebase_source : b5a72b239156617319fc6dabe111c02c13f621c9
2018-07-12 11:51:17 -07:00
Logan F Smyth 190da876ea Bug 1378808 - Add a new ParseNodeKind::PropertyName to hold location information about property access name. r=jorendorff
MozReview-Commit-ID: J4vHz4ln5Zt

--HG--
extra : rebase_source : ef066b750f7fac7057335446dd6040da8b7de8e8
extra : source : 3b4f4db5d3d78170faf00bdf9fe2a562ad155fd5
2018-07-12 11:29:05 -07:00
Logan F Smyth fa5586057e Bug 1378808 - Add a new ParseNodeKind::Arguments node type for call argument lists. r=jorendorff
MozReview-Commit-ID: 7L4nNHjVoZo

--HG--
extra : rebase_source : 8ccc04cb335a227c45a332ded88408d6a2ec7c09
2018-07-12 11:24:59 -07:00
Kris Maglione c1969dbca2 Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz
Right now, a lot of test code relies on side-effects of SpecialPowers being
loaded into frame script globals. In particular:

- It forces permissive COWs from those scopes, which allows frame scripts to
  pass objects from those scopes to unprivileged content that they otherwise
  wouldn't.
- It imports a bunch of helper modules and WebIDL globals which would
  otherwise not be available.

Fortunately, this seems to only impact test code at this point. But there's a
real down-the-road risk of it impacting shipping code, which ends up working
in automation due to the side-effects of SpecialPowers, but failing in real
world use.

MozReview-Commit-ID: G27eSSOHymX

--HG--
extra : rebase_source : c528dffe3a54eec75ad6cb358980b783b00eb4a4
2018-08-07 14:13:06 -07:00
Nathan Froyd c69869e83a Bug 1481239 - fix non-DEBUG VIXL_UNREACHABLE; r=jandem
MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE takes a reason string, which
wasn't being provided, which in turn led to a lot of warning spam.
2018-08-07 08:37:17 -04:00
Jan de Mooij caa8441bb2 Bug 1481229 part 2 - Always use the unwrapped object in Logging::formatObject. r=evilpie 2018-08-07 14:06:45 +02:00
Jan de Mooij b5ec5d2e1e Bug 1481229 part 1 - Remove unnecessary realm entering in JavaScriptShared::findObjectById. r=evilpie
ToWindowProxyIfWindow does not rely on the current realm in any way.
2018-08-07 14:06:45 +02:00
Jan de Mooij 5824a03a39 Bug 1478359 - Store a global object in nsXPCWrappedJS and use it for realm-entering. r=mccr8
The problem we're solving here: getting/entering the realm/global of a cross-compartment wrapper doesn't make sense once there are multiple realms in a compartment and the CCW will be shared by all of them. Because nsXPCWrappedJS can store a CCW, we will no longer be able to use this JSObject to enter the target realm.

What this patch does: we pass a JSContext* to nsXPCWrappedJS::GetNewOrUsed and we use this to store a global object in nsXPCWrappedJS (with the invariant that the object and global stored in nsXPCWrappedJS are same-compartment). Then when we want to enter the nsXPCWrappedJS's target realm, we use this global object instead of the maybe-CCW object. Because we currently still have one realm per compartment and the objects are same-compartment, this is guaranteed to preserve behavior for now.

nsXPCWrappedJS has some code to deal with weak pointers. Fortunately this applies only to root wrappers and root wrappers always store an unwrapped JSObject, so the extra global we store is guaranteed to be marked by the GC in that case (a global object is never collected when there are live JSObjects belonging to the same realm).
2018-08-07 11:57:41 +02:00
arthur.iakab 2d528aa145 Merge mozilla-central to inbound 2018-08-07 12:41:15 +03:00
Ms2ger 8f6fcafd68 Bug 1480454 - Part e: Stop running disabled wpt tests in jstests; r=jgraham 2018-08-07 10:18:31 +02:00
Ms2ger 970755f67e Bug 1480454 - Part d: Don't run wpt jstests in the jsreftest harness; r=bbouvier
These tests already run in the browser within the wpt setup.
2018-08-07 10:18:31 +02:00
Ms2ger c73ddf8544 Bug 1480454 - Part c: Give RefTestCase a useful __repr__ implementation; r=bbouvier 2018-08-07 10:18:31 +02:00
Ms2ger 6cd332bb7f Bug 1480454 - Part b: Improve assertion in _emit_manifest_at; r=bbouvier
This adds a message to the assertion, and removes a leftover pdb invocation
(which causes unnecessary delays if it is triggered in automation).
2018-08-07 10:18:31 +02:00
Ms2ger 82d9496d6a Bug 1480454 - Part a: Add a wasm setting to the wpt .ini expectation files; r=jgraham 2018-08-07 10:18:31 +02:00
Nicholas Nethercote 46db021929 Bug 1481138 - Remove HashMap::lookupWithDefault(). r=luke
Because it's quite strange, badly named, not that useful, and barely used.

Also remove WeakMap::lookupWithDefault(), which is similar, but not used at
all.

MozReview-Commit-ID: IhIl4hQ73U1

--HG--
extra : rebase_source : 7da237a56391836ca5d056248f18bd5e2d8b1564
2018-08-06 09:45:38 +10:00
Nicholas Nethercote d9eb003725 Bug 1481138 - Remove the add() variant in HashTable and GCHashTable that uses a default value. r=luke
Because (a) it's kinda weird, and (b) only used in a single test, where it can
be easily replaced with a vanilla add().

MozReview-Commit-ID: L4RoxFb7yGG

--HG--
extra : rebase_source : 515a5ede5d417686907345ad9069c6a41669dd17
2018-08-06 09:10:05 +10:00
Jan-Ivar Bruaroey f3ef96fcc0 Bug 1480306: Fix unused variable variable 'hasLineOfContext' in TokenStream.cpp. r=Waldo
MozReview-Commit-ID: EK1IAvCZFwv

--HG--
extra : rebase_source : 8ed430ca01927142f77814a81364c6645c3a2581
2018-08-01 22:46:17 -04:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Lars T Hansen 2bb8c3a9cf Bug 1423577 - Remove asm.js atomics support. r=luke
--HG--
extra : rebase_source : c08664dc1afc6bc458d65d0898a5c2cdfa49fa34
2018-08-03 10:09:10 +02:00
Nicholas Nethercote e39fda4c40 Bug 1480668 - Remove js::CStringHashPolicy. r=luke
It's identical to mozilla::CStringHasher.

Also fix a comment at the top of HashTable.h about CStringHasher.

--HG--
extra : rebase_source : 92176c4f6ea8041f309764b4ce0271a494853a7b
2018-08-06 07:55:50 +10:00
Narcis Beleuzu 7f1248b11b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-05 12:52:39 +03:00
Sebastian Hengst 818a3f61d2 Bug 1480991 - exit mailbox.js early if wasm threads not supported. r=lth
MozReview-Commit-ID: EvN67pluT09

--HG--
extra : rebase_source : 3d680aa90623bfcd66b5bd82bcbf0d07e0a347cc
2018-08-04 23:14:51 +03:00
Brian Hackett 8eb62dd065 Bug 1479058 Part 8 - Store time warp target on nsIScriptError, r=smaug.
--HG--
extra : rebase_source : 1faf5a0c0ead57f5dfb24c7450873977bf41a022
2018-08-02 23:31:29 +00:00
Brian Hackett 49770ee0cf Bug 1479058 Part 7 - Store time warp target on Error objects, r=jandem.
--HG--
extra : rebase_source : b848b53d363797e2894630b4f9dac59a51481f6d
2018-08-02 23:30:54 +00:00
Noemi Erli 23c8a3a9f3 Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
Dorel Luca 33b000ddd1 Merge mozilla-central to mozilla-inbound 2018-08-04 01:31:40 +03:00
Dorel Luca 5c509fd70a Backed out changeset 8c763e66ba84 (bug 1397297) for frequent mochitest failures. a=backout 2018-08-04 01:27:15 +03:00
Nathan Froyd 7074ffc753 Bug 1480588 - restrict rtdsc Time.h functions to x86ish processors on Windows; r=luke
__rtdsc is not going to work so well on AArch64.
2018-08-03 18:07:35 -04:00
Gabriele Svelto 50ba13cce4 Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.

--HG--
extra : rebase_source : b4f0d4bf83c64851028c271d3fab3ebcb6fbcd3e
2018-07-05 15:42:11 +02:00
Nika Layzell 051eb6dcbd Bug 1480624 - Part 2: Add a DestructValue method to XPConnect to run XPT Type destructors, r=mccr8
Summary:
DestructValue acts a lot like CleanupValue, however in addition to normal
cleanup work, it invokes the destructor of complex data types. This is important
to ensure that constructors and destructors are matched for these complex data
types.

CleanupValue is also used to clean up a value without destructing it, so cannot
be modified in-place.

Depends On D2689

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1480624

Differential Revision: https://phabricator.services.mozilla.com/D2690
2018-08-03 15:55:13 -04:00
Nika Layzell f1902ff595 Bug 1480624 - Part 1: Add XPT_FOR_EACH_*_TYPE macros to xptinfo.h, r=mccr8
Summary:
This macro simplifies code which allows performing an operation on or
extracting information from a particular nsXPTType's native representation.

It is also used in part 2 to implement xpc::DestructValue.

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1480624

Differential Revision: https://phabricator.services.mozilla.com/D2689
2018-08-03 15:55:13 -04:00
Coroiu Cristina 1ba19a32ac Backed out changeset 86471a18672f (bug 1348273) for ESlint failure at toolkit/modules/WebNavigationChild.jsm
--HG--
extra : rebase_source : e0c94f49ddc1f1b119b72c06fccc1b4363b9d340
2018-08-03 22:48:51 +03:00
Gabriele Svelto eff24befbd Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.

--HG--
extra : rebase_source : f0e8d229581ac5c0daa0e0454cb258746108e28d
2018-07-05 15:42:11 +02:00
André Bargull ec9dce89df Bug 1478503: Shrink capacity when modifying length on a non-extensible array. r=jandem 2018-08-02 13:03:04 -07:00
Lars T Hansen 26b46f82a4 Bug 1479718 - Allow Wasm to prevent a TypedObject constructor from being invoked from JS. r=till
TypedObjects that map Wasm structs with fields that have Ref type are
not yet constructible from JS because the type constraint can't be
honored.  So for now, make it possible for Wasm to flag such structs
as unconstructible-from-JS.

--HG--
extra : rebase_source : aab9d7f2ba7b4c1ff7875d184b86bb0ae3e32413
extra : intermediate-source : 97c72ae6e843fe1cb712bd4855d174fc711c3cb0
extra : source : f59588ebc5c4ff06bfb437896147e07cb856e355
2018-07-31 10:45:55 +02:00
Lars T Hansen 27be8bc412 Bug 1478982 - Allow TypedObject fields to be flagged immutable. r=till
This allows internal clients (notably Wasm) to flag TO fields as
immutable; we need this both to provide immutability for fields that
are declared immutable in wasm structs, and to temporarily avoid the
need for type constraints on assignments to Ref-typed pointer fields.

--HG--
extra : rebase_source : 19d1b1bf81396ca305b699cda0277fd8e41f5fe9
extra : intermediate-source : d219c9587f920a0f5924dbdab3e8cf5dfecf3f75
extra : source : f1161dd31ac1cf6f050315d04b978b9d6c0c824a
2018-07-27 13:33:44 +02:00
Lars T Hansen 39bda38c95 Bug 1468524 - Fix instanceof for TypedObject 'struct' instances. r=till
Struct types need to appear to be callable, or some paths through the
engine will not think that they are constructors (since constructors
are callable).

They are not *actually* callable however; the call implementation
always throws.

--HG--
extra : rebase_source : a0db93050943bda3348887c8a63a374e19158d41
extra : source : 437198f32338d69602f3375f94a996f3d880fa17
2018-07-31 10:48:26 +02:00
Lars T Hansen 37d3b18077 Bug 1480012 - Generalize JS shell mailbox to Wasm memories and modules. r=luke
In the old days we could only share a SharedArrayBuffer, but now we
can also share WasmMemory and WasmModule objects.  Rename the shell's
get/setSharedArrayBuffer as get/setSharedObject and generalize them to
handle the new types.

Leave the old names in place as aliases of the new names.

We rename /some/ uses of get/setSharedArrayBuffer in existing test
cases, but leave uses in test262 alone; we need to upstream those more
carefully.

--HG--
extra : rebase_source : 5ca04306a739249a70fc4aa8734b08e16d62f7d4
extra : source : fcd471c23cf3c1374541df766fd5aea0628fb2a5
2018-08-01 13:21:06 +02:00
Bogdan Tara f2cb75b28c Merge inbound to mozilla-central. a=merge 2018-08-03 13:16:27 +03:00