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

Reply via email to