searching for reviewer(erahm)
4cd236eff0af42029e5ff209e46c9384aa2c9c3c: Bug 1471743 - remove STRICT_FAKE_SYMLINKS code from nsLocalFileWin; r=erahm
Nathan Froyd <froydnj@mozilla.com> - Tue, 21 Aug 2018 17:00:59 -0400 - rev 830608
Push
118847 by bmo:hskupin@gmail.com at Wed, 22 Aug 2018 09:09:03 +0000
Bug 1471743 - remove STRICT_FAKE_SYMLINKS code from nsLocalFileWin; r=erahm
We don't define STRICT_FAKE_SYMLINKS anywhere, so this is dead code.
4ef0f163fdeb9afeddd87b37bfd987298c038542: Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Henri Sivonen <hsivonen@hsivonen.fi> - Fri, 06 Jul 2018 10:44:43 +0300 - rev 829029
Push
118741 by bmo:kshvmdn@gmail.com at Tue, 14 Aug 2018 18:31:47 +0000
Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:
* UTF errors are handled safely per spec instead of dangerously truncating
strings.
* There are fewer converter implementations.
Performance improvements:
* The old code did exact buffer length math, which meant doing UTF math twice
on each input string (once for length calculation and another time for
conversion). Exact length math is more complicated when handling errors
properly, which the old code didn't do. The new code does UTF math on the
string content only once (when converting) but risks allocating more than
once. There are heuristics in place to lower the probability of
reallocation in cases where the double math avoidance isn't enough of a
saving to absorb an allocation and memcpy.
* Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
but a single non-ASCII code point pessimized the rest of the string. The
new code tries to get back on the fast ASCII path.
* UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
input to eliminate an operation from the inner loop on x86/x86_64.
* When assigning to a pre-existing string, the new code tries to reuse the
old buffer instead of first releasing the old buffer and then allocating a
new one.
* When reallocating from the new code, the memcpy covers only the data that
is part of the logical length of the old string instead of memcpying the
whole capacity. (For old callers old excess memcpy behavior is preserved
due to bogus callers. See
bug 1472113.)
* UTF-8 strings in XPConnect that are in the Latin1 range are passed to
SpiderMonkey as Latin1.
New features:
* Conversion between UTF-8 and Latin1 is added in order to enable faster
future interop between Rust code (or otherwise UTF-8-using code) and text
node and SpiderMonkey code that uses Latin1.
MozReview-Commit-ID: JaJuExfILM9
7f5ada8ce4013c26b40784d5305862a49d6b906e: Bug 1399789 - nsSubstringSplitter/nsCSubstringSplitter is not defined anymore; r=erahm
Jan Varga <jan.varga@gmail.com> - Thu, 09 Aug 2018 14:18:22 +0200 - rev 828007
Push
118619 by bmo:mtigley@mozilla.com at Thu, 09 Aug 2018 18:23:03 +0000
Bug 1399789 - nsSubstringSplitter/nsCSubstringSplitter is not defined anymore; r=erahm
a99bdd693233b35c3f40375debbf4456da5ab0b0: Bug 1478942 - Convert UniquePtr<SimpleEdgeRange> back to UniquePtr<EdgeRange> to return an EdgeRange. r=erahm
Kristen Wright <kwright@mozilla.com> - Fri, 27 Jul 2018 11:00:40 -0700 - rev 826222
Push
118275 by bmo:dharvey@mozilla.com at Fri, 03 Aug 2018 11:44:33 +0000
Bug 1478942 - Convert UniquePtr<SimpleEdgeRange> back to UniquePtr<EdgeRange> to return an EdgeRange. r=erahm
d13a6506f6f50da550bd273c7d7608ccdba373c0: Bug 1478879 - Remove Range/Enum use in Bench.cpp. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 31 Jul 2018 10:31:00 +1000 - rev 825232
Push
118038 by nnethercote@mozilla.com at Wed, 01 Aug 2018 02:34:08 +0000
Bug 1478879 - Remove Range/Enum use in Bench.cpp. r=erahm
MozReview-Commit-ID: FbAlDLHWA55
95d1ce40399179805df764de333d4fdfab233b89: Bug 1478879 - Remove Range/Enum use in DMD. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Fri, 27 Jul 2018 12:21:01 +1000 - rev 825231
Push
118038 by nnethercote@mozilla.com at Wed, 01 Aug 2018 02:34:08 +0000
Bug 1478879 - Remove Range/Enum use in DMD. r=erahm
MozReview-Commit-ID: HTfiFlBluJ1
4c4c6ef463a4451c1f75a3ca4ea3a1cbe1a68be5: Bug 1478879 - Remove Range/Enum use in Bench.cpp. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 31 Jul 2018 10:31:00 +1000 - rev 825223
Push
118037 by nnethercote@mozilla.com at Wed, 01 Aug 2018 02:31:50 +0000
Bug 1478879 - Remove Range/Enum use in Bench.cpp. r=erahm
e2449beff9e50e893a003ddbbbe9e85d7582c49c: Bug 1478879 - Remove Range/Enum use in DMD. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Fri, 27 Jul 2018 12:21:01 +1000 - rev 825222
Push
118037 by nnethercote@mozilla.com at Wed, 01 Aug 2018 02:31:50 +0000
Bug 1478879 - Remove Range/Enum use in DMD. r=erahm
8d22622b5264e15e0f429c226b9f413f413ba298: Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 26 Jul 2018 20:15:58 +1000 - rev 825159
Push
118035 by nnethercote@mozilla.com at Wed, 01 Aug 2018 00:10:50 +0000
Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
Also use mozilla::HashNumber where appropriate.
MozReview-Commit-ID: BTq0XDS5UfQ
2084dd0494b58ac09a9fb7578758d53c7a93ca8e: Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
Nika Layzell <nika@thelayzells.com> - Fri, 06 Jul 2018 19:27:38 -0400 - rev 825139
Push
118035 by nnethercote@mozilla.com at Wed, 01 Aug 2018 00:10:50 +0000
Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
28f45a9b27e831e99620a2b575f373003f1301f2: Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 26 Jul 2018 20:15:58 +1000 - rev 824550
Push
117936 by nnethercote@mozilla.com at Tue, 31 Jul 2018 06:49:53 +0000
Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
Also use mozilla::HashNumber where appropriate.
MozReview-Commit-ID: BTq0XDS5UfQ
9035ff3757acd19ae5aece396bc2cc5ee61a58ce: Bug 1415980 - make hash keys movable and not copyable; r=erahm
Nathan Froyd <froydnj@mozilla.com> - Mon, 30 Jul 2018 17:15:11 -0400 - rev 824517
Push
117936 by nnethercote@mozilla.com at Tue, 31 Jul 2018 06:49:53 +0000
Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.
The current setup has two problems:
1) Derived classes should be using move construction, not copy
construction, since anything that's shuffling hash table keys/entries
around will be using move construction.
2) Derived classes should take responsibility for transferring bits of
superclass state around, and not rely on something else to handle
that.
The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the place.
Additionally, if moving entries is implemented via memcpy (which is
quite common), PLDHashTable copying around bits *again* is inefficient.
Let's fix all these problems in one go, by:
1) Explicitly declaring the set of constructors that PLDHashEntryHdr
implements (and does not implement). In particular, the copy
constructor is deleted, so any derived classes that attempt to make
themselves copyable will be detected at compile time: the compiler
will complain that the superclass type is not copyable.
This change on its own will result in many compiler errors, so...
2) Change any derived classes to implement move constructors instead
of copy constructors. Note that some of these move constructors are,
strictly speaking, unnecessary, since the relevant classes are moved
via memcpy in nsTHashtable and its derivatives.
c721ada8a6d6d157c4e9eef6139c6ae92438b39e: Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
Nika Layzell <nika@thelayzells.com> - Fri, 06 Jul 2018 19:27:38 -0400 - rev 824386
Push
117892 by bmo:rbarker@mozilla.com at Mon, 30 Jul 2018 19:23:48 +0000
Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
2826a36d480dc2f1407ac5c072e24365bd56c43a: Bug 1469603 - Use a recursive lock in crash reporter callbacks that might be called synchronously. r=erahm, a=RyanVM
Gabriele Svelto <gsvelto@mozilla.com> - Thu, 21 Jun 2018 09:56:26 +0200 - rev 823924
Push
117822 by mwoodrow@mozilla.com at Mon, 30 Jul 2018 00:10:01 +0000
Bug 1469603 - Use a recursive lock in crash reporter callbacks that might be called synchronously. r=erahm, a=RyanVM
748ccf358e9664d958bf355e1993a474ed0c29a3: Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:31:14 -0700 - rev 823835
Push
117797 by maglione.k@gmail.com at Sun, 29 Jul 2018 00:38:49 +0000
Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
BackgroundHangMonitor is a special snowflake, and uses PR_CreateThread
directly, for some reason.
MozReview-Commit-ID: 2Qg28EqDwM7
27154b64d897dd5dbe192d2b7f4f5657dd586d74: Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:39:38 -0700 - rev 823834
Push
117797 by maglione.k@gmail.com at Sun, 29 Jul 2018 00:38:49 +0000
Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
8db85769e159e32d4bee06ecb44e3c2e40d15303: Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
Kris Maglione <maglione.k@gmail.com> - Thu, 19 Jul 2018 19:29:56 -0700 - rev 823833
Push
117797 by maglione.k@gmail.com at Sun, 29 Jul 2018 00:38:49 +0000
Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.
For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.
MozReview-Commit-ID: EuR3gL5JATL
33213060b07a4c2586ca42efde8d2c3a12995a8a: Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:31:30 -0700 - rev 823831
Push
117797 by maglione.k@gmail.com at Sun, 29 Jul 2018 00:38:49 +0000
Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde
f73745f402dfe9185f0c5c69d4f58c1a355678df: Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:48:50 -0700 - rev 823830
Push
117797 by maglione.k@gmail.com at Sun, 29 Jul 2018 00:38:49 +0000
Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi
771288dbf8529d45786b42a21dc66b180bb674ca: Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:31:14 -0700 - rev 823462
Push
117683 by dgottwald@mozilla.com at Fri, 27 Jul 2018 11:18:41 +0000
Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
BackgroundHangMonitor is a special snowflake, and uses PR_CreateThread
directly, for some reason.
MozReview-Commit-ID: 2Qg28EqDwM7
aeebad4f2dc31901f5b63263169229455e827ac2: Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:39:38 -0700 - rev 823461
Push
117683 by dgottwald@mozilla.com at Fri, 27 Jul 2018 11:18:41 +0000
Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
4831cbfd03ded9ea6dcc8d6f0797f5f80fb717c7: Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
Kris Maglione <maglione.k@gmail.com> - Thu, 19 Jul 2018 19:29:56 -0700 - rev 823460
Push
117683 by dgottwald@mozilla.com at Fri, 27 Jul 2018 11:18:41 +0000
Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.
For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.
MozReview-Commit-ID: EuR3gL5JATL
236b366fdf3731ef95e0ba75b8f24f03181343ee: Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:31:30 -0700 - rev 823458
Push
117683 by dgottwald@mozilla.com at Fri, 27 Jul 2018 11:18:41 +0000
Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde
c767b1b618fbdc8bc894719f5ed7ecdcc9fc5165: Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:48:50 -0700 - rev 823457
Push
117683 by dgottwald@mozilla.com at Fri, 27 Jul 2018 11:18:41 +0000
Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi
b2a99f50e642cc3dc41ab540e7639d2c39bbe75b: Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:31:14 -0700 - rev 823365
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
BackgroundHangMonitor is a special snowflake, and uses PR_CreateThread
directly, for some reason.
MozReview-Commit-ID: 2Qg28EqDwM7
b5b9d295545dff9c8f7aa5e5c0137afa24385eb2: Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:39:38 -0700 - rev 823364
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
f092a32a363911e58c71ed5d2e4bd92347437c7e: Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
Kris Maglione <maglione.k@gmail.com> - Thu, 19 Jul 2018 19:29:56 -0700 - rev 823363
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.
For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.
MozReview-Commit-ID: EuR3gL5JATL
d0ebb3aa8e0f0946eafc2e7cac4d5cbcf1694e2f: Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:31:30 -0700 - rev 823361
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde
06b8093ddc6a341b8be4ef2c4dca2188ada74296: Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:48:50 -0700 - rev 823360
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi
540ce309a136fca21662645cc4f14cc7a3f2183d: Bug 1478820 - Stop manually synchronizing VTYPE_ and nsXPTTypeTag, r=erahm
Nika Layzell <nika@thelayzells.com> - Thu, 26 Jul 2018 17:47:47 -0400 - rev 823357
Push
117646 by bmo:gl@mozilla.com at Fri, 27 Jul 2018 03:46:44 +0000
Bug 1478820 - Stop manually synchronizing VTYPE_ and nsXPTTypeTag, r=erahm
Reviewers: erahm!
Tags: #secure-revision
Bug #: 1478820
Differential Revision:
https://phabricator.services.mozilla.com/D2449
dbbf68bb87b449287f8c878fa813a042518453b0: Bug 1478787: Rebuild stale SharedMap on Has() call. r?erahm
draft
Kris Maglione <maglione.k@gmail.com> - Thu, 26 Jul 2018 13:23:54 -0700 - rev 823264
Push
117632 by maglione.k@gmail.com at Thu, 26 Jul 2018 23:37:59 +0000
Bug 1478787: Rebuild stale SharedMap on Has() call. r?erahm
MozReview-Commit-ID: 5aFVBNQW4QR
dd924decb23d1d8107eb317be5d2ac1b92328408: Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
draft
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:31:14 -0700 - rev 823261
Push
117632 by maglione.k@gmail.com at Thu, 26 Jul 2018 23:37:59 +0000
Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
BackgroundHangMonitor is a special snowflake, and uses PR_CreateThread
directly, for some reason.
MozReview-Commit-ID: 2Qg28EqDwM7
338e8cd4951ea4ecc8d502f980d0808dedb7193b: Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
draft
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:39:38 -0700 - rev 823260
Push
117632 by maglione.k@gmail.com at Thu, 26 Jul 2018 23:37:59 +0000
Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
ccf47a10321d2f859d3a3d93e79ac18bf44b73a8: Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
draft
Kris Maglione <maglione.k@gmail.com> - Thu, 19 Jul 2018 19:29:56 -0700 - rev 823259
Push
117632 by maglione.k@gmail.com at Thu, 26 Jul 2018 23:37:59 +0000
Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.
For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.
MozReview-Commit-ID: EuR3gL5JATL
3d9ef99840da37bce0117515b03a165f6821e74d: Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
draft
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:31:30 -0700 - rev 823257
Push
117632 by maglione.k@gmail.com at Thu, 26 Jul 2018 23:37:59 +0000
Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde
56e3cf8de91f02583541faaeaaf53cc9260a46f2: Bug 1478787: Rebuild stale SharedMap on Has() call. r?erahm
draft
Kris Maglione <maglione.k@gmail.com> - Thu, 26 Jul 2018 13:23:54 -0700 - rev 823205
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1478787: Rebuild stale SharedMap on Has() call. r?erahm
MozReview-Commit-ID: 5aFVBNQW4QR
aa544763c23c97f13185c6c88ac09e9a0511167d: Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
draft
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:31:14 -0700 - rev 823203
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1476405: Part 5 - Create nsThread wrapper and use reasonable stack size for BackgroundHangMonitor. r=erahm
BackgroundHangMonitor is a special snowflake, and uses PR_CreateThread
directly, for some reason.
MozReview-Commit-ID: 2Qg28EqDwM7
a0e621b662a3a2e01285136b96dec88d92cadaf2: Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
draft
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:39:38 -0700 - rev 823202
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1476405: Part 4 - Create nsThread wrappers whenever a thread is registered with the profiler. r=erahm,mstange
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
8e2616a793f83e28155d4d0d75baff501e49d05f: Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
draft
Kris Maglione <maglione.k@gmail.com> - Thu, 19 Jul 2018 19:29:56 -0700 - rev 823201
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.
For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.
MozReview-Commit-ID: EuR3gL5JATL
7528f030506775a0d9b91c03c4a0755ca4424513: Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
draft
Kris Maglione <maglione.k@gmail.com> - Wed, 18 Jul 2018 22:31:30 -0700 - rev 823199
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde
a9ff7e4153cb3e1a7bb4003a5511e1c603865d86: Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
draft
Kris Maglione <maglione.k@gmail.com> - Fri, 20 Jul 2018 13:48:50 -0700 - rev 823198
Push
117608 by maglione.k@gmail.com at Thu, 26 Jul 2018 20:24:30 +0000
Bug 1476405: Part 1 - Allow enumerating non-native nsThread threads. r=erahm
MozReview-Commit-ID: 1JKxWeejqzi
cfcce8ee55fc2caafdb1e7f6539507e121d36449: Bug 1478337 - avoid useless work in nsTArray::RemoveElement; r=erahm
Nathan Froyd <froydnj@mozilla.com> - Thu, 26 Jul 2018 09:37:48 -0400 - rev 823090
Push
117560 by rwood@mozilla.com at Thu, 26 Jul 2018 14:25:44 +0000
Bug 1478337 - avoid useless work in nsTArray::RemoveElement; r=erahm
When removing an element that exists in the array, there's no need to
perform extra bounds checks for actually removing the element; the
presence of the element guarantees that we have a valid index and a
valid range to remove. So split RemoveElementsAt into a safe interface
and an unsafe interface, and let RemoveElement call the latter as an
internal optimization. The same logic applies to RemoveElementSorted.
We call RemoveElement depressingly often, so this is a nice little win.
635daf9bd3b3e5fb27367e59782e4eac3b36e965: Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 26 Jul 2018 20:15:58 +1000 - rev 822912
Push
117517 by nnethercote@mozilla.com at Thu, 26 Jul 2018 10:24:07 +0000
Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
Also use mozilla::HashNumber where appropriate.
MozReview-Commit-ID: BTq0XDS5UfQ
8c787e81adb75bef97b626a00d95fab8392331be: Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
draft
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 26 Jul 2018 16:18:48 +1000 - rev 822864
Push
117492 by nnethercote@mozilla.com at Thu, 26 Jul 2018 06:27:50 +0000
Bug 1477626 - Use mozilla::HashTable instead of JS::HashTable in DMD. r=erahm
Also use mozilla::HashNumber where appropriate.
MozReview-Commit-ID: E7m4PWG3IG7
44414b1cd32ed889acca0a13507968192c742ccc: Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
Nika Layzell <nika@thelayzells.com> - Fri, 06 Jul 2018 19:27:38 -0400 - rev 822747
Push
117459 by rwood@mozilla.com at Wed, 25 Jul 2018 20:28:10 +0000
Bug 1461450 - Part 2: Add tests for AutoTArray move constructors, r=erahm
08831a9465a8cb931337adfd66a876cc8c4e4000: Bug 1476168: Only parse /proc/self/smaps once per memory reporter cycle. r?erahm
draft
Kris Maglione <maglione.k@gmail.com> - Mon, 23 Jul 2018 19:05:34 -0700 - rev 821822
Push
117191 by maglione.k@gmail.com at Tue, 24 Jul 2018 02:14:48 +0000
Bug 1476168: Only parse /proc/self/smaps once per memory reporter cycle. r?erahm
MozReview-Commit-ID: E28l5GXSg1r
1a6bfe06c32402787027d15fca68358355c38597: Bug 1477512: Part 5 - Rearrange the fields of nsThread for better packing. r=erahm
Kris Maglione <maglione.k@gmail.com> - Sat, 21 Jul 2018 16:00:02 -0700 - rev 821821
Push
117191 by maglione.k@gmail.com at Tue, 24 Jul 2018 02:14:48 +0000
Bug 1477512: Part 5 - Rearrange the fields of nsThread for better packing. r=erahm
This takes 16 bytes off of the allocated size of each instance.
MozReview-Commit-ID: AhfN6MWvVL1
76717dfa650de223c1c9648849950bca756a4d20: Bug 1477512: Part 4 - Add memory reporter for thread kernel stack sizes. r=erahm
Kris Maglione <maglione.k@gmail.com> - Sat, 21 Jul 2018 15:12:11 -0700 - rev 821820
Push
117191 by maglione.k@gmail.com at Tue, 24 Jul 2018 02:14:48 +0000
Bug 1477512: Part 4 - Add memory reporter for thread kernel stack sizes. r=erahm
We don't have a way to determine these at runtime, but for Windows and Linux,
the values are known and predictable.
MozReview-Commit-ID: 57LMJLzl762
48287f47452fcb5efcb5a70b312a9b5641943db9: Bug 1477512: Part 3 - Add memory reporter for thread heap overhead. r=erahm
Kris Maglione <maglione.k@gmail.com> - Sat, 21 Jul 2018 14:27:15 -0700 - rev 821819
Push
117191 by maglione.k@gmail.com at Tue, 24 Jul 2018 02:14:48 +0000
Bug 1477512: Part 3 - Add memory reporter for thread heap overhead. r=erahm
This adds reporting for heap overhead from nsThread and PRThread wrappers, as
well as thread event queues. It does not, currently, include overhead from
PlatformThread or js::Thread wrappers.
MozReview-Commit-ID: 6DkvbbkjHXm
44bd7fe95c52d8674e18028b57ca5dc4bc8d36d1: Bug 1477512: Part 2 - Add memory reporting functions to nsThread. r=erahm
Kris Maglione <maglione.k@gmail.com> - Sat, 21 Jul 2018 14:17:23 -0700 - rev 821818
Push
117191 by maglione.k@gmail.com at Tue, 24 Jul 2018 02:14:48 +0000
Bug 1477512: Part 2 - Add memory reporting functions to nsThread. r=erahm
MozReview-Commit-ID: 9wlNLaY9y8I