| 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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 DEFINE_bool(harmony_collections, false, | 175 DEFINE_bool(harmony_collections, false, |
| 176 "enable harmony collections (sets, maps, and weak maps)") | 176 "enable harmony collections (sets, maps, and weak maps)") |
| 177 DEFINE_bool(harmony_observation, false, | 177 DEFINE_bool(harmony_observation, false, |
| 178 "enable harmony object observation (implies harmony collections") | 178 "enable harmony object observation (implies harmony collections") |
| 179 DEFINE_bool(harmony_generators, false, "enable harmony generators") | 179 DEFINE_bool(harmony_generators, false, "enable harmony generators") |
| 180 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") | 180 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") |
| 181 DEFINE_bool(harmony_numeric_literals, false, | 181 DEFINE_bool(harmony_numeric_literals, false, |
| 182 "enable harmony numeric literals (0o77, 0b11)") | 182 "enable harmony numeric literals (0o77, 0b11)") |
| 183 DEFINE_bool(harmony_strings, false, "enable harmony string") | 183 DEFINE_bool(harmony_strings, false, "enable harmony string") |
| 184 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") | 184 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") |
| 185 DEFINE_bool(harmony_maths, false, "enable harmony math functions") |
| 185 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") | 186 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") |
| 186 DEFINE_implication(harmony, harmony_scoping) | 187 DEFINE_implication(harmony, harmony_scoping) |
| 187 DEFINE_implication(harmony, harmony_modules) | 188 DEFINE_implication(harmony, harmony_modules) |
| 188 DEFINE_implication(harmony, harmony_symbols) | 189 DEFINE_implication(harmony, harmony_symbols) |
| 189 DEFINE_implication(harmony, harmony_proxies) | 190 DEFINE_implication(harmony, harmony_proxies) |
| 190 DEFINE_implication(harmony, harmony_collections) | 191 DEFINE_implication(harmony, harmony_collections) |
| 191 DEFINE_implication(harmony, harmony_observation) | 192 DEFINE_implication(harmony, harmony_observation) |
| 192 DEFINE_implication(harmony, harmony_generators) | 193 DEFINE_implication(harmony, harmony_generators) |
| 193 DEFINE_implication(harmony, harmony_iteration) | 194 DEFINE_implication(harmony, harmony_iteration) |
| 194 DEFINE_implication(harmony, harmony_numeric_literals) | 195 DEFINE_implication(harmony, harmony_numeric_literals) |
| 195 DEFINE_implication(harmony, harmony_strings) | 196 DEFINE_implication(harmony, harmony_strings) |
| 196 DEFINE_implication(harmony, harmony_arrays) | 197 DEFINE_implication(harmony, harmony_arrays) |
| 198 DEFINE_implication(harmony, harmony_maths) |
| 197 DEFINE_implication(harmony_modules, harmony_scoping) | 199 DEFINE_implication(harmony_modules, harmony_scoping) |
| 198 DEFINE_implication(harmony_observation, harmony_collections) | 200 DEFINE_implication(harmony_observation, harmony_collections) |
| 199 | 201 |
| 200 // Flags for experimental implementation features. | 202 // Flags for experimental implementation features. |
| 201 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") | 203 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") |
| 202 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") | 204 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") |
| 203 DEFINE_bool(clever_optimizations, | 205 DEFINE_bool(clever_optimizations, true, |
| 204 true, | |
| 205 "Optimize object size, Array shift, DOM strings and string +") | 206 "Optimize object size, Array shift, DOM strings and string +") |
| 206 DEFINE_bool(pretenuring, true, "allocate objects in old space") | 207 DEFINE_bool(pretenuring, true, "allocate objects in old space") |
| 207 // TODO(hpayer): We will remove this flag as soon as we have pretenuring | 208 // TODO(hpayer): We will remove this flag as soon as we have pretenuring |
| 208 // support for specific allocation sites. | 209 // support for specific allocation sites. |
| 209 DEFINE_bool(pretenuring_call_new, false, "pretenure call new") | 210 DEFINE_bool(pretenuring_call_new, false, "pretenure call new") |
| 211 DEFINE_bool(allocation_site_pretenuring, false, |
| 212 "pretenure with allocation sites") |
| 210 DEFINE_bool(track_fields, true, "track fields with only smi values") | 213 DEFINE_bool(track_fields, true, "track fields with only smi values") |
| 211 DEFINE_bool(track_double_fields, true, "track fields with double values") | 214 DEFINE_bool(track_double_fields, true, "track fields with double values") |
| 212 DEFINE_bool(track_heap_object_fields, true, "track fields with heap values") | 215 DEFINE_bool(track_heap_object_fields, true, "track fields with heap values") |
| 213 DEFINE_bool(track_computed_fields, true, "track computed boilerplate fields") | 216 DEFINE_bool(track_computed_fields, true, "track computed boilerplate fields") |
| 214 DEFINE_implication(track_double_fields, track_fields) | 217 DEFINE_implication(track_double_fields, track_fields) |
| 215 DEFINE_implication(track_heap_object_fields, track_fields) | 218 DEFINE_implication(track_heap_object_fields, track_fields) |
| 216 DEFINE_implication(track_computed_fields, track_fields) | 219 DEFINE_implication(track_computed_fields, track_fields) |
| 217 DEFINE_bool(smi_binop, true, "support smi representation in binary operations") | 220 DEFINE_bool(smi_binop, true, "support smi representation in binary operations") |
| 218 | 221 |
| 219 // Flags for optimization types. | 222 // Flags for optimization types. |
| 220 DEFINE_bool(optimize_for_size, false, | 223 DEFINE_bool(optimize_for_size, false, |
| 221 "Enables optimizations which favor memory size over execution " | 224 "Enables optimizations which favor memory size over execution " |
| 222 "speed.") | 225 "speed.") |
| 223 | 226 |
| 224 // Flags for data representation optimizations | 227 // Flags for data representation optimizations |
| 225 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles") | 228 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles") |
| 226 DEFINE_bool(string_slices, true, "use string slices") | 229 DEFINE_bool(string_slices, true, "use string slices") |
| 227 | 230 |
| 228 // Flags for Crankshaft. | 231 // Flags for Crankshaft. |
| 229 DEFINE_bool(crankshaft, true, "use crankshaft") | 232 DEFINE_bool(crankshaft, true, "use crankshaft") |
| 230 DEFINE_string(hydrogen_filter, "*", "optimization filter") | 233 DEFINE_string(hydrogen_filter, "*", "optimization filter") |
| 231 DEFINE_bool(use_range, true, "use hydrogen range analysis") | 234 DEFINE_bool(use_range, true, "use hydrogen range analysis") |
| 232 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") | 235 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") |
| 233 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") | 236 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") |
| 234 DEFINE_bool(use_inlining, true, "use function inlining") | 237 DEFINE_bool(use_inlining, true, "use function inlining") |
| 235 DEFINE_bool(use_escape_analysis, false, "use hydrogen escape analysis") | 238 DEFINE_bool(use_escape_analysis, true, "use hydrogen escape analysis") |
| 236 DEFINE_bool(use_allocation_folding, true, "use allocation folding") | 239 DEFINE_bool(use_allocation_folding, true, "use allocation folding") |
| 237 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") | 240 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") |
| 238 DEFINE_int(max_inlined_source_size, 600, | 241 DEFINE_int(max_inlined_source_size, 600, |
| 239 "maximum source size in bytes considered for a single inlining") | 242 "maximum source size in bytes considered for a single inlining") |
| 240 DEFINE_int(max_inlined_nodes, 196, | 243 DEFINE_int(max_inlined_nodes, 196, |
| 241 "maximum number of AST nodes considered for a single inlining") | 244 "maximum number of AST nodes considered for a single inlining") |
| 242 DEFINE_int(max_inlined_nodes_cumulative, 400, | 245 DEFINE_int(max_inlined_nodes_cumulative, 400, |
| 243 "maximum cumulative number of AST nodes considered for inlining") | 246 "maximum cumulative number of AST nodes considered for inlining") |
| 244 DEFINE_bool(loop_invariant_code_motion, true, "loop invariant code motion") | 247 DEFINE_bool(loop_invariant_code_motion, true, "loop invariant code motion") |
| 245 DEFINE_bool(fast_math, true, "faster (but maybe less accurate) math functions") | 248 DEFINE_bool(fast_math, true, "faster (but maybe less accurate) math functions") |
| 246 DEFINE_bool(collect_megamorphic_maps_from_stub_cache, | 249 DEFINE_bool(collect_megamorphic_maps_from_stub_cache, true, |
| 247 true, | |
| 248 "crankshaft harvests type feedback from stub cache") | 250 "crankshaft harvests type feedback from stub cache") |
| 249 DEFINE_bool(hydrogen_stats, false, "print statistics for hydrogen") | 251 DEFINE_bool(hydrogen_stats, false, "print statistics for hydrogen") |
| 250 DEFINE_bool(trace_check_elimination, false, "trace check elimination phase") | 252 DEFINE_bool(trace_check_elimination, false, "trace check elimination phase") |
| 251 DEFINE_bool(trace_hydrogen, false, "trace generated hydrogen to file") | 253 DEFINE_bool(trace_hydrogen, false, "trace generated hydrogen to file") |
| 252 DEFINE_string(trace_hydrogen_filter, "*", "hydrogen tracing filter") | 254 DEFINE_string(trace_hydrogen_filter, "*", "hydrogen tracing filter") |
| 253 DEFINE_bool(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs") | 255 DEFINE_bool(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs") |
| 254 DEFINE_string(trace_hydrogen_file, NULL, "trace hydrogen to given file name") | 256 DEFINE_string(trace_hydrogen_file, NULL, "trace hydrogen to given file name") |
| 255 DEFINE_string(trace_phase, "HLZ", "trace generated IR for specified phases") | 257 DEFINE_string(trace_phase, "HLZ", "trace generated IR for specified phases") |
| 256 DEFINE_bool(trace_inlining, false, "trace inlining decisions") | 258 DEFINE_bool(trace_inlining, false, "trace inlining decisions") |
| 257 DEFINE_bool(trace_load_elimination, false, "trace load elimination") | 259 DEFINE_bool(trace_load_elimination, false, "trace load elimination") |
| 258 DEFINE_bool(trace_alloc, false, "trace register allocator") | 260 DEFINE_bool(trace_alloc, false, "trace register allocator") |
| 259 DEFINE_bool(trace_all_uses, false, "trace all use positions") | 261 DEFINE_bool(trace_all_uses, false, "trace all use positions") |
| 260 DEFINE_bool(trace_range, false, "trace range analysis") | 262 DEFINE_bool(trace_range, false, "trace range analysis") |
| 261 DEFINE_bool(trace_gvn, false, "trace global value numbering") | 263 DEFINE_bool(trace_gvn, false, "trace global value numbering") |
| 262 DEFINE_bool(trace_representation, false, "trace representation types") | 264 DEFINE_bool(trace_representation, false, "trace representation types") |
| 263 DEFINE_bool(trace_escape_analysis, false, "trace hydrogen escape analysis") | 265 DEFINE_bool(trace_escape_analysis, false, "trace hydrogen escape analysis") |
| 264 DEFINE_bool(trace_allocation_folding, false, "trace allocation folding") | 266 DEFINE_bool(trace_allocation_folding, false, "trace allocation folding") |
| 265 DEFINE_bool(trace_track_allocation_sites, false, | 267 DEFINE_bool(trace_track_allocation_sites, false, |
| 266 "trace the tracking of allocation sites") | 268 "trace the tracking of allocation sites") |
| 267 DEFINE_bool(trace_migration, false, "trace object migration") | 269 DEFINE_bool(trace_migration, false, "trace object migration") |
| 268 DEFINE_bool(trace_generalization, false, "trace map generalization") | 270 DEFINE_bool(trace_generalization, false, "trace map generalization") |
| 269 DEFINE_bool(stress_pointer_maps, false, "pointer map for every instruction") | 271 DEFINE_bool(stress_pointer_maps, false, "pointer map for every instruction") |
| 270 DEFINE_bool(stress_environments, false, "environment for every instruction") | 272 DEFINE_bool(stress_environments, false, "environment for every instruction") |
| 271 DEFINE_int(deopt_every_n_times, | 273 DEFINE_int(deopt_every_n_times, 0, |
| 272 0, | |
| 273 "deoptimize every n times a deopt point is passed") | 274 "deoptimize every n times a deopt point is passed") |
| 274 DEFINE_int(deopt_every_n_garbage_collections, | 275 DEFINE_int(deopt_every_n_garbage_collections, 0, |
| 275 0, | |
| 276 "deoptimize every n garbage collections") | 276 "deoptimize every n garbage collections") |
| 277 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points") | 277 DEFINE_bool(print_deopt_stress, false, "print number of possible deopt points") |
| 278 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing") | 278 DEFINE_bool(trap_on_deopt, false, "put a break point before deoptimizing") |
| 279 DEFINE_bool(trap_on_stub_deopt, false, | 279 DEFINE_bool(trap_on_stub_deopt, false, |
| 280 "put a break point before deoptimizing a stub") | 280 "put a break point before deoptimizing a stub") |
| 281 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases") | 281 DEFINE_bool(deoptimize_uncommon_cases, true, "deoptimize uncommon cases") |
| 282 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining") | 282 DEFINE_bool(polymorphic_inlining, true, "polymorphic inlining") |
| 283 DEFINE_bool(use_osr, true, "use on-stack replacement") | 283 DEFINE_bool(use_osr, true, "use on-stack replacement") |
| 284 DEFINE_bool(array_bounds_checks_elimination, true, | 284 DEFINE_bool(array_bounds_checks_elimination, true, |
| 285 "perform array bounds checks elimination") | 285 "perform array bounds checks elimination") |
| (...skipping 18 matching lines...) Expand all Loading... |
| 304 "when picking a function to optimize, watch for shared function " | 304 "when picking a function to optimize, watch for shared function " |
| 305 "info, not JSFunction itself") | 305 "info, not JSFunction itself") |
| 306 DEFINE_bool(cache_optimized_code, true, | 306 DEFINE_bool(cache_optimized_code, true, |
| 307 "cache optimized code for closures") | 307 "cache optimized code for closures") |
| 308 DEFINE_bool(flush_optimized_code_cache, true, | 308 DEFINE_bool(flush_optimized_code_cache, true, |
| 309 "flushes the cache of optimized code for closures on every GC") | 309 "flushes the cache of optimized code for closures on every GC") |
| 310 DEFINE_bool(inline_construct, true, "inline constructor calls") | 310 DEFINE_bool(inline_construct, true, "inline constructor calls") |
| 311 DEFINE_bool(inline_arguments, true, "inline functions with arguments object") | 311 DEFINE_bool(inline_arguments, true, "inline functions with arguments object") |
| 312 DEFINE_bool(inline_accessors, true, "inline JavaScript accessors") | 312 DEFINE_bool(inline_accessors, true, "inline JavaScript accessors") |
| 313 DEFINE_int(loop_weight, 1, "loop weight for representation inference") | 313 DEFINE_int(loop_weight, 1, "loop weight for representation inference") |
| 314 DEFINE_int(escape_analysis_iterations, 1, |
| 315 "maximum number of escape analysis fix-point iterations") |
| 314 | 316 |
| 315 DEFINE_bool(optimize_for_in, true, | 317 DEFINE_bool(optimize_for_in, true, |
| 316 "optimize functions containing for-in loops") | 318 "optimize functions containing for-in loops") |
| 317 DEFINE_bool(opt_safe_uint32_operations, true, | 319 DEFINE_bool(opt_safe_uint32_operations, true, |
| 318 "allow uint32 values on optimize frames if they are used only in " | 320 "allow uint32 values on optimize frames if they are used only in " |
| 319 "safe operations") | 321 "safe operations") |
| 320 | 322 |
| 321 DEFINE_bool(concurrent_recompilation, true, | 323 DEFINE_bool(concurrent_recompilation, true, |
| 322 "optimizing hot functions asynchronously on a separate thread") | 324 "optimizing hot functions asynchronously on a separate thread") |
| 323 DEFINE_bool(trace_concurrent_recompilation, false, | 325 DEFINE_bool(trace_concurrent_recompilation, false, |
| 324 "track concurrent recompilation") | 326 "track concurrent recompilation") |
| 325 DEFINE_int(concurrent_recompilation_queue_length, 8, | 327 DEFINE_int(concurrent_recompilation_queue_length, 8, |
| 326 "the length of the concurrent compilation queue") | 328 "the length of the concurrent compilation queue") |
| 327 DEFINE_int(concurrent_recompilation_delay, 0, | 329 DEFINE_int(concurrent_recompilation_delay, 0, |
| 328 "artificial compilation delay in ms") | 330 "artificial compilation delay in ms") |
| 331 DEFINE_bool(block_concurrent_recompilation, false, |
| 332 "block queued jobs until released") |
| 329 DEFINE_bool(concurrent_osr, false, | 333 DEFINE_bool(concurrent_osr, false, |
| 330 "concurrent on-stack replacement") | 334 "concurrent on-stack replacement") |
| 331 DEFINE_implication(concurrent_osr, concurrent_recompilation) | 335 DEFINE_implication(concurrent_osr, concurrent_recompilation) |
| 332 | 336 |
| 333 DEFINE_bool(omit_map_checks_for_leaf_maps, true, | 337 DEFINE_bool(omit_map_checks_for_leaf_maps, true, |
| 334 "do not emit check maps for constant values that have a leaf map, " | 338 "do not emit check maps for constant values that have a leaf map, " |
| 335 "deoptimize the optimized code if the layout of the maps changes.") | 339 "deoptimize the optimized code if the layout of the maps changes.") |
| 336 | 340 |
| 337 // Experimental profiler changes. | 341 // Experimental profiler changes. |
| 338 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments") | 342 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments") |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 "enable unaligned accesses for ARMv7 (ARM only)") | 397 "enable unaligned accesses for ARMv7 (ARM only)") |
| 394 DEFINE_bool(enable_32dregs, ENABLE_32DREGS_DEFAULT, | 398 DEFINE_bool(enable_32dregs, ENABLE_32DREGS_DEFAULT, |
| 395 "enable use of d16-d31 registers on ARM - this requires VFP3") | 399 "enable use of d16-d31 registers on ARM - this requires VFP3") |
| 396 DEFINE_bool(enable_vldr_imm, false, | 400 DEFINE_bool(enable_vldr_imm, false, |
| 397 "enable use of constant pools for double immediate (ARM only)") | 401 "enable use of constant pools for double immediate (ARM only)") |
| 398 | 402 |
| 399 // bootstrapper.cc | 403 // bootstrapper.cc |
| 400 DEFINE_string(expose_natives_as, NULL, "expose natives in global object") | 404 DEFINE_string(expose_natives_as, NULL, "expose natives in global object") |
| 401 DEFINE_string(expose_debug_as, NULL, "expose debug in global object") | 405 DEFINE_string(expose_debug_as, NULL, "expose debug in global object") |
| 402 DEFINE_bool(expose_gc, false, "expose gc extension") | 406 DEFINE_bool(expose_gc, false, "expose gc extension") |
| 403 DEFINE_string(expose_gc_as, | 407 DEFINE_string(expose_gc_as, NULL, |
| 404 NULL, | |
| 405 "expose gc extension under the specified name") | 408 "expose gc extension under the specified name") |
| 406 DEFINE_implication(expose_gc_as, expose_gc) | 409 DEFINE_implication(expose_gc_as, expose_gc) |
| 407 DEFINE_bool(expose_externalize_string, false, | 410 DEFINE_bool(expose_externalize_string, false, |
| 408 "expose externalize string extension") | 411 "expose externalize string extension") |
| 409 DEFINE_int(stack_trace_limit, 10, "number of stack frames to capture") | 412 DEFINE_int(stack_trace_limit, 10, "number of stack frames to capture") |
| 410 DEFINE_bool(builtins_in_stack_traces, false, | 413 DEFINE_bool(builtins_in_stack_traces, false, |
| 411 "show built-in functions in stack traces") | 414 "show built-in functions in stack traces") |
| 412 DEFINE_bool(disable_native_files, false, "disable builtin natives files") | 415 DEFINE_bool(disable_native_files, false, "disable builtin natives files") |
| 413 | 416 |
| 414 // builtins-ia32.cc | 417 // builtins-ia32.cc |
| 415 DEFINE_bool(inline_new, true, "use fast inline allocation") | 418 DEFINE_bool(inline_new, true, "use fast inline allocation") |
| 416 | 419 |
| 417 // checks.cc | 420 // checks.cc |
| 418 DEFINE_bool(stack_trace_on_abort, true, | 421 DEFINE_bool(stack_trace_on_abort, true, |
| 419 "print a stack trace if an assertion failure occurs") | 422 "print a stack trace if an assertion failure occurs") |
| 420 | 423 |
| 421 // codegen-ia32.cc / codegen-arm.cc | 424 // codegen-ia32.cc / codegen-arm.cc |
| 422 DEFINE_bool(trace_codegen, false, | 425 DEFINE_bool(trace_codegen, false, |
| 423 "print name of functions for which code is generated") | 426 "print name of functions for which code is generated") |
| 424 DEFINE_bool(trace, false, "trace function calls") | 427 DEFINE_bool(trace, false, "trace function calls") |
| 425 DEFINE_bool(mask_constants_with_cookie, | 428 DEFINE_bool(mask_constants_with_cookie, true, |
| 426 true, | |
| 427 "use random jit cookie to mask large constants") | 429 "use random jit cookie to mask large constants") |
| 428 | 430 |
| 429 // codegen.cc | 431 // codegen.cc |
| 430 DEFINE_bool(lazy, true, "use lazy compilation") | 432 DEFINE_bool(lazy, true, "use lazy compilation") |
| 431 DEFINE_bool(trace_opt, false, "trace lazy optimization") | 433 DEFINE_bool(trace_opt, false, "trace lazy optimization") |
| 432 DEFINE_bool(trace_opt_stats, false, "trace lazy optimization statistics") | 434 DEFINE_bool(trace_opt_stats, false, "trace lazy optimization statistics") |
| 433 DEFINE_bool(opt, true, "use adaptive optimizations") | 435 DEFINE_bool(opt, true, "use adaptive optimizations") |
| 434 DEFINE_bool(always_opt, false, "always try to optimize functions") | 436 DEFINE_bool(always_opt, false, "always try to optimize functions") |
| 435 DEFINE_bool(always_osr, false, "always try to OSR functions") | 437 DEFINE_bool(always_osr, false, "always try to OSR functions") |
| 436 DEFINE_bool(prepare_always_opt, false, "prepare for turning on always opt") | 438 DEFINE_bool(prepare_always_opt, false, "prepare for turning on always opt") |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 "print more details following each garbage collection") | 506 "print more details following each garbage collection") |
| 505 DEFINE_bool(trace_fragmentation, false, | 507 DEFINE_bool(trace_fragmentation, false, |
| 506 "report fragmentation for old pointer and data pages") | 508 "report fragmentation for old pointer and data pages") |
| 507 DEFINE_bool(trace_external_memory, false, | 509 DEFINE_bool(trace_external_memory, false, |
| 508 "print amount of external allocated memory after each time " | 510 "print amount of external allocated memory after each time " |
| 509 "it is adjusted.") | 511 "it is adjusted.") |
| 510 DEFINE_bool(collect_maps, true, | 512 DEFINE_bool(collect_maps, true, |
| 511 "garbage collect maps from which no objects can be reached") | 513 "garbage collect maps from which no objects can be reached") |
| 512 DEFINE_bool(weak_embedded_maps_in_optimized_code, true, | 514 DEFINE_bool(weak_embedded_maps_in_optimized_code, true, |
| 513 "make maps embedded in optimized code weak") | 515 "make maps embedded in optimized code weak") |
| 514 DEFINE_bool(weak_embedded_objects_in_optimized_code, false, | 516 DEFINE_bool(weak_embedded_objects_in_optimized_code, true, |
| 515 "make objects embedded in optimized code weak") | 517 "make objects embedded in optimized code weak") |
| 516 DEFINE_bool(flush_code, true, | 518 DEFINE_bool(flush_code, true, |
| 517 "flush code that we expect not to use again (during full gc)") | 519 "flush code that we expect not to use again (during full gc)") |
| 518 DEFINE_bool(flush_code_incrementally, true, | 520 DEFINE_bool(flush_code_incrementally, true, |
| 519 "flush code that we expect not to use again (incrementally)") | 521 "flush code that we expect not to use again (incrementally)") |
| 520 DEFINE_bool(trace_code_flushing, false, "trace code flushing progress") | 522 DEFINE_bool(trace_code_flushing, false, "trace code flushing progress") |
| 521 DEFINE_bool(age_code, true, | 523 DEFINE_bool(age_code, true, |
| 522 "track un-executed functions to age code and flush only " | 524 "track un-executed functions to age code and flush only " |
| 523 "old code (required for code flushing)") | 525 "old code (required for code flushing)") |
| 524 DEFINE_bool(incremental_marking, true, "use incremental marking") | 526 DEFINE_bool(incremental_marking, true, "use incremental marking") |
| 525 DEFINE_bool(incremental_marking_steps, true, "do incremental marking steps") | 527 DEFINE_bool(incremental_marking_steps, true, "do incremental marking steps") |
| 526 DEFINE_bool(trace_incremental_marking, false, | 528 DEFINE_bool(trace_incremental_marking, false, |
| 527 "trace progress of the incremental marking") | 529 "trace progress of the incremental marking") |
| 528 DEFINE_bool(track_gc_object_stats, false, | 530 DEFINE_bool(track_gc_object_stats, false, |
| 529 "track object counts and memory usage") | 531 "track object counts and memory usage") |
| 530 DEFINE_bool(parallel_sweeping, true, "enable parallel sweeping") | 532 DEFINE_bool(parallel_sweeping, true, "enable parallel sweeping") |
| 531 DEFINE_bool(concurrent_sweeping, false, "enable concurrent sweeping") | 533 DEFINE_bool(concurrent_sweeping, false, "enable concurrent sweeping") |
| 532 DEFINE_int(sweeper_threads, 0, | 534 DEFINE_int(sweeper_threads, 0, |
| 533 "number of parallel and concurrent sweeping threads") | 535 "number of parallel and concurrent sweeping threads") |
| 534 #ifdef VERIFY_HEAP | 536 #ifdef VERIFY_HEAP |
| 535 DEFINE_bool(verify_heap, false, "verify heap pointers before and after GC") | 537 DEFINE_bool(verify_heap, false, "verify heap pointers before and after GC") |
| 536 #endif | 538 #endif |
| 537 | 539 |
| 540 |
| 541 // heap-snapshot-generator.cc |
| 542 DEFINE_bool(heap_profiler_trace_objects, false, |
| 543 "Dump heap object allocations/movements/size_updates") |
| 544 |
| 545 |
| 538 // v8.cc | 546 // v8.cc |
| 539 DEFINE_bool(use_idle_notification, true, | 547 DEFINE_bool(use_idle_notification, true, |
| 540 "Use idle notification to reduce memory footprint.") | 548 "Use idle notification to reduce memory footprint.") |
| 541 // ic.cc | 549 // ic.cc |
| 542 DEFINE_bool(use_ic, true, "use inline caching") | 550 DEFINE_bool(use_ic, true, "use inline caching") |
| 543 | 551 |
| 544 // macro-assembler-ia32.cc | 552 // macro-assembler-ia32.cc |
| 545 DEFINE_bool(native_code_counters, false, | 553 DEFINE_bool(native_code_counters, false, |
| 546 "generate extra code for manipulating stats counters") | 554 "generate extra code for manipulating stats counters") |
| 547 | 555 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 DEFINE_int(sim_stack_alignment, 8, | 590 DEFINE_int(sim_stack_alignment, 8, |
| 583 "Stack alingment in bytes in simulator (4 or 8, 8 is default)") | 591 "Stack alingment in bytes in simulator (4 or 8, 8 is default)") |
| 584 | 592 |
| 585 // isolate.cc | 593 // isolate.cc |
| 586 DEFINE_bool(abort_on_uncaught_exception, false, | 594 DEFINE_bool(abort_on_uncaught_exception, false, |
| 587 "abort program (dump core) when an uncaught exception is thrown") | 595 "abort program (dump core) when an uncaught exception is thrown") |
| 588 DEFINE_bool(trace_exception, false, | 596 DEFINE_bool(trace_exception, false, |
| 589 "print stack trace when throwing exceptions") | 597 "print stack trace when throwing exceptions") |
| 590 DEFINE_bool(preallocate_message_memory, false, | 598 DEFINE_bool(preallocate_message_memory, false, |
| 591 "preallocate some memory to build stack traces.") | 599 "preallocate some memory to build stack traces.") |
| 592 DEFINE_bool(randomize_hashes, | 600 DEFINE_bool(randomize_hashes, true, |
| 593 true, | |
| 594 "randomize hashes to avoid predictable hash collisions " | 601 "randomize hashes to avoid predictable hash collisions " |
| 595 "(with snapshots this option cannot override the baked-in seed)") | 602 "(with snapshots this option cannot override the baked-in seed)") |
| 596 DEFINE_int(hash_seed, | 603 DEFINE_int(hash_seed, 0, |
| 597 0, | |
| 598 "Fixed seed to use to hash property keys (0 means random)" | 604 "Fixed seed to use to hash property keys (0 means random)" |
| 599 "(with snapshots this option cannot override the baked-in seed)") | 605 "(with snapshots this option cannot override the baked-in seed)") |
| 600 | 606 |
| 601 // snapshot-common.cc | 607 // snapshot-common.cc |
| 602 DEFINE_bool(profile_deserialization, | 608 DEFINE_bool(profile_deserialization, false, |
| 603 false, | |
| 604 "Print the time it takes to deserialize the snapshot.") | 609 "Print the time it takes to deserialize the snapshot.") |
| 605 | 610 |
| 606 // v8.cc | 611 // v8.cc |
| 607 DEFINE_bool(preemption, false, | 612 DEFINE_bool(preemption, false, |
| 608 "activate a 100ms timer that switches between V8 threads") | 613 "activate a 100ms timer that switches between V8 threads") |
| 609 | 614 |
| 610 // Regexp | 615 // Regexp |
| 611 DEFINE_bool(regexp_optimization, true, "generate optimized regexp code") | 616 DEFINE_bool(regexp_optimization, true, "generate optimized regexp code") |
| 612 | 617 |
| 613 // Testing flags test/cctest/test-{flags,api,serialization}.cc | 618 // Testing flags test/cctest/test-{flags,api,serialization}.cc |
| 614 DEFINE_bool(testing_bool_flag, true, "testing_bool_flag") | 619 DEFINE_bool(testing_bool_flag, true, "testing_bool_flag") |
| 615 DEFINE_maybe_bool(testing_maybe_bool_flag, "testing_maybe_bool_flag") | 620 DEFINE_maybe_bool(testing_maybe_bool_flag, "testing_maybe_bool_flag") |
| 616 DEFINE_int(testing_int_flag, 13, "testing_int_flag") | 621 DEFINE_int(testing_int_flag, 13, "testing_int_flag") |
| 617 DEFINE_float(testing_float_flag, 2.5, "float-flag") | 622 DEFINE_float(testing_float_flag, 2.5, "float-flag") |
| 618 DEFINE_string(testing_string_flag, "Hello, world!", "string-flag") | 623 DEFINE_string(testing_string_flag, "Hello, world!", "string-flag") |
| 619 DEFINE_int(testing_prng_seed, 42, "Seed used for threading test randomness") | 624 DEFINE_int(testing_prng_seed, 42, "Seed used for threading test randomness") |
| 620 #ifdef _WIN32 | 625 #ifdef _WIN32 |
| 621 DEFINE_string(testing_serialization_file, "C:\\Windows\\Temp\\serdes", | 626 DEFINE_string(testing_serialization_file, "C:\\Windows\\Temp\\serdes", |
| 622 "file in which to testing_serialize heap") | 627 "file in which to testing_serialize heap") |
| 623 #else | 628 #else |
| 624 DEFINE_string(testing_serialization_file, "/tmp/serdes", | 629 DEFINE_string(testing_serialization_file, "/tmp/serdes", |
| 625 "file in which to serialize heap") | 630 "file in which to serialize heap") |
| 626 #endif | 631 #endif |
| 627 | 632 |
| 628 // mksnapshot.cc | 633 // mksnapshot.cc |
| 629 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in" | 634 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in" |
| 630 " the snapshot (mksnapshot only)") | 635 " the snapshot (mksnapshot only)") |
| 631 | 636 |
| 632 // code-stubs-hydrogen.cc | 637 // code-stubs-hydrogen.cc |
| 633 DEFINE_bool(profile_hydrogen_code_stub_compilation, | 638 DEFINE_bool(profile_hydrogen_code_stub_compilation, false, |
| 634 false, | |
| 635 "Print the time it takes to lazily compile hydrogen code stubs.") | 639 "Print the time it takes to lazily compile hydrogen code stubs.") |
| 636 | 640 |
| 637 // | 641 // |
| 638 // Dev shell flags | 642 // Dev shell flags |
| 639 // | 643 // |
| 640 | 644 |
| 641 DEFINE_bool(help, false, "Print usage message, including flags, on console") | 645 DEFINE_bool(help, false, "Print usage message, including flags, on console") |
| 642 DEFINE_bool(dump_counters, false, "Dump counters on exit") | 646 DEFINE_bool(dump_counters, false, "Dump counters on exit") |
| 643 | 647 |
| 644 #ifdef ENABLE_DEBUGGER_SUPPORT | 648 #ifdef ENABLE_DEBUGGER_SUPPORT |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 | 729 |
| 726 // ic.cc | 730 // ic.cc |
| 727 DEFINE_bool(trace_ic, false, "trace inline cache state transitions") | 731 DEFINE_bool(trace_ic, false, "trace inline cache state transitions") |
| 728 | 732 |
| 729 // interface.cc | 733 // interface.cc |
| 730 DEFINE_bool(print_interfaces, false, "print interfaces") | 734 DEFINE_bool(print_interfaces, false, "print interfaces") |
| 731 DEFINE_bool(print_interface_details, false, "print interface inference details") | 735 DEFINE_bool(print_interface_details, false, "print interface inference details") |
| 732 DEFINE_int(print_interface_depth, 5, "depth for printing interfaces") | 736 DEFINE_int(print_interface_depth, 5, "depth for printing interfaces") |
| 733 | 737 |
| 734 // objects.cc | 738 // objects.cc |
| 735 DEFINE_bool(trace_normalization, | 739 DEFINE_bool(trace_normalization, false, |
| 736 false, | |
| 737 "prints when objects are turned into dictionaries.") | 740 "prints when objects are turned into dictionaries.") |
| 738 | 741 |
| 739 // runtime.cc | 742 // runtime.cc |
| 740 DEFINE_bool(trace_lazy, false, "trace lazy compilation") | 743 DEFINE_bool(trace_lazy, false, "trace lazy compilation") |
| 741 | 744 |
| 742 // spaces.cc | 745 // spaces.cc |
| 743 DEFINE_bool(collect_heap_spill_statistics, false, | 746 DEFINE_bool(collect_heap_spill_statistics, false, |
| 744 "report heap spill statistics along with heap_stats " | 747 "report heap spill statistics along with heap_stats " |
| 745 "(requires heap_stats)") | 748 "(requires heap_stats)") |
| 746 | 749 |
| 747 DEFINE_bool(trace_isolates, false, "trace isolate state changes") | 750 DEFINE_bool(trace_isolates, false, "trace isolate state changes") |
| 748 | 751 |
| 749 // Regexp | 752 // Regexp |
| 750 DEFINE_bool(regexp_possessive_quantifier, | 753 DEFINE_bool(regexp_possessive_quantifier, false, |
| 751 false, | |
| 752 "enable possessive quantifier syntax for testing") | 754 "enable possessive quantifier syntax for testing") |
| 753 DEFINE_bool(trace_regexp_bytecodes, false, "trace regexp bytecode execution") | 755 DEFINE_bool(trace_regexp_bytecodes, false, "trace regexp bytecode execution") |
| 754 DEFINE_bool(trace_regexp_assembler, | 756 DEFINE_bool(trace_regexp_assembler, false, |
| 755 false, | |
| 756 "trace regexp macro assembler calls.") | 757 "trace regexp macro assembler calls.") |
| 757 | 758 |
| 758 // | 759 // |
| 759 // Logging and profiling flags | 760 // Logging and profiling flags |
| 760 // | 761 // |
| 761 #undef FLAG | 762 #undef FLAG |
| 762 #define FLAG FLAG_FULL | 763 #define FLAG FLAG_FULL |
| 763 | 764 |
| 764 // log.cc | 765 // log.cc |
| 765 DEFINE_bool(log, false, | 766 DEFINE_bool(log, false, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 #undef FLAG | 798 #undef FLAG |
| 798 #ifdef ENABLE_DISASSEMBLER | 799 #ifdef ENABLE_DISASSEMBLER |
| 799 #define FLAG FLAG_FULL | 800 #define FLAG FLAG_FULL |
| 800 #else | 801 #else |
| 801 #define FLAG FLAG_READONLY | 802 #define FLAG FLAG_READONLY |
| 802 #endif | 803 #endif |
| 803 | 804 |
| 804 // elements.cc | 805 // elements.cc |
| 805 DEFINE_bool(trace_elements_transitions, false, "trace elements transitions") | 806 DEFINE_bool(trace_elements_transitions, false, "trace elements transitions") |
| 806 | 807 |
| 808 DEFINE_bool(trace_creation_allocation_sites, false, |
| 809 "trace the creation of allocation sites") |
| 810 |
| 807 // code-stubs.cc | 811 // code-stubs.cc |
| 808 DEFINE_bool(print_code_stubs, false, "print code stubs") | 812 DEFINE_bool(print_code_stubs, false, "print code stubs") |
| 809 DEFINE_bool(test_secondary_stub_cache, | 813 DEFINE_bool(test_secondary_stub_cache, false, |
| 810 false, | |
| 811 "test secondary stub cache by disabling the primary one") | 814 "test secondary stub cache by disabling the primary one") |
| 812 | 815 |
| 813 DEFINE_bool(test_primary_stub_cache, | 816 DEFINE_bool(test_primary_stub_cache, false, |
| 814 false, | |
| 815 "test primary stub cache by disabling the secondary one") | 817 "test primary stub cache by disabling the secondary one") |
| 816 | 818 |
| 817 | 819 |
| 818 // codegen-ia32.cc / codegen-arm.cc | 820 // codegen-ia32.cc / codegen-arm.cc |
| 819 DEFINE_bool(print_code, false, "print generated code") | 821 DEFINE_bool(print_code, false, "print generated code") |
| 820 DEFINE_bool(print_opt_code, false, "print optimized code") | 822 DEFINE_bool(print_opt_code, false, "print optimized code") |
| 821 DEFINE_bool(print_unopt_code, false, "print unoptimized code before " | 823 DEFINE_bool(print_unopt_code, false, "print unoptimized code before " |
| 822 "printing optimized code based on it") | 824 "printing optimized code based on it") |
| 823 DEFINE_bool(print_code_verbose, false, "print more information for code") | 825 DEFINE_bool(print_code_verbose, false, "print more information for code") |
| 824 DEFINE_bool(print_builtin_code, false, "print generated code for builtins") | 826 DEFINE_bool(print_builtin_code, false, "print generated code for builtins") |
| 827 DEFINE_bool(emit_opt_code_positions, false, |
| 828 "annotate optimize code with source code positions") |
| 825 | 829 |
| 826 #ifdef ENABLE_DISASSEMBLER | 830 #ifdef ENABLE_DISASSEMBLER |
| 831 DEFINE_bool(sodium, false, "print generated code output suitable for use with " |
| 832 "the Sodium code viewer") |
| 833 |
| 834 DEFINE_implication(sodium, print_code_stubs) |
| 835 DEFINE_implication(sodium, print_code) |
| 836 DEFINE_implication(sodium, print_opt_code) |
| 837 DEFINE_implication(sodium, emit_opt_code_positions) |
| 838 DEFINE_implication(sodium, code_comments) |
| 839 |
| 827 DEFINE_bool(print_all_code, false, "enable all flags related to printing code") | 840 DEFINE_bool(print_all_code, false, "enable all flags related to printing code") |
| 828 DEFINE_implication(print_all_code, print_code) | 841 DEFINE_implication(print_all_code, print_code) |
| 829 DEFINE_implication(print_all_code, print_opt_code) | 842 DEFINE_implication(print_all_code, print_opt_code) |
| 830 DEFINE_implication(print_all_code, print_unopt_code) | 843 DEFINE_implication(print_all_code, print_unopt_code) |
| 831 DEFINE_implication(print_all_code, print_code_verbose) | 844 DEFINE_implication(print_all_code, print_code_verbose) |
| 832 DEFINE_implication(print_all_code, print_builtin_code) | 845 DEFINE_implication(print_all_code, print_builtin_code) |
| 833 DEFINE_implication(print_all_code, print_code_stubs) | 846 DEFINE_implication(print_all_code, print_code_stubs) |
| 834 DEFINE_implication(print_all_code, code_comments) | 847 DEFINE_implication(print_all_code, code_comments) |
| 835 #ifdef DEBUG | 848 #ifdef DEBUG |
| 836 DEFINE_implication(print_all_code, trace_codegen) | 849 DEFINE_implication(print_all_code, trace_codegen) |
| (...skipping 29 matching lines...) Expand all Loading... |
| 866 #undef DEFINE_ALIAS_float | 879 #undef DEFINE_ALIAS_float |
| 867 #undef DEFINE_ALIAS_args | 880 #undef DEFINE_ALIAS_args |
| 868 | 881 |
| 869 #undef FLAG_MODE_DECLARE | 882 #undef FLAG_MODE_DECLARE |
| 870 #undef FLAG_MODE_DEFINE | 883 #undef FLAG_MODE_DEFINE |
| 871 #undef FLAG_MODE_DEFINE_DEFAULTS | 884 #undef FLAG_MODE_DEFINE_DEFAULTS |
| 872 #undef FLAG_MODE_META | 885 #undef FLAG_MODE_META |
| 873 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 886 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
| 874 | 887 |
| 875 #undef COMMA | 888 #undef COMMA |
| OLD | NEW |