47 DUK_DD(
DUK_DDPRINT(
"growing callstack %ld -> %ld", (
long) old_size, (
long) new_size));
130 while (idx > new_top) {
133#ifdef DUK_USE_REFERENCE_COUNTING
136#ifdef DUK_USE_DEBUGGER_SUPPORT
147#ifdef DUK_USE_NONSTD_FUNC_CALLER_PROPERTY
167 if (act->prev_caller) {
172 act->prev_caller =
NULL;
179 h_tmp = act->prev_caller;
181 act->prev_caller =
NULL;
195#if defined(DUK_USE_DEBUGGER_SUPPORT)
197 if (heap->dbg_step_thread == thr &&
198 heap->dbg_step_csindex == idx) {
202 DUK_HEAP_SET_PAUSED(heap);
237 "already closed -> skip closing lex_env"));
280#ifdef DUK_USE_REFERENCE_COUNTING
284#ifdef DUK_USE_REFERENCE_COUNTING
289#ifdef DUK_USE_REFERENCE_COUNTING
293#ifdef DUK_USE_REFERENCE_COUNTING
301#ifdef DUK_USE_REFERENCE_COUNTING
305#ifdef DUK_USE_REFERENCE_COUNTING
352 DUK_DD(
DUK_DDPRINT(
"growing catchstack %ld -> %ld", (
long) old_size, (
long) new_size));
430 while (idx > new_top) {
442 DUK_DDD(
DUK_DDDPRINT(
"unwinding catchstack idx %ld, callstack idx %ld, callstack top %ld: lexical environment active",
#define DUK_TVAL_DECREF(thr, tv)
#define DUK_TVAL_SET_TVAL(v, x)
#define DUK_ACT_FLAG_PREVENT_YIELD
#define DUK_ERROR_RANGE(thr, msg)
#define DUK_HOBJECT_DECREF_ALLOWNULL(thr, h)
#define DUK_TVAL_SET_NULL(tv)
#define DUK_STR_CATCHSTACK_LIMIT
#define DUK_HOBJECT_GET_PROTOTYPE(heap, h)
#define DUK_TVAL_SET_OBJECT(tv, hptr)
DUK_INTERNAL_DECL void * duk_hthread_get_catchstack_ptr(duk_heap *heap, void *ud)
#define DUK_CALLSTACK_SHRINK_THRESHOLD
#define DUK_REALLOC_INDIRECT(heap, cb, ud, newsize)
#define DUK_CALLSTACK_SHRINK_SPARE
#define DUK_HTHREAD_STRING_INT_REGBASE(thr)
#define DUK_HTHREAD_STRING_INT_THREAD(thr)
DUK_INTERNAL_DECL void * duk_hthread_get_callstack_ptr(duk_heap *heap, void *ud)
#define DUK_ASSERT_DISABLE(x)
#define DUK_ERROR_ALLOC_DEFMSG(thr)
#define DUK_HTHREAD_STRING_INT_VARMAP(thr)
DUK_INTERNAL_DECL duk_tval * duk_hobject_find_existing_entry_tval_ptr(duk_heap *heap, duk_hobject *obj, duk_hstring *key)
#define DUK_HOBJECT_DECREF(thr, h)
#define DUK_CAT_HAS_LEXENV_ACTIVE(c)
#define DUK_STR_CALLSTACK_LIMIT
#define DUK_HTHREAD_STRING_INT_CALLEE(thr)
#define DUK_HOBJECT_HAS_NEWENV(h)
#define DUK_CATCHSTACK_SHRINK_THRESHOLD
#define DUK_CATCHSTACK_GROW_STEP
struct duk_activation duk_activation
#define DUK_ACT_GET_FUNC(act)
#define DUK_CALLSTACK_GROW_STEP
DUK_INTERNAL_DECL void duk_js_close_environment_record(duk_hthread *thr, duk_hobject *env, duk_hobject *func, duk_size_t regbase)
#define DUK_HOBJECT_HAS_STRICT(h)
#define DUK_CATCHSTACK_SHRINK_SPARE
#define DUK_HTHREAD_STRING_CALLER(thr)
struct duk_catcher duk_catcher
DUK_INTERNAL void duk_hthread_callstack_grow(duk_hthread *thr)
DUK_INTERNAL void duk_hthread_catchstack_shrink_check(duk_hthread *thr)
DUK_INTERNAL void duk_hthread_catchstack_unwind(duk_hthread *thr, duk_size_t new_top)
DUK_INTERNAL void duk_hthread_callstack_unwind(duk_hthread *thr, duk_size_t new_top)
DUK_INTERNAL void duk_hthread_callstack_shrink_check(duk_hthread *thr)
DUK_INTERNAL void duk_hthread_catchstack_grow(duk_hthread *thr)
duk_size_t callstack_index
duk_size_t catchstack_size
duk_size_t catchstack_top
duk_size_t callstack_preventcount
duk_size_t catchstack_max
duk_size_t callstack_size
duk_activation * callstack