22 lines
938 B
YAML
22 lines
938 B
YAML
define: DUK_USE_NATIVE_STACK_CHECK
|
|
introduced: 2.4.0
|
|
default: false
|
|
tags:
|
|
- portability
|
|
- execution
|
|
description: >
|
|
Provide a macro hook to check for available native stack space for the
|
|
currently executing native thread. The macro must evaluate to zero if
|
|
there is enough stack space available and non-zero otherwise; a RangeError
|
|
will then be thrown.
|
|
|
|
The definition of "enough space" depends on the target platform and the
|
|
compiler because the size of native stack frames cannot be easily known
|
|
in advance. As a relatively safe estimate, one can check for 8kB of
|
|
available stack.
|
|
|
|
Duktape doesn't call this macro for every internal native call. The macro
|
|
is called in code paths that are involved in potentially unlimited
|
|
recursion (such as making Ecmascript/native function calls, invoking
|
|
getters and Proxy traps, and resolving Proxy chains) and code paths
|
|
requiring a lot of stack space temporarily.
|