| Index: src/runtime-profiler.cc | 
| diff --git a/src/runtime-profiler.cc b/src/runtime-profiler.cc | 
| index de9bf401ba41e5c3118ff6aa52fb77913eef22e7..ed457c624a4126ed6b9aab040ca8af6157ed1038 100644 | 
| --- a/src/runtime-profiler.cc | 
| +++ b/src/runtime-profiler.cc | 
| @@ -290,7 +290,12 @@ void RuntimeProfiler::OptimizeNow() { | 
| // If this particular function hasn't had any ICs patched for enough | 
| // ticks, optimize it now. | 
| Optimize(function, "hot and stable"); | 
| +        } else if (ticks >= 100) { | 
| +          // If this function does not have enough type info, but has | 
| +          // seen a huge number of ticks, optimize it as it is. | 
| +          Optimize(function, "not much type info but very hot"); | 
| } else { | 
| +          function->shared()->set_profiler_ticks(ticks + 1); | 
| if (FLAG_trace_opt_verbose) { | 
| PrintF("[not yet optimizing "); | 
| function->PrintName(); | 
|  |