Closed Bug 1090420 Opened 11 years ago Closed 10 months ago

"too much recursion" on dart2js Havlak benchmark

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: azakai, Unassigned)

Details

Attachments

(1 file)

Attached file fromDart.js
Havlak is one of the dart benchmarks. Spidermonkey fails to run the dart2js version of it, with fromDart.js:471:10 InternalError: too much recursion v8 runs that file without an error.
This seems to be a problem with the way that stack limits are handled between threads. Running with --no-threads lets the benchmark run to completion.
This problem also cause Onedrive can't be proper loaded on x86_64 firefox nightly on windows 7. Web console also shows "too much recursion".
Flags: needinfo?(jdemooij)
On OS X 32-bit, when we throw the error there are about 2300 frames on the stack. With --no-threads, we can have up to 3300 frames. This difference is just because we enter Ion faster with --no-threads (no background compilation), and Ion frames are smaller than Baseline frames. Almost all these frames are for DFS$5, it's making a lot of recursive calls. I added a counter and ran the benchmark with d8: we need to support ~4100 frames to avoid the error :( Also seems like a bad algorithm though, maybe we should ask them to change it. Our recursion limits are different in the browser (especially OS X has a huge stack there), we could try to use similar values and see if that helps...
Flags: needinfo?(jdemooij)
FYI, this test started working on the 64-bit Mac machine on AWFY after the land of branch pruning.
Severity: normal → S3

Nightly: https://share.firefox.dev/3zfyjxR
I didnt see any recursion error.

Closing this as both dartjs and SM have evolved in the last 8 years or so.

Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: