Commit Graph

305 Commits

Author SHA1 Message Date
Matthew Gaudet
25a3c8f591 Bug 1792720 - Make JS Streams a MOZCONFIG opt in r=bthrall
Differential Revision: https://phabricator.services.mozilla.com/D158281
2022-10-05 17:21:34 +00:00
Cristian Tuns
15e6663754 Backed out changeset 41ef8be74785 (bug 1792720) for causing spidermonkey bustages on Iteration.cpp CLOSED TREE 2022-10-05 12:12:41 -04:00
Matthew Gaudet
24fec6f9c0 Bug 1792720 - Make JS Streams a MOZCONFIG opt in r=bthrall
Differential Revision: https://phabricator.services.mozilla.com/D158281
2022-10-05 15:40:36 +00:00
André Bargull
40c109ec7b Bug 1784092 - Part 2: Enable change-array-by-copy build option by default on Nightly. r=mgaudet
This only enables the build option, which allows to actually run any tests in CI.

Depends on D154267

Differential Revision: https://phabricator.services.mozilla.com/D154268
2022-08-12 15:22:17 +00:00
Cosmin Sabou
0426478035 Backed out 11 changesets (bug 1784090, bug 1784091, bug 1784092) for causing SM assertion failures on js/Value.h. CLOSED TREE
Backed out changeset a8f802732daf (bug 1784092)
Backed out changeset b92f9185c00e (bug 1784092)
Backed out changeset 293b349acef8 (bug 1784092)
Backed out changeset 43f09ff76a7c (bug 1784092)
Backed out changeset 8525901a008a (bug 1784092)
Backed out changeset 94fcc8600381 (bug 1784091)
Backed out changeset 35d068070f81 (bug 1784090)
Backed out changeset 3966a0f0f413 (bug 1784090)
Backed out changeset 3492785e6bb1 (bug 1784090)
Backed out changeset ac8bb0be9f26 (bug 1784090)
Backed out changeset 9c38d51940e8 (bug 1784090)
2022-08-12 12:38:04 +03:00
André Bargull
cde63795b3 Bug 1784092 - Part 2: Enable change-array-by-copy build option by default on Nightly. r=mgaudet
This only enables the build option, which allows to actually run any tests in CI.

Depends on D154267

Differential Revision: https://phabricator.services.mozilla.com/D154268
2022-08-12 08:44:17 +00:00
Ryan Hunt
5b07c7d827 Bug 1781425 - wasm: Remove baldrdash. r=jseward,supply-chain-reviewers
The baldrdash integration of Cranelift is agreed between SM and CL
to be the wrong shape. Our import of the code base is also old and
causes difficulties for us when upgrading some crates (see bug
1774829). We should remove it for now to unblock bug 1774829.

Differential Revision: https://phabricator.services.mozilla.com/D152806
2022-07-27 22:30:17 +00:00
Yury Delendik
4fab1299a3 Bug 1762409 - Remove wormhole instructions. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D152118
2022-07-26 22:39:37 +00:00
Dan Minor
eb5528820f Bug 1778527 - Add configure flag for decorators; r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D151541
2022-07-13 18:40:18 +00:00
Matthew Gaudet
f22282a7b1 Bug 1777529 - Remove configure option for TraceLog r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D150770
2022-07-13 15:26:48 +00:00
Dmitry Bezhetskov
1bb5a69ae1 Bug 1768214 - introduce wasm32 codegen. r=jandem
We are going to compile JS into WebAssembly! This is the first patch
in an upcoming queue. Here we introduce wasm32 architecture so that
SpiderMonkey can be compiled with enabled jit for wasi target.

Differential Revision: https://phabricator.services.mozilla.com/D145790
2022-07-01 04:23:16 +00:00
Ryan Hunt
b07df4f98c Bug 1766986 - wasm: Remove last ENABLE_WASM_EXCEPTIONS ifdefs. r=yury
This commit still keeps the runtime guards.

Differential Revision: https://phabricator.services.mozilla.com/D149170
2022-06-17 15:33:10 +00:00
Denis Palmeiro
7e299bdf50 Bug 1759173: Remove perf symbol maps and add Jitdump support for Ion, Baseline, and Inline Caches r=iain
Differential Revision: https://phabricator.services.mozilla.com/D148035
2022-06-08 13:14:17 +00:00
Lars T Hansen
dd892c6dd1 Bug 1770919 - Allow ARM64 simulator to run on ARM64. r=nbp
Remove the gating in moz.configure that prevents the arm64 simulator from
being compiled on an arm64 system.

Avoid using the fjcvt instruction when running on arm64 hardware, since
the simulator does not appear to support it while cpu detection does
support it.  (The alternative would be to implement the instruction
on the simulator.)

Differential Revision: https://phabricator.services.mozilla.com/D147199
2022-05-27 06:40:33 +00:00
William Durand
a49109c1e3 Bug 1768428 - Check that c_compiler is defined in wasm_verify_serialization_for_size. r=rhunt
`c_compiler` appears to be undefined when we use artifact + debug mode.

Differential Revision: https://phabricator.services.mozilla.com/D145868
2022-05-09 14:26:57 +00:00
Ryan Hunt
61c4f38707 Bug 1767955 - wasm: Limit serialization field verification to nightly. r=yury
Restrict the platform for size tests to nightly, as some fields are
conditional to release/nightly. Testing on nightly should contain the
most fields and therefore be permissive.

Differential Revision: https://phabricator.services.mozilla.com/D145605
2022-05-05 14:56:52 +00:00
Ryan Hunt
3d879bbf10 Bug 1763645 - wasm: Add golden tests for sizeof serialized types. r=yury
This commit adds an assertion for tracking the size of types that
we serialize so that we can detect if they change without updating
the corresponding serialize function.

Depends on D143404

Differential Revision: https://phabricator.services.mozilla.com/D144585
2022-05-05 01:31:04 +00:00
Yury Delendik
7353e17494 Bug 1708743 - Enable AVX support by default in release. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D144215
2022-04-21 12:43:20 +00:00
André Bargull
fe51c97053 Bug 1763783 - Part 8: Bump minimum required ICU version to 71.1. r=platform-i18n-reviewers,jfkthame
Require at least 71.1 for `UNUM_APPROXIMATELY_SIGN_FIELD`.

Depends on D143280

Differential Revision: https://phabricator.services.mozilla.com/D143281
2022-04-10 09:18:05 +00:00
Ryan Hunt
7f0395a3a1 Bug 1759217 - wasm: Let exception-handling ride the trains. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D141700
2022-03-23 14:52:50 +00:00
Yury Delendik
6c4cf3e439 Bug 1759909 - Enable AVX support for Wasm SIMD by default in Nightly. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D141265
2022-03-18 15:07:31 +00:00
Jan de Mooij
293dcabe41 Bug 1757756 - Use emulated getpid for WASI to fix the beta-simulation build. r=glandium
zlib includes unistd.h and the definition of getpid there conflicted with the macro
in GetPidProvider.h, breaking the WASI build on beta.

Differential Revision: https://phabricator.services.mozilla.com/D140187
2022-03-09 08:03:33 +00:00
Zhao Jiazhong
c5e6866a45 Bug 1746350 - [loong64] Add LoongArch64 backend support. r=lth,jandem
Differential Revision: https://phabricator.services.mozilla.com/D134285
2022-02-25 14:55:26 +00:00
Lars T Hansen
8c76521232 Bug 1754018 - CL is exclusive with exceptions. r=rhunt
This uses the same mechanism as SIMD configuration: exceptions are disabled by
default if cranelift is enabled, and enabling both explicitly will cause configuration
to fail.

Differential Revision: https://phabricator.services.mozilla.com/D139129
2022-02-24 07:33:32 +00:00
Lars T Hansen
5a1fc0b91e Bug 1709578 - Trap NPE when loading registers for cheap call_indirect null check. r=jseward
Avoid a null check on the slow path of call_indirect by catching the
signal resulting from dereferencing a null Tls pointer when loading
the heap register for the callee instance.

This does not work on x86-32 because we don't have a heap register to
load on that platform.

Differential Revision: https://phabricator.services.mozilla.com/D138286
2022-02-15 07:03:30 +00:00
Lars T Hansen
89a10888d3 Bug 1753061 - revert bug 1709578. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D137628
2022-02-08 07:42:26 +00:00
Abhishek Aggarwal
dfde362b9e Bug 1746631 - Implement integer gemm intrinsic functions. r=rhunt
- Implements 7 intrinsic functions
 - These intrinsics are only enabled for x86/x86-64 platform and for
   privileged extensions
 - These intrinsics should never be accessible to web-pages
   -- Added corresponding mochitest

Differential Revision: https://phabricator.services.mozilla.com/D136430
2022-02-04 14:28:29 +00:00
Mike Hommey
d4919a8c5f Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-20 21:01:20 +00:00
Iulian Moraru
f2f55d39bc Backed out changeset ffdd096022f9 (bug 1747970) for causing android build bustages. CLOSED TREE 2022-01-19 02:20:04 +02:00
Mike Hommey
464471142b Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-18 23:53:38 +00:00
Mike Hommey
f094186c6f Bug 1747501 - Move ZLIB_IN_MOZGLUE to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134643
2021-12-29 22:12:45 +00:00
Mike Hommey
2f2cee3541 Bug 1747323 - Move tm_zone and tm_gmtoff check to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134563
2021-12-23 20:50:38 +00:00
Mike Hommey
906237b715 Bug 1747332 - s/check_build_environment/build_environment/. r=firefox-build-system-reviewers,geckoview-reviewers,andi,calu
Differential Revision: https://phabricator.services.mozilla.com/D134585
2021-12-23 20:47:47 +00:00
criss
1128d4e52b Bug 1746550 - Fix black lint failure, r=fix. CLOSED TREE 2021-12-22 07:44:13 +02:00
Fabrice Desré
593402aa44 Bug 1746550 - Fix central-as-beta bustage from bug 1745838. r=glandium 2021-12-22 13:46:08 +09:00
Nicolò Ribaudo
ded6c32e63 Bug 1730843 - Part 1 - Add support for empty R&T based on objects r=jandem
This is an alternative implementation to D87232. I didn't implement
object wrappers for these new primitive-like-objects yet, so
`typeof Object(rec)` is currently `"record"` and not `"object"`.

Differential Revision: https://phabricator.services.mozilla.com/D125644
2021-12-20 15:17:16 +00:00
Mike Hommey
dd2dc0cb11 Bug 1745838 - Move MOZJS_*_VERSION and MOZJS_ALPHA to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D133701
2021-12-16 07:37:34 +00:00
Lars T Hansen
58210a458f Bug 1709578 - It's a trap! r=jseward
Handle indirect-call-to-null with the trap handler.

Remove the null check in call_indirect altogether, and add code to the
signal handler that recognizes a call-to-null instead.

The trickiest bit is to validate the fault address on systems that
need to push the return address onto the stack, and to argue that
handling the fault will not hide bugs or impede system functionality.
See comments in the code for more about this.

Differential Revision: https://phabricator.services.mozilla.com/D132296
2021-12-15 14:42:38 +00:00
Mike Hommey
9e8fdcc107 Bug 1739078 - Add MOZ_ICU_CFLAGS to bindgen flags for stylo. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D131995
2021-11-30 21:34:14 +00:00
jake champion
6f9c143d3d Bug 1566146 - Implement Set methods union, intersection, difference, symmetricDifference, isSubsetOf, isSuperSetOf, isDisjointFrom as per https://tc39.es/proposal-set-methods/ r=arai
Differential Revision: https://phabricator.services.mozilla.com/D131799
2021-11-30 03:40:50 +00:00
Zhao Jiazhong
592918b1b1 Bug 1742542 - [MIPS64] Enable memory64 support. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D131888
2021-11-26 08:49:32 +00:00
André Bargull
2b4f928d8c Bug 1738422 - Part 12: Bump minimum required ICU version to 70.1. r=platform-i18n-reviewers,dminor
Requiring at least ICU 70 allows to clean-up code in the next patch of this stack.

Depends on D129933

Differential Revision: https://phabricator.services.mozilla.com/D129934
2021-11-16 17:02:59 +00:00
Tim Chevalier
be12c6c29d Bug 1729563 - Add shell flag for change-array-by-copy methods r=mgaudet,arai
Add a build flag and shell flag for enabling change-array-by-copy methods.
    The flags currently have no effect.

