5#ifndef DUK_JS_COMPILER_H_INCLUDED
6#define DUK_JS_COMPILER_H_INCLUDED
9#define DUK_COMPILER_TOKEN_LIMIT 100000000L
12#define DUK_COMPILER_PEEPHOLE_MAXITER 3
15#define DUK_COMPILER_MAX_BYTECODE_LENGTH (256L * 1024L * 1024L)
25#define DUK_IVAL_NONE 0
26#define DUK_IVAL_PLAIN 1
27#define DUK_IVAL_ARITH 2
28#define DUK_IVAL_ARITH_EXTRAOP 3
29#define DUK_IVAL_PROP 4
32#define DUK_ISPEC_NONE 0
33#define DUK_ISPEC_VALUE 1
34#define DUK_ISPEC_REGCONST 2
37#define DUK_JS_CONST_MARKER 0x80000000UL
74#if defined(DUK_USE_PC2LINE)
83#define DUK_LABEL_FLAG_ALLOW_BREAK (1 << 0)
84#define DUK_LABEL_FLAG_ALLOW_CONTINUE (1 << 1)
86#define DUK_DECL_TYPE_VAR 0
87#define DUK_DECL_TYPE_FUNC 1
166#if defined(DUK_USE_DEBUGGER_SUPPORT)
221#define DUK_JS_COMPILE_FLAG_EVAL (1 << 0)
222#define DUK_JS_COMPILE_FLAG_STRICT (1 << 1)
223#define DUK_JS_COMPILE_FLAG_FUNCEXPR (1 << 2)
unsigned int duk_small_uint_t
#define DUK_INTERNAL_DECL
duk_int_fast32_t duk_int_t
duk_small_int_t duk_bool_t
duk_uint32_t duk_regconst_t
duk_uint32_t duk_regconst_t
DUK_INTERNAL_DECL void duk_js_compile(duk_hthread *thr, const duk_uint8_t *src_buffer, duk_size_t src_length, duk_small_uint_t flags)
duk_compiler_func curr_func
duk_int_t recursion_limit
duk_int_t recursion_depth
duk_int_t emit_jumpslot_pc
duk_bool_t id_access_slow
duk_bool_t may_direct_eval
duk_bool_t in_directive_prologue
duk_hobject * h_labelnames
duk_bool_t id_access_arguments
duk_hbuffer_dynamic * h_labelinfos
duk_bufwriter_ctx bw_code
duk_bool_t reject_regexp_in_adv
duk_bool_t is_arguments_shadowed