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

866 Коммитов

Автор SHA1 Сообщение Дата
Petr Sumbera 61bd1ae7d9 Bug 1392203 - Make internal libevent work on Solaris. r=glandium 2017-08-23 03:40:23 -07:00
Bill McCloskey c0ec174576 Bug 1391848 - Use nsIEventTarget instead of nsIThread for MessageLoop/Pump (r=kanru)
MozReview-Commit-ID: 8op94arX6FE
2017-08-25 10:28:23 -07:00
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Stone Shih de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Doug Thayer a70aac6a11 Bug 1388748 - Don't resize histogram ranges on init r=gfritzsche
We were using std::vector::assign, which resizes the vector to
match the incoming data. This isn't what we want, as ranges_ has
already been sized to bucket_count_ + 1. Instead, just use a
copy.

MozReview-Commit-ID: EGuW5jj7Rpq

--HG--
extra : rebase_source : 616d61fc27c7e43c22ea69e11e070ba958bf20a9
2017-08-09 10:21:09 -07:00
Mike Hommey 889e867916 Bug 1388981 - Fixup EVENT__SIZEOF_OFF_T. r=jld
There are two problems related with EVENT__SIZEOF_OFF_T:
- When building Firefox with -D_FILE_OFFSET_BITS=64, off_t is 64 bits,
  but the in-tree event-config.h still defines EVENT__SIZEOF_OFF_T to 4.
- When building Firefox *without* -D_FILE_OFFSET_BITS=64 (the default)
  against a system libevent that was built with -D_FILE_OFFSET_BITS=64,
  its event-config.h defines EVENT__SIZEOF_OFF_T to 8, which then
  doesn't match off_t size.

For the latter, libevent actually defines its own off_t type, that
callers are supposed to use instead of off_t. So that's what our
static_assert should be checking.

--HG--
extra : rebase_source : 4231530e3c260b2cdd53e15206d48ef0779e394c
2017-08-10 14:03:08 +09:00
Doug Thayer d8e7d5c150 Bug 1383210 - Use precomputed histogram buckets r=gfritzsche
The log and exp calls in base::Histogram::InitializeBucketRange()
were showing up in profiles. This patch uses the precomputed
buckets for exponential histograms instead of computing them at
runtime. Though linear histograms do show up in the profile that
prompted this change, they contribute much less, and due to the
trivial nature of generating these, it's unlikely that a static
cache would provide much if any speedup.

MozReview-Commit-ID: IavFwoWjFhk

--HG--
extra : rebase_source : ad7d641ab2982f5cf8d202c7c382bfc26daa4bd5
2017-08-04 10:02:28 -07:00
Wes Kocher 4550ccb5d1 Backed out changeset 277c7e4952a8 (bug 1383210) for flake8 failures a=backout
MozReview-Commit-ID: 3j1ROBxjf2Z
2017-08-08 12:38:41 -07:00
Doug Thayer b31336cbe3 Bug 1383210 - Use precomputed histogram buckets r=gfritzsche
The log and exp calls in base::Histogram::InitializeBucketRange()
were showing up in profiles. This patch uses the precomputed
buckets for exponential histograms instead of computing them at
runtime. Though linear histograms do show up in the profile that
prompted this change, they contribute much less, and due to the
trivial nature of generating these, it's unlikely that a static
cache would provide much if any speedup.

MozReview-Commit-ID: IavFwoWjFhk

--HG--
extra : rebase_source : 18101da322faf9477acae266e9e27f579464f8d0
2017-08-04 10:02:28 -07:00
Nathan Froyd 0e2d3cda96 Bug 1387134 - out-of-line type-specific Pickle::Write* methods; r=billm
Having these functions declared in the class definition and therefore
inlined means that every call site is bloated by having to store the
argument so its address can be taken and load the sizeof() constant.
There's no good reason that we should be doing this; the Read*
counterparts are also out-of-lined, which hasn't seemed to cause any
problems.  Moving these out-of-line saves about 200K (!) of space on
x86-64 Linux.
2017-08-04 17:12:38 -04:00
Dean deef8d264a Bug 1381470 - Added a less memory consuming method to tell if a histogram is empty. r=chutten 2017-07-31 21:38:48 +02:00
Carsten "Tomcat" Book de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Carsten "Tomcat" Book 198430bca2 merge mozilla-inbound to mozilla-central a=merge 2017-07-26 11:11:40 +02:00
Bill McCloskey c590d9adb8 Bug 1383322 - Allow changing the current MessageLoop (r=dvander)
MozReview-Commit-ID: 1kyHqrhOzjF
2017-07-25 19:52:29 -07:00
Christoph Diehl 8f5475d68d Bug 1382234 - Disable MOZ_PICKLE_SENTINEL_CHECKING in --enable-fuzzing builds. r=billm 2017-07-22 07:08:25 +00:00
Markus Stange 95eccb68b1 Bug 1382908 - Make TaskTracer build and run again. r=billm
MozReview-Commit-ID: 8SqBWgOXc6H

