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

85244 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 6b1a16673f Bug 1751699 - wasm: Handle OOM in allocating try note correctly. r=jseward
The method for allocating a wasm::TryNote in MacroAssembler would
mark that an OOM had occurred, but still return a bogus index
into the try notes. This commit propagates the OOM to the caller
so that it knows that there is no valid try note index to use.

Differential Revision: https://phabricator.services.mozilla.com/D136755
2022-01-26 20:15:48 +00:00
Nicolas B. Pierron e9435cc2da Bug 1741403 - Add isInStencilCache testing function. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D136335
2022-01-26 17:22:04 +00:00
Nicolas B. Pierron 397157f5fb Bug 1741403 - Add main-thread Stencilcaching test cases. r=arai
This patch modifies stencil test cases to add the ability to turn the cache on
and to fill-up this cache prior running the code. The intent being that the
cached code should be used and behave without any differences.

Differential Revision: https://phabricator.services.mozilla.com/D136334
2022-01-26 17:22:03 +00:00
Nicolas B. Pierron 7efc917796 Bug 1741403 - Add GetCachedLazyFunctionStencilMaybeInstantiate. r=arai
This patch adds a function which checks the cache and returns any cached result
from the StencilCache. This function is meant to short-cut the delazification by
looking up functions from the cache.

Differential Revision: https://phabricator.services.mozilla.com/D136333
2022-01-26 17:22:03 +00:00
Nicolas B. Pierron b91a605112 Bug 1741403 - Add StencilCache. r=arai
This patch add a strucutre which encapsulate a HashMap used to map a single
function to its CompilationStencil. This HashMap is wrapped using an
ExclusiveData Mutex, to ensure that uses are consistent.

To prevent costly uses of Mutexes, when the cache is not meant to be used, a
boolean flag is added as well as a few changes to the ExclusiveData::Guard. It
is extended to allow having a no-op Guard which evaluates to false if the lock
is not taken. In addition, this allow to have an outside scope which wrap all
StencilCache calls, to avoid having a call to clearAndDisable() in the middle.

Differential Revision: https://phabricator.services.mozilla.com/D136332
2022-01-26 17:22:02 +00:00
Nicolas B. Pierron 246151ae35 Bug 1741404 - Make ExtensibleCompilationStencil constructible without CompilationInput. r=arai
With off-thread delazification, the parser created and destroyed its
CompilationInput. Thus we have to carry the compilation information to the
cloned ExtensibleCompilationStencil.

This patch adds a new constructor to ExtensibleCompilationStencil which can be
constructed with CompileOptions and a ScriptSource pointer.

Differential Revision: https://phabricator.services.mozilla.com/D136331
2022-01-26 12:25:32 +00:00
Nicolas B. Pierron 2900ce5cb3 Bug 1741404 - Add ExtensibleCompilationStencil::cloneFrom functions. r=arai
As we want to delazify functions, in addition of being able to instantiate the
top-level parsed content. We need an extra ExtensibleCompilationStencil for the
CompilationStencilMerger.

This patch adds cloneFrom functions to ExtensibleCompilationStencil, to clone
from either a CompilationStencil or from an ExtensibleCompilationStencil.

Differential Revision: https://phabricator.services.mozilla.com/D136330
2022-01-26 12:25:32 +00:00
Nicolas B. Pierron a86a05201b Bug 1741404 - Clone SharedDataContainer when needed. r=arai
When stealing content from a borrowed stencil, we copy everything over the the
new stencil. This is true except for SharedDataContainer, which is moved. When
moving the SharedDataContainer we empty the content from the borrowed stencil.
This can be problematic if the borrowed stencil content is used to instantiate
scripts.

This patch adds a new function named SharedDataContainer::cloneFrom, used to do
a deep copy of the inner content of SharedDataContainer, and incrementing the
counters of all SharedImmutableScriptData which are contained in it.

Differential Revision: https://phabricator.services.mozilla.com/D136329
2022-01-26 12:25:32 +00:00
Zhao Jiazhong a3515d9e24 Bug 1752080 - [MIPS] Remove definitions of AtomicOperations::{Initialize,ShutDown}. r=jandem
These two functions have been deleted by D135984.

Differential Revision: https://phabricator.services.mozilla.com/D136999
2022-01-26 08:44:59 +00:00
Yury Delendik 3acc6f84fc Bug 1748807 - Enable relaxed SIMD instructions for Nightly. r=lth
Fixes StaticPrefList.yaml

Differential Revision: https://phabricator.services.mozilla.com/D136771
2022-01-25 22:37:30 +00:00
Mike Hommey 7723b5cc59 Bug 1751331 - Use the mozbuild crate in cranelift. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D136561
2022-01-25 21:29:51 +00:00
Mike Hommey b049d1d9cf Bug 1751331 - Use the mozbuild crate in mozglue-static. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136559
2022-01-25 21:29:50 +00:00
Cristian Tuns cb989b45fc Backed out changeset 8c176d488a6d (bug 1748807) for causing spidermonkey bustages on asserts.js CLOSED TREE 2022-01-25 11:06:07 -05:00
Yury Delendik 7b02db79f4 Bug 1748807 - Enable relaxed SIMD instructions for Nightly. r=lth
Fixes StaticPrefList.yaml

Differential Revision: https://phabricator.services.mozilla.com/D136771
2022-01-25 15:33:19 +00:00
Nicolas B. Pierron a036d9a205 Bug 1751452 - Move FunctionKey to SourceExtent. r=arai
This patchs extracts FunctionKey out of CompilationStencil and moves it to be
defined as part of the SourceExtent, as this is a condensed version of the
SourceExtent which can be used to uniquely identy a function qualified by a
SourceExtent.

Differential Revision: https://phabricator.services.mozilla.com/D136631
2022-01-25 13:52:48 +00:00
Barret Rennie 7eb153953c Bug 1745352 - Expose IOUtils and PathUtils via Cu.importGlobalProperties r=nika
PathUtils is the only binding requires for this patch, but eventually we'll
have to migrate NativeManifests.jsm to IOUtils and then we will have to provide
it anyway.

