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

60027 Коммитов

Автор SHA1 Сообщение Дата
Kannan Vijayan 3e15b3041e Bug 1358599 - Use runtime guards for jitcode pre-barriers instead of patchable jumps. r=jandem r=sfink 2017-04-30 08:42:34 -04:00
Sebastian Hengst bb580f3e71 Backed out changeset fd049b7bf3d2 (bug 1360372) for hazards. r=backout 2017-04-30 10:03:17 +02:00
Bill McCloskey 32eac2e449 Bug 1360372 - Acquire cooperative lock when entering system zone group (r=bhackett)
MozReview-Commit-ID: 92SgTKMD6xt
2017-04-29 20:59:45 -07:00
Sebastian Hengst 218d14273c merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: BTRXNHiIEWd
2017-04-29 21:30:59 +02:00
Jan de Mooij 8ddc231e13 Bug 1360523 - Define number of reserved slots explicitly for each proxy js::Class. r=bz 2017-04-29 14:41:49 +02:00
Jan de Mooij 35bcc30a53 Bug 1360520 - Add a GrayLinkReservedSlot constant and use it instead of hardcoding 1. r=jonco 2017-04-29 14:36:18 +02:00
Sebastian Hengst 22de13017e Backed out changeset 0e150cf52e59 as the last remnants of the push which started the hazards (also tracking in bug 1359980). r=backout 2017-04-29 14:23:06 +02:00
Sebastian Hengst 6069f365a3 Backed out changeset f42d614a7227 2017-04-29 14:20:24 +02:00
Sebastian Hengst 1b21c4fa80 Backed out changeset de236ed88685 (bug 1351107) to hopefully fixing rooting hazard. r=backout 2017-04-29 12:51:52 +02:00
Sebastian Hengst f48836bad3 Backed out changeset 2c965dfef6c8 (bug 1359980) for hazard. r=backout 2017-04-29 11:05:03 +02:00
Sebastian Hengst 736c2cb1d9 Backed out changeset 21447217ddbd (bug 1359980) 2017-04-29 11:00:42 +02:00
Jeff Walden 9a87fb6fae Bug 1359980 - Followup hazard fix. (Maybe the varargs threw off the hazard analysis, where the suppress-GC operation occurred *inside* a varargs function? *shrug*) r=bustage 2017-04-28 19:35:52 -07:00
Sebastian Hengst f4f104e7e0 merge mozilla-central to autoland. r=merge a=merge 2017-04-29 11:11:48 +02:00
Andrew Swan f38ced1fc9 Bug 1354682 Add transform to XPCOMUtils.defineLazyPreferenceGetter r=kmag
MozReview-Commit-ID: Lm59IHMNcy9

--HG--
extra : rebase_source : 3250d759b1b9909bcc7564139a3d7066d8376b60
2017-04-28 22:39:13 -07:00
Phil Ringnalda f8d5e6ddf9 Backed out 3 changesets (bug 1354682) for sessionstore browser-chrome bustage
CLOSED TREE

Backed out changeset 55405fd328f9 (bug 1354682)
Backed out changeset 56b8122e64a3 (bug 1354682)
Backed out changeset 9374009a95e5 (bug 1354682)

MozReview-Commit-ID: BNVhwID8NwD
2017-04-28 20:24:34 -07:00
Jeff Walden d1bac2da78 Bug 1351107 - Use unicode::{LINE,PARA}_SEPARATOR instead of hand-rolling them for TokenStream code. r=arai
--HG--
extra : rebase_source : 928d87700a93fe6ccaa5eac45de9c304f2b0f03f
2017-04-15 00:51:56 -07:00
Jeff Walden c69ddc19ad Bug 1359980 - Make RegExpParser::ReportError give better error messages that point directly at the offending character within the pattern, rather than just at the start of the RegExp literal. r=arai
--HG--
extra : rebase_source : 9ac96d60605e4cd44347a1507b1ae0dc418d3daa
2017-04-25 23:36:22 -07:00
Jeff Walden 8f9c41e0d0 Remove or curtail a bunch of unnecessary dependencies on frontend/TokenStream.h to substantially reduce the number of files that must be recompiled for a change to TokenStream.h. No bug, rs=bbouvier
--HG--
extra : rebase_source : 222f24e2792df0d5afef2a258f1572cd67648cf2
2017-04-25 23:36:22 -07:00
Jeff Walden b4fe419d1d Make Interpreter.h not #include ParseNode.h. No bug, r=shu
--HG--
extra : rebase_source : 0659a1d8e0408d3b4a2a22988a5d394857a891b8
2017-04-25 23:36:22 -07:00
Andrew Swan 46e486f880 Bug 1354682 Add transform to XPCOMUtils.defineLazyPreferenceGetter r=kmag
MozReview-Commit-ID: Lm59IHMNcy9

--HG--
extra : rebase_source : 796d9b0b7a6bf94782ebeeaf35d237176687c0ac
2017-04-28 16:10:44 -07:00
Jon Coppeard 8711eef9cd Bug 1359252 - Add pre-write barrier for JIT writes to NativeIterator::obj r=jandem 2017-04-28 12:05:30 +01:00
Carsten "Tomcat" Book 1045b9730a merge mozilla-inbound to mozilla-central a=merge 2017-04-28 10:36:11 +02:00
Bill McCloskey 7c672b4158 Bug 1359245 - Fix compiler error on CLOSED TREE
MozReview-Commit-ID: 57cVUcTV1Rv
2017-04-27 15:53:37 -07:00
Bill McCloskey 34a4f034bb Bug 1359245 - Remove references to context from the cycle collector (r=mccr8)
MozReview-Commit-ID: 1QoNEiZMvBf
2017-04-27 15:34:46 -07:00
Bill McCloskey 9862d9c932 Bug 1359245 - Remove some tracing callbacks at shutdown (r=mccr8)
When we just had CycleCollectedJSContext (and no CycleCollectedJSRuntime) a
weird thing happened at shutdown:
1. We would call JS_DestroyContext from ~CycleCollectedJSContext. By that time,
   the ~XPCJSContext destructor had already finished.
2. Destroying the context runs a final GC. That GC would call back into various
   GC callbacks, such as TraceBlackJS and TraceGrayJS.
3. These callbacks would do a virtual method call:
   http://searchfox.org/mozilla-central/rev/876c7dd30586f9c6f9c99ef7444f2d73c7acfe7c/xpcom/base/CycleCollectedJSRuntime.cpp#791
4. Normally this method call would call into
   XPCContext::TraceNativeBlackRoots. However, C++ changes the vtable for an
   object during destruction. So we would only call CycleCollectedJSContext's
   version of TraceNativeBlackRoots, which is empty. So we never traced anything.

When I moved this code into the runtime, we actually do call into
XPCJSRuntime::TraceNativeBlackRoots at that time. So the behavior changed, and
that was causing crashes once I nulled out the TLS as you asked. So I removed
these callbacks for the last GC.

MozReview-Commit-ID: 3do13bjpwQj
2017-04-27 15:34:46 -07:00
Bill McCloskey 1d5c5ef48b Bug 1359245 - Keep a linked list of CycleCollectedJSContexts in the runtime (r=mccr8)
This patch keeps a list of all the cooperatively scheduled contexts that are
linked to a runtime. In places where we need to iterate over all contexts (for
GC, specifically), it iterates over the list.

MozReview-Commit-ID: 3pKJX78f2l0
2017-04-27 15:34:46 -07:00
Bill McCloskey 267ad1f2b0 Bug 1359245 - Initial support for cooperative contexts (r=mccr8)
This patch adds initial support for cooperatively scheduled
CycleCollectedJSContexts.

MozReview-Commit-ID: 5pfPubHUanL
2017-04-27 15:34:46 -07:00
Bill McCloskey ee9f642133 Bug 1359245 - Remove CycleCollectedJSRuntime::mJSContext (r=mccr8,sfink)
This patch eliminates a field where we assume that there is one
CycleCollectedJSContext per runtime.

MozReview-Commit-ID: 5cEL5Ml6Y9v
2017-04-27 15:34:46 -07:00
Bill McCloskey 11b1f07146 Bug 1359245 - Get rid of CycleCollectedJSRuntime::MainContext (r=mccr8)
This is another method that assumes one context per runtime. This patch
eliminates the method.

MozReview-Commit-ID: JHcQ1nyiHSP
2017-04-27 15:34:46 -07:00
Bill McCloskey 1e5747d0b4 Bug 1359245 - Eliminate nsXPConnect::mContext (r=mccr8)
This field assumes there is one XPCJSContext globally (i.e., per nsXPConnect
instance). This patch eliminates the field by using different paths to
reach the context.

MozReview-Commit-ID: FjR6cTZ5QfZ
2017-04-27 15:34:46 -07:00
Bill McCloskey 133ed14a85 Bug 1359245 - Eliminate some XPCJSContext::Get() usage (r=mccr8)
XPCJSContext::Get() now does a TLS lookup, which is a little more expensive
than looking up a global variable. This patch removes as many of the TLS
lookups as possible.

MozReview-Commit-ID: GsqzJn55Lya
2017-04-27 15:34:46 -07:00
Bill McCloskey 3e774f9f8a Bug 1359245 - Eliminate nsXPConnect::GetContextInstance() (r=mccr8)
This method assumes there is one global XPCJSContext. This patch eliminates
uses of it.

MozReview-Commit-ID: L2AkBGh5TnC
2017-04-27 15:34:46 -07:00
Bill McCloskey 51147a69b6 Bug 1359245 - Use TLS to return XPCJSContext::Get() (r=mccr8)
Once we have multiple XPCJSContext's, we may have to figure out which one we're
using with TLS. A later patch tries to remove as many of these TLS lookups
as possible so that performance doesn't suffer.

MozReview-Commit-ID: 50uHpDLZmUH
2017-04-27 15:34:46 -07:00
Bill McCloskey 6df90ba01c Bug 1359245 - Move JS engine promise callbacks from JSRuntime to JSContext (r=till)
The promise callbacks are intended to run on the XPCJSContext, so the data
that is associated with them should be per-context. We might as well make
the callbacks themselves per-context as well.

MozReview-Commit-ID: LmQNz1EovJx
2017-04-27 15:34:46 -07:00
Wes Kocher 9528ad9a03 Merge m-c to inbound, a=merge
MozReview-Commit-ID: DaH1djmEY5A
2017-04-27 13:29:07 -07:00
Carsten "Tomcat" Book e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Tom Tromey 9a70d783bc Bug 1360152 - null-check correct value in ToDisassemblySource; r=froydnj
MozReview-Commit-ID: 3HR4ZofDlyW

--HG--
extra : rebase_source : 62d158727e11a8ccda64cdc36631dbaeb3b548cb
2017-04-27 07:29:09 -06:00
Jeremy Chen 79f145e226 Bug 1359313 - whitelist -moz-border-*-colors related bindings to satisfy heap write analysis. r=bholley,heycam
A quick fix for hazard bustage by increase the NUM_ALLOWED_WRITE_HAZARDS
from 3 to 7 is pushed in bug 1348173 comment 37. In this bug, we shall do
the actual fix and restore the NUM_ALLOWED_WRITE_HAZARDS.

The -moz-border-*-colors bindings trigger errors because they're using
outparams (nsStyleBorder) which further manipulate its member (mBorderColors)
which is a double raw pointers. Since we don't have the ability to
whitelist the indirect access to mBorderColors[x] list, we can only add
them to the ignoreContents for now.

We might be able to move these bindings to the whitelist of the above
treatAsSafeArgument function, if we could refactor mBorderColors to use
nsTArray directly.

MozReview-Commit-ID: 2cQz58K2A10

--HG--
extra : rebase_source : af2b5b944fb9d19fe28f57eaa37f77174d48bfa4
2017-04-27 12:06:05 +08:00
Wes Kocher 226702fd85 Merge m-c to autoland a=merge
MozReview-Commit-ID: LOGgOErcV9L
2017-04-26 17:43:38 -07:00
Wes Kocher c90904f9bf Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00
Tom Tromey 3e96a70858 Bug 1334278 - have FormatStackDump return UniqueChars; r=froydnj
Change FormatStackDump to return UniqueChars and fix up the users.  This
removes a bit more manual memory management.

MozReview-Commit-ID: 60GBgeS4rzg

--HG--
extra : rebase_source : 15060321f567816ca434cdf1ef816d8322ceefff
2017-04-21 12:47:06 -06:00
Luke Wagner 77a486b3b3 Bug 1359612 - Baldr: make ToABIFunctionType work on any function signature (r=bbouvier)
MozReview-Commit-ID: IzzCpt6wwPr

--HG--
extra : rebase_source : f5d5e72647e2cdcecefca671d4bc57120aa80500
2017-04-26 09:52:11 -05:00
Benjamin Bouvier c22f53e64f Bug 1359810: wasm: in always-baseline mode, consider hardware requirements; r=luke
--HG--
extra : rebase_source : 029d8b6b18f593285f3b9eb92058545d5daaca0a
2017-04-14 17:54:49 +02:00
Jon Coppeard 6f85e884cd Bug 1359049 - Improve gray marking assertions to cover object private GC pointers r=sfink 2017-04-26 14:15:32 +01:00
Jan de Mooij aae9e97436 Bug 1359421 - Simplify/optimize SharedContext::isFunctionBox by removing an unnecessary virtual call. r=shu 2017-04-26 14:59:00 +02:00
Jon Coppeard d3c28babad Bug 1352430 - Add zeal mode to exercise incremental foreground finalization r=sfink
--HG--
extra : rebase_source : df146d0f518714cb435c24e8c907f653e3e5f2c1
2017-04-26 11:19:06 +01:00
Jon Coppeard 57137dea9d Bug 1352430 - Add barrier to CPOWs table to remove dying objects r=billm
--HG--
extra : rebase_source : a923df26fc706615b248191cf544a372ff357bd4
2017-04-26 11:18:53 +01:00
Jon Coppeard eb3c9870bf Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink
* * *
Code review followup

--HG--
extra : rebase_source : 10c1fd603c2dd1ac2ff5770ae9aec2e9131681ce
2017-04-26 11:18:39 +01:00
Jon Coppeard f67bc06071 Bug 1352430 - Update XPConnect sweeping to handle incrementally finalized objects r=mccr8 r=sfink
--HG--
extra : rebase_source : 10c974bedd003cf23de9e32ad7ae202441c92db9
2017-04-26 11:18:13 +01:00
Jon Coppeard 8c75ba5bbb Bug 1352430 - Update the GC finalize callback to communicate the new state r=sfink r=mccr8
--HG--
extra : rebase_source : ebd661eee50bbf48f21c12e6a1c6df9015f81beb
2017-04-26 10:57:08 +01:00