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

174 Коммитов

Автор SHA1 Сообщение Дата
Kannan Vijayan d06954a28d Bug 1660798 - Part 2 - Convert uses of JSAtom* and PropertyName* to ParserAtomId and ParserNameId. r=tcampbell
Depends on D84865

Differential Revision: https://phabricator.services.mozilla.com/D82826
2020-08-26 01:03:35 +00:00
Cosmin Sabou f66ec87fd8 Backed out 2 changesets (bug 1660798) for causing memory leaks. CLOSED TREE
Backed out changeset 846f88debca6 (bug 1660798)
Backed out changeset 12d099efac67 (bug 1660798)
2020-08-25 01:03:43 +03:00
Kannan Vijayan dadaa3f04c Bug 1660798 - Part 2 - Convert uses of JSAtom* and PropertyName* to ParserAtomId and ParserNameId. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D82826
2020-08-24 19:50:43 +00:00
Lars T Hansen 9e2ed30feb Bug 1657374 - flip flags for wasm simd. r=rhunt
This should be enough to enable wasm simd on x86/x64 in all channels, but
leave it preffed-off on non-nightly.

Differential Revision: https://phabricator.services.mozilla.com/D86822
2020-08-14 12:30:43 +00:00
Ricky Stewart cd9a620ede Bug 1657954 - Move various branding options from `old-configure` r=geckoview-reviewers,mhentges,nalexander,snorp
Differential Revision: https://phabricator.services.mozilla.com/D86391
2020-08-11 15:58:52 +00:00
Chris Fallin d53b8b620f Bug 1656638: Add Wasm compile- and run-time telemetry to track Wasm compiler performance. r=lth
This patch adds telemetry to measure the time spent in Wasm compilers
and in the code that they generate (actually, all JS and Wasm code).

For simplicity, it measures wallclock time as a proxy for CPU time.
Furthermore, it measures runtime for all JS and Wasm code, and all
native functions invoked by the JS or Wasm code, by timing from
top-level entry to exit. This is for efficiency reasons: we do not want
to add a VM call in the transition stubs between native and JS or JS and
Wasm; that would be a Very Bad Thing for performance, even for a Nightly
build instrumented with telemetry. Because of that, it's difficult to
separate JITted JS and JITted Wasm runtime, but observing their sum
should still be useful when making comparisons across compiler changes
because absolute reductions will still be visible.

The plumbing is somewhat awkward, given that Wasm compilers can run on
background threads. It appears that the telemetry-callback API that
SpiderMonkey includes to avoid a direct dependency on the Gecko
embedding had artificially limited the callback to main-thread use only.
This patch removes that limitation, which is safe at least for Gecko;
the telemetry hooks in Gecko are thread-safe (they take a global mutex).
That way, the background threads performing compilation can directly add
telemetry incrementally, without having to pass this up through the main
thread somehow.

Finally, I have chosen to add the relevant metrics as Scalar telemetry
values rather than Histograms. This is because what we are really
interested in is the sum of all these values (all CPU time spent in
compilation + running Wasm code); if this value goes down as a result of
a Wasm compiler change, then that Wasm compiler change is good because
it reduces CPU time on the user's machine. It is difficult to add two
Histograms together because the bins may have different boundaries. If
we instead need to use a binned histogram for other reasons, then we
could simply report the sum (of all compiler time plus run time) as
another histogram.

Differential Revision: https://phabricator.services.mozilla.com/D85654
2020-08-06 01:28:45 +00:00
Butkovits Atila 26b13464c2 Backed out changeset c8123a3e4249 (bug 1656638) for build bustages at Runtime.h. CLOSED TREE 2020-08-06 02:49:14 +03:00
Chris Fallin b7326dbb31 Bug 1656638: Add Wasm compile- and run-time telemetry to track Wasm compiler performance. r=lth
This patch adds telemetry to measure the time spent in Wasm compilers
and in the code that they generate (actually, all JS and Wasm code).

For simplicity, it measures wallclock time as a proxy for CPU time.
Furthermore, it measures runtime for all JS and Wasm code, and all
native functions invoked by the JS or Wasm code, by timing from
top-level entry to exit. This is for efficiency reasons: we do not want
to add a VM call in the transition stubs between native and JS or JS and
Wasm; that would be a Very Bad Thing for performance, even for a Nightly
build instrumented with telemetry. Because of that, it's difficult to
separate JITted JS and JITted Wasm runtime, but observing their sum
should still be useful when making comparisons across compiler changes
because absolute reductions will still be visible.

The plumbing is somewhat awkward, given that Wasm compilers can run on
background threads. It appears that the telemetry-callback API that
SpiderMonkey includes to avoid a direct dependency on the Gecko
embedding had artificially limited the callback to main-thread use only.
This patch removes that limitation, which is safe at least for Gecko;
the telemetry hooks in Gecko are thread-safe (they take a global mutex).
That way, the background threads performing compilation can directly add
telemetry incrementally, without having to pass this up through the main
thread somehow.

Finally, I have chosen to add the relevant metrics as Scalar telemetry
values rather than Histograms. This is because what we are really
interested in is the sum of all these values (all CPU time spent in
compilation + running Wasm code); if this value goes down as a result of
a Wasm compiler change, then that Wasm compiler change is good because
it reduces CPU time on the user's machine. It is difficult to add two
Histograms together because the bins may have different boundaries. If
we instead need to use a binned histogram for other reasons, then we
could simply report the sum (of all compiler time plus run time) as
another histogram.

Differential Revision: https://phabricator.services.mozilla.com/D85654
2020-08-05 23:18:33 +00:00
Ryan Hunt 77b6f1962f Bug 1651799 - Remove bulk-memory configuration options. r=bbouvier
Bulk memory is now enabled for all compilers and platforms, so let's remove the
configuration machinery for it.

Differential Revision: https://phabricator.services.mozilla.com/D83423
2020-07-27 21:13:35 +00:00
Mike Hommey e1f7ae82ed Bug 1650299 - Unify the inclusion of the ICU data file. r=froydnj
All the supported compilers support a GNU AS-like syntax, with only a
few details varying. It means we can use a single, simpler, way to
include the ICU data file, instead of 3 different ways, including one
that uses armasm64.exe, possibly wrapped with Wine.

Differential Revision: https://phabricator.services.mozilla.com/D82144
2020-07-06 22:57:53 +00:00
Ryan Hunt 948e22eaaf Bug 1637884 - Wasm: Enable reference-types by default. r=lth
This commit enable reference-types by default. The existing config/ifdef'ery is
spared to allow for an easier backout and to support Cranelift until it gains
support for the feature.

Depends on D81012

Differential Revision: https://phabricator.services.mozilla.com/D81013
2020-06-25 04:52:05 +00:00
Ryan Hunt 34491c6ee8 Bug 1528294 - Wasm: Enable bulk-memory-operations by default. r=lth
This commit enables the bulk-memory-operations feature by default. The config/
ifdef'ery is spared to allow for easier backouts if needed.

Differential Revision: https://phabricator.services.mozilla.com/D81012
2020-06-25 04:52:22 +00:00
Kannan Vijayan b307e7031d Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-17 22:31:35 +00:00
Ted Campbell f4c1e09650 Bug 1642708 - Disable BinAST prototype r=arai
Differential Revision: https://phabricator.services.mozilla.com/D77920
2020-06-17 13:57:02 +00:00
Csoregi Natalia e722c196bc Backed out 5 changesets (bug 1642708) for build bustages. CLOSED TREE
Backed out changeset d307b00c7e1b (bug 1642708)
Backed out changeset d210a60ad435 (bug 1642708)
Backed out changeset bcc2728b5ca5 (bug 1642708)
Backed out changeset 1c245d4e8244 (bug 1642708)
Backed out changeset ad613fa94a83 (bug 1642708)
2020-06-17 16:51:16 +03:00
Ted Campbell f514a8a144 Bug 1642708 - Disable BinAST prototype r=arai
Differential Revision: https://phabricator.services.mozilla.com/D77920
2020-06-12 03:39:15 +00:00
Razvan Maries ff6696efc0 Backed out changeset 647adc688cea (bug 1645845) for build bustages on ParserAtom.cpp. 2020-06-17 05:49:26 +03:00
Kannan Vijayan f9156e3176 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 22:16:17 +00:00
Razvan Maries 92e1bc94a4 Backed out changeset f1a9f9c46808 (bug 1645845) for build bustages on Utility.h. CLOSED TREE 2020-06-16 21:12:01 +03:00
Kannan Vijayan b00a405b71 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 17:37:32 +00:00
Razvan Maries d5879776c0 Backed out changeset 13d8ddd71873 (bug 1645845) for bustages on ParserAtom.h. CLOSED TREE 2020-06-16 20:19:19 +03:00
Kannan Vijayan f1d9bd0a46 Bug 1645845 - Add ParserAtomsTable, parser atoms types, common parser names table, and base parser atoms implementation. r=mgaudet,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D79714
2020-06-16 15:57:14 +00:00
Lars T Hansen 2517967e0e Bug 1637332 - wasm simd x86, part 2 - implement it. r=rhunt
This patch generalizes the x64 code that was moved into x86-shared
code in the previous patch, and makes it all work for x86.

Generally the changes are pedestrian.  The most interesting bit is
that signed right shift i64x2 is now scalarized in the compilers, not
in the macroassemblers, as this simplifies code everywhere.  This
gives rise to a new kind of porting API that reveals information about
what the macroassembler supports on the platform, in the form of the
MustScalarize/MustMaskShiftCount predicates in MacroAssembler.h.

Multiply i64x2, which is scalarized in the macroassemblers now, could
have been subjected to the same treatment, but I did not do so (yet)
because this op presented fewer problems than the right shift. (Discuss.)

Differential Revision: https://phabricator.services.mozilla.com/D74935
2020-06-05 06:39:32 +00:00
Iain Ireland 31ded7e5aa Bug 1642493: Clean up remaining references to ENABLE_NEW_REGEXP and old irregexp r=mgaudet
I kept a running list of code that would be dead once we removed the old engine. This is what was on that list.

Note: The regexp_parse tests used a testing function that parsed a regexp and returned an AST to compare against the expected AST. They are being deleted because the tests are fragile in the face of upstream changes, not particularly useful, and a lot of work to convert.

Depends on D77727

Differential Revision: https://phabricator.services.mozilla.com/D77728
2020-06-04 14:35:04 +00:00
Lars T Hansen 58d34fe0f0 Bug 1635038 - Make wasm-gc properly dependent on reftypes and typed-objects. r=rhunt
Currently our wasm-gc prototypes requires that typed objects are enabled,
and of course it is also dependent on reference types.  So make sure the
default is computed correctly and die during configure if wasm-gc is
requested while the other options are disabled.

