| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/runtime-profiler.h" | 5 #include "src/runtime-profiler.h" |
| 6 | 6 |
| 7 #include "src/assembler.h" | 7 #include "src/assembler.h" |
| 8 #include "src/ast/scopeinfo.h" | 8 #include "src/ast/scopeinfo.h" |
| 9 #include "src/base/platform/platform.h" | 9 #include "src/base/platform/platform.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 *type_info_percentage = 100 * *ic_with_type_info_count / *ic_total_count; | 83 *type_info_percentage = 100 * *ic_with_type_info_count / *ic_total_count; |
| 84 *generic_percentage = 100 * *ic_generic_count / *ic_total_count; | 84 *generic_percentage = 100 * *ic_generic_count / *ic_total_count; |
| 85 } else { | 85 } else { |
| 86 *type_info_percentage = 100; // Compared against lower bound. | 86 *type_info_percentage = 100; // Compared against lower bound. |
| 87 *generic_percentage = 0; // Compared against upper bound. | 87 *generic_percentage = 0; // Compared against upper bound. |
| 88 } | 88 } |
| 89 } | 89 } |
| 90 | 90 |
| 91 | 91 |
| 92 void RuntimeProfiler::Optimize(JSFunction* function, const char* reason) { | 92 void RuntimeProfiler::Optimize(JSFunction* function, const char* reason) { |
| 93 if (FLAG_trace_opt && function->PassesFilter(FLAG_hydrogen_filter)) { | 93 if (FLAG_trace_opt && |
| 94 function->shared()->PassesFilter(FLAG_hydrogen_filter)) { |
| 94 PrintF("[marking "); | 95 PrintF("[marking "); |
| 95 function->ShortPrint(); | 96 function->ShortPrint(); |
| 96 PrintF(" for recompilation, reason: %s", reason); | 97 PrintF(" for recompilation, reason: %s", reason); |
| 97 if (FLAG_type_info_threshold > 0) { | 98 if (FLAG_type_info_threshold > 0) { |
| 98 int typeinfo, generic, total, type_percentage, generic_percentage; | 99 int typeinfo, generic, total, type_percentage, generic_percentage; |
| 99 GetICCounts(function->shared(), &typeinfo, &generic, &total, | 100 GetICCounts(function->shared(), &typeinfo, &generic, &total, |
| 100 &type_percentage, &generic_percentage); | 101 &type_percentage, &generic_percentage); |
| 101 PrintF(", ICs with typeinfo: %d/%d (%d%%)", typeinfo, total, | 102 PrintF(", ICs with typeinfo: %d/%d (%d%%)", typeinfo, total, |
| 102 type_percentage); | 103 type_percentage); |
| 103 PrintF(", generic ICs: %d/%d (%d%%)", generic, total, generic_percentage); | 104 PrintF(", generic ICs: %d/%d (%d%%)", generic, total, generic_percentage); |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 } else { | 325 } else { |
| 325 MaybeOptimizeFullCodegen(function, frame_count, frame->is_optimized()); | 326 MaybeOptimizeFullCodegen(function, frame_count, frame->is_optimized()); |
| 326 } | 327 } |
| 327 } | 328 } |
| 328 any_ic_changed_ = false; | 329 any_ic_changed_ = false; |
| 329 } | 330 } |
| 330 | 331 |
| 331 | 332 |
| 332 } // namespace internal | 333 } // namespace internal |
| 333 } // namespace v8 | 334 } // namespace v8 |
| OLD | NEW |