992c71c04e554092d22b3c6ab28c0dc33fc1bbde: Bug 1647342 - Part 6: Simplfy code in onResumeFrame. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:44 +0000 - rev 3000020
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 6: Simplfy code in onResumeFrame. r=arai! Summary: There's no reason to create this FrameIter over and over again inside the loop. Similarly, ensureExecutionObservabilityOfFrame is a no-op if "frame.isDebuggee()", and slowPathOnResumeFrame asserts that to be true, so there is no reason to ensure observability here because it already is guaranteed. Differential Revision: https://phabricator.services.mozilla.com/D80739 Depends on D80738 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-2etpvuglsvkdx4kgm2nr
789c1c044c58913e126309da8338e244213a4a82: Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:40 +0000 - rev 3000019
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! Summary: It is difficult to follow the overall lifecycle of entries in the generatorFrames list when it is mutated in many places across many files. This patch's primary aim is to begin centralizing the handling of this map a little bit by keeping it all inside Debugger.cpp so that the DebuggerFrame instance itself does not actually care whether it is found in that map. Differential Revision: https://phabricator.services.mozilla.com/D80738 Depends on D80737 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ukfthn5qshjnhhhlieli
7a9369fb158e593b3aaf1097c89ee54c6dadd7db: Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:34 +0000 - rev 3000018
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! Summary: This is just a tiny refactor to avoid needing to then get the Debugger* from the frame when we already know it. Differential Revision: https://phabricator.services.mozilla.com/D80737 Depends on D80736 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-wqjej7u7it56whbdygz3
b11d4221ee5f138dbfbc993cd24fd843f083a22c: Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:31 +0000 - rev 3000017
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! Summary: I have no idea how long this has been stale. Differential Revision: https://phabricator.services.mozilla.com/D80736 Depends on D80735 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-pm56s2opuy672eaeawhj
eab8f033db3315a800e46dbc135bb0935c9de4de: Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:27 +0000 - rev 3000016
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! Summary: It is guaranteed that this will already be populated because in 1539654 we started properly preserving the debuggee-ness of frames across suspend and resume. With slowPathOnResumeFrame guaranteed to run, we no longer need to try to hande handle the case where the generator has been resumed, but the Debugger.Frame's inner data was not populated. Differential Revision: https://phabricator.services.mozilla.com/D80735 Depends on D80734 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ppztbt6hxxpwtvc3wsnw
693e28c16a8f38ba1ba42c9a2505be7f3cf8cc81: Bug 1647342 - Part 1: Remove FrameIter::Data from DebuggerFrame public API. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:23 +0000 - rev 3000015
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1647342 - Part 1: Remove FrameIter::Data from DebuggerFrame public API. r=arai! Summary: Exposing frameIterData() and setFrameIterData() isn't great since it makes it harder to follow what state transitions for frame data we expect the frame to have. By hiding this, it helps clarify that frame data can be cleared or replaced, but public usage of the FrameIter::Data object itself isn't expected outside of the class itself. Differential Revision: https://phabricator.services.mozilla.com/D80734 Depends on D80762 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-yyvo3sxpaodbm57o36o2
f774c6b596d143f78156e77298e27fa6f7cec0e9: Bug 1577639 - Do not attempt to clean up frames for non-OOM conditions. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Wed, 24 Jun 2020 00:00:20 +0000 - rev 3000014
Push 558603 by reviewbot at Wed, 24 Jun 2020 00:01:15 +0000
Bug 1577639 - Do not attempt to clean up frames for non-OOM conditions. r=arai! Summary: The core issue is that we run removeFromFrameMapsAndClearBreakpointsIn(cx, from) even for non-OOM paths in this function, which is undesirable because that will remove the breakpoints for evaled scripts. In the non-OOM case there are no Debugger.Frame objects left in the frames map for the "frame" list, so there is no reason to actually call it in that case. This patch merges the two OOM handlers together for simplicity, though it is not technically necessary, it seems like the very minor increase in code run if there is an OOM is worth it to keep things centralized. Differential Revision: https://phabricator.services.mozilla.com/D80762 Test Plan: Reviewers: Subscribers: Bug #: 1577639 Differential Diff: PHID-DIFF-bpfhtg7cbdeoujgbzi7c
07ecebb86dad483b9c3a198b3573e04f62b5b9ae: try_task_config for https://phabricator.services.mozilla.com/D80739 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:59:30 +0000 - rev 3000013
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
try_task_config for https://phabricator.services.mozilla.com/D80739 Differential Diff: PHID-DIFF-2etpvuglsvkdx4kgm2nr
3f5cc3efec0bcc488a2756a2337ae0a6e5784aeb: Bug 1647342 - Part 6: Simplfy code in onResumeFrame. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:27 +0000 - rev 3000012
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 6: Simplfy code in onResumeFrame. r=arai! Summary: There's no reason to create this FrameIter over and over again inside the loop. Similarly, ensureExecutionObservabilityOfFrame is a no-op if "frame.isDebuggee()", and slowPathOnResumeFrame asserts that to be true, so there is no reason to ensure observability here because it already is guaranteed. Differential Revision: https://phabricator.services.mozilla.com/D80739 Depends on D80738 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-2etpvuglsvkdx4kgm2nr
64bfa566f1418495d5d10e4fa083848d2072f304: Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:24 +0000 - rev 3000011
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! Summary: It is difficult to follow the overall lifecycle of entries in the generatorFrames list when it is mutated in many places across many files. This patch's primary aim is to begin centralizing the handling of this map a little bit by keeping it all inside Debugger.cpp so that the DebuggerFrame instance itself does not actually care whether it is found in that map. Differential Revision: https://phabricator.services.mozilla.com/D80738 Depends on D80737 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ukfthn5qshjnhhhlieli
e05b5b3348fb25b88562761b1082d56f74fbc42a: Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:21 +0000 - rev 3000010
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! Summary: This is just a tiny refactor to avoid needing to then get the Debugger* from the frame when we already know it. Differential Revision: https://phabricator.services.mozilla.com/D80737 Depends on D80736 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-wqjej7u7it56whbdygz3
e169e0be287163b1b89aa15acfca07b9f0d56840: Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:17 +0000 - rev 3000009
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! Summary: I have no idea how long this has been stale. Differential Revision: https://phabricator.services.mozilla.com/D80736 Depends on D80735 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-pm56s2opuy672eaeawhj
d7b0d28910fc25c2f6721380a4d184ade6edef14: Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:14 +0000 - rev 3000008
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! Summary: It is guaranteed that this will already be populated because in 1539654 we started properly preserving the debuggee-ness of frames across suspend and resume. With slowPathOnResumeFrame guaranteed to run, we no longer need to try to hande handle the case where the generator has been resumed, but the Debugger.Frame's inner data was not populated. Differential Revision: https://phabricator.services.mozilla.com/D80735 Depends on D80734 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ppztbt6hxxpwtvc3wsnw
f88fb3c69cd5461b51622af25cda56a214304025: Bug 1647342 - Part 1: Remove FrameIter::Data from DebuggerFrame public API. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:10 +0000 - rev 3000007
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1647342 - Part 1: Remove FrameIter::Data from DebuggerFrame public API. r=arai! Summary: Exposing frameIterData() and setFrameIterData() isn't great since it makes it harder to follow what state transitions for frame data we expect the frame to have. By hiding this, it helps clarify that frame data can be cleared or replaced, but public usage of the FrameIter::Data object itself isn't expected outside of the class itself. Differential Revision: https://phabricator.services.mozilla.com/D80734 Depends on D80762 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-yyvo3sxpaodbm57o36o2
4cb21e7a9cbff4073e8142e9fb38026a7d34de0d: Bug 1577639 - Do not attempt to clean up frames for non-OOM conditions. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:59:07 +0000 - rev 3000006
Push 558602 by reviewbot at Tue, 23 Jun 2020 23:59:47 +0000
Bug 1577639 - Do not attempt to clean up frames for non-OOM conditions. r=arai! Summary: The core issue is that we run removeFromFrameMapsAndClearBreakpointsIn(cx, from) even for non-OOM paths in this function, which is undesirable because that will remove the breakpoints for evaled scripts. In the non-OOM case there are no Debugger.Frame objects left in the frames map for the "frame" list, so there is no reason to actually call it in that case. This patch merges the two OOM handlers together for simplicity, though it is not technically necessary, it seems like the very minor increase in code run if there is an OOM is worth it to keep things centralized. Differential Revision: https://phabricator.services.mozilla.com/D80762 Test Plan: Reviewers: Subscribers: Bug #: 1577639 Differential Diff: PHID-DIFF-bpfhtg7cbdeoujgbzi7c
7491eefcecfddc2ed39bb986b306933d3cfb6354: try_task_config for https://phabricator.services.mozilla.com/D80738 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:58:43 +0000 - rev 3000005
Push 558601 by reviewbot at Tue, 23 Jun 2020 23:59:03 +0000
try_task_config for https://phabricator.services.mozilla.com/D80738 Differential Diff: PHID-DIFF-ukfthn5qshjnhhhlieli
0edefdaa100d10977af2ea69566c3d1ef1931947: Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:58:37 +0000 - rev 3000004
Push 558601 by reviewbot at Tue, 23 Jun 2020 23:59:03 +0000
Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai! Summary: It is difficult to follow the overall lifecycle of entries in the generatorFrames list when it is mutated in many places across many files. This patch's primary aim is to begin centralizing the handling of this map a little bit by keeping it all inside Debugger.cpp so that the DebuggerFrame instance itself does not actually care whether it is found in that map. Differential Revision: https://phabricator.services.mozilla.com/D80738 Depends on D80737 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ukfthn5qshjnhhhlieli
76cad3b6b8f87c8948d8d355803e8d04e44d007f: Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:58:33 +0000 - rev 3000003
Push 558601 by reviewbot at Tue, 23 Jun 2020 23:59:03 +0000
Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai! Summary: This is just a tiny refactor to avoid needing to then get the Debugger* from the frame when we already know it. Differential Revision: https://phabricator.services.mozilla.com/D80737 Depends on D80736 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-wqjej7u7it56whbdygz3
fc25e06cfae31689c7c0a59dcf6dc936e3714bfe: Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:58:29 +0000 - rev 3000002
Push 558601 by reviewbot at Tue, 23 Jun 2020 23:59:03 +0000
Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai! Summary: I have no idea how long this has been stale. Differential Revision: https://phabricator.services.mozilla.com/D80736 Depends on D80735 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-pm56s2opuy672eaeawhj
08ec743d755916c3b6b0ce9975baa5da323d9580: Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! draft
Logan Smyth <loganfsmyth@gmail.com> - Tue, 23 Jun 2020 23:58:26 +0000 - rev 3000001
Push 558601 by reviewbot at Tue, 23 Jun 2020 23:59:03 +0000
Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai! Summary: It is guaranteed that this will already be populated because in 1539654 we started properly preserving the debuggee-ness of frames across suspend and resume. With slowPathOnResumeFrame guaranteed to run, we no longer need to try to hande handle the case where the generator has been resumed, but the Debugger.Frame's inner data was not populated. Differential Revision: https://phabricator.services.mozilla.com/D80735 Depends on D80734 Test Plan: Reviewers: Subscribers: Bug #: 1647342 Differential Diff: PHID-DIFF-ppztbt6hxxpwtvc3wsnw
(0) -3000000 -1000000 -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 +1000000 tip