Differential Revision: https://phabricator.services.mozilla.com/D77780
2020-06-03 10:45:14 +00:00
Mike Hommey 9088528947 Bug 1635764 - Move --with-system-icu and --with-intl-api to python configure. r=firefox-build-system-reviewers,rstewart
At the same time, because it's now simpler to do so, set the right data
file name for big-endians, even though we don't have or produce it
(bug #1264836). Also remove USE_ICU, which is redundant with
JS_HAS_INTL_API, and actively break the build at configure time when
using --without-intl-api with Firefox because this hasn't actually
worked for close to 3 years (since bug 1402048).

Differential Revision: https://phabricator.services.mozilla.com/D77416
2020-05-29 21:29:52 +00:00
Mike Hommey 8a9448c75b Bug 1641785 - Move --with-jitreport-granularity to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D77415
2020-05-29 12:17:26 +00:00
Mike Hommey 313131917e Bug 1641775 - Move --with-system-nspr to python configure. r=firefox-build-system-reviewers,rstewart
Versions of NSPR >= 4.10 come with a pkg-config file. We currently
depend on 4.9.2 for spidermonkey, but much more recent versions for
Firefox. 4.10 is less than a year newer than 4.9.2, and 4.10 is 7 years
old, so bumping the requirement to 4.10 is not really a big deal.

With the use of pkg-config, --with-nspr-cflags and --with-nspr-libs are
not needed.

None of the AC_TRY_COMPILE tests were any useful because
PR_STATIC_ASSERT and PR_UINT64 have been when we look for them since
4.8.6 and 4.9 respectively.

Differential Revision: https://phabricator.services.mozilla.com/D77412
2020-05-29 17:11:27 +00:00
Mike Hommey 79feb07ead Bug 1639815 - Move --enable-readline to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76287
2020-05-21 22:38:46 +00:00
Mike Hommey 0e16889c8a Bug 1639815 - Move --with-sixgill to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76286
2020-05-21 22:38:46 +00:00
Mike Hommey af5718ca89 Bug 1639815 - Move --with-qemu-exe and --with-cross-lib to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76285
2020-05-21 22:38:46 +00:00
Bogdan Tara 0bff3c4d0b Backed out 7 changesets (bug 1639815) for --disable-install-strip related bustages CLOSED TREE
Backed out changeset 04a1388fc17d (bug 1639815)
Backed out changeset d48eea557b6d (bug 1639815)
Backed out changeset 6fba10f61bd2 (bug 1639815)
Backed out changeset cfb945f6c82f (bug 1639815)
Backed out changeset 16447c678749 (bug 1639815)
Backed out changeset 89475adf15b6 (bug 1639815)
Backed out changeset 94877a079054 (bug 1639815)
2020-05-22 01:33:22 +03:00
Mike Hommey 7ebe2d69fb Bug 1639815 - Move --enable-readline to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76287
2020-05-21 10:13:24 +00:00
Mike Hommey 3feaca35c7 Bug 1639815 - Move --with-sixgill to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76286
2020-05-21 10:10:31 +00:00
Mike Hommey 69d706ac05 Bug 1639815 - Move --with-qemu-exe and --with-cross-lib to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D76285
2020-05-21 10:11:21 +00:00
Lars T Hansen 589dab34a0 Bug 1631228 - wasm ion simd, part 1: enablement + test directives. r=bbouvier,perftest-reviewers
Change --wasm-simd to --no-wasm-simd and flip the default for both this
switch and for the about:config flag.

Add testing directives so that we test baseline, ion, and --no-wasm-simd.

Differential Revision: https://phabricator.services.mozilla.com/D71819
2020-05-20 07:01:38 +00:00
Asumu Takikawa b15a80284e Bug 1623628 - part 1, remove compile-time and run-time flags for BigInt/I64 conversion in Wasm r=wingo,lth
This patch removes the compile-time and run-time flags that disable BigInt/I64 so that the feature can be shipped. It also adjusts/removes tests as appropriate to account for the removed code paths.

Differential Revision: https://phabricator.services.mozilla.com/D74142
2020-05-18 18:30:47 +00:00
Iain Ireland 5a987970c4 Bug 1634135: Turn new regexp engine on by default in Nightly r=mgaudet
Pull the lever!

(After responsibly waiting for 78 to open.)

Differential Revision: https://phabricator.services.mozilla.com/D73120
2020-05-13 16:24:04 +00:00
Sebastian Hengst ff55bf0ffc Backed out 12 changesets (bug 1634135) for causing crashes e.g. when urls get pasted in Slack (bug 1637243). a=backout
Backed out changeset ee1018a8611a (bug 1634135)
Backed out changeset 0081b4c73633 (bug 1634135)
Backed out changeset 4eda5acc8e1f (bug 1634135)
Backed out changeset d8f770d123f2 (bug 1634135)
Backed out changeset 3f680457842f (bug 1634135)
Backed out changeset f3b9c956fa85 (bug 1634135)
Backed out changeset b3b82e1cda7f (bug 1634135)
Backed out changeset 9dddfd577a3d (bug 1634135)
Backed out changeset ba01ceb63cf3 (bug 1634135)
Backed out changeset f53110858cb9 (bug 1634135)
Backed out changeset 49b9d6a8a3a5 (bug 1634135)
Backed out changeset a73e5ff68480 (bug 1634135)
2020-05-12 16:00:06 +02:00
Iain Ireland 52982ba943 Bug 1634135: Turn new regexp engine on by default in Nightly r=mgaudet
Pull the lever!

(After responsibly waiting for 78 to open.)

Differential Revision: https://phabricator.services.mozilla.com/D73120
2020-05-10 16:00:26 +00:00
Narcis Beleuzu d6e59a92f6 Backed out 9 changesets (bug 1634135) for assertion failure on nsContentUtils.cpp . CLOSED TREE
Backed out changeset 392feb3c6f73 (bug 1634135)
Backed out changeset 88cf3b3be886 (bug 1634135)
Backed out changeset 080d06573454 (bug 1634135)
Backed out changeset f849ce4fe7de (bug 1634135)
Backed out changeset 4560a77cbe7b (bug 1634135)
Backed out changeset c2183a88c085 (bug 1634135)
Backed out changeset 18b93628199b (bug 1634135)
Backed out changeset 6aaf6e87a5d1 (bug 1634135)
Backed out changeset 35f6669e31a9 (bug 1634135)
2020-05-06 19:17:36 +03:00
Iain Ireland a027d50452 Bug 1634135: Turn new regexp engine on by default in Nightly r=mgaudet
Pull the lever!

(After responsibly waiting for 78 to open.)

Differential Revision: https://phabricator.services.mozilla.com/D73120
2020-05-05 16:50:07 +00:00
Andy Wingo a9303d9bd2 Bug 1628321 - Ship support for WebAssembly multi-value proposal r=lth
The configure option is now --disable-wasm-multi-value, rather than
--enable-wasm-multi-value.

Differential Revision: https://phabricator.services.mozilla.com/D72307
2020-04-27 11:12:06 +00:00
Jon Coppeard 34b313001d Bug 1386298 - Replace the unused GCTrace framework r=sfink
The tracing framework is unused but Matthew found the hook points useful, so this changes those into empty inline functions that can be used to insert probes.

Differential Revision: https://phabricator.services.mozilla.com/D73816
2020-05-05 16:35:14 +00:00
Lars T Hansen 414fee387b Bug 1478632 - wasm simd, part 1: feature gating and related prep. r=rhunt
We add a configuration option for SIMD and apply ENABLE_WASM_SIMD
throughout the engine as appropriate, mostly to insert #error or
MOZ_CRASH where things need to be done in later patches or for
architectures that we won't currently consider.

We add a command line switch for the shell and an option for
about:config and plumb the value of this through the engine.

Differential Revision: https://phabricator.services.mozilla.com/D57940
2020-05-05 08:17:47 +00:00
Jan de Mooij 6f5ae737ef Bug 1627255 part 2 - Rename the --enable-ion configure option to --enable-jit. r=glandium
For many years now this has covered all our JIT codegen, not just Ion, so this is
a lot less confusing. Using --enable-ion/--disable-ion now results in an error that
suggests the new name.

Differential Revision: https://phabricator.services.mozilla.com/D69579

--HG--
extra : moz-landing-system : lando
2020-04-07 14:52:33 +00:00
Jan de Mooij 7977c543bd Bug 1627255 part 1 - Remove the ENABLE_ION config item. r=glandium
These days we can get the same information by checking JS_CODEGEN_NONE, so let's
do that.

Differential Revision: https://phabricator.services.mozilla.com/D69578

--HG--
extra : moz-landing-system : lando
2020-04-07 08:34:27 +00:00
Andy Wingo 2a92dcdaf5 Bug 1625927 - Enable multi-value on nightly r=lth
Now that multi-value is code-complete, we enable it on nightly browsers
in addition to shell builds.

Differential Revision: https://phabricator.services.mozilla.com/D68791

--HG--
extra : moz-landing-system : lando
2020-04-07 09:01:18 +00:00
Mike Hommey 314c1a65a3 Bug 1626951 - Disable new pass manager on aarch64-windows builds without LTO. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D69500

--HG--
extra : moz-landing-system : lando
2020-04-03 14:27:45 +00:00
Dorel Luca b91244b465 Backed out changeset ace2339387ab (bug 1625927) landed by mistake
--HG--
extra : rebase_source : 465e34a3d289222f0d8df4c1a4b3c945844e8eed
2020-04-02 14:29:25 +03:00