gecko-dev/js
Lars T Hansen 43173e9f50 Bug 1635783 - Add a fast path for stack normalization. r=rhunt
Stack normalization is uber-slow on emulator because it relies on
regexes that are compiled to native instructions which are then
emulated.  That makes stack normalization very slow too, and as it's
very hot some tests will time out nearly always.

This patch inserts a simple cache for previously matched strings in
stack normalization to avoid the regex engine altogether.  This speeds
up normalization and hence stack matching greatly (I observed a factor
of four speedup per test iteration on an arm-sim noopt debug build for
ion-error-ool.js).

I also attempted some other fixes (filtering on simple strings,
avoiding regex.replace, etc) but caching is by far the most effective
fix, and with caching in place the other fixes still don't really move
the needle.

Depends on D74220

Differential Revision: https://phabricator.services.mozilla.com/D74607
2020-05-11 14:30:44 +00:00
..
ductwork/debugger Bug 1613985 - Use default for equivalent-to-default constructors/destructors in js. r=jorendorff 2020-03-16 13:47:02 +00:00
examples
ipc Bug 1631117 - remove compartment's allowCPOWs flag, r=mccr8 2020-04-19 14:24:07 +00:00
public Bug 1636495: Add JS::CheckRegExpSyntax r=evilpie 2020-05-11 17:46:17 +00:00
rust Bug 1634459 - Simplify the wrapper used for rooting non-GC thing types r=jandem 2020-05-04 16:53:56 +00:00
src Bug 1635783 - Add a fast path for stack normalization. r=rhunt 2020-05-11 14:30:44 +00:00
xpconnect Bug 1636990 - Inline NS_NewBackstagePass. r=kmag 2020-05-11 22:46:24 +00:00
app.mozbuild
ffi.configure
moz.build Bug 1614622 part 8 - Remove optimization tracking files. r=djvj 2020-02-17 09:17:46 +00:00
moz.configure Bug 1634135: Turn new regexp engine on by default in Nightly r=mgaudet 2020-05-10 16:00:26 +00:00
sub.configure Bug 1636342 - Fix configure --cache-file. r=froydnj 2020-05-08 01:45:56 +00:00