The combination of the following factors causes the test cases to OOM
on 32-bit systems due to a lack of object code space:
* --ion-eager
* very many distinct call sites with one IC cache per call site
* one distinct callee per call site that holds onto a distinct wasm
module
* each wasm module claiming at least one wasm page's worth of code
* IC caches that hold onto the individual functions that are called
Just split the test cases to work around this rare problem.
Differential Revision: https://phabricator.services.mozilla.com/D79988
As long as only int32 values are read, use an int32-only stub. If the Uint32
value doesn't fit in an int32 support loading doubles.
Differential Revision: https://phabricator.services.mozilla.com/D79962
When running benchmarks the nursery size changes frequently, often at every collection.
This patch uses a moving average of the calculated growth factor. This takes into account information from previous collections as well when calculating the nursery size and producees much more stable results.
Differential Revision: https://phabricator.services.mozilla.com/D80002
This test assumed that AggregateError stack traces would include frames from
across the asynchronous boundary, which is not guaranteed to be the case. This
test originally passed because Promise.any was only enabled on Nightly and
the Nightly release had the "javascript.options.asyncstack" pref enabled by
default, which guaranteed that async frames were guaranteed to be captured.
Now that bug 1601179 has landed, this is no longer the case because the realm
is required to be a debuggee before async frames will be included in the trace.
Differential Revision: https://phabricator.services.mozilla.com/D79936
The Iterator Helpers proposal adds a cycle to the graph of standard builtins:
Iterator.prototype.map.[[Prototype]] is %Generator%, and
%Generator%.prototype.[[Prototype]] is Iterator.prototype.
Our approach to standing up the builtins doesn't automatically handle cycles,
so each cycle is handled specially. First, we must avoid looping while
compiling self-hosting code (this patch). Another workaround is added later
in this stack.
Differential Revision: https://phabricator.services.mozilla.com/D75220
Remove the BinAST tests from following jobs:
- SM(p)
- SM(cgc)
Remove the BinAST performance tests:
- binast-instagram
Mark the WPT BinAST tests as backlog.
Differential Revision: https://phabricator.services.mozilla.com/D77919
Remove the BinAST tests from following jobs:
- SM(p)
- SM(cgc)
Remove the BinAST performance tests:
- binast-instagram
Mark the WPT BinAST tests as backlog.
Differential Revision: https://phabricator.services.mozilla.com/D77919
This fixes some debugging code that assumed a function could be
exported only once. This code has been unchanged at least since the
Big Source Reformatting and is not a recent regression. This
particular bug is clearly specific to fuzzing-safe.
Differential Revision: https://phabricator.services.mozilla.com/D79652
A grab bag of missing test guards for fuzzing-safe runs:
* The ARM test case should be guarded on the API used.
* The import/export test case is specifically for non-fuzzing and so is
guarded on a function that is absent in fuzzing-safe mode; we
introduce a predicate to abstract this.
* The uses of the non-fuzzing-safe streaming function can be adapted
to test for this function first, so as to allow fuzz testing of
streaming in general.
Differential Revision: https://phabricator.services.mozilla.com/D79680
For fuzzing-safe runs, the console object is missing from the shell,
preventing many of the imported wasm spec tests to run. Add a
synthetic console object with a do-nothing log function in this case,
to allow fuzzing-safe runs of the wasm spec tests.
Differential Revision: https://phabricator.services.mozilla.com/D79678
If a large allocation fails, do what we can to free up memory,
including discarding code if necessary - sometimes the failing
allocation is looking for code memory.
Differential Revision: https://phabricator.services.mozilla.com/D79990
This combines the two places where an error was generated for this into one and adds localiation for the message. The message is improved as requested in the bug.
Differential Revision: https://phabricator.services.mozilla.com/D79862