Fix Bug 600163 - JM: Assertion failure: checkedFreeRegs == freeRegs. This only hits on ARM at the moment because it is hidden by PICs enabled on other platforms. r=dmandelin.

This commit is contained in:
David Anderson 2010-09-29 12:20:18 -04:00
parent 5a4a34daed
commit 244e53ae85
2 changed files with 13 additions and 2 deletions

View File

@ -1244,7 +1244,7 @@ FrameState::shimmy(uint32 n)
{
JS_ASSERT(sp - n >= spBase);
int32 depth = 0 - int32(n);
storeTop(&sp[depth - 1], true);
storeTop(peek(depth - 1), true);
popn(n);
}
@ -1253,7 +1253,7 @@ FrameState::shift(int32 n)
{
JS_ASSERT(n < 0);
JS_ASSERT(sp + n - 1 >= spBase);
storeTop(&sp[n - 1], true);
storeTop(peek(n - 1), true);
pop();
}

View File

@ -0,0 +1,11 @@
// |trace-test| error: ReferenceError
// vim: set ts=4 sw=4 tw=99 et:
function f(a, b, c) {
if (!a.__SSi) {
throw Components.returnCode = Cr.NS_ERROR_INVALID_ARG;
}
this.restoreWindow(a, b, c);
eval();
}
dis(f);
f(1, 2, 3);