--HG--
extra : rebase_source : 4b5cbb34740ebd439431188dd8c6df02eeee3969
2017-07-24 18:35:07 -04:00
Chris H-C d85e538902 bug 1366294 - Part 11 - Fix OSX Build. r=gfritzsche
MozReview-Commit-ID: DSljXr8ZRhy
2017-07-24 09:52:26 -04:00
Chris H-C 6f04d378e5 bug 1366294 - Part 9 - Fix Windows Build. r=gfritzsche
MozReview-Commit-ID: 8P2W8fD2xNi
2017-07-24 09:52:26 -04:00
Georg Fritzsche 3a649263e4 Bug 1366294 - Part 3 - Refactor TelemetryHistogram storage. r=chutten
Previously we used the base::StatisticsRecorder object for storage by name.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.

In this re-write, we instead introduce the following lookup paths (managed in TelemetryHistogram.cpp):
- Main storage:
  - (histogramId, processId, sessionOrSubsession) -> Histogram*
  - (histogramId, processId) -> KeyedHistogram* (this handles subsessions internally)
- Lookup:
  - (histogramName) -> histogramId
  - (HistogramID) -> bool (is recording enabled for this histogram?)

This is wrapped with a few lookup functions.

This also allows us to keep HistogramIDs in the JS histogram instances now, instead of pointers to Histogram instances.
That means Histogram instance life-time management is now properly contained inside TelemetryHistogram.cpp.

MozReview-Commit-ID: 5yijGv7mc89
2017-07-24 09:52:26 -04:00
Georg Fritzsche 681bd8d85a Bug 1366294 - Part 2 - Cleanup Chromium Histogram code. r=chutten
- A histogram name identifies a set of histogram instances, for which storage and lookup will be handled in TelemetryHistogram.cpp.
  So we remove the names from histogram code.
- Various unused macros in the header are removed.
- Remaining traces of StatisticsRecorder are removed from the Histogram class code.
- Some unused methods are dropped that were about printing histograms to ASCII etc.

MozReview-Commit-ID: BF2rLSpKOJ8
2017-07-24 09:52:26 -04:00
Georg Fritzsche 09d533dae9 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-24 09:52:26 -04:00
Lee Salzman e6656c5e8b Bug 1380530 - don't allow new tasks to be posted to MessageLoop when it is shutting down. r=billm
MozReview-Commit-ID: KsXK7UPIO4P
2017-07-21 11:33:53 -04:00
Sebastian Hengst 838439065a Backed out changeset e3825e35e2e2 (bug 1366294) for crashing various tests with [@ TelemetryHistogram::DeInitializeGlobalState()], e.g. in bc's browser_permission_dismiss.js. r=backout on a CLOSED TREE 2017-07-21 15:21:49 +02:00
Sebastian Hengst 6e8c3ee29f Backed out changeset df6adc4c95f2 (bug 1366294) 2017-07-21 15:20:16 +02:00
Sebastian Hengst 60fe11dece Backed out changeset ed0027bb1187 (bug 1366294) 2017-07-21 15:20:11 +02:00
Sebastian Hengst 3a5a4516ab Backed out changeset 0ed44ecf9062 (bug 1366294) 2017-07-21 15:19:41 +02:00
Sebastian Hengst ae069ab9d5 Backed out changeset 140948f5b955 (bug 1366294) 2017-07-21 15:19:31 +02:00
Chris H-C 5572efbe7a bug 1366294 - Part 11 - Fix OSX Build. r=gfritzsche
MozReview-Commit-ID: DSljXr8ZRhy
2017-07-21 08:41:44 -04:00
Chris H-C 94b0e907b6 bug 1366294 - Part 9 - Fix Windows Build. r=gfritzsche
MozReview-Commit-ID: 8P2W8fD2xNi
2017-07-21 08:41:44 -04:00
Georg Fritzsche 8eb19e8693 Bug 1366294 - Part 3 - Refactor TelemetryHistogram storage. r=chutten
Previously we used the base::StatisticsRecorder object for storage by name.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.

In this re-write, we instead introduce the following lookup paths (managed in TelemetryHistogram.cpp):
- Main storage:
  - (histogramId, processId, sessionOrSubsession) -> Histogram*
  - (histogramId, processId) -> KeyedHistogram* (this handles subsessions internally)
