Commit Graph

1140 Commits

Author SHA1 Message Date
Nathan Froyd
fa615683d1 Bug 1109826 - part 1 - make the preprocessor able to avoid emitting warnings about missing directives; r=mshal 2014-12-10 14:49:44 -05:00
Nicholas Nethercote
7d0f2f414e Bug 1100851 - Tweak DMD to account for the fact that $DMD can now be undefined. r=glandium.
Now that defining $DMD is no longer necessary to run DMD, this patch does the
following.
- Removes all the places where we set DMD=1 (test harnesses, etc.)
- Still handles DMD=1, for backwards compatibility.
- Prints "$DMD is undefined" at DMD start-up if appropriate.
- Writes a |null| value for |dmdEnvVar| in the JSON if $DMD is undefined. Bumps
  the DMD output version number accordingly.
- Changes a bunch of the test files accordingly, including changing the mode of
  script-ignore-alloc-fns.json in order to test a case where $DMD is undefined.

--HG--
extra : rebase_source : eb1ef5722410734ce6d7658465ff6f442ee4ed49
2014-11-27 21:04:46 -08:00
Phil Ringnalda
ab93e7a8f5 Backed out 2 changesets (bug 1105128) for Windows make check failures
CLOSED TREE

Backed out changeset 5dfe0838798c (bug 1105128)
Backed out changeset def38e936db8 (bug 1105128)
2014-12-09 20:42:01 -08:00
Gregory Szorc
2d7afd0fac Bug 1105128 - Alias os.path functions in local scope; r=glandium
Various os.path attributes are being used in tight loops. Having local
variables prevents extra dictionary lookups.

This appears to shave 10-20ms off of the tests install manifest
processing time.

--HG--
extra : rebase_source : de941f2978cf0b1fd7c4f7401c848b61d406a2c8
extra : amend_source : e33c896856fa559197496b8227e10ab8149d146e
2014-11-25 18:37:11 -08:00
Gregory Szorc
bea629df49 Bug 1105128 - Avoid excessive path normalization in FileCopier.copy(); r=glandium
FileCopier.copy() was performing a lot of os.path.normpath() operations.
Profiling revealed that os.path.normpath() was the function with the
most wall time CPU usage when processing the tests manifests. Upon
subsequent examination of the code in question, all the paths being used
were already normalized. So, os.path.normpath() wasn't accomplishing
anything.

This patch results in ~300ms reduction in wall time to process the tests
install manifest on a fully populated page cache. Execution time drops
from ~2.8s to ~2.5s.

Profiling reveals that after this patch os.stat() is the #1 wall time
consumer. However, os.path.{join,dirname,normpath} still account for
~1.5x the wall time of os.stat(). There is still room to optimize
this function.

--HG--
extra : rebase_source : b6f0862baa5168c609499fd95eb3517854bc8cce
extra : amend_source : 7e04c1eb74132bbbe86e721f0f209b19309a7a51
2014-11-25 18:16:22 -08:00
Nicholas Nethercote
5cc6a39a9a Bug 1094552 (part 6) - DMD: add support for cumulative heap profiling. r=mccr8.
By adding a new "cumulative" mode.

--HG--
extra : rebase_source : 5c851b7c594a134fae48393ff0becfd057715041
2014-10-30 20:22:47 -07:00
Nicholas Nethercote
5b5d3c27bb Bug 1094552 (part 5) - DMD: choose the profiling mode at start-up. r=mccr8.
This patch moves profiling mode selection from post-processing (in dmd.py) to
DMD start-up. This will make it easier to add new kinds of profiling, such as
cumulative heap profiling.

Specifically:

- There's a new --mode option. |LiveWithReports| is the default, as it is
  currently.

- dmd.py's --ignore-reports option is gone.

- There's a new |mode| field in the JSON output.

- Reports-related operations are now no-ops if DMD isn't in LiveWithReports
  mode.

- Diffs are only allowed for output files that have the same mode.

- A new function ResetEverything() replaces the SetSampleBelowSize() and
  ClearBlocks(), which were used by the test to change DMD options.

- The tests in SmokeDMD.cpp are split up so they can be run multiple times, in
  different modes. The exact combinations of tests and modes has been changed a
  bit.

--HG--
rename : memory/replace/dmd/test/full-reports-empty-expected.txt => memory/replace/dmd/test/full-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-empty-expected.txt => memory/replace/dmd/test/full-empty-live-expected.txt
rename : memory/replace/dmd/test/full-heap-sampled-expected.txt => memory/replace/dmd/test/full-sampled-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled2-expected.txt => memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt
rename : memory/replace/dmd/test/script-diff-basic-expected.txt => memory/replace/dmd/test/script-diff-live-expected.txt
rename : memory/replace/dmd/test/script-diff1.json => memory/replace/dmd/test/script-diff-live1.json
rename : memory/replace/dmd/test/script-diff2.json => memory/replace/dmd/test/script-diff-live2.json
extra : rebase_source : bf32cc4e0d82aa1a20ceb55e8ea259850b49cc06
2014-12-08 14:45:14 -08:00
Gregory Szorc
a508387f37 Bug 1108294 - Removed unused makeutils Python module; r=froydnj
There are no more consumers of makeutils.py in the tree. So we delete
it.

--HG--
extra : rebase_source : bf19cdf722027758161e588395464da83fc2c37c
2014-12-06 15:48:42 -08:00
Gregory Szorc
9315af3694 Bug 1107968 - Add --debug-command to mach; r=ahal
People often seek to learn how mach commands work. A common way to do
this is to launch a debugger and step through the code as it is
executing. But this requires someone to first find and modify the mach
command. This involves overhead.

This patch adds a global --debug-command argument to mach. When present,
we launch an interactive debugger right before command dispatch. This
allows people to easily enter a debugger to see what mach commands are
doing, hopefully lowering the barrier to understanding and contributing.

--HG--
extra : rebase_source : 5ebfa7f5fd89f96dac5f7cb035ab520c63b32e55
extra : amend_source : c53c988763c328020b49aa5c6245df685b6f30bc
2014-12-05 10:19:49 -08:00
Mike Shal
14f3dfd3b3 Bug 1091668 - generate voucher on signed plugin-container; r=glandium 2014-11-25 10:43:43 -05:00
Ting-Yu Lin
372d769fb9 Bug 1105090 - Update ccache parser against version 3.2. r=gps
ccache version 3.2 adds primary config and secondary config in the
statistic report. Update the ccache stats parser to support that.
2014-11-26 06:25:00 +01:00
Nick Alexander
002f7dc5c6 Bug 1105052 - Update in-tree jsmin to commit a878bf0. rs=gps
This is a straight copy from

a878bf0ba0

paired with a tiny change to use the new quote_chars option.

--HG--
extra : rebase_source : 75d604ffafc7062c663bca4242af35546d2c1e3a
2014-11-25 16:02:08 -08:00
Mike Shal
19a62eff82 Bug 1091668 - Import eme voucher script; r=ted, r=gerv 2014-11-03 11:24:55 -05:00
Mike Shal
c927a777e6 Bug 1091668 - Import bitstring-3.1.3; r=ted, r=gerv 2014-11-03 10:47:25 -05:00
Mike Shal
1dea3263d8 Bug 1091668 - Import pyasn1-0.1.7; r=ted, r=gerv 2014-11-03 10:46:46 -05:00
Kartikaya Gupta
903c1e3c5c Bug 1092217 - Allow debugging gtests via mach gtests --debug. r=ted 2014-11-24 15:29:40 -05:00
Anton Neumann
dba9e97358 Bug 906177 - Fix bootstrap on elementary; r=gps
DONTBUILD (NPOTB)

--HG--
extra : amend_source : 44cd72c98044aa380a5d60c5dd4127364f9ef6b3
2014-11-21 09:58:29 -08:00
Gregory Szorc
49f7be9f8b Bug 1094303 - Move XPT buildlist into misc tier; r=glandium
buildlist invocations are slow and can occur in parallel since the
underlying program obtains a lock on the modified file.

Moving the XPT-related buildlist invocation from the serial libs tier to
the parallel misc tier decreased my no-op build time on OS X from 43.5s
to 37.0s.

--HG--
extra : rebase_source : 7d274024c401b1ecfbc771424a69eb487808fcbf
2014-11-05 09:20:35 -08:00
Vaibhav Agrawal
d6312a24e8 Bug 1089037 - Removing invalid mochitests and moving webapprt-content tests to a seperate "webapprtContent" folder in object directory. r=jmaher, marco 2014-11-13 12:30:00 +01:00
Gregory Szorc
e77cda14fc Bug 1098135 - Traverse directories with misc rules; r=glandium
When the misc tier was added, only directories with misc-associated
variables from moz.build were traversed. This patch adds a dummy
variable to moz.build whose presence will add the directory to the misc
tier.

This will enable us to aggressively convert existing libs:: rules
to the misc tier.

--HG--
extra : rebase_source : c5477010c7d87fafa512f4fbbf1d2b995e07ffbd
extra : amend_source : a54eee6254ef2d63ef6b247d45e38eda2ab88fef
extra : histedit_source : c0f3352e84ec18ca7b88571cd5f9c2a33ab8eda9
2014-11-12 21:59:22 -08:00
Joshua Cranmer
528101b1f4 Bug 910781 - add support for FINAL_TARGET_FILES; r=gps 2014-07-23 13:56:25 -04:00
Gregory Szorc
e97f72f3d1 Bug 1094302 - Update build system tests to cover moved tier; r=glandium
This fixes |make check| bustage on inbound.
2014-11-06 20:17:17 -08:00
Gregory Szorc
c24dd59ec5 Bug 1094302 - Move JS module installation into the misc tier; r=glandium
JS module installation performs simple file copying or preprocessing.
There is no reason it can't occur in parallel. Move it to the misc tier.

As part of this, I recognized that TESTING_JS_MODULES was assigned to a
tier. Since these files are managed by an install manifest, they don't
belong to any tier. So the tier is now listed as None.

--HG--
extra : rebase_source : 963f0813e43802c017837ce9d55f8e666decd76a
2014-11-05 09:47:14 -08:00
Mike Hommey
090834ccfd Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Wes Kocher
fd1b7c1e19 Backed out changeset db93b3cbdc17 (bug 1094037) on a CLOSED TREE 2014-11-05 17:22:50 -08:00
Mike Hommey
c5ad432837 Bug 1093499 - Add a -C option to mach build. r=gps
The build system being what it currently is, there are various cases where one
wants something explicit, rather than the current autodetection.

For instance, one may want to run
  make -C $objdir chrome
instead of
  make -C $objdir/chrome
that mach build chrome currently invokes.

There are several such usecases that mach's autodetection makes harder, and
it's sometimes awkward when telling people, to debug their issues, to run
  make -C objdir something
and hear back that objdir doesn't exist or something along those lines,
because they took "objdir" literally.
2014-11-06 09:29:27 +09:00
Mike Hommey
636eec2f2a Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
18ccc42254 Bug 1094033 part 2 - Add a "misc" parallel tier where to move parts of the libs tier that can be moved. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
6353f52bb4 Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
0bb4264fe7 Bug 1091383 - Move delayload logic entirely in moz.build frontend code. r=gps 2014-11-04 13:48:25 +09:00
Andrew Halberstadt
4125d6266d Bug 1092149 - Use LooseVersion instead of StrictVersion in |mach mercurial-setup| so release candidates work, r=gps 2014-10-31 15:09:39 -04:00
Nick Alexander
a4f15f29c8 Bug 1090599 - Upgrade in-tree jsmin to release-2.0.11. r=gps
This updates to release-2.0.11 (sha1: 04374472ed18) from
https://bitbucket.org/dcs/jsmin/.
2014-10-30 17:02:33 -07:00
Mike Hommey
d667f4bb59 Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey
2a17803c46 Bug 1077148 part 1 - Define mozcrt in moz.build. r=gps
--HG--
rename : mozglue/build/Makefile.in => mozglue/crt/Makefile.in
rename : mozglue/build/fixcrt.py => mozglue/crt/fixcrt.py
2014-10-30 13:05:50 +09:00
Mike Hommey
bc89ac2f89 Bug 1090107 - Define stlport dependencies in moz.build. r=mshal 2014-10-29 13:29:42 +09:00
Nicholas Nethercote
bf89af2567 Bug 1080302 (part 3) - Convert -foo options to --foo in |mach run|. r=glandium. 2014-10-23 17:39:49 -07:00
Nicholas Nethercote
b3fe669873 Bug 1080302 (part 1) - Add support for --foo and /foo options where it's not already present. r=glandium. 2014-10-23 17:25:19 -07:00
Nicholas Nethercote
6705ab7753 Bug 1076446 (attempt 2) - Make the DMD test work on Windows. r=glandium. 2014-10-09 19:28:33 -07:00
Wes Kocher
353ba5fc78 Merge inbound to m-c a=merge 2014-10-24 15:05:02 -07:00
Richard Newman
da8a27c4ee Bug 1088788 - Fix build target for Eclipse projects. r=nalexander, DONTBUILD (NPOTB) 2014-10-24 11:06:48 -07:00
Wes Kocher
0fc643cb33 Merge inbound to m-c a=merge 2014-10-23 17:37:23 -07:00
Benoit Girard
b6f9b243d4 Bug 1062726 - Add ./mach ide [visualstudio,eclipse] command. r=gps
--HG--
extra : rebase_source : 6c0ed5227c59380722863be8ecc389d9a53fc0a0
2014-09-04 02:08:33 -04:00
Richard Newman
788ae8894c Back out inadvertent android_eclipse change from 4a19faedc32b (Bug 1070086). r=me, DONTBUILD on a CLOSED TREE (NPOTB) 2014-10-22 17:09:25 -07:00
Wes Kocher
9e6688bd5b Merge m-c to fx-team a=merge 2014-10-20 19:01:55 -07:00
Gregory Szorc
c4dc0ac8b9 Bug 1078007 - Update URL for Homebrew installer; rs=RyanVM
The installer URL moved upstream. Reflect that move.

DONTBUILD (NPOTB)

--HG--
extra : rebase_source : 1ab21c8ef8458db87a6594f1bfca439b386cc254
2014-10-20 09:12:50 -07:00
Wes Johnston
2da0f9c218 Bug 1070086 - Move download integration code to its own class. r=bnicholson 2014-10-20 12:24:49 -07:00
Edwin Flores
eaa54604a8 Bug 1072024 - Fix TestGMPCrossOrigin when run with |mach gtest| - r=ted 2014-10-14 11:04:59 +13:00
Mike Hommey
b9d972fbb4 Bug 1080375 - STATIC_LIBRARY_NAME doesn't need an explicit FORCE_STATIC_LIB. r=mshal 2014-10-10 17:09:10 +09:00
Ting-Yu Lin
c193bb1729 Bug 1088520 - Fix empty eclipse project generated on Linux. r=glandium
Use "Gecko" with captical letter 'G' for both project dir and the
project name in .project.
2014-10-24 03:11:00 +02:00
Carsten "Tomcat" Book
f22c011ab0 Backed out changeset 835fbe63da4a (bug 1076446) for perma failure in 10.8 mozilla-inbound debug test xpcshell 2014-10-24 12:32:38 +02:00