Brendan Eich wrote:
Dave Mandelin wrote:
IIUC, this isn't a regression. It's a test that has never worked
consistently across platforms.
It used to, AFAIK. The test dates from 2009 (pre-hg, it's in
cvs.mozilla.org). I don't recall it ever failing like this, or anyone
reporting such a failure.
Seems we do have a regression. Check out
https://bugzilla.mozilla.org/show_bug.cgi?id=794427 also. The issue is
not peculiar to generators.
Fedor Indutny's testcase from that bug shows regression over time:
Firefox 3-era js shell:
...
420
430
typein:8: InternalError: too much recursion
TraceMonkey repo just before it was retired js shell:
...
290
300
typein:6:0: InternalError: too much recursion
My trunk m-c js shell:
...
100
110
typein:8:0 InternalError: too much recursion
Of course, there's no normative spec here. I haven't checked what other
implementations do. I suspect there's a de-minimus de-facto standard,
and from the bugs popping up we're on the wrong side of it.
Maybe there's an easy fix to js::Interpret. "Easy" should be in quotes
;-). In ancient gcc, we found exactly the problem Nicolas diagnoses at
https://bugzilla.mozilla.org/show_bug.cgi?id=794427#c1 and manually
hoisted and commoned as many opcode-specific locals as possible. Moving
away from that ugly style has hurt.
/be
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals