зеркало из https://github.com/mozilla/pjs.git
Bug 683470 - InlineReturn should assert using js_GetOpcode instead of *regs.pc (r=dvander)
This commit is contained in:
Родитель
7dd0a5b474
Коммит
b1a623706e
|
@ -0,0 +1,15 @@
|
|||
// |jit-test| debug
|
||||
|
||||
f = (function() {
|
||||
function b() {
|
||||
"use strict";
|
||||
Object.defineProperty(this, "x", ({}));
|
||||
}
|
||||
for each(let d in [0, 0]) {
|
||||
try {
|
||||
b(d);
|
||||
} catch (e) {}
|
||||
}
|
||||
})
|
||||
trap(f, 54, undefined);
|
||||
f()
|
|
@ -181,11 +181,12 @@ InlineReturn(VMFrame &f)
|
|||
JS_ASSERT(!js_IsActiveWithOrBlock(f.cx, &f.fp()->scopeChain(), 0));
|
||||
f.cx->stack.popInlineFrame(f.regs);
|
||||
|
||||
JS_ASSERT(*f.regs.pc == JSOP_CALL ||
|
||||
*f.regs.pc == JSOP_NEW ||
|
||||
*f.regs.pc == JSOP_EVAL ||
|
||||
*f.regs.pc == JSOP_FUNCALL ||
|
||||
*f.regs.pc == JSOP_FUNAPPLY);
|
||||
DebugOnly<JSOp> op = js_GetOpcode(f.cx, f.fp()->script(), f.regs.pc);
|
||||
JS_ASSERT(op == JSOP_CALL ||
|
||||
op == JSOP_NEW ||
|
||||
op == JSOP_EVAL ||
|
||||
op == JSOP_FUNCALL ||
|
||||
op == JSOP_FUNAPPLY);
|
||||
f.regs.pc += JSOP_CALL_LENGTH;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче