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 // This file defines all of the flags. It is separated into different section, | 5 // This file defines all of the flags. It is separated into different section, |
6 // for Debug, Release, Logging and Profiling, etc. To add a new flag, find the | 6 // for Debug, Release, Logging and Profiling, etc. To add a new flag, find the |
7 // correct section, and use one of the DEFINE_ macros, without a trailing ';'. | 7 // correct section, and use one of the DEFINE_ macros, without a trailing ';'. |
8 // | 8 // |
9 // This include does not have a guard, because it is a template-style include, | 9 // This include does not have a guard, because it is a template-style include, |
10 // which can be included multiple times in different modes. It expects to have | 10 // which can be included multiple times in different modes. It expects to have |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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") |
286 DEFINE_BOOL(trace_bce, false, "trace array bounds check elimination") | 286 DEFINE_BOOL(trace_bce, false, "trace array bounds check elimination") |
287 DEFINE_BOOL(array_bounds_checks_hoisting, false, | 287 DEFINE_BOOL(array_bounds_checks_hoisting, false, |
288 "perform array bounds checks hoisting") | 288 "perform array bounds checks hoisting") |
289 DEFINE_BOOL(array_index_dehoisting, true, "perform array index dehoisting") | 289 DEFINE_BOOL(array_index_dehoisting, true, |
| 290 "perform array index dehoisting") |
290 DEFINE_BOOL(analyze_environment_liveness, true, | 291 DEFINE_BOOL(analyze_environment_liveness, true, |
291 "analyze liveness of environment slots and zap dead values") | 292 "analyze liveness of environment slots and zap dead values") |
292 DEFINE_BOOL(load_elimination, true, "use load elimination") | 293 DEFINE_BOOL(load_elimination, true, "use load elimination") |
293 DEFINE_BOOL(check_elimination, true, "use check elimination") | 294 DEFINE_BOOL(check_elimination, true, "use check elimination") |
294 DEFINE_BOOL(store_elimination, false, "use store elimination") | 295 DEFINE_BOOL(store_elimination, false, "use store elimination") |
295 DEFINE_BOOL(dead_code_elimination, true, "use dead code elimination") | 296 DEFINE_BOOL(dead_code_elimination, true, "use dead code elimination") |
296 DEFINE_BOOL(fold_constants, true, "use constant folding") | 297 DEFINE_BOOL(fold_constants, true, "use constant folding") |
297 DEFINE_BOOL(trace_dead_code_elimination, false, "trace dead code elimination") | 298 DEFINE_BOOL(trace_dead_code_elimination, false, "trace dead code elimination") |
298 DEFINE_BOOL(unreachable_code_elimination, true, "eliminate unreachable code") | 299 DEFINE_BOOL(unreachable_code_elimination, true, "eliminate unreachable code") |
299 DEFINE_BOOL(trace_osr, false, "trace on-stack replacement") | 300 DEFINE_BOOL(trace_osr, false, "trace on-stack replacement") |
300 DEFINE_INT(stress_runs, 0, "number of stress runs") | 301 DEFINE_INT(stress_runs, 0, "number of stress runs") |
301 DEFINE_BOOL(optimize_closures, true, "optimize closures") | 302 DEFINE_BOOL(optimize_closures, true, "optimize closures") |
302 DEFINE_BOOL(lookup_sample_by_shared, true, | 303 DEFINE_BOOL(lookup_sample_by_shared, true, |
303 "when picking a function to optimize, watch for shared function " | 304 "when picking a function to optimize, watch for shared function " |
304 "info, not JSFunction itself") | 305 "info, not JSFunction itself") |
305 DEFINE_BOOL(cache_optimized_code, true, "cache optimized code for closures") | 306 DEFINE_BOOL(cache_optimized_code, true, |
| 307 "cache optimized code for closures") |
306 DEFINE_BOOL(flush_optimized_code_cache, true, | 308 DEFINE_BOOL(flush_optimized_code_cache, true, |
307 "flushes the cache of optimized code for closures on every GC") | 309 "flushes the cache of optimized code for closures on every GC") |
308 DEFINE_BOOL(inline_construct, true, "inline constructor calls") | 310 DEFINE_BOOL(inline_construct, true, "inline constructor calls") |
309 DEFINE_BOOL(inline_arguments, true, "inline functions with arguments object") | 311 DEFINE_BOOL(inline_arguments, true, "inline functions with arguments object") |
310 DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors") | 312 DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors") |
311 DEFINE_INT(escape_analysis_iterations, 2, | 313 DEFINE_INT(escape_analysis_iterations, 2, |
312 "maximum number of escape analysis fix-point iterations") | 314 "maximum number of escape analysis fix-point iterations") |
313 | 315 |
314 DEFINE_BOOL(optimize_for_in, true, "optimize functions containing for-in loops") | 316 DEFINE_BOOL(optimize_for_in, true, |
| 317 "optimize functions containing for-in loops") |
315 DEFINE_BOOL(opt_safe_uint32_operations, true, | 318 DEFINE_BOOL(opt_safe_uint32_operations, true, |
316 "allow uint32 values on optimize frames if they are used only in " | 319 "allow uint32 values on optimize frames if they are used only in " |
317 "safe operations") | 320 "safe operations") |
318 | 321 |
319 DEFINE_BOOL(concurrent_recompilation, true, | 322 DEFINE_BOOL(concurrent_recompilation, true, |
320 "optimizing hot functions asynchronously on a separate thread") | 323 "optimizing hot functions asynchronously on a separate thread") |
321 DEFINE_BOOL(trace_concurrent_recompilation, false, | 324 DEFINE_BOOL(trace_concurrent_recompilation, false, |
322 "track concurrent recompilation") | 325 "track concurrent recompilation") |
323 DEFINE_INT(concurrent_recompilation_queue_length, 8, | 326 DEFINE_INT(concurrent_recompilation_queue_length, 8, |
324 "the length of the concurrent compilation queue") | 327 "the length of the concurrent compilation queue") |
325 DEFINE_INT(concurrent_recompilation_delay, 0, | 328 DEFINE_INT(concurrent_recompilation_delay, 0, |
326 "artificial compilation delay in ms") | 329 "artificial compilation delay in ms") |
327 DEFINE_BOOL(block_concurrent_recompilation, false, | 330 DEFINE_BOOL(block_concurrent_recompilation, false, |
328 "block queued jobs until released") | 331 "block queued jobs until released") |
329 DEFINE_BOOL(concurrent_osr, true, "concurrent on-stack replacement") | 332 DEFINE_BOOL(concurrent_osr, true, |
| 333 "concurrent on-stack replacement") |
330 DEFINE_IMPLICATION(concurrent_osr, concurrent_recompilation) | 334 DEFINE_IMPLICATION(concurrent_osr, concurrent_recompilation) |
331 | 335 |
332 DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, | 336 DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, |
333 "do not emit check maps for constant values that have a leaf map, " | 337 "do not emit check maps for constant values that have a leaf map, " |
334 "deoptimize the optimized code if the layout of the maps changes.") | 338 "deoptimize the optimized code if the layout of the maps changes.") |
335 | 339 |
| 340 // Flags for TurboFan. |
| 341 DEFINE_STRING(turbo_filter, "~", "optimization filter for TurboFan compiler") |
| 342 DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR") |
| 343 DEFINE_BOOL(trace_turbo_types, true, "trace generated TurboFan types") |
| 344 DEFINE_BOOL(trace_turbo_scheduler, false, "trace generated TurboFan scheduler") |
| 345 DEFINE_BOOL(turbo_verify, false, "verify TurboFan graphs at each phase") |
| 346 DEFINE_BOOL(turbo_stats, false, "print TurboFan statistics") |
| 347 DEFINE_BOOL(turbo_types, false, "use typed lowering in TurboFan") |
| 348 DEFINE_BOOL(turbo_source_positions, false, |
| 349 "track source code positions when building TurboFan IR") |
| 350 DEFINE_BOOL(context_specialization, true, |
| 351 "enable context specialization in TurboFan") |
| 352 DEFINE_BOOL(turbo_deoptimization, false, "enable deoptimization in TurboFan") |
| 353 |
336 DEFINE_INT(typed_array_max_size_in_heap, 64, | 354 DEFINE_INT(typed_array_max_size_in_heap, 64, |
337 "threshold for in-heap typed array") | 355 "threshold for in-heap typed array") |
338 | 356 |
339 // Profiler flags. | 357 // Profiler flags. |
340 DEFINE_INT(frame_count, 1, "number of stack frames inspected by the profiler") | 358 DEFINE_INT(frame_count, 1, "number of stack frames inspected by the profiler") |
341 // 0x1800 fits in the immediate field of an ARM instruction. | 359 // 0x1800 fits in the immediate field of an ARM instruction. |
342 DEFINE_INT(interrupt_budget, 0x1800, | 360 DEFINE_INT(interrupt_budget, 0x1800, |
343 "execution budget before interrupt is triggered") | 361 "execution budget before interrupt is triggered") |
344 DEFINE_INT(type_info_threshold, 25, | 362 DEFINE_INT(type_info_threshold, 25, |
345 "percentage of ICs that must have type info to allow optimization") | 363 "percentage of ICs that must have type info to allow optimization") |
346 DEFINE_INT(self_opt_count, 130, "call count before self-optimization") | 364 DEFINE_INT(self_opt_count, 130, "call count before self-optimization") |
347 | 365 |
348 DEFINE_BOOL(trace_opt_verbose, false, "extra verbose compilation tracing") | 366 DEFINE_BOOL(trace_opt_verbose, false, "extra verbose compilation tracing") |
349 DEFINE_IMPLICATION(trace_opt_verbose, trace_opt) | 367 DEFINE_IMPLICATION(trace_opt_verbose, trace_opt) |
350 | 368 |
351 // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc | 369 // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc |
352 DEFINE_BOOL(debug_code, false, "generate extra code (assertions) for debugging") | 370 DEFINE_BOOL(debug_code, false, |
| 371 "generate extra code (assertions) for debugging") |
353 DEFINE_BOOL(code_comments, false, "emit comments in code disassembly") | 372 DEFINE_BOOL(code_comments, false, "emit comments in code disassembly") |
354 DEFINE_BOOL(enable_sse3, true, "enable use of SSE3 instructions if available") | 373 DEFINE_BOOL(enable_sse3, true, |
| 374 "enable use of SSE3 instructions if available") |
355 DEFINE_BOOL(enable_sse4_1, true, | 375 DEFINE_BOOL(enable_sse4_1, true, |
356 "enable use of SSE4.1 instructions if available") | 376 "enable use of SSE4.1 instructions if available") |
357 DEFINE_BOOL(enable_sahf, true, | 377 DEFINE_BOOL(enable_sahf, true, |
358 "enable use of SAHF instruction if available (X64 only)") | 378 "enable use of SAHF instruction if available (X64 only)") |
359 DEFINE_BOOL(enable_vfp3, ENABLE_VFP3_DEFAULT, | 379 DEFINE_BOOL(enable_vfp3, ENABLE_VFP3_DEFAULT, |
360 "enable use of VFP3 instructions if available") | 380 "enable use of VFP3 instructions if available") |
361 DEFINE_BOOL(enable_armv7, ENABLE_ARMV7_DEFAULT, | 381 DEFINE_BOOL(enable_armv7, ENABLE_ARMV7_DEFAULT, |
362 "enable use of ARMv7 instructions if available (ARM only)") | 382 "enable use of ARMv7 instructions if available (ARM only)") |
363 DEFINE_BOOL(enable_neon, ENABLE_NEON_DEFAULT, | 383 DEFINE_BOOL(enable_neon, ENABLE_NEON_DEFAULT, |
364 "enable use of NEON instructions if available (ARM only)") | 384 "enable use of NEON instructions if available (ARM only)") |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 // frames.cc | 482 // frames.cc |
463 DEFINE_INT(max_stack_trace_source_length, 300, | 483 DEFINE_INT(max_stack_trace_source_length, 300, |
464 "maximum length of function source code printed in a stack trace.") | 484 "maximum length of function source code printed in a stack trace.") |
465 | 485 |
466 // full-codegen.cc | 486 // full-codegen.cc |
467 DEFINE_BOOL(always_inline_smi_code, false, | 487 DEFINE_BOOL(always_inline_smi_code, false, |
468 "always inline smi code in non-opt code") | 488 "always inline smi code in non-opt code") |
469 | 489 |
470 // heap.cc | 490 // heap.cc |
471 DEFINE_INT(min_semi_space_size, 0, | 491 DEFINE_INT(min_semi_space_size, 0, |
472 "min size of a semi-space (in MBytes), the new space consists of two" | 492 "min size of a semi-space (in MBytes), the new space consists of two" |
473 "semi-spaces") | 493 "semi-spaces") |
474 DEFINE_INT(max_semi_space_size, 0, | 494 DEFINE_INT(max_semi_space_size, 0, |
475 "max size of a semi-space (in MBytes), the new space consists of two" | 495 "max size of a semi-space (in MBytes), the new space consists of two" |
476 "semi-spaces") | 496 "semi-spaces") |
477 DEFINE_INT(max_old_space_size, 0, "max size of the old space (in Mbytes)") | 497 DEFINE_INT(max_old_space_size, 0, "max size of the old space (in Mbytes)") |
478 DEFINE_INT(max_executable_size, 0, "max size of executable memory (in Mbytes)") | 498 DEFINE_INT(max_executable_size, 0, "max size of executable memory (in Mbytes)") |
479 DEFINE_BOOL(gc_global, false, "always perform global GCs") | 499 DEFINE_BOOL(gc_global, false, "always perform global GCs") |
480 DEFINE_INT(gc_interval, -1, "garbage collect after <n> allocations") | 500 DEFINE_INT(gc_interval, -1, "garbage collect after <n> allocations") |
481 DEFINE_BOOL(trace_gc, false, | 501 DEFINE_BOOL(trace_gc, false, |
482 "print one trace line following each garbage collection") | 502 "print one trace line following each garbage collection") |
483 DEFINE_BOOL(trace_gc_nvp, false, | 503 DEFINE_BOOL(trace_gc_nvp, false, |
484 "print one detailed trace line in name=value format " | 504 "print one detailed trace line in name=value format " |
485 "after each garbage collection") | 505 "after each garbage collection") |
486 DEFINE_BOOL(trace_gc_ignore_scavenger, false, | 506 DEFINE_BOOL(trace_gc_ignore_scavenger, false, |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 "and it must be at least 16. 16 is default.") | 602 "and it must be at least 16. 16 is default.") |
583 #else | 603 #else |
584 DEFINE_INT(sim_stack_alignment, 8, | 604 DEFINE_INT(sim_stack_alignment, 8, |
585 "Stack alingment in bytes in simulator (4 or 8, 8 is default)") | 605 "Stack alingment in bytes in simulator (4 or 8, 8 is default)") |
586 #endif | 606 #endif |
587 DEFINE_INT(sim_stack_size, 2 * MB / KB, | 607 DEFINE_INT(sim_stack_size, 2 * MB / KB, |
588 "Stack size of the ARM64 and MIPS64 simulator " | 608 "Stack size of the ARM64 and MIPS64 simulator " |
589 "in kBytes (default is 2 MB)") | 609 "in kBytes (default is 2 MB)") |
590 DEFINE_BOOL(log_regs_modified, true, | 610 DEFINE_BOOL(log_regs_modified, true, |
591 "When logging register values, only print modified registers.") | 611 "When logging register values, only print modified registers.") |
592 DEFINE_BOOL(log_colour, true, "When logging, try to use coloured output.") | 612 DEFINE_BOOL(log_colour, true, |
| 613 "When logging, try to use coloured output.") |
593 DEFINE_BOOL(ignore_asm_unimplemented_break, false, | 614 DEFINE_BOOL(ignore_asm_unimplemented_break, false, |
594 "Don't break for ASM_UNIMPLEMENTED_BREAK macros.") | 615 "Don't break for ASM_UNIMPLEMENTED_BREAK macros.") |
595 DEFINE_BOOL(trace_sim_messages, false, | 616 DEFINE_BOOL(trace_sim_messages, false, |
596 "Trace simulator debug messages. Implied by --trace-sim.") | 617 "Trace simulator debug messages. Implied by --trace-sim.") |
597 | 618 |
598 // isolate.cc | 619 // isolate.cc |
599 DEFINE_BOOL(stack_trace_on_illegal, false, | 620 DEFINE_BOOL(stack_trace_on_illegal, false, |
600 "print stack trace when an illegal exception is thrown") | 621 "print stack trace when an illegal exception is thrown") |
601 DEFINE_BOOL(abort_on_uncaught_exception, false, | 622 DEFINE_BOOL(abort_on_uncaught_exception, false, |
602 "abort program (dump core) when an uncaught exception is thrown") | 623 "abort program (dump core) when an uncaught exception is thrown") |
(...skipping 20 matching lines...) Expand all Loading... |
623 DEFINE_INT(testing_prng_seed, 42, "Seed used for threading test randomness") | 644 DEFINE_INT(testing_prng_seed, 42, "Seed used for threading test randomness") |
624 #ifdef _WIN32 | 645 #ifdef _WIN32 |
625 DEFINE_STRING(testing_serialization_file, "C:\\Windows\\Temp\\serdes", | 646 DEFINE_STRING(testing_serialization_file, "C:\\Windows\\Temp\\serdes", |
626 "file in which to testing_serialize heap") | 647 "file in which to testing_serialize heap") |
627 #else | 648 #else |
628 DEFINE_STRING(testing_serialization_file, "/tmp/serdes", | 649 DEFINE_STRING(testing_serialization_file, "/tmp/serdes", |
629 "file in which to serialize heap") | 650 "file in which to serialize heap") |
630 #endif | 651 #endif |
631 | 652 |
632 // mksnapshot.cc | 653 // mksnapshot.cc |
633 DEFINE_STRING(extra_code, NULL, | 654 DEFINE_STRING(extra_code, NULL, "A filename with extra code to be included in" |
634 "A filename with extra code to be included in" | 655 " the snapshot (mksnapshot only)") |
635 " the snapshot (mksnapshot only)") | 656 DEFINE_STRING(raw_file, NULL, "A file to write the raw snapshot bytes to. " |
636 DEFINE_STRING(raw_file, NULL, | 657 "(mksnapshot only)") |
637 "A file to write the raw snapshot bytes to. " | 658 DEFINE_STRING(raw_context_file, NULL, "A file to write the raw context " |
638 "(mksnapshot only)") | 659 "snapshot bytes to. (mksnapshot only)") |
639 DEFINE_STRING(raw_context_file, NULL, | 660 DEFINE_STRING(startup_blob, NULL, "Write V8 startup blob file. " |
640 "A file to write the raw context " | 661 "(mksnapshot only)") |
641 "snapshot bytes to. (mksnapshot only)") | |
642 DEFINE_STRING(startup_blob, NULL, | |
643 "Write V8 startup blob file. " | |
644 "(mksnapshot only)") | |
645 | 662 |
646 // code-stubs-hydrogen.cc | 663 // code-stubs-hydrogen.cc |
647 DEFINE_BOOL(profile_hydrogen_code_stub_compilation, false, | 664 DEFINE_BOOL(profile_hydrogen_code_stub_compilation, false, |
648 "Print the time it takes to lazily compile hydrogen code stubs.") | 665 "Print the time it takes to lazily compile hydrogen code stubs.") |
649 | 666 |
650 DEFINE_BOOL(predictable, false, "enable predictable mode") | 667 DEFINE_BOOL(predictable, false, "enable predictable mode") |
651 DEFINE_NEG_IMPLICATION(predictable, concurrent_recompilation) | 668 DEFINE_NEG_IMPLICATION(predictable, concurrent_recompilation) |
652 DEFINE_NEG_IMPLICATION(predictable, concurrent_osr) | 669 DEFINE_NEG_IMPLICATION(predictable, concurrent_osr) |
653 DEFINE_NEG_IMPLICATION(predictable, concurrent_sweeping) | 670 DEFINE_NEG_IMPLICATION(predictable, concurrent_sweeping) |
654 DEFINE_NEG_IMPLICATION(predictable, parallel_sweeping) | 671 DEFINE_NEG_IMPLICATION(predictable, parallel_sweeping) |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 | 737 |
721 // heap.cc | 738 // heap.cc |
722 DEFINE_BOOL(gc_verbose, false, "print stuff during garbage collection") | 739 DEFINE_BOOL(gc_verbose, false, "print stuff during garbage collection") |
723 DEFINE_BOOL(heap_stats, false, "report heap statistics before and after GC") | 740 DEFINE_BOOL(heap_stats, false, "report heap statistics before and after GC") |
724 DEFINE_BOOL(code_stats, false, "report code statistics after GC") | 741 DEFINE_BOOL(code_stats, false, "report code statistics after GC") |
725 DEFINE_BOOL(verify_native_context_separation, false, | 742 DEFINE_BOOL(verify_native_context_separation, false, |
726 "verify that code holds on to at most one native context after GC") | 743 "verify that code holds on to at most one native context after GC") |
727 DEFINE_BOOL(print_handles, false, "report handles after GC") | 744 DEFINE_BOOL(print_handles, false, "report handles after GC") |
728 DEFINE_BOOL(print_global_handles, false, "report global handles after GC") | 745 DEFINE_BOOL(print_global_handles, false, "report global handles after GC") |
729 | 746 |
| 747 // TurboFan debug-only flags. |
| 748 DEFINE_BOOL(print_turbo_replay, false, |
| 749 "print C++ code to recreate TurboFan graphs") |
| 750 |
730 // interface.cc | 751 // interface.cc |
731 DEFINE_BOOL(print_interfaces, false, "print interfaces") | 752 DEFINE_BOOL(print_interfaces, false, "print interfaces") |
732 DEFINE_BOOL(print_interface_details, false, "print interface inference details") | 753 DEFINE_BOOL(print_interface_details, false, "print interface inference details") |
733 DEFINE_INT(print_interface_depth, 5, "depth for printing interfaces") | 754 DEFINE_INT(print_interface_depth, 5, "depth for printing interfaces") |
734 | 755 |
735 // objects.cc | 756 // objects.cc |
736 DEFINE_BOOL(trace_normalization, false, | 757 DEFINE_BOOL(trace_normalization, false, |
737 "prints when objects are turned into dictionaries.") | 758 "prints when objects are turned into dictionaries.") |
738 | 759 |
739 // runtime.cc | 760 // runtime.cc |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 #undef DEFINE_ALIAS_FLOAT | 935 #undef DEFINE_ALIAS_FLOAT |
915 #undef DEFINE_ALIAS_ARGS | 936 #undef DEFINE_ALIAS_ARGS |
916 | 937 |
917 #undef FLAG_MODE_DECLARE | 938 #undef FLAG_MODE_DECLARE |
918 #undef FLAG_MODE_DEFINE | 939 #undef FLAG_MODE_DEFINE |
919 #undef FLAG_MODE_DEFINE_DEFAULTS | 940 #undef FLAG_MODE_DEFINE_DEFAULTS |
920 #undef FLAG_MODE_META | 941 #undef FLAG_MODE_META |
921 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 942 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
922 | 943 |
923 #undef COMMA | 944 #undef COMMA |
OLD | NEW |