Files
swift-mirror/stdlib/public/runtime/EnvironmentVariables.def
Mike Ash edb292dda5 [Runtime] Do a proper hash table lookup in the prespecializations library.
We were doing a linear scan of the table contents as a stopgap. Stop doing that, and compute the proper key for the lookup, matching the one used in the builder.
2024-01-26 12:04:02 -05:00

111 lines
4.5 KiB
C++

//===--- EnvironmentVariables.def - Debug variables. ------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines x-macros used for metaprogramming with the set of
// environment variables used for configuring or enabling debug features in the
// runtime.
//
//===----------------------------------------------------------------------===//
// #define VARIABLE(name, type, defaultValue, help)
#ifndef VARIABLE
#error "Must define VARIABLE to include EnvironmentVariables.def"
#endif
VARIABLE(SWIFT_DEBUG_ENABLE_METADATA_ALLOCATION_ITERATION, bool, false,
"Enable additional metadata allocation tracking for swift-inspect to "
"use.")
VARIABLE(SWIFT_DEBUG_ENABLE_METADATA_BACKTRACE_LOGGING, bool, false,
"Enable logging of backtraces for each metadata allocation. Requires "
"SWIFT_DEBUG_ENABLE_METADATA_ALLOCATION_ITERATION to be enabled.")
VARIABLE(SWIFT_DEBUG_IMPLICIT_OBJC_ENTRYPOINT, uint8_t, 2,
"Print warnings when using implicit @objc entrypoints. Set to "
"desired reporting level, 0-3.")
VARIABLE(SWIFT_DETERMINISTIC_HASHING, bool, false,
"Disable randomized hash seeding.")
VARIABLE(SWIFT_ENABLE_MANGLED_NAME_VERIFICATION, bool, false,
"Enable verification that metadata can roundtrip through a mangled "
"name each time metadata is instantiated.")
VARIABLE(SWIFT_DEBUG_ENABLE_MALLOC_SCRIBBLE, bool, false,
"Scribble on runtime allocations such as metadata allocations.")
VARIABLE(SWIFT_DEBUG_ENABLE_COW_CHECKS, bool, false,
"Enable internal checks for copy-on-write operations.")
VARIABLE(SWIFT_ENABLE_ASYNC_JOB_DISPATCH_INTEGRATION, bool, true,
"Enable use of dispatch_async_swift_job when available.")
VARIABLE(SWIFT_DEBUG_VALIDATE_UNCHECKED_CONTINUATIONS, bool, false,
"Check for and error on double-calls of unchecked continuations.")
#if defined(__APPLE__) && defined(__MACH__)
VARIABLE(SWIFT_DEBUG_VALIDATE_SHARED_CACHE_PROTOCOL_CONFORMANCES, bool, false,
"Validate shared cache protocol conformance results against the "
"lists of conformances in the shared cache images.")
VARIABLE(SWIFT_DEBUG_ENABLE_SHARED_CACHE_PROTOCOL_CONFORMANCES, bool, true,
"Enable querying precomputed protocol conformances in the shared "
"cache.")
#endif
VARIABLE(SWIFT_DEBUG_CONCURRENCY_ENABLE_COOPERATIVE_QUEUES, bool, true,
"Enable dispatch cooperative queues in the global executor.")
#ifndef NDEBUG
VARIABLE(SWIFT_DEBUG_RUNTIME_EXCLUSIVITY_LOGGING, bool, false,
"Enable the an asserts runtime to emit logging as it works.")
#endif
VARIABLE(SWIFT_BINARY_COMPATIBILITY_VERSION, uint32_t, 0,
"Set the binary compatibility level of the Swift Standard Library")
VARIABLE(SWIFT_DEBUG_FAILED_TYPE_LOOKUP, bool, false,
"Enable warnings when we fail to look up a type by name.")
VARIABLE(SWIFT_DEBUG_VALIDATE_EXTERNAL_GENERIC_METADATA_BUILDER, uint8_t, 0,
"Validate the external metadata builder by running it in parallel "
"with the runtime's builder, and checking that they produce the same "
"output. Level 0 does no validation. Level 1 does silent validation "
"unless a validation failure occurs. Level 2 enables full debug "
"logging in the builder.")
VARIABLE(SWIFT_DEBUG_ENABLE_LIB_PRESPECIALIZED, bool, true,
"Enable use of prespecializations library.")
VARIABLE(SWIFT_DEBUG_LIB_PRESPECIALIZED_PATH, string, "",
"A path to a prespecializations library to use at runtime.")
VARIABLE(SWIFT_DEBUG_ENABLE_LIB_PRESPECIALIZED_LOGGING, bool, false,
"Enable debug logging of prespecializations library use.")
VARIABLE(SWIFT_ROOT, string, "",
"Overrides the root directory of the Swift installation. "
"This is used to locate auxiliary files relative to the runtime "
"itself.")
VARIABLE(SWIFT_BACKTRACE, string, "",
"A comma-separated list of key=value pairs that controls the "
"crash catching and backtracing support in the runtime. "
"See docs/Backtracing.rst in the Swift repository for details.")
#undef VARIABLE