Github User Fetcher 1.0.0
C Application with Server and GUI
|
#include "duk_internal.h"
Go to the source code of this file.
Macros | |
#define | DUK__LONGJMP_RESTART 0 /* state updated, restart bytecode execution */ |
#define | DUK__LONGJMP_RETHROW 1 /* exit bytecode executor by rethrowing an error to caller */ |
#define | DUK__RETHAND_RESTART 0 /* state updated, restart bytecode execution */ |
#define | DUK__RETHAND_FINISHED 1 /* exit bytecode execution with return value */ |
#define | DUK__FUN() ((duk_hcompiledfunction *) DUK_ACT_GET_FUNC((thr)->callstack + (thr)->callstack_top - 1)) |
#define | DUK__STRICT() (DUK_HOBJECT_HAS_STRICT((duk_hobject *) DUK__FUN())) |
#define | DUK__REG(x) (*(thr->valstack_bottom + (x))) |
#define | DUK__REGP(x) (thr->valstack_bottom + (x)) |
#define | DUK__CONST(x) (*(consts + (x))) |
#define | DUK__CONSTP(x) (consts + (x)) |
#define | DUK__RCISREG(x) (((x) & 0x100) == 0) |
#define | DUK__REGCONST(x) (*((DUK__RCISREG((x)) ? thr->valstack_bottom : consts2) + (x))) |
#define | DUK__REGCONSTP(x) ((DUK__RCISREG((x)) ? thr->valstack_bottom : consts2) + (x)) |
#define | DUK__INTERNAL_ERROR(msg) |
#define | DUK__SYNC_CURR_PC() |
#define | DUK__SYNC_AND_NULL_CURR_PC() |
#define DUK__CONST | ( | x | ) | (*(consts + (x))) |
Definition at line 1944 of file duktape-1.5.2/src-separate/duk_js_executor.c.
#define DUK__CONSTP | ( | x | ) | (consts + (x)) |
Definition at line 1945 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__FUN | ( | ) | ((duk_hcompiledfunction *) DUK_ACT_GET_FUNC((thr)->callstack + (thr)->callstack_top - 1)) |
Definition at line 1935 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__INTERNAL_ERROR | ( | msg | ) |
Definition at line 1961 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__LONGJMP_RESTART 0 /* state updated, restart bytecode execution */ |
Definition at line 562 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__handle_executor_error(), and duk__handle_longjmp().
#define DUK__LONGJMP_RETHROW 1 /* exit bytecode executor by rethrowing an error to caller */ |
Definition at line 563 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__handle_executor_error(), and duk__handle_longjmp().
#define DUK__RCISREG | ( | x | ) | (((x) & 0x100) == 0) |
Definition at line 1956 of file duktape-1.5.2/src-separate/duk_js_executor.c.
#define DUK__REG | ( | x | ) | (*(thr->valstack_bottom + (x))) |
Definition at line 1942 of file duktape-1.5.2/src-separate/duk_js_executor.c.
#define DUK__REGCONST | ( | x | ) | (*((DUK__RCISREG((x)) ? thr->valstack_bottom : consts2) + (x))) |
Definition at line 1957 of file duktape-1.5.2/src-separate/duk_js_executor.c.
#define DUK__REGCONSTP | ( | x | ) | ((DUK__RCISREG((x)) ? thr->valstack_bottom : consts2) + (x)) |
Definition at line 1958 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__REGP | ( | x | ) | (thr->valstack_bottom + (x)) |
Definition at line 1943 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__RETHAND_FINISHED 1 /* exit bytecode execution with return value */ |
Definition at line 566 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__handle_return(), and duk__js_execute_bytecode_inner().
#define DUK__RETHAND_RESTART 0 /* state updated, restart bytecode execution */ |
Definition at line 565 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__handle_return(), and duk__js_execute_bytecode_inner().
#define DUK__STRICT | ( | ) | (DUK_HOBJECT_HAS_STRICT((duk_hobject *) DUK__FUN())) |
Definition at line 1937 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__SYNC_AND_NULL_CURR_PC | ( | ) |
Definition at line 1975 of file duktape-1.5.2/src-separate/duk_js_executor.c.
Referenced by duk__js_execute_bytecode_inner().
#define DUK__SYNC_CURR_PC | ( | ) |
Definition at line 1970 of file duktape-1.5.2/src-separate/duk_js_executor.c.
DUK_LOCAL duk_double_t duk__compute_mod | ( | duk_double_t | d1, |
duk_double_t | d2 ) |
Definition at line 28 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References DUK_FMOD.
Referenced by duk__vm_arith_binary_op().
DUK_LOCAL void duk__handle_break_or_continue | ( | duk_hthread * | thr, |
duk_uint_t | label_id, | ||
duk_small_uint_t | lj_type ) |
Definition at line 1222 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_catcher::callstack_index, duk_hthread::callstack_top, duk_hthread::catchstack, duk_hthread::catchstack_top, duk__handle_finally(), duk__handle_label(), DUK_ASSERT, DUK_CAT_GET_LABEL, DUK_CAT_GET_TYPE, DUK_CAT_HAS_FINALLY_ENABLED, DUK_CAT_TYPE_LABEL, DUK_CAT_TYPE_TCF, DUK_D, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DPRINT, DUK_ERROR_INTERNAL_DEFMSG, DUK_TVAL_SET_FASTINT_U32, and NULL.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__handle_catch | ( | duk_hthread * | thr, |
duk_size_t | cat_idx, | ||
duk_tval * | tv_val_unstable, | ||
duk_small_uint_t | lj_type ) |
Definition at line 660 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_catcher::callstack_index, duk_hthread::callstack_top, duk_hthread::catchstack, duk_activation::curr_pc, duk__reconfig_valstack_ecma_catcher(), duk__set_catcher_regs(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_CAT_CLEAR_CATCH_ENABLED, DUK_CAT_HAS_CATCH_BINDING_ENABLED, DUK_CAT_SET_LEXENV_ACTIVE, DUK_DDD, DUK_DDDPRINT, DUK_GET_HOBJECT_NEGIDX, DUK_HOBJECT_CLASS_AS_FLAGS, DUK_HOBJECT_CLASS_DECENV, DUK_HOBJECT_FLAG_EXTENSIBLE, DUK_HOBJECT_INCREF, DUK_HOBJECT_IS_COMPILEDFUNCTION, duk_hthread_callstack_unwind(), duk_hthread_catchstack_unwind(), duk_js_init_activation_environment_records_delayed(), duk_pop(), DUK_PROPDESC_FLAGS_W, duk_push_hstring(), duk_push_object_helper_proto(), duk_push_tval(), DUK_UNREF, duk_xdef_prop(), duk_catcher::h_varname, duk_catcher::idx_base, duk_activation::lex_env, NULL, duk_catcher::pc_base, duk_hthread::valstack, and duk_activation::var_env.
Referenced by duk__handle_longjmp().
DUK_LOCAL void duk__handle_executor_error | ( | duk_heap * | heap, |
duk_hthread * | entry_thread, | ||
duk_size_t | entry_callstack_top, | ||
duk_int_t | entry_call_recursion_depth, | ||
duk_jmpbuf * | entry_jmpbuf_ptr ) |
Definition at line 1982 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_heap::call_recursion_depth, duk_heap::curr_thread, duk__handle_longjmp(), DUK__LONGJMP_RESTART, DUK__LONGJMP_RETHROW, DUK_ASSERT, duk_err_longjmp(), DUK_UNREACHABLE, duk_ljstate::jmpbuf_ptr, duk_heap::lj, NULL, and duk_hthread::ptr_curr_pc.
Referenced by duk_js_execute_bytecode().
DUK_LOCAL void duk__handle_finally | ( | duk_hthread * | thr, |
duk_size_t | cat_idx, | ||
duk_tval * | tv_val_unstable, | ||
duk_small_uint_t | lj_type ) |
Definition at line 756 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_catcher::callstack_index, duk_hthread::callstack_top, duk_hthread::catchstack, duk_activation::curr_pc, duk__reconfig_valstack_ecma_catcher(), duk__set_catcher_regs(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_CAT_CLEAR_FINALLY_ENABLED, DUK_HOBJECT_IS_COMPILEDFUNCTION, duk_hthread_callstack_unwind(), duk_hthread_catchstack_unwind(), NULL, and duk_catcher::pc_base.
Referenced by duk__handle_break_or_continue(), duk__handle_longjmp(), and duk__handle_return().
DUK_LOCAL void duk__handle_label | ( | duk_hthread * | thr, |
duk_size_t | cat_idx, | ||
duk_small_uint_t | lj_type ) |
Definition at line 781 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_hthread::callstack_top, duk_hthread::catchstack, duk_activation::curr_pc, DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_HOBJECT_HAS_COMPILEDFUNCTION, duk_hthread_catchstack_unwind(), DUK_LJ_TYPE_CONTINUE, NULL, duk_catcher::pc_base, duk_hthread::valstack_bottom, and duk_hthread::valstack_top.
Referenced by duk__handle_break_or_continue().
DUK_LOCAL duk_small_uint_t duk__handle_longjmp | ( | duk_hthread * | thr, |
duk_hthread * | entry_thread, | ||
duk_size_t | entry_callstack_top ) |
Definition at line 832 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_catcher::callstack_index, duk_hthread::callstack_top, duk_hthread::catchstack, duk_hthread::catchstack_top, duk_heap::curr_thread, duk__handle_catch(), duk__handle_finally(), duk__handle_yield(), DUK__LONGJMP_RESTART, DUK__LONGJMP_RETHROW, duk__reconfig_valstack_ecma_return(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_DISABLE, duk_bi_thread_resume(), duk_bi_thread_yield(), DUK_CALL_FLAG_IS_RESUME, DUK_CAT_GET_TYPE, DUK_CAT_HAS_CATCH_ENABLED, DUK_CAT_HAS_FINALLY_ENABLED, DUK_CAT_TYPE_TCF, DUK_D, DUK_DD, DUK_DDPRINT, DUK_DPRINT, DUK_ERROR_INTERNAL_DEFMSG, duk_handle_ecma_call_setup(), DUK_HEAP_SWITCH_THREAD, DUK_HOBJECT_IS_COMPILEDFUNCTION, DUK_HOBJECT_IS_NATIVEFUNCTION, DUK_HOBJECT_IS_THREAD, duk_hthread_callstack_unwind(), duk_hthread_catchstack_unwind(), DUK_HTHREAD_STATE_INACTIVE, DUK_HTHREAD_STATE_RESUMED, DUK_HTHREAD_STATE_RUNNING, DUK_HTHREAD_STATE_TERMINATED, DUK_HTHREAD_STATE_YIELDED, duk_hthread_terminate(), DUK_LJ_TYPE_BREAK, DUK_LJ_TYPE_CONTINUE, DUK_LJ_TYPE_NORMAL, DUK_LJ_TYPE_RESUME, DUK_LJ_TYPE_RETURN, DUK_LJ_TYPE_THROW, DUK_LJ_TYPE_UNKNOWN, DUK_LJ_TYPE_YIELD, duk_push_tval(), duk_push_undefined(), DUK_TVAL_GET_OBJECT, DUK_TVAL_IS_OBJECT, DUK_TVAL_SET_TVAL_UPDREF, DUK_TVAL_SET_UNDEFINED_UPDREF, DUK_UNREACHABLE, duk_hthread::heap, duk_activation::idx_retval, duk_ljstate::iserror, duk_heap::lj, NULL, duk_hthread::resumer, duk_hthread::state, duk_ljstate::type, duk_hthread::valstack, duk_hthread::valstack_top, duk_ljstate::value1, and duk_ljstate::value2.
Referenced by duk__handle_executor_error().
DUK_LOCAL duk_small_uint_t duk__handle_return | ( | duk_hthread * | thr, |
duk_hthread * | entry_thread, | ||
duk_size_t | entry_callstack_top ) |
Definition at line 1295 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_catcher::callstack_index, duk_hthread::callstack_top, duk_hthread::catchstack, duk_hthread::catchstack_top, duk__handle_finally(), duk__handle_yield(), duk__reconfig_valstack_ecma_return(), DUK__RETHAND_FINISHED, DUK__RETHAND_RESTART, DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_DISABLE, duk_bi_thread_resume(), DUK_CAT_GET_TYPE, DUK_CAT_HAS_FINALLY_ENABLED, DUK_CAT_TYPE_TCF, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_HEAP_SWITCH_THREAD, DUK_HOBJECT_IS_COMPILEDFUNCTION, DUK_HOBJECT_IS_NATIVEFUNCTION, duk_hthread_callstack_unwind(), duk_hthread_catchstack_unwind(), DUK_HTHREAD_STATE_RESUMED, DUK_HTHREAD_STATE_RUNNING, DUK_HTHREAD_STATE_TERMINATED, duk_hthread_terminate(), DUK_LJ_TYPE_RETURN, DUK_TVAL_CHKFAST_INPLACE, DUK_TVAL_SET_TVAL_UPDREF, duk_hthread::heap, duk_heap::lj, NULL, duk_hthread::resumer, duk_hthread::state, duk_hthread::valstack, duk_hthread::valstack_bottom, duk_hthread::valstack_top, and duk_ljstate::value1.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__handle_yield | ( | duk_hthread * | thr, |
duk_hthread * | resumer, | ||
duk_size_t | act_idx, | ||
duk_tval * | tv_val_unstable ) |
Definition at line 811 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk__reconfig_valstack_ecma_return(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_HOBJECT_IS_COMPILEDFUNCTION, duk_hthread_callstack_unwind(), DUK_TVAL_SET_TVAL_UPDREF, duk_activation::idx_retval, NULL, and duk_hthread::valstack.
Referenced by duk__handle_longjmp(), and duk__handle_return().
DUK_LOCAL_DECL void duk__js_execute_bytecode_inner | ( | duk_hthread * | entry_thread, |
duk_size_t | entry_callstack_top ) |
Definition at line 2131 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_catcher::callstack_index, duk_hthread::callstack_preventcount, duk_hthread::callstack_top, duk_hthread::catchstack, duk_hthread::catchstack_size, duk_hthread::catchstack_top, duk_activation::curr_pc, duk_heap::curr_thread, DUK__CONSTP, DUK__FUN, duk__handle_break_or_continue(), duk__handle_return(), DUK__INTERNAL_ERROR, DUK__REGCONSTP, DUK__REGP, DUK__RETHAND_FINISHED, DUK__RETHAND_RESTART, DUK__STRICT, DUK__SYNC_AND_NULL_CURR_PC, duk__vm_arith_add(), duk__vm_arith_binary_op(), duk__vm_arith_unary_op(), duk__vm_bitwise_binary_op(), duk__vm_bitwise_not(), duk__vm_logical_not(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_BC_CALL_FLAG_EVALCALL, DUK_BC_CALL_FLAG_TAILCALL, DUK_BC_DECLVAR_FLAG_FUNC_DECL, DUK_BC_DECLVAR_FLAG_UNDEF_VALUE, DUK_BC_JUMP_BIAS, DUK_BC_LDINT_BIAS, DUK_BC_LDINTX_SHIFT, DUK_BC_REGLIMIT, DUK_BC_RETURN_FLAG_HAVE_RETVAL, DUK_BC_TRYCATCH_FLAG_CATCH_BINDING, DUK_BC_TRYCATCH_FLAG_HAVE_CATCH, DUK_BC_TRYCATCH_FLAG_HAVE_FINALLY, DUK_BC_TRYCATCH_FLAG_WITH_BINDING, duk_bi_global_object_eval(), DUK_BIDX_OBJECT_CONSTRUCTOR, DUK_CALL_FLAG_DIRECT_EVAL, DUK_CALL_FLAG_IS_TAILCALL, duk_call_method(), DUK_CAT_CLEAR_CATCH_ENABLED, DUK_CAT_CLEAR_FINALLY_ENABLED, DUK_CAT_CLEAR_LEXENV_ACTIVE, DUK_CAT_FLAG_CATCH_BINDING_ENABLED, DUK_CAT_FLAG_CATCH_ENABLED, DUK_CAT_FLAG_FINALLY_ENABLED, DUK_CAT_FLAG_LEXENV_ACTIVE, DUK_CAT_GET_LABEL, DUK_CAT_GET_TYPE, DUK_CAT_HAS_CATCH_BINDING_ENABLED, DUK_CAT_HAS_CATCH_ENABLED, DUK_CAT_HAS_FINALLY_ENABLED, DUK_CAT_HAS_LEXENV_ACTIVE, DUK_CAT_LABEL_SHIFT, DUK_CAT_TYPE_LABEL, DUK_CAT_TYPE_TCF, DUK_COMPARE_FLAG_EVAL_LEFT_FIRST, DUK_COMPARE_FLAG_NEGATE, DUK_D, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DEC_A, DUK_DEC_ABC, DUK_DEC_B, DUK_DEC_BC, DUK_DEC_C, DUK_DEC_OP, DUK_DPRINT, duk_dup(), DUK_ENC_OP, duk_err_augment_error_throw(), DUK_ERR_INTERNAL_ERROR, duk_err_longjmp(), DUK_ERR_REFERENCE_ERROR, duk_err_setup_heap_ljstate(), DUK_ERROR, DUK_ERROR_FMT1, DUK_ERROR_INTERNAL, DUK_EXTRAOP_BNOT, DUK_EXTRAOP_BREAK, DUK_EXTRAOP_CONTINUE, DUK_EXTRAOP_DEBUGGER, DUK_EXTRAOP_ENDCATCH, DUK_EXTRAOP_ENDFIN, DUK_EXTRAOP_ENDLABEL, DUK_EXTRAOP_ENDTRY, DUK_EXTRAOP_IN, DUK_EXTRAOP_INITENUM, DUK_EXTRAOP_INITGET, DUK_EXTRAOP_INITGETI, DUK_EXTRAOP_INITSET, DUK_EXTRAOP_INITSETI, DUK_EXTRAOP_INSTOF, DUK_EXTRAOP_INVALID, DUK_EXTRAOP_INVLHS, DUK_EXTRAOP_LABEL, DUK_EXTRAOP_LDFALSE, DUK_EXTRAOP_LDNULL, DUK_EXTRAOP_LDTHIS, DUK_EXTRAOP_LDTRUE, DUK_EXTRAOP_LDUNDEF, DUK_EXTRAOP_LNOT, DUK_EXTRAOP_NEWARR, DUK_EXTRAOP_NEWOBJ, DUK_EXTRAOP_NEXTENUM, DUK_EXTRAOP_NOP, DUK_EXTRAOP_SETALEN, DUK_EXTRAOP_THROW, DUK_EXTRAOP_TYPEOF, DUK_EXTRAOP_TYPEOFID, DUK_EXTRAOP_UNM, DUK_EXTRAOP_UNP, DUK_GET_HOBJECT_NEGIDX, duk_get_prop_stridx(), duk_get_top(), duk_get_tval(), DUK_GET_TVAL_NEGIDX, duk_handle_call_unprotected(), duk_handle_ecma_call_setup(), DUK_HCOMPILEDFUNCTION_GET_CODE_BASE, DUK_HCOMPILEDFUNCTION_GET_CODE_END, DUK_HCOMPILEDFUNCTION_GET_CONSTS_BASE, DUK_HCOMPILEDFUNCTION_GET_FUNCS_BASE, DUK_HCOMPILEDFUNCTION_GET_FUNCS_COUNT, DUK_HOBJECT_CLASS_AS_FLAGS, DUK_HOBJECT_CLASS_OBJENV, DUK_HOBJECT_DECREF, duk_hobject_delprop(), duk_hobject_enumerator_create(), duk_hobject_enumerator_next(), DUK_HOBJECT_FLAG_EXTENSIBLE, DUK_HOBJECT_GET_PROTOTYPE, duk_hobject_getprop(), DUK_HOBJECT_HAS_BOUND, DUK_HOBJECT_INCREF, DUK_HOBJECT_IS_COMPILEDFUNCTION, DUK_HOBJECT_IS_NATIVEFUNCTION, duk_hobject_putprop(), duk_hobject_set_length(), DUK_HOBJECT_SET_PROTOTYPE_UPDREF, duk_hthread_catchstack_grow(), duk_hthread_catchstack_unwind(), duk_is_null(), duk_is_null_or_undefined(), duk_is_object(), duk_is_string(), duk_is_valid_index(), duk_js_compare_helper(), duk_js_declvar_activation(), duk_js_delvar_activation(), duk_js_equals, duk_js_getvar_activation(), duk_js_in(), duk_js_init_activation_environment_records_delayed(), duk_js_instanceof(), duk_js_push_closure(), duk_js_putvar_activation(), duk_js_strict_equals, duk_js_toboolean(), duk_js_typeof(), DUK_LIKELY, DUK_LJ_TYPE_BREAK, DUK_LJ_TYPE_CONTINUE, DUK_LJ_TYPE_NORMAL, DUK_LJ_TYPE_RETURN, DUK_LJ_TYPE_THROW, duk_new(), DUK_OP_ADD, DUK_OP_BAND, DUK_OP_BASL, DUK_OP_BASR, DUK_OP_BLSR, DUK_OP_BOR, DUK_OP_BXOR, DUK_OP_CALL, DUK_OP_CALLI, DUK_OP_CLOSURE, DUK_OP_CSPROP, DUK_OP_CSPROPI, DUK_OP_CSREG, DUK_OP_CSREGI, DUK_OP_CSVAR, DUK_OP_CSVARI, DUK_OP_DECLVAR, DUK_OP_DELPROP, DUK_OP_DELVAR, DUK_OP_DIV, DUK_OP_EQ, DUK_OP_EXTRA, DUK_OP_GE, DUK_OP_GETPROP, DUK_OP_GETVAR, DUK_OP_GT, DUK_OP_IF, DUK_OP_JUMP, DUK_OP_LDCONST, DUK_OP_LDINT, DUK_OP_LDINTX, DUK_OP_LDREG, DUK_OP_LE, DUK_OP_LT, DUK_OP_MOD, DUK_OP_MPUTARR, DUK_OP_MPUTARRI, DUK_OP_MPUTOBJ, DUK_OP_MPUTOBJI, DUK_OP_MUL, DUK_OP_NEQ, DUK_OP_NEW, DUK_OP_NEWI, DUK_OP_POSTDECP, DUK_OP_POSTDECR, DUK_OP_POSTDECV, DUK_OP_POSTINCP, DUK_OP_POSTINCR, DUK_OP_POSTINCV, DUK_OP_PREDECP, DUK_OP_PREDECR, DUK_OP_PREDECV, DUK_OP_PREINCP, DUK_OP_PREINCR, DUK_OP_PREINCV, DUK_OP_PUTPROP, DUK_OP_PUTVAR, DUK_OP_REGEXP, DUK_OP_RETURN, DUK_OP_SEQ, DUK_OP_SNEQ, DUK_OP_STREG, DUK_OP_SUB, DUK_OP_TRYCATCH, duk_pop(), duk_pop_2(), DUK_PROPDESC_FLAGS_MASK, DUK_PROPDESC_FLAGS_NONE, duk_push_array(), duk_push_boolean(), duk_push_hobject(), duk_push_hobject_bidx(), duk_push_hstring(), duk_push_hstring_stridx(), duk_push_null(), duk_push_number(), duk_push_object(), duk_push_object_helper(), duk_push_true(), duk_push_tval(), duk_push_undefined(), duk_put_prop_stridx(), duk_regexp_create_instance(), duk_replace(), duk_require_stack(), duk_set_top(), DUK_STRIDX_CONFIGURABLE, DUK_STRIDX_DEFINE_PROPERTY, DUK_STRIDX_ENUMERABLE, DUK_STRIDX_GET, DUK_STRIDX_INT_TARGET, DUK_STRIDX_INT_THIS, DUK_STRIDX_LC_UNDEFINED, DUK_STRIDX_SET, duk_to_number(), duk_to_object(), duk_to_undefined(), DUK_TVAL_GET_LIGHTFUNC_FUNCPTR, DUK_TVAL_GET_NUMBER, DUK_TVAL_GET_OBJECT, DUK_TVAL_GET_STRING, DUK_TVAL_IS_LIGHTFUNC, DUK_TVAL_IS_NUMBER, DUK_TVAL_IS_OBJECT, DUK_TVAL_IS_STRING, DUK_TVAL_IS_UNDEFINED, DUK_TVAL_SET_BOOLEAN_UPDREF, DUK_TVAL_SET_FASTINT, DUK_TVAL_SET_FASTINT_I32_UPDREF, DUK_TVAL_SET_FASTINT_U32_UPDREF, DUK_TVAL_SET_FASTINT_UPDREF, DUK_TVAL_SET_NULL_UPDREF, DUK_TVAL_SET_NUMBER, DUK_TVAL_SET_NUMBER_CHKFAST, DUK_TVAL_SET_NUMBER_UPDREF, DUK_TVAL_SET_TVAL_UPDREF_FAST, DUK_TVAL_SET_UNDEFINED_UPDREF, DUK_UNLIKELY, DUK_UNREACHABLE, DUK_UNREF, duk_xdef_prop_index_wec, duk_xdef_prop_stridx(), duk_xdef_prop_wec, duk_catcher::flags, duk_catcher::h_varname, duk_hthread::heap, duk_catcher::idx_base, duk_ljstate::jmpbuf_ptr, duk_activation::lex_env, duk_heap::lj, name, duk_hcompiledfunction::nregs, NULL, duk_catcher::pc_base, duk_hthread::ptr_curr_pc, duk_hthread::valstack, duk_hthread::valstack_bottom, duk_hthread::valstack_end, duk_hthread::valstack_top, and duk_activation::var_env.
Referenced by duk_js_execute_bytecode().
DUK_LOCAL void duk__reconfig_valstack_ecma_catcher | ( | duk_hthread * | thr, |
duk_size_t | act_idx, | ||
duk_size_t | cat_idx ) |
Definition at line 609 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, duk_hthread::catchstack, DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_HOBJECT_IS_COMPILEDFUNCTION, duk_set_top(), DUK_VALSTACK_INTERNAL_EXTRA, duk_valstack_resize_raw(), DUK_VSRESIZE_FLAG_SHRINK, DUK_VSRESIZE_FLAG_THROW, duk_catcher::idx_base, duk_activation::idx_bottom, duk_activation::idx_retval, duk_hcompiledfunction::nregs, NULL, duk_hthread::valstack, and duk_hthread::valstack_bottom.
Referenced by duk__handle_catch(), and duk__handle_finally().
DUK_LOCAL void duk__reconfig_valstack_ecma_return | ( | duk_hthread * | thr, |
duk_size_t | act_idx ) |
Definition at line 573 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::callstack, DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_HOBJECT_IS_COMPILEDFUNCTION, duk_set_top(), DUK_VALSTACK_INTERNAL_EXTRA, duk_valstack_resize_raw(), DUK_VSRESIZE_FLAG_SHRINK, DUK_VSRESIZE_FLAG_THROW, duk_activation::idx_bottom, duk_activation::idx_retval, duk_hcompiledfunction::nregs, NULL, duk_hthread::valstack, and duk_hthread::valstack_bottom.
Referenced by duk__handle_longjmp(), duk__handle_return(), and duk__handle_yield().
DUK_LOCAL void duk__set_catcher_regs | ( | duk_hthread * | thr, |
duk_size_t | cat_idx, | ||
duk_tval * | tv_val_unstable, | ||
duk_small_uint_t | lj_type ) |
Definition at line 644 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_hthread::catchstack, DUK_ASSERT, DUK_TVAL_SET_FASTINT_U32_UPDREF, DUK_TVAL_SET_TVAL_UPDREF, duk_catcher::idx_base, NULL, and duk_hthread::valstack.
Referenced by duk__handle_catch(), and duk__handle_finally().
DUK_LOCAL void duk__vm_arith_add | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_tval * | tv_y, | ||
duk_small_uint_fast_t | idx_z ) |
Definition at line 40 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_double_union::d, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_ASSERT_DOUBLE_IS_NORMALIZED, duk_check_type_mask(), duk_concat(), DUK_DBLUNION_IS_NORMALIZED, DUK_DBLUNION_NORMALIZE_NAN_CHECK, duk_get_top(), DUK_HINT_NONE, duk_is_number(), DUK_LIKELY, duk_pop_2(), duk_push_number(), duk_push_tval(), duk_replace(), duk_to_number(), duk_to_primitive(), duk_to_string(), DUK_TVAL_GET_NUMBER, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT_UPDREF, DUK_TVAL_SET_NUMBER_UPDREF, DUK_TYPE_MASK_BUFFER, DUK_TYPE_MASK_STRING, NULL, and duk_hthread::valstack_bottom.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__vm_arith_binary_op | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_tval * | tv_y, | ||
duk_idx_t | idx_z, | ||
duk_small_uint_fast_t | opcode ) |
Definition at line 147 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_double_union::d, duk__compute_mod(), DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_ASSERT_DOUBLE_IS_NORMALIZED, DUK_DBLUNION_IS_NORMALIZED, DUK_DBLUNION_NORMALIZE_NAN_CHECK, DUK_DOUBLE_NAN, duk_get_top(), duk_is_number(), DUK_LIKELY, DUK_OP_DIV, DUK_OP_MOD, DUK_OP_MUL, DUK_OP_SUB, duk_pop_2(), duk_push_tval(), duk_to_number(), DUK_TVAL_GET_NUMBER, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT_UPDREF, DUK_TVAL_SET_NUMBER_UPDREF, DUK_UNREACHABLE, NULL, and duk_hthread::valstack_bottom.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__vm_arith_unary_op | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_idx_t | idx_x, | ||
duk_small_uint_fast_t | opcode ) |
Definition at line 409 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_double_union::d, DUK_ASSERT, DUK_DBLUNION_IS_NORMALIZED, DUK_DBLUNION_NORMALIZE_NAN_CHECK, DUK_EXTRAOP_UNM, DUK_EXTRAOP_UNP, DUK_GET_TVAL_POSIDX, DUK_LIKELY, duk_to_number(), DUK_TVAL_GET_NUMBER, DUK_TVAL_IS_NUMBER, DUK_TVAL_SET_FASTINT, DUK_TVAL_SET_NUMBER, DUK_TVAL_SET_NUMBER_CHKFAST, and NULL.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__vm_bitwise_binary_op | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_tval * | tv_y, | ||
duk_small_uint_fast_t | idx_z, | ||
duk_small_uint_fast_t | opcode ) |
Definition at line 289 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_ASSERT_DOUBLE_IS_NORMALIZED, duk_get_top(), DUK_ISNAN, DUK_OP_BAND, DUK_OP_BASL, DUK_OP_BASR, DUK_OP_BLSR, DUK_OP_BOR, DUK_OP_BXOR, duk_pop_2(), duk_push_tval(), duk_to_int32(), DUK_TVAL_SET_FASTINT_UPDREF, DUK_TVAL_SET_NUMBER_UPDREF, DUK_UNREACHABLE, NULL, and duk_hthread::valstack_bottom.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__vm_bitwise_not | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_uint_fast_t | idx_z ) |
Definition at line 481 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_ASSERT_DOUBLE_IS_NORMALIZED, duk_get_top(), DUK_ISNAN, duk_pop(), duk_push_tval(), duk_to_int32(), DUK_TVAL_SET_FASTINT_I32_UPDREF, DUK_TVAL_SET_NUMBER_UPDREF, NULL, and duk_hthread::valstack_bottom.
Referenced by duk__js_execute_bytecode_inner().
DUK_LOCAL void duk__vm_logical_not | ( | duk_hthread * | thr, |
duk_tval * | tv_x, | ||
duk_tval * | tv_z ) |
Definition at line 528 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References DUK_ASSERT, duk_js_toboolean(), DUK_TVAL_SET_BOOLEAN_UPDREF, DUK_UNREF, and NULL.
Referenced by duk__js_execute_bytecode_inner().
DUK_INTERNAL void duk_js_execute_bytecode | ( | duk_hthread * | exec_thr | ) |
Definition at line 2025 of file duktape-1.5.2/src-separate/duk_js_executor.c.
References duk_heap::call_recursion_depth, duk_hthread::callstack, duk_hthread::callstack_top, duk_heap::curr_thread, duk__handle_executor_error(), duk__js_execute_bytecode_inner(), DUK_ACT_GET_FUNC, DUK_ASSERT, DUK_ASSERT_REFCOUNT_NONZERO_HEAPHDR, DUK_D, DUK_DDD, DUK_DDDPRINT, DUK_DPRINT, DUK_ERR_API_ERROR, DUK_ERROR_API, DUK_ERROR_FMT1, DUK_HOBJECT_IS_COMPILEDFUNCTION, DUK_SETJMP, DUK_UNREACHABLE, DUK_UNREF, duk_hthread::heap, duk_jmpbuf::jb, duk_ljstate::jmpbuf_ptr, duk_heap::lj, and NULL.