mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[INFER] Always emit jsop_getprop stub calls for rejoining in JSOP_INSTANCEOF, bug 647532.
This commit is contained in:
parent
8b7888dd66
commit
1ed19456f6
4
js/src/jit-test/tests/jaeger/recompile/bug647532.js
Normal file
4
js/src/jit-test/tests/jaeger/recompile/bug647532.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
try { Function("\
|
||||||
|
__defineSetter__(\"x\",Object.keys)\
|
||||||
|
(z=x instanceof[].some)\
|
||||||
|
")() } catch (e) { }
|
@ -6020,12 +6020,9 @@ mjit::Compiler::jsop_instanceof()
|
|||||||
|
|
||||||
// The fast path applies only when both operands are objects.
|
// The fast path applies only when both operands are objects.
|
||||||
if (rhs->isNotType(JSVAL_TYPE_OBJECT) || lhs->isNotType(JSVAL_TYPE_OBJECT)) {
|
if (rhs->isNotType(JSVAL_TYPE_OBJECT) || lhs->isNotType(JSVAL_TYPE_OBJECT)) {
|
||||||
prepareStubCall(Uses(2));
|
stubcc.linkExit(masm.jump(), Uses(2));
|
||||||
INLINE_STUBCALL(stubs::InstanceOf);
|
frame.discardFe(lhs);
|
||||||
frame.popn(2);
|
frame.discardFe(rhs);
|
||||||
frame.takeReg(Registers::ReturnReg);
|
|
||||||
frame.pushTypedPayload(JSVAL_TYPE_BOOLEAN, Registers::ReturnReg);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MaybeJump firstSlow;
|
MaybeJump firstSlow;
|
||||||
|
Loading…
Reference in New Issue
Block a user