19#define DUK__MKBITS(a,b,c,d,e,f,g,h) ((duk_uint8_t) ( \
20 ((a) << 0) | ((b) << 1) | ((c) << 2) | ((d) << 3) | \
21 ((e) << 4) | ((f) << 5) | ((g) << 6) | ((h) << 7) \
23#define DUK__CHECK_BITMASK(table,cp) ((table)[(cp) >> 3] & (1 << ((cp) & 0x07)))
27 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
28 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
29 DUK__MKBITS(0, 1, 0, 1, 1, 0, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
30 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 0, 1, 0, 1),
31 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
32 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 0, 1),
33 DUK__MKBITS(0, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
34 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 1, 0),
39 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
40 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
41 DUK__MKBITS(0, 1, 0, 0, 0, 0, 0, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 1, 1, 0),
42 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 0, 0, 0, 0, 0, 0),
43 DUK__MKBITS(0, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
44 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 0, 1),
45 DUK__MKBITS(0, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
46 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 1, 0),
51 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
52 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
53 DUK__MKBITS(0, 0, 0, 1, 1, 0, 1, 0),
DUK__MKBITS(0, 0, 0, 1, 1, 0, 0, 1),
54 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 1, 1, 0, 1, 0, 1),
55 DUK__MKBITS(1, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
56 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
57 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
58 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
63 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
64 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
65 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
66 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
67 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
68 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
69 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
70 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
73#ifdef DUK_USE_SECTION_B
76 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
77 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
78 DUK__MKBITS(0, 0, 0, 0, 0, 0, 0, 0),
DUK__MKBITS(0, 0, 1, 1, 0, 1, 1, 1),
79 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 0, 0, 0, 0, 0, 0),
80 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
81 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 0, 1),
82 DUK__MKBITS(0, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
83 DUK__MKBITS(1, 1, 1, 1, 1, 1, 1, 1),
DUK__MKBITS(1, 1, 1, 0, 0, 0, 0, 0)
94 const duk_uint8_t *p_start;
95 const duk_uint8_t *p_end;
135 while (tfm_ctx->
p < tfm_ctx->
p_end) {
137 callback(tfm_ctx, udata, cp);
151 const duk_uint8_t *unescaped_table = (
const duk_uint8_t *) udata;
164 }
else if (cp >= 0xdc00L && cp <= 0xdfffL) {
166 }
else if (cp >= 0xd800L && cp <= 0xdbffL) {
171 if (!(cp2 >= 0xdc00L && cp2 <= 0xdfffL)) {
175 cp = ((cp1 - 0xd800L) << 10) + (cp2 - 0xdc00L) + 0x10000L;
176 }
else if (cp > 0x10ffffL) {
193 for (i = 0; i < len; i++) {
194 t = (int) xutf8_buf[i];
209 const duk_uint8_t *reserved_table = (
const duk_uint8_t *) udata;
224 const duk_uint8_t *p = tfm_ctx->
p;
268 }
else if (t < 0xe0) {
273 }
else if (t < 0xf0) {
278 }
else if (t < 0xf8) {
288 if (
left < utf8_blen * 3 - 1) {
294 for (i = 1; i < utf8_blen; i++) {
298 (
long) i, (
long) utf8_blen, (
long) cp, (
unsigned long) t));
302 if ((t & 0xc0) != 0x80) {
305 cp = (cp << 6) + (t & 0x3f);
313 if (cp < min_cp || cp > 0x10ffffL || (cp >= 0xd800L && cp <= 0xdfffL)) {
328 if (cp >= 0x10000L) {
346#ifdef DUK_USE_SECTION_B
356 }
else if (cp < 0x100L) {
362 }
else if (cp < 0x10000L) {
392 const duk_uint8_t *p = tfm_ctx->
p;
395 if (
left >= 5 && p[0] ==
'u' &&
399 }
else if (
left >= 2 &&
452#if defined(DUK_USE_DEBUGGER_SUPPORT)
520 "var_env and lex_env to a fresh env, "
521 "this_binding to caller's this_binding"));
536 outer_lex_env = new_env;
537 outer_var_env = new_env;
545 "var_env and lex_env to caller's envs, "
546 "this_binding to caller's this_binding"));
556 "global object, this_binding to global object"));
569 if (this_to_global) {
623 if (radix < 2 || radix > 36) {
627 s2n_flags &= ~DUK_S2N_FLAG_ALLOW_AUTO_HEX_INT;
703#ifdef DUK_USE_SECTION_B
723#if defined(DUK_USE_BROWSER_LIKE) && (defined(DUK_USE_FILE_IO) || defined(DUK_USE_DEBUGGER_SUPPORT))
728 const duk_uint8_t *buf;
731#ifndef DUK_USE_PREFER_SIZE
732 duk_uint8_t buf_stack[256];
734#ifdef DUK_USE_FILE_IO
756 }
else if (nargs > 0) {
757#ifdef DUK_USE_PREFER_SIZE
770 const duk_uint8_t *p_str;
774 for (i = 0; i < nargs; i++) {
779 if (sz_buf <=
sizeof(buf_stack)) {
780 p = (duk_uint8_t *) buf_stack;
786 buf = (
const duk_uint8_t *) p;
787 for (i = 0; i < nargs; i++) {
790 DUK_MEMCPY((
void *) p, (
const void *) p_str, sz_str);
794 DUK_ASSERT((
const duk_uint8_t *) p == buf + sz_buf);
797 buf = (
const duk_uint8_t *) &nl;
810#ifdef DUK_USE_FILE_IO
812 DUK_FWRITE((
const void *) buf, 1, (
size_t) sz_buf, f_out);
816#if defined(DUK_USE_DEBUGGER_SUPPORT) && defined(DUK_USE_DEBUGGER_FWD_PRINTALERT)
817 if (DUK_HEAP_IS_DEBUGGER_ATTACHED(thr->
heap)) {
819 duk_debug_write_string(thr, (
const char *) buf, sz_buf);
820 duk_debug_write_eom(thr);
825#elif defined(DUK_USE_BROWSER_LIKE)
841#if defined(DUK_USE_COMMONJS_MODULES)
882 if (mod_id !=
NULL && req_id[0] ==
'.') {
883 int_rc =
DUK_SNPRINTF((
char *) buf,
sizeof(buf),
"%s/../%s", mod_id, req_id);
885 int_rc =
DUK_SNPRINTF((
char *) buf,
sizeof(buf),
"%s", req_id);
887 if (int_rc >= (
duk_int_t)
sizeof(buf) || int_rc < 0) {
891 DUK_DD(
DUK_DDPRINT(
"resolve error: temporary working module ID doesn't fit into resolve buffer"));
918 (
const char *) p, (
void *) q, (
void *) buf));
924 DUK_DD(
DUK_DDPRINT(
"resolve error: requested ID must end with a non-empty term"));
930 goto eat_dup_slashes;
932 if (c ==
'.' && *p ==
'/') {
951 if (*(q - 1) ==
'/') {
956 goto eat_dup_slashes;
958 DUK_DD(
DUK_DDPRINT(
"resolve error: term begins with '.' but is not '.' or '..' (not allowed now)"));
1004 (
void *) buf, (
void *) q_last, (
void *) q));
1012#if defined(DUK_USE_COMMONJS_MODULES)
1014#define DUK__IDX_REQUESTED_ID 0
1015#define DUK__IDX_REQUIRE 1
1016#define DUK__IDX_REQUIRE_ID 2
1017#define DUK__IDX_RESOLVED_ID 3
1018#define DUK__IDX_LASTCOMP 4
1019#define DUK__IDX_DUKTAPE 5
1020#define DUK__IDX_MODLOADED 6
1021#define DUK__IDX_UNDEFINED 7
1022#define DUK__IDX_FRESH_REQUIRE 8
1023#define DUK__IDX_EXPORTS 9
1024#define DUK__IDX_MODULE 10
1027 const char *str_req_id;
1028 const char *str_mod_id;
1051 DUK_DDD(
DUK_DDDPRINT(
"resolved module id: requested=%!T, currentmodule=%!T, result=%!T, lastcomp=%!T",
1096 DUK_D(
DUK_DPRINT(
"loading module %!T, resolution base %!T, requested ID %!T -> resolved ID %!T, last component %!T",
1176 goto delete_rethrow;
1187 goto return_exports;
1252 goto delete_rethrow;
1272#undef DUK__IDX_REQUESTED_ID
1273#undef DUK__IDX_REQUIRE
1274#undef DUK__IDX_REQUIRE_ID
1275#undef DUK__IDX_RESOLVED_ID
1276#undef DUK__IDX_LASTCOMP
1277#undef DUK__IDX_DUKTAPE
1278#undef DUK__IDX_MODLOADED
1279#undef DUK__IDX_UNDEFINED
1280#undef DUK__IDX_FRESH_REQUIRE
1281#undef DUK__IDX_EXPORTS
1282#undef DUK__IDX_MODULE
unsigned int duk_small_uint_t
duk_uint_t duk_ucodepoint_t
duk_small_int_t duk_ret_t
duk_uint8_t duk_uint_fast8_t
duk_int_t duk_codepoint_t
duk_int_fast32_t duk_int_t
duk_small_int_t duk_bool_t
DUK_EXTERNAL void duk_concat(duk_context *ctx, duk_idx_t count)
DUK_INTERNAL_DECL void duk_js_init_activation_environment_records_delayed(duk_hthread *thr, duk_activation *act)
DUK_EXTERNAL void duk_def_prop(duk_context *ctx, duk_idx_t obj_index, duk_uint_t flags)
#define DUK_UNICODE_MAX_CESU8_BMP_LENGTH
DUK_INTERNAL_DECL duk_hstring * duk_to_hstring(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL const char * duk_push_string(duk_context *ctx, const char *str)
DUK_EXTERNAL const char * duk_get_lstring(duk_context *ctx, duk_idx_t index, duk_size_t *out_len)
#define DUK_HSTRING_GET_DATA(x)
DUK_INTERNAL_DECL duk_idx_t duk_push_object_helper_proto(duk_context *ctx, duk_uint_t hobject_flags_and_class, duk_hobject *proto)
DUK_EXTERNAL void duk_throw(duk_context *ctx)
#define DUK_S2N_FLAG_ALLOW_FRAC
DUK_INTERNAL_DECL duk_hobject * duk_require_hobject(duk_context *ctx, duk_idx_t index)
#define DUK_ERROR_TYPE(thr, msg)
DUK_INTERNAL_DECL duk_bool_t duk_get_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
#define DUK_STRIDX_MOD_LOADED
#define DUK_JS_COMPILE_FLAG_EVAL
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_encode_xutf8(duk_ucodepoint_t cp, duk_uint8_t *out)
#define DUK_BW_WRITE_RAW_U8_3(thr, bw_ctx, val1, val2, val3)
DUK_EXTERNAL void duk_compact(duk_context *ctx, duk_idx_t obj_index)
DUK_EXTERNAL void duk_push_boolean(duk_context *ctx, duk_bool_t val)
#define DUK_S2N_FLAG_ALLOW_MINUS
#define DUK_S2N_FLAG_ALLOW_EMPTY_FRAC
#define DUK_BW_COMPACT(thr, bw_ctx)
#define DUK_DBG_CMD_PRINT
#define DUK_HOBJECT_IS_COMPILEDFUNCTION(h)
DUK_INTERNAL_DECL void duk_js_push_closure(duk_hthread *thr, duk_hcompiledfunction *fun_temp, duk_hobject *outer_var_env, duk_hobject *outer_lex_env, duk_bool_t add_auto_proto)
#define DUK_BW_ENSURE(thr, bw_ctx, sz)
#define DUK_DBG_CMD_ALERT
#define DUK_PROPDESC_FLAGS_NONE
DUK_INTERNAL_DECL void duk_push_hstring_stridx(duk_context *ctx, duk_small_int_t stridx)
DUK_EXTERNAL void * duk_get_buffer(duk_context *ctx, duk_idx_t index, duk_size_t *out_size)
#define DUK_BI_COMMONJS_MODULE_ID_LIMIT
DUK_INTERNAL const duk_uint8_t duk_uc_nybbles[16]
DUK_EXTERNAL const char * duk_to_lstring(duk_context *ctx, duk_idx_t index, duk_size_t *out_len)
DUK_EXTERNAL const char * duk_push_lstring(duk_context *ctx, const char *str, duk_size_t len)
#define DUK_BW_WRITE_RAW_U8_6(thr, bw_ctx, val1, val2, val3, val4, val5, val6)
#define DUK_ACT_FLAG_STRICT
#define DUK_PROPDESC_FLAGS_C
DUK_EXTERNAL duk_idx_t duk_push_c_function(duk_context *ctx, duk_c_function func, duk_int_t nargs)
DUK_EXTERNAL duk_int_t duk_get_int(duk_context *ctx, duk_idx_t index)
#define DUK_HOBJECT_CLASS_AS_FLAGS(v)
DUK_EXTERNAL void duk_push_current_function(duk_context *ctx)
#define DUK_S2N_FLAG_ALLOW_NAKED_FRAC
DUK_EXTERNAL duk_double_t duk_to_number(duk_context *ctx, duk_idx_t index)
#define DUK_ACT_FLAG_DIRECT_EVAL
DUK_EXTERNAL duk_bool_t duk_is_number(duk_context *ctx, duk_idx_t index)
#define DUK_BIDX_GLOBAL_ENV
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_INTERNAL_DECL void duk_push_hobject_bidx(duk_context *ctx, duk_small_int_t builtin_idx)
DUK_EXTERNAL const char * duk_get_string(duk_context *ctx, duk_idx_t index)
#define DUK_STRIDX_EXPORTS
#define DUK_S2N_FLAG_ALLOW_AUTO_HEX_INT
DUK_EXTERNAL duk_bool_t duk_del_prop(duk_context *ctx, duk_idx_t obj_index)
#define DUK_BW_WRITE_RAW_U8(thr, bw_ctx, val)
#define DUK_HSTRING_GET_BYTELEN(x)
DUK_EXTERNAL duk_idx_t duk_push_object(duk_context *ctx)
DUK_EXTERNAL void duk_dup(duk_context *ctx, duk_idx_t from_index)
DUK_INTERNAL const duk_int8_t duk_hex_dectab[256]
DUK_EXTERNAL void duk_insert(duk_context *ctx, duk_idx_t to_index)
#define DUK_STRIDX_MOD_SEARCH
DUK_EXTERNAL duk_idx_t duk_get_top(duk_context *ctx)
DUK_EXTERNAL duk_int_t duk_pcall_method(duk_context *ctx, duk_idx_t nargs)
DUK_INTERNAL_DECL void duk_push_tval(duk_context *ctx, duk_tval *tv)
#define DUK_HOBJECT_CLASS_DECENV
#define DUK_BW_INIT_PUSHBUF(thr, bw_ctx, sz)
DUK_EXTERNAL duk_bool_t duk_is_buffer(duk_context *ctx, duk_idx_t index)
#define DUK_STRIDX_REQUIRE
DUK_EXTERNAL void duk_call_method(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL duk_int32_t duk_to_int32(duk_context *ctx, duk_idx_t index)
#define DUK_S2N_FLAG_ALLOW_PLUS
#define DUK_PROPDESC_FLAGS_WC
DUK_EXTERNAL duk_bool_t duk_get_prop(duk_context *ctx, duk_idx_t obj_index)
#define DUK_ASSERT_TOP(ctx, n)
#define DUK_BW_WRITE_RAW_XUTF8(thr, bw_ctx, cp)
#define DUK_JS_COMPILE_FLAG_STRICT
#define DUK_HOBJECT_FLAG_EXTENSIBLE
#define DUK_HOBJECT_HAS_NEWENV(h)
DUK_EXTERNAL const char * duk_to_string(duk_context *ctx, duk_idx_t index)
#define DUK_S2N_FLAG_ALLOW_INF
DUK_EXTERNAL void duk_pop(duk_context *ctx)
DUK_INTERNAL_DECL duk_hobject * duk_get_hobject(duk_context *ctx, duk_idx_t index)
DUK_INTERNAL_DECL void duk_numconv_parse(duk_context *ctx, duk_small_int_t radix, duk_small_uint_t flags)
#define DUK_STRIDX_FILENAME
DUK_EXTERNAL duk_int_t duk_get_current_magic(duk_context *ctx)
DUK_EXTERNAL void duk_push_nan(duk_context *ctx)
DUK_INTERNAL_DECL void duk_xdef_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx, duk_small_uint_t desc_flags)
DUK_INTERNAL_DECL duk_hstring * duk_get_hstring(duk_context *ctx, duk_idx_t index)
#define DUK_ERROR(thr, err, msg)
#define DUK_S2N_FLAG_TRIM_WHITE
DUK_EXTERNAL duk_bool_t duk_is_string(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL duk_int_t duk_eval_raw(duk_context *ctx, const char *src_buffer, duk_size_t src_length, duk_uint_t flags)
#define DUK_S2N_FLAG_ALLOW_LEADING_ZERO
DUK_EXTERNAL const char * duk_require_string(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL duk_int_t duk_pcall(duk_context *ctx, duk_idx_t nargs)
#define DUK_HOBJECT_HAS_STRICT(h)
#define DUK_S2N_FLAG_ALLOW_EXP
DUK_INTERNAL_DECL duk_ucodepoint_t duk_unicode_decode_xutf8_checked(duk_hthread *thr, const duk_uint8_t **ptr, const duk_uint8_t *ptr_start, const duk_uint8_t *ptr_end)
#define DUK_ERROR_FMT1(thr, err, fmt, arg1)
#define DUK_UNICODE_MAX_XUTF8_LENGTH
DUK_INTERNAL_DECL duk_small_int_t duk_unicode_decode_xutf8(duk_hthread *thr, const duk_uint8_t **ptr, const duk_uint8_t *ptr_start, const duk_uint8_t *ptr_end, duk_ucodepoint_t *out_cp)
DUK_EXTERNAL duk_bool_t duk_put_prop(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL void duk_join(duk_context *ctx, duk_idx_t count)
#define DUK_BW_WRITE_ENSURE_XUTF8(thr, bw_ctx, cp)
#define DUK_S2N_FLAG_ALLOW_GARBAGE
DUK_INTERNAL_DECL duk_tval * duk_get_tval(duk_context *ctx, duk_idx_t index)
#define DUK_ERR_TYPE_ERROR
#define duk_push_fixed_buffer(ctx, size)
#define DUK_DEFPROP_HAVE_VALUE
#define DUK_DEFPROP_FORCE
#define DUK_ERR_URI_ERROR
#define DUK_RET_UNSUPPORTED_ERROR
DUK_LOCAL void duk__transform_callback_encode_uri(duk__transform_context *tfm_ctx, const void *udata, duk_codepoint_t cp)
DUK_LOCAL duk_small_int_t duk__decode_hex_escape(const duk_uint8_t *p, duk_small_int_t n)
#define DUK__MKBITS(a, b, c, d, e, f, g, h)
void(* duk__transform_callback)(duk__transform_context *tfm_ctx, const void *udata, duk_codepoint_t cp)
DUK_LOCAL const duk_uint8_t duk__decode_uri_component_reserved_table[16]
#define DUK__IDX_UNDEFINED
DUK_INTERNAL duk_ret_t duk_bi_global_object_is_finite(duk_context *ctx)
DUK_LOCAL const duk_uint8_t duk__decode_uri_reserved_table[16]
DUK_INTERNAL duk_ret_t duk_bi_global_object_encode_uri_component(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_global_object_unescape(duk_context *ctx)
#define DUK__IDX_REQUIRE_ID
DUK_INTERNAL duk_ret_t duk_bi_global_object_require(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_global_object_parse_int(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_global_object_parse_float(duk_context *ctx)
DUK_LOCAL void duk__transform_callback_decode_uri(duk__transform_context *tfm_ctx, const void *udata, duk_codepoint_t cp)
#define DUK__IDX_REQUESTED_ID
DUK_LOCAL void duk__transform_callback_escape(duk__transform_context *tfm_ctx, const void *udata, duk_codepoint_t cp)
DUK_LOCAL const duk_uint8_t duk__encode_uricomponent_unescaped_table[16]
DUK_INTERNAL duk_ret_t duk_bi_global_object_decode_uri_component(duk_context *ctx)
DUK_LOCAL void duk__bi_global_resolve_module_id(duk_context *ctx, const char *req_id, const char *mod_id)
DUK_LOCAL const duk_uint8_t duk__escape_unescaped_table[16]
#define DUK__CHECK_BITMASK(table, cp)
#define DUK__IDX_FRESH_REQUIRE
#define DUK__IDX_LASTCOMP
#define DUK__IDX_MODLOADED
DUK_INTERNAL duk_ret_t duk_bi_global_object_encode_uri(duk_context *ctx)
DUK_LOCAL int duk__transform_helper(duk_context *ctx, duk__transform_callback callback, const void *udata)
DUK_INTERNAL duk_ret_t duk_bi_global_object_escape(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_global_object_print_helper(duk_context *ctx)
#define DUK__IDX_RESOLVED_ID
DUK_INTERNAL duk_ret_t duk_bi_global_object_decode_uri(duk_context *ctx)
DUK_LOCAL const duk_uint8_t duk__encode_uriunescaped_table[16]
DUK_INTERNAL duk_ret_t duk_bi_global_object_eval(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_global_object_is_nan(duk_context *ctx)
DUK_LOCAL void duk__transform_callback_unescape(duk__transform_context *tfm_ctx, const void *udata, duk_codepoint_t cp)
const duk_uint8_t * p_start
const duk_uint8_t * p_end
duk_hobject * builtins[DUK_NUM_BUILTINS]
duk_activation * callstack