OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 | 173 |
174 DEFINE_bool(optimize_for_in, true, | 174 DEFINE_bool(optimize_for_in, true, |
175 "optimize functions containing for-in loops") | 175 "optimize functions containing for-in loops") |
176 | 176 |
177 // Experimental profiler changes. | 177 // Experimental profiler changes. |
178 DEFINE_bool(experimental_profiler, false, "enable all profiler experiments") | 178 DEFINE_bool(experimental_profiler, false, "enable all profiler experiments") |
179 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability") | 179 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability") |
180 DEFINE_int(frame_count, 2, "number of stack frames inspected by the profiler") | 180 DEFINE_int(frame_count, 2, "number of stack frames inspected by the profiler") |
181 DEFINE_bool(self_optimization, false, | 181 DEFINE_bool(self_optimization, false, |
182 "primitive functions trigger their own optimization") | 182 "primitive functions trigger their own optimization") |
| 183 DEFINE_bool(direct_self_opt, false, |
| 184 "call recompile stub directly when self-optimizing") |
| 185 DEFINE_bool(retry_self_opt, true, "re-try self-optimization if it failed") |
183 DEFINE_bool(count_based_interrupts, false, | 186 DEFINE_bool(count_based_interrupts, false, |
184 "trigger profiler ticks based on counting instead of timing") | 187 "trigger profiler ticks based on counting instead of timing") |
185 DEFINE_bool(interrupt_at_exit, false, | 188 DEFINE_bool(interrupt_at_exit, false, |
186 "insert an interrupt check at function exit") | 189 "insert an interrupt check at function exit") |
187 DEFINE_bool(weighted_back_edges, false, | 190 DEFINE_bool(weighted_back_edges, false, |
188 "weight back edges by jump distance for interrupt triggering") | 191 "weight back edges by jump distance for interrupt triggering") |
189 DEFINE_int(interrupt_budget, 10000, | 192 DEFINE_int(interrupt_budget, 10000, |
190 "execution budget before interrupt is triggered") | 193 "execution budget before interrupt is triggered") |
191 DEFINE_int(type_info_threshold, 0, | 194 DEFINE_int(type_info_threshold, 0, |
192 "percentage of ICs that must have type info to allow optimization") | 195 "percentage of ICs that must have type info to allow optimization") |
| 196 DEFINE_int(self_opt_count, 170, "call count before self-optimization") |
193 | 197 |
194 DEFINE_implication(experimental_profiler, watch_ic_patching) | 198 DEFINE_implication(experimental_profiler, watch_ic_patching) |
195 DEFINE_implication(experimental_profiler, self_optimization) | 199 DEFINE_implication(experimental_profiler, self_optimization) |
196 DEFINE_implication(experimental_profiler, count_based_interrupts) | 200 DEFINE_implication(experimental_profiler, count_based_interrupts) |
197 DEFINE_implication(experimental_profiler, interrupt_at_exit) | 201 DEFINE_implication(experimental_profiler, interrupt_at_exit) |
198 DEFINE_implication(experimental_profiler, weighted_back_edges) | 202 DEFINE_implication(experimental_profiler, weighted_back_edges) |
199 | 203 |
200 DEFINE_bool(trace_opt_verbose, false, "extra verbose compilation tracing") | 204 DEFINE_bool(trace_opt_verbose, false, "extra verbose compilation tracing") |
201 DEFINE_implication(trace_opt_verbose, trace_opt) | 205 DEFINE_implication(trace_opt_verbose, trace_opt) |
202 | 206 |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 #undef DEFINE_bool | 606 #undef DEFINE_bool |
603 #undef DEFINE_int | 607 #undef DEFINE_int |
604 #undef DEFINE_string | 608 #undef DEFINE_string |
605 #undef DEFINE_implication | 609 #undef DEFINE_implication |
606 | 610 |
607 #undef FLAG_MODE_DECLARE | 611 #undef FLAG_MODE_DECLARE |
608 #undef FLAG_MODE_DEFINE | 612 #undef FLAG_MODE_DEFINE |
609 #undef FLAG_MODE_DEFINE_DEFAULTS | 613 #undef FLAG_MODE_DEFINE_DEFAULTS |
610 #undef FLAG_MODE_META | 614 #undef FLAG_MODE_META |
611 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 615 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
OLD | NEW |