0879ee58fcdce9c33dd20f3f4bf89c2d8f65828f: Bug 1358599 - Use runtime guards for jitcode pre-barriers instead of patchable jumps. r=jandem r=sfink
Kannan Vijayan <kvijayan@mozilla.com> - Sun, 30 Apr 2017 08:42:34 -0400 - rev 570759
Push 56570 by cpeterson@mozilla.com at Sun, 30 Apr 2017 19:12:04 +0000
Bug 1358599 - Use runtime guards for jitcode pre-barriers instead of patchable jumps. r=jandem r=sfink
cc77c0f84a03b136ade5768ad111e4b79f454ebe: Backed out changeset fd049b7bf3d2 (bug 1360372) for hazards. r=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Sun, 30 Apr 2017 10:03:17 +0200 - rev 570758
Push 56570 by cpeterson@mozilla.com at Sun, 30 Apr 2017 19:12:04 +0000
Backed out changeset fd049b7bf3d2 (bug 1360372) for hazards. r=backout
fd049b7bf3d233fa51227992f1cbd8bfcdad1e98: Bug 1360372 - Acquire cooperative lock when entering system zone group (r=bhackett)
Bill McCloskey <billm@mozilla.com> - Thu, 27 Apr 2017 15:25:21 -0700 - rev 570757
Push 56570 by cpeterson@mozilla.com at Sun, 30 Apr 2017 19:12:04 +0000
Bug 1360372 - Acquire cooperative lock when entering system zone group (r=bhackett) MozReview-Commit-ID: 92SgTKMD6xt
4d0616cb638b7822039df6002e718f8cf4767e0f: Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam draft
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 30 Apr 2017 17:30:08 +0200 - rev 570756
Push 56569 by bmo:emilio+bugs@crisal.io at Sun, 30 Apr 2017 17:34:45 +0000
Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam MozReview-Commit-ID: 5Nzhyta5Hle
6a9d1457ae53e2438e01691064458d1c6a138924: Bug 1359106 - Make sure AltDataOutputStreamParent::SendError is not called after ActorDestroy r=bagder draft
Valentin Gosu <valentin.gosu@gmail.com> - Sun, 30 Apr 2017 18:08:25 +0200 - rev 570755
Push 56568 by valentin.gosu@gmail.com at Sun, 30 Apr 2017 16:08:54 +0000
Bug 1359106 - Make sure AltDataOutputStreamParent::SendError is not called after ActorDestroy r=bagder MozReview-Commit-ID: I2m4K7MhQoA
8ad2fde1d04a8967f3de851c418554adc1d3fcbc: Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow draft
Bas Schouten <bschouten@mozilla.com> - Sun, 30 Apr 2017 17:21:36 +0200 - rev 570754
Push 56567 by bschouten@mozilla.com at Sun, 30 Apr 2017 15:24:07 +0000
Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow MozReview-Commit-ID: 5iAXgfeahlo
dc453c6b514015e7d0504b6a9c581dd472ae85c4: Bug 1331718 - Part 2: Add unit tests for SmallPointerArray. r=jrmuizel draft
Bas Schouten <bschouten@mozilla.com> - Sun, 30 Apr 2017 17:21:36 +0200 - rev 570753
Push 56567 by bschouten@mozilla.com at Sun, 30 Apr 2017 15:24:07 +0000
Bug 1331718 - Part 2: Add unit tests for SmallPointerArray. r=jrmuizel MozReview-Commit-ID: 7l13WfYlmiG
fdaa955243bbb65f0126c86640356b48425b5fa5: Bug 1331718 - Part 1: Add small pointer array. r=jrmuizel draft
Bas Schouten <bschouten@mozilla.com> - Sun, 30 Apr 2017 17:21:36 +0200 - rev 570752
Push 56567 by bschouten@mozilla.com at Sun, 30 Apr 2017 15:24:07 +0000
Bug 1331718 - Part 1: Add small pointer array. r=jrmuizel MozReview-Commit-ID: 17LeMTw5p1T
5f4342d186d22b33cafdca5fb387a6bda661a311: Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow draft
Bas Schouten <bschouten@mozilla.com> - Sun, 30 Apr 2017 17:21:31 +0200 - rev 570751
Push 56567 by bschouten@mozilla.com at Sun, 30 Apr 2017 15:24:07 +0000
Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow MozReview-Commit-ID: LB7IrX98nHe
ef38d8187aeaf9b936d346a68447e38b80488093: Bug 1360423 - backout P5 and P2 from bug 1281090. draft
JW Wang <jwwang@mozilla.com> - Fri, 28 Apr 2017 11:28:13 +0800 - rev 570750
Push 56566 by jwwang@mozilla.com at Sun, 30 Apr 2017 13:38:48 +0000
Bug 1360423 - backout P5 and P2 from bug 1281090. It turns out that sync notification is a bad idea which is easy to be misused and could results in unexpected reentrant call flow. Since it has no users after the mass media code refactoring, it is good to remove it now to prevent future users. Backed out changeset fb5b05298007 Backed out changeset 9e1fb308cf51 MozReview-Commit-ID: 9WGvRCbvJhQ
1f225d7ba700a1b87b846973640d45d480447276: Debug MediaCache. draft
JW Wang <jwwang@mozilla.com> - Thu, 27 Apr 2017 10:35:08 +0800 - rev 570749
Push 56566 by jwwang@mozilla.com at Sun, 30 Apr 2017 13:38:48 +0000
Debug MediaCache. MozReview-Commit-ID: Ellinh8JIYE
0ef03ebe96eb3625c27ff498eb0f85d2296c5dfd: Bug 1358956 - Remove the first separator from the status bar. r?Honza draft
Vangelis Katsikaros <vkatsikaros@gmail.com> - Sun, 30 Apr 2017 15:41:52 +0300 - rev 570748
Push 56565 by vkatsikaros@gmail.com at Sun, 30 Apr 2017 12:47:43 +0000
Bug 1358956 - Remove the first separator from the status bar. r?Honza MozReview-Commit-ID: JyxmI475sog
aa51c6dfb9d623c1bfda91504f8b2afabdeaaaba: Bug 1356103 - Part 12: Allow OMT heap writes under Gecko_GetFontMetrics. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 17:03:15 +0800 - rev 570747
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 12: Allow OMT heap writes under Gecko_GetFontMetrics. r?bholley This isn't great, since although we know that Servo style worker threads have exclusive write access to the main thread heap due to the use of the Servo font metrics Mutex, we don't know that we're not modifying data on the heap that other style worker threads want to read from. MozReview-Commit-ID: CbSzQFkKG95
e2be5b6a9ad836fa46fbe1ebdbd4857a3bc2edff: Bug 1356103 - Part 11: Adjust text expectations. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 15:20:42 +0800 - rev 570746
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 11: Adjust text expectations. r?bholley MozReview-Commit-ID: 7psm1XCGQ8I
3e301a3f3ea3179b862587d1bc0959ef5223cd4d: Bug 1356103 - Part 10: Re-enable font metrics querying for ch and ex units in Servo traversal. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:57:58 +0800 - rev 570745
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 10: Re-enable font metrics querying for ch and ex units in Servo traversal. r?bholley MozReview-Commit-ID: 4xBwsdLCsCc
a2d76c295c0fb11d1fba2b5a9a23bd928caab9cf: Bue 1356103 - Part 9: Use a PostTraversalTask to deal with downloadable fonts in gfxUserFontSet. r?bholley,jfkthame draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:57:25 +0800 - rev 570744
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bue 1356103 - Part 9: Use a PostTraversalTask to deal with downloadable fonts in gfxUserFontSet. r?bholley,jfkthame Here we add a new UserFontLoadState value, STATUS_LOAD_PENDING, which represents the state just after a gfxUserFontEntry's url()-valued source would being loading, except that we can't start the load due to being on a Servo style worker thread. In that case, we defer the work of initiating the load until just after the Servo traversal is finished. URLs that can normally be loaded synchronously, such as data: URLs and script-implemented protocols marked as synchronous, must be handled asynchronously when encountered during Servo traversal, since various main-thread only work (in FontFaceSet::SyncLoadFontData) must happen. This is a user visible change from stock Gecko, but should only happen when font metrics for a data: URL font are requested due to ch/ex unit resolution when layout hasn't previously requested the font load. Hopefully nobody relies on synchronous resolution of ch/ex units with data: URLs. We unfortunately also can't pick gfxUserFontEntry objects out of the UserFontCache during Servo traversal, since validating the cache entry involves doing content policy checking, which is not thread-safe (due in part to taking strong references to nsIPrincipals). Platform fonts and ArrayBuffer-backed DOM FontFace objects continue to be handled synchronously. The PostTraversalTask does not take a strong reference to the gfxUserFontEntry object, since it is held on to by the DOM FontFace object, which itself won't go away before the PostTraversalTask is run. MozReview-Commit-ID: J9ODLsusrNV
c70782efc01eaed529e44d68f908caefed876671: Bug 1356103 - Part 8: Use PostTraversalTasks to deal with FontFaceSet's Promise and DOM event dispatch during Servo traversal. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:55:22 +0800 - rev 570743
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 8: Use PostTraversalTasks to deal with FontFaceSet's Promise and DOM event dispatch during Servo traversal. r?bholley The PostTraversalTask does not take a strong reference to the FontFaceSet object, since as a DOM object, we can't call AddRef/Release on it from the Servo style worker threads. The FontFaceSet is held on to by the nsIDocument, and only cleared during cycle collection, which should not occur between the font metrics request and the PostTraversalTask running. MozReview-Commit-ID: 5aKIg4DIQ4w
59ea54e1d2748b47c8aabb04603df824450b0b72: Bug 1356103 - Part 7: Use PostTraversalTasks to deal with FontFace's Promise during Servo traversal. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:51:29 +0800 - rev 570742
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 7: Use PostTraversalTasks to deal with FontFace's Promise during Servo traversal. r?bholley The PostTraversalTask does not take a strong reference to the FontFace object, since as a DOM object, we can't call AddRef/Release on it from the Servo style worker threads. The FontFace objects that we encounter are all held on to by the FontFaceSet, and none of the work that we do during font loads should drop FontFace objects from the FontFaceSet. (That only happens under nsIDocument::FlushUserFontSet, which is only called on the main thread.) MozReview-Commit-ID: 5CdtGQYC9aL
8bc3768601b19a80d413f69fcedb01a29fb98cfc: Bug 1356103 - Part 6: Make gfxUserFontSet refcounting thread-safe. r?bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:48:17 +0800 - rev 570741
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 6: Make gfxUserFontSet refcounting thread-safe. r?bholley As with a few other gfx* font-related classes, during font metrics calculations we end up taking strong references to gfxUserFontSet, and it would be difficult to restructure the code to not do this. MozReview-Commit-ID: L1GbZnf4825
adcfa6a5b121d2bd0308268c38453f0bafc5eddb: Bug 1356103 - Part 5: Allow access to WeakPtr<UnscaledFont> when the Servo font metrics mutex is locked. r?jfkthame draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:47:22 +0800 - rev 570740
Push 56564 by bmo:cam@mcc.id.au at Sun, 30 Apr 2017 12:08:03 +0000
Bug 1356103 - Part 5: Allow access to WeakPtr<UnscaledFont> when the Servo font metrics mutex is locked. r?jfkthame We need to grab UnscaledFont objects through WeakPtrs during metrics calculations, but this only happens on Servo style worker threads while the Servo font metrics mutex is locked (and while the main thread is paused). So we use WeakPtrTraits to override the thread safety assertion to allow OMT access through the WeakPtr if the mutex is locked. Since we can end up creating UnscaledFont objects from the style worker threads too, we additionally need to allow the main thread to access them through WeakPtrs. It would be nice to avoid the dependency on layout/style/ here, but I can't see a way to do that without putting the burden of the annotation that the more permissive thread safety checks are allowed on the WeakPtr<> declarations themselves. MozReview-Commit-ID: AbHNZEhE7L8
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip