It's not necessary to clear the tile cache backdrop surface when a new
scene arrives. Doing so has unintended consequences because clearing the
backdrop surface forces the destruction of the associated native surface.
That native surface will very likely just have to be recreated. If the new
scene doesn't have a backdrop, or has a different backdrop, the logic in
take_context is sufficient to destroy the old one.
Depends on D148704
Differential Revision: https://phabricator.services.mozilla.com/D148705
This ensures that the native surfaces for color backdrops are destroyed
when the tile cache itself is destroyed.
Depends on D148678
Differential Revision: https://phabricator.services.mozilla.com/D148704
These early exits prevent calls to `ResourceAt(0)` on an empty queue. Such
a call emits an NS_WARN message. Both calls can either start with an empty
queue or loop until they empty the queue. Since these functions are called
frequently, the NS_WARN messages can fill up the console.
Differential Revision: https://phabricator.services.mozilla.com/D148678
Simplify and optimize Baseline stub frames, rectifier frames and Baseline generator-resume
to use the frame pointer register instead of computing it from the descriptor.
Differential Revision: https://phabricator.services.mozilla.com/D148646
Change OSR to use the standard frame epilogue on the Baseline side and frame prologue
on the CodeGenerator side.
Bailouts now have to copy the saved-frame-pointer from the Ion frame. This lets us
simplify the code too.
Differential Revision: https://phabricator.services.mozilla.com/D148645
This adds `offsetOfLocalSlots_` and `offsetOfPassedArgSlots_`, so that we can
more easily add the frame pointer to the frame in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D148644
The only slots stored in the `BitSet` are local slots, so there's no need to include
the space we reserve for arguments pushed for callee functions. This should make
safepoints a bit more compact too.
This was the behavior before the fix in bug 771398. Other parts of that patch were
then reverted in bug 934502, after bug 952992 simplified how call arguments are
handled, but we never reverted this part.
Also removes `StackOffsetToSlot`, it was similarly unused.
Differential Revision: https://phabricator.services.mozilla.com/D148642
It used to be that slots were pointer-sized, but this was changed in bug 950703.
Rename "SlotCount" to "SlotsSize" to make clear that it's number of bytes.
Differential Revision: https://phabricator.services.mozilla.com/D148641
Since Network monitoring is switched of by default in the browser console, we need to
switch it on explicitly for the browser_console_context_menu_entries.js test.
Differential Revision: https://phabricator.services.mozilla.com/D148776
Simplify and optimize Baseline stub frames, rectifier frames and Baseline generator-resume
to use the frame pointer register instead of computing it from the descriptor.
Differential Revision: https://phabricator.services.mozilla.com/D148646
Change OSR to use the standard frame epilogue on the Baseline side and frame prologue
on the CodeGenerator side.
Bailouts now have to copy the saved-frame-pointer from the Ion frame. This lets us
simplify the code too.
Differential Revision: https://phabricator.services.mozilla.com/D148645
This adds `offsetOfLocalSlots_` and `offsetOfPassedArgSlots_`, so that we can
more easily add the frame pointer to the frame in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D148644