You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.5 KiB

# Base configuration for low memory environments, see
# doc/low-memory.rst:
#
# - Strips verbose errors etc
# - Strips some ES6 features like Proxy support (re-enable if needed)
# - Strips some Duktape custom feature like JX/JC; keeps e.g. RegExp
# and other standard parts
# - Strips some commonly unnecessary API calls like bytecode dump/load
# - Does not enable pointer compression or external strings: these
# need target specific support code
# - Does not enable ROM string/object support by default, enable manually
#
DUK_USE_PREFER_SIZE: true
DUK_USE_EXEC_PREFER_SIZE: true
DUK_USE_FAST_REFCOUNT_DEFAULT: false
DUK_USE_AUGMENT_ERROR_CREATE: false
DUK_USE_AUGMENT_ERROR_THROW: false
DUK_USE_TRACEBACKS: false
DUK_USE_ERRCREATE: false
DUK_USE_ERRTHROW: false
DUK_USE_VERBOSE_ERRORS: false
DUK_USE_PARANOID_ERRORS: true
DUK_USE_VERBOSE_EXECUTOR_ERRORS: false # <100 bytes footprint
DUK_USE_DEBUGGER_SUPPORT: false # must be disabled if DUK_USE_PC2LINE is disabled
DUK_USE_PC2LINE: false
DUK_USE_LEXER_SLIDING_WINDOW: false
DUK_USE_JSON_STRINGIFY_FASTPATH: false
DUK_USE_JSON_QUOTESTRING_FASTPATH: false
DUK_USE_JSON_DECSTRING_FASTPATH: false
DUK_USE_JSON_DECNUMBER_FASTPATH: false
DUK_USE_JSON_EATWHITE_FASTPATH: false
DUK_USE_BASE64_FASTPATH: false
DUK_USE_HEX_FASTPATH: false
DUK_USE_IDCHAR_FASTPATH: false
DUK_USE_ARRAY_PROP_FASTPATH: false
DUK_USE_ARRAY_FASTPATH: false
DUK_USE_BYTECODE_DUMP_SUPPORT: false
DUK_USE_JX: false
DUK_USE_JC: false
#DUK_USE_REGEXP_SUPPORT: false
DUK_USE_DEBUG_BUFSIZE: 2048
DUK_USE_LIGHTFUNC_BUILTINS: true
DUK_USE_STRTAB_CHAIN: true
DUK_USE_STRTAB_PROBE: false
DUK_USE_STRTAB_CHAIN_SIZE: 128
DUK_USE_HSTRING_ARRIDX: false
# Consider using pointer compression, see doc/low-memory.rst.
#DUK_USE_REFCOUNT16: true
#DUK_USE_STRHASH16: true
#DUK_USE_STRLEN16: true
#DUK_USE_BUFLEN16: true
#DUK_USE_OBJSIZES16: true
#DUK_USE_HSTRING_CLEN: false
#DUK_USE_HOBJECT_HASH_PART: false
#DUK_USE_HEAPPTR16
#DUK_USE_HEAPPTR_DEC16
#DUK_USE_HEAPPTR_ENC16
# Consider using external strings, see doc/low_memory.rst.
#DUK_USE_EXTERNAL_STRINGS: true
#DUK_USE_EXTSTR_INTERN_CHECK
#DUK_USE_EXTSTR_FREE
# Consider removing Node.js Buffer and Khronos/ES6 typed array support if not
# needed (about 10 kB code footprint difference on x64)
DUK_USE_BUFFEROBJECT_SUPPORT: false
# Consider to reduce code footprint at the expense of more erratic RAM usage
#DUK_USE_REFERENCE_COUNTING: false
#DUK_USE_DOUBLE_LINKED_HEAP: false
# Consider to reduce code footprint at the expense of less safeguards against
# bugs in calling C code.
DUK_USE_VALSTACK_UNSAFE: true
# Short term workaround with large footprint, disable.
DUK_USE_REGEXP_CANON_WORKAROUND: false
# Consider using ROM strings/objects to reduce footprint, see doc/low_memory.rst.
# ROM strings/objects reduce startup RAM usage at the expense of code footprint
# and some compliance.
#DUK_USE_ROM_STRINGS: true
#DUK_USE_ROM_OBJECTS: true
#DUK_USE_ROM_GLOBAL_INHERIT: true # select inherit or clone; inherit recommended
#DUK_USE_ROM_GLOBAL_CLONE: false
# Function footprint size reduction.
DUK_USE_FUNC_NAME_PROPERTY: true # compliance
DUK_USE_FUNC_FILENAME_PROPERTY: false # non-standard, can be removed
# Consider these; disabled by default because they don't impact E5 compliance.
DUK_USE_COROUTINE_SUPPORT: false
DUK_USE_SOURCE_NONBMP: false # <300 bytes footprint
DUK_USE_ES6_PROXY: false # roughly 2kB footprint
DUK_USE_ES7_EXP_OPERATOR: false # pulls in pow()
DUK_USE_ENCODING_BUILTINS: false
DUK_USE_ES6_UNICODE_ESCAPE: false
DUK_USE_REFLECT_BUILTIN: false
DUK_USE_ES6: false
DUK_USE_SYMBOL_BUILTIN: false