Skip to content

Perf: Too many bailouts/rejits for FailedTagCheck #1671

@kunalspathak

Description

@kunalspathak

For below test case, we keep bailing out and rejitting for same reason.

function test(object) {
    var value = object.x;
    if (value && value.test) { // bailout happens here 
        value.test();
    }
    return value;
}

for (var i = 0; i < 40000; i++) {
    var obj = {};
    if (i == 0) {
        obj.x = {};
    } else {
        obj.x = 1;
    }
    test(obj);
}
print('done');
$ ch e:\temp\test.js -mic:1 -off:Simplejit -stats:rejit
done
Bailout Reason,                           Count
BailOutOnTaggedValue,                     39999
TOTAL,                                    39999


Rejit Reason,                             Count
FailedTagCheck,                             100
TOTAL,                                      100

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions