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

166 Коммитов

Автор SHA1 Сообщение Дата
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
Andy Wingo d8168d3013 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 : source : 98f78bb873005cd22f5794dc53b5cfb41f94c83b
2020-04-01 08:57:40 +00:00
Daniel Varga c24b9707fd Backed out 2 changesets (bug 1625927, bug 1625887) on request by dev
Backed out changeset 98f78bb87300 (bug 1625927)
Backed out changeset 1e25841508c8 (bug 1625887)
2020-04-02 12:48:09 +03:00
Andy Wingo 05b61b956c 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-01 08:57:40 +00:00
Lars T Hansen 7b4366d9af Bug 1623889 - Allow SAB to be disabled in js shell. r=bbouvier
The previous fix here was a hack that would disable SAB in the JS
shell on non-nightly, but this breaks various tests that no longer
guard properly for SAB.  Instead of embedding the hack more deeply by
changing those tests, we fix it the way it should have been from the
outset: SAB is enabled in the shell on all channels but can be
disabled by a switch.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 16:56:25 +00:00
Lars T Hansen edf764eeec Bug 1566427 - Improved compiler availability computation. r=bbouvier
This patch cleans up wasm compiler selection and a few related things
with as few semantic changes as possible.  The intent is to centralize
compiler availability computation so that all parts of the system stay
in sync and it is easy to change compiler selection policy.

First, we introduce new predicates <Compiler>Available(cx) to test for
the actual availability of a compiler.  These predicates take into
account whether a compiler is compiled into the executable, whether it
supports the hardware, whether it is (currently) selected by
options/switches, and whether it can be used as a result of the
runtime environment (for example, Ion and Cranelift are not available
if the debugger is observing the page or if the GC feature is enabled;
Cranelift is not available if shared memory and atomics are enabled).
We switch to using these predicates almost everywhere that used
<Compiler>CanCompile() or cx->options().wasm<Compiler>(), since those
don't tell the full story.

Second, we implement a priority order of the optimizing compilers and
make it easy to change this order (see comments in code).  At the
moment, Cranelift is prioritized over Ion since Ion is enabled by
default and Cranelift is not; thus the desire of somebody flipping the
pref for Cranelift is to deselect Ion.  The priority order may change
in the future or may become platform-dependent.  The default compiler
selection in both browser and shell remains Baseline+Ion.

Third, we rename HasCompilerSupport() as HasPlatformSupport(), since
the predicate does not test whether compilers are available, only
whether they are present in the executable and support the hardware.
And to make that more sensible, <Compiler>CanCompile() is renamed
as <Compiler>PlatformSupport().

Fourth, we remove some redundant testing predicates (we don't need
both wasmDebugSupport and wasmDebuggingIsSupported, nor do we need
wasmUsesCranelift because wasmCompileMode is more reliable).

Fifth, we introduce a few new test cases that try to ensure that
compiler selection works as it should.  These are white-box and may
need to change if the compiler priority order changes.

Sixth, we rename the internal wasm::Has<Feature>Support() predicates
as wasm::<Feature>Available(), since they all actually test for
compiler availability.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 15:03:45 +00:00
shindli ca0e071e53 Backed out changeset ce48cc49397b (bug 1566427) for causing unexpected failures in python/mozbuild/mozbuild/test/configure/lint.py CLOSED TREE 2020-03-11 15:39:52 +02:00
Lars T Hansen 23854fd5a5 Bug 1566427 - Improved compiler availability computation. r=bbouvier
This patch cleans up wasm compiler selection and a few related things
with as few semantic changes as possible.  The intent is to centralize
compiler availability computation so that all parts of the system stay
in sync and it is easy to change compiler selection policy.

First, we introduce new predicates <Compiler>Available(cx) to test for
the actual availability of a compiler.  These predicates take into
account whether a compiler is compiled into the executable, whether it
supports the hardware, whether it is (currently) selected by
options/switches, and whether it can be used as a result of the
runtime environment (for example, Ion and Cranelift are not available
if the debugger is observing the page or if the GC feature is enabled;
Cranelift is not available if shared memory and atomics are enabled).
We switch to using these predicates almost everywhere that used
<Compiler>CanCompile() or cx->options().wasm<Compiler>(), since those
don't tell the full story.

Second, we implement a priority order of the optimizing compilers and
make it easy to change this order (see comments in code).  At the
moment, Cranelift is prioritized over Ion since Ion is enabled by
default and Cranelift is not; thus the desire of somebody flipping the
pref for Cranelift is to deselect Ion.  The priority order may change
in the future or may become platform-dependent.  The default compiler
selection in both browser and shell remains Baseline+Ion.

Third, we rename HasCompilerSupport() as HasPlatformSupport(), since
the predicate does not test whether compilers are available, only
whether they are present in the executable and support the hardware.
And to make that more sensible, <Compiler>CanCompile() is renamed
as <Compiler>PlatformSupport().

Fourth, we remove some redundant testing predicates (we don't need
both wasmDebugSupport and wasmDebuggingIsSupported, nor do we need
wasmUsesCranelift because wasmCompileMode is more reliable).

Fifth, we introduce a few new test cases that try to ensure that
compiler selection works as it should.  These are white-box and may
need to change if the compiler priority order changes.

Sixth, we rename the internal wasm::Has<Feature>Support() predicates
as wasm::<Feature>Available(), since they all actually test for
compiler availability.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 07:53:03 +00:00
Tooru Fujisawa 350ed0cf8c Bug 1612515 - Part 6: Import the SmooshMonkey change from rust-frontend. r=jorendorff,glandium
Differential Revision: https://phabricator.services.mozilla.com/D64170

--HG--
extra : moz-landing-system : lando
2020-02-28 14:17:33 +00:00