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

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

Issue 23513062: Add flags to force or prevent setting of isolate.is_memory_constrained. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Cleanup Created 7 years, 3 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/d8.cc ('k') | src/flags.cc » ('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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 #endif 83 #endif
84 84
85 #ifndef FLAG_ALIAS 85 #ifndef FLAG_ALIAS
86 #define FLAG_ALIAS(ftype, ctype, alias, nam) 86 #define FLAG_ALIAS(ftype, ctype, alias, nam)
87 #endif 87 #endif
88 88
89 #ifndef DEFINE_implication 89 #ifndef DEFINE_implication
90 #define DEFINE_implication(whenflag, thenflag) 90 #define DEFINE_implication(whenflag, thenflag)
91 #endif 91 #endif
92 92
93 #define COMMA ,
93 94
94 #ifdef FLAG_MODE_DECLARE 95 #ifdef FLAG_MODE_DECLARE
95 // Structure used to hold a collection of arguments to the JavaScript code. 96 // Structure used to hold a collection of arguments to the JavaScript code.
96 #define JSARGUMENTS_INIT {{}}
97 struct JSArguments { 97 struct JSArguments {
98 public: 98 public:
99 inline int argc() const {
100 return static_cast<int>(storage_[0]);
101 }
102 inline const char** argv() const {
103 return reinterpret_cast<const char**>(storage_[1]);
104 }
105 inline const char*& operator[] (int idx) const { 99 inline const char*& operator[] (int idx) const {
106 return argv()[idx]; 100 return argv[idx];
107 }
108 inline JSArguments& operator=(JSArguments args) {
109 set_argc(args.argc());
110 set_argv(args.argv());
111 return *this;
112 } 101 }
113 static JSArguments Create(int argc, const char** argv) { 102 static JSArguments Create(int argc, const char** argv) {
114 JSArguments args; 103 JSArguments args;
115 args.set_argc(argc); 104 args.argc = argc;
116 args.set_argv(argv); 105 args.argv = argv;
117 return args; 106 return args;
118 } 107 }
119 private: 108 int argc;
Sven Panne 2013/09/17 13:46:49 Let's hope that the previous type "AtomicWord" did
120 void set_argc(int argc) { 109 const char** argv;
121 storage_[0] = argc; 110 };
111
112 struct MaybeBoolFlag {
113 static MaybeBoolFlag Create(bool has_value, bool value) {
114 MaybeBoolFlag flag;
115 flag.has_value = has_value;
116 flag.value = value;
117 return flag;
122 } 118 }
123 void set_argv(const char** argv) { 119 bool has_value;
124 storage_[1] = reinterpret_cast<AtomicWord>(argv); 120 bool value;
125 }
126 public:
127 // Contains argc and argv. Unfortunately we have to store these two fields
128 // into a single one to avoid making the initialization macro (which would be
129 // "{ 0, NULL }") contain a coma.
130 AtomicWord storage_[2];
131 }; 121 };
132 #endif 122 #endif
133 123
134 #if (defined CAN_USE_VFP3_INSTRUCTIONS) || !(defined ARM_TEST) 124 #if (defined CAN_USE_VFP3_INSTRUCTIONS) || !(defined ARM_TEST)
135 # define ENABLE_VFP3_DEFAULT true 125 # define ENABLE_VFP3_DEFAULT true
136 #else 126 #else
137 # define ENABLE_VFP3_DEFAULT false 127 # define ENABLE_VFP3_DEFAULT false
138 #endif 128 #endif
139 #if (defined CAN_USE_ARMV7_INSTRUCTIONS) || !(defined ARM_TEST) 129 #if (defined CAN_USE_ARMV7_INSTRUCTIONS) || !(defined ARM_TEST)
140 # define ENABLE_ARMV7_DEFAULT true 130 # define ENABLE_ARMV7_DEFAULT true
141 #else 131 #else
142 # define ENABLE_ARMV7_DEFAULT false 132 # define ENABLE_ARMV7_DEFAULT false
143 #endif 133 #endif
144 #if (defined CAN_USE_VFP32DREGS) || !(defined ARM_TEST) 134 #if (defined CAN_USE_VFP32DREGS) || !(defined ARM_TEST)
145 # define ENABLE_32DREGS_DEFAULT true 135 # define ENABLE_32DREGS_DEFAULT true
146 #else 136 #else
147 # define ENABLE_32DREGS_DEFAULT false 137 # define ENABLE_32DREGS_DEFAULT false
148 #endif 138 #endif
149 139
150 #define DEFINE_bool(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt) 140 #define DEFINE_bool(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt)
141 #define DEFINE_maybe_bool(nam, cmt) FLAG(MAYBE_BOOL, MaybeBoolFlag, nam, \
142 { false COMMA false }, cmt)
151 #define DEFINE_int(nam, def, cmt) FLAG(INT, int, nam, def, cmt) 143 #define DEFINE_int(nam, def, cmt) FLAG(INT, int, nam, def, cmt)
152 #define DEFINE_float(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt) 144 #define DEFINE_float(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt)
153 #define DEFINE_string(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt) 145 #define DEFINE_string(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt)
154 #define DEFINE_args(nam, def, cmt) FLAG(ARGS, JSArguments, nam, def, cmt) 146 #define DEFINE_args(nam, cmt) FLAG(ARGS, JSArguments, nam, \
147 { 0 COMMA NULL }, cmt)
155 148
156 #define DEFINE_ALIAS_bool(alias, nam) FLAG_ALIAS(BOOL, bool, alias, nam) 149 #define DEFINE_ALIAS_bool(alias, nam) FLAG_ALIAS(BOOL, bool, alias, nam)
157 #define DEFINE_ALIAS_int(alias, nam) FLAG_ALIAS(INT, int, alias, nam) 150 #define DEFINE_ALIAS_int(alias, nam) FLAG_ALIAS(INT, int, alias, nam)
158 #define DEFINE_ALIAS_float(alias, nam) FLAG_ALIAS(FLOAT, double, alias, nam) 151 #define DEFINE_ALIAS_float(alias, nam) FLAG_ALIAS(FLOAT, double, alias, nam)
159 #define DEFINE_ALIAS_string(alias, nam) \ 152 #define DEFINE_ALIAS_string(alias, nam) \
160 FLAG_ALIAS(STRING, const char*, alias, nam) 153 FLAG_ALIAS(STRING, const char*, alias, nam)
161 #define DEFINE_ALIAS_args(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam) 154 #define DEFINE_ALIAS_args(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam)
162 155
163 // 156 //
164 // Flags in all modes. 157 // Flags in all modes.
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 DEFINE_bool(preallocate_message_memory, false, 586 DEFINE_bool(preallocate_message_memory, false,
594 "preallocate some memory to build stack traces.") 587 "preallocate some memory to build stack traces.")
595 DEFINE_bool(randomize_hashes, 588 DEFINE_bool(randomize_hashes,
596 true, 589 true,
597 "randomize hashes to avoid predictable hash collisions " 590 "randomize hashes to avoid predictable hash collisions "
598 "(with snapshots this option cannot override the baked-in seed)") 591 "(with snapshots this option cannot override the baked-in seed)")
599 DEFINE_int(hash_seed, 592 DEFINE_int(hash_seed,
600 0, 593 0,
601 "Fixed seed to use to hash property keys (0 means random)" 594 "Fixed seed to use to hash property keys (0 means random)"
602 "(with snapshots this option cannot override the baked-in seed)") 595 "(with snapshots this option cannot override the baked-in seed)")
596 DEFINE_maybe_bool(force_memory_constrained,
597 "force (if true) or prevent (if false) the runtime from treating "
598 "the device as being memory constrained.")
603 599
604 // v8.cc 600 // v8.cc
605 DEFINE_bool(preemption, false, 601 DEFINE_bool(preemption, false,
606 "activate a 100ms timer that switches between V8 threads") 602 "activate a 100ms timer that switches between V8 threads")
607 603
608 // Regexp 604 // Regexp
609 DEFINE_bool(regexp_optimization, true, "generate optimized regexp code") 605 DEFINE_bool(regexp_optimization, true, "generate optimized regexp code")
610 606
611 // Testing flags test/cctest/test-{flags,api,serialization}.cc 607 // Testing flags test/cctest/test-{flags,api,serialization}.cc
612 DEFINE_bool(testing_bool_flag, true, "testing_bool_flag") 608 DEFINE_bool(testing_bool_flag, true, "testing_bool_flag")
609 DEFINE_maybe_bool(testing_maybe_bool_flag, "testing_maybe_bool_flag")
613 DEFINE_int(testing_int_flag, 13, "testing_int_flag") 610 DEFINE_int(testing_int_flag, 13, "testing_int_flag")
614 DEFINE_float(testing_float_flag, 2.5, "float-flag") 611 DEFINE_float(testing_float_flag, 2.5, "float-flag")
615 DEFINE_string(testing_string_flag, "Hello, world!", "string-flag") 612 DEFINE_string(testing_string_flag, "Hello, world!", "string-flag")
616 DEFINE_int(testing_prng_seed, 42, "Seed used for threading test randomness") 613 DEFINE_int(testing_prng_seed, 42, "Seed used for threading test randomness")
617 #ifdef _WIN32 614 #ifdef _WIN32
618 DEFINE_string(testing_serialization_file, "C:\\Windows\\Temp\\serdes", 615 DEFINE_string(testing_serialization_file, "C:\\Windows\\Temp\\serdes",
619 "file in which to testing_serialize heap") 616 "file in which to testing_serialize heap")
620 #else 617 #else
621 DEFINE_string(testing_serialization_file, "/tmp/serdes", 618 DEFINE_string(testing_serialization_file, "/tmp/serdes",
622 "file in which to serialize heap") 619 "file in which to serialize heap")
(...skipping 12 matching lines...) Expand all
635 632
636 #ifdef ENABLE_DEBUGGER_SUPPORT 633 #ifdef ENABLE_DEBUGGER_SUPPORT
637 DEFINE_bool(debugger, false, "Enable JavaScript debugger") 634 DEFINE_bool(debugger, false, "Enable JavaScript debugger")
638 DEFINE_bool(remote_debugger, false, "Connect JavaScript debugger to the " 635 DEFINE_bool(remote_debugger, false, "Connect JavaScript debugger to the "
639 "debugger agent in another process") 636 "debugger agent in another process")
640 DEFINE_bool(debugger_agent, false, "Enable debugger agent") 637 DEFINE_bool(debugger_agent, false, "Enable debugger agent")
641 DEFINE_int(debugger_port, 5858, "Port to use for remote debugging") 638 DEFINE_int(debugger_port, 5858, "Port to use for remote debugging")
642 #endif // ENABLE_DEBUGGER_SUPPORT 639 #endif // ENABLE_DEBUGGER_SUPPORT
643 640
644 DEFINE_string(map_counters, "", "Map counters to a file") 641 DEFINE_string(map_counters, "", "Map counters to a file")
645 DEFINE_args(js_arguments, JSARGUMENTS_INIT, 642 DEFINE_args(js_arguments,
646 "Pass all remaining arguments to the script. Alias for \"--\".") 643 "Pass all remaining arguments to the script. Alias for \"--\".")
647 644
648 #if defined(WEBOS__) 645 #if defined(WEBOS__)
649 DEFINE_bool(debug_compile_events, false, "Enable debugger compile events") 646 DEFINE_bool(debug_compile_events, false, "Enable debugger compile events")
650 DEFINE_bool(debug_script_collected_events, false, 647 DEFINE_bool(debug_script_collected_events, false,
651 "Enable debugger script collected events") 648 "Enable debugger script collected events")
652 #else 649 #else
653 DEFINE_bool(debug_compile_events, true, "Enable debugger compile events") 650 DEFINE_bool(debug_compile_events, true, "Enable debugger compile events")
654 DEFINE_bool(debug_script_collected_events, true, 651 DEFINE_bool(debug_script_collected_events, true,
655 "Enable debugger script collected events") 652 "Enable debugger script collected events")
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 #endif 824 #endif
828 #endif 825 #endif
829 826
830 // Cleanup... 827 // Cleanup...
831 #undef FLAG_FULL 828 #undef FLAG_FULL
832 #undef FLAG_READONLY 829 #undef FLAG_READONLY
833 #undef FLAG 830 #undef FLAG
834 #undef FLAG_ALIAS 831 #undef FLAG_ALIAS
835 832
836 #undef DEFINE_bool 833 #undef DEFINE_bool
834 #undef DEFINE_maybe_bool
837 #undef DEFINE_int 835 #undef DEFINE_int
838 #undef DEFINE_string 836 #undef DEFINE_string
839 #undef DEFINE_float 837 #undef DEFINE_float
840 #undef DEFINE_args 838 #undef DEFINE_args
841 #undef DEFINE_implication 839 #undef DEFINE_implication
842 #undef DEFINE_ALIAS_bool 840 #undef DEFINE_ALIAS_bool
843 #undef DEFINE_ALIAS_int 841 #undef DEFINE_ALIAS_int
844 #undef DEFINE_ALIAS_string 842 #undef DEFINE_ALIAS_string
845 #undef DEFINE_ALIAS_float 843 #undef DEFINE_ALIAS_float
846 #undef DEFINE_ALIAS_args 844 #undef DEFINE_ALIAS_args
847 845
848 #undef FLAG_MODE_DECLARE 846 #undef FLAG_MODE_DECLARE
849 #undef FLAG_MODE_DEFINE 847 #undef FLAG_MODE_DEFINE
850 #undef FLAG_MODE_DEFINE_DEFAULTS 848 #undef FLAG_MODE_DEFINE_DEFAULTS
851 #undef FLAG_MODE_META 849 #undef FLAG_MODE_META
852 #undef FLAG_MODE_DEFINE_IMPLICATIONS 850 #undef FLAG_MODE_DEFINE_IMPLICATIONS
851
852 #undef COMMA
OLDNEW
« no previous file with comments | « src/d8.cc ('k') | src/flags.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698