3aa2aa420e24f62b8185a7b491219e6b4a5a80fe: Bug 1724031 - Part 11: Prevent gecko profiler from observing moved function pointers r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:21 +0000 - rev 658885
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 11: Prevent gecko profiler from observing moved function pointers r=jandem Changing functions to use fixed slots creates a problem when the profiler tries to get the script for on-stack functions. Unfortunately this can happen during minor GC after the functions have been moved but before the profiler data pointing to them has been updated. The function data itself is mostly intact, but the object header (used for the shape) is not valid. As far as I can see this only affects the debug assertions around checking that slot numbers are valid. However the simplest fix is to suppress the profiler during the intial part of minor GC, until the roots have been traced (which will update the profiler data). The patch moves the code to trace the roots in a minor GC to a separate method and adds a guard to suppress the profiler.œ What do you think? Alternatively we would have to add a load of 'unchecked' methods to a buch of accessors on JSFunction, and to NativeObject to get fixed slots without touching the shape. Differential Revision: https://phabricator.services.mozilla.com/D123642
ec528ee761f805cb216df2133d6ac4149efd3802: Bug 1724031 - Part 10: Use fixed slots to store function data r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:20 +0000 - rev 658884
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 10: Use fixed slots to store function data r=jandem Move class fields to fixed slots. I was originally going to remove the function alloc kinds but they are used to iterate all functions for relazification. Another complication is that the JIT assumes that the prototype property for function constructors is always stored in the first dynamic slot, which requires extended functions have a special size class with six fixed slots. Differential Revision: https://phabricator.services.mozilla.com/D123094
aae629cbe23266bd12dee7c4166edfeca9090ba4: Bug 1724031 - Part 9.5: Move JSFunction::class_ to avoid confusion r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:20 +0000 - rev 658883
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 9.5: Move JSFunction::class_ to avoid confusion r=jandem Functions can now have one of two classes so it's best if JSFunction::class_ doesn't exist or people may use that without thinking. Differential Revision: https://phabricator.services.mozilla.com/D123232
4ce1541a6d9c562d32cbc43aa417f4eb970f8613: Bug 1724031 - Part 9: Add a separate JSClass for extended functions r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:19 +0000 - rev 658882
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 9: Add a separate JSClass for extended functions r=jandem Differential Revision: https://phabricator.services.mozilla.com/D123089
f93209b0b5cc3e5aeedfd5a91b1864ca482c3f46: Bug 1724031 - Part 8: Remove some unused JSFunction methods r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:19 +0000 - rev 658881
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 8: Remove some unused JSFunction methods r=jandem GetClonedSelfHostedFunctionNameOffMainThread doesn't seem to be used any more, so the JSFunction methods it used can go too. Differential Revision: https://phabricator.services.mozilla.com/D123088
6f6342f5827ea82f1ad792899db4a2e9303f3387: Bug 1724031 - Part 7: Factor out JIT test for whether an object is a function r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:19 +0000 - rev 658880
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 7: Factor out JIT test for whether an object is a function r=jandem We will need to change this later as extended functions will have a different class, so factor out the check. Differential Revision: https://phabricator.services.mozilla.com/D123087
a14e1a40934284d580b500a970cabbc18007ef4c: Bug 1724031 - Part 6: Store JSFunction's atom field as a JS::Value r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:18 +0000 - rev 658879
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 6: Store JSFunction's atom field as a JS::Value r=jandem Differential Revision: https://phabricator.services.mozilla.com/D123086
1415c1d5b485707aa80a5141c1dfa9fc5d202430: Bug 1724031 - Part 5: Store JSFunction's JIT data / script field as a JS::Value r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:18 +0000 - rev 658878
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 5: Store JSFunction's JIT data / script field as a JS::Value r=jandem In preparation for storing this in a slot, store it as a JS::Value. All values including JSScript pointers are stored as private values becuase the JIT assumes it can access SelfHostedLazyScript pointers and JSScript pointers in the same way. This means we will still need a trace hook when we store this data in slots. Differential Revision: https://phabricator.services.mozilla.com/D123085
01975b4520f3aa9b43c874458a9458abb70bec26: Bug 1724031 - Part 4: Store JSFunction's native function / environment object field as a JS::Value r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:18 +0000 - rev 658877
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 4: Store JSFunction's native function / environment object field as a JS::Value r=jandem In preparation for storing this in a slot, store it as a Value. The native function is stored as a private value. This requires casting it to void* which AFAIU only conditionally supported in the C++ spec but in practice supported everwhere. We used to do this in other places, although we have removed them now. Differential Revision: https://phabricator.services.mozilla.com/D123084
3fd30df11e67c375b8b17c1083d8ae1f89bc96ae: Bug 1724031 - Part 3: Store JSFunction flags and arg count as a JS::Value r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:17 +0000 - rev 658876
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 3: Store JSFunction flags and arg count as a JS::Value r=jandem In preparation for storing them in a slot, store them in a Value. The value is encoded as a private uint32 value. Differential Revision: https://phabricator.services.mozilla.com/D123083
7b1d9df0326d4891e05d196f58f0c8c382925ebe: Bug 1724031 - Part 2: Store a functions flags and argument count in a single 32-bit field r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:17 +0000 - rev 658875
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 2: Store a functions flags and argument count in a single 32-bit field r=jandem In preparation for storing this in a slot, this stores the two values together in the same field. Differential Revision: https://phabricator.services.mozilla.com/D123082
8dc4e71e2a87262aa2ba2a06e056fc38995bb2b6: Bug 1724031 - Part 1: Make FunctionFlags setters return *this r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:16 +0000 - rev 658874
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 1: Make FunctionFlags setters return *this r=jandem This is useful later on so we can update a function's flags with a single expression rather than reading, updating and setting the flags separately. Differential Revision: https://phabricator.services.mozilla.com/D123081
7ed4db9eadf8601cf0e1d6dc4916e835a58b7232: Bug 1724031 - Part 0: Make set() method public on GC pointer wrappers r=jandem
Jon Coppeard <jcoppeard@mozilla.com> - Thu, 26 Aug 2021 19:03:16 +0000 - rev 658873
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724031 - Part 0: Make set() method public on GC pointer wrappers r=jandem There's no reason for these to be private when they all have operator= implemented in terms of set() anyway. Differential Revision: https://phabricator.services.mozilla.com/D123080
590fb3c40c6477b652f58fffacc9b7d13a55b69a: Bug 1727807 - Remove unused gfxASurface::CreateSimilarSurface. r=jrmuizel
Andrew Osmond <aosmond@mozilla.com> - Thu, 26 Aug 2021 19:00:10 +0000 - rev 658872
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1727807 - Remove unused gfxASurface::CreateSimilarSurface. r=jrmuizel Differential Revision: https://phabricator.services.mozilla.com/D123789
f880d61153d32d2f6da2156e17253c35b3e4c66d: Bug 1727640 - Push name change cache updates on windows. r=morgan
Eitan Isaacson <eitan@monotonous.org> - Thu, 26 Aug 2021 18:45:58 +0000 - rev 658871
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1727640 - Push name change cache updates on windows. r=morgan Differential Revision: https://phabricator.services.mozilla.com/D123688
8c57449587f27c3c7a604d8dc1007b19e684c252: Bug 1727057 - Add an option to Snapshot selectors to be able to filter adult sites. r=mak
Mark Banner <standard8@mozilla.com> - Thu, 26 Aug 2021 18:43:09 +0000 - rev 658870
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1727057 - Add an option to Snapshot selectors to be able to filter adult sites. r=mak Differential Revision: https://phabricator.services.mozilla.com/D123340
dc1697c2c870d0526aa79283197dd42aeb9eef0c: Bug 1727090 - Fix interactions viewer layout, and avoid snapshots without metadata breaking it. r=mak
Mark Banner <standard8@mozilla.com> - Thu, 26 Aug 2021 18:43:09 +0000 - rev 658869
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1727090 - Fix interactions viewer layout, and avoid snapshots without metadata breaking it. r=mak Differential Revision: https://phabricator.services.mozilla.com/D123344
eb59b4c51cd591d740e134f0b6a234caf766cb39: Bug 1726024 - Use MustGetShutdownBarrier in SpeechRecognition. r=pehrsons
Bryce Seager van Dyk <bvandyk@mozilla.com> - Thu, 26 Aug 2021 18:37:04 +0000 - rev 658868
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1726024 - Use MustGetShutdownBarrier in SpeechRecognition. r=pehrsons Differential Revision: https://phabricator.services.mozilla.com/D123006
fdd9c36cc29e5fb0b14cb17234f705714daa1269: Bug 1726024 - Use MustGetShutdownBarrier in CamerasParent. r=jib
Bryce Seager van Dyk <bvandyk@mozilla.com> - Thu, 26 Aug 2021 18:37:03 +0000 - rev 658867
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1726024 - Use MustGetShutdownBarrier in CamerasParent. r=jib Differential Revision: https://phabricator.services.mozilla.com/D123005
82c5ffc95c98f0bf9af818a4ccb20aef21ffe92c: Bug 1726024 - Handle failure to get shutdown barrier in MediaTrackGraph. r=pehrsons
Bryce Seager van Dyk <bvandyk@mozilla.com> - Thu, 26 Aug 2021 18:37:03 +0000 - rev 658866
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1726024 - Handle failure to get shutdown barrier in MediaTrackGraph. r=pehrsons Differential Revision: https://phabricator.services.mozilla.com/D123004
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip