2503 "Start flight recording with options")) \
2504 \
2505 experimental(bool, UseFastUnorderedTimeStamps, false, \
2506 "Use platform unstable time where supported for timestamps only") \
2507 \
2508 product(bool, EnableValhalla, true, \
2509 "Enable experimental Valhalla features") \
2510 \
2511 product_pd(bool, ValueTypePassFieldsAsArgs, \
2512 "Pass each value type field as an argument at calls") \
2513 \
2514 product_pd(bool, ValueTypeReturnedAsFields, \
2515 "Return fields instead of a value type reference") \
2516 \
2517 develop(bool, StressValueTypeReturnedAsFields, false, \
2518 "Stress return of fields instead of a value type reference") \
2519 \
2520 develop(bool, ScalarizeValueTypes, true, \
2521 "Scalarize value types in compiled code") \
2522 \
2523 product(bool, PrintNewLayout, false, \
2524 "Print layout compute by new algorithm") \
2525 \
2526 product(bool, PrintFlattenableLayouts, false, \
2527 "Print layout of inline classes and classes with " \
2528 "flattenable fields") \
2529 \
2530 product(bool, UseNewLayout, true, \
2531 "(Deprecated) Use new algorithm to compute field layouts") \
2532 \
2533 product(bool, UseEmptySlotsInSupers, true, \
2534 "Allow allocating fields in empty slots of super-classes") \
2535 \
2536
2537
2538
2539 // Interface macros
2540 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2541 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2542 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
|
2503 "Start flight recording with options")) \
2504 \
2505 experimental(bool, UseFastUnorderedTimeStamps, false, \
2506 "Use platform unstable time where supported for timestamps only") \
2507 \
2508 product(bool, EnableValhalla, true, \
2509 "Enable experimental Valhalla features") \
2510 \
2511 product_pd(bool, ValueTypePassFieldsAsArgs, \
2512 "Pass each value type field as an argument at calls") \
2513 \
2514 product_pd(bool, ValueTypeReturnedAsFields, \
2515 "Return fields instead of a value type reference") \
2516 \
2517 develop(bool, StressValueTypeReturnedAsFields, false, \
2518 "Stress return of fields instead of a value type reference") \
2519 \
2520 develop(bool, ScalarizeValueTypes, true, \
2521 "Scalarize value types in compiled code") \
2522 \
2523 diagnostic(ccstrlist, ForceNonTearable, "", \
2524 "List of inline classes which are forced to be atomic " \
2525 "(whitespace and commas separate names, " \
2526 "and leading and trailing stars '*' are wildcards)") \
2527 \
2528 product(bool, PrintNewLayout, false, \
2529 "Print layout compute by new algorithm") \
2530 \
2531 product(bool, PrintFlattenableLayouts, false, \
2532 "Print layout of inline classes and classes with " \
2533 "flattenable fields") \
2534 \
2535 product(bool, UseNewLayout, true, \
2536 "(Deprecated) Use new algorithm to compute field layouts") \
2537 \
2538 product(bool, UseEmptySlotsInSupers, true, \
2539 "Allow allocating fields in empty slots of super-classes") \
2540 \
2541
2542
2543
2544 // Interface macros
2545 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2546 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2547 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
|