gecko-dev/dom/ipc/tests
Logan Smyth 25d491b792 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One effect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-14 02:41:45 +00:00
..
JSProcessActor Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug 2020-06-14 02:41:45 +00:00
JSWindowActor Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug 2020-06-14 02:41:45 +00:00
.eslintrc.js Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop 2020-03-07 10:09:44 +00:00
blob_verify.sjs
browser_cancel_content_js.js Bug 1548274 - try to make dom/ipc/tests/browser_cancel_content_js.js a bit less racy r=squib 2020-05-29 21:46:53 +00:00
browser_crash_oopiframe.js
browser_CrashService_crash.js Bug 1614462: Part 2e - Migrate desktop-only CrashService_crash test to browser test. r=mconley 2020-04-20 22:15:30 +00:00
browser_domainPolicy.js Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
browser_ElapsedTime.js
browser_memory_distribution_telemetry.js
browser_ProcessPriorityManager.js Bug 1621684 - Add tests for the ProcessPriorityManager. r=gsvelto 2020-03-26 20:11:10 +00:00
browser.ini Bug 1548274 - try to make dom/ipc/tests/browser_cancel_content_js.js a bit less racy r=squib 2020-05-29 21:46:53 +00:00
chrome.ini Bug 1589493 - Testing ipc:content-shutdown's support for isLikelyOOM;r=gsvelto 2020-03-03 21:16:00 +00:00
elapsed_time.sjs
file_cancel_content_js.html Bug 1548274 - try to make dom/ipc/tests/browser_cancel_content_js.js a bit less racy r=squib 2020-05-29 21:46:53 +00:00
file_disableScript.html
file_domainPolicy_base.html
mochitest.ini Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
process_error.xhtml Bug 1623992 - Automated rewrite from chrome://global/skin/ to chrome://global/skin/global.css in markup r=marionette-reviewers,perftest-reviewers,mossop,whimboo,sparky 2020-04-03 22:23:23 +00:00
test_blob_sliced_from_child_process.js Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
test_blob_sliced_from_parent_process.js Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
test_bug1086684.js Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
test_child_docshell.js Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00
test_Preallocated.html
test_process_error_oom.xhtml Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE 2020-06-01 23:51:35 +03:00
test_process_error.xhtml Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE 2020-06-01 23:51:35 +03:00
test_sharedMap.js
test_temporaryfile_stream.html
test_window_open_discarded_bc.html Bug 1614259 - Ensure BrowisngContexts are detached when nsDocShell is destroyed, r=farre 2020-03-23 13:28:09 +00:00
xpcshell.ini Bug 1614462: Part 2d - Fix tests that don't need to use mozbrowser. r=mccr8 2020-04-20 22:31:29 +00:00