Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index 7d1e4f5e0d0f9d416c682b47ec680599acdfb7e1..e8f11bb3d606a58d4427bbc2d6923b7c9ef42c72 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -2117,6 +2117,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); |
} |