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

23 Коммитов

Автор SHA1 Сообщение Дата
Doug Thayer 71de614a1d Bug 1666310 - Enable IOInterposer on early beta r=aklotz
We want to collect information on late writes via telemetry. We have been
doing this in Nightly for a while now, but want to do so in beta/release. I
was actually initially unaware of this limitation of the IOInterposer, but
we need the IOInterposer to collect information on late writes, so I would
like to enable it for just early beta, in the hopes that we can catch any
late writes that may be happening, without adding a performance tax onto
release.

Accordingly, is perf the only reason that this was restricted to Nightly?
And if so, did we measure a perf difference, or was this just general
caution regarding the performance impact? Is there anything else to look
out for?

Differential Revision: https://phabricator.services.mozilla.com/D90894
2020-09-21 21:32:07 +00:00
Nathan Froyd e3ebda1914 Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis a911a108d0 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd bec9f9b93a Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Gerald Squelart 6447251c76 Bug 1640325 - FileIO markers show the type of file if known - r=canaltinova
Platform-specific observations will be able to specify a file type.
They will appear in distinct rows in the profiler.firefox.com Marker Chart.
The default type is "File", which is shown in markers as "FileIO" like before.

Differential Revision: https://phabricator.services.mozilla.com/D80399
2020-07-06 23:42:55 +00:00
Simon Giesecke 30984f7bab Bug 1613985 - Use default for equivalent-to-default constructors/destructors in xpcom. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62543

--HG--
extra : moz-landing-system : lando
2020-02-12 11:13:33 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Nicholas Nethercote b66a653de9 Bug 1407458 - Use nsString for Observation filenames. r=erahm.
This avoids some unnecessary string copying.

--HG--
extra : rebase_source : a81a5e1612be2897a4285f5f395e7cb3ed006bc8
2017-10-17 08:22:12 +11:00
Nathan Froyd 0ac6ef352e Bug 1298676 - part 2 - add an AutoIOInterposerDisable RAII class; r=aklotz
This will ensure the I/O Interposer is re-enabled after temporarily
disabling it.
2017-01-10 16:31:25 -05:00
Nathan Froyd 9d007ffa3e Bug 1298676 - part 1 - add IOInterposer::Enable(); r=aklotz
In some parts of the crash reporter, we need to disable I/O
interposition, then turn it back on.  We didn't have a function for
re-enabling the I/O interposer...until now.
2017-01-10 16:31:25 -05:00
Sebastian Hengst cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Aaron Klotz ce7e5fad6d Bug 1233208: Disable IOInterposer on Beta and Release; r=froydnj
--HG--
extra : rebase_source : 9b82f5eaf56f5952d85488a39b872643e684190f
2015-12-16 14:36:44 -07:00
Andrew McCreight 1e0f87e27d Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj 2015-04-09 10:25:05 -07:00
Aaron Klotz 6d8475512b Bug 1150684: Remove XPCOM.h from IOInterposer.h; r=froydnj
--HG--
extra : rebase_source : a714c7ca5836d5e3a2c1b9da740795e653477cf1
2015-04-02 14:51:18 -06:00
Birunthan Mohanathas 1368df8aae Bug 1046841 - Convert xpcom/build/ to Gecko style. r=froydnj 2014-08-13 11:45:37 -07:00
Aaron Klotz 7271f06811 Bug 999888: Make IOInterposer leakcheck-friendly; f=ehsan, r=froydnj
--HG--
extra : rebase_source : ff65dd0f8ab4f28bf53b52f71cda1793df9a108a
2014-04-29 11:29:43 -06:00
Aaron Klotz 5eb20f9c87 Bug 935482: New IOInterposer observer for recording main thread I/O to file; r=froydnj 2014-04-19 14:28:02 -06:00
Aaron Klotz 025fed58f4 Bug 913653: Remove lock from IOInterposer and add IOInterposer thread registration; r=froydnj 2014-04-08 22:57:52 -06:00
Jan Beich e341c88dbe Bug 983957 - Remove SPS ifdef from IOInterposer to unbreak non-SPS platforms; r=aklotz 2014-03-18 16:24:36 -06:00
Aaron Klotz 267a249523 Bug 973353: Disable IOInterposer when reporting a crash; r=froydnj,ted 2014-03-15 00:10:39 -06:00
Aaron Klotz 4ebf28f26c Bug 972577: Consolidate IOInterposer initialization code; r=froydnj,BenWa,jimm
--HG--
rename : tools/profiler/IOInterposer.cpp => xpcom/build/IOInterposer.cpp
rename : tools/profiler/IOInterposer.h => xpcom/build/IOInterposer.h
rename : tools/profiler/NSPRInterposer.cpp => xpcom/build/NSPRInterposer.cpp
rename : tools/profiler/NSPRInterposer.h => xpcom/build/NSPRInterposer.h
rename : toolkit/xre/nsWindowsDllInterceptor.h => xpcom/build/nsWindowsDllInterceptor.h
2014-03-14 16:35:01 -06:00
Wes Kocher a20307b017 Backed out changeset 2bdd2d042847 (bug 972577) for non-unified bustage on a CLOSED TREE
--HG--
rename : xpcom/build/nsWindowsDllInterceptor.h => toolkit/xre/nsWindowsDllInterceptor.h
rename : xpcom/build/IOInterposer.cpp => tools/profiler/IOInterposer.cpp
rename : xpcom/build/IOInterposer.h => tools/profiler/IOInterposer.h
rename : xpcom/build/NSPRInterposer.cpp => tools/profiler/NSPRInterposer.cpp
rename : xpcom/build/NSPRInterposer.h => tools/profiler/NSPRInterposer.h
2014-03-14 15:27:21 -07:00
Aaron Klotz ae4aa8bc28 Bug 972577: Consolidate IOInterposer initialization code; r=froydnj,BenWa,jimm
--HG--
rename : tools/profiler/IOInterposer.cpp => xpcom/build/IOInterposer.cpp
rename : tools/profiler/IOInterposer.h => xpcom/build/IOInterposer.h
rename : tools/profiler/NSPRInterposer.cpp => xpcom/build/NSPRInterposer.cpp
rename : tools/profiler/NSPRInterposer.h => xpcom/build/NSPRInterposer.h
rename : toolkit/xre/nsWindowsDllInterceptor.h => xpcom/build/nsWindowsDllInterceptor.h
2014-03-14 13:47:24 -06:00