Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index c661f38f67380e7d9e00336a484029bae4336444..79bef4c2acb93578f09f18be67e58fb244a5e939 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -956,6 +956,28 @@ void Builtins::Generate_DatePrototype_GetField(MacroAssembler* masm, |
} |
} |
+// static |
+void Builtins::Generate_FunctionHasInstance(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- eax : argc |
+ // -- esp[0] : return address |
+ // -- esp[4] : first argument (left-hand side) |
+ // -- esp[8] : receiver (right-hand side) |
+ // ----------------------------------- |
+ |
+ { |
+ FrameScope scope(masm, StackFrame::INTERNAL); |
+ __ mov(InstanceOfDescriptor::LeftRegister(), |
+ Operand(ebp, 2 * kPointerSize)); // Load left-hand side. |
+ __ mov(InstanceOfDescriptor::RightRegister(), |
+ Operand(ebp, 3 * kPointerSize)); // Load right-hand side. |
+ InstanceOfStub stub(masm->isolate(), true); |
+ __ CallStub(&stub); |
+ } |
+ |
+ // Pop the argument and the receiver. |
+ __ ret(2 * kPointerSize); |
+} |
// static |
void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { |
@@ -1142,7 +1164,6 @@ void Builtins::Generate_ReflectApply(MacroAssembler* masm) { |
} |
} |
- |
void Builtins::Generate_ReflectConstruct(MacroAssembler* masm) { |
// ----------- S t a t e ------------- |
// -- eax : argc |