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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 DEFINE_bool(harmony_typed_arrays, false, | 167 DEFINE_bool(harmony_typed_arrays, false, |
168 "enable harmony typed arrays") | 168 "enable harmony typed arrays") |
169 DEFINE_bool(harmony_array_buffer, false, | 169 DEFINE_bool(harmony_array_buffer, false, |
170 "enable harmony array buffer") | 170 "enable harmony array buffer") |
171 DEFINE_implication(harmony_typed_arrays, harmony_array_buffer) | 171 DEFINE_implication(harmony_typed_arrays, harmony_array_buffer) |
172 DEFINE_bool(harmony_generators, false, "enable harmony generators") | 172 DEFINE_bool(harmony_generators, false, "enable harmony generators") |
173 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") | 173 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") |
174 DEFINE_bool(harmony_numeric_literals, false, | 174 DEFINE_bool(harmony_numeric_literals, false, |
175 "enable harmony numeric literals (0o77, 0b11)") | 175 "enable harmony numeric literals (0o77, 0b11)") |
176 DEFINE_bool(harmony_strings, false, "enable harmony string") | 176 DEFINE_bool(harmony_strings, false, "enable harmony string") |
177 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") | |
178 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") | 177 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") |
179 DEFINE_implication(harmony, harmony_scoping) | 178 DEFINE_implication(harmony, harmony_scoping) |
180 DEFINE_implication(harmony, harmony_modules) | 179 DEFINE_implication(harmony, harmony_modules) |
181 DEFINE_implication(harmony, harmony_symbols) | 180 DEFINE_implication(harmony, harmony_symbols) |
182 DEFINE_implication(harmony, harmony_proxies) | 181 DEFINE_implication(harmony, harmony_proxies) |
183 DEFINE_implication(harmony, harmony_collections) | 182 DEFINE_implication(harmony, harmony_collections) |
184 DEFINE_implication(harmony, harmony_observation) | 183 DEFINE_implication(harmony, harmony_observation) |
185 DEFINE_implication(harmony, harmony_generators) | 184 DEFINE_implication(harmony, harmony_generators) |
186 DEFINE_implication(harmony, harmony_iteration) | 185 DEFINE_implication(harmony, harmony_iteration) |
187 DEFINE_implication(harmony, harmony_numeric_literals) | 186 DEFINE_implication(harmony, harmony_numeric_literals) |
188 DEFINE_implication(harmony, harmony_strings) | 187 DEFINE_implication(harmony, harmony_strings) |
189 DEFINE_implication(harmony, harmony_arrays) | |
190 DEFINE_implication(harmony_modules, harmony_scoping) | 188 DEFINE_implication(harmony_modules, harmony_scoping) |
191 DEFINE_implication(harmony_observation, harmony_collections) | 189 DEFINE_implication(harmony_observation, harmony_collections) |
192 // TODO[dslomov] add harmony => harmony_typed_arrays | 190 // TODO[dslomov] add harmony => harmony_typed_arrays |
193 | 191 |
194 // Flags for experimental implementation features. | 192 // Flags for experimental implementation features. |
195 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") | 193 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") |
196 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") | 194 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") |
197 DEFINE_bool(compiled_keyed_stores, true, "use optimizing compiler to " | 195 DEFINE_bool(compiled_keyed_stores, true, "use optimizing compiler to " |
198 "generate keyed store stubs") | 196 "generate keyed store stubs") |
199 DEFINE_bool(clever_optimizations, | 197 DEFINE_bool(clever_optimizations, |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 0, | 258 0, |
261 "deoptimize every n times a deopt point is passed") | 259 "deoptimize every n times a deopt point is passed") |
262 DEFINE_int(deopt_every_n_garbage_collections, | 260 DEFINE_int(deopt_every_n_garbage_collections, |
263 0, | 261 0, |
264 "deoptimize every n garbage collections") | 262 "deoptimize every n garbage collections") |
265 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points") | 263 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points") |
266 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing") | 264 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing") |
267 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases") | 265 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases") |
268 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining") | 266 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining") |
269 DEFINE_bool(use_osr, true, "use on-stack replacement") | 267 DEFINE_bool(use_osr, true, "use on-stack replacement") |
| 268 DEFINE_bool(idefs, false, "use informative definitions") |
270 DEFINE_bool(array_bounds_checks_elimination, true, | 269 DEFINE_bool(array_bounds_checks_elimination, true, |
271 "perform array bounds checks elimination") | 270 "perform array bounds checks elimination") |
272 DEFINE_bool(array_bounds_checks_hoisting, false, | 271 DEFINE_bool(array_bounds_checks_hoisting, false, |
273 "perform array bounds checks hoisting") | 272 "perform array bounds checks hoisting") |
274 DEFINE_bool(array_index_dehoisting, true, | 273 DEFINE_bool(array_index_dehoisting, true, |
275 "perform array index dehoisting") | 274 "perform array index dehoisting") |
276 DEFINE_bool(analyze_environment_liveness, true, | 275 DEFINE_bool(analyze_environment_liveness, true, |
277 "analyze liveness of environment slots and zap dead values") | 276 "analyze liveness of environment slots and zap dead values") |
278 DEFINE_bool(dead_code_elimination, true, "use dead code elimination") | 277 DEFINE_bool(dead_code_elimination, true, "use dead code elimination") |
279 DEFINE_bool(fold_constants, true, "use constant folding") | 278 DEFINE_bool(fold_constants, true, "use constant folding") |
(...skipping 23 matching lines...) Expand all Loading... |
303 "allow uint32 values on optimize frames if they are used only in " | 302 "allow uint32 values on optimize frames if they are used only in " |
304 "safe operations") | 303 "safe operations") |
305 | 304 |
306 DEFINE_bool(parallel_recompilation, true, | 305 DEFINE_bool(parallel_recompilation, true, |
307 "optimizing hot functions asynchronously on a separate thread") | 306 "optimizing hot functions asynchronously on a separate thread") |
308 DEFINE_bool(trace_parallel_recompilation, false, "track parallel recompilation") | 307 DEFINE_bool(trace_parallel_recompilation, false, "track parallel recompilation") |
309 DEFINE_int(parallel_recompilation_queue_length, 8, | 308 DEFINE_int(parallel_recompilation_queue_length, 8, |
310 "the length of the parallel compilation queue") | 309 "the length of the parallel compilation queue") |
311 DEFINE_int(parallel_recompilation_delay, 0, | 310 DEFINE_int(parallel_recompilation_delay, 0, |
312 "artificial compilation delay in ms") | 311 "artificial compilation delay in ms") |
| 312 DEFINE_bool(omit_prototype_checks_for_leaf_maps, true, |
| 313 "do not emit prototype checks if all prototypes have leaf maps, " |
| 314 "deoptimize the optimized code if the layout of the maps changes.") |
313 DEFINE_bool(omit_map_checks_for_leaf_maps, true, | 315 DEFINE_bool(omit_map_checks_for_leaf_maps, true, |
314 "do not emit check maps for constant values that have a leaf map, " | 316 "do not emit check maps for constant values that have a leaf map, " |
315 "deoptimize the optimized code if the layout of the maps changes.") | 317 "deoptimize the optimized code if the layout of the maps changes.") |
316 | 318 |
317 // Experimental profiler changes. | 319 // Experimental profiler changes. |
318 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments") | 320 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments") |
319 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability") | 321 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability") |
320 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler") | 322 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler") |
321 DEFINE_bool(self_optimization, false, | 323 DEFINE_bool(self_optimization, false, |
322 "primitive functions trigger their own optimization") | 324 "primitive functions trigger their own optimization") |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 #undef DEFINE_bool | 813 #undef DEFINE_bool |
812 #undef DEFINE_int | 814 #undef DEFINE_int |
813 #undef DEFINE_string | 815 #undef DEFINE_string |
814 #undef DEFINE_implication | 816 #undef DEFINE_implication |
815 | 817 |
816 #undef FLAG_MODE_DECLARE | 818 #undef FLAG_MODE_DECLARE |
817 #undef FLAG_MODE_DEFINE | 819 #undef FLAG_MODE_DEFINE |
818 #undef FLAG_MODE_DEFINE_DEFAULTS | 820 #undef FLAG_MODE_DEFINE_DEFAULTS |
819 #undef FLAG_MODE_META | 821 #undef FLAG_MODE_META |
820 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 822 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
OLD | NEW |