- Lookup:
  - (histogramName) -> histogramId
  - (HistogramID) -> bool (is recording enabled for this histogram?)

This is wrapped with a few lookup functions.

This also allows us to keep HistogramIDs in the JS histogram instances now, instead of pointers to Histogram instances.
That means Histogram instance life-time management is now properly contained inside TelemetryHistogram.cpp.

MozReview-Commit-ID: 5yijGv7mc89
2017-07-21 08:41:44 -04:00
Georg Fritzsche f4c024d936 Bug 1366294 - Part 2 - Cleanup Chromium Histogram code. r=chutten
- A histogram name identifies a set of histogram instances, for which storage and lookup will be handled in TelemetryHistogram.cpp.
  So we remove the names from histogram code.
- Various unused macros in the header are removed.
- Remaining traces of StatisticsRecorder are removed from the Histogram class code.
- Some unused methods are dropped that were about printing histograms to ASCII etc.

MozReview-Commit-ID: BF2rLSpKOJ8
2017-07-21 08:41:44 -04:00
Georg Fritzsche e6a136758b Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-21 08:41:44 -04:00
Stone Shih 9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Nicholas Nethercote 9b33b50478 Bug 1382099 - Remove MOZ_WIDGET_GONK from ipc/. r=jld.
--HG--
extra : rebase_source : fab4cc67bb4d9911e9ca4f9062bfaa2772a1da4f
2017-07-21 10:45:49 +10:00
Henry Chang 6d648badcb Bug 1348591 - Support custom default segment buffer list size. r=billm
MozReview-Commit-ID: 2Nkj6RPx62f

--HG--
extra : rebase_source : 4e763563e3f9e9927314e804ba4e0fbd291fc9e8
2017-06-21 17:55:13 +08:00
Nicholas Nethercote 3e439bb4f8 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.

--HG--
extra : rebase_source : 0f781bca68b5bf3c4c191e09e277dfc8becffa09
2017-06-30 19:05:41 -07:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Nicholas Nethercote 033f83145c Bug 1375387 - Reorder and section-ify GeckoProfiler.h. r=mstange.
This patch gives some structure and order to the profiler's API.

It also renames AutoProfilerRegister as AutoProfilerRegisterThread, to match
profiler_register_thread().
2017-06-22 14:28:47 +10:00
Chris Peterson 5cac01578b Bug 1373525 - ipc: Remove unused classes EmptyStrings and InitUDPSocketParentCallback. r=dvander
ipc/chromium/src/base/string_util.cc:35:3 [-Wunused-member-function] unused member function 'EmptyStrings'
ipc/glue/BackgroundParentImpl.cpp:405:3: warning: unused member function 'InitUDPSocketParentCallback' [-Wunused-member-function]

The class InitUDPSocketParentCallback was added in bug 1109338. It wasn't used then and it isn't used now.

https://hg.mozilla.org/mozilla-central/rev/eefcbe8e6a0c

MozReview-Commit-ID: BfDbQ5dfgo8

--HG--
extra : source : 7411baa0c64638b9da7de813c578fe9505625690
extra : intermediate-source : 975014d05919be2c9c6a0672c1ae94da86ccb29b
2017-06-11 00:14:49 -07:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Kan-Ru Chen 2025397d67 Bug 1373603 - Initialize the mEventTarget after we setup MessageLoop::current() to silence a DCHECK. r=billm
MozReview-Commit-ID: EnMm4uhlfQV
2017-06-20 09:07:36 +08:00
Bill McCloskey eee9dad55a Bug 1366072 - Expose an event target for MessageLoop (r=kanru)
MozReview-Commit-ID: 8vWOGO2zzPs
2017-06-13 14:51:05 -07:00
Bill McCloskey bbed3cf3c1 Bug 1366072 - Use nsIRunnable instead of Runnable in MessageLoop (r=kanru)
MozReview-Commit-ID: 9LmBghd0D46
2017-06-13 14:51:03 -07:00
Nicholas Nethercote 0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Randell Jesup 450c4d90a1 Bug 1341285: rollup of changes for webrtc after applying webrtc.org v57 update r=ng,jesup,pehrsons,drno,dminor,cpearce,jya,glandium,dmajor
Includes re-importing gyp files removed from upstream in v56, and then
updating them to match the BUILD.gn file changes.

--HG--
rename : media/webrtc/trunk/webrtc/call/audio_send_stream.cc => media/webrtc/trunk/webrtc/call/audio_send_stream_call.cc
2017-06-13 01:54:13 -04:00
Petr Sumbera 274de19ad9 Bug 1364865 - process_util.h should use _POSIX_PATH_MAX instead of NAME_MAX. r=billm 2017-05-15 04:31:55 -07:00