Differential Revision: https://phabricator.services.mozilla.com/D136433
2022-01-25 12:16:16 +00:00
Jan de Mooij 9a1036bf48 Bug 1732362 part 3 - Add an API to disable the JIT backend completely. r=iain
This adds a mechanism to permanently disable the JIT backend for the process. This
lets us improve the sandbox for the socket process.

Depends on D136723

Differential Revision: https://phabricator.services.mozilla.com/D136724
2022-01-25 10:13:04 +00:00
Jan de Mooij 41b6a25500 Bug 1732362 part 2 - Initialize JS engine after parsing command line options. r=jonco
This allows us to have shell flags that affect JS_Init.

Depends on D136722

Differential Revision: https://phabricator.services.mozilla.com/D136723
2022-01-25 10:13:03 +00:00
Jan de Mooij 83fb21552d Bug 1732362 part 1 - Use system malloc for JS shell's option parser. r=jonco
The next patch changes the shell to parse the shell flags before calling JS_Init.
This means we have to use the system malloc instead of JS malloc.

Differential Revision: https://phabricator.services.mozilla.com/D136722
2022-01-25 10:13:03 +00:00
Jon Coppeard 86c1b054f1 Bug 1751162 - Part 2: Add a nursery size heuristic based on the length of collection time r=sfink
This limits the growth rate based on the length of collection time, such that
size is proportionally reduced when the time is longer than 4ms.

The existing 'timeFraction' got renamed to 'dutyFactor' to disambiguate.

This doesn't happen during pageload so as not to blow up all our page load
benchmarks.

This is pretty much a wash on octane although it improves splay latency by 3.8%
for me.

This should drastically reduce the number of long minor GCs we see. I expect
we'll see a change in the telemetry.

Depends on D136636

Differential Revision: https://phabricator.services.mozilla.com/D136637
2022-01-25 09:24:13 +00:00
criss bc6de6a896 Backed out 2 changesets (bug 1751331) for causing multiple failures. CLOSED TREE
Backed out changeset c4081656bc53 (bug 1751331)
Backed out changeset 27df9b0ccfb1 (bug 1751331)
2022-01-25 11:41:52 +02:00
Jon Coppeard 40e13d17ff Bug 1751717 - Add JS_GC_PROFILE_FILE environment variable to set destination for GC profiling output r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D136753
2022-01-25 09:19:18 +00:00
Mike Hommey a7254d5105 Bug 1751331 - Use the mozbuild crate in cranelift. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D136561
2022-01-25 09:03:03 +00:00
Caroline Cullen f63072f1ec Bug 1750496 - Remove congruent_to for MStringSplit. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D136282
2022-01-24 22:13:14 +00:00
Ryan Hunt d3f1d13b2f Bug 1751554 - wasm: Skip phi fixup when wasm-eh is not compiled in. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D136754
2022-01-24 21:37:29 +00:00
Barret Rennie f9a2e4cbd1 Bug 1745427 - Do not eagerly fetch non-requested directories in PathUtils r=nika
PathUtils.getTempDir() was failing in xpcshell tests for two reasons:

1. It was requesting NS_APP_CONTENT_PROCESS_TEMP_DIR, which resolves to
   `ContentTmpD`, which the directory provider did not have an entry for.
2. By default, XPC shell tests do not have a profile set up, so when we request
   the temporary directory and eagerly fetch the profile directory, we would fail.

We now only fetch the entry for the single directory that is requested to work
around these edge cases in tests. xpcshell has been modified so that requests
for the `ContentTmpD` are forwarded to requests for the regular OS temporary
directory.

Differential Revision: https://phabricator.services.mozilla.com/D134877
2022-01-24 20:48:10 +00:00
Jon Coppeard 75c9700273 Bug 1751162 - Part 1: Estimate a target nursery size rather than a target nursery growth rate r=sfink
Looking at this code, I'm not sure why I did it like this. We hope that there
will be a single optimum nursery size that we can estimate, but the code tries
to estimate a growth rate instead. I think this leads to us over-growing the
nursery at the start of intensive workloads.

The patch changes this the code to estimate an optimum nursery size (in
smoothedTargetSize) based on the existing heuristics. This ended up with a
slower ramp up of nursery size so I changed it to weight clamped growth factors
more when calculating the smoothed value.

I tired hard to make this neutral on benchmark results, but I'll guess we'll
see.

Differential Revision: https://phabricator.services.mozilla.com/D136636
2022-01-24 10:26:16 +00:00
Jan de Mooij a27bc0f2c6 Bug 1749665 part 5 - Remove AutoSuppressGCAnalysis instances now that indirect calls are gone. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D136594
2022-01-24 09:11:50 +00:00
Jan de Mooij 4879392aa7 Bug 1749665 part 4 - Add cross-referencing comments. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D136593
2022-01-24 09:11:50 +00:00
Jan de Mooij 844557ace1 Bug 1749665 part 3 - Replace atomic operation stubs with inline assembly. r=lth
Goal of this patch is to allow disabling all JIT codegen in certain Firefox processes
to let us enable more security mitigations. The JS VM uses the atomic operation stubs
we compile at runtime so this patch converts those to inline assembly instead.

This adds a Python script to generate a header file that has all the inline assembly code.
The inline assembly instructions are based on the JIT-compiled trampoline code.

The generated header is used for all x86/x64/arm32/arm64 builds, so this now includes
no-JIT builds as well.

Differential Revision: https://phabricator.services.mozilla.com/D135984
2022-01-24 09:11:50 +00:00
Jan de Mooij 5f9712329e Bug 1749665 part 2 - Initialize CPU flags in InitializeJit. r=lth
We currently rely on this happening when compiling the atomic operation stubs,
but that will change with the next patch.

Depends on D135982

Differential Revision: https://phabricator.services.mozilla.com/D135983
2022-01-24 09:11:49 +00:00
Jan de Mooij 03a95e470e Bug 1749665 part 1 - Remove MSVC header that's no longer used. r=lth
MSVC support was dropped a while ago.

Differential Revision: https://phabricator.services.mozilla.com/D135982
2022-01-24 09:11:49 +00:00
Iulian Moraru 4d6f01e19a Backed out 5 changesets (bug 1749665) for causing hazard failures. CLOSED TREE
Backed out changeset 750012d34b73 (bug 1749665)
Backed out changeset 7a30186c853a (bug 1749665)
Backed out changeset 1942703cc665 (bug 1749665)
Backed out changeset 012177f72587 (bug 1749665)
Backed out changeset e02c59ccee17 (bug 1749665)
2022-01-24 00:05:05 +02:00
Jan de Mooij 9d8a5eda59 Bug 1749665 part 5 - Remove AutoSuppressGCAnalysis instances now that indirect calls are gone. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D136594
2022-01-23 16:47:18 +00:00
Jan de Mooij 81d79a591b Bug 1749665 part 4 - Add cross-referencing comments. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D136593
2022-01-23 16:47:17 +00:00
Jan de Mooij 34ed6f1cab Bug 1749665 part 3 - Replace atomic operation stubs with inline assembly. r=lth
Goal of this patch is to allow disabling all JIT codegen in certain Firefox processes
to let us enable more security mitigations. The JS VM uses the atomic operation stubs
we compile at runtime so this patch converts those to inline assembly instead.

This adds a Python script to generate a header file that has all the inline assembly code.
The inline assembly instructions are based on the JIT-compiled trampoline code.

The generated header is used for all x86/x64/arm32/arm64 builds, so this now includes
no-JIT builds as well.

Differential Revision: https://phabricator.services.mozilla.com/D135984
2022-01-23 16:47:17 +00:00
Jan de Mooij 1ed701c11d Bug 1749665 part 2 - Initialize CPU flags in InitializeJit. r=lth
We currently rely on this happening when compiling the atomic operation stubs,
but that will change with the next patch.

Depends on D135982

Differential Revision: https://phabricator.services.mozilla.com/D135983
2022-01-23 16:47:16 +00:00
Jan de Mooij 83bcf246d1 Bug 1749665 part 1 - Remove MSVC header that's no longer used. r=lth
MSVC support was dropped a while ago.

Differential Revision: https://phabricator.services.mozilla.com/D135982
2022-01-23 16:47:16 +00:00
Butkovits Atila 5ad2b9480a Merge autoland to mozilla-central. a=merge 2022-01-22 23:47:38 +02:00
Sandor Molnar 39a9cccb92 Backed out changeset 9743e5209921 (bug 1745427) for causing mochitest failures in dom/system/tests/test_pathutils.html CLOSED TREE 2022-01-22 04:04:25 +02:00
Steve Fink 46d85abdff Bug 1746090 - arg0_holder can have a non *Argument type, eg if it's using SpiderMonkeyInterfaceRooter. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136044
2022-01-22 01:34:46 +00:00
Steve Fink 112ef63fa6 Bug 1746090 - Fix return value handling, specifically when the final edge in a function body GCs and is treating as using the return value. (This fixes false alarms when returning nullptr in the scope of a GC'ing RAII destructor.) r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136043
2022-01-22 01:34:46 +00:00
Steve Fink 3175cb02d5 Bug 1746090 - Replace the overcomplicated bodyEatsVariable with a quick linear-only test, and improve the comments around std::move + UniquePtr&& handling r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136042
2022-01-22 01:34:45 +00:00
Steve Fink 2984f44b93 Bug 1746090 - Switch RootList::init from taking an AutoCheckCannotGC token to returning one r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135297
2022-01-22 01:34:45 +00:00
Steve Fink 5adab62def Bug 1746090 - Fix the false positive from a loop-scoped GC pointer named temporary r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135296
2022-01-22 01:34:44 +00:00
Steve Fink 3ca4b18a67 Bug 1746090 - Annotate edges that invoke destructors on ref-counted values that can be proven to not Release r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133802
2022-01-22 01:34:44 +00:00
Steve Fink aa8348a2a0 Bug 1746090 - Generate gcEdges file with computeCallgraph instead of computeGCFunctions r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133801
2022-01-22 01:34:44 +00:00
Steve Fink 59adcb97cc Bug 1746090 - Switch to command-line argument parser. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133800
2022-01-22 01:34:43 +00:00
Steve Fink 6140430bb5 Bug 1746090 - Move some CFG-traversing code from analyzeRoots.js to the common CFG.js, to prepare for calling it from other phases of the analysis. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133799
2022-01-22 01:34:43 +00:00
Steve Fink c13a50bc76 Bug 1746090 - Generalize traversing through a function's CFG with BFS_upwards(). r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133798
2022-01-22 01:34:42 +00:00
Barret Rennie 85c0fc57eb Bug 1745427 - Do not eagerly fetch non-requested directories in PathUtils r=nika
PathUtils.getTempDir() was failing in xpcshell tests for two reasons:

1. It was requesting NS_APP_CONTENT_PROCESS_TEMP_DIR, which resolves to
   `ContentTmpD`, which the directory provider did not have an entry for.
2. By default, XPC shell tests do not have a profile set up, so when we request
   the temporary directory and eagerly fetch the profile directory, we would fail.

We now only fetch the entry for the single directory that is requested to work
around these edge cases in tests. xpcshell has been modified so that requests
for the `ContentTmpD` are forwarded to requests for the regular OS temporary
directory.

Differential Revision: https://phabricator.services.mozilla.com/D134877
2022-01-22 01:19:08 +00:00
Micah Tigley ce0cb47934 Bug 1749819 - Remove check for channel GetContentLength(). r=dom-workers-and-storage-reviewers,mccr8,asuth
Differential Revision: https://phabricator.services.mozilla.com/D135745
2022-01-22 01:16:06 +00:00
Tom Schuster c7d452fadf Bug 1751250 - XPCNativeWrapper should throw for non-objects when constructing. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D136632
2022-01-21 19:53:20 +00:00
Ryan Hunt 345616252d Bug 1749891 - wasm: Fix loop phi reduction with loops that throw inside of try blocks. r=nbp
We minimize phi nodes when finishing a loop block. There is some
logic for ensuring all redundant phi node uses are updated correctly,
but it's missing logic for control flow patches added by throw/call
statements inside of try blocks

This commit extends the setLoopBackedge() code to fixup redundant
phi nodes that escape via landing pad patches to enclosing try
blocks.

Differential Revision: https://phabricator.services.mozilla.com/D135815
2022-01-21 19:52:04 +00:00
Lars T Hansen 0f148be810 Bug 1750930 - Make the indirect stub table two-level. r=yury
For large applications with multiple threads and large tables of
indirect functions and tiered compilation, the shared (per-module)
indirect stubs set can easily reach one million entries.  However the
insert-one-at-a-time strategy for this set uses linear time, so
merging a new set of stubs into the set will tend to take quadratic
time.  Furthermore, a lock is held by each thread during this slow
process, serializing all the threads.  The result can be very slow
application startup.

As a stopgap (because we may remove the indirect stubs and don't need
to commit to a complex solution right now), we break the indirect
stubs set it into per-tls sets to avoid the very long insertion times
resulting from having one shared set per module.  Set merging remains
quadratic but the since the sets are much smaller it matters much
less.

A followup bug will be filed for a better, permanent solution, should
we need it.

Differential Revision: https://phabricator.services.mozilla.com/D136470
2022-01-21 15:37:21 +00:00
Noemi Erli 3da595ab6f Backed out 10 changesets (bug 1746090) for causing failures in HeapSnapshot.cpp CLOSED TREE
Backed out changeset 132c6be41ec2 (bug 1746090)
Backed out changeset aea63ceb5ff5 (bug 1746090)
Backed out changeset 42586bdfd56f (bug 1746090)
Backed out changeset 86dfecd590e8 (bug 1746090)
Backed out changeset 92a55bc8c1c8 (bug 1746090)
Backed out changeset 3a282a6b5f65 (bug 1746090)
Backed out changeset fe5ac63668b4 (bug 1746090)
Backed out changeset a0b1735ffffd (bug 1746090)
Backed out changeset 2f7a62b93266 (bug 1746090)
Backed out changeset b9b4558c03dc (bug 1746090)
2022-01-21 02:58:48 +02:00
Steve Fink 5df06ce671 Bug 1746090 - arg0_holder can have a non *Argument type, eg if it's using SpiderMonkeyInterfaceRooter. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136044
2022-01-20 23:40:30 +00:00
Steve Fink b1940ec762 Bug 1746090 - Fix return value handling, specifically when the final edge in a function body GCs and is treating as using the return value. (This fixes false alarms when returning nullptr in the scope of a GC'ing RAII destructor.) r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136043
2022-01-20 23:40:30 +00:00
Steve Fink 737616435b Bug 1746090 - Replace the overcomplicated bodyEatsVariable with a quick linear-only test, and improve the comments around std::move + UniquePtr&& handling r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136042
2022-01-20 23:40:29 +00:00
Steve Fink fb8fc947c7 Bug 1746090 - Switch RootList::init from taking an AutoCheckCannotGC token to returning one r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135297
2022-01-20 23:40:29 +00:00
Steve Fink 1ea83644dc Bug 1746090 - Fix the false positive from a loop-scoped GC pointer named temporary r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135296
2022-01-20 23:40:29 +00:00
Steve Fink 67759946f0 Bug 1746090 - Annotate edges that invoke destructors on ref-counted values that can be proven to not Release r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133802
2022-01-20 23:40:28 +00:00
Steve Fink b03ec5bcab Bug 1746090 - Generate gcEdges file with computeCallgraph instead of computeGCFunctions r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133801
2022-01-20 23:40:28 +00:00
Steve Fink 181b6b391a Bug 1746090 - Switch to command-line argument parser. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133800
2022-01-20 23:40:27 +00:00
Steve Fink 9bc822bb89 Bug 1746090 - Move some CFG-traversing code from analyzeRoots.js to the common CFG.js, to prepare for calling it from other phases of the analysis. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133799
2022-01-20 23:40:27 +00:00
Steve Fink 79aba83a90 Bug 1746090 - Generalize traversing through a function's CFG with BFS_upwards(). r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133798
2022-01-20 23:40:27 +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
Yury Delendik 1ff25f1ff2 Bug 1750049 - [wasm] Use AVX2 ops for splat instructions. r=jseward
Implements splat and loadXX_splat wasm simd instructions for AVX2.

Differential Revision: https://phabricator.services.mozilla.com/D136034
2022-01-20 13:41:47 +00:00
Jon Coppeard f6405c4772 Bug 1750964 - Part 2: Use TimeDuration to represent time budgets r=sfink
Switch the internal representation of the time budget to use a TimeDuration
instead of an integer number of milliseconds. I experimented with changing the
timeBudget() getter but this introduced a bunch of churn without adding much.

Differential Revision: https://phabricator.services.mozilla.com/D136357
2022-01-20 08:47:05 +00:00
Jon Coppeard 6de8f4de43 Bug 1750964 - Part 1: Remove unused SliceBudget::reset() r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D136356
2022-01-20 08:47:04 +00:00
Jon Coppeard b7c6ca6a38 Bug 1750794 - Part 2: Improve last ditch GC test r=sfink
This test can be thrown off by zeal modes which result in a different current
heap size when the test starts. This patch makes us do shriking GCs which puts
into more a a known state before performing tests.

Differential Revision: https://phabricator.services.mozilla.com/D136249
2022-01-20 08:46:20 +00:00
Jon Coppeard 827227472e Bug 1750794 - Part 1: Make the shell allocation metadata hook create properties with default attributes r=sfink,jandem
The shell allocation metadata builder creates a bunch of objects for every
allocation, including a dummy representation of the stack at which the allocation
happened. This puts the stack frames into a JS array object. This would usually
use dense elements to store the indexed properties but the code uses property
attribute flags of zero which creates non-enumerable properties. This leads to
the object going in to dictionary mode instead which is much slower.

This causes a problem with the test
jit-test/tests/errors/overrecursed-double-fault-1.js which enables allocation
metadabta and then enters an infinite loop. The test can recurse ~40000 times
before throwing an overrecursion error. The error also contains a
representation of the stack, including a SavedFrame JS object for every frame.
The allocation metadata builder then tries to create metadata for each one of
these objects, and so this is quadratic in the number of frames.  All of this
means that this test can easily time out.

The simplest solution for all this is to use the default attributes when
creating these properties which results in the faster dense element storage
being used.

Differential Revision: https://phabricator.services.mozilla.com/D136248
2022-01-20 08:46:20 +00:00
Marian-Vasile Laza 5e48e30b98 Backed out 10 changesets (bug 1746090) for causing build bustages on TestingFunctions.cpp. CLOSED TREE
Backed out changeset edbf96722e4b (bug 1746090)
Backed out changeset f4e4bf6ba8ff (bug 1746090)
Backed out changeset c288fe1c6c84 (bug 1746090)
Backed out changeset 2b0caa13d0fc (bug 1746090)
Backed out changeset 1ed9d77885c6 (bug 1746090)
Backed out changeset 54a60388fb11 (bug 1746090)
Backed out changeset a9c16e721533 (bug 1746090)
Backed out changeset 774bdb9939a9 (bug 1746090)
Backed out changeset 5c5742535301 (bug 1746090)
Backed out changeset ff509fe4671d (bug 1746090)
2022-01-20 02:39:17 +02:00
Steve Fink 66f72fd352 Bug 1746090 - arg0_holder can have a non *Argument type, eg if it's using SpiderMonkeyInterfaceRooter. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136044
2022-01-20 00:23:11 +00:00
Steve Fink d023ea6a20 Bug 1746090 - Fix return value handling, specifically when the final edge in a function body GCs and is treating as using the return value. (This fixes false alarms when returning nullptr in the scope of a GC'ing RAII destructor.) r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136043
2022-01-20 00:23:11 +00:00
Steve Fink dc67e17dae Bug 1746090 - Replace the overcomplicated bodyEatsVariable with a quick linear-only test, and improve the comments around std::move + UniquePtr&& handling r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D136042
2022-01-20 00:23:10 +00:00
Steve Fink aea0c2fa07 Bug 1746090 - Switch RootList::init from taking an AutoCheckCannotGC token to returning one r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135297
2022-01-20 00:23:10 +00:00
Steve Fink 2bd4ac2485 Bug 1746090 - Fix the false positive from a loop-scoped GC pointer named temporary r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D135296
2022-01-20 00:23:09 +00:00
Steve Fink 96032b0e36 Bug 1746090 - Annotate edges that invoke destructors on ref-counted values that can be proven to not Release r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133802
2022-01-20 00:23:09 +00:00
Steve Fink b1fe6f872f Bug 1746090 - Generate gcEdges file with computeCallgraph instead of computeGCFunctions r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133801
2022-01-20 00:23:09 +00:00
Steve Fink ce554e436c Bug 1746090 - Switch to command-line argument parser. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133800
2022-01-20 00:23:08 +00:00
Steve Fink 426832065e Bug 1746090 - Move some CFG-traversing code from analyzeRoots.js to the common CFG.js, to prepare for calling it from other phases of the analysis. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133799
2022-01-20 00:23:08 +00:00
Steve Fink adde747e0d Bug 1746090 - Generalize traversing through a function's CFG with BFS_upwards(). r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D133798
2022-01-20 00:23:07 +00:00
Tooru Fujisawa 4beb65365c Bug 1750935 - Fix static string lookup for two-byte. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D136344
2022-01-19 12:21:56 +00:00
Jon Coppeard 1334c2c2ed Bug 1750792 - Add GCPtr-style abstraction for pointers to malloced structures that hold GC pointers r=jandem
Adds GCStructPtr to hold pointers from GC things to malloc-allocated structures
containing GC things, adding a write barrier when the pointer is overwritten.

The set() method also takes a Zone pointer so that we can check whether
barriers are currently required.

The patch replaces use of such pointers with the abstraction.

Differential Revision: https://phabricator.services.mozilla.com/D136250
2022-01-19 10:01:12 +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
Matthew Gaudet 1317914be8 Bug 1748919 - Feature test non262 jstests for ReadableStream r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D135295
2022-01-18 20:40:15 +00:00
Matthew Gaudet 9a4b4469b0 Bug 1748919 - Make ReadableStream jit-tests conditional on the presence of ReadableStream r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D135294
2022-01-18 20:40:15 +00:00
Tooru Fujisawa 25d28be9b9 Bug 1746380 - Part 5: Optimize well-known symbol construction. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135104
2022-01-18 12:48:28 +00:00
Tooru Fujisawa a669c9d445 Bug 1746380 - Part 4: Remove length validation and static string lookup from non-atom string instantiation. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135103
2022-01-18 12:48:28 +00:00
Tooru Fujisawa 47e8171371 Bug 1746380 - Part 3: Remove length validation from atom instantiation. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135102
2022-01-18 12:48:27 +00:00
Tooru Fujisawa 913844f4ab Bug 1746380 - Part 2: Move atom-specific path out of string allocation code. r=nbp
Split `cx->zone()->isAtomsZone()` branch into 2 functions, for atom case and
non-atom case.

Also removed reduncent steps (static string lookup, length validation,
deflation) from atom case, based on the atomization progress.

Differential Revision: https://phabricator.services.mozilla.com/D135101
2022-01-18 12:48:27 +00:00
Tooru Fujisawa 0a8265b035 Bug 1746380 - Part 1: Clarify atomization progress in the function name. r=nbp
To avoid duplicate steps through the atomization process:
 * If the function assumes the input doesn't match static strings
   (static strings case is already handled), append `NoStatic`
 * If the function assumes the length is valid, append `ValidLength`

Differential Revision: https://phabricator.services.mozilla.com/D135100
2022-01-18 12:48:27 +00:00
Tooru Fujisawa 3262a82616 Bug 1746382 - Remove static string lookup from stencil instantiation. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D135099
2022-01-18 12:48:26 +00:00
Jan de Mooij 9c43486404 Bug 1750558 part 3 - Remove unnecessary setIsUsedAsPrototype call. r=iain
Drive-by change to remove some code we no longer need after Stencil removed the
off-thread parse/XDR global.

Note that we still assert/check isUsedAsPrototype under getInitialOrPropMapShape.

Depends on D136146

Differential Revision: https://phabricator.services.mozilla.com/D136147
2022-01-18 10:34:29 +00:00
Jan de Mooij 6b93058e9e Bug 1750558 part 2 - Support prototype objects in assign fast path. r=iain
In bug 1738020 we moved the shape teleporting code into NativeObject::addProperty,
which we call from TryAssignPlain, so this should just work now.

Exception is the shape-reuse fast path, but the previous patch ensures we no longer
use that if the object is a prototype object, so we can just add an assertion there.

Differential Revision: https://phabricator.services.mozilla.com/D136146
2022-01-18 10:34:29 +00:00
Jan de Mooij 3a6016f147 Bug 1750558 part 1 - Fix NativeObject::canReuseShapeForNewProperties to handle the HasEnumerable flag. r=iain
We were checking the old and new shapes have the same object flags, but this was
(almost) never the case after we added the HasEnumerable flag in bug 1733075,
disabling the optimization in practice.

With this patch we hit the fast path again on Reddit.

Differential Revision: https://phabricator.services.mozilla.com/D136145
2022-01-18 10:34:28 +00:00
criss ebdd8a29de Backed out 6 changesets (bug 1746380, bug 1746382) for causing multiple failures. CLOSED TREE
Backed out changeset 7269c2e3b6f8 (bug 1746380)
Backed out changeset 9e4cdff09263 (bug 1746380)
Backed out changeset cafa79c30500 (bug 1746380)
Backed out changeset 006da995143d (bug 1746380)
Backed out changeset eeb21b8d0aa9 (bug 1746380)
Backed out changeset d0aa76da755c (bug 1746382)
2022-01-18 09:49:45 +02:00
Tooru Fujisawa d42f265200 Bug 1746380 - Part 5: Optimize well-known symbol construction and remove unnecessary check for null-zone. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135104
2022-01-18 07:16:56 +00:00
Tooru Fujisawa 9880a32000 Bug 1746380 - Part 4: Remove length validation and static string lookup from non-atom string instantiation. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135103
2022-01-18 07:16:56 +00:00
Tooru Fujisawa 60f1753f38 Bug 1746380 - Part 3: Remove length validation from atom instantiation. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D135102
2022-01-18 07:16:56 +00:00
Tooru Fujisawa 484e486950 Bug 1746380 - Part 2: Move atom-specific path out of string allocation code. r=nbp
Split `cx->zone()->isAtomsZone()` branch into 2 functions, for atom case and
non-atom case.

Also removed reduncent steps (static string lookup, length validation,
deflation) from atom case, based on the atomization progress.

Differential Revision: https://phabricator.services.mozilla.com/D135101
2022-01-18 07:16:55 +00:00
Tooru Fujisawa f2eae8d1c1 Bug 1746380 - Part 1: Clarify atomization progress in the function name. r=nbp
To avoid duplicate steps through the atomization process:
 * If the function assumes the input doesn't match static strings
   (static strings case is already handled), append `NoStatic`
 * If the function assumes the length is valid, append `ValidLength`

Differential Revision: https://phabricator.services.mozilla.com/D135100
2022-01-18 07:16:55 +00:00
Tooru Fujisawa 46cecf21bb Bug 1746382 - Remove static string lookup from stencil instantiation. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D135099
2022-01-18 07:16:54 +00:00
Yury Delendik 2d7467c0d1 Bug 1708743 - Add HasAVX2() to assembler; detect via CPUID. r=lth
Adds CPUID detection, if avxPresent set.

The isAvxPresent function interface is modified to check if AVX V2 is active.

Differential Revision: https://phabricator.services.mozilla.com/D136033
2022-01-17 21:29:21 +00:00
Philip Chimento a5427de8be Bug 1735200 - Add cause argument to JS::CreateError(). r=jandem
Add a cause argument to JS::CreateError(), in order to be able to create
errors with cause through the public API.

Differential Revision: https://phabricator.services.mozilla.com/D135931
2022-01-17 15:23:40 +00:00
Philip Chimento 9b93037993 Bug 1735200 - Add JSAPI for getting Error.cause. r=jandem
JS::GetExceptionCause() simply wraps ErrorObject::getCause().

Differential Revision: https://phabricator.services.mozilla.com/D135930
2022-01-17 15:23:40 +00:00
Lars T Hansen 14118d2896 Bug 1749671 - Make more data bits available in LAllocation on 64-bit. r=nbp
This is a simple fix for a too-small field for the virtual register number on arm64,
where the field gets only 18 bits.  This change expands the field to 21 bits.  This
is enough to solve compilation problems on web.autocad.com.

Differential Revision: https://phabricator.services.mozilla.com/D136106
2022-01-17 13:03:38 +00:00
Jon Coppeard d0cf1d6aad Bug 1749797 - Treat gray bits as initially valid r=sfink,mccr8
Previously the 'gray mark bits are valid state' was initially false, and set to
true after the first full GC. But there's no reason that the gray state is
invalid initially. The state is only marked as invalid when we abort gray
unmarking due to OOM, which does lead to an actually incorrect state where some
things are marked gray when they should be black. The initial state of cells
being marked white is not invalid, although cycles through white cells cannot
be collected at this time.

This patch has no impact on AWSY.

Differential Revision: https://phabricator.services.mozilla.com/D136026
2022-01-17 09:24:16 +00:00
Matthew Gaudet aa1c355a89 Bug 1746653 - Support ReadableStream in Sandbox's wantGlobalObject r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D135289
2022-01-14 21:09:23 +00:00
Matthew Gaudet 7b19fce73c Bug 1746651 - Move nukeCCW helper to make it available in xpcshell tests r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D135288
2022-01-14 21:09:22 +00:00
Kagami Sascha Rosylight 624a3640bf Bug 1669552 - Add TestUtils support for WPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D135942
2022-01-14 18:36:59 +00:00
Julian Seward e6144ebd9f Bug 1750046 - Add comprehensive testing of the wasm i32/i64 compare-select idiom. r=lth.
Bug 1748700 shows a regression introduced by bug 1716580, which incorrectly
optimised some wasm compare-select cases.  The underlying problem was
inadequate testing in the latter bug.

This bug adds comprehensive testing of compare-select for the following
cases:
```
  compare     in  i32 i64
  select      in  i32 i64
  compare-op  in  eq ne lt_s lt_u gt_s gt_u le_s le_u ge_s ge_u
```

It is verified as able to detect the regression introduced by bug 1716580.

Differential Revision: https://phabricator.services.mozilla.com/D135919
2022-01-14 13:18:32 +00:00
Andre Natal c3cc53a701 Bug 1722102 - Adding vendor intgemm library r=yury,lth,firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D120770
2022-01-13 21:27:37 +00:00
Iain Ireland 14d4d44fb1 Bug 1745907: Treat oversized string/bigint allocations as nondeterministic r=jandem
The testcase triggers a bailout loop in the bigint case. It's not possible to write an equivalent testcase for string concatenation, because we don't attach a stub unless the concatenation succeeds.

I've also verified that this prints a message for the fuzzer in all the differential testcases I could find.

Differential Revision: https://phabricator.services.mozilla.com/D135619
2022-01-13 19:25:27 +00:00
Iain Ireland b0f78edeb4 Bug 1749460: Check for any overridden element in OptimizeArgumentsSpreadCall r=jandem
DefineProperty on an arguments object doesn't have the same magic as SetProperty for updating the ArgumentsData array, so we have to make sure that no elements have been overridden in OptimizeArgumentsSpreadCall before calling ArrayFromArgumentsObject.

This is a regression from anba's patches in bug 1740737 to optimize `...arguments`. It's the rare bug that only fails in the interpreter. (In higher tiers, we already always guarded on the HasOverriddenElement flag.)

Differential Revision: https://phabricator.services.mozilla.com/D135770
2022-01-13 19:25:23 +00:00
Noemi Erli 09dc5b2ce7 Backed out changeset 4959d55a439a (bug 1722102) for causing SM bild bustage CLOSED TREE 2022-01-13 18:29:02 +02:00
Andre Natal 7352475230 Bug 1722102 - Adding vendor intgemm library for Firefox Translations r=yury,lth,firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D120770
2022-01-13 15:55:06 +00:00
Yury Delendik ece708abfa Bug 1708743 - Add javascript.options.wasm_simd_avx preference. r=jandem
Allows AVX SIMD instructions on x86/x64. Mostly as experiment for benchmarking --
if success, it will be on if available.

Differential Revision: https://phabricator.services.mozilla.com/D135561
2022-01-12 22:31:30 +00:00
Yulia Startsev 054098f80a Bug 1749496 - Add groupby and groupbytomap to xrayToJS only in nightly build r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D135604
2022-01-12 12:22:56 +00:00
Tom Ritter a2a3b5a205 Bug 1748870 - Do not leave a pending JS Exception on the stack r=mgaudet
In 1746231 the JS Exception stuff was moved from the
callback call site into the callback itself.
However, when it was moved, an exception could be
added even if we were going to permit the script
execution.  This is wrong.

Move the exception stuff back to the callback site
and use the result of the callback to determine if
we add anything to the stack or not

Differential Revision: https://phabricator.services.mozilla.com/D135250
2022-01-11 19:16:38 +00:00
Sebastian Hengst 7f0feb90f6 Bug 1749500 - adjust ifdef for diagnostic assert to be controlled by early beta switch r=nbp DONTBUILD
Bug 1748969 changed diagnostic asserts from working in Nightly and Dev Edition
to early Beta and more bleeding edge.

Differential Revision: https://phabricator.services.mozilla.com/D135625
2022-01-11 18:16:32 +00:00
Tooru Fujisawa 395f0f1eec Bug 1745664 - Part 2: Add length-3 static string for 100-255 range. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D133621
2022-01-11 17:40:22 +00:00
Tooru Fujisawa e61f35b587 Bug 1745664 - Part 1: Extend Length1StaticParserString to non-ASCII range. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D133620
2022-01-11 17:40:22 +00:00
Yury Delendik 7b2c6799e8 Bug 1708743 - [wasm] Use IsAvxPresent flag in build ID. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D135560
2022-01-11 17:15:27 +00:00
Tooru Fujisawa e58b6a54d9 Bug 1743623 - Part 5: Initialize classStaticBlocks_ field. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D133979
2022-01-11 15:55:51 +00:00
Tooru Fujisawa 334acce369 Bug 1743623 - Part 1: Remove worker-specific override from JS context options. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D133975
2022-01-11 15:55:50 +00:00
Julian Seward 5b4f4c320b Bug 1748700 - wasm-via-Ion: fix incorrect 64-bit compare-select merging introduced in bug 1716580. r=lth.
Prior to bug 1716580, Ion could in some cases merge a 32-bit wasm compare and
a 32-bit wasm select into just two machine instructions.  Bug 1716580 expanded
that to include 64-bit operands on some targets.  Unfortunately the resulting
code was incorrect for the case where the comparison is of unsigned-64-bit
values, and this was not adequately covered by testing.

This patch:

* fixes the problem, which is a missing test in JSOpToCondition().

* enhances existing test cases for the transformation so as to check for
  correct handling of signedness in the comparisons.

Differential Revision: https://phabricator.services.mozilla.com/D135605
2022-01-11 15:50:09 +00:00
Andi-Bogdan Postelnicu 120496a230 Bug 1519636 - Reformat recent changes to the Google coding style. r=sylvestre
Updated with clang-format version 13.0.0 (taskcluster-dn0nWlPhT22vaQNfMnFkSg)

Differential Revision: https://phabricator.services.mozilla.com/D135325
2022-01-11 15:49:03 +00:00
criss 64df8411ef Backed out 5 changesets (bug 1743623) for causing hybrid bustages on RuntimeService. CLOSED TREE
Backed out changeset f671659046b1 (bug 1743623)
Backed out changeset 2f2368b8f931 (bug 1743623)
Backed out changeset 51820e97c1eb (bug 1743623)
Backed out changeset 824c5cd5ea17 (bug 1743623)
Backed out changeset cee175fa09e7 (bug 1743623)
2022-01-11 15:31:35 +02:00
Lars T Hansen b387f3e525 Bug 1747870 - Account for large SIMD types in the stack map. r=jseward
Centrally this introduces a static_assert that the stack map's
frame-offset-from-top field can hold the values it needs to hold.

This static_assert turns out to fail on x86-32 with SIMD enabled, and
we can also provoke a release assert that guards against overflow with
the enclosed test case, which is valid code.

To fix this, the field must be expanded by one bit, and it might as
well be expanded on all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D135032
2022-01-11 12:13:27 +00:00
Tooru Fujisawa 9b317dbcdb Bug 1743623 - Part 5: Initialize classStaticBlocks_ field. r=jandem
Depends on D133978

Differential Revision: https://phabricator.services.mozilla.com/D133979
2022-01-11 12:03:55 +00:00
Tooru Fujisawa 05784d7f5c Bug 1743623 - Part 1: Remove worker-specific override from JS context options. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D133975
2022-01-11 12:03:54 +00:00
Cristian Tuns dea3b789a7 Backed out 2 changesets (bug 1617369, bug 1519636) for causing lint failures on multiple files. CLOSED TREE
Backed out changeset 6726892a0012 (bug 1617369)
Backed out changeset c08caa5f8504 (bug 1519636)
2022-01-11 04:38:34 -05:00
Andi-Bogdan Postelnicu f4ea362111 Bug 1519636 - Reformat recent changes to the Google coding style. r=sylvestre
Updated with clang-format version 13.0.0 (taskcluster-dn0nWlPhT22vaQNfMnFkSg)

Differential Revision: https://phabricator.services.mozilla.com/D135325
2022-01-11 09:16:56 +00:00
Jon Coppeard 55aad8b788 Bug 1749329 - Record GC time spent on helper threads r=sfink
This records parallel task time as part of the current GC slice and reports it
in the JS_GC_PROFILE output, plus some misc tidyup.

Differential Revision: https://phabricator.services.mozilla.com/D135524
2022-01-11 08:47:09 +00:00
Yulia Startsev 61139f5a41 Bug 1739648 - enable on Nightly and add tests; r=arai
Differential Revision: https://phabricator.services.mozilla.com/D134133
2022-01-10 15:24:49 +00:00
Rolf Martin Glomsrud 76f7ae64cf Bug 1739648 - implement groupBy r=arai
Depends on D133870

Differential Revision: https://phabricator.services.mozilla.com/D133881
2022-01-10 15:24:49 +00:00
Rolf Martin Glomsrud f9bf8cee28 Bug 1739648 - add groupByToMap test; r=yulia
Depends on D132792

Differential Revision: https://phabricator.services.mozilla.com/D133870
2022-01-10 15:24:48 +00:00
Rolf Martin Glomsrud c12832a0eb Bug 1739648 - implement groupByToMap; r=yulia
Depends on D132791

Differential Revision: https://phabricator.services.mozilla.com/D132792
2022-01-10 15:24:48 +00:00
Rolf Martin Glomsrud 8ce48bd786 Bug 1739648 - add Map constructor to self hosted GetBuiltinConstructor; r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D132791
2022-01-10 15:24:48 +00:00
Ryan Hunt f4bf42dc63 Bug 1748602 - Backout bug 1642412. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D135346
2022-01-07 20:43:16 +00:00
Csoregi Natalia 682e5a82d4 Backed out 5 changesets (bug 1739648) for causing failures on test_xrayToJS.xhtml. CLOSED TREE
Backed out changeset 9473997f9d35 (bug 1739648)
Backed out changeset 3f6f68e74c50 (bug 1739648)
Backed out changeset 45d663b4c79e (bug 1739648)
Backed out changeset fd3c8641a135 (bug 1739648)
Backed out changeset b555a7d312e1 (bug 1739648)
2022-01-06 19:52:15 +02:00
Yulia Startsev 2b968a8e5e Bug 1739648 - enable on Nightly and add tests; r=arai
Differential Revision: https://phabricator.services.mozilla.com/D134133
2022-01-06 17:10:35 +00:00
Rolf Martin Glomsrud 9db5a3a924 Bug 1739648 - implement groupBy r=arai
Depends on D133870

Differential Revision: https://phabricator.services.mozilla.com/D133881
2022-01-06 17:10:34 +00:00
Rolf Martin Glomsrud f63506c2cb Bug 1739648 - add groupByToMap test; r=yulia
Depends on D132792

Differential Revision: https://phabricator.services.mozilla.com/D133870
2022-01-06 17:10:34 +00:00
Rolf Martin Glomsrud 2a478bd016 Bug 1739648 - implement groupByToMap; r=yulia
Depends on D132791

Differential Revision: https://phabricator.services.mozilla.com/D132792
2022-01-06 17:10:34 +00:00
Rolf Martin Glomsrud aaa1c42ed3 Bug 1739648 - add Map constructor to self hosted GetBuiltinConstructor; r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D132791
2022-01-06 17:10:33 +00:00
Yury Delendik d988ca34fe Bug 1747304 - [simd][mandelbrot] Make simple SIMD operations three args. r=jseward
- f32x4.add .sub .mul .div and f32x4. comparison
- i32x4. comparisons
- v128. bitwise ops

Differential Revision: https://phabricator.services.mozilla.com/D134548
2022-01-06 17:04:24 +00:00