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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 storage_[1] = reinterpret_cast<AtomicWord>(argv); | 112 storage_[1] = reinterpret_cast<AtomicWord>(argv); |
113 } | 113 } |
114 public: | 114 public: |
115 // Contains argc and argv. Unfortunately we have to store these two fields | 115 // Contains argc and argv. Unfortunately we have to store these two fields |
116 // into a single one to avoid making the initialization macro (which would be | 116 // into a single one to avoid making the initialization macro (which would be |
117 // "{ 0, NULL }") contain a coma. | 117 // "{ 0, NULL }") contain a coma. |
118 AtomicWord storage_[2]; | 118 AtomicWord storage_[2]; |
119 }; | 119 }; |
120 #endif | 120 #endif |
121 | 121 |
| 122 #if (defined CAN_USE_VFP3_INSTRUCTIONS) || !(defined ARM_TEST) |
| 123 # define ENABLE_VFP3_DEFAULT true |
| 124 #else |
| 125 # define ENABLE_VFP3_DEFAULT false |
| 126 #endif |
| 127 #if (defined CAN_USE_ARMV7_INSTRUCTIONS) || !(defined ARM_TEST) |
| 128 # define ENABLE_ARMV7_DEFAULT true |
| 129 #else |
| 130 # define ENABLE_ARMV7_DEFAULT false |
| 131 #endif |
| 132 #if (defined CAN_USE_VFP32DREGS) || !(defined ARM_TEST) |
| 133 # define ENABLE_32DREGS_DEFAULT true |
| 134 #else |
| 135 # define ENABLE_32DREGS_DEFAULT false |
| 136 #endif |
| 137 |
122 #define DEFINE_bool(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt) | 138 #define DEFINE_bool(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt) |
123 #define DEFINE_int(nam, def, cmt) FLAG(INT, int, nam, def, cmt) | 139 #define DEFINE_int(nam, def, cmt) FLAG(INT, int, nam, def, cmt) |
124 #define DEFINE_float(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt) | 140 #define DEFINE_float(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt) |
125 #define DEFINE_string(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt) | 141 #define DEFINE_string(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt) |
126 #define DEFINE_args(nam, def, cmt) FLAG(ARGS, JSArguments, nam, def, cmt) | 142 #define DEFINE_args(nam, def, cmt) FLAG(ARGS, JSArguments, nam, def, cmt) |
127 | 143 |
128 // | 144 // |
129 // Flags in all modes. | 145 // Flags in all modes. |
130 // | 146 // |
131 #define FLAG FLAG_FULL | 147 #define FLAG FLAG_FULL |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 DEFINE_bool(enable_sse3, true, | 317 DEFINE_bool(enable_sse3, true, |
302 "enable use of SSE3 instructions if available") | 318 "enable use of SSE3 instructions if available") |
303 DEFINE_bool(enable_sse4_1, true, | 319 DEFINE_bool(enable_sse4_1, true, |
304 "enable use of SSE4.1 instructions if available") | 320 "enable use of SSE4.1 instructions if available") |
305 DEFINE_bool(enable_cmov, true, | 321 DEFINE_bool(enable_cmov, true, |
306 "enable use of CMOV instruction if available") | 322 "enable use of CMOV instruction if available") |
307 DEFINE_bool(enable_rdtsc, true, | 323 DEFINE_bool(enable_rdtsc, true, |
308 "enable use of RDTSC instruction if available") | 324 "enable use of RDTSC instruction if available") |
309 DEFINE_bool(enable_sahf, true, | 325 DEFINE_bool(enable_sahf, true, |
310 "enable use of SAHF instruction if available (X64 only)") | 326 "enable use of SAHF instruction if available (X64 only)") |
311 DEFINE_bool(enable_vfp3, true, | 327 DEFINE_bool(enable_vfp3, ENABLE_VFP3_DEFAULT, |
312 "enable use of VFP3 instructions if available") | 328 "enable use of VFP3 instructions if available") |
313 DEFINE_bool(enable_armv7, true, | 329 DEFINE_bool(enable_armv7, ENABLE_ARMV7_DEFAULT, |
314 "enable use of ARMv7 instructions if available (ARM only)") | 330 "enable use of ARMv7 instructions if available (ARM only)") |
315 DEFINE_bool(enable_sudiv, true, | 331 DEFINE_bool(enable_sudiv, true, |
316 "enable use of SDIV and UDIV instructions if available (ARM only)") | 332 "enable use of SDIV and UDIV instructions if available (ARM only)") |
317 DEFINE_bool(enable_movw_movt, false, | 333 DEFINE_bool(enable_movw_movt, false, |
318 "enable loading 32-bit constant by means of movw/movt " | 334 "enable loading 32-bit constant by means of movw/movt " |
319 "instruction pairs (ARM only)") | 335 "instruction pairs (ARM only)") |
320 DEFINE_bool(enable_unaligned_accesses, true, | 336 DEFINE_bool(enable_unaligned_accesses, true, |
321 "enable unaligned accesses for ARMv7 (ARM only)") | 337 "enable unaligned accesses for ARMv7 (ARM only)") |
322 DEFINE_bool(enable_32dregs, true, | 338 DEFINE_bool(enable_32dregs, ENABLE_32DREGS_DEFAULT, |
323 "enable use of d16-d31 registers on ARM - this requires VFP3") | 339 "enable use of d16-d31 registers on ARM - this requires VFP3") |
324 DEFINE_bool(enable_fpu, true, | 340 DEFINE_bool(enable_fpu, true, |
325 "enable use of MIPS FPU instructions if available (MIPS only)") | 341 "enable use of MIPS FPU instructions if available (MIPS only)") |
326 DEFINE_bool(enable_vldr_imm, false, | 342 DEFINE_bool(enable_vldr_imm, false, |
327 "enable use of constant pools for double immediate (ARM only)") | 343 "enable use of constant pools for double immediate (ARM only)") |
328 | 344 |
329 // bootstrapper.cc | 345 // bootstrapper.cc |
330 DEFINE_string(expose_natives_as, NULL, "expose natives in global object") | 346 DEFINE_string(expose_natives_as, NULL, "expose natives in global object") |
331 DEFINE_string(expose_debug_as, NULL, "expose debug in global object") | 347 DEFINE_string(expose_debug_as, NULL, "expose debug in global object") |
332 DEFINE_bool(expose_gc, false, "expose gc extension") | 348 DEFINE_bool(expose_gc, false, "expose gc extension") |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 #undef DEFINE_bool | 772 #undef DEFINE_bool |
757 #undef DEFINE_int | 773 #undef DEFINE_int |
758 #undef DEFINE_string | 774 #undef DEFINE_string |
759 #undef DEFINE_implication | 775 #undef DEFINE_implication |
760 | 776 |
761 #undef FLAG_MODE_DECLARE | 777 #undef FLAG_MODE_DECLARE |
762 #undef FLAG_MODE_DEFINE | 778 #undef FLAG_MODE_DEFINE |
763 #undef FLAG_MODE_DEFINE_DEFAULTS | 779 #undef FLAG_MODE_DEFINE_DEFAULTS |
764 #undef FLAG_MODE_META | 780 #undef FLAG_MODE_META |
765 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 781 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
OLD | NEW |