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