Skip to content

options

Boris Batkin edited this page Sep 3, 2019 · 16 revisions

Multiple options can be listed in a single options expression. Later options overwrite earlier options. Typical options expression looks something like this

options log=true, optimize=false

optimize=true
enables or disables all optimization passes

disable_run=true
disables aggressive user function folding

log=false
outputs final program code

log_compile_time=false
log how long it took to compile

always_export_initializer=false
if specified, [export] annotation will be added to every default initializer

heap=size
specifies initial size for the small-allocations buddy pool

log_generics=false
outputs generics, as opposed to instanced functions only

log_stack=false
outputs stack allocation for each function

log_mem=false
outputs memory usage per heap (code, debugInfo, regular heap)

log_optimization_passes=false
outputs program code for each intermediate optimization pass

log_infer_passes=false
outputs program code for each intermediate type inference pass

log_nodes=false
outputs final program code node disassembler

print_ref=false
when logging, outputs expression dereferencing information

print_var_access=false
when logging, outputs variable initialize, read, or write access markers

plot=false
outputs .dot file corresponding to programs' flow chart

plot_read_write=false
plot output will contain additional data dependency arrows

remove_unused_symbols=false (do not) remove not used functions from module

indenting=0,2,4,8
sets semantic indenting value for specific file. 0 means default, which can be project-specific, but by default is 4

rtti=false
when enabled, default values of VarInfo match initialization values when enabled, annotation arguments are provided for each field when enabled, application MUST keep a copy of a program alive as long as context is alive

Clone this wiki locally