This patch adds a small README file to the tools/browsertime folder to give people more information about its purpose and provides a link to the perftest wiki.
Depends on D78044
Differential Revision: https://phabricator.services.mozilla.com/D78045
These reftests seem to hang quite frequently, caused by the content process
hanging on file create/open operations. See dependencies of bug 1642719 for
some examples.
Differential Revision: https://phabricator.services.mozilla.com/D77875
Implement Iterator.from static method from the Iterator Helpers proposal.
Involves adding a WrapForValidIterator object and prototype that is used
to wrap iterators returned by `Iterator.from`.
Differential Revision: https://phabricator.services.mozilla.com/D77178
This patch adds a mochitest that will be responsible to
generate and update platform messages stubs, which is what
we already have for all the other type of resources we handle
in the console.
This means the mocha test asserting the rendering of platform
messages can use those stubs instead of hand-written stubs we
have at the moment.
This patch also adds a `getCurrentTestFilePath` function in shared-head.js,
which we then use in the different stub generators.
We also use CHROME_URL_ROOT to require the stub-generator-helpers file.
Differential Revision: https://phabricator.services.mozilla.com/D77216
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
The test relied on synthesized mousemove event from refresh driver to generate
corresponding mouseenter/mouseleave event, but it would have possible racing
given that we don't know when the mousemove would be synthesized, especially
in opt build. So synthesize mousemove event from test script explicitly.
Differential Revision: https://phabricator.services.mozilla.com/D77935
This adds an extra pref for whether the cleanupSome method is exposed and renames the existing pref. We can turn on the pref to expose cleanupSome to get test262 coverage in the browser.
Differential Revision: https://phabricator.services.mozilla.com/D77267
The main problem here is that we sweep weak caches off-thread, and when we finish sweeping a hash table the Enum class' destructor can rehash or resize the table, causing store buffer entries to be added or removed (since the table may now contain nursery pointers).
To address this the patch adds a store buffer lock and establishes that all off-thread store buffer access from inside the GC must take place with this lock held. The changes to GCHashSet/Map are a little gross; perhaps it would be better to add an explicit API to hash tables to allow us to postpone the rehash/resize operations but I haven't done that here.
Other complications are:
The TypeSetRef generic buffer entries can contain pointers into TI data that is moved during sweeping. We therefore do need to collect the nursery if there are any of those present. This was relatively rare in testing.
Finally, swapping objects can result in pointers into dying objects being put in the whole cell store buffer (because we do tricks with skipping barriers when we remap wrappers to not keep otherwise dead wrappers alive). We need to collect the nursery if these are present to prevent them being accessed after the dying objects are finalized.
Differential Revision: https://phabricator.services.mozilla.com/D77831
If we called PaintFrame for drawWindow or something other than painting to the widget the visual scroll update won't make it to the compositor, so don't clear it.
This doesn't fix anything specifically, just noticed it while reading code.
Differential Revision: https://phabricator.services.mozilla.com/D76781