Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 0f26d3ba5a7c1b63d497f55e722e4546ee56071d..01bddaf970fc5ea384a5b444d60f05188eac06ae 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -2145,6 +2145,13 @@ void CallICStub::Generate(MacroAssembler* masm) { |
__ j(not_equal, &miss); |
__ Move(FieldOperand(rbx, rdx, times_pointer_size, FixedArray::kHeaderSize), |
TypeFeedbackVector::MegamorphicSentinel(isolate)); |
+ // We have to update statistics for runtime profiling. |
+ const int with_types_offset = |
+ FixedArray::OffsetOfElementAt(TypeFeedbackVector::kWithTypesIndex); |
+ __ SmiAddConstant(FieldOperand(rbx, with_types_offset), Smi::FromInt(-1)); |
+ const int generic_offset = |
+ FixedArray::OffsetOfElementAt(TypeFeedbackVector::kGenericCountIndex); |
+ __ SmiAddConstant(FieldOperand(rbx, generic_offset), Smi::FromInt(1)); |
__ jmp(&slow_start); |
} |