Index: src/x87/code-stubs-x87.cc |
diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc |
index 946eda2a3a62f3d6d78f5d8838cacf1eff0a56ec..202dec63bb276351ea1e09fce43142d6cf7eb577 100644 |
--- a/src/x87/code-stubs-x87.cc |
+++ b/src/x87/code-stubs-x87.cc |
@@ -1957,6 +1957,13 @@ void CallICStub::Generate(MacroAssembler* masm) { |
__ mov(FieldOperand(ebx, edx, times_half_pointer_size, |
FixedArray::kHeaderSize), |
Immediate(TypeFeedbackVector::MegamorphicSentinel(isolate))); |
+ // We have to update statistics for runtime profiling. |
+ const int with_types_offset = |
+ FixedArray::OffsetOfElementAt(TypeFeedbackVector::kWithTypesIndex); |
+ __ sub(FieldOperand(ebx, with_types_offset), Immediate(Smi::FromInt(1))); |
+ const int generic_offset = |
+ FixedArray::OffsetOfElementAt(TypeFeedbackVector::kGenericCountIndex); |
+ __ add(FieldOperand(ebx, generic_offset), Immediate(Smi::FromInt(1))); |
__ jmp(&slow_start); |
} |