Index: src/arm64/builtins-arm64.cc |
diff --git a/src/arm64/builtins-arm64.cc b/src/arm64/builtins-arm64.cc |
index 1e37a9ccc21cab1f9832fe0648b2d605cf82d347..85eda612bc2002e40d81b273f8a3e5aca9a1ec48 100644 |
--- a/src/arm64/builtins-arm64.cc |
+++ b/src/arm64/builtins-arm64.cc |
@@ -1438,6 +1438,29 @@ void Builtins::Generate_DatePrototype_GetField(MacroAssembler* masm, |
__ TailCallRuntime(Runtime::kThrowNotDateError); |
} |
+// static |
+void Builtins::Generate_FunctionHasInstance(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- x0 : argc |
+ // -- jssp[0] : first argument (left-hand side) |
+ // -- jssp[8] : receiver (right-hand side) |
+ // ----------------------------------- |
+ ASM_LOCATION("Builtins::Generate_FunctionHasInstance"); |
+ |
+ { |
+ FrameScope scope(masm, StackFrame::INTERNAL); |
+ __ Ldr(InstanceOfDescriptor::LeftRegister(), |
+ MemOperand(fp, 2 * kPointerSize)); // Load left-hand side. |
+ __ Ldr(InstanceOfDescriptor::RightRegister(), |
+ MemOperand(fp, 3 * kPointerSize)); // Load right-hand side. |
+ InstanceOfStub stub(masm->isolate(), true); |
+ __ CallStub(&stub); |
+ } |
+ |
+ // Pop the argument and the receiver. |
+ __ Drop(2); |
+ __ Ret(); |
+} |
// static |
void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { |