Index: src/x64/builtins-x64.cc |
diff --git a/src/x64/builtins-x64.cc b/src/x64/builtins-x64.cc |
index 102c7552e71f027dcf4df2f1d129e24060e9e41c..b90216c29a1b8debaf0f1a7d7714c72f3ff601e0 100644 |
--- a/src/x64/builtins-x64.cc |
+++ b/src/x64/builtins-x64.cc |
@@ -1009,6 +1009,28 @@ void Builtins::Generate_DatePrototype_GetField(MacroAssembler* masm, |
} |
} |
+// static |
+void Builtins::Generate_FunctionHasInstance(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- rax : argc |
+ // -- rsp[0] : return address |
+ // -- rsp[8] : first argument (left-hand side) |
+ // -- rsp[16] : receiver (right-hand side) |
+ // ----------------------------------- |
+ |
+ { |
+ FrameScope scope(masm, StackFrame::INTERNAL); |
+ __ movp(InstanceOfDescriptor::LeftRegister(), |
+ Operand(rbp, 2 * kPointerSize)); // Load left-hand side. |
+ __ movp(InstanceOfDescriptor::RightRegister(), |
+ Operand(rbp, 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) { |