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

488966 Коммитов

Автор SHA1 Сообщение Дата
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