Till Schneidereit
a3a1f7aa3e
Bug 1289318 - Part 9: Port Promise.resolve and Promise.reject to C++ and optimize various common cases. r=efaust
...
This adds a lot of C++ code, but it allows us to optimize cases that would be annoying to optimize in JS.
MozReview-Commit-ID: CbKWXEs8pMv
2016-08-26 17:45:03 +02:00
Till Schneidereit
36380475eb
Bug 1289318 - Part 8: Combine Promise state and rejection handling info into a single flags field. r=efaust
...
The rejection handling state will be required even without devtools being open once projection rejection tracking events[1] are implemented, so it should always be tracked on the Promise itself. The other debugging state will be moved into a debug-only object referenced via a slot on Promise.
MozReview-Commit-ID: LM10qruLDxz
2016-08-26 17:45:02 +02:00
Till Schneidereit
e2d055ae6b
Bug 1289318 - Part 7: Store the Promise reactions list in the same slot as the result. r=efaust
...
A Promise can only have either a list of reactions, if it's pending, or a result/reason, if it's resolved.
This gets us down to 3 non-debug-info slots. If we now move the debug info into its own object and only allocate that when the debugger is open, Promise instances only need 4 slots.
MozReview-Commit-ID: FuLAwhmFTBe
2016-08-26 17:45:01 +02:00
Till Schneidereit
d589429ecc
Bug 1289318 - Part 6: Don't store a reference to the reject function on Promise instances themselves. r=efaust
...
The reject function is reachable via the resolve function, so we can save a slot.
MozReview-Commit-ID: 9SPdRdnt98T
2016-08-26 17:45:01 +02:00
Till Schneidereit
18ec965154
Bug 1289318 - Part 5: Port most Promise functions directly involved in Promise resolution from JS to C++. r=efaust
...
Importantly, CreateResolvingFunctions, ResolvePromise, and TriggerPromiseReactions have been ported.
This reduces memory usage because before, the `resolve` and `reject` functions stored on a pending Promise kept track of each other and the Promise they belong to using a closure. Now, that state is stored in the functions' extended slots - which they have anyway.
It should also improve performance, as fewer switches between JS and C++ code occur during processing of Promise reaction job lists.
MozReview-Commit-ID: 9Wp0sDFayTy
2016-08-26 17:45:00 +02:00
Till Schneidereit
cad9414a19
Bug 1289318 - Part 4: Only allocate the Promise reactions array once the first reaction record is added. r=efaust
...
Saves 96 bytes on reaction-less promises. It also saves 32 bytes on promises that have up to two reactions: empty arrays are initialized with an allocated length of 8, whereas providing an initial element initializes to 2.
MozReview-Commit-ID: 3PtT7LDwL3k
2016-08-26 17:44:59 +02:00
Till Schneidereit
bd90ea737d
Bug 1289318 - Part 3: Merge Promise fulfillment and rejection reaction lists into a single list. r=efaust
...
This saves a slot on Promise instances, an Array allocation, and a rejection record per dependent promise.
While the first doesn't in itself save anything (going from 12 to 11 slots doesn't do anything), the second saves 96 bytes per Promise, and the third 64 bytes per dependent Promise.
MozReview-Commit-ID: BglU9tx89rD
2016-08-26 17:44:58 +02:00
Till Schneidereit
35cd874478
Bug 1289318 - Part 2: Make Promise reaction records their own object type with a constructor and all. r=efaust
...
That allows them to be unboxed, saving 32 bytes per instance. It's nicer, too.
MozReview-Commit-ID: HHvb5PihUUD
2016-08-26 17:44:58 +02:00
Till Schneidereit
9a23b3933f
Bug 1289318 - Part 1: Store contents of spec-defined `capabilities` struct in Promise reaction jobs directly. r=efaust
...
No need to keep create an additional object for this.
MozReview-Commit-ID: Hj8kpaBe6fL
2016-08-26 17:44:57 +02:00
Trevor Saunders
c7a771a5ba
bug 1296942
- AccessibleWrap::GetXPAccessibleFor() should check there is a child at an index before returning it r=davidb
2016-08-26 11:16:21 -04:00
Michael Kaply
5f7726a793
Bug 1294730 - Send distribution referrers to Adjust. r=rnewman
2016-08-26 09:26:42 -05:00
Sebastian Hengst
fc6d401c09
Backed out changeset 477689b30c9e (bug 1278562) for devtools failures (e.g. browser_dbg_promises-allocation-stack.js) and xpcshell failures (test_promise_state-01.js). r=backout on a CLOSED TREE
2016-08-26 15:46:55 +02:00
Sebastian Hengst
996e3a267d
Backed out changeset da5623128a3a (bug 1278562)
2016-08-26 15:45:36 +02:00
Sebastian Hengst
7506c3fd3e
Backed out changeset 4a66d787e352 (bug 1278562)
2016-08-26 15:45:31 +02:00
Sebastian Hengst
10abbd49e3
Backed out changeset eb2a5dc69ab0 (bug 1278562)
2016-08-26 15:45:27 +02:00
Sebastian Hengst
8567353813
Backed out changeset fa3bb9308449 (bug 1278562)
2016-08-26 15:45:22 +02:00
Ryan VanderMeulen
628ab3deff
Merge m-c to inbound. a=merge
2016-08-26 09:39:29 -04:00
Ryan VanderMeulen
e1fdfb3b73
Merge inbound to m-c. a=merge
2016-08-26 09:37:03 -04:00
Ryan VanderMeulen
aec08e3182
Merge fx-team to m-c. a=merge
2016-08-26 09:26:49 -04:00
Mats Palmgren
2c298fc18b
Bug 1282643 - [css-grid] Reject repeat() column tracks in <grid-template> when there's a grid template area string in the row part. r=dholbert
2016-08-26 15:16:57 +02:00
Mats Palmgren
d1f0271873
Bug 1281320 - [css-grid] Reftests for fit-content() track sizes.
2016-08-26 15:16:57 +02:00
Mats Palmgren
15b4f3793a
Bug 1281320 - [css-grid] Implement 'fit-content([ <length> | <percentage> ])' value for <track-size>. r=dholbert
2016-08-26 15:16:57 +02:00
Mats Palmgren
60eb164682
Bug 1266124 - [css-grid] Update the 'grid' shorthand syntax to the latest spec. r=dholbert
2016-08-26 15:16:57 +02:00
Mats Palmgren
c7dd4beb73
Bug 1282418 - [css-grid] Adding reftests for calc(Npx - M%) track sizes.
2016-08-26 15:16:57 +02:00
Mats Palmgren
980c942b3f
Bug 1282418 - [css-grid] Deal with calc() with negative percentage that may result in negative track size. r=dholbert
2016-08-26 15:16:57 +02:00
Mats Palmgren
744e0d01c7
Bug 1279182 - [css-grid] Reftests for <percentage> grid-gap.
2016-08-26 15:16:57 +02:00
Mats Palmgren
ddcd7a20ef
Bug 1279182 - [css-grid] Resolve a <percentage> grid-gap of an indefinite CB size to zero. r=dholbert
2016-08-26 15:16:56 +02:00
Nicolas Silva
b448411938
Bug 1294351 - Move restoring the canvas clip stack to its own method and early return form EnsureTarget. r=Bas
2016-08-26 14:31:58 +02:00
Nicolas Silva
86043872c7
Bug 1297659 - Indentation fix in nsHTMLEntities.cpp. r=hsivonen
2016-08-26 14:31:34 +02:00
Nicolas Silva
ce8729cb81
Bug 1297986 - Don't assume w=1 when transforming 4d points. r=mattwoodrow
2016-08-26 14:31:29 +02:00
Eddy Bruel
a34f37a145
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseReason. r=jimb
2016-08-26 14:09:17 +02:00
Eddy Bruel
af094784e5
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseValue. r=jimb
2016-08-26 14:08:53 +02:00
Eddy Bruel
8c3262835f
Bug 1278562 - Implement a C++ interface for DebuggerObject.promiseState. r=jimb
2016-08-26 14:08:33 +02:00
Eddy Bruel
1addb2460a
Bug 1278562 - Make the isPromise getter infallible. r=jimb
2016-08-26 14:08:10 +02:00
Eddy Bruel
5ebc819f4f
Bug 1278562 - Split promiseState into promiseState/Value/Reason. r=jimb
2016-08-26 14:07:46 +02:00
Emilio Cobos Álvarez
ab791a332e
Bug 1292281: Devirtualize nsPresContext::HasAuthorSpecifiedRules. r=bholley
...
MozReview-Commit-ID: 4UF4vNaOCHz
Signed-off-by: Emilio Cobos Álvarez <ecoal95@gmail.com>
2016-08-26 04:20:01 -07:00
Emilio Cobos Álvarez
9d37bfeecc
Bug 1292281: Convert the error from nsPresContext::HasAuthorSpecifiedRules in a warning in nsRuleNode. r=bholley
...
MozReview-Commit-ID: 7ue0MYP3Jdb
Signed-off-by: Emilio Cobos Álvarez <ecoal95@gmail.com>
2016-08-26 04:19:58 -07:00
Yoshi Huang
8c13a9fd49
Bug 1244340 - Part 3: pass userContextId to search suggestions r=mak
2016-08-26 18:59:00 +08:00
Yoshi Huang
69ed1a79e4
Bug 1244340 - Part 2: add setOriginAttributes in nsIXMLHttpRequest. r=sicking
...
Add a ChromeOnly method called 'setOriginAttributes' on the XMLHttpRequest,
so that we can override the origin attributes for those XHRs running by XUL
(which will use System Principal).
2016-08-26 18:59:00 +08:00
Yoshi Huang
8ace8c51a5
Bug 1244340 - Part 1: Use origin attributes as cstor arg for LoadContext r=sicking
2016-08-26 18:59:00 +08:00
Iris Hsiao
0028508811
Backed out changeset 1a7948aa1a31 (bug 1295352)
2016-08-26 18:26:42 +08:00
Iris Hsiao
882996bb41
Backed out changeset 93860eea4310 (bug 1295352)
2016-08-26 18:26:39 +08:00
Iris Hsiao
eea175e0b3
Backed out changeset a7c030a81408 (bug 1295352)
2016-08-26 18:26:35 +08:00
Iris Hsiao
66918d6929
Backed out changeset df194bbc13b6 (bug 1295352)
2016-08-26 18:26:32 +08:00
Iris Hsiao
e7a1db45b7
Backed out changeset 65f1bf3e9dec (bug 1295352) for Mochitest Media failure
2016-08-26 18:26:27 +08:00
Iris Hsiao
f6028aeb00
Backed out changeset 4cfa56c2c97b (bug 1294605
)
2016-08-26 18:26:20 +08:00
Iris Hsiao
26a17f7f0d
Backed out changeset 631047fcb5af (bug 1294605
)
2016-08-26 18:26:16 +08:00
Iris Hsiao
a0dc21c25c
Backed out changeset 8e71a7a64910 (bug 1294605
) for Mochitest Media failures
2016-08-26 18:26:11 +08:00
Jon Coppeard
2317b2fef5
Bug 1295978 - Eagerly instantiate module dependencies r=bkelly
2016-08-26 11:09:52 +01:00
Sebastian Hengst
f3cd1bea10
Backed out changeset 488e02b69a8c (bug 1008019) for failing clipPath-html-06.xhtml. r=backout
2016-08-26 11:31:27 +02:00