Index: src/x87/code-stubs-x87.cc |
diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc |
index 1a21569e4d8aa3df6a1e4767b8f44a7d6d021437..cba6734a6f9ccf4811a6480116d284f9efa6c4da 100644 |
--- a/src/x87/code-stubs-x87.cc |
+++ b/src/x87/code-stubs-x87.cc |
@@ -2452,6 +2452,12 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
} |
__ mov(scratch, Operand(scratch, kDeltaToCmpImmediate)); |
__ mov(Operand(scratch, 0), map); |
+ __ push(map); |
+ // Scratch points at the cell payload. Calculate the start of the object. |
+ __ sub(scratch, Immediate(Cell::kValueOffset - 1)); |
+ __ RecordWriteField(scratch, Cell::kValueOffset, map, function, |
+ kDontSaveFPRegs, OMIT_REMEMBERED_SET, OMIT_SMI_CHECK); |
+ __ pop(map); |
} |
// Loop through the prototype chain of the object looking for the function |