Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index 629155e78138f6efc2b7966396f780850f846d43..b535c6e58f8013dc53b07a1b608f2a5bf67d2b56 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -60,7 +60,8 @@ CompilationInfo::CompilationInfo(Handle<Script> script) |
script_(script), |
extension_(NULL), |
pre_parse_data_(NULL), |
- osr_ast_id_(AstNode::kNoNumber) { |
+ osr_ast_id_(AstNode::kNoNumber), |
+ number_of_ics_(0) { |
Initialize(BASE); |
} |
@@ -76,7 +77,8 @@ CompilationInfo::CompilationInfo(Handle<SharedFunctionInfo> shared_info) |
script_(Handle<Script>(Script::cast(shared_info->script()))), |
extension_(NULL), |
pre_parse_data_(NULL), |
- osr_ast_id_(AstNode::kNoNumber) { |
+ osr_ast_id_(AstNode::kNoNumber), |
+ number_of_ics_(0) { |
Initialize(BASE); |
} |
@@ -93,7 +95,8 @@ CompilationInfo::CompilationInfo(Handle<JSFunction> closure) |
script_(Handle<Script>(Script::cast(shared_info_->script()))), |
extension_(NULL), |
pre_parse_data_(NULL), |
- osr_ast_id_(AstNode::kNoNumber) { |
+ osr_ast_id_(AstNode::kNoNumber), |
+ number_of_ics_(0) { |
Initialize(BASE); |
} |
@@ -420,6 +423,7 @@ static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) { |
lit->materialized_literal_count(), |
info->code(), |
ScopeInfo::Create(info->scope())); |
+ result->set_ic_total_count(info->number_of_ics()); |
ASSERT_EQ(RelocInfo::kNoPosition, lit->function_token_position()); |
Compiler::SetFunctionInfo(result, lit, true, script); |
@@ -646,6 +650,7 @@ bool Compiler::CompileLazy(CompilationInfo* info) { |
Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope()); |
shared->set_scope_info(*scope_info); |
shared->set_code(*code); |
+ shared->set_ic_total_count(info->number_of_ics()); |
if (!function.is_null()) { |
function->ReplaceCode(*code); |
ASSERT(!function->IsOptimized()); |
@@ -731,6 +736,7 @@ Handle<SharedFunctionInfo> Compiler::BuildFunctionInfo(FunctionLiteral* literal, |
literal->materialized_literal_count(), |
info.code(), |
scope_info); |
+ result->set_ic_total_count(info.number_of_ics()); |
SetFunctionInfo(result, literal, false, script); |
RecordFunctionCompilation(Logger::FUNCTION_TAG, &info, result); |
result->set_allows_lazy_compilation(allow_lazy); |