Closed Bug 1368419 Opened 5 years ago Closed 5 years ago

six-speed-regex-u-es6 spends most of its time cloning the regexp in the tenured heap

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: anba, Unassigned)

References

(Blocks 1 open bug)

Details

Test case derived from six-speed-regex-u-es6

<!DOCTYPE html>
<html><body>
    <button onclick="test()">Click me</button>
    <script>
        function fn() {
            return '
Sounds like we should finish bug 1115355?
We need to stop allocating these tenured. See bug 867784, but that was a long time ago.
Changing TenuredObject to GenericObject in js::CloneRegExpObject seems to help quite a bit. I think that should be safe but I'll look into it more.
Depends on: 1368461
Filed bug 1368461 for nursery allocation.

After that we probably need bug 1115355 as evilpie mentioned. It's possible that will be a bigger win than Hannes got if we make it allocate in the nursery too.
Depends on: 1115355
We're now faster than V8 and JSC on regex-u-es5 (the dependent bugs improved it from 161 ms in May to 30 ms now).

On regex-u-es6 we're faster than JSC and only a little bit slower than V8 (222 ms to 58 ms). The remaining difference is likely unrelated to the regexp cloning.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.