| 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);
|
|
|