Differential Revision: https://phabricator.services.mozilla.com/D127201
2021-10-22 18:38:09 +00:00
Butkovits Atila
868d142f3a Backed out 3 changesets (bug 1729563) for causing python failures. CLOSED TREE
Backed out changeset 4376dd492672 (bug 1729563)
Backed out changeset 4ebf6330fb4e (bug 1729563)
Backed out changeset f01c6f2e678d (bug 1729563)
2021-10-22 09:34:43 +03:00
Tim Chevalier
2dcddd4f98 Bug 1729563 - Add shell flag for change-array-by-copy methods r=mgaudet,arai
Add a build flag and shell flag for enabling change-array-by-copy methods.
    The flags currently have no effect.

Differential Revision: https://phabricator.services.mozilla.com/D127201
2021-10-22 06:04:29 +00:00
Lars T Hansen
6cfaf94769 Bug 1727084 - Memory64 - Preliminaries. r=yury
Scaffolding: Add assertions everywhere execution currently depends on
a memory being a memory32.  These assertions will disappear by and by.

Add some useful predicates and guard memory64 on !huge-memory.

Make it possible for the initial heap size to be a 64-bit value,
update WasmBCE.cpp to deal with this, and note in a comment that this
does not affect asm.js at all.

Exclude Cranelift and MIPS64 from memory64 in moz.configure; this
is extra work that does not pay off at this time.

Enable the inclusion of memory64 code by default in moz.configure.

Flip the about:config switch to false so that we can land in Nightly
without exposing content to m64 until we have completed Milestone 2.

Test cases are in the last patch in the queue.

Differential Revision: https://phabricator.services.mozilla.com/D124887
2021-10-18 09:58:13 +00:00
criss
46c110a0d3 Backed out 9 changesets (bug 1727084) for causing spidermonkey bustages on WasmMemory.cpp. CLOSED TREE
Backed out changeset 25456db35c17 (bug 1727084)
Backed out changeset 27db0e6a7010 (bug 1727084)
Backed out changeset 1ab8383d17ee (bug 1727084)
Backed out changeset 6089b4360edc (bug 1727084)
Backed out changeset b9d32ef0ad83 (bug 1727084)
Backed out changeset 359e414a1d7f (bug 1727084)
Backed out changeset d13d8c76693a (bug 1727084)
Backed out changeset 63ce829d63b4 (bug 1727084)
Backed out changeset 5315e548b651 (bug 1727084)
2021-10-18 11:52:31 +03:00
Lars T Hansen
96fecc40b8 Bug 1727084 - Memory64 - Preliminaries. r=yury
Scaffolding: Add assertions everywhere execution currently depends on
a memory being a memory32.  These assertions will disappear by and by.

Add some useful predicates and guard memory64 on !huge-memory.

Make it possible for the initial heap size to be a 64-bit value,
update WasmBCE.cpp to deal with this, and note in a comment that this
does not affect asm.js at all.

Exclude Cranelift and MIPS64 from memory64 in moz.configure; this
is extra work that does not pay off at this time.

Enable the inclusion of memory64 code by default in moz.configure.

Flip the about:config switch to false so that we can land in Nightly
without exposing content to m64 until we have completed Milestone 2.

Test cases are in the last patch in the queue.

Differential Revision: https://phabricator.services.mozilla.com/D124887
2021-10-18 07:31:54 +00:00
Marian-Vasile Laza
f3ed253216 Backed out 3 changesets (bug 1729563) as req by mgaudet (for causing Bug 1735775). CLOSED TREE
Backed out changeset dc52f8437ba0 (bug 1729563)
Backed out changeset baf92822b1bf (bug 1729563)
Backed out changeset 118e645725d0 (bug 1729563)
2021-10-14 19:33:36 +03:00
Tim Chevalier
dc58127416 Bug 1729563 - Implement change-array-by-copy methods r=mgaudet
See https://tc39.es/proposal-change-array-by-copy/

    Added jit-test tests in change-array-by-copy.js

Depends on: D127201

Differential Revision: https://phabricator.services.mozilla.com/D126146
2021-10-13 14:43:20 +00:00