Spicy
Public Attributes | List of all members
hilti::rt::Configuration Struct Reference

#include <configuration.h>

Public Attributes

size_t fiber_individual_stack_size = static_cast<size_t>(1 * 1024 * 1024)
 
size_t fiber_shared_stack_size = static_cast<size_t>(1 * 1024 * 1024)
 
size_t fiber_shared_stack_swap_size_min = static_cast<size_t>(10 * 1024)
 
unsigned int fiber_cache_size = 200
 
size_t fiber_min_stack_size = static_cast<size_t>(20 * 1024)
 
std::optional< hilti::rt::filesystem::path > debug_out
 
bool show_backtraces = false
 
bool abort_on_exceptions = false
 
bool report_resource_usage = false
 
bool enable_profiling = false
 
std::string debug_streams
 
std::optional< std::reference_wrapper< std::ostream > > cout
 

Detailed Description

Configuration parameters for the HILTI runtime system.

Member Data Documentation

◆ abort_on_exceptions

bool hilti::rt::Configuration::abort_on_exceptions = false

abort() instead of throwing HILTI exceptions.

◆ cout

std::optional<std::reference_wrapper<std::ostream> > hilti::rt::Configuration::cout

Output stream for hilti::print(). If unset, printing will be silenced.

◆ debug_out

std::optional<hilti::rt::filesystem::path> hilti::rt::Configuration::debug_out

File where debug output is to be sent. Default is stderr.

◆ debug_streams

std::string hilti::rt::Configuration::debug_streams

Colon-separated list of debug streams to enable. Default comes from HILTI_DEBUG.

◆ enable_profiling

bool hilti::rt::Configuration::enable_profiling = false

Enable execution profiling, producing a report at termination. Collecting the data requires compiling HILTI code with profiling instrumentation.

◆ fiber_cache_size

unsigned int hilti::rt::Configuration::fiber_cache_size = 200

Max. number of fibers cached for reuse.

◆ fiber_individual_stack_size

size_t hilti::rt::Configuration::fiber_individual_stack_size = static_cast<size_t>(1 * 1024 * 1024)

Stack size for fibers with individual stacks.

◆ fiber_min_stack_size

size_t hilti::rt::Configuration::fiber_min_stack_size = static_cast<size_t>(20 * 1024)

Minimum stack size that a fiber must have left for use at beginning of a function's execution. This should leave enough headroom for (1) the current function to still execute and do another call, and (2) safely abort with an exception if we're getting too low. (It seems that the latter can require quite a bit of space, hence the large default here.)

◆ fiber_shared_stack_size

size_t hilti::rt::Configuration::fiber_shared_stack_size = static_cast<size_t>(1 * 1024 * 1024)

Stack size for shared fiber stack.

◆ fiber_shared_stack_swap_size_min

size_t hilti::rt::Configuration::fiber_shared_stack_swap_size_min = static_cast<size_t>(10 * 1024)

Minimum size of a fiber's buffer for swapped out stack content.

◆ report_resource_usage

bool hilti::rt::Configuration::report_resource_usage = false

Print summary of runtime resource usage at termination.

◆ show_backtraces

bool hilti::rt::Configuration::show_backtraces = false

Show backtraces when reporting unhandled exceptions.


The documentation for this struct was generated from the following files: