Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index 5bb2f9fa0de9e1c47c00a7daf2102442bc6e2a0e..105d99c1c31f026fe4adfce2bc27efb158af76ed 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -117,6 +117,17 @@ void FullCodeGenerator::Generate() { |
info->set_prologue_offset(masm_->pc_offset()); |
__ Prologue(info->GeneratePreagedPrologue()); |
+ // Increment invocation count for the function. |
+ { |
+ Comment cmnt(masm_, "[ Increment invocation count"); |
+ __ mov(ecx, FieldOperand(edi, JSFunction::kLiteralsOffset)); |
+ __ mov(ecx, FieldOperand(ecx, LiteralsArray::kFeedbackVectorOffset)); |
+ __ add(FieldOperand( |
+ ecx, TypeFeedbackVector::kInvocationCountIndex * kPointerSize + |
+ TypeFeedbackVector::kHeaderSize), |
+ Immediate(Smi::FromInt(1))); |
+ } |
+ |
{ Comment cmnt(masm_, "[ Allocate locals"); |
int locals_count = info->scope()->num_stack_slots(); |
// Generators allocate locals, if any, in context slots. |