зеркало из https://github.com/mozilla/gecko-dev.git
Bug 529147 - fix flipped numSideExitsBefore assertion (r=dvander)
This commit is contained in:
Родитель
a108788918
Коммит
d3b2cdfe65
|
@ -2557,7 +2557,7 @@ TraceRecorder::finishAbort(const char* reason)
|
||||||
if (fragment->root == fragment) {
|
if (fragment->root == fragment) {
|
||||||
TrashTree(cx, fragment->toTreeFragment());
|
TrashTree(cx, fragment->toTreeFragment());
|
||||||
} else {
|
} else {
|
||||||
JS_ASSERT(numSideExitsBefore >= fragment->root->treeInfo->sideExits.length());
|
JS_ASSERT(numSideExitsBefore <= fragment->root->treeInfo->sideExits.length());
|
||||||
fragment->root->treeInfo->sideExits.setLength(numSideExitsBefore);
|
fragment->root->treeInfo->sideExits.setLength(numSideExitsBefore);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
var magicNumbers = [1, -1, 0, 0];
|
||||||
|
var magicIndex = 0;
|
||||||
|
|
||||||
|
var sum = 0;
|
||||||
|
|
||||||
|
function foo(n) {
|
||||||
|
for (var i = 0; i < n; ++i) {
|
||||||
|
sum += 10;
|
||||||
|
bar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function bar() {
|
||||||
|
var q = magicNumbers[magicIndex++];
|
||||||
|
if (q != -1) {
|
||||||
|
sum += 1;
|
||||||
|
foo(q);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foo(3);
|
||||||
|
assertEq(sum, 43);
|
Загрузка…
Ссылка в новой задаче