Introduces new flag --http [ADDRESS] that spins up an HTTPD serving
`outdir'. By default it will spin up a server on 0.0.0.0:6666.
r=ahal
--HG--
extra : commitid : EP5vOiGxJM7
extra : rebase_source : e6a8c4c44ccf45eb3a570d6e0575999c72465fec
tools/power/rapl.cpp:844:5 [-Wunreachable-code] code will never be executed
clang reports a -Wunreachable-code warning for sigemptyset() because Darwin's sigemptyset() is a macro that always returns 0. Thus `if (sigemptyset(&sa.sa_mask) < 0)` is always false and `Abort("sigemptyset() failed")` is never called. Linux's sigemptyset() can return 0 or -1. The extra parens around (0) suppress the clang warning.
Now, running |mach doc <path/to/project>| will generate the sphinx based docs of the project and open them
in the default browser. Mulitple doc paths can be supplied at a time. E.g:
./mach doc testing/mozbase
--HG--
extra : commitid : IOguvvudLzw
extra : rebase_source : c53788d259c7f69be997426227778820ec99dd26
extra : amend_source : 5fa5069d1c7c8d5d93fefb56563af9bd28286b90
The Read the Docs environment doesn't have SHELL defined. This causes
mach.mixin.process's import to fail, as it insists on finding an active
shell. While we could fix mach.mixin.process to not raise if the
variable is not set, this is a bit more work and has wider build system
and mach implications. So we employ a quick hack instead.
DONTBUILD (NPOTB)
--HG--
extra : commitid : 23fRi9TQht4
extra : rebase_source : 4b3d0833f789a73fee67c0cadcf525434f08f78b
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
This commit was generated using the following script, executed at the
top level of a typical source code checkout.
# Don't modify select files in mfbt/ because it's not worth trying to
# tease out the dependencies currently.
#
# Don't modify anything in media/gmp-clearkey/0.1/ because those files
# use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
grep -v 'mfbt/RefPtr.h' | \
grep -v 'mfbt/nsRefPtr.h' | \
grep -v 'mfbt/RefCounted.h' | \
grep -v 'media/gmp-clearkey/0.1/' | \
xargs perl -p -i -e '
s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#; # handle strange #includes
'
# |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'
# RefPtr.h used |byRef| for dealing with COM-style outparams.
# nsRefPtr.h uses |getter_AddRefs|.
# Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
f6d18678498b / bug 1212427 introduced a few more dependencies. Add them
to sys.path in the Sphinx config so Sphinx works on Read the Docs.
--HG--
extra : commitid : I2WmZNyGBLu
extra : rebase_source : 61b7a66c558321fc6550453411744c12fdd49f60
extra : amend_source : 8020e34f6c8a809fb1c323180b3a96433bbc2d2f
Various bits depend on RefPtr.h to provide RefCounted<T> and RefPtr<T>.
It will be easier to manage an automatic conversion from RefPtr<T> to
nsRefPtr<T> if we split out the dependency on RefCounted<T> first.
This commit renames ProfileEntry::set{Js,Cpp}Frame methods to
ProfileEntry::init{Js,Cpp}Frame to highlight the fact that they are intended to
initialize the entry, and that setting other flags should happen after one of
these calls.
This extracts the most useful browser-related measurements from rapl and
powermetrics.
--HG--
extra : rebase_source : 81ce14acc6c6e1bc7ac6c34bf119d8e619956dd1
All extensions in version-control-tools should support Bugzilla API Keys
now. MozReview requires them. We'll likely remove support for passwords
and cookie auth in the future. This commit transitions the Mercurial
setup wizard to API Keys exclusively.
DONTBUILD (NPOTB)
--HG--
extra : commitid : DM33vGsljQz
extra : rebase_source : 047cd10eb976719ce94478a9a08363dbcd86ae68
The "gpu" and "ram" domains aren't supported by all platforms. rapl has a
special constant |kUnsupported_j| to represent this on Linux, but I
accidentally have a minus sign in front of it in several places, which means
that instead of printing "n/a" for unsupported planes we always print "1.0".
I think this happened because I used to hardwire -1 in there and then I later
changed it to a constant but forgot to remove the minus signs.
It sure would be nice to have automated testing for this stuff, but I don't see
how to do it.