Closed Bug 477327 Opened 15 years ago Closed 13 years ago

InternalError: too much recursion with -j (type instability, global shape changing, getter, imacros, deep-bailing)

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jorendorff, Unassigned)

References

Details

(Keywords: testcase)

+++ This bug was initially created as a clone of Bug #477234 +++

function f() {
    var iters;
    var q;

    var arr = ['', '', ''];
    arr.__defineGetter__('x', function() '');

    for (iters = 0; iters < 11500; ++iters) {
        for each (q in arr)
            ;
        var a = print;
        delete print;
        print = a;
        var b = toSource;
        delete toSource;
        toSource = b;
        var c = toString;
        delete toString;
        toString = c;
    }
}
f();

produces:
  bug.js:12: InternalError: too much recursion

only with -j.  Without -j, no error.
Summary: InternalError: too much recursion with -j (type instability, global shape changing, setter, imacros, deep-bailing) → InternalError: too much recursion with -j (type instability, global shape changing, getter, imacros, deep-bailing)
covered by test js1_8/regress/regress-477234.js
Flags: in-testsuite+
(In reply to comment #0)
> produces:
>   bug.js:12: InternalError: too much recursion
> 
> only with -j.  Without -j, no error.

Confirming only with -j on TM tip, both opt and debug. (Removing assertion keyword since the original testcase in comment #0 does not cause an assertion)
Keywords: assertion
OS: Linux → All
Hardware: x86 → All
It went away.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.