Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(967)

Side by Side Diff: src/flag-definitions.h

Issue 131363008: A64: Synchronize with r15922. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/factory.cc ('k') | src/frames.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 DEFINE_implication(harmony, harmony_generators) 183 DEFINE_implication(harmony, harmony_generators)
184 DEFINE_implication(harmony, harmony_iteration) 184 DEFINE_implication(harmony, harmony_iteration)
185 DEFINE_implication(harmony, harmony_numeric_literals) 185 DEFINE_implication(harmony, harmony_numeric_literals)
186 DEFINE_implication(harmony_modules, harmony_scoping) 186 DEFINE_implication(harmony_modules, harmony_scoping)
187 DEFINE_implication(harmony_observation, harmony_collections) 187 DEFINE_implication(harmony_observation, harmony_collections)
188 // TODO[dslomov] add harmony => harmony_typed_arrays 188 // TODO[dslomov] add harmony => harmony_typed_arrays
189 189
190 // Flags for experimental implementation features. 190 // Flags for experimental implementation features.
191 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") 191 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes")
192 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") 192 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values")
193 DEFINE_bool(compiled_transitions, true, "use optimizing compiler to "
194 "generate array elements transition stubs")
195 DEFINE_bool(compiled_keyed_stores, true, "use optimizing compiler to " 193 DEFINE_bool(compiled_keyed_stores, true, "use optimizing compiler to "
196 "generate keyed store stubs") 194 "generate keyed store stubs")
197 DEFINE_bool(clever_optimizations, 195 DEFINE_bool(clever_optimizations,
198 true, 196 true,
199 "Optimize object size, Array shift, DOM strings and string +") 197 "Optimize object size, Array shift, DOM strings and string +")
200 DEFINE_bool(pretenuring, true, "allocate objects in old space") 198 DEFINE_bool(pretenuring, true, "allocate objects in old space")
201 // TODO(hpayer): We will remove this flag as soon as we have pretenuring 199 // TODO(hpayer): We will remove this flag as soon as we have pretenuring
202 // support for specific allocation sites. 200 // support for specific allocation sites.
203 DEFINE_bool(pretenuring_call_new, false, "pretenure call new") 201 DEFINE_bool(pretenuring_call_new, false, "pretenure call new")
204 DEFINE_bool(track_fields, true, "track fields with only smi values") 202 DEFINE_bool(track_fields, true, "track fields with only smi values")
205 DEFINE_bool(track_double_fields, true, "track fields with double values") 203 DEFINE_bool(track_double_fields, true, "track fields with double values")
206 DEFINE_bool(track_heap_object_fields, true, "track fields with heap values") 204 DEFINE_bool(track_heap_object_fields, true, "track fields with heap values")
207 DEFINE_bool(track_computed_fields, true, "track computed boilerplate fields") 205 DEFINE_bool(track_computed_fields, true, "track computed boilerplate fields")
208 DEFINE_implication(track_double_fields, track_fields) 206 DEFINE_implication(track_double_fields, track_fields)
209 DEFINE_implication(track_heap_object_fields, track_fields) 207 DEFINE_implication(track_heap_object_fields, track_fields)
210 DEFINE_implication(track_computed_fields, track_fields) 208 DEFINE_implication(track_computed_fields, track_fields)
209 DEFINE_bool(smi_binop, true, "support smi representation in binary operations")
211 210
212 // Flags for data representation optimizations 211 // Flags for data representation optimizations
213 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles") 212 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles")
214 DEFINE_bool(string_slices, true, "use string slices") 213 DEFINE_bool(string_slices, true, "use string slices")
215 214
216 // Flags for Crankshaft. 215 // Flags for Crankshaft.
217 DEFINE_bool(crankshaft, true, "use crankshaft") 216 DEFINE_bool(crankshaft, true, "use crankshaft")
218 DEFINE_string(hydrogen_filter, "*", "optimization filter") 217 DEFINE_string(hydrogen_filter, "*", "optimization filter")
219 DEFINE_bool(use_range, true, "use hydrogen range analysis") 218 DEFINE_bool(use_range, true, "use hydrogen range analysis")
220 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") 219 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering")
221 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") 220 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing")
222 DEFINE_bool(use_inlining, true, "use function inlining") 221 DEFINE_bool(use_inlining, true, "use function inlining")
223 DEFINE_bool(use_escape_analysis, false, "use hydrogen escape analysis") 222 DEFINE_bool(use_escape_analysis, false, "use hydrogen escape analysis")
224 DEFINE_bool(use_allocation_folding, true, "use allocation folding") 223 DEFINE_bool(use_allocation_folding, true, "use allocation folding")
225 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") 224 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels")
226 DEFINE_int(max_inlined_source_size, 600, 225 DEFINE_int(max_inlined_source_size, 600,
227 "maximum source size in bytes considered for a single inlining") 226 "maximum source size in bytes considered for a single inlining")
228 DEFINE_int(max_inlined_nodes, 196, 227 DEFINE_int(max_inlined_nodes, 196,
229 "maximum number of AST nodes considered for a single inlining") 228 "maximum number of AST nodes considered for a single inlining")
230 DEFINE_int(max_inlined_nodes_cumulative, 400, 229 DEFINE_int(max_inlined_nodes_cumulative, 400,
231 "maximum cumulative number of AST nodes considered for inlining") 230 "maximum cumulative number of AST nodes considered for inlining")
232 DEFINE_bool(loop_invariant_code_motion, true, "loop invariant code motion") 231 DEFINE_bool(loop_invariant_code_motion, true, "loop invariant code motion")
233 DEFINE_bool(fast_math, true, "faster (but maybe less accurate) math functions") 232 DEFINE_bool(fast_math, true, "faster (but maybe less accurate) math functions")
234 DEFINE_bool(collect_megamorphic_maps_from_stub_cache, 233 DEFINE_bool(collect_megamorphic_maps_from_stub_cache,
235 true, 234 true,
236 "crankshaft harvests type feedback from stub cache") 235 "crankshaft harvests type feedback from stub cache")
237 DEFINE_bool(hydrogen_stats, false, "print statistics for hydrogen") 236 DEFINE_bool(hydrogen_stats, false, "print statistics for hydrogen")
238 DEFINE_bool(trace_hydrogen, false, "trace generated hydrogen to file") 237 DEFINE_bool(trace_hydrogen, false, "trace generated hydrogen to file")
239 DEFINE_string(trace_phase, "Z", "trace generated IR for specified phases") 238 DEFINE_bool(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs")
239 DEFINE_string(trace_hydrogen_file, NULL, "trace hydrogen to given file name")
240 DEFINE_string(trace_phase, "HLZ", "trace generated IR for specified phases")
240 DEFINE_bool(trace_inlining, false, "trace inlining decisions") 241 DEFINE_bool(trace_inlining, false, "trace inlining decisions")
241 DEFINE_bool(trace_alloc, false, "trace register allocator") 242 DEFINE_bool(trace_alloc, false, "trace register allocator")
242 DEFINE_bool(trace_all_uses, false, "trace all use positions") 243 DEFINE_bool(trace_all_uses, false, "trace all use positions")
243 DEFINE_bool(trace_range, false, "trace range analysis") 244 DEFINE_bool(trace_range, false, "trace range analysis")
244 DEFINE_bool(trace_gvn, false, "trace global value numbering") 245 DEFINE_bool(trace_gvn, false, "trace global value numbering")
245 DEFINE_bool(trace_representation, false, "trace representation types") 246 DEFINE_bool(trace_representation, false, "trace representation types")
246 DEFINE_bool(trace_escape_analysis, false, "trace hydrogen escape analysis") 247 DEFINE_bool(trace_escape_analysis, false, "trace hydrogen escape analysis")
247 DEFINE_bool(trace_allocation_folding, false, "trace allocation folding") 248 DEFINE_bool(trace_allocation_folding, false, "trace allocation folding")
248 DEFINE_bool(trace_track_allocation_sites, false, 249 DEFINE_bool(trace_track_allocation_sites, false,
249 "trace the tracking of allocation sites") 250 "trace the tracking of allocation sites")
250 DEFINE_bool(trace_migration, false, "trace object migration") 251 DEFINE_bool(trace_migration, false, "trace object migration")
251 DEFINE_bool(trace_generalization, false, "trace map generalization") 252 DEFINE_bool(trace_generalization, false, "trace map generalization")
252 DEFINE_bool(stress_pointer_maps, false, "pointer map for every instruction") 253 DEFINE_bool(stress_pointer_maps, false, "pointer map for every instruction")
253 DEFINE_bool(stress_environments, false, "environment for every instruction") 254 DEFINE_bool(stress_environments, false, "environment for every instruction")
254 DEFINE_int(deopt_every_n_times, 255 DEFINE_int(deopt_every_n_times,
255 0, 256 0,
256 "deoptimize every n times a deopt point is passed") 257 "deoptimize every n times a deopt point is passed")
257 DEFINE_int(deopt_every_n_garbage_collections, 258 DEFINE_int(deopt_every_n_garbage_collections,
258 0, 259 0,
259 "deoptimize every n garbage collections") 260 "deoptimize every n garbage collections")
260 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points") 261 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points")
261 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing") 262 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing")
262 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases") 263 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases")
263 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining") 264 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining")
264 DEFINE_bool(use_osr, true, "use on-stack replacement") 265 DEFINE_bool(use_osr, true, "use on-stack replacement")
265 DEFINE_bool(idefs, false, "use informative definitions") 266 DEFINE_bool(idefs, false, "use informative definitions")
266 DEFINE_bool(array_bounds_checks_elimination, true, 267 DEFINE_bool(array_bounds_checks_elimination, true,
267 "perform array bounds checks elimination") 268 "perform array bounds checks elimination")
269 DEFINE_bool(array_bounds_checks_hoisting, false,
270 "perform array bounds checks hoisting")
268 DEFINE_bool(array_index_dehoisting, true, 271 DEFINE_bool(array_index_dehoisting, true,
269 "perform array index dehoisting") 272 "perform array index dehoisting")
270 DEFINE_bool(analyze_environment_liveness, true, 273 DEFINE_bool(analyze_environment_liveness, true,
271 "analyze liveness of environment slots and zap dead values") 274 "analyze liveness of environment slots and zap dead values")
272 DEFINE_bool(dead_code_elimination, true, "use dead code elimination") 275 DEFINE_bool(dead_code_elimination, true, "use dead code elimination")
273 DEFINE_bool(fold_constants, true, "use constant folding") 276 DEFINE_bool(fold_constants, true, "use constant folding")
274 DEFINE_bool(trace_dead_code_elimination, false, "trace dead code elimination") 277 DEFINE_bool(trace_dead_code_elimination, false, "trace dead code elimination")
275 DEFINE_bool(unreachable_code_elimination, false, 278 DEFINE_bool(unreachable_code_elimination, false,
276 "eliminate unreachable code (hidden behind soft deopts)") 279 "eliminate unreachable code (hidden behind soft deopts)")
277 DEFINE_bool(track_allocation_sites, true, 280 DEFINE_bool(track_allocation_sites, true,
(...skipping 22 matching lines...) Expand all
300 DEFINE_bool(parallel_recompilation, true, 303 DEFINE_bool(parallel_recompilation, true,
301 "optimizing hot functions asynchronously on a separate thread") 304 "optimizing hot functions asynchronously on a separate thread")
302 DEFINE_bool(trace_parallel_recompilation, false, "track parallel recompilation") 305 DEFINE_bool(trace_parallel_recompilation, false, "track parallel recompilation")
303 DEFINE_int(parallel_recompilation_queue_length, 8, 306 DEFINE_int(parallel_recompilation_queue_length, 8,
304 "the length of the parallel compilation queue") 307 "the length of the parallel compilation queue")
305 DEFINE_int(parallel_recompilation_delay, 0, 308 DEFINE_int(parallel_recompilation_delay, 0,
306 "artificial compilation delay in ms") 309 "artificial compilation delay in ms")
307 DEFINE_bool(omit_prototype_checks_for_leaf_maps, true, 310 DEFINE_bool(omit_prototype_checks_for_leaf_maps, true,
308 "do not emit prototype checks if all prototypes have leaf maps, " 311 "do not emit prototype checks if all prototypes have leaf maps, "
309 "deoptimize the optimized code if the layout of the maps changes.") 312 "deoptimize the optimized code if the layout of the maps changes.")
313 DEFINE_bool(omit_map_checks_for_leaf_maps, true,
314 "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.")
310 316
311 // Experimental profiler changes. 317 // Experimental profiler changes.
312 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments") 318 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments")
313 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability") 319 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability")
314 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler") 320 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler")
315 DEFINE_bool(self_optimization, false, 321 DEFINE_bool(self_optimization, false,
316 "primitive functions trigger their own optimization") 322 "primitive functions trigger their own optimization")
317 DEFINE_bool(direct_self_opt, false, 323 DEFINE_bool(direct_self_opt, false,
318 "call recompile stub directly when self-optimizing") 324 "call recompile stub directly when self-optimizing")
319 DEFINE_bool(retry_self_opt, false, "re-try self-optimization if it failed") 325 DEFINE_bool(retry_self_opt, false, "re-try self-optimization if it failed")
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 DEFINE_bool(log_code, false, 751 DEFINE_bool(log_code, false,
746 "Log code events to the log file without profiling.") 752 "Log code events to the log file without profiling.")
747 DEFINE_bool(log_gc, false, 753 DEFINE_bool(log_gc, false,
748 "Log heap samples on garbage collection for the hp2ps tool.") 754 "Log heap samples on garbage collection for the hp2ps tool.")
749 DEFINE_bool(log_handles, false, "Log global handle events.") 755 DEFINE_bool(log_handles, false, "Log global handle events.")
750 DEFINE_bool(log_snapshot_positions, false, 756 DEFINE_bool(log_snapshot_positions, false,
751 "log positions of (de)serialized objects in the snapshot.") 757 "log positions of (de)serialized objects in the snapshot.")
752 DEFINE_bool(log_suspect, false, "Log suspect operations.") 758 DEFINE_bool(log_suspect, false, "Log suspect operations.")
753 DEFINE_bool(prof, false, 759 DEFINE_bool(prof, false,
754 "Log statistical profiling information (implies --log-code).") 760 "Log statistical profiling information (implies --log-code).")
755 DEFINE_bool(prof_auto, true,
756 "Used with --prof, starts profiling automatically")
757 DEFINE_bool(prof_lazy, false, 761 DEFINE_bool(prof_lazy, false,
758 "Used with --prof, only does sampling and logging" 762 "Used with --prof, only does sampling and logging"
759 " when profiler is active (implies --noprof_auto).") 763 " when profiler is active.")
760 DEFINE_bool(prof_browser_mode, true, 764 DEFINE_bool(prof_browser_mode, true,
761 "Used with --prof, turns on browser-compatible mode for profiling.") 765 "Used with --prof, turns on browser-compatible mode for profiling.")
762 DEFINE_bool(log_regexp, false, "Log regular expression execution.") 766 DEFINE_bool(log_regexp, false, "Log regular expression execution.")
763 DEFINE_string(logfile, "v8.log", "Specify the name of the log file.") 767 DEFINE_string(logfile, "v8.log", "Specify the name of the log file.")
764 DEFINE_bool(ll_prof, false, "Enable low-level linux profiler.") 768 DEFINE_bool(ll_prof, false, "Enable low-level linux profiler.")
765 DEFINE_string(gc_fake_mmap, "/tmp/__v8_gc__", 769 DEFINE_string(gc_fake_mmap, "/tmp/__v8_gc__",
766 "Specify the name of the file for fake gc mmap used in ll_prof") 770 "Specify the name of the file for fake gc mmap used in ll_prof")
767 DEFINE_bool(log_internal_timer_events, false, "Time internal events.") 771 DEFINE_bool(log_internal_timer_events, false, "Time internal events.")
768 DEFINE_bool(log_timer_events, false, 772 DEFINE_bool(log_timer_events, false,
769 "Time events including external callbacks.") 773 "Time events including external callbacks.")
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 #undef DEFINE_bool 832 #undef DEFINE_bool
829 #undef DEFINE_int 833 #undef DEFINE_int
830 #undef DEFINE_string 834 #undef DEFINE_string
831 #undef DEFINE_implication 835 #undef DEFINE_implication
832 836
833 #undef FLAG_MODE_DECLARE 837 #undef FLAG_MODE_DECLARE
834 #undef FLAG_MODE_DEFINE 838 #undef FLAG_MODE_DEFINE
835 #undef FLAG_MODE_DEFINE_DEFAULTS 839 #undef FLAG_MODE_DEFINE_DEFAULTS
836 #undef FLAG_MODE_META 840 #undef FLAG_MODE_META
837 #undef FLAG_MODE_DEFINE_IMPLICATIONS 841 #undef FLAG_MODE_DEFINE_IMPLICATIONS
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/frames.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698