Sha256: 94f4e7a43356703938306a82dc97ccf4589efd2d6f7f81d5a2e352e5105eed6c

Contents?: true

Size: 985 Bytes

Versions: 5

Compression:

Stored size: 985 Bytes

Contents

function reallyDeepNestedExit(schedule)
{
    var c = 0, j = 0;
    for (var i = 0; i < 5; i++) {
        for (j = 0; j < 4; j++) {
            c += (schedule[i*4 + j] == 1) ? 1 : 2;
        }
    }
    return c;
}
function testReallyDeepNestedExit()
{
    var c = 0;
    var schedule1 = new Array(5*4);
    var schedule2 = new Array(5*4);
    for (var i = 0; i < 5*4; i++) {
        schedule1[i] = 0;
        schedule2[i] = 0;
    }
    /**
     * First innermost compile: true branch runs through.
     * Second '': false branch compiles new loop edge.
     * First outer compile: expect true branch.
     * Second '': hit false branch.
     */
    schedule1[0*4 + 3] = 1;
    var schedules = [schedule1,
                     schedule2,
                     schedule1,
                     schedule2,
                     schedule2];

    for (var i = 0; i < 5; i++) {
        c += reallyDeepNestedExit(schedules[i]);
    }
    return c;
}
assertEq(testReallyDeepNestedExit(), 198);

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
johnson19-2.0.0.pre3 vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js
pre-johnson-2.0.0 vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js
johnson-2.0.0.pre3 vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js
johnson-2.0.0.pre2 vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js
johnson-2.0.0.pre1 vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js