Commit Graph

671061 Commits

Author SHA1 Message Date
Julian Descottes
e21e90c2e9 Bug 1581071 - Update devtools metrics test to check that modules are not loaded twice r=Honza,ochameau
Check for duplicated entries in the loaders during the metrics tests

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

--HG--
extra : moz-landing-system : lando
2019-09-17 09:34:28 +00:00
Johann Hofmann
5ee7e03637 Bug 1579489 - Check the persistent permission checkbox by default for WebExtension WebRTC prompts. r=jib
This is done to offset the requirement that extensions have to get persistent permission before
they can start using WebRTC in popups.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 09:26:01 +00:00
Johann Hofmann
80cfe832b3 Bug 1579489 - Add tests for getUserMedia handling in WebExtensions. r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D45334

--HG--
extra : moz-landing-system : lando
2019-09-17 09:25:49 +00:00
Johann Hofmann
b368e3b21a Bug 1579489 - Improve getUserMedia handling in extension pages. r=jib,rpl
The goal is to

- Avoid showing any permission prompt when calling getUserMedia in webextension popups,
  while still checking for persistent permissions.
- Never allow getUserMedia calls on background pages.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 09:25:37 +00:00
Nicolas Silva
b80a2c908a Bug 1570081 - Put the blob dirty rect in the same space as the drawing commands and visible rect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43223

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:18 +00:00
Nicolas Silva
dfe0f0cf10 Bug 1570081 - Don't insert blob images with empty visible rects. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43222

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:06 +00:00
Nicolas Silva
23df4cc94f Bug 1570081 - Update reftests. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D41389

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:35 +00:00
Nicolas Silva
7b6f30fd89 Bug 1570081 - Wrench rawtest changes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D41387

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:43 +00:00
Nicolas Silva
e9915eb02b Bug 1570081 - Support changing the blob image visible rect in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39911

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:26 +00:00
Nicolas Silva
e9850ca2ee Bug 1581058 - Remove remaining use of the term "flattening". r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46018

--HG--
extra : moz-landing-system : lando
2019-09-17 09:20:04 +00:00
Nicolas Silva
3a51eac38e Bug 1581058 - Rename a lot of scene building related structures. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45853

--HG--
rename : gfx/wr/webrender/src/display_list_flattener.rs => gfx/wr/webrender/src/scene_building.rs
extra : moz-landing-system : lando
2019-09-17 09:20:03 +00:00
Nicolas Silva
823e2e6a75 Bug 1581058 - Rename scene_builder::SceneBuilder into scene_builder_thread::SceneBuilderThread. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45854

--HG--
rename : gfx/wr/webrender/src/scene_builder.rs => gfx/wr/webrender/src/scene_builder_thread.rs
extra : moz-landing-system : lando
2019-09-17 09:19:36 +00:00
Nicolas Silva
50c27ced3f Bug 1581058 - Move RenderTaskCache into its own module. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45855

--HG--
extra : moz-landing-system : lando
2019-09-17 09:18:03 +00:00
Julian Descottes
c56df517ed Bug 1578468 - Skip fission mochitests and sw-e10s xpcshell tests for DevTools try presets r=ochameau
Depends on D45843

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

--HG--
extra : moz-landing-system : lando
2019-09-17 09:08:59 +00:00
Julian Descottes
0521d90c71 Bug 1578468 - Add devtools-linux preset r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D45843

--HG--
extra : moz-landing-system : lando
2019-09-16 07:08:35 +00:00
Kershaw Chang
7841491f72 Bug 1581105 - Add dom/fetch/tests/crashtests/crashtests.list r=baku
Differential Revision: https://phabricator.services.mozilla.com/D45835

--HG--
extra : moz-landing-system : lando
2019-09-17 07:52:05 +00:00
Masayuki Nakano
db32271cec Bug 1540029 - part 2: Get rid of TextEditRules::DocumentIsEmpty() and HTMLEditRules::DocumentIsEmpty() r=m_kato
`TextEditRules::DocumentIsEmpty()` is a wrapper of `TextEditor::IsEmpty()` so
that we can get rid of it simply.

`HTMLEditRules::DocumentIsEmpty()` needs to change.  It's oddly checks only
`EditorBase::mPaddingBRElementForEmptyEditor` is `nullptr` or not.  However,
the editor may be completely empty.  And the result may be different from
`TextEditor::IsEmpty()` which is not overridden by `HTMLEditor`.  For partially
solving this issue, this patch makes `HTMLEditor` overrides `IsEmpty()` and
optimizes `TextEditor::IsEmpty()`.

With this change, the caller of `HTMLEditRules::DocumentIsEmpty()` may behave
differently in the only caller, `HTMLEditor::SelectEntireDocument()`.  And
unfortunately, its root called from `SelectAllCommand::DoCommand()`.  However,
it does just collapse `Selection` into the root element (`<body>` or
`Document.documentElement`) if it returns `true`.  Therefore, this change
must be safe since anyway `SelectionRefPtr()->SelectAllChildren()` with
the root element is exactly same as `SelectionRefPtr()->Collapse()` with
the empty root element if it's truly empty.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 06:58:06 +00:00
Eden Chuang
fd5c8abedb Bug 1581072 - Removing skip-if = fission for testing fission r=perry
ServiceWorker mochitests fail for Fission is fixed by bug 1542415.
Remove the skip-if for tests

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

--HG--
extra : moz-landing-system : lando
2019-09-16 21:11:57 +00:00
Eden Chuang
fc138e3f12 Bug 1580496 - Return NS_ERROR_FAILURE while getting nullptr PaymentRequestChild for PaymentRquest r=baku
PaymentRequestChild could be nullptr while PaymentRequest's owner is nullptr.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 07:49:52 +00:00
Edgar Chen
5bd394332c Bug 1579858 - Should release RefPtr before CollectData is clear; r=smaug
mAboutToBeNotifiedRejectedPromises will be clear in AfterProcessMicrotasks()
and mPendingUnhandledRejections will be clear after NotifyUnhandledRejections
runnable is handled.

However, worker could terminate in any time, we still need to clear those
structures manually before CollectData is clear.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:12:07 +00:00
J.C. Jones
51aefb37d2 Bug 1573245 - Change AuthenticatorTransport to be string, not enum r=bzbarsky,keeler
Upstream: https://github.com/w3c/webauthn/issues/1268

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

--HG--
extra : moz-landing-system : lando
2019-09-17 07:50:44 +00:00
Miko Mynttinen
94d12e12a7 Bug 1559706 - Workaround for invalid layerization in Inspector r=gl
Differential Revision: https://phabricator.services.mozilla.com/D45896

--HG--
extra : moz-landing-system : lando
2019-09-16 14:03:32 +00:00
stephendonner
30543f34f3 Bug 1581676. Fix misspellings of 'Gecko profiling' in Talos and Raptor code. r=perftest-reviewers,Bebe
Differential Revision: https://phabricator.services.mozilla.com/D46097

--HG--
extra : moz-landing-system : lando
2019-09-17 07:37:43 +00:00
Daisuke Akatsuka
59b47c5ef8 Bug 1581582: Change the loading way. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D46104

--HG--
extra : moz-landing-system : lando
2019-09-17 06:56:18 +00:00
Bogdan Tara
361c83c1a9 Backed out 21 changesets (bug 1578327, bug 1575448, bug 1580091, bug 1576554, bug 1581049, bug 1576551, bug 1578329, bug 1576555) for platform.cpp related bustage CLOSED TREE
Backed out changeset 27afea20c396 (bug 1581049)
Backed out changeset be1ec4577d37 (bug 1581049)
Backed out changeset b4b6bbb18cc1 (bug 1581049)
Backed out changeset b30942f9db54 (bug 1581049)
Backed out changeset 473c431866f7 (bug 1578329)
Backed out changeset ac492dc3df20 (bug 1578329)
Backed out changeset f51875652f6f (bug 1578327)
Backed out changeset 512b7cbd18f6 (bug 1576555)
Backed out changeset 2d63a9934c00 (bug 1576555)
Backed out changeset ff73f648ab6c (bug 1576555)
Backed out changeset 49f49079bbb5 (bug 1576555)
Backed out changeset e8323157c6f3 (bug 1575448)
Backed out changeset 3b0d726f2dd6 (bug 1575448)
Backed out changeset 5924790abc4b (bug 1576554)
Backed out changeset a14ac9bb5338 (bug 1576554)
Backed out changeset b6d73f5042a7 (bug 1576551)
Backed out changeset 366030bd2d84 (bug 1576551)
Backed out changeset d7ee4148aad9 (bug 1576551)
Backed out changeset ec72dfc7301e (bug 1576551)
Backed out changeset 79b29286f906 (bug 1580091)
Backed out changeset 6f34c2e57ccf (bug 1580091)
2019-09-17 10:16:14 +03:00
Masayuki Nakano
9ee5b3bbef Bug 1540029 - part 1: Move old edit action listener methods of HTMLEditRules to EditorBase::TopLevelEditSubActionData r=m_kato
The main purpose of them is modifying
`TopLevelEditSubActionData::mChangedRange`.  Therefore, they should be in the
struct.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 04:27:59 +00:00
Lina Cambridge
fae155a924 Bug 1580270 - Remove Async.jankYielder from bookmarks mirror transactions. r=markh
`Async.jankYielder` can yield for long periods of time. When used in a
`Sqlite.jsm` transaction, it blocks all other transactions on the
connection, and can cause a shutdown hang if the transaction is in an
`executeBeforeShutdown` block.

This commit removes `jankYielder` from `SyncedBookmarksMirror::store`,
and also makes `store` abortable.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 06:27:26 +00:00
Lina Cambridge
e8dfe2ce56 Bug 1579728 - Use completion ops to upload synced bookmark tombstones. r=markh
The latest version of Dogear adds completion ops for deleting local
items (to apply incoming tombstones), inserting new local tombstones
(to stage deletions for non-syncable and invalid items), and uploading
tombstones (to avoid an extra scan of `moz_bookmarks_deleted`).

These ops are only emitted for GUIDs that exist in both trees. We'll
remove any local tombstones for items that don't exist or are already
deleted on the server, and flag any remote tombstones for items that
don't exist in Places as merged.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 06:27:12 +00:00
Tim Nguyen
e043df8d78 Bug 1534455 - Convert autocomplete binding to a customized input element. r=dao,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D33250

--HG--
rename : toolkit/content/widgets/autocomplete.xml => toolkit/content/widgets/autocomplete-input.js
extra : moz-landing-system : lando
2019-09-17 06:22:42 +00:00
Masayuki Nakano
bbcb8b3a63 Bug 1574852 - part 113: Move TextEditRules::CreateTrailingBRIfNeeded() and TextEditRules::CollapseSelectionToTrailingBRIfNeeded() to TextEditor r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D45496

--HG--
extra : moz-landing-system : lando
2019-09-17 02:47:49 +00:00
Masayuki Nakano
5b0eb574be Bug 1574852 - part 112: Make TextEditor::InsertWithQuotationsAsSubAction() virtual and HTMLEditor override it r=m_kato
It requires different preparation in `TextEditor` and `HTMLEditor` but it's
not split.  Therefore, we should make it virtual and override it to use
different preparation code.  Fortunately, its code is enough simple to
duplicate.

Additionally, this removes unnecessary code from `TextEditRules` and
`HTMLEditRules` including `WillDoAction()` and `DidDoAction()`!

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

--HG--
extra : moz-landing-system : lando
2019-09-17 02:47:26 +00:00
Masayuki Nakano
119bd889bd Bug 1574852 - part 111: Make methods calling HTMLEditRules::WillDoAction() with EditSubAction::eInsertElement stop using it r=m_kato
Unfortunately, `EditSubAction::eInsertElement` is used by 4 methods and one
of them is too big method.  But we should move what old `WillInsert()` does
into them for stop making anybody use `HTMLEditRules`.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 03:13:09 +00:00
Gerald Squelart
060b8c8c50 Bug 1581049 - Use AutoCStrings in StreamSamplesToJSON to avoid mallocs - r=gregtatum
Profiling the profiler showed a lot of time spent allocating memory for the
frame-address strings, almost half the time of `StreamSamplesToJSON`!
Using an "Auto" string will prevent these allocations in most cases.

Also removed the `printf("0x%llx")`, instead just appending "0x" and an hex-
formatted number with `AppendInt()` (which handles 32- and 64-bit numbers
separately, so there is no more needs to do a double-cast to avoid sign
extensions -- There is still a double cast, but a no-op one to fix the type to
either `uint32_t` or `uint64_t`).

Using an Auto string for nearby frame labels as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:54:50 +00:00
Gerald Squelart
5172b40969 Bug 1581049 - Gather stack sample data into fewer entries - r=gregtatum
Stack samples may contain up to hundreds or thousands of entries, which need to
be copied (during sampling and duplicating), and also mostly skipped when
creating the JSON output for other threads or other types of profile data.

This patch gathers all sample legacy entries (apart from the thread id and the
timestamp) into a single non-legacy entry, which is much faster to copy or
skip. The preceding timestamp now has a distinct Kind (`TimeBeforeCompactStack`)
to know whether to handle legacy entries of the new `CompactStack` entry kind.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:54:37 +00:00
Gerald Squelart
541c78764a Bug 1581049 - BlocksRingBuffer (de)serializer uses optimized inter-ModuloBuffer copier - r=gregtatum
Instead of copying `BlocksRingBuffer` data byte-by-byte (using iterators byte
dereferencers), we can now use `ModuloBuffer::Iterator::ReadInto(Iterator&)` to
copy them using a small number of `memcpy`s.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:54:21 +00:00
Gerald Squelart
4c2ab062ce Bug 1581049 - ModuloBuffer::Iterator::ReadInto(ModuloBuffer::Iterator&) - r=gregtatum
Some objects are copied byte-by-byte to/from `ModuloBuffer`s.
E.g., serialized `BlocksRingBuffer`s, or duplicate stacks. (And more to come.)

`Iterator::ReadInto(Iterator&)` optimizes these copies by using the minimum
number of `memcpy`s possible.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:54:03 +00:00
Gerald Squelart
6b49069f3e Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:56 +00:00
Gerald Squelart
b643004d63 Bug 1578329 - profiler_can_accept_markers(), don't store markers when paused - r=gregtatum
profiler_can_accept_markers() is a fast and racy check that markers would
currently be stored, it should be used around potentially-expensive calls to
add markers.

And now markers are no longer stored when the profiler is paused. (Note that the
profiler is paused when a profile is being stored, this will help make this
operation faster.)

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:54 +00:00
Gerald Squelart
7d435fc17a Bug 1578327 - Discard old data just before streaming - r=gregtatum
Since all profiler data is now stored inside ProfileBuffer, there is no real
need to continuously discard old data during sampling (this was particularly
useful to reclaim memory taken by old markers&payloads).

Instead, we can now just discard the old data once, just before starting to
stream it to JSON.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:52 +00:00
Gerald Squelart
79e1b2e357 Bug 1576555 - Remove unneeded ProfilerMarker - r=gregtatum
Now that what was in ProfilerMarker is stored directly in `BlocksRingBuffer`,
there is no need for this class anymore!
This also removes all the pointer management around it (when added to a TLS
list, moved during sampling, deleted when expired).

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:50 +00:00
Gerald Squelart
8364b4ebdb Bug 1576555 - Don't store temporary ProfilerMarkerPayloads in UniquePtrs - r=gregtatum
Since payloads are not kept alive long after they have been serialized, we can
just create them on the stack and pass a reference to their base (or pointer,
`nullptr` representing "no payloads") to `profiler_add_marker()`.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 02:32:21 +00:00
Gerald Squelart
b48590ff79 Bug 1576555 - Store markers directly into BlocksRingBuffer - r=gregtatum
Markers and their payloads can now be serialized straight into the profiler's
`BlocksRingBuffer`, which is now thread-safe to allow such concurrent accesses
(even when gPSMutex is not locked).
This already saves us from having to allocate a `PayloadMarker` on the heap, and
from having to manage it in different lists.

The now-thread-safe `BlocksRingBuffer` in `CorePS` cannot be used inside the
critical section of `SamplerThread::Run`, because any mutex function could hang
because of the suspended thread (even though they functionally don't appear to
interact). So the sampler now uses a local `BlocksRingBuffer` without mutex.
As a bonus, the separate buffer helps reduce the number of concurrent locking
operations needed when capturing the stack.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:52:16 +00:00
Gerald Squelart
6d95d503f5 Bug 1576555 - BlocksRingBuffer::AppendContents(const BlocksRingBuffer&) - r=gregtatum
Copy the full contents of BlocksRingBuffer into another one.
This is mainly useful to use a temporary buffer to store some data without
contentions, and then integrate the temporary buffer into the main one.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:51:53 +00:00
Gerald Squelart
5b86107991 Bug 1575448 - De/serialize ProfilerMarkerPayload derived objects - r=gregtatum
Payloads will serialize themselves into a `BlocksRingBuffer` entry when first
captured.
Later they will be deserialized, to stream JSON for the output profile.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:51:41 +00:00
Gerald Squelart
64f0dcdf95 Bug 1575448 - ProfilerMarkerPayload::CommonProps - r=gregtatum
The common data members stored in the ProfilerMarkerPayload base class can be
gathered into a struct, which will make it easier to pass around, especially
when a derived object is constructed with these common properties.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:51:18 +00:00
Gerald Squelart
a14e2c944d Bug 1576554 - {S,Des}erializer<ProfilerBacktrace> - r=gregtatum
Markers may contain backtraces, so we need to be able to de/serialize them.
This involves de/serializing the underyling `BlocksRingBuffer`.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 02:16:04 +00:00
Gerald Squelart
4b285f78a5 Bug 1576554 - Test baseprofiler::profiler_get_backtrace - r=gregtatum
Add basic testing of `profiler_get_backtrace` before working on serializing it.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:50:49 +00:00
Gerald Squelart
003cded47d Bug 1576551 - Store BlocksRingBuffer outside of ProfileBuffer - r=gregtatum
The main `BlocksRingBuffer`s will be stored in `CorePS` (outside of
`ProfileBuffer`s), as we need to be able to safely access the underlying buffers
when profilers are not enabled.

Also `ProfilerBacktrace` will own the `BlocksRingBuffer` that its captured
`ProfileBuffer` uses.

Taking this opportunity to rename the different `mBuffer`s to more useful names.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 02:12:42 +00:00
Gerald Squelart
c538807a81 Bug 1576551 - Assume capacity is in 8-byte entries - r=gregtatum
Now that we are using a byte-oriented `BlocksRingBuffer` instead of an array of
9-byte `ProfileBufferEntry`'s, internally the profiler sets the buffer size in
bytes. However all external users (popup, tests, etc.) still assume that the
requested capacity is in entries!

To limit the amount of changes, we will keep assuming externally-visible
capacities are in entries, and convert them to bytes.
Even though entries used to be 9 bytes each, and `BlocksRingBuffer` adds 1 byte
for the entry size, some entries actually need less space (e.g., 32-bit numbers
now take 6 bytes instead of 9), so converting to less than 9 bytes per entry is
acceptable.
We are settling on 8 bytes per entry: It's close to 9, and it's a power of two;
since the effective number of entries was a power of two, and `BlocksRingBuffer`
also uses a power of two size in bytes, this convertion keeps sizes in powers of
two.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:50:19 +00:00
Gerald Squelart
71e4f99d21 Bug 1576551 - Use BlocksRingBuffer in ProfileBuffer - r=gregtatum
This just replaces `ProfileBuffer`'s self-managed circular buffer with a
`BlocksRingBuffer`.

That `BlocksRingBuffer` does not need its own mutex (yet), because all uses go
through gPSMutex-guarded code.

`ProfileBuffer` now also pre-allocates a small buffer for use in
`DuplicateLastSample()`, this avoids multiple mallocs at each sleeping thread
stack duplication.

Note: Internal "magic" sizes have been multiplied by 8 (and tweaked upwards, to
handle bigger stacks), because they originally were the number of 9-byte
entries, but now it's the buffer size in bytes. (And entries can now be smaller
than 9 bytes, so overall the capacity in entries should be similar or better.)
However, external calls still think they are giving a number of "entries", this
will be handled in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:49:59 +00:00