Граф коммитов

680876 Коммитов

Автор SHA1 Сообщение Дата
Aaron Klotz aefddbeebf Bug 1596564: ParamTraits for CombinedStacks and ProcessedStack; r=janerik
Differential Revision: https://phabricator.services.mozilla.com/D53086

--HG--
extra : moz-landing-system : lando
2019-11-19 17:20:02 +00:00
Dzmitry Malyshau 3a063c9858 Bug 1597319 - Use rounded rect FAST_PATH more agressively r=gw
Differential Revision: https://phabricator.services.mozilla.com/D53999

--HG--
extra : rebase_source : 4bde6755f4fa92d85300888dc286b9fd97100c90
extra : source : d65ded00cb51c7c5e3e1a23145b2a8bf15e5e52e
2019-11-20 18:48:50 +00:00
Matthew Noorenberghe 9eb7704800 Bug 1595656 - Only clear user-facing passwords with the browsingData API. r=rpl
FxA/Sync stores a credential in login storage but this is no longer user-facing so users shouldn't expect it to be cleared. Users can still diconnect Sync properly from about:preferences.

Differential Revision: https://phabricator.services.mozilla.com/D53834

--HG--
extra : moz-landing-system : lando
2019-11-20 15:07:32 +00:00
Matthew Noorenberghe 4ee2233074 Bug 1595656 - isUserFacingLogin should only exclude the FxA one, not legacy extension ones. r=sfoster
We shouldn't hide data saved by legacy extensions, the user should remain in control of them since they may contain credentials they want to delete.

Differential Revision: https://phabricator.services.mozilla.com/D53833

--HG--
extra : moz-landing-system : lando
2019-11-20 22:55:12 +00:00
Drew Willcoxon 523d1576b3 Bug 1596980 - Copy browser.experiments.urlbar.engagementTelemetry from top sites experiment to our mozilla-central experiment files r=mak,mixedpuppy
Original code by Marco Bonardo <mbonardo@mozilla.com>

Differential Revision: https://phabricator.services.mozilla.com/D53311

--HG--
extra : moz-landing-system : lando
2019-11-20 22:51:19 +00:00
prathiksha 8914c167f1 Bug 1388674 - Only prompt to save logins if a login field was modified by the user. r=MattN
Depends on D51718

Differential Revision: https://phabricator.services.mozilla.com/D24556

--HG--
extra : moz-landing-system : lando
2019-11-20 22:44:20 +00:00
Sam Foster 2831a02039 Bug 1388674 - Update tests to use setUserInput, ensuring we get an input event for field modifications. r=MattN
Depends on D53055

Differential Revision: https://phabricator.services.mozilla.com/D51718

--HG--
extra : moz-landing-system : lando
2019-11-20 22:44:18 +00:00
Sam Foster 0150488e14 Bug 1388674 - Use document state to track generated password fields, not just the event handlers. r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D53055

--HG--
extra : moz-landing-system : lando
2019-11-20 22:44:15 +00:00
Edwin Takahashi d7dd37c96e Bug 1595982 - fix incorrect import in python3 codepath inside mozharness/base/python.py r=aki
I mistakenly attempted to `import urllib.urlparse` instead of `urllib.parse`, which caused a bunch of tests running under python3.5 tox to be blocked on this.

This correction allows tox on python3.5 to run all 167 tests, allowing me to cross-check further python3 conversion work.

Differential Revision: https://phabricator.services.mozilla.com/D54041

--HG--
extra : moz-landing-system : lando
2019-11-20 22:44:27 +00:00
Mike Conley 0e1e31ae4e Bug 1597689 - Update Picture-in-Picture image assets. r=mstriemer
Differential Revision: https://phabricator.services.mozilla.com/D53819

--HG--
extra : moz-landing-system : lando
2019-11-20 22:29:47 +00:00
Shane Caraveo 1c6b57f5bb Bug 1410412 implement browser setting onChange event r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D51324

--HG--
extra : moz-landing-system : lando
2019-11-20 01:22:38 +00:00
Brindusan Cristian f8cfa641a5 Backed out changeset efb782988830 (bug 1596479) for wrench bustage (KeyError: 'region'). CLOSED TREE 2019-11-21 00:45:18 +02:00
Chris Manchester fa505637e2 Bug 1597836 - Update sccache in-tree to the current master r=dmajor,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D53903

--HG--
extra : moz-landing-system : lando
2019-11-20 22:22:20 +00:00
David Parks 4dc38ba6aa Bug 1577336: Part 7 - Move DXGI async plugin operations to compositor process r=jmathies,mattwoodrow,sotaro,mccr8
Previously, we created TextureD3D11 objects in the content process to back surfaces created for the plugin process.  Those objects were then composited by the async ImageBridge.  In order to remove Win32 kernel operations from content (including DX/GDI operations), this patch bounces the requests from content to the compositor process.  The compositor process maintains 2 textures to be used for all plugin composition -- one for the plugin process and one for display.  The plugin process can freely write to its texture and request composition when it is done, which triggers a blit to the display texture.  This mirrors pre-existing behavior.

Differential Revision: https://phabricator.services.mozilla.com/D46086

--HG--
extra : moz-landing-system : lando
2019-11-20 21:49:35 +00:00
David Parks 18e50987a5 Bug 1577336: Part 6 - Make SurfaceDescriptorGPUVideo a union that contains SurfaceDescriptorRemoteDecoder r=mattwoodrow,jolin
SurfaceDescriptorGPUVideo, which currently only represents RemoteDecoder video, switches from being a struct to a union that holds a SurfaceDescriptorRemoteDecoder struct.  SurfaceDescriptorRemoteDecoder is a new name for the old SurfceDescriptorGPUVideo.  This is done so that we can later add SurfaceDescriptorPlugin as another type of SurfaceDescriptorGPUVideo.

Differential Revision: https://phabricator.services.mozilla.com/D52400

--HG--
extra : moz-landing-system : lando
2019-11-20 21:55:06 +00:00
David Parks 35515bd4e7 Bug 1577336: Part 5 - Create IGPUVideoSurfaceManager for shared parts of RemoteDecoderManagerChild r=mattwoodrow
IGPUVideoSurfaceManager is an interface that the ImageBridgeChild uses to perform GPUVideoImage operations.  RemoteDecoderManagerChild is one.  We define another for plugins later in this patch series.

Differential Revision: https://phabricator.services.mozilla.com/D52397

--HG--
extra : moz-landing-system : lando
2019-11-20 21:33:59 +00:00
David Parks 78fbd97e70 Bug 1577336: Part 4 - Refactor some things in RemoteDecoderManager r=mattwoodrow,jolin
In anticipation of the rest of this patch series, we make 2 changes to the RemoteDecoderManager:
1. Rename RemoteDecoderManagerChild::DeallocateSurfaceDescriptorGPUVideo to DeallocateSurfaceDescriptor
2. Move call to RemoteDecoderManager::GetSource() from GPUVideoTextureClient to RemoteVideoDecoder.

Differential Revision: https://phabricator.services.mozilla.com/D52396

--HG--
extra : moz-landing-system : lando
2019-11-20 21:53:28 +00:00
David Parks 446170c593 Bug 1577336: Part 3 - Fetch Windows plugin async graphics capabilities from gpu or main process r=jmathies,mattwoodrow,froydnj
These operations report whether certain async plugin drawing modes are supported on the host architecture.  They use kernel graphics operations to decide this so they need to be removed from the content process for sandboxing.  We just bounce the requests to the gpu process (or main process on systems without a GPU process).

Differential Revision: https://phabricator.services.mozilla.com/D46085

--HG--
extra : moz-landing-system : lando
2019-11-20 21:33:55 +00:00
David Parks beb56ea7bc Bug 1577336: Part 2 - Add pref to disble Windows DXGI async plugin surfaces r=jmathies
Use this pref to disable NPDrawingModelAsyncWindowsDXGISurface mode, which will force compatible plugins (Flash) to use NPDrawingModelAsyncBitmapSurface.

Differential Revision: https://phabricator.services.mozilla.com/D46084

--HG--
extra : moz-landing-system : lando
2019-11-20 21:32:24 +00:00
David Parks 6cb9c34c4c Bug 1577336: Part 1 - Remove win32k use from NPDrawingModelAsyncBitmapSurface r=jmathies
This fallback drawing mode primarily uses in-memory textures in the content process (via Readback) but uses gfxPlatform to establish the GPU texture type.  On Windows, this is always Win32 so we can avoid the gfxPlatform call (which uses Win32k heavily).  I believe that this removes all Win32 operations involved in this drawing mode in a content process.

Differential Revision: https://phabricator.services.mozilla.com/D46083

--HG--
extra : moz-landing-system : lando
2019-11-20 21:32:07 +00:00
Geoff Lankow ada7694a92 Bug 1595696 - Shift artifact namespace transformation to the job class definition. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D52631

--HG--
extra : moz-landing-system : lando
2019-11-20 19:01:26 +00:00
Gregory Mierzwinski 9d477bcb3a Bug 1597975 - Fix manifestparser in python 3 r=ahal
This patch fixes a minor issue with manifestparser when it is used in python 3. The problem was that dict.items() returns a generator in python 3 instead of a list.

Differential Revision: https://phabricator.services.mozilla.com/D53953

--HG--
extra : moz-landing-system : lando
2019-11-20 20:33:23 +00:00
Andrew McCreight 57b6c8b02b Bug 1598075 - Reuse Fission content processes in reader mode tests. r=Gijs
There are frequent shutdown hangs in this directory. Making us reuse
content processes when Fission is enabled has papered over the
shutdown hangs from reader mode tests in other directories, so
hopefully it will help here, too.

Differential Revision: https://phabricator.services.mozilla.com/D54012

--HG--
extra : moz-landing-system : lando
2019-11-20 20:44:35 +00:00
Nan Jiang 6914a98c54 Bug 1597697 - Stop sending AS heartbeat ping to Tiles data pipeline. r=thecount
This turns off the telemetry to Tiles in m-c. Activity Stream related telemetry to Tiles will be handled separately.

Differential Revision: https://phabricator.services.mozilla.com/D53875

--HG--
extra : moz-landing-system : lando
2019-11-20 21:30:43 +00:00
Emma Malysz 273aab2e2a Bug 1596884, replace remaining .xul files in layout/tools with .xhtml r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D53898

--HG--
rename : layout/tools/layout-debug/ui/content/layoutdebug.xul => layout/tools/layout-debug/ui/content/layoutdebug.xhtml
rename : layout/tools/recording/recording.xul => layout/tools/recording/recording.xhtml
rename : layout/tools/reftest/reftest.xul => layout/tools/reftest/reftest.xhtml
extra : moz-landing-system : lando
2019-11-20 20:40:32 +00:00
Perry Jiang 7215838dc1 Bug 1575092 - don't spawn Shared/Service Workers in "web COOP+COEP" processes r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D50815

--HG--
extra : moz-landing-system : lando
2019-11-20 20:02:23 +00:00
Perry Jiang 25638418f9 Bug 1575092 - add "web COOP+COEP" process type helpers r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D50814

--HG--
extra : moz-landing-system : lando
2019-11-20 19:45:14 +00:00
Honza Bambas 50f49afa20 Bug 1592628 - Propagate network.http.proxy.respect-be-conservative to the http connection manager at startup properly, r=kershaw
Differential Revision: https://phabricator.services.mozilla.com/D54002

--HG--
extra : moz-landing-system : lando
2019-11-20 18:22:08 +00:00
Doug Thayer 87634aef93 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-20 20:40:22 +00:00
shindli f1c84ddb25 Backed out changeset d65ded00cb51 (bug 1597319) for causing wrench bustages CLOSED TREE 2019-11-20 22:37:01 +02:00
Luca Greco 1e19e16024 Bug 1598062 - Turn abuseReport.amWebAPI on by default on all channels. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D54011

--HG--
extra : moz-landing-system : lando
2019-11-20 19:05:03 +00:00
Aaron Klotz 72c46c09e0 Bug 1598098: Eradicate "using namespace mozilla;" from xpcom/build; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D54020

--HG--
extra : moz-landing-system : lando
2019-11-20 19:58:05 +00:00
Emilio Cobos Álvarez a09dd426e0 Bug 1597715 - Don't dereference this on DocumentOrShadowRoot subclasses. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D53836

--HG--
extra : moz-landing-system : lando
2019-11-20 19:58:21 +00:00
Emma Malysz 5ce533edb5 Bug 1596327, rename .xul test files in widget/ to .xhtml r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D53047

--HG--
rename : widget/cocoa/crashtests/444260-1.xul => widget/cocoa/crashtests/444260-1.xhtml
rename : widget/tests/bug586713_window.xul => widget/tests/bug586713_window.xhtml
rename : widget/tests/chrome_context_menus_win.xul => widget/tests/chrome_context_menus_win.xhtml
rename : widget/tests/empty_window.xul => widget/tests/empty_window.xhtml
rename : widget/tests/native_menus_window.xul => widget/tests/native_menus_window.xhtml
rename : widget/tests/native_mouse_mac_window.xul => widget/tests/native_mouse_mac_window.xhtml
rename : widget/tests/standalone_native_menu_window.xul => widget/tests/standalone_native_menu_window.xhtml
rename : widget/tests/system_font_changes.xul => widget/tests/system_font_changes.xhtml
rename : widget/tests/taskbar_previews.xul => widget/tests/taskbar_previews.xhtml
rename : widget/tests/test_bug1123480.xul => widget/tests/test_bug1123480.xhtml
rename : widget/tests/test_bug343416.xul => widget/tests/test_bug343416.xhtml
rename : widget/tests/test_bug428405.xul => widget/tests/test_bug428405.xhtml
rename : widget/tests/test_bug429954.xul => widget/tests/test_bug429954.xhtml
rename : widget/tests/test_bug444800.xul => widget/tests/test_bug444800.xhtml
rename : widget/tests/test_bug466599.xul => widget/tests/test_bug466599.xhtml
rename : widget/tests/test_bug478536.xul => widget/tests/test_bug478536.xhtml
rename : widget/tests/test_bug485118.xul => widget/tests/test_bug485118.xhtml
rename : widget/tests/test_bug517396.xul => widget/tests/test_bug517396.xhtml
rename : widget/tests/test_bug522217.xul => widget/tests/test_bug522217.xhtml
rename : widget/tests/test_bug538242.xul => widget/tests/test_bug538242.xhtml
rename : widget/tests/test_bug586713.xul => widget/tests/test_bug586713.xhtml
rename : widget/tests/test_bug593307.xul => widget/tests/test_bug593307.xhtml
rename : widget/tests/test_bug596600.xul => widget/tests/test_bug596600.xhtml
rename : widget/tests/test_bug673301.xul => widget/tests/test_bug673301.xhtml
rename : widget/tests/test_bug760802.xul => widget/tests/test_bug760802.xhtml
rename : widget/tests/test_chrome_context_menus_win.xul => widget/tests/test_chrome_context_menus_win.xhtml
rename : widget/tests/test_clipboard.xul => widget/tests/test_clipboard.xhtml
rename : widget/tests/test_composition_text_querycontent.xul => widget/tests/test_composition_text_querycontent.xhtml
rename : widget/tests/test_input_events_on_deactive_window.xul => widget/tests/test_input_events_on_deactive_window.xhtml
rename : widget/tests/test_key_event_counts.xul => widget/tests/test_key_event_counts.xhtml
rename : widget/tests/test_keycodes.xul => widget/tests/test_keycodes.xhtml
rename : widget/tests/test_mouse_scroll.xul => widget/tests/test_mouse_scroll.xhtml
rename : widget/tests/test_native_menus.xul => widget/tests/test_native_menus.xhtml
rename : widget/tests/test_native_mouse_mac.xul => widget/tests/test_native_mouse_mac.xhtml
rename : widget/tests/test_panel_mouse_coords.xul => widget/tests/test_panel_mouse_coords.xhtml
rename : widget/tests/test_platform_colors.xul => widget/tests/test_platform_colors.xhtml
rename : widget/tests/test_position_on_resize.xul => widget/tests/test_position_on_resize.xhtml
rename : widget/tests/test_sizemode_events.xul => widget/tests/test_sizemode_events.xhtml
rename : widget/tests/test_standalone_native_menu.xul => widget/tests/test_standalone_native_menu.xhtml
rename : widget/tests/test_system_font_changes.xul => widget/tests/test_system_font_changes.xhtml
rename : widget/tests/test_system_status_bar.xul => widget/tests/test_system_status_bar.xhtml
rename : widget/tests/test_taskbar_progress.xul => widget/tests/test_taskbar_progress.xhtml
rename : widget/tests/test_transferable_overflow.xul => widget/tests/test_transferable_overflow.xhtml
rename : widget/tests/test_wheeltransaction.xul => widget/tests/test_wheeltransaction.xhtml
rename : widget/tests/window_bug429954.xul => widget/tests/window_bug429954.xhtml
rename : widget/tests/window_bug478536.xul => widget/tests/window_bug478536.xhtml
rename : widget/tests/window_bug522217.xul => widget/tests/window_bug522217.xhtml
rename : widget/tests/window_bug538242.xul => widget/tests/window_bug538242.xhtml
rename : widget/tests/window_bug593307_centerscreen.xul => widget/tests/window_bug593307_centerscreen.xhtml
rename : widget/tests/window_bug593307_offscreen.xul => widget/tests/window_bug593307_offscreen.xhtml
rename : widget/tests/window_composition_text_querycontent.xul => widget/tests/window_composition_text_querycontent.xhtml
rename : widget/tests/window_state_windows.xul => widget/tests/window_state_windows.xhtml
rename : widget/tests/window_wheeltransaction.xul => widget/tests/window_wheeltransaction.xhtml
extra : moz-landing-system : lando
2019-11-20 19:05:30 +00:00
Tim Huang b0410ae200 Bug 1597209 - Making the test 'browser/components/resistfingerprinting/test/browser/browser_navigator.js' compatible with Fission. r=Ehsan
This patch bascially changes the test to use the SpecialPowers.spwan()
instead of the ContentTask.spawn(). It also adds code to ensure the
content proces is shut down entirely while it involves workers in the
test. Because it would have a timing issue if we reopen a page which
used a worker before immediately after it has been closed.

Differential Revision: https://phabricator.services.mozilla.com/D53788

--HG--
extra : moz-landing-system : lando
2019-11-20 14:34:01 +00:00
Gerald Squelart 3cff440f61 Bug 1445822 - Dump stack and crash when ProfilingStack is not empty on destruction - r=mstange
Note that the `stackPointer == 0` assertion would crash anyway, so this
shouldn't add crashes. But it should make these new crashes appear separate,
making them hopefully easier to find and analyze.

Differential Revision: https://phabricator.services.mozilla.com/D52524

--HG--
extra : moz-landing-system : lando
2019-11-20 19:56:09 +00:00
Gerald Squelart 54d8ce16ca Bug 1445822 - Make ProfilingStack ref-counted, owned by both profiler and thread - r=mstange
When the profiler shuts down, it destroys all remaining `RegisteredThread`'s,
including the embedded ProfilingStack that stores labels for each thread.
Now, it is possible that some threads may outlive the profiler (e.g., Rayon
threads, which cannot be synchronously shut down), so there could be labels left
when the `ProfilingStack` gets destroyed, which triggers the `stackPointer == 0`
assertion in the destructor.

Removing the assertion would not be enough, because after that, the thread may
still try to pop labels (using a pointer to the now-destroyed `ProfilingStack`
stored in `AutoProfilerLabel`), causing a UAF.
`AutoProfilerLabel` could theoretically check that the profiler is still alive
before trying to pop labels, but that would add a significant cost every time
the `ProfilingStack` is accessed, because the profiler mutex would need to be
locked.

The solution here is to make `ProfilingStack` a separate heap object, owned
both by the profiler through the thread's `RegisteredThread`, and by the thread
itself through the thread-local `sProfilingStackOwnerTLS`.
The first owning link is severed when the profiler shuts down.
The other owning link is severed when the thread unregisters itself (before or
after shutdown).
This way the `ProfilingStack` stays alive as long as needed by the thread, even
if it outlives the profiler.

Implementation detail: `ProfilingStack` is used in other places as a straight
object, so it cannot be made ref-counted itself. Instead we use
`ProfilingStackOwner`, a small ref-counted shell around it.

Differential Revision: https://phabricator.services.mozilla.com/D49141

--HG--
extra : moz-landing-system : lando
2019-11-20 19:57:58 +00:00
Shane Caraveo f4195627c7 Bug 1595081 remove documentation about quoted phrases in bookmark search r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D54006

--HG--
extra : moz-landing-system : lando
2019-11-20 18:43:23 +00:00
Jason Laster bf4a2e2c26 Bug 1594861 - Defer fetching frames. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D52284

--HG--
extra : moz-landing-system : lando
2019-11-20 16:10:39 +00:00
Dzmitry Malyshau 8fd6f3ba5d Bug 1597319 - Use rounded rect FAST_PATH more agressively r=gw
Differential Revision: https://phabricator.services.mozilla.com/D53999

--HG--
extra : moz-landing-system : lando
2019-11-20 18:48:50 +00:00
Scott a82084f57c Bug 1597320 - Add string change and test to New Tab Page r=fluent-reviewers,Mardak
Differential Revision: https://phabricator.services.mozilla.com/D53668

--HG--
extra : moz-landing-system : lando
2019-11-18 20:20:28 +00:00
Andrei Oprea 34a0324a3b Bug 1597706 - Remove the What's new toolbar badge message r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D53838

--HG--
extra : moz-landing-system : lando
2019-11-20 18:28:42 +00:00
Boris Zbarsky e9cfb6db8e Bug 1596458 part 2. Fix the innerHTML setter for shadow DOM cases in XML to supply the right context. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53077

--HG--
extra : moz-landing-system : lando
2019-11-15 12:45:40 +00:00
Boris Zbarsky 39eb418bd8 Bug 1596458 part 1. Fix CreateContextualFragment in XML to not accidentally trigger custom element constructors. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D53076

--HG--
extra : moz-landing-system : lando
2019-11-20 08:07:47 +00:00
Boris Zbarsky 1a46f0b6a3 Bug 1595626. Remove no-longer-needed flush in document.close(). r=hsivonen
OpenCommon now removes the root content object, so those parts of the big
comment don't look relevant anymore. And tests pass with this change...

I _think_ this does not reintroduce bug 253951, but I'm not 100% how to check.

Differential Revision: https://phabricator.services.mozilla.com/D52602

--HG--
extra : moz-landing-system : lando
2019-11-20 08:07:05 +00:00
Simon Giesecke 9932ffacc7 Bug 1596129 - Avoid unnecessary copy of params in BackgroundRequestChild::RecvPreprocess. r=dom-workers-and-storage-reviewers,ttung
Depends on D52844

Differential Revision: https://phabricator.services.mozilla.com/D52858

--HG--
extra : moz-landing-system : lando
2019-11-20 13:19:39 +00:00
Simon Giesecke a137d4ea5b Bug 1596129 - Removed code duplication between HandlePreprocess overloads. r=dom-workers-and-storage-reviewers,ttung
Differential Revision: https://phabricator.services.mozilla.com/D52844

--HG--
extra : moz-landing-system : lando
2019-11-20 13:26:16 +00:00
Jan de Mooij 225c67f016 Bug 1595476 part 5 - Remove now-dead CFG memory reporter. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D52637

--HG--
extra : moz-landing-system : lando
2019-11-20 14:40:45 +00:00
Jan de Mooij 7b4adbdcec Bug 1595476 part 4 - Remove now-almost-empty IonControlFlow.{h,cpp} files. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D52636

--HG--
extra : moz-landing-system : lando
2019-11-20 14:40:47 +00:00
Jan de Mooij 7c6ed6fff5 Bug 1595476 part 3 - Rewrite and simplify control flow logic in Ion for bytecode -> MIR compilation. r=tcampbell
Instead of trying to understand the precise Control Flow Graph, we now construct
MIR more like how a baseline compiler does it: whenever we have a forward jump
in the bytecode we add the block to a pendingBlocks list (keyed on the target
pc) and when we get to a jump target op we "link" any pending blocks for that
pc.

This patch also changes 'continues' in while/for-in/for-of loops to be more
similar to continues in for-loops and do-while loops. They're now just forward
jumps to the end of the loop body, instead of backward jumps to the branch at
the top that jumps to the condition. It's simpler and because they're now plain
forward branches the PendingBlock system handles them automatically.

We still always emit a jump target op for continues, even if there are no
continues. It's pretty easy to optimize this but that will be done in a
follow-up (bug 1595699) to not complicate this patch more. We can likely also
remove some source notes.

Differential Revision: https://phabricator.services.mozilla.com/D52635

--HG--
extra : moz-landing-system : lando
2019-11-20 17:03:29 +00:00