forked from mozilla-firefox/firefox
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] main from mozilla-firefox:main #363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ating unnecessary hash-sets. r=dshin,firefox-style-system-reviewers Differential Revision: https://phabricator.services.mozilla.com/D281677
…viewers,twhite,Roger Differential Revision: https://phabricator.services.mozilla.com/D281396
…ition to the events ping. r=daisuke,urlbar-reviewers Differential Revision: https://phabricator.services.mozilla.com/D281707
…ref. r=daisuke This fixes the bug and makes a couple of other minor changes: Remove the `newValue` param to `#recordPref`. It's unnecessary complexity and an unnecessary secondary code path, and it doesn't really save anything perf-wise. Don't get `prefValue` when it's not needed. `onPrefChanged` and `onNimbusChanged` are called when *any* urlbar pref/variable changes, not just the small number of prefs in `#PING_PREFS`. Differential Revision: https://phabricator.services.mozilla.com/D281692
…artifact builds by try-chooser. r=ahal For people who regularly switch between branches, working directories and build modes, the automatic behaviour of try chooser to select artifact try builds based on current build environment can be error prone. This patch adds a mach setting to disable the autodetection while still allowing manual control with the `./mach try --artifact` command. Differential Revision: https://phabricator.services.mozilla.com/D281661
Add some tests for the android-test command. This also fixes handling of .java file extensions. Includes some minor refactoring to prepare for subsequent changes. Differential Revision: https://phabricator.services.mozilla.com/D281347
…chheiden To avoid the 'testDebugUnitTest' calls for Fenix/Focus also matching component project test tasks, use the 'app' dir. In practice, non-app test tasks automatically skip, but that isn't true for instrumented tests introduced in the later patches. Differential Revision: https://phabricator.services.mozilla.com/D281379
… r=ahochheiden Add support for geckoview (unit) test suite to 'android-test' command. Note that the 'geckoview-junit' command still exists and does similar things. Cleanup how subprojects are handled and derive it automatically if a test path is specified. Cleanup the gradle commands to separate gradle options from task options and avoid duplicate or redundant tasks. Differential Revision: https://phabricator.services.mozilla.com/D281348
…r=ahochheiden The default gradle-variant we use for tests is 'Debug', but allow overriding it on command line. Differential Revision: https://phabricator.services.mozilla.com/D281349
…d-test'. r=ahochheiden Teach the './mach android-test' command to recognize and to run Android instrumentation tests using the `connectedAndroidTest` family of Gradle tasks. Also specify the 'app' directory for fenix and focus to avoid connectedAndroidTest matching on components as well. Differential Revision: https://phabricator.services.mozilla.com/D281350
…ws. r=skhamis Differential Revision: https://phabricator.services.mozilla.com/D265879
…,smaug Differential Revision: https://phabricator.services.mozilla.com/D280462
…tream r=webidl,saschanaz Differential Revision: https://phabricator.services.mozilla.com/D280473
… list of user-added custom URLs r=home-newtab-reviewers,fluent-reviewers,desktop-theme-reviewers,akulyk,flod,reemhamz,hjones Differential Revision: https://phabricator.services.mozilla.com/D280720
…m URL r=home-newtab-reviewers,akulyk,reemhamz Differential Revision: https://phabricator.services.mozilla.com/D280893
…p. r=gfx-reviewers,lsalzman These prefs were made toggle-able dynamically so that we could test the feature in CI before the feature was enabled by default, but now that the feature has been enabled for a long time we are not likely to disable these prefs in the codebase so that is no longer important. We have a lot of code to handle these prefs being dynamic and it results in bugs where not all callers are passing these flags meaning animated avif images can get disabled in those call sites. Differential Revision: https://phabricator.services.mozilla.com/D281712
…eadableStream r=webidl,saschanaz" for causing wpt failures This reverts commit cda7cdf.
…dom-core,smaug" for causing wpt failures This reverts commit c08bd10.
…kpour,android-reviewers We have an example of a Login created in the `PasswordGeneratorDialogFragment` that is passed back to callback, however we work around the hint provided from Gecko, but trying to modify the Login on confirmation. What this turns into is re-implemented logic in GeckoPromptDelegate with checks that we wouldn't need if we simply forwarded the hint onward. The `Login.guid` API is also a lie that we require it to exist. This seems to be because it was an API for _retrieving_ a Login from the storage layer which is now used for storing it. Differential Revision: https://phabricator.services.mozilla.com/D281382
…droid-reviewers Differential Revision: https://phabricator.services.mozilla.com/D281383
…layout-reviewers,dshin Differential Revision: https://phabricator.services.mozilla.com/D281196
…stexpr. r=emilio,layout-reviewers Differential Revision: https://phabricator.services.mozilla.com/D281197
…ILD CLOSED TREE ach -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e af -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e an -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ar -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ast -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e az -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e be -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bg -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e br -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e brx -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ca -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ca-valencia -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cak -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ckb -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cy -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e da -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e de -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e dsb -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e el -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e en-CA -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e en-GB -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e eo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-AR -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-CL -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-ES -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-MX -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e et -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e eu -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fa -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ff -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fi -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fur -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fy-NL -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ga-IE -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gd -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gu-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e he -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hi-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hsb -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hu -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hy-AM -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hye -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ia -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e id -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e is -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e it -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ja -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ja-JP-mac -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ka -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kab -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e km -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ko -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lij -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lt -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ltg -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lv -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e meh -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e mk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ml -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e mr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ms -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e my -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nb-NO -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ne-NP -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nn-NO -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e oc -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pa-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pt-BR -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pt-PT -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e rm -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ro -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ru -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sat -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sc -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e scn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sco -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e si -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e skr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e son -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sq -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sv-SE -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e szl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ta -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e te -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e tg -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e th -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e tl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e tr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e trs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e uk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ur -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e uz -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e vi -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e wo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e xh -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e zh-CN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e zh-TW -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e
…LD CLOSED TREE ach -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e an -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ar -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ast -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e az -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e be -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bg -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e br -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e bs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ca -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cak -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e cy -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e da -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e de -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e dsb -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e el -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e en-CA -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e en-GB -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e eo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-AR -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-CL -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-ES -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e es-MX -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e et -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e eu -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fa -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ff -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fi -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e fy-NL -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ga-IE -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gd -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e gu-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e he -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hi-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hsb -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hu -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e hy-AM -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ia -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e id -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e is -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e it -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ja -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ka -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kab -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e km -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e kn -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ko -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lij -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lt -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ltg -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e lv -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e meh -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e mix -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ml -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e mr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ms -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e my -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nb-NO -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ne-NP -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e nn-NO -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e oc -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pa-IN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pt-BR -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e pt-PT -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e rm -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ro -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ru -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e son -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sq -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e sv-SE -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ta -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e te -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e th -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e tl -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e tr -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e trs -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e uk -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e ur -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e uz -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e vi -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e wo -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e xh -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e zam -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e zh-CN -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e zh-TW -> a7420bb8974bc65bbc7efed4fe2c97056ff3ec0e
…rs,Roger Testing the buggy scenario I saw that when the issue reproduces we act upon SearchStarted before acting upon the Init action. This change ensures that we always complete the search setup based on Init before acting upon SearchStarted. Differential Revision: https://phabricator.services.mozilla.com/D281591
…nly if query is not blank r=android-reviewers,Roger Differential Revision: https://phabricator.services.mozilla.com/D281612
… mode window r=pdahiya,fluent-reviewers,ai-frontend-reviewers,flod This patch adds a logout observer that automatically switches all open AI windows to classic mode when users sign out. When the user clicks the sign-out button from either a Classic or Smart Window, if there are any active Smart Windows open and smart window feature is enabled, the sign-out confirmation dialog informs users that their Smart Windows will switch to standard windows. Differential Revision: https://phabricator.services.mozilla.com/D280390
…er-reviewers,win-reviewers,florian,gstoll Differential Revision: https://phabricator.services.mozilla.com/D280984
…g-reviewers,bhearsum Differential Revision: https://phabricator.services.mozilla.com/D280417
When PerfSpewer is allocated in a LifoAlloc, its destructor won't be called when the LifoAlloc is freed. The `debugInfo_` vector uses SystemAllocPolicy, which means that it allocates from the system heap, so failing to explicitly free it results in a memory leak. This patch adds a `PerfSpewer::reset()` method to explicitly free heap-allocated memory, and adds `MIRGenerator::cleanup()` to do that cleanup of both the dependency tracker and PerfSpewer. This makes sure that the proper cleanup happens when MIRGenerator is allocated in a LifoAlloc. Differential Revision: https://phabricator.services.mozilla.com/D279700
…h the same line/column r=denispal This reduces the memory usage of the PerfSpewer profiler source entries and improves the binary search performance at the same time. From my very scientific(?) testing, it reduces the memory usage of the source entries by ~70%. Differential Revision: https://phabricator.services.mozilla.com/D276663
…n,mstange,profiler-reviewers This patch adds the line and column numbers to the profiler JIT frames by returning them in the callStackAtAddr methods. Also it makes sure that the hash function contains the line and column information, so we don't mistakenly merge multiple frames with different line/column numbers together. Another important change is the `wantPreciseLineNumbers` variable to make sure that the Ion code can contain information for precise line numbers. Note that with this patch, Ion will contain correct line numbers but not Baseline. While working on this, we discovered that the baseline line numbers are very sparse due to the fact that compiled Baseline assembly doesn't contain profilerCallSite information. It will be fixed in the following patches. And the test for this is also in one of the following patches. Co-authored-by: Markus Stange <[email protected]> Co-authored-by: Nicolas B. Pierron <[email protected]> Co-authored-by: Denis Palmeiro <[email protected]> Differential Revision: https://phabricator.services.mozilla.com/D270205
…nabled r=iain In some cases, baseline frame line numbers were attributed to either loop head or the function signature because the profiler had no valid recorded return address once baseline jumped into IC/native stubs, so JSJitProfilingFrameIterator fell back to an earlier point in the JSScript while stackwalking. Note that ion already avoids this by enabling masm.enableProfilingInstrumentation() and wrapping every call with the profiler RAII helper. This patch does the same for baseline: - It turns on masm.enableProfilingInstrumentation() whenever we generate baseline code while the Gecko profiler is enabled. - Introduces emitProfilerCallSiteInstrumentation() and calls it before every baseline JS call opcode so each masm.call records its return address. This is a bit different compared to ion (calls masm.callJit which handles the profiler call site directly), because it wasn't as straightforward as ion to convert masm.call calls into callJit. Also, even though that method uses an RAII class, weirdly it doesn't actually have anything in its destructor. That's why it's fine to use it this way. - Exposes a MacroAssembler::instrumentProfilerCallSite() helper so we can still instrument the profiler call site from baseline. - Switches baseline’s VM calls to callJit so they too update lastProfilingCallSite. With these changes, the sampler always lands on a real baseline return address, the existing RetAddr table can map it back to the correct pc/line, and profiler listings show the actual call site instead of the top of the function. I'm adding a test in the following patches as it requires some changes in the shell. Differential Revision: https://phabricator.services.mozilla.com/D275595
…dGeckoProfilingStack r=iain This patch adds line and column number information to the frames in the return object of readGeckoProfilingStack JS shell function. It will be needed in the next commit for writing a test for it. Differential Revision: https://phabricator.services.mozilla.com/D275596
Now that we have fixed the profiler JIT line number attribution properly, let's add a test to verify this. This patch simulates the failure case that I was experiencing with the baseline frames in one of my demo websites. The failure case had a for-of loop and had a 3-4 calls inside of it that calls different DOM APIs etc. The line numbers for all of these calls inside the for loop were attributed to the for loop header itself, assuming because we had profiler call sites emitted for iterator .next, but not for the others. This test was failing before my commit that fixes the baseline profiler call sites. Differential Revision: https://phabricator.services.mozilla.com/D275597
…=win-reviewers,gstoll Differential Revision: https://phabricator.services.mozilla.com/D281773
… crashreporter r=gsvelto Differential Revision: https://phabricator.services.mozilla.com/D281631
…fallbacks. r=layout-reviewers,jfkthame,emilio Differential Revision: https://phabricator.services.mozilla.com/D281734
…a bit more asynchronous. r=gfx-reviewers,geckoview-reviewers,lsalzman,ohall UiCompositorBridgeParent::RecvRequestScreenPixels() is used by GeckoView to screenshot the current session (for Fenix's tab thumbnails, etc). Currently this works by requesting a composite and calling WebRenderBridgeParent::RequestScreenPixels(). This will generate a frame for the requested composite, and then call MaybeCaptureScreenPixels(), which calls WebRenderAPI::Readback() to capture the pixels. WebRenderAPI::Readback() was designed to be used with WebRenderBridgeParent::RecvSnapshot() which must return the snapshot synchronously. It therefore dispatches a synchronous task to the renderer thread and performs a render before performing the readback. Not only that, it also disables webrender debug flags prior to this render, then re-enables them afterwards, each of which causes a render. This means it does 3 renders in total, in addition to the normal render for the frame that we generated. RecvRequestScreenPixels does not need to return synchronously. Instead of using WebRenderAPI::Readback this patch therefore posts an asynchronous message to the render thread to ensure the next rendered frame is read back, making sure to post this message just *before* generating the frame rather than just after. The newly added functions use promises to return the results from the render thread to WebRenderBridgeParent. And as an additional tidy up the communication between UiCompositorControllerParent and WebRenderBridgeParent was also switched to using promises. Note that the actual readback is still performed using a synchronous glReadPixels() call. This will be improved upon in subsequent patches. Differential Revision: https://phabricator.services.mozilla.com/D281493
…HardwareBuffer. r=gfx-reviewers,lsalzman Differential Revision: https://phabricator.services.mozilla.com/D281494
…r=gfx-reviewers,geckoview-reviewers,lsalzman,ohall Rather than allocating a Shmem and performing a glReadPixels(), instead allocate a HardwareBuffer which is bound to a framebuffer via an EGL image, then blit to this from the main framebuffer. The hardware buffer and a fence for synchronization are returned to the child side via file descriptors. This avoids the existing synchronous glReadPixels, and is more efficient than even an asynchronous glReadPixels to a PBO would be as it only requires one copy. This also allows us to handle the y-flip and cropping/scaling on the GPU rather than performing this on the CPU. On the client side we map the hardware buffer and perform a final copy in to the target Bitmap. As the hardware buffer may have a different stride than the Bitmap we can no longer use the Java function Bitmap.copyPixelsFromBuffer(). Instead we use the NDK's AndroidBitmap_getInfo() to determine the Bitmap's stride and memcpy() line by line if required. For now we only use RendererOGL::RequestScreenPixels() and related functions on Android, so we just use the AndroidHardwareBuffer type directly in the required function and type declarations and hide them behind ifdefs. If we choose to make use of this infrastructure on other platforms going forward we can implement a more generic interface. If possible it would additionally be good to unify this with the other screenshotting mechanisms (profiler screenshots and composition recording). Differential Revision: https://phabricator.services.mozilla.com/D281495
# ignore-this-changeset
…ld` metric r=gsvelto Differential Revision: https://phabricator.services.mozilla.com/D281626
…nkey-reviewers,jandem Differential Revision: https://phabricator.services.mozilla.com/D281763
…t` option is passed to `./mach jit-test`. r=sfink DONTBUILD Refactored this in order to replicate the changes that solved Bug 1933577. Differential Revision: https://phabricator.services.mozilla.com/D281672
…1b3ff0fcaad7d9 r=pdfjs-reviewers,fluent-reviewers,marco,flod Differential Revision: https://phabricator.services.mozilla.com/D281772
…. r=jonco This adds a `JS::BorrowedErrorReport` type and uses it for `ErrorFromException` and `JS_ErrorFromException`. This avoids problems with CCW nuking because `BorrowedErrorReport` roots the wrapper's target object instead of the CCW. Differential Revision: https://phabricator.services.mozilla.com/D281761
…=necko-reviewers,webrtc-reviewers,mjf,jesup Differential Revision: https://phabricator.services.mozilla.com/D281525
…ewers,jesup Differential Revision: https://phabricator.services.mozilla.com/D281750
…ations" card in new ETP custom settings page. r=mkennedy Differential Revision: https://phabricator.services.mozilla.com/D281609
…on next load when dismissed. r=home-newtab-reviewers,nbarrett This was due to a bug in how "data: false" was being interpreted (a false value for `data` on an action causes it to not actually be dispatched via the Redux store!) Differential Revision: https://phabricator.services.mozilla.com/D280828
…-newtab-reviewers,fluent-reviewers,omc-reviewers,bolsson,frontend-codestyle-reviewers,nbarrett,emcminn Differential Revision: https://phabricator.services.mozilla.com/D280829
…customize button expanded. r=home-newtab-reviewers,thecount Differential Revision: https://phabricator.services.mozilla.com/D280830
…mechanism. r=home-newtab-reviewers,nbarrett Differential Revision: https://phabricator.services.mozilla.com/D280831
… window mechanism. r=home-newtab-reviewers,nbarrett" for causing failures at activity-stream.css. This reverts commit f51b2a5. Revert "Bug 2011449 - Part 3: Add CSS rule for variant a and b that keep the customize button expanded. r=home-newtab-reviewers,thecount" This reverts commit ee8077d. Revert "Bug 2011449 - Part 2: Add activation window message component. r=home-newtab-reviewers,fluent-reviewers,omc-reviewers,bolsson,frontend-codestyle-reviewers,nbarrett,emcminn" This reverts commit 2014c0e. Revert "Bug 2011449 - Part 1: Make it so that newtab messages don't reappear on next load when dismissed. r=home-newtab-reviewers,nbarrett" This reverts commit faff9b8.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )