diff options
Diffstat (limited to 'javascript/duktape/duktape.c')
-rw-r--r-- | javascript/duktape/duktape.c | 18263 |
1 files changed, 8321 insertions, 9942 deletions
diff --git a/javascript/duktape/duktape.c b/javascript/duktape/duktape.c index a215d13dc..e5446cc31 100644 --- a/javascript/duktape/duktape.c +++ b/javascript/duktape/duktape.c @@ -1,9 +1,7 @@ -/* Omit from static analysis. */ -#ifndef __clang_analyzer__ /* - * Single source autogenerated distributable for Duktape 1.4.0. + * Single source autogenerated distributable for Duktape 1.5.0. * - * Git commit cad6f595382a0cc1a7e4207794ade5be11b3e397 (v1.4.0). + * Git commit 83d557704ee63f68ab40b6fcb00995c9b3d6777c (v1.5.0). * Git branch master. * * See Duktape AUTHORS.rst and LICENSE.txt for copyright and @@ -69,6 +67,8 @@ * * Karl Skomski <karl@skomski.com> * * Bruce Pascoe <fatcerberus1@gmail.com> * * Ren\u00e9 Hollander <rene@rene8888.at> +* * Julien Hamaide (https://github.com/crazyjul) +* * Sebastian G\u00f6tte (https://github.com/jaseg) * * Other contributions * =================== @@ -106,6 +106,7 @@ * * Michael Drake (https://github.com/tlsa) * * https://github.com/chris-y * * Laurent Zubiaur (https://github.com/lzubiaur) +* * Ole Andr\u00e9 Vadla Ravn\u00e5s (https://github.com/oleavr) * * If you are accidentally missing from this list, send me an e-mail * (``sami.vaarala@iki.fi``) and I'll fix the omission. @@ -160,33 +161,29 @@ DUK_USE_USER_DECLARE() #ifndef DUK_REPLACEMENTS_H_INCLUDED #define DUK_REPLACEMENTS_H_INCLUDED +#if !defined(DUK_SINGLE_FILE) #if defined(DUK_USE_COMPUTED_INFINITY) DUK_INTERNAL_DECL double duk_computed_infinity; #endif - #if defined(DUK_USE_COMPUTED_NAN) DUK_INTERNAL_DECL double duk_computed_nan; #endif - #if defined(DUK_USE_REPL_FPCLASSIFY) DUK_INTERNAL_DECL int duk_repl_fpclassify(double x); #endif - #if defined(DUK_USE_REPL_SIGNBIT) DUK_INTERNAL_DECL int duk_repl_signbit(double x); #endif - #if defined(DUK_USE_REPL_ISFINITE) DUK_INTERNAL_DECL int duk_repl_isfinite(double x); #endif - #if defined(DUK_USE_REPL_ISNAN) DUK_INTERNAL_DECL int duk_repl_isnan(double x); #endif - #if defined(DUK_USE_REPL_ISINF) DUK_INTERNAL_DECL int duk_repl_isinf(double x); #endif +#endif /* !DUK_SINGLE_FILE */ #endif /* DUK_REPLACEMENTS_H_INCLUDED */ #line 1 "duk_jmpbuf.h" @@ -203,15 +200,13 @@ DUK_INTERNAL_DECL int duk_repl_isinf(double x); #ifndef DUK_JMPBUF_H_INCLUDED #define DUK_JMPBUF_H_INCLUDED -#if !defined(DUK_USE_CPP_EXCEPTIONS) +#if defined(DUK_USE_CPP_EXCEPTIONS) struct duk_jmpbuf { -#if defined(DUK_USE_SETJMP) || defined(DUK_USE_UNDERSCORE_SETJMP) - jmp_buf jb; -#elif defined(DUK_USE_SIGSETJMP) - sigjmp_buf jb; + duk_small_int_t dummy; /* unused */ +}; #else -#error internal error, no long control transfer provider -#endif +struct duk_jmpbuf { + DUK_JMPBUF_TYPE jb; }; #endif @@ -358,6 +353,525 @@ typedef struct duk_re_matcher_ctx duk_re_matcher_ctx; typedef struct duk_re_compiler_ctx duk_re_compiler_ctx; #endif /* DUK_FORWDECL_H_INCLUDED */ +#line 1 "duk_tval.h" +/* + * Tagged type definition (duk_tval) and accessor macros. + * + * Access all fields through the accessor macros, as the representation + * is quite tricky. + * + * There are two packed type alternatives: an 8-byte representation + * based on an IEEE double (preferred for compactness), and a 12-byte + * representation (portability). The latter is needed also in e.g. + * 64-bit environments (it usually pads to 16 bytes per value). + * + * Selecting the tagged type format involves many trade-offs (memory + * use, size and performance of generated code, portability, etc), + * see doc/types.rst for a detailed discussion (especially of how the + * IEEE double format is used to pack tagged values). + * + * NB: because macro arguments are often expressions, macros should + * avoid evaluating their argument more than once. + */ + +#ifndef DUK_TVAL_H_INCLUDED +#define DUK_TVAL_H_INCLUDED + +/* sanity */ +#if !defined(DUK_USE_DOUBLE_LE) && !defined(DUK_USE_DOUBLE_ME) && !defined(DUK_USE_DOUBLE_BE) +#error unsupported: cannot determine byte order variant +#endif + +#if defined(DUK_USE_PACKED_TVAL) +/* ======================================================================== */ + +/* + * Packed 8-byte representation + */ + +/* use duk_double_union as duk_tval directly */ +typedef union duk_double_union duk_tval; + +/* tags */ +#define DUK_TAG_NORMALIZED_NAN 0x7ff8UL /* the NaN variant we use */ +/* avoid tag 0xfff0, no risk of confusion with negative infinity */ +#if defined(DUK_USE_FASTINT) +#define DUK_TAG_FASTINT 0xfff1UL /* embed: integer value */ +#endif +#define DUK_TAG_UNUSED 0xfff2UL /* marker; not actual tagged value */ +#define DUK_TAG_UNDEFINED 0xfff3UL /* embed: nothing */ +#define DUK_TAG_NULL 0xfff4UL /* embed: nothing */ +#define DUK_TAG_BOOLEAN 0xfff5UL /* embed: 0 or 1 (false or true) */ +/* DUK_TAG_NUMBER would logically go here, but it has multiple 'tags' */ +#define DUK_TAG_POINTER 0xfff6UL /* embed: void ptr */ +#define DUK_TAG_LIGHTFUNC 0xfff7UL /* embed: func ptr */ +#define DUK_TAG_STRING 0xfff8UL /* embed: duk_hstring ptr */ +#define DUK_TAG_OBJECT 0xfff9UL /* embed: duk_hobject ptr */ +#define DUK_TAG_BUFFER 0xfffaUL /* embed: duk_hbuffer ptr */ + +/* for convenience */ +#define DUK_XTAG_BOOLEAN_FALSE 0xfff50000UL +#define DUK_XTAG_BOOLEAN_TRUE 0xfff50001UL + +/* two casts to avoid gcc warning: "warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]" */ +#if defined(DUK_USE_64BIT_OPS) +#if defined(DUK_USE_DOUBLE_ME) +#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) (tag)) << 16) | (((duk_uint64_t) (duk_uint32_t) (h)) << 32); \ + } while (0) +#else +#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) (tag)) << 48) | ((duk_uint64_t) (duk_uint32_t) (h)); \ + } while (0) +#endif +#else /* DUK_USE_64BIT_OPS */ +#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ + (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) (tag)) << 16; \ + (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (h); \ + } while (0) +#endif /* DUK_USE_64BIT_OPS */ + +#if defined(DUK_USE_64BIT_OPS) +/* Double casting for pointer to avoid gcc warning (cast from pointer to integer of different size) */ +#if defined(DUK_USE_DOUBLE_ME) +#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_LIGHTFUNC) << 16) | \ + ((duk_uint64_t) (flags)) | \ + (((duk_uint64_t) (duk_uint32_t) (fp)) << 32); \ + } while (0) +#else +#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_LIGHTFUNC) << 48) | \ + (((duk_uint64_t) (flags)) << 32) | \ + ((duk_uint64_t) (duk_uint32_t) (fp)); \ + } while (0) +#endif +#else /* DUK_USE_64BIT_OPS */ +#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ + (v)->ui[DUK_DBL_IDX_UI0] = (((duk_uint32_t) DUK_TAG_LIGHTFUNC) << 16) | ((duk_uint32_t) (flags)); \ + (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (fp); \ + } while (0) +#endif /* DUK_USE_64BIT_OPS */ + +#if defined(DUK_USE_FASTINT) +/* Note: masking is done for 'i' to deal with negative numbers correctly */ +#if defined(DUK_USE_DOUBLE_ME) +#define DUK__TVAL_SET_FASTINT(v,i) do { \ + (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) DUK_TAG_FASTINT) << 16 | (((duk_uint32_t) ((i) >> 32)) & 0x0000ffffUL); \ + (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (i); \ + } while (0) +#define DUK__TVAL_SET_FASTINT_U32(v,i) do { \ + (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) DUK_TAG_FASTINT) << 16; \ + (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (i); \ + } while (0) +#else +#define DUK__TVAL_SET_FASTINT(v,i) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_FASTINT) << 48) | (((duk_uint64_t) (i)) & 0x0000ffffffffffffULL); \ + } while (0) +#define DUK__TVAL_SET_FASTINT_U32(v,i) do { \ + (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_FASTINT) << 48) | (duk_uint64_t) (i); \ + } while (0) +#endif + +#define DUK__TVAL_SET_FASTINT_I32(v,i) do { \ + duk_int64_t duk__tmp = (duk_int64_t) (i); \ + DUK_TVAL_SET_FASTINT((v), duk__tmp); \ + } while (0) + +/* XXX: clumsy sign extend and masking of 16 topmost bits */ +#if defined(DUK_USE_DOUBLE_ME) +#define DUK__TVAL_GET_FASTINT(v) (((duk_int64_t) ((((duk_uint64_t) (v)->ui[DUK_DBL_IDX_UI0]) << 32) | ((duk_uint64_t) (v)->ui[DUK_DBL_IDX_UI1]))) << 16 >> 16) +#else +#define DUK__TVAL_GET_FASTINT(v) ((((duk_int64_t) (v)->ull[DUK_DBL_IDX_ULL0]) << 16) >> 16) +#endif +#define DUK__TVAL_GET_FASTINT_U32(v) ((v)->ui[DUK_DBL_IDX_UI1]) +#define DUK__TVAL_GET_FASTINT_I32(v) ((duk_int32_t) (v)->ui[DUK_DBL_IDX_UI1]) +#endif /* DUK_USE_FASTINT */ + +#define DUK_TVAL_SET_UNDEFINED(v) do { \ + (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_UNDEFINED; \ + } while (0) +#define DUK_TVAL_SET_UNUSED(v) do { \ + (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_UNUSED; \ + } while (0) +#define DUK_TVAL_SET_NULL(v) do { \ + (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_NULL; \ + } while (0) + +#define DUK_TVAL_SET_BOOLEAN(v,val) DUK_DBLUNION_SET_HIGH32((v), (((duk_uint32_t) DUK_TAG_BOOLEAN) << 16) | ((duk_uint32_t) (val))) + +#define DUK_TVAL_SET_NAN(v) DUK_DBLUNION_SET_NAN_FULL((v)) + +/* Assumes that caller has normalized NaNs, otherwise trouble ahead. */ +#if defined(DUK_USE_FASTINT) +#define DUK_TVAL_SET_DOUBLE(v,d) do { \ + duk_double_t duk__dblval; \ + duk__dblval = (d); \ + DUK_ASSERT_DOUBLE_IS_NORMALIZED(duk__dblval); \ + DUK_DBLUNION_SET_DOUBLE((v), duk__dblval); \ + } while (0) +#define DUK_TVAL_SET_FASTINT(v,i) DUK__TVAL_SET_FASTINT((v), (i)) +#define DUK_TVAL_SET_FASTINT_I32(v,i) DUK__TVAL_SET_FASTINT_I32((v), (i)) +#define DUK_TVAL_SET_FASTINT_U32(v,i) DUK__TVAL_SET_FASTINT_U32((v), (i)) +#define DUK_TVAL_SET_NUMBER_CHKFAST(v,d) duk_tval_set_number_chkfast((v), (d)) +#define DUK_TVAL_SET_NUMBER(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) +#define DUK_TVAL_CHKFAST_INPLACE(v) do { \ + duk_tval *duk__tv; \ + duk_double_t duk__d; \ + duk__tv = (v); \ + if (DUK_TVAL_IS_DOUBLE(duk__tv)) { \ + duk__d = DUK_TVAL_GET_DOUBLE(duk__tv); \ + DUK_TVAL_SET_NUMBER_CHKFAST(duk__tv, duk__d); \ + } \ + } while (0) +#else +#define DUK_TVAL_SET_DOUBLE(v,d) do { \ + duk_double_t duk__dblval; \ + duk__dblval = (d); \ + DUK_ASSERT_DOUBLE_IS_NORMALIZED(duk__dblval); \ + DUK_DBLUNION_SET_DOUBLE((v), duk__dblval); \ + } while (0) +#define DUK_TVAL_SET_FASTINT(v,i) DUK_TVAL_SET_DOUBLE((v), (duk_double_t) (i)) /* XXX: fast int-to-double */ +#define DUK_TVAL_SET_FASTINT_I32(v,i) DUK_TVAL_SET_DOUBLE((v), (duk_double_t) (i)) +#define DUK_TVAL_SET_FASTINT_U32(v,i) DUK_TVAL_SET_DOUBLE((v), (duk_double_t) (i)) +#define DUK_TVAL_SET_NUMBER_CHKFAST(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) +#define DUK_TVAL_SET_NUMBER(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) +#define DUK_TVAL_CHKFAST_INPLACE(v) do { } while (0) +#endif + +#define DUK_TVAL_SET_LIGHTFUNC(v,fp,flags) DUK__TVAL_SET_LIGHTFUNC((v), (fp), (flags)) +#define DUK_TVAL_SET_STRING(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_STRING) +#define DUK_TVAL_SET_OBJECT(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_OBJECT) +#define DUK_TVAL_SET_BUFFER(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_BUFFER) +#define DUK_TVAL_SET_POINTER(v,p) DUK__TVAL_SET_TAGGEDPOINTER((v), (p), DUK_TAG_POINTER) + +#define DUK_TVAL_SET_TVAL(v,x) do { *(v) = *(x); } while (0) + +/* getters */ +#define DUK_TVAL_GET_BOOLEAN(v) ((int) (v)->us[DUK_DBL_IDX_US1]) +#if defined(DUK_USE_FASTINT) +#define DUK_TVAL_GET_DOUBLE(v) ((v)->d) +#define DUK_TVAL_GET_FASTINT(v) DUK__TVAL_GET_FASTINT((v)) +#define DUK_TVAL_GET_FASTINT_U32(v) DUK__TVAL_GET_FASTINT_U32((v)) +#define DUK_TVAL_GET_FASTINT_I32(v) DUK__TVAL_GET_FASTINT_I32((v)) +#define DUK_TVAL_GET_NUMBER(v) duk_tval_get_number_packed((v)) +#else +#define DUK_TVAL_GET_NUMBER(v) ((v)->d) +#define DUK_TVAL_GET_DOUBLE(v) ((v)->d) +#endif +#define DUK_TVAL_GET_LIGHTFUNC(v,out_fp,out_flags) do { \ + (out_flags) = (v)->ui[DUK_DBL_IDX_UI0] & 0xffffUL; \ + (out_fp) = (duk_c_function) (v)->ui[DUK_DBL_IDX_UI1]; \ + } while (0) +#define DUK_TVAL_GET_LIGHTFUNC_FUNCPTR(v) ((duk_c_function) ((v)->ui[DUK_DBL_IDX_UI1])) +#define DUK_TVAL_GET_LIGHTFUNC_FLAGS(v) (((int) (v)->ui[DUK_DBL_IDX_UI0]) & 0xffffUL) +#define DUK_TVAL_GET_STRING(v) ((duk_hstring *) (v)->vp[DUK_DBL_IDX_VP1]) +#define DUK_TVAL_GET_OBJECT(v) ((duk_hobject *) (v)->vp[DUK_DBL_IDX_VP1]) +#define DUK_TVAL_GET_BUFFER(v) ((duk_hbuffer *) (v)->vp[DUK_DBL_IDX_VP1]) +#define DUK_TVAL_GET_POINTER(v) ((void *) (v)->vp[DUK_DBL_IDX_VP1]) +#define DUK_TVAL_GET_HEAPHDR(v) ((duk_heaphdr *) (v)->vp[DUK_DBL_IDX_VP1]) + +/* decoding */ +#define DUK_TVAL_GET_TAG(v) ((duk_small_uint_t) (v)->us[DUK_DBL_IDX_US0]) + +#define DUK_TVAL_IS_UNDEFINED(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_UNDEFINED) +#define DUK_TVAL_IS_UNUSED(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_UNUSED) +#define DUK_TVAL_IS_NULL(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_NULL) +#define DUK_TVAL_IS_BOOLEAN(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_BOOLEAN) +#define DUK_TVAL_IS_BOOLEAN_TRUE(v) ((v)->ui[DUK_DBL_IDX_UI0] == DUK_XTAG_BOOLEAN_TRUE) +#define DUK_TVAL_IS_BOOLEAN_FALSE(v) ((v)->ui[DUK_DBL_IDX_UI0] == DUK_XTAG_BOOLEAN_FALSE) +#define DUK_TVAL_IS_LIGHTFUNC(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_LIGHTFUNC) +#define DUK_TVAL_IS_STRING(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_STRING) +#define DUK_TVAL_IS_OBJECT(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_OBJECT) +#define DUK_TVAL_IS_BUFFER(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_BUFFER) +#define DUK_TVAL_IS_POINTER(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_POINTER) +#if defined(DUK_USE_FASTINT) +/* 0xfff0 is -Infinity */ +#define DUK_TVAL_IS_DOUBLE(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff0UL) +#define DUK_TVAL_IS_FASTINT(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_FASTINT) +#define DUK_TVAL_IS_NUMBER(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff1UL) +#else +#define DUK_TVAL_IS_NUMBER(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff0UL) +#define DUK_TVAL_IS_DOUBLE(v) DUK_TVAL_IS_NUMBER((v)) +#endif + +/* This is performance critical because it appears in every DECREF. */ +#define DUK_TVAL_IS_HEAP_ALLOCATED(v) (DUK_TVAL_GET_TAG((v)) >= DUK_TAG_STRING) + +#if defined(DUK_USE_FASTINT) +DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_packed(duk_tval *tv); +#endif + +#else /* DUK_USE_PACKED_TVAL */ +/* ======================================================================== */ + +/* + * Portable 12-byte representation + */ + +/* Note: not initializing all bytes is normally not an issue: Duktape won't + * read or use the uninitialized bytes so valgrind won't issue warnings. + * In some special cases a harmless valgrind warning may be issued though. + * For example, the DumpHeap debugger command writes out a compiled function's + * 'data' area as is, including any uninitialized bytes, which causes a + * valgrind warning. + */ + +typedef struct duk_tval_struct duk_tval; + +struct duk_tval_struct { + duk_small_uint_t t; + duk_small_uint_t v_extra; + union { + duk_double_t d; + duk_small_int_t i; +#if defined(DUK_USE_FASTINT) + duk_int64_t fi; /* if present, forces 16-byte duk_tval */ +#endif + void *voidptr; + duk_hstring *hstring; + duk_hobject *hobject; + duk_hcompiledfunction *hcompiledfunction; + duk_hnativefunction *hnativefunction; + duk_hthread *hthread; + duk_hbuffer *hbuffer; + duk_heaphdr *heaphdr; + duk_c_function lightfunc; + } v; +}; + +#define DUK__TAG_NUMBER 0 /* not exposed */ +#if defined(DUK_USE_FASTINT) +#define DUK_TAG_FASTINT 1 +#endif +#define DUK_TAG_UNDEFINED 2 +#define DUK_TAG_NULL 3 +#define DUK_TAG_BOOLEAN 4 +#define DUK_TAG_POINTER 5 +#define DUK_TAG_LIGHTFUNC 6 +#define DUK_TAG_UNUSED 7 /* marker; not actual tagged type */ +#define DUK_TAG_STRING 8 /* first heap allocated, match bit boundary */ +#define DUK_TAG_OBJECT 9 +#define DUK_TAG_BUFFER 10 + +/* DUK__TAG_NUMBER is intentionally first, as it is the default clause in code + * to support the 8-byte representation. Further, it is a non-heap-allocated + * type so it should come before DUK_TAG_STRING. Finally, it should not break + * the tag value ranges covered by case-clauses in a switch-case. + */ + +/* setters */ +#define DUK_TVAL_SET_UNDEFINED(tv) do { \ + (tv)->t = DUK_TAG_UNDEFINED; \ + } while (0) + +#define DUK_TVAL_SET_UNUSED(tv) do { \ + (tv)->t = DUK_TAG_UNUSED; \ + } while (0) + +#define DUK_TVAL_SET_NULL(tv) do { \ + (tv)->t = DUK_TAG_NULL; \ + } while (0) + +#define DUK_TVAL_SET_BOOLEAN(tv,val) do { \ + (tv)->t = DUK_TAG_BOOLEAN; \ + (tv)->v.i = (val); \ + } while (0) + +#if defined(DUK_USE_FASTINT) +#define DUK_TVAL_SET_DOUBLE(tv,val) do { \ + (tv)->t = DUK__TAG_NUMBER; \ + (tv)->v.d = (val); \ + } while (0) +#define DUK_TVAL_SET_FASTINT(tv,val) do { \ + (tv)->t = DUK_TAG_FASTINT; \ + (tv)->v.fi = (val); \ + } while (0) +#define DUK_TVAL_SET_FASTINT_U32(tv,val) do { \ + (tv)->t = DUK_TAG_FASTINT; \ + (tv)->v.fi = (duk_int64_t) (val); \ + } while (0) +#define DUK_TVAL_SET_FASTINT_I32(tv,val) do { \ + (tv)->t = DUK_TAG_FASTINT; \ + (tv)->v.fi = (duk_int64_t) (val); \ + } while (0) +#define DUK_TVAL_SET_NUMBER_CHKFAST(tv,d) \ + duk_tval_set_number_chkfast((tv), (d)) +#define DUK_TVAL_SET_NUMBER(tv,val) \ + DUK_TVAL_SET_DOUBLE((tv), (val)) +#define DUK_TVAL_CHKFAST_INPLACE(v) do { \ + duk_tval *duk__tv; \ + duk_double_t duk__d; \ + duk__tv = (v); \ + if (DUK_TVAL_IS_DOUBLE(duk__tv)) { \ + duk__d = DUK_TVAL_GET_DOUBLE(duk__tv); \ + DUK_TVAL_SET_NUMBER_CHKFAST(duk__tv, duk__d); \ + } \ + } while (0) +#else +#define DUK_TVAL_SET_DOUBLE(tv,d) \ + DUK_TVAL_SET_NUMBER((tv), (d)) +#define DUK_TVAL_SET_FASTINT(tv,val) \ + DUK_TVAL_SET_NUMBER((tv), (duk_double_t) (val)) /* XXX: fast int-to-double */ +#define DUK_TVAL_SET_FASTINT_U32(tv,val) \ + DUK_TVAL_SET_NUMBER((tv), (duk_double_t) (val)) +#define DUK_TVAL_SET_FASTINT_I32(tv,val) \ + DUK_TVAL_SET_NUMBER((tv), (duk_double_t) (val)) +#define DUK_TVAL_SET_NUMBER(tv,val) do { \ + (tv)->t = DUK__TAG_NUMBER; \ + (tv)->v.d = (val); \ + } while (0) +#define DUK_TVAL_SET_NUMBER_CHKFAST(tv,d) \ + DUK_TVAL_SET_NUMBER((tv), (d)) +#define DUK_TVAL_CHKFAST_INPLACE(v) do { } while (0) +#endif /* DUK_USE_FASTINT */ + +#define DUK_TVAL_SET_POINTER(tv,hptr) do { \ + (tv)->t = DUK_TAG_POINTER; \ + (tv)->v.voidptr = (hptr); \ + } while (0) + +#define DUK_TVAL_SET_LIGHTFUNC(tv,fp,flags) do { \ + (tv)->t = DUK_TAG_LIGHTFUNC; \ + (tv)->v_extra = (flags); \ + (tv)->v.lightfunc = (duk_c_function) (fp); \ + } while (0) + +#define DUK_TVAL_SET_STRING(tv,hptr) do { \ + (tv)->t = DUK_TAG_STRING; \ + (tv)->v.hstring = (hptr); \ + } while (0) + +#define DUK_TVAL_SET_OBJECT(tv,hptr) do { \ + (tv)->t = DUK_TAG_OBJECT; \ + (tv)->v.hobject = (hptr); \ + } while (0) + +#define DUK_TVAL_SET_BUFFER(tv,hptr) do { \ + (tv)->t = DUK_TAG_BUFFER; \ + (tv)->v.hbuffer = (hptr); \ + } while (0) + +#define DUK_TVAL_SET_NAN(tv) do { \ + /* in non-packed representation we don't care about which NaN is used */ \ + (tv)->t = DUK__TAG_NUMBER; \ + (tv)->v.d = DUK_DOUBLE_NAN; \ + } while (0) + +#define DUK_TVAL_SET_TVAL(v,x) do { *(v) = *(x); } while (0) + +/* getters */ +#define DUK_TVAL_GET_BOOLEAN(tv) ((tv)->v.i) +#if defined(DUK_USE_FASTINT) +#define DUK_TVAL_GET_DOUBLE(tv) ((tv)->v.d) +#define DUK_TVAL_GET_FASTINT(tv) ((tv)->v.fi) +#define DUK_TVAL_GET_FASTINT_U32(tv) ((duk_uint32_t) ((tv)->v.fi)) +#define DUK_TVAL_GET_FASTINT_I32(tv) ((duk_int32_t) ((tv)->v.fi)) +#if 0 +#define DUK_TVAL_GET_NUMBER(tv) (DUK_TVAL_IS_FASTINT((tv)) ? \ + (duk_double_t) DUK_TVAL_GET_FASTINT((tv)) : \ + DUK_TVAL_GET_DOUBLE((tv))) +#define DUK_TVAL_GET_NUMBER(tv) duk_tval_get_number_unpacked((tv)) +#else +/* This seems reasonable overall. */ +#define DUK_TVAL_GET_NUMBER(tv) (DUK_TVAL_IS_FASTINT((tv)) ? \ + duk_tval_get_number_unpacked_fastint((tv)) : \ + DUK_TVAL_GET_DOUBLE((tv))) +#endif +#else +#define DUK_TVAL_GET_NUMBER(tv) ((tv)->v.d) +#define DUK_TVAL_GET_DOUBLE(tv) ((tv)->v.d) +#endif /* DUK_USE_FASTINT */ +#define DUK_TVAL_GET_POINTER(tv) ((tv)->v.voidptr) +#define DUK_TVAL_GET_LIGHTFUNC(tv,out_fp,out_flags) do { \ + (out_flags) = (duk_uint32_t) (tv)->v_extra; \ + (out_fp) = (tv)->v.lightfunc; \ + } while (0) +#define DUK_TVAL_GET_LIGHTFUNC_FUNCPTR(tv) ((tv)->v.lightfunc) +#define DUK_TVAL_GET_LIGHTFUNC_FLAGS(tv) ((duk_uint32_t) ((tv)->v_extra)) +#define DUK_TVAL_GET_STRING(tv) ((tv)->v.hstring) +#define DUK_TVAL_GET_OBJECT(tv) ((tv)->v.hobject) +#define DUK_TVAL_GET_BUFFER(tv) ((tv)->v.hbuffer) +#define DUK_TVAL_GET_HEAPHDR(tv) ((tv)->v.heaphdr) + +/* decoding */ +#define DUK_TVAL_GET_TAG(tv) ((tv)->t) +#define DUK_TVAL_IS_UNDEFINED(tv) ((tv)->t == DUK_TAG_UNDEFINED) +#define DUK_TVAL_IS_UNUSED(tv) ((tv)->t == DUK_TAG_UNUSED) +#define DUK_TVAL_IS_NULL(tv) ((tv)->t == DUK_TAG_NULL) +#define DUK_TVAL_IS_BOOLEAN(tv) ((tv)->t == DUK_TAG_BOOLEAN) +#define DUK_TVAL_IS_BOOLEAN_TRUE(tv) (((tv)->t == DUK_TAG_BOOLEAN) && ((tv)->v.i != 0)) +#define DUK_TVAL_IS_BOOLEAN_FALSE(tv) (((tv)->t == DUK_TAG_BOOLEAN) && ((tv)->v.i == 0)) +#if defined(DUK_USE_FASTINT) +#define DUK_TVAL_IS_DOUBLE(tv) ((tv)->t == DUK__TAG_NUMBER) +#define DUK_TVAL_IS_FASTINT(tv) ((tv)->t == DUK_TAG_FASTINT) +#define DUK_TVAL_IS_NUMBER(tv) ((tv)->t == DUK__TAG_NUMBER || \ + (tv)->t == DUK_TAG_FASTINT) +#else +#define DUK_TVAL_IS_NUMBER(tv) ((tv)->t == DUK__TAG_NUMBER) +#define DUK_TVAL_IS_DOUBLE(v) DUK_TVAL_IS_NUMBER((v)) +#endif /* DUK_USE_FASTINT */ +#define DUK_TVAL_IS_POINTER(tv) ((tv)->t == DUK_TAG_POINTER) +#define DUK_TVAL_IS_LIGHTFUNC(tv) ((tv)->t == DUK_TAG_LIGHTFUNC) +#define DUK_TVAL_IS_STRING(tv) ((tv)->t == DUK_TAG_STRING) +#define DUK_TVAL_IS_OBJECT(tv) ((tv)->t == DUK_TAG_OBJECT) +#define DUK_TVAL_IS_BUFFER(tv) ((tv)->t == DUK_TAG_BUFFER) + +/* This is performance critical because it's needed for every DECREF. + * Take advantage of the fact that the first heap allocated tag is 8, + * so that bit 3 is set for all heap allocated tags (and never set for + * non-heap-allocated tags). + */ +#if 0 +#define DUK_TVAL_IS_HEAP_ALLOCATED(tv) ((tv)->t >= DUK_TAG_STRING) +#endif +#define DUK_TVAL_IS_HEAP_ALLOCATED(tv) ((tv)->t & 0x08) + +#if defined(DUK_USE_FASTINT) +#if 0 +DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked(duk_tval *tv); +#endif +DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked_fastint(duk_tval *tv); +#endif + +#endif /* DUK_USE_PACKED_TVAL */ + +/* + * Convenience (independent of representation) + */ + +#define DUK_TVAL_SET_BOOLEAN_TRUE(v) DUK_TVAL_SET_BOOLEAN(v, 1) +#define DUK_TVAL_SET_BOOLEAN_FALSE(v) DUK_TVAL_SET_BOOLEAN(v, 0) + +/* Lightfunc flags packing and unpacking. */ +/* Sign extend: 0x0000##00 -> 0x##000000 -> sign extend to 0xssssss## */ +#define DUK_LFUNC_FLAGS_GET_MAGIC(lf_flags) \ + ((((duk_int32_t) (lf_flags)) << 16) >> 24) +#define DUK_LFUNC_FLAGS_GET_LENGTH(lf_flags) \ + (((lf_flags) >> 4) & 0x0f) +#define DUK_LFUNC_FLAGS_GET_NARGS(lf_flags) \ + ((lf_flags) & 0x0f) +#define DUK_LFUNC_FLAGS_PACK(magic,length,nargs) \ + (((magic) & 0xff) << 8) | ((length) << 4) | (nargs) + +#define DUK_LFUNC_NARGS_VARARGS 0x0f /* varargs marker */ +#define DUK_LFUNC_NARGS_MIN 0x00 +#define DUK_LFUNC_NARGS_MAX 0x0e /* max, excl. varargs marker */ +#define DUK_LFUNC_LENGTH_MIN 0x00 +#define DUK_LFUNC_LENGTH_MAX 0x0f +#define DUK_LFUNC_MAGIC_MIN (-0x80) +#define DUK_LFUNC_MAGIC_MAX 0x7f + +/* fastint constants etc */ +#if defined(DUK_USE_FASTINT) +#define DUK_FASTINT_MIN (-0x800000000000LL) +#define DUK_FASTINT_MAX 0x7fffffffffffLL +#define DUK_FASTINT_BITS 48 + +DUK_INTERNAL_DECL void duk_tval_set_number_chkfast(duk_tval *tv, duk_double_t x); +#endif + +#endif /* DUK_TVAL_H_INCLUDED */ #line 1 "duk_builtins.h" /* * Automatically generated by genbuiltins.py, do not edit! @@ -366,3967 +880,759 @@ typedef struct duk_re_compiler_ctx duk_re_compiler_ctx; #ifndef DUK_BUILTINS_H_INCLUDED #define DUK_BUILTINS_H_INCLUDED -#if defined(DUK_USE_DOUBLE_LE) -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const duk_uint8_t duk_strings_data[2624]; -#endif /* !DUK_SINGLE_FILE */ - -#define DUK_STRDATA_DATA_LENGTH 2624 -#define DUK_STRDATA_MAX_STRLEN 24 - -#define DUK_STRIDX_UC_LOGGER 0 /* 'Logger' */ -#define DUK_STRIDX_UC_THREAD 1 /* 'Thread' */ -#define DUK_STRIDX_UC_POINTER 2 /* 'Pointer' */ -#define DUK_STRIDX_DEC_ENV 3 /* 'DecEnv' */ -#define DUK_STRIDX_OBJ_ENV 4 /* 'ObjEnv' */ -#define DUK_STRIDX_FLOAT64_ARRAY 5 /* 'Float64Array' */ -#define DUK_STRIDX_FLOAT32_ARRAY 6 /* 'Float32Array' */ -#define DUK_STRIDX_UINT32_ARRAY 7 /* 'Uint32Array' */ -#define DUK_STRIDX_INT32_ARRAY 8 /* 'Int32Array' */ -#define DUK_STRIDX_UINT16_ARRAY 9 /* 'Uint16Array' */ -#define DUK_STRIDX_INT16_ARRAY 10 /* 'Int16Array' */ -#define DUK_STRIDX_UINT8_CLAMPED_ARRAY 11 /* 'Uint8ClampedArray' */ -#define DUK_STRIDX_UINT8_ARRAY 12 /* 'Uint8Array' */ -#define DUK_STRIDX_INT8_ARRAY 13 /* 'Int8Array' */ -#define DUK_STRIDX_DATA_VIEW 14 /* 'DataView' */ +#if defined(DUK_USE_ROM_STRINGS) +#error ROM support not enabled, rerun make_dist.py with --rom-support +#else /* DUK_USE_ROM_STRINGS */ +#define DUK_STRIDX_UC_UNDEFINED 0 /* 'Undefined' */ +#define DUK_HEAP_STRING_UC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_UNDEFINED) +#define DUK_HTHREAD_STRING_UC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_UNDEFINED) +#define DUK_STRIDX_UC_NULL 1 /* 'Null' */ +#define DUK_HEAP_STRING_UC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NULL) +#define DUK_HTHREAD_STRING_UC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NULL) +#define DUK_STRIDX_UC_ARGUMENTS 2 /* 'Arguments' */ +#define DUK_HEAP_STRING_UC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ARGUMENTS) +#define DUK_HTHREAD_STRING_UC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ARGUMENTS) +#define DUK_STRIDX_UC_OBJECT 3 /* 'Object' */ +#define DUK_HEAP_STRING_UC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_OBJECT) +#define DUK_HTHREAD_STRING_UC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_OBJECT) +#define DUK_STRIDX_UC_FUNCTION 4 /* 'Function' */ +#define DUK_HEAP_STRING_UC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_FUNCTION) +#define DUK_HTHREAD_STRING_UC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_FUNCTION) +#define DUK_STRIDX_ARRAY 5 /* 'Array' */ +#define DUK_HEAP_STRING_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY) +#define DUK_HTHREAD_STRING_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY) +#define DUK_STRIDX_UC_STRING 6 /* 'String' */ +#define DUK_HEAP_STRING_UC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_STRING) +#define DUK_HTHREAD_STRING_UC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_STRING) +#define DUK_STRIDX_UC_BOOLEAN 7 /* 'Boolean' */ +#define DUK_HEAP_STRING_UC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BOOLEAN) +#define DUK_HTHREAD_STRING_UC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BOOLEAN) +#define DUK_STRIDX_UC_NUMBER 8 /* 'Number' */ +#define DUK_HEAP_STRING_UC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NUMBER) +#define DUK_HTHREAD_STRING_UC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NUMBER) +#define DUK_STRIDX_DATE 9 /* 'Date' */ +#define DUK_HEAP_STRING_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATE) +#define DUK_HTHREAD_STRING_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATE) +#define DUK_STRIDX_REG_EXP 10 /* 'RegExp' */ +#define DUK_HEAP_STRING_REG_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REG_EXP) +#define DUK_HTHREAD_STRING_REG_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REG_EXP) +#define DUK_STRIDX_UC_ERROR 11 /* 'Error' */ +#define DUK_HEAP_STRING_UC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ERROR) +#define DUK_HTHREAD_STRING_UC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ERROR) +#define DUK_STRIDX_MATH 12 /* 'Math' */ +#define DUK_HEAP_STRING_MATH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATH) +#define DUK_HTHREAD_STRING_MATH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATH) +#define DUK_STRIDX_JSON 13 /* 'JSON' */ +#define DUK_HEAP_STRING_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON) +#define DUK_HTHREAD_STRING_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON) +#define DUK_STRIDX_EMPTY_STRING 14 /* '' */ +#define DUK_HEAP_STRING_EMPTY_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EMPTY_STRING) +#define DUK_HTHREAD_STRING_EMPTY_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EMPTY_STRING) #define DUK_STRIDX_ARRAY_BUFFER 15 /* 'ArrayBuffer' */ -#define DUK_STRIDX_UC_BUFFER 16 /* 'Buffer' */ -#define DUK_STRIDX_EMPTY_STRING 17 /* '' */ -#define DUK_STRIDX_GLOBAL 18 /* 'global' */ -#define DUK_STRIDX_UC_ARGUMENTS 19 /* 'Arguments' */ -#define DUK_STRIDX_JSON 20 /* 'JSON' */ -#define DUK_STRIDX_MATH 21 /* 'Math' */ -#define DUK_STRIDX_UC_ERROR 22 /* 'Error' */ -#define DUK_STRIDX_REG_EXP 23 /* 'RegExp' */ -#define DUK_STRIDX_DATE 24 /* 'Date' */ -#define DUK_STRIDX_UC_NUMBER 25 /* 'Number' */ -#define DUK_STRIDX_UC_BOOLEAN 26 /* 'Boolean' */ -#define DUK_STRIDX_UC_STRING 27 /* 'String' */ -#define DUK_STRIDX_ARRAY 28 /* 'Array' */ -#define DUK_STRIDX_UC_FUNCTION 29 /* 'Function' */ -#define DUK_STRIDX_UC_OBJECT 30 /* 'Object' */ -#define DUK_STRIDX_UC_NULL 31 /* 'Null' */ -#define DUK_STRIDX_UC_UNDEFINED 32 /* 'Undefined' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION2 33 /* '{_func:true}' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION1 34 /* '{"_func":true}' */ -#define DUK_STRIDX_JSON_EXT_NEGINF 35 /* '{"_ninf":true}' */ -#define DUK_STRIDX_JSON_EXT_POSINF 36 /* '{"_inf":true}' */ -#define DUK_STRIDX_JSON_EXT_NAN 37 /* '{"_nan":true}' */ -#define DUK_STRIDX_JSON_EXT_UNDEFINED 38 /* '{"_undef":true}' */ -#define DUK_STRIDX_TO_LOG_STRING 39 /* 'toLogString' */ -#define DUK_STRIDX_CLOG 40 /* 'clog' */ -#define DUK_STRIDX_LC_L 41 /* 'l' */ -#define DUK_STRIDX_LC_N 42 /* 'n' */ -#define DUK_STRIDX_LC_FATAL 43 /* 'fatal' */ -#define DUK_STRIDX_LC_ERROR 44 /* 'error' */ -#define DUK_STRIDX_LC_WARN 45 /* 'warn' */ -#define DUK_STRIDX_LC_DEBUG 46 /* 'debug' */ -#define DUK_STRIDX_LC_TRACE 47 /* 'trace' */ -#define DUK_STRIDX_RAW 48 /* 'raw' */ -#define DUK_STRIDX_FMT 49 /* 'fmt' */ -#define DUK_STRIDX_CURRENT 50 /* 'current' */ -#define DUK_STRIDX_RESUME 51 /* 'resume' */ -#define DUK_STRIDX_COMPACT 52 /* 'compact' */ -#define DUK_STRIDX_JC 53 /* 'jc' */ -#define DUK_STRIDX_JX 54 /* 'jx' */ -#define DUK_STRIDX_BASE64 55 /* 'base64' */ -#define DUK_STRIDX_HEX 56 /* 'hex' */ -#define DUK_STRIDX_DEC 57 /* 'dec' */ -#define DUK_STRIDX_ENC 58 /* 'enc' */ -#define DUK_STRIDX_FIN 59 /* 'fin' */ -#define DUK_STRIDX_GC 60 /* 'gc' */ -#define DUK_STRIDX_ACT 61 /* 'act' */ -#define DUK_STRIDX_LC_INFO 62 /* 'info' */ -#define DUK_STRIDX_VERSION 63 /* 'version' */ -#define DUK_STRIDX_ENV 64 /* 'env' */ -#define DUK_STRIDX_MOD_LOADED 65 /* 'modLoaded' */ -#define DUK_STRIDX_MOD_SEARCH 66 /* 'modSearch' */ -#define DUK_STRIDX_ERR_THROW 67 /* 'errThrow' */ -#define DUK_STRIDX_ERR_CREATE 68 /* 'errCreate' */ -#define DUK_STRIDX_COMPILE 69 /* 'compile' */ -#define DUK_STRIDX_INT_REGBASE 70 /* '\x00Regbase' */ -#define DUK_STRIDX_INT_THREAD 71 /* '\x00Thread' */ -#define DUK_STRIDX_INT_HANDLER 72 /* '\x00Handler' */ -#define DUK_STRIDX_INT_FINALIZER 73 /* '\x00Finalizer' */ -#define DUK_STRIDX_INT_CALLEE 74 /* '\x00Callee' */ -#define DUK_STRIDX_INT_MAP 75 /* '\x00Map' */ -#define DUK_STRIDX_INT_ARGS 76 /* '\x00Args' */ -#define DUK_STRIDX_INT_THIS 77 /* '\x00This' */ -#define DUK_STRIDX_INT_PC2LINE 78 /* '\x00Pc2line' */ -#define DUK_STRIDX_INT_SOURCE 79 /* '\x00Source' */ -#define DUK_STRIDX_INT_VARENV 80 /* '\x00Varenv' */ -#define DUK_STRIDX_INT_LEXENV 81 /* '\x00Lexenv' */ -#define DUK_STRIDX_INT_VARMAP 82 /* '\x00Varmap' */ -#define DUK_STRIDX_INT_FORMALS 83 /* '\x00Formals' */ -#define DUK_STRIDX_INT_BYTECODE 84 /* '\x00Bytecode' */ -#define DUK_STRIDX_INT_NEXT 85 /* '\x00Next' */ -#define DUK_STRIDX_INT_TARGET 86 /* '\x00Target' */ -#define DUK_STRIDX_INT_VALUE 87 /* '\x00Value' */ -#define DUK_STRIDX_LC_POINTER 88 /* 'pointer' */ -#define DUK_STRIDX_INT_TRACEDATA 89 /* '\x00Tracedata' */ -#define DUK_STRIDX_LINE_NUMBER 90 /* 'lineNumber' */ -#define DUK_STRIDX_FILE_NAME 91 /* 'fileName' */ -#define DUK_STRIDX_PC 92 /* 'pc' */ -#define DUK_STRIDX_STACK 93 /* 'stack' */ -#define DUK_STRIDX_THROW_TYPE_ERROR 94 /* 'ThrowTypeError' */ -#define DUK_STRIDX_DUKTAPE 95 /* 'Duktape' */ -#define DUK_STRIDX_SET_FLOAT64 96 /* 'setFloat64' */ -#define DUK_STRIDX_SET_FLOAT32 97 /* 'setFloat32' */ -#define DUK_STRIDX_SET_UINT32 98 /* 'setUint32' */ -#define DUK_STRIDX_SET_INT32 99 /* 'setInt32' */ -#define DUK_STRIDX_SET_UINT16 100 /* 'setUint16' */ -#define DUK_STRIDX_SET_INT16 101 /* 'setInt16' */ -#define DUK_STRIDX_SET_UINT8 102 /* 'setUint8' */ -#define DUK_STRIDX_SET_INT8 103 /* 'setInt8' */ -#define DUK_STRIDX_GET_FLOAT64 104 /* 'getFloat64' */ -#define DUK_STRIDX_GET_FLOAT32 105 /* 'getFloat32' */ -#define DUK_STRIDX_GET_UINT32 106 /* 'getUint32' */ -#define DUK_STRIDX_GET_INT32 107 /* 'getInt32' */ -#define DUK_STRIDX_GET_UINT16 108 /* 'getUint16' */ -#define DUK_STRIDX_GET_INT16 109 /* 'getInt16' */ -#define DUK_STRIDX_GET_UINT8 110 /* 'getUint8' */ -#define DUK_STRIDX_GET_INT8 111 /* 'getInt8' */ -#define DUK_STRIDX_SUBARRAY 112 /* 'subarray' */ -#define DUK_STRIDX_BYTES_PER_ELEMENT 113 /* 'BYTES_PER_ELEMENT' */ -#define DUK_STRIDX_BYTE_OFFSET 114 /* 'byteOffset' */ -#define DUK_STRIDX_LC_BUFFER 115 /* 'buffer' */ -#define DUK_STRIDX_IS_VIEW 116 /* 'isView' */ -#define DUK_STRIDX_DATA 117 /* 'data' */ -#define DUK_STRIDX_TYPE 118 /* 'type' */ -#define DUK_STRIDX_WRITE_INT_BE 119 /* 'writeIntBE' */ -#define DUK_STRIDX_WRITE_INT_LE 120 /* 'writeIntLE' */ -#define DUK_STRIDX_WRITE_UINT_BE 121 /* 'writeUIntBE' */ -#define DUK_STRIDX_WRITE_UINT_LE 122 /* 'writeUIntLE' */ -#define DUK_STRIDX_WRITE_DOUBLE_BE 123 /* 'writeDoubleBE' */ -#define DUK_STRIDX_WRITE_DOUBLE_LE 124 /* 'writeDoubleLE' */ -#define DUK_STRIDX_WRITE_FLOAT_BE 125 /* 'writeFloatBE' */ -#define DUK_STRIDX_WRITE_FLOAT_LE 126 /* 'writeFloatLE' */ -#define DUK_STRIDX_WRITE_INT32_BE 127 /* 'writeInt32BE' */ -#define DUK_STRIDX_WRITE_INT32_LE 128 /* 'writeInt32LE' */ -#define DUK_STRIDX_WRITE_UINT32_BE 129 /* 'writeUInt32BE' */ -#define DUK_STRIDX_WRITE_UINT32_LE 130 /* 'writeUInt32LE' */ -#define DUK_STRIDX_WRITE_INT16_BE 131 /* 'writeInt16BE' */ -#define DUK_STRIDX_WRITE_INT16_LE 132 /* 'writeInt16LE' */ -#define DUK_STRIDX_WRITE_UINT16_BE 133 /* 'writeUInt16BE' */ -#define DUK_STRIDX_WRITE_UINT16_LE 134 /* 'writeUInt16LE' */ -#define DUK_STRIDX_WRITE_INT8 135 /* 'writeInt8' */ -#define DUK_STRIDX_WRITE_UINT8 136 /* 'writeUInt8' */ -#define DUK_STRIDX_READ_INT_BE 137 /* 'readIntBE' */ -#define DUK_STRIDX_READ_INT_LE 138 /* 'readIntLE' */ -#define DUK_STRIDX_READ_UINT_BE 139 /* 'readUIntBE' */ -#define DUK_STRIDX_READ_UINT_LE 140 /* 'readUIntLE' */ -#define DUK_STRIDX_READ_DOUBLE_BE 141 /* 'readDoubleBE' */ -#define DUK_STRIDX_READ_DOUBLE_LE 142 /* 'readDoubleLE' */ -#define DUK_STRIDX_READ_FLOAT_BE 143 /* 'readFloatBE' */ -#define DUK_STRIDX_READ_FLOAT_LE 144 /* 'readFloatLE' */ -#define DUK_STRIDX_READ_INT32_BE 145 /* 'readInt32BE' */ -#define DUK_STRIDX_READ_INT32_LE 146 /* 'readInt32LE' */ -#define DUK_STRIDX_READ_UINT32_BE 147 /* 'readUInt32BE' */ -#define DUK_STRIDX_READ_UINT32_LE 148 /* 'readUInt32LE' */ -#define DUK_STRIDX_READ_INT16_BE 149 /* 'readInt16BE' */ -#define DUK_STRIDX_READ_INT16_LE 150 /* 'readInt16LE' */ -#define DUK_STRIDX_READ_UINT16_BE 151 /* 'readUInt16BE' */ -#define DUK_STRIDX_READ_UINT16_LE 152 /* 'readUInt16LE' */ -#define DUK_STRIDX_READ_INT8 153 /* 'readInt8' */ -#define DUK_STRIDX_READ_UINT8 154 /* 'readUInt8' */ -#define DUK_STRIDX_COPY 155 /* 'copy' */ -#define DUK_STRIDX_EQUALS 156 /* 'equals' */ -#define DUK_STRIDX_FILL 157 /* 'fill' */ -#define DUK_STRIDX_WRITE 158 /* 'write' */ -#define DUK_STRIDX_COMPARE 159 /* 'compare' */ -#define DUK_STRIDX_BYTE_LENGTH 160 /* 'byteLength' */ -#define DUK_STRIDX_IS_BUFFER 161 /* 'isBuffer' */ -#define DUK_STRIDX_IS_ENCODING 162 /* 'isEncoding' */ -#define DUK_STRIDX_EXPORTS 163 /* 'exports' */ -#define DUK_STRIDX_ID 164 /* 'id' */ -#define DUK_STRIDX_REQUIRE 165 /* 'require' */ -#define DUK_STRIDX___PROTO__ 166 /* '__proto__' */ -#define DUK_STRIDX_SET_PROTOTYPE_OF 167 /* 'setPrototypeOf' */ -#define DUK_STRIDX_OWN_KEYS 168 /* 'ownKeys' */ -#define DUK_STRIDX_ENUMERATE 169 /* 'enumerate' */ -#define DUK_STRIDX_DELETE_PROPERTY 170 /* 'deleteProperty' */ -#define DUK_STRIDX_HAS 171 /* 'has' */ -#define DUK_STRIDX_PROXY 172 /* 'Proxy' */ -#define DUK_STRIDX_CALLEE 173 /* 'callee' */ -#define DUK_STRIDX_INVALID_DATE 174 /* 'Invalid Date' */ -#define DUK_STRIDX_BRACKETED_ELLIPSIS 175 /* '[...]' */ -#define DUK_STRIDX_NEWLINE_TAB 176 /* '\n\t' */ -#define DUK_STRIDX_SPACE 177 /* ' ' */ -#define DUK_STRIDX_COMMA 178 /* ',' */ -#define DUK_STRIDX_MINUS_ZERO 179 /* '-0' */ -#define DUK_STRIDX_PLUS_ZERO 180 /* '+0' */ -#define DUK_STRIDX_ZERO 181 /* '0' */ -#define DUK_STRIDX_MINUS_INFINITY 182 /* '-Infinity' */ -#define DUK_STRIDX_PLUS_INFINITY 183 /* '+Infinity' */ -#define DUK_STRIDX_INFINITY 184 /* 'Infinity' */ -#define DUK_STRIDX_LC_OBJECT 185 /* 'object' */ -#define DUK_STRIDX_LC_STRING 186 /* 'string' */ -#define DUK_STRIDX_LC_NUMBER 187 /* 'number' */ -#define DUK_STRIDX_LC_BOOLEAN 188 /* 'boolean' */ -#define DUK_STRIDX_LC_UNDEFINED 189 /* 'undefined' */ -#define DUK_STRIDX_STRINGIFY 190 /* 'stringify' */ -#define DUK_STRIDX_TAN 191 /* 'tan' */ -#define DUK_STRIDX_SQRT 192 /* 'sqrt' */ -#define DUK_STRIDX_SIN 193 /* 'sin' */ -#define DUK_STRIDX_ROUND 194 /* 'round' */ -#define DUK_STRIDX_RANDOM 195 /* 'random' */ -#define DUK_STRIDX_POW 196 /* 'pow' */ -#define DUK_STRIDX_MIN 197 /* 'min' */ -#define DUK_STRIDX_MAX 198 /* 'max' */ -#define DUK_STRIDX_LOG 199 /* 'log' */ -#define DUK_STRIDX_FLOOR 200 /* 'floor' */ -#define DUK_STRIDX_EXP 201 /* 'exp' */ -#define DUK_STRIDX_COS 202 /* 'cos' */ -#define DUK_STRIDX_CEIL 203 /* 'ceil' */ -#define DUK_STRIDX_ATAN2 204 /* 'atan2' */ -#define DUK_STRIDX_ATAN 205 /* 'atan' */ -#define DUK_STRIDX_ASIN 206 /* 'asin' */ -#define DUK_STRIDX_ACOS 207 /* 'acos' */ -#define DUK_STRIDX_ABS 208 /* 'abs' */ -#define DUK_STRIDX_SQRT2 209 /* 'SQRT2' */ -#define DUK_STRIDX_SQRT1_2 210 /* 'SQRT1_2' */ -#define DUK_STRIDX_PI 211 /* 'PI' */ -#define DUK_STRIDX_LOG10E 212 /* 'LOG10E' */ -#define DUK_STRIDX_LOG2E 213 /* 'LOG2E' */ -#define DUK_STRIDX_LN2 214 /* 'LN2' */ -#define DUK_STRIDX_LN10 215 /* 'LN10' */ -#define DUK_STRIDX_E 216 /* 'E' */ -#define DUK_STRIDX_MESSAGE 217 /* 'message' */ -#define DUK_STRIDX_NAME 218 /* 'name' */ -#define DUK_STRIDX_INPUT 219 /* 'input' */ -#define DUK_STRIDX_INDEX 220 /* 'index' */ -#define DUK_STRIDX_ESCAPED_EMPTY_REGEXP 221 /* '(?:)' */ -#define DUK_STRIDX_LAST_INDEX 222 /* 'lastIndex' */ -#define DUK_STRIDX_MULTILINE 223 /* 'multiline' */ -#define DUK_STRIDX_IGNORE_CASE 224 /* 'ignoreCase' */ -#define DUK_STRIDX_SOURCE 225 /* 'source' */ -#define DUK_STRIDX_TEST 226 /* 'test' */ -#define DUK_STRIDX_EXEC 227 /* 'exec' */ -#define DUK_STRIDX_TO_GMT_STRING 228 /* 'toGMTString' */ -#define DUK_STRIDX_SET_YEAR 229 /* 'setYear' */ -#define DUK_STRIDX_GET_YEAR 230 /* 'getYear' */ -#define DUK_STRIDX_TO_JSON 231 /* 'toJSON' */ -#define DUK_STRIDX_TO_ISO_STRING 232 /* 'toISOString' */ -#define DUK_STRIDX_TO_UTC_STRING 233 /* 'toUTCString' */ -#define DUK_STRIDX_SET_UTC_FULL_YEAR 234 /* 'setUTCFullYear' */ -#define DUK_STRIDX_SET_FULL_YEAR 235 /* 'setFullYear' */ -#define DUK_STRIDX_SET_UTC_MONTH 236 /* 'setUTCMonth' */ -#define DUK_STRIDX_SET_MONTH 237 /* 'setMonth' */ -#define DUK_STRIDX_SET_UTC_DATE 238 /* 'setUTCDate' */ -#define DUK_STRIDX_SET_DATE 239 /* 'setDate' */ -#define DUK_STRIDX_SET_UTC_HOURS 240 /* 'setUTCHours' */ -#define DUK_STRIDX_SET_HOURS 241 /* 'setHours' */ -#define DUK_STRIDX_SET_UTC_MINUTES 242 /* 'setUTCMinutes' */ -#define DUK_STRIDX_SET_MINUTES 243 /* 'setMinutes' */ -#define DUK_STRIDX_SET_UTC_SECONDS 244 /* 'setUTCSeconds' */ -#define DUK_STRIDX_SET_SECONDS 245 /* 'setSeconds' */ -#define DUK_STRIDX_SET_UTC_MILLISECONDS 246 /* 'setUTCMilliseconds' */ -#define DUK_STRIDX_SET_MILLISECONDS 247 /* 'setMilliseconds' */ -#define DUK_STRIDX_SET_TIME 248 /* 'setTime' */ -#define DUK_STRIDX_GET_TIMEZONE_OFFSET 249 /* 'getTimezoneOffset' */ -#define DUK_STRIDX_GET_UTC_MILLISECONDS 250 /* 'getUTCMilliseconds' */ -#define DUK_STRIDX_GET_MILLISECONDS 251 /* 'getMilliseconds' */ -#define DUK_STRIDX_GET_UTC_SECONDS 252 /* 'getUTCSeconds' */ -#define DUK_STRIDX_GET_SECONDS 253 /* 'getSeconds' */ -#define DUK_STRIDX_GET_UTC_MINUTES 254 /* 'getUTCMinutes' */ -#define DUK_STRIDX_GET_MINUTES 255 /* 'getMinutes' */ -#define DUK_STRIDX_GET_UTC_HOURS 256 /* 'getUTCHours' */ -#define DUK_STRIDX_GET_HOURS 257 /* 'getHours' */ -#define DUK_STRIDX_GET_UTC_DAY 258 /* 'getUTCDay' */ -#define DUK_STRIDX_GET_DAY 259 /* 'getDay' */ -#define DUK_STRIDX_GET_UTC_DATE 260 /* 'getUTCDate' */ -#define DUK_STRIDX_GET_DATE 261 /* 'getDate' */ -#define DUK_STRIDX_GET_UTC_MONTH 262 /* 'getUTCMonth' */ -#define DUK_STRIDX_GET_MONTH 263 /* 'getMonth' */ -#define DUK_STRIDX_GET_UTC_FULL_YEAR 264 /* 'getUTCFullYear' */ -#define DUK_STRIDX_GET_FULL_YEAR 265 /* 'getFullYear' */ -#define DUK_STRIDX_GET_TIME 266 /* 'getTime' */ -#define DUK_STRIDX_TO_LOCALE_TIME_STRING 267 /* 'toLocaleTimeString' */ -#define DUK_STRIDX_TO_LOCALE_DATE_STRING 268 /* 'toLocaleDateString' */ -#define DUK_STRIDX_TO_TIME_STRING 269 /* 'toTimeString' */ -#define DUK_STRIDX_TO_DATE_STRING 270 /* 'toDateString' */ -#define DUK_STRIDX_NOW 271 /* 'now' */ -#define DUK_STRIDX_UTC 272 /* 'UTC' */ -#define DUK_STRIDX_PARSE 273 /* 'parse' */ -#define DUK_STRIDX_TO_PRECISION 274 /* 'toPrecision' */ -#define DUK_STRIDX_TO_EXPONENTIAL 275 /* 'toExponential' */ -#define DUK_STRIDX_TO_FIXED 276 /* 'toFixed' */ -#define DUK_STRIDX_POSITIVE_INFINITY 277 /* 'POSITIVE_INFINITY' */ -#define DUK_STRIDX_NEGATIVE_INFINITY 278 /* 'NEGATIVE_INFINITY' */ -#define DUK_STRIDX_NAN 279 /* 'NaN' */ -#define DUK_STRIDX_MIN_VALUE 280 /* 'MIN_VALUE' */ -#define DUK_STRIDX_MAX_VALUE 281 /* 'MAX_VALUE' */ -#define DUK_STRIDX_SUBSTR 282 /* 'substr' */ -#define DUK_STRIDX_TRIM 283 /* 'trim' */ -#define DUK_STRIDX_TO_LOCALE_UPPER_CASE 284 /* 'toLocaleUpperCase' */ -#define DUK_STRIDX_TO_UPPER_CASE 285 /* 'toUpperCase' */ -#define DUK_STRIDX_TO_LOCALE_LOWER_CASE 286 /* 'toLocaleLowerCase' */ -#define DUK_STRIDX_TO_LOWER_CASE 287 /* 'toLowerCase' */ -#define DUK_STRIDX_SUBSTRING 288 /* 'substring' */ -#define DUK_STRIDX_SPLIT 289 /* 'split' */ -#define DUK_STRIDX_SEARCH 290 /* 'search' */ -#define DUK_STRIDX_REPLACE 291 /* 'replace' */ -#define DUK_STRIDX_MATCH 292 /* 'match' */ -#define DUK_STRIDX_LOCALE_COMPARE 293 /* 'localeCompare' */ -#define DUK_STRIDX_CHAR_CODE_AT 294 /* 'charCodeAt' */ -#define DUK_STRIDX_CHAR_AT 295 /* 'charAt' */ -#define DUK_STRIDX_FROM_CHAR_CODE 296 /* 'fromCharCode' */ -#define DUK_STRIDX_REDUCE_RIGHT 297 /* 'reduceRight' */ -#define DUK_STRIDX_REDUCE 298 /* 'reduce' */ -#define DUK_STRIDX_FILTER 299 /* 'filter' */ -#define DUK_STRIDX_MAP 300 /* 'map' */ -#define DUK_STRIDX_FOR_EACH 301 /* 'forEach' */ -#define DUK_STRIDX_SOME 302 /* 'some' */ -#define DUK_STRIDX_EVERY 303 /* 'every' */ -#define DUK_STRIDX_LAST_INDEX_OF 304 /* 'lastIndexOf' */ -#define DUK_STRIDX_INDEX_OF 305 /* 'indexOf' */ -#define DUK_STRIDX_UNSHIFT 306 /* 'unshift' */ -#define DUK_STRIDX_SPLICE 307 /* 'splice' */ -#define DUK_STRIDX_SORT 308 /* 'sort' */ -#define DUK_STRIDX_SLICE 309 /* 'slice' */ -#define DUK_STRIDX_SHIFT 310 /* 'shift' */ -#define DUK_STRIDX_REVERSE 311 /* 'reverse' */ -#define DUK_STRIDX_PUSH 312 /* 'push' */ -#define DUK_STRIDX_POP 313 /* 'pop' */ -#define DUK_STRIDX_JOIN 314 /* 'join' */ -#define DUK_STRIDX_CONCAT 315 /* 'concat' */ -#define DUK_STRIDX_IS_ARRAY 316 /* 'isArray' */ -#define DUK_STRIDX_LC_ARGUMENTS 317 /* 'arguments' */ -#define DUK_STRIDX_CALLER 318 /* 'caller' */ -#define DUK_STRIDX_BIND 319 /* 'bind' */ -#define DUK_STRIDX_CALL 320 /* 'call' */ -#define DUK_STRIDX_APPLY 321 /* 'apply' */ -#define DUK_STRIDX_PROPERTY_IS_ENUMERABLE 322 /* 'propertyIsEnumerable' */ -#define DUK_STRIDX_IS_PROTOTYPE_OF 323 /* 'isPrototypeOf' */ -#define DUK_STRIDX_HAS_OWN_PROPERTY 324 /* 'hasOwnProperty' */ -#define DUK_STRIDX_VALUE_OF 325 /* 'valueOf' */ -#define DUK_STRIDX_TO_LOCALE_STRING 326 /* 'toLocaleString' */ -#define DUK_STRIDX_TO_STRING 327 /* 'toString' */ -#define DUK_STRIDX_CONSTRUCTOR 328 /* 'constructor' */ -#define DUK_STRIDX_SET 329 /* 'set' */ -#define DUK_STRIDX_GET 330 /* 'get' */ -#define DUK_STRIDX_ENUMERABLE 331 /* 'enumerable' */ -#define DUK_STRIDX_CONFIGURABLE 332 /* 'configurable' */ -#define DUK_STRIDX_WRITABLE 333 /* 'writable' */ -#define DUK_STRIDX_VALUE 334 /* 'value' */ -#define DUK_STRIDX_KEYS 335 /* 'keys' */ -#define DUK_STRIDX_IS_EXTENSIBLE 336 /* 'isExtensible' */ -#define DUK_STRIDX_IS_FROZEN 337 /* 'isFrozen' */ -#define DUK_STRIDX_IS_SEALED 338 /* 'isSealed' */ -#define DUK_STRIDX_PREVENT_EXTENSIONS 339 /* 'preventExtensions' */ -#define DUK_STRIDX_FREEZE 340 /* 'freeze' */ -#define DUK_STRIDX_SEAL 341 /* 'seal' */ -#define DUK_STRIDX_DEFINE_PROPERTIES 342 /* 'defineProperties' */ -#define DUK_STRIDX_DEFINE_PROPERTY 343 /* 'defineProperty' */ -#define DUK_STRIDX_CREATE 344 /* 'create' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_NAMES 345 /* 'getOwnPropertyNames' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR 346 /* 'getOwnPropertyDescriptor' */ -#define DUK_STRIDX_GET_PROTOTYPE_OF 347 /* 'getPrototypeOf' */ -#define DUK_STRIDX_PROTOTYPE 348 /* 'prototype' */ -#define DUK_STRIDX_LENGTH 349 /* 'length' */ -#define DUK_STRIDX_ALERT 350 /* 'alert' */ -#define DUK_STRIDX_PRINT 351 /* 'print' */ -#define DUK_STRIDX_UNESCAPE 352 /* 'unescape' */ -#define DUK_STRIDX_ESCAPE 353 /* 'escape' */ -#define DUK_STRIDX_ENCODE_URI_COMPONENT 354 /* 'encodeURIComponent' */ -#define DUK_STRIDX_ENCODE_URI 355 /* 'encodeURI' */ -#define DUK_STRIDX_DECODE_URI_COMPONENT 356 /* 'decodeURIComponent' */ -#define DUK_STRIDX_DECODE_URI 357 /* 'decodeURI' */ -#define DUK_STRIDX_IS_FINITE 358 /* 'isFinite' */ -#define DUK_STRIDX_IS_NAN 359 /* 'isNaN' */ -#define DUK_STRIDX_PARSE_FLOAT 360 /* 'parseFloat' */ -#define DUK_STRIDX_PARSE_INT 361 /* 'parseInt' */ -#define DUK_STRIDX_EVAL 362 /* 'eval' */ -#define DUK_STRIDX_URI_ERROR 363 /* 'URIError' */ -#define DUK_STRIDX_TYPE_ERROR 364 /* 'TypeError' */ -#define DUK_STRIDX_SYNTAX_ERROR 365 /* 'SyntaxError' */ -#define DUK_STRIDX_REFERENCE_ERROR 366 /* 'ReferenceError' */ -#define DUK_STRIDX_RANGE_ERROR 367 /* 'RangeError' */ -#define DUK_STRIDX_EVAL_ERROR 368 /* 'EvalError' */ -#define DUK_STRIDX_BREAK 369 /* 'break' */ -#define DUK_STRIDX_CASE 370 /* 'case' */ -#define DUK_STRIDX_CATCH 371 /* 'catch' */ -#define DUK_STRIDX_CONTINUE 372 /* 'continue' */ -#define DUK_STRIDX_DEBUGGER 373 /* 'debugger' */ -#define DUK_STRIDX_DEFAULT 374 /* 'default' */ -#define DUK_STRIDX_DELETE 375 /* 'delete' */ -#define DUK_STRIDX_DO 376 /* 'do' */ -#define DUK_STRIDX_ELSE 377 /* 'else' */ -#define DUK_STRIDX_FINALLY 378 /* 'finally' */ -#define DUK_STRIDX_FOR 379 /* 'for' */ -#define DUK_STRIDX_LC_FUNCTION 380 /* 'function' */ -#define DUK_STRIDX_IF 381 /* 'if' */ -#define DUK_STRIDX_IN 382 /* 'in' */ -#define DUK_STRIDX_INSTANCEOF 383 /* 'instanceof' */ -#define DUK_STRIDX_NEW 384 /* 'new' */ -#define DUK_STRIDX_RETURN 385 /* 'return' */ -#define DUK_STRIDX_SWITCH 386 /* 'switch' */ -#define DUK_STRIDX_THIS 387 /* 'this' */ -#define DUK_STRIDX_THROW 388 /* 'throw' */ -#define DUK_STRIDX_TRY 389 /* 'try' */ -#define DUK_STRIDX_TYPEOF 390 /* 'typeof' */ -#define DUK_STRIDX_VAR 391 /* 'var' */ -#define DUK_STRIDX_CONST 392 /* 'const' */ -#define DUK_STRIDX_VOID 393 /* 'void' */ -#define DUK_STRIDX_WHILE 394 /* 'while' */ -#define DUK_STRIDX_WITH 395 /* 'with' */ -#define DUK_STRIDX_CLASS 396 /* 'class' */ -#define DUK_STRIDX_ENUM 397 /* 'enum' */ -#define DUK_STRIDX_EXPORT 398 /* 'export' */ -#define DUK_STRIDX_EXTENDS 399 /* 'extends' */ -#define DUK_STRIDX_IMPORT 400 /* 'import' */ -#define DUK_STRIDX_SUPER 401 /* 'super' */ -#define DUK_STRIDX_LC_NULL 402 /* 'null' */ -#define DUK_STRIDX_TRUE 403 /* 'true' */ -#define DUK_STRIDX_FALSE 404 /* 'false' */ -#define DUK_STRIDX_IMPLEMENTS 405 /* 'implements' */ -#define DUK_STRIDX_INTERFACE 406 /* 'interface' */ -#define DUK_STRIDX_LET 407 /* 'let' */ -#define DUK_STRIDX_PACKAGE 408 /* 'package' */ -#define DUK_STRIDX_PRIVATE 409 /* 'private' */ -#define DUK_STRIDX_PROTECTED 410 /* 'protected' */ -#define DUK_STRIDX_PUBLIC 411 /* 'public' */ -#define DUK_STRIDX_STATIC 412 /* 'static' */ -#define DUK_STRIDX_YIELD 413 /* 'yield' */ - -#define DUK_HEAP_STRING_UC_LOGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_LOGGER) -#define DUK_HTHREAD_STRING_UC_LOGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_LOGGER) -#define DUK_HEAP_STRING_UC_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_THREAD) -#define DUK_HTHREAD_STRING_UC_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_THREAD) -#define DUK_HEAP_STRING_UC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_POINTER) -#define DUK_HTHREAD_STRING_UC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_POINTER) -#define DUK_HEAP_STRING_DEC_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC_ENV) -#define DUK_HTHREAD_STRING_DEC_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC_ENV) -#define DUK_HEAP_STRING_OBJ_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OBJ_ENV) -#define DUK_HTHREAD_STRING_OBJ_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OBJ_ENV) -#define DUK_HEAP_STRING_FLOAT64_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT64_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HEAP_STRING_FLOAT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HEAP_STRING_UINT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HTHREAD_STRING_UINT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HEAP_STRING_INT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT32_ARRAY) -#define DUK_HTHREAD_STRING_INT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT32_ARRAY) -#define DUK_HEAP_STRING_UINT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HTHREAD_STRING_UINT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HEAP_STRING_INT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT16_ARRAY) -#define DUK_HTHREAD_STRING_INT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT16_ARRAY) -#define DUK_HEAP_STRING_UINT8_CLAMPED_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_CLAMPED_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HEAP_STRING_UINT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HEAP_STRING_INT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT8_ARRAY) -#define DUK_HTHREAD_STRING_INT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT8_ARRAY) -#define DUK_HEAP_STRING_DATA_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA_VIEW) -#define DUK_HTHREAD_STRING_DATA_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA_VIEW) #define DUK_HEAP_STRING_ARRAY_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY_BUFFER) #define DUK_HTHREAD_STRING_ARRAY_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY_BUFFER) -#define DUK_HEAP_STRING_UC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BUFFER) -#define DUK_HTHREAD_STRING_UC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BUFFER) -#define DUK_HEAP_STRING_EMPTY_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EMPTY_STRING) -#define DUK_HTHREAD_STRING_EMPTY_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EMPTY_STRING) +#define DUK_STRIDX_DATA_VIEW 16 /* 'DataView' */ +#define DUK_HEAP_STRING_DATA_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA_VIEW) +#define DUK_HTHREAD_STRING_DATA_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA_VIEW) +#define DUK_STRIDX_INT8_ARRAY 17 /* 'Int8Array' */ +#define DUK_HEAP_STRING_INT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT8_ARRAY) +#define DUK_HTHREAD_STRING_INT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT8_ARRAY) +#define DUK_STRIDX_UINT8_ARRAY 18 /* 'Uint8Array' */ +#define DUK_HEAP_STRING_UINT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_ARRAY) +#define DUK_HTHREAD_STRING_UINT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_ARRAY) +#define DUK_STRIDX_UINT8_CLAMPED_ARRAY 19 /* 'Uint8ClampedArray' */ +#define DUK_HEAP_STRING_UINT8_CLAMPED_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_CLAMPED_ARRAY) +#define DUK_HTHREAD_STRING_UINT8_CLAMPED_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_CLAMPED_ARRAY) +#define DUK_STRIDX_INT16_ARRAY 20 /* 'Int16Array' */ +#define DUK_HEAP_STRING_INT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT16_ARRAY) +#define DUK_HTHREAD_STRING_INT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT16_ARRAY) +#define DUK_STRIDX_UINT16_ARRAY 21 /* 'Uint16Array' */ +#define DUK_HEAP_STRING_UINT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT16_ARRAY) +#define DUK_HTHREAD_STRING_UINT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT16_ARRAY) +#define DUK_STRIDX_INT32_ARRAY 22 /* 'Int32Array' */ +#define DUK_HEAP_STRING_INT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT32_ARRAY) +#define DUK_HTHREAD_STRING_INT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT32_ARRAY) +#define DUK_STRIDX_UINT32_ARRAY 23 /* 'Uint32Array' */ +#define DUK_HEAP_STRING_UINT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT32_ARRAY) +#define DUK_HTHREAD_STRING_UINT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT32_ARRAY) +#define DUK_STRIDX_FLOAT32_ARRAY 24 /* 'Float32Array' */ +#define DUK_HEAP_STRING_FLOAT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT32_ARRAY) +#define DUK_HTHREAD_STRING_FLOAT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT32_ARRAY) +#define DUK_STRIDX_FLOAT64_ARRAY 25 /* 'Float64Array' */ +#define DUK_HEAP_STRING_FLOAT64_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT64_ARRAY) +#define DUK_HTHREAD_STRING_FLOAT64_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT64_ARRAY) +#define DUK_STRIDX_GLOBAL 26 /* 'global' */ #define DUK_HEAP_STRING_GLOBAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GLOBAL) #define DUK_HTHREAD_STRING_GLOBAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GLOBAL) -#define DUK_HEAP_STRING_UC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HTHREAD_STRING_UC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HEAP_STRING_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON) -#define DUK_HTHREAD_STRING_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON) -#define DUK_HEAP_STRING_MATH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATH) -#define DUK_HTHREAD_STRING_MATH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATH) -#define DUK_HEAP_STRING_UC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ERROR) -#define DUK_HTHREAD_STRING_UC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ERROR) -#define DUK_HEAP_STRING_REG_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REG_EXP) -#define DUK_HTHREAD_STRING_REG_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REG_EXP) -#define DUK_HEAP_STRING_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATE) -#define DUK_HTHREAD_STRING_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATE) -#define DUK_HEAP_STRING_UC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NUMBER) -#define DUK_HTHREAD_STRING_UC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NUMBER) -#define DUK_HEAP_STRING_UC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HTHREAD_STRING_UC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HEAP_STRING_UC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_STRING) -#define DUK_HTHREAD_STRING_UC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_STRING) -#define DUK_HEAP_STRING_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY) -#define DUK_HTHREAD_STRING_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY) -#define DUK_HEAP_STRING_UC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_FUNCTION) -#define DUK_HTHREAD_STRING_UC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_FUNCTION) -#define DUK_HEAP_STRING_UC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_OBJECT) -#define DUK_HTHREAD_STRING_UC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_OBJECT) -#define DUK_HEAP_STRING_UC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NULL) -#define DUK_HTHREAD_STRING_UC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NULL) -#define DUK_HEAP_STRING_UC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HTHREAD_STRING_UC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION1(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION1(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HEAP_STRING_JSON_EXT_NEGINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HTHREAD_STRING_JSON_EXT_NEGINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HEAP_STRING_JSON_EXT_POSINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HTHREAD_STRING_JSON_EXT_POSINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HEAP_STRING_JSON_EXT_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HTHREAD_STRING_JSON_EXT_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HEAP_STRING_JSON_EXT_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HTHREAD_STRING_JSON_EXT_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HEAP_STRING_TO_LOG_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HTHREAD_STRING_TO_LOG_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HEAP_STRING_CLOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLOG) -#define DUK_HTHREAD_STRING_CLOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLOG) -#define DUK_HEAP_STRING_LC_L(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_L) -#define DUK_HTHREAD_STRING_LC_L(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_L) -#define DUK_HEAP_STRING_LC_N(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_N) -#define DUK_HTHREAD_STRING_LC_N(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_N) -#define DUK_HEAP_STRING_LC_FATAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FATAL) -#define DUK_HTHREAD_STRING_LC_FATAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FATAL) -#define DUK_HEAP_STRING_LC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ERROR) -#define DUK_HTHREAD_STRING_LC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ERROR) -#define DUK_HEAP_STRING_LC_WARN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_WARN) -#define DUK_HTHREAD_STRING_LC_WARN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_WARN) -#define DUK_HEAP_STRING_LC_DEBUG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_DEBUG) -#define DUK_HTHREAD_STRING_LC_DEBUG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_DEBUG) -#define DUK_HEAP_STRING_LC_TRACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_TRACE) -#define DUK_HTHREAD_STRING_LC_TRACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_TRACE) -#define DUK_HEAP_STRING_RAW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RAW) -#define DUK_HTHREAD_STRING_RAW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RAW) -#define DUK_HEAP_STRING_FMT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FMT) -#define DUK_HTHREAD_STRING_FMT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FMT) -#define DUK_HEAP_STRING_CURRENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CURRENT) -#define DUK_HTHREAD_STRING_CURRENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CURRENT) -#define DUK_HEAP_STRING_RESUME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RESUME) -#define DUK_HTHREAD_STRING_RESUME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RESUME) -#define DUK_HEAP_STRING_COMPACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPACT) -#define DUK_HTHREAD_STRING_COMPACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPACT) -#define DUK_HEAP_STRING_JC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JC) -#define DUK_HTHREAD_STRING_JC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JC) -#define DUK_HEAP_STRING_JX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JX) -#define DUK_HTHREAD_STRING_JX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JX) -#define DUK_HEAP_STRING_BASE64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BASE64) -#define DUK_HTHREAD_STRING_BASE64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BASE64) -#define DUK_HEAP_STRING_HEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HEX) -#define DUK_HTHREAD_STRING_HEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HEX) -#define DUK_HEAP_STRING_DEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC) -#define DUK_HTHREAD_STRING_DEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC) -#define DUK_HEAP_STRING_ENC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENC) -#define DUK_HTHREAD_STRING_ENC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENC) -#define DUK_HEAP_STRING_FIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FIN) -#define DUK_HTHREAD_STRING_FIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FIN) -#define DUK_HEAP_STRING_GC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GC) -#define DUK_HTHREAD_STRING_GC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GC) -#define DUK_HEAP_STRING_ACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACT) -#define DUK_HTHREAD_STRING_ACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACT) -#define DUK_HEAP_STRING_LC_INFO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_INFO) -#define DUK_HTHREAD_STRING_LC_INFO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_INFO) -#define DUK_HEAP_STRING_VERSION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VERSION) -#define DUK_HTHREAD_STRING_VERSION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VERSION) -#define DUK_HEAP_STRING_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENV) -#define DUK_HTHREAD_STRING_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENV) -#define DUK_HEAP_STRING_MOD_LOADED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_LOADED) -#define DUK_HTHREAD_STRING_MOD_LOADED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_LOADED) -#define DUK_HEAP_STRING_MOD_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_SEARCH) -#define DUK_HTHREAD_STRING_MOD_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_SEARCH) -#define DUK_HEAP_STRING_ERR_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_THROW) -#define DUK_HTHREAD_STRING_ERR_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_THROW) -#define DUK_HEAP_STRING_ERR_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_CREATE) -#define DUK_HTHREAD_STRING_ERR_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_CREATE) -#define DUK_HEAP_STRING_COMPILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPILE) -#define DUK_HTHREAD_STRING_COMPILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPILE) -#define DUK_HEAP_STRING_INT_REGBASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_REGBASE) -#define DUK_HTHREAD_STRING_INT_REGBASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_REGBASE) -#define DUK_HEAP_STRING_INT_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THREAD) -#define DUK_HTHREAD_STRING_INT_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THREAD) -#define DUK_HEAP_STRING_INT_HANDLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_HANDLER) -#define DUK_HTHREAD_STRING_INT_HANDLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_HANDLER) -#define DUK_HEAP_STRING_INT_FINALIZER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FINALIZER) -#define DUK_HTHREAD_STRING_INT_FINALIZER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FINALIZER) -#define DUK_HEAP_STRING_INT_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_CALLEE) -#define DUK_HTHREAD_STRING_INT_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_CALLEE) -#define DUK_HEAP_STRING_INT_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_MAP) -#define DUK_HTHREAD_STRING_INT_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_MAP) -#define DUK_HEAP_STRING_INT_ARGS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_ARGS) -#define DUK_HTHREAD_STRING_INT_ARGS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_ARGS) -#define DUK_HEAP_STRING_INT_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THIS) -#define DUK_HTHREAD_STRING_INT_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THIS) -#define DUK_HEAP_STRING_INT_PC2LINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_PC2LINE) -#define DUK_HTHREAD_STRING_INT_PC2LINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_PC2LINE) -#define DUK_HEAP_STRING_INT_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_SOURCE) -#define DUK_HTHREAD_STRING_INT_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_SOURCE) -#define DUK_HEAP_STRING_INT_VARENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARENV) -#define DUK_HTHREAD_STRING_INT_VARENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARENV) -#define DUK_HEAP_STRING_INT_LEXENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_LEXENV) -#define DUK_HTHREAD_STRING_INT_LEXENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_LEXENV) -#define DUK_HEAP_STRING_INT_VARMAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARMAP) -#define DUK_HTHREAD_STRING_INT_VARMAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARMAP) -#define DUK_HEAP_STRING_INT_FORMALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FORMALS) -#define DUK_HTHREAD_STRING_INT_FORMALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FORMALS) -#define DUK_HEAP_STRING_INT_BYTECODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_BYTECODE) -#define DUK_HTHREAD_STRING_INT_BYTECODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_BYTECODE) -#define DUK_HEAP_STRING_INT_NEXT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_NEXT) -#define DUK_HTHREAD_STRING_INT_NEXT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_NEXT) -#define DUK_HEAP_STRING_INT_TARGET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TARGET) -#define DUK_HTHREAD_STRING_INT_TARGET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TARGET) -#define DUK_HEAP_STRING_INT_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VALUE) -#define DUK_HTHREAD_STRING_INT_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VALUE) -#define DUK_HEAP_STRING_LC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_POINTER) -#define DUK_HTHREAD_STRING_LC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_POINTER) -#define DUK_HEAP_STRING_INT_TRACEDATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TRACEDATA) -#define DUK_HTHREAD_STRING_INT_TRACEDATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TRACEDATA) -#define DUK_HEAP_STRING_LINE_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LINE_NUMBER) -#define DUK_HTHREAD_STRING_LINE_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LINE_NUMBER) -#define DUK_HEAP_STRING_FILE_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILE_NAME) -#define DUK_HTHREAD_STRING_FILE_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILE_NAME) -#define DUK_HEAP_STRING_PC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PC) -#define DUK_HTHREAD_STRING_PC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PC) -#define DUK_HEAP_STRING_STACK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STACK) -#define DUK_HTHREAD_STRING_STACK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STACK) -#define DUK_HEAP_STRING_THROW_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HTHREAD_STRING_THROW_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HEAP_STRING_DUKTAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DUKTAPE) -#define DUK_HTHREAD_STRING_DUKTAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DUKTAPE) -#define DUK_HEAP_STRING_SET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT64) -#define DUK_HTHREAD_STRING_SET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT64) -#define DUK_HEAP_STRING_SET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT32) -#define DUK_HTHREAD_STRING_SET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT32) -#define DUK_HEAP_STRING_SET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT32) -#define DUK_HTHREAD_STRING_SET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT32) -#define DUK_HEAP_STRING_SET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT32) -#define DUK_HTHREAD_STRING_SET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT32) -#define DUK_HEAP_STRING_SET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT16) -#define DUK_HTHREAD_STRING_SET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT16) -#define DUK_HEAP_STRING_SET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT16) -#define DUK_HTHREAD_STRING_SET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT16) -#define DUK_HEAP_STRING_SET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT8) -#define DUK_HTHREAD_STRING_SET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT8) -#define DUK_HEAP_STRING_SET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT8) -#define DUK_HTHREAD_STRING_SET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT8) -#define DUK_HEAP_STRING_GET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT64) -#define DUK_HTHREAD_STRING_GET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT64) -#define DUK_HEAP_STRING_GET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT32) -#define DUK_HTHREAD_STRING_GET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT32) -#define DUK_HEAP_STRING_GET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT32) -#define DUK_HTHREAD_STRING_GET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT32) -#define DUK_HEAP_STRING_GET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT32) -#define DUK_HTHREAD_STRING_GET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT32) -#define DUK_HEAP_STRING_GET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT16) -#define DUK_HTHREAD_STRING_GET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT16) -#define DUK_HEAP_STRING_GET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT16) -#define DUK_HTHREAD_STRING_GET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT16) -#define DUK_HEAP_STRING_GET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT8) -#define DUK_HTHREAD_STRING_GET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT8) -#define DUK_HEAP_STRING_GET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT8) -#define DUK_HTHREAD_STRING_GET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT8) -#define DUK_HEAP_STRING_SUBARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBARRAY) -#define DUK_HTHREAD_STRING_SUBARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBARRAY) -#define DUK_HEAP_STRING_BYTES_PER_ELEMENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HTHREAD_STRING_BYTES_PER_ELEMENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HEAP_STRING_BYTE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_OFFSET) -#define DUK_HTHREAD_STRING_BYTE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_OFFSET) -#define DUK_HEAP_STRING_LC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BUFFER) -#define DUK_HTHREAD_STRING_LC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BUFFER) -#define DUK_HEAP_STRING_IS_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_VIEW) -#define DUK_HTHREAD_STRING_IS_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_VIEW) -#define DUK_HEAP_STRING_DATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA) -#define DUK_HTHREAD_STRING_DATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA) -#define DUK_HEAP_STRING_TYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE) -#define DUK_HTHREAD_STRING_TYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE) -#define DUK_HEAP_STRING_WRITE_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HTHREAD_STRING_WRITE_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HEAP_STRING_WRITE_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HTHREAD_STRING_WRITE_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HEAP_STRING_WRITE_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HEAP_STRING_WRITE_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HEAP_STRING_WRITE_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HEAP_STRING_WRITE_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HEAP_STRING_WRITE_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HTHREAD_STRING_WRITE_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HEAP_STRING_WRITE_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HTHREAD_STRING_WRITE_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HEAP_STRING_WRITE_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HEAP_STRING_WRITE_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HEAP_STRING_WRITE_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HTHREAD_STRING_WRITE_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HEAP_STRING_WRITE_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HTHREAD_STRING_WRITE_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HEAP_STRING_WRITE_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HEAP_STRING_WRITE_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HEAP_STRING_WRITE_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT8) -#define DUK_HTHREAD_STRING_WRITE_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT8) -#define DUK_HEAP_STRING_WRITE_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT8) -#define DUK_HTHREAD_STRING_WRITE_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT8) -#define DUK_HEAP_STRING_READ_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_BE) -#define DUK_HTHREAD_STRING_READ_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_BE) -#define DUK_HEAP_STRING_READ_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_LE) -#define DUK_HTHREAD_STRING_READ_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_LE) -#define DUK_HEAP_STRING_READ_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_BE) -#define DUK_HTHREAD_STRING_READ_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_BE) -#define DUK_HEAP_STRING_READ_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_LE) -#define DUK_HTHREAD_STRING_READ_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_LE) -#define DUK_HEAP_STRING_READ_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HEAP_STRING_READ_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HEAP_STRING_READ_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HTHREAD_STRING_READ_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HEAP_STRING_READ_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HTHREAD_STRING_READ_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HEAP_STRING_READ_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_BE) -#define DUK_HTHREAD_STRING_READ_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_BE) -#define DUK_HEAP_STRING_READ_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_LE) -#define DUK_HTHREAD_STRING_READ_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_LE) -#define DUK_HEAP_STRING_READ_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HTHREAD_STRING_READ_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HEAP_STRING_READ_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HTHREAD_STRING_READ_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HEAP_STRING_READ_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_BE) -#define DUK_HTHREAD_STRING_READ_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_BE) -#define DUK_HEAP_STRING_READ_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_LE) -#define DUK_HTHREAD_STRING_READ_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_LE) -#define DUK_HEAP_STRING_READ_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HTHREAD_STRING_READ_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HEAP_STRING_READ_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HTHREAD_STRING_READ_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HEAP_STRING_READ_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT8) -#define DUK_HTHREAD_STRING_READ_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT8) -#define DUK_HEAP_STRING_READ_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT8) -#define DUK_HTHREAD_STRING_READ_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT8) -#define DUK_HEAP_STRING_COPY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COPY) -#define DUK_HTHREAD_STRING_COPY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COPY) -#define DUK_HEAP_STRING_EQUALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EQUALS) -#define DUK_HTHREAD_STRING_EQUALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EQUALS) -#define DUK_HEAP_STRING_FILL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILL) -#define DUK_HTHREAD_STRING_FILL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILL) -#define DUK_HEAP_STRING_WRITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE) -#define DUK_HTHREAD_STRING_WRITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE) -#define DUK_HEAP_STRING_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPARE) -#define DUK_HTHREAD_STRING_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPARE) -#define DUK_HEAP_STRING_BYTE_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HTHREAD_STRING_BYTE_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HEAP_STRING_IS_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_BUFFER) -#define DUK_HTHREAD_STRING_IS_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_BUFFER) -#define DUK_HEAP_STRING_IS_ENCODING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ENCODING) -#define DUK_HTHREAD_STRING_IS_ENCODING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ENCODING) -#define DUK_HEAP_STRING_EXPORTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORTS) -#define DUK_HTHREAD_STRING_EXPORTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORTS) -#define DUK_HEAP_STRING_ID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ID) -#define DUK_HTHREAD_STRING_ID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ID) -#define DUK_HEAP_STRING_REQUIRE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REQUIRE) -#define DUK_HTHREAD_STRING_REQUIRE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REQUIRE) -#define DUK_HEAP_STRING___PROTO__(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX___PROTO__) -#define DUK_HTHREAD_STRING___PROTO__(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX___PROTO__) -#define DUK_HEAP_STRING_SET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_SET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HEAP_STRING_OWN_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OWN_KEYS) -#define DUK_HTHREAD_STRING_OWN_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OWN_KEYS) -#define DUK_HEAP_STRING_ENUMERATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERATE) -#define DUK_HTHREAD_STRING_ENUMERATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERATE) -#define DUK_HEAP_STRING_DELETE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HTHREAD_STRING_DELETE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HEAP_STRING_HAS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS) -#define DUK_HTHREAD_STRING_HAS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS) -#define DUK_HEAP_STRING_PROXY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROXY) -#define DUK_HTHREAD_STRING_PROXY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROXY) -#define DUK_HEAP_STRING_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLEE) -#define DUK_HTHREAD_STRING_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLEE) -#define DUK_HEAP_STRING_INVALID_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INVALID_DATE) -#define DUK_HTHREAD_STRING_INVALID_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INVALID_DATE) -#define DUK_HEAP_STRING_BRACKETED_ELLIPSIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HTHREAD_STRING_BRACKETED_ELLIPSIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HEAP_STRING_NEWLINE_TAB(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HTHREAD_STRING_NEWLINE_TAB(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HEAP_STRING_SPACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPACE) -#define DUK_HTHREAD_STRING_SPACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPACE) -#define DUK_HEAP_STRING_COMMA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMMA) -#define DUK_HTHREAD_STRING_COMMA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMMA) -#define DUK_HEAP_STRING_MINUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_ZERO) -#define DUK_HTHREAD_STRING_MINUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_ZERO) -#define DUK_HEAP_STRING_PLUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_ZERO) -#define DUK_HTHREAD_STRING_PLUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_ZERO) -#define DUK_HEAP_STRING_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ZERO) -#define DUK_HTHREAD_STRING_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ZERO) -#define DUK_HEAP_STRING_MINUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HTHREAD_STRING_MINUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HEAP_STRING_PLUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HTHREAD_STRING_PLUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HEAP_STRING_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INFINITY) -#define DUK_HTHREAD_STRING_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INFINITY) -#define DUK_HEAP_STRING_LC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_OBJECT) -#define DUK_HTHREAD_STRING_LC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_OBJECT) -#define DUK_HEAP_STRING_LC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_STRING) -#define DUK_HTHREAD_STRING_LC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_STRING) -#define DUK_HEAP_STRING_LC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NUMBER) -#define DUK_HTHREAD_STRING_LC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NUMBER) -#define DUK_HEAP_STRING_LC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BOOLEAN) -#define DUK_HTHREAD_STRING_LC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BOOLEAN) -#define DUK_HEAP_STRING_LC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_UNDEFINED) -#define DUK_HTHREAD_STRING_LC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_UNDEFINED) -#define DUK_HEAP_STRING_STRINGIFY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STRINGIFY) -#define DUK_HTHREAD_STRING_STRINGIFY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STRINGIFY) -#define DUK_HEAP_STRING_TAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TAN) -#define DUK_HTHREAD_STRING_TAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TAN) -#define DUK_HEAP_STRING_SQRT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT) -#define DUK_HTHREAD_STRING_SQRT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT) -#define DUK_HEAP_STRING_SIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SIN) -#define DUK_HTHREAD_STRING_SIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SIN) -#define DUK_HEAP_STRING_ROUND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ROUND) -#define DUK_HTHREAD_STRING_ROUND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ROUND) -#define DUK_HEAP_STRING_RANDOM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANDOM) -#define DUK_HTHREAD_STRING_RANDOM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANDOM) -#define DUK_HEAP_STRING_POW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POW) -#define DUK_HTHREAD_STRING_POW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POW) -#define DUK_HEAP_STRING_MIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN) -#define DUK_HTHREAD_STRING_MIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN) -#define DUK_HEAP_STRING_MAX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX) -#define DUK_HTHREAD_STRING_MAX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX) -#define DUK_HEAP_STRING_LOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG) -#define DUK_HTHREAD_STRING_LOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG) -#define DUK_HEAP_STRING_FLOOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOOR) -#define DUK_HTHREAD_STRING_FLOOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOOR) -#define DUK_HEAP_STRING_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXP) -#define DUK_HTHREAD_STRING_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXP) -#define DUK_HEAP_STRING_COS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COS) -#define DUK_HTHREAD_STRING_COS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COS) -#define DUK_HEAP_STRING_CEIL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CEIL) -#define DUK_HTHREAD_STRING_CEIL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CEIL) -#define DUK_HEAP_STRING_ATAN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN2) -#define DUK_HTHREAD_STRING_ATAN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN2) -#define DUK_HEAP_STRING_ATAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN) -#define DUK_HTHREAD_STRING_ATAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN) -#define DUK_HEAP_STRING_ASIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ASIN) -#define DUK_HTHREAD_STRING_ASIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ASIN) -#define DUK_HEAP_STRING_ACOS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACOS) -#define DUK_HTHREAD_STRING_ACOS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACOS) -#define DUK_HEAP_STRING_ABS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ABS) -#define DUK_HTHREAD_STRING_ABS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ABS) -#define DUK_HEAP_STRING_SQRT2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT2) -#define DUK_HTHREAD_STRING_SQRT2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT2) -#define DUK_HEAP_STRING_SQRT1_2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT1_2) -#define DUK_HTHREAD_STRING_SQRT1_2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT1_2) -#define DUK_HEAP_STRING_PI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PI) -#define DUK_HTHREAD_STRING_PI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PI) -#define DUK_HEAP_STRING_LOG10E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG10E) -#define DUK_HTHREAD_STRING_LOG10E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG10E) -#define DUK_HEAP_STRING_LOG2E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG2E) -#define DUK_HTHREAD_STRING_LOG2E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG2E) -#define DUK_HEAP_STRING_LN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN2) -#define DUK_HTHREAD_STRING_LN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN2) -#define DUK_HEAP_STRING_LN10(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN10) -#define DUK_HTHREAD_STRING_LN10(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN10) -#define DUK_HEAP_STRING_E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_E) -#define DUK_HTHREAD_STRING_E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_E) -#define DUK_HEAP_STRING_MESSAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MESSAGE) -#define DUK_HTHREAD_STRING_MESSAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MESSAGE) -#define DUK_HEAP_STRING_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAME) -#define DUK_HTHREAD_STRING_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAME) -#define DUK_HEAP_STRING_INPUT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INPUT) -#define DUK_HTHREAD_STRING_INPUT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INPUT) -#define DUK_HEAP_STRING_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX) -#define DUK_HTHREAD_STRING_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX) -#define DUK_HEAP_STRING_ESCAPED_EMPTY_REGEXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HTHREAD_STRING_ESCAPED_EMPTY_REGEXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HEAP_STRING_LAST_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX) -#define DUK_HTHREAD_STRING_LAST_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX) -#define DUK_HEAP_STRING_MULTILINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MULTILINE) -#define DUK_HTHREAD_STRING_MULTILINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MULTILINE) -#define DUK_HEAP_STRING_IGNORE_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IGNORE_CASE) -#define DUK_HTHREAD_STRING_IGNORE_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IGNORE_CASE) -#define DUK_HEAP_STRING_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOURCE) -#define DUK_HTHREAD_STRING_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOURCE) -#define DUK_HEAP_STRING_TEST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TEST) -#define DUK_HTHREAD_STRING_TEST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TEST) -#define DUK_HEAP_STRING_EXEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXEC) -#define DUK_HTHREAD_STRING_EXEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXEC) -#define DUK_HEAP_STRING_TO_GMT_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HTHREAD_STRING_TO_GMT_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HEAP_STRING_SET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_YEAR) -#define DUK_HTHREAD_STRING_SET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_YEAR) -#define DUK_HEAP_STRING_GET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_YEAR) -#define DUK_HTHREAD_STRING_GET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_YEAR) -#define DUK_HEAP_STRING_TO_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_JSON) -#define DUK_HTHREAD_STRING_TO_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_JSON) -#define DUK_HEAP_STRING_TO_ISO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HTHREAD_STRING_TO_ISO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HEAP_STRING_TO_UTC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HTHREAD_STRING_TO_UTC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HEAP_STRING_SET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_SET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HEAP_STRING_SET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HTHREAD_STRING_SET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HEAP_STRING_SET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MONTH) -#define DUK_HTHREAD_STRING_SET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MONTH) -#define DUK_HEAP_STRING_SET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HTHREAD_STRING_SET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HEAP_STRING_SET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_DATE) -#define DUK_HTHREAD_STRING_SET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_DATE) -#define DUK_HEAP_STRING_SET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HTHREAD_STRING_SET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HEAP_STRING_SET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_HOURS) -#define DUK_HTHREAD_STRING_SET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_HOURS) -#define DUK_HEAP_STRING_SET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_SET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HEAP_STRING_SET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MINUTES) -#define DUK_HTHREAD_STRING_SET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MINUTES) -#define DUK_HEAP_STRING_SET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HEAP_STRING_SET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_SECONDS) -#define DUK_HTHREAD_STRING_SET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_SECONDS) -#define DUK_HEAP_STRING_SET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_SET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HEAP_STRING_SET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_TIME) -#define DUK_HTHREAD_STRING_SET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_TIME) -#define DUK_HEAP_STRING_GET_TIMEZONE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HTHREAD_STRING_GET_TIMEZONE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HEAP_STRING_GET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_GET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HEAP_STRING_GET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HEAP_STRING_GET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_SECONDS) -#define DUK_HTHREAD_STRING_GET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_SECONDS) -#define DUK_HEAP_STRING_GET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_GET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HEAP_STRING_GET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MINUTES) -#define DUK_HTHREAD_STRING_GET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MINUTES) -#define DUK_HEAP_STRING_GET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HTHREAD_STRING_GET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HEAP_STRING_GET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_HOURS) -#define DUK_HTHREAD_STRING_GET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_HOURS) -#define DUK_HEAP_STRING_GET_UTC_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HTHREAD_STRING_GET_UTC_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HEAP_STRING_GET_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DAY) -#define DUK_HTHREAD_STRING_GET_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DAY) -#define DUK_HEAP_STRING_GET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HTHREAD_STRING_GET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HEAP_STRING_GET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DATE) -#define DUK_HTHREAD_STRING_GET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DATE) -#define DUK_HEAP_STRING_GET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HTHREAD_STRING_GET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HEAP_STRING_GET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MONTH) -#define DUK_HTHREAD_STRING_GET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MONTH) -#define DUK_HEAP_STRING_GET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_GET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HEAP_STRING_GET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIME) -#define DUK_HTHREAD_STRING_GET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIME) -#define DUK_HEAP_STRING_TO_LOCALE_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HEAP_STRING_TO_LOCALE_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HEAP_STRING_TO_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HEAP_STRING_TO_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HEAP_STRING_NOW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NOW) -#define DUK_HTHREAD_STRING_NOW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NOW) -#define DUK_HEAP_STRING_UTC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UTC) -#define DUK_HTHREAD_STRING_UTC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UTC) -#define DUK_HEAP_STRING_PARSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE) -#define DUK_HTHREAD_STRING_PARSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE) -#define DUK_HEAP_STRING_TO_PRECISION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_PRECISION) -#define DUK_HTHREAD_STRING_TO_PRECISION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_PRECISION) -#define DUK_HEAP_STRING_TO_EXPONENTIAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HTHREAD_STRING_TO_EXPONENTIAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HEAP_STRING_TO_FIXED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_FIXED) -#define DUK_HTHREAD_STRING_TO_FIXED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_FIXED) -#define DUK_HEAP_STRING_POSITIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HTHREAD_STRING_POSITIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HEAP_STRING_NEGATIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEGATIVE_INFINITY) -#define DUK_HTHREAD_STRING_NEGATIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEGATIVE_INFINITY) -#define DUK_HEAP_STRING_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAN) -#define DUK_HTHREAD_STRING_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAN) -#define DUK_HEAP_STRING_MIN_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN_VALUE) -#define DUK_HTHREAD_STRING_MIN_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN_VALUE) -#define DUK_HEAP_STRING_MAX_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX_VALUE) -#define DUK_HTHREAD_STRING_MAX_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX_VALUE) -#define DUK_HEAP_STRING_SUBSTR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTR) -#define DUK_HTHREAD_STRING_SUBSTR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTR) -#define DUK_HEAP_STRING_TRIM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRIM) -#define DUK_HTHREAD_STRING_TRIM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRIM) -#define DUK_HEAP_STRING_TO_LOCALE_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HEAP_STRING_TO_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HEAP_STRING_TO_LOCALE_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HEAP_STRING_TO_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HEAP_STRING_SUBSTRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTRING) -#define DUK_HTHREAD_STRING_SUBSTRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTRING) -#define DUK_HEAP_STRING_SPLIT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLIT) -#define DUK_HTHREAD_STRING_SPLIT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLIT) -#define DUK_HEAP_STRING_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEARCH) -#define DUK_HTHREAD_STRING_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEARCH) -#define DUK_HEAP_STRING_REPLACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REPLACE) -#define DUK_HTHREAD_STRING_REPLACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REPLACE) -#define DUK_HEAP_STRING_MATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATCH) -#define DUK_HTHREAD_STRING_MATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATCH) -#define DUK_HEAP_STRING_LOCALE_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HTHREAD_STRING_LOCALE_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HEAP_STRING_CHAR_CODE_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HTHREAD_STRING_CHAR_CODE_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HEAP_STRING_CHAR_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_AT) -#define DUK_HTHREAD_STRING_CHAR_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_AT) -#define DUK_HEAP_STRING_FROM_CHAR_CODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HTHREAD_STRING_FROM_CHAR_CODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HEAP_STRING_REDUCE_RIGHT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HTHREAD_STRING_REDUCE_RIGHT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HEAP_STRING_REDUCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE) -#define DUK_HTHREAD_STRING_REDUCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE) -#define DUK_HEAP_STRING_FILTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILTER) -#define DUK_HTHREAD_STRING_FILTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILTER) -#define DUK_HEAP_STRING_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAP) -#define DUK_HTHREAD_STRING_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAP) -#define DUK_HEAP_STRING_FOR_EACH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR_EACH) -#define DUK_HTHREAD_STRING_FOR_EACH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR_EACH) -#define DUK_HEAP_STRING_SOME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOME) -#define DUK_HTHREAD_STRING_SOME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOME) -#define DUK_HEAP_STRING_EVERY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVERY) -#define DUK_HTHREAD_STRING_EVERY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVERY) -#define DUK_HEAP_STRING_LAST_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HTHREAD_STRING_LAST_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HEAP_STRING_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX_OF) -#define DUK_HTHREAD_STRING_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX_OF) -#define DUK_HEAP_STRING_UNSHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNSHIFT) -#define DUK_HTHREAD_STRING_UNSHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNSHIFT) -#define DUK_HEAP_STRING_SPLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLICE) -#define DUK_HTHREAD_STRING_SPLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLICE) -#define DUK_HEAP_STRING_SORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SORT) -#define DUK_HTHREAD_STRING_SORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SORT) -#define DUK_HEAP_STRING_SLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SLICE) -#define DUK_HTHREAD_STRING_SLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SLICE) -#define DUK_HEAP_STRING_SHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SHIFT) -#define DUK_HTHREAD_STRING_SHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SHIFT) -#define DUK_HEAP_STRING_REVERSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REVERSE) -#define DUK_HTHREAD_STRING_REVERSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REVERSE) -#define DUK_HEAP_STRING_PUSH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUSH) -#define DUK_HTHREAD_STRING_PUSH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUSH) -#define DUK_HEAP_STRING_POP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POP) -#define DUK_HTHREAD_STRING_POP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POP) +#define DUK_STRIDX_OBJ_ENV 27 /* 'ObjEnv' */ +#define DUK_HEAP_STRING_OBJ_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OBJ_ENV) +#define DUK_HTHREAD_STRING_OBJ_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OBJ_ENV) +#define DUK_STRIDX_DEC_ENV 28 /* 'DecEnv' */ +#define DUK_HEAP_STRING_DEC_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC_ENV) +#define DUK_HTHREAD_STRING_DEC_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC_ENV) +#define DUK_STRIDX_UC_BUFFER 29 /* 'Buffer' */ +#define DUK_HEAP_STRING_UC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BUFFER) +#define DUK_HTHREAD_STRING_UC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BUFFER) +#define DUK_STRIDX_UC_POINTER 30 /* 'Pointer' */ +#define DUK_HEAP_STRING_UC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_POINTER) +#define DUK_HTHREAD_STRING_UC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_POINTER) +#define DUK_STRIDX_UC_THREAD 31 /* 'Thread' */ +#define DUK_HEAP_STRING_UC_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_THREAD) +#define DUK_HTHREAD_STRING_UC_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_THREAD) +#define DUK_STRIDX_EVAL 32 /* 'eval' */ +#define DUK_HEAP_STRING_EVAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL) +#define DUK_HTHREAD_STRING_EVAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL) +#define DUK_STRIDX_DEFINE_PROPERTY 33 /* 'defineProperty' */ +#define DUK_HEAP_STRING_DEFINE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTY) +#define DUK_HTHREAD_STRING_DEFINE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTY) +#define DUK_STRIDX_VALUE 34 /* 'value' */ +#define DUK_HEAP_STRING_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE) +#define DUK_HTHREAD_STRING_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE) +#define DUK_STRIDX_WRITABLE 35 /* 'writable' */ +#define DUK_HEAP_STRING_WRITABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITABLE) +#define DUK_HTHREAD_STRING_WRITABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITABLE) +#define DUK_STRIDX_CONFIGURABLE 36 /* 'configurable' */ +#define DUK_HEAP_STRING_CONFIGURABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONFIGURABLE) +#define DUK_HTHREAD_STRING_CONFIGURABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONFIGURABLE) +#define DUK_STRIDX_ENUMERABLE 37 /* 'enumerable' */ +#define DUK_HEAP_STRING_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERABLE) +#define DUK_HTHREAD_STRING_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERABLE) +#define DUK_STRIDX_JOIN 38 /* 'join' */ #define DUK_HEAP_STRING_JOIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JOIN) #define DUK_HTHREAD_STRING_JOIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JOIN) -#define DUK_HEAP_STRING_CONCAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONCAT) -#define DUK_HTHREAD_STRING_CONCAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONCAT) -#define DUK_HEAP_STRING_IS_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ARRAY) -#define DUK_HTHREAD_STRING_IS_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ARRAY) -#define DUK_HEAP_STRING_LC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ARGUMENTS) -#define DUK_HTHREAD_STRING_LC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ARGUMENTS) -#define DUK_HEAP_STRING_CALLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLER) -#define DUK_HTHREAD_STRING_CALLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLER) -#define DUK_HEAP_STRING_BIND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BIND) -#define DUK_HTHREAD_STRING_BIND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BIND) -#define DUK_HEAP_STRING_CALL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALL) -#define DUK_HTHREAD_STRING_CALL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALL) -#define DUK_HEAP_STRING_APPLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_APPLY) -#define DUK_HTHREAD_STRING_APPLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_APPLY) -#define DUK_HEAP_STRING_PROPERTY_IS_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HTHREAD_STRING_PROPERTY_IS_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HEAP_STRING_IS_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_IS_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HEAP_STRING_HAS_OWN_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HTHREAD_STRING_HAS_OWN_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HEAP_STRING_VALUE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE_OF) -#define DUK_HTHREAD_STRING_VALUE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE_OF) +#define DUK_STRIDX_TO_LOCALE_STRING 39 /* 'toLocaleString' */ #define DUK_HEAP_STRING_TO_LOCALE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_STRING) #define DUK_HTHREAD_STRING_TO_LOCALE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_STRING) -#define DUK_HEAP_STRING_TO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_STRING) -#define DUK_HTHREAD_STRING_TO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_STRING) -#define DUK_HEAP_STRING_CONSTRUCTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HTHREAD_STRING_CONSTRUCTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HEAP_STRING_SET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET) -#define DUK_HTHREAD_STRING_SET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET) -#define DUK_HEAP_STRING_GET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET) -#define DUK_HTHREAD_STRING_GET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET) -#define DUK_HEAP_STRING_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERABLE) -#define DUK_HTHREAD_STRING_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERABLE) -#define DUK_HEAP_STRING_CONFIGURABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONFIGURABLE) -#define DUK_HTHREAD_STRING_CONFIGURABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONFIGURABLE) -#define DUK_HEAP_STRING_WRITABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITABLE) -#define DUK_HTHREAD_STRING_WRITABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITABLE) -#define DUK_HEAP_STRING_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE) -#define DUK_HTHREAD_STRING_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE) -#define DUK_HEAP_STRING_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_KEYS) -#define DUK_HTHREAD_STRING_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_KEYS) -#define DUK_HEAP_STRING_IS_EXTENSIBLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HTHREAD_STRING_IS_EXTENSIBLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HEAP_STRING_IS_FROZEN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FROZEN) -#define DUK_HTHREAD_STRING_IS_FROZEN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FROZEN) -#define DUK_HEAP_STRING_IS_SEALED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_SEALED) -#define DUK_HTHREAD_STRING_IS_SEALED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_SEALED) -#define DUK_HEAP_STRING_PREVENT_EXTENSIONS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HTHREAD_STRING_PREVENT_EXTENSIONS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HEAP_STRING_FREEZE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FREEZE) -#define DUK_HTHREAD_STRING_FREEZE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FREEZE) -#define DUK_HEAP_STRING_SEAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEAL) -#define DUK_HTHREAD_STRING_SEAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEAL) -#define DUK_HEAP_STRING_DEFINE_PROPERTIES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTIES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HEAP_STRING_DEFINE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HEAP_STRING_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CREATE) -#define DUK_HTHREAD_STRING_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CREATE) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_NAMES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_NAMES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_DESCRIPTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_DESCRIPTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HEAP_STRING_GET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_GET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_PROTOTYPE_OF) +#define DUK_STRIDX_VALUE_OF 40 /* 'valueOf' */ +#define DUK_HEAP_STRING_VALUE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE_OF) +#define DUK_HTHREAD_STRING_VALUE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE_OF) +#define DUK_STRIDX_TO_UTC_STRING 41 /* 'toUTCString' */ +#define DUK_HEAP_STRING_TO_UTC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UTC_STRING) +#define DUK_HTHREAD_STRING_TO_UTC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UTC_STRING) +#define DUK_STRIDX_TO_ISO_STRING 42 /* 'toISOString' */ +#define DUK_HEAP_STRING_TO_ISO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_ISO_STRING) +#define DUK_HTHREAD_STRING_TO_ISO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_ISO_STRING) +#define DUK_STRIDX_TO_GMT_STRING 43 /* 'toGMTString' */ +#define DUK_HEAP_STRING_TO_GMT_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_GMT_STRING) +#define DUK_HTHREAD_STRING_TO_GMT_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_GMT_STRING) +#define DUK_STRIDX_SOURCE 44 /* 'source' */ +#define DUK_HEAP_STRING_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOURCE) +#define DUK_HTHREAD_STRING_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOURCE) +#define DUK_STRIDX_IGNORE_CASE 45 /* 'ignoreCase' */ +#define DUK_HEAP_STRING_IGNORE_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IGNORE_CASE) +#define DUK_HTHREAD_STRING_IGNORE_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IGNORE_CASE) +#define DUK_STRIDX_MULTILINE 46 /* 'multiline' */ +#define DUK_HEAP_STRING_MULTILINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MULTILINE) +#define DUK_HTHREAD_STRING_MULTILINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MULTILINE) +#define DUK_STRIDX_LAST_INDEX 47 /* 'lastIndex' */ +#define DUK_HEAP_STRING_LAST_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX) +#define DUK_HTHREAD_STRING_LAST_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX) +#define DUK_STRIDX_ESCAPED_EMPTY_REGEXP 48 /* '(?:)' */ +#define DUK_HEAP_STRING_ESCAPED_EMPTY_REGEXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) +#define DUK_HTHREAD_STRING_ESCAPED_EMPTY_REGEXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) +#define DUK_STRIDX_INDEX 49 /* 'index' */ +#define DUK_HEAP_STRING_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX) +#define DUK_HTHREAD_STRING_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX) +#define DUK_STRIDX_PROTOTYPE 50 /* 'prototype' */ #define DUK_HEAP_STRING_PROTOTYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTOTYPE) #define DUK_HTHREAD_STRING_PROTOTYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTOTYPE) -#define DUK_HEAP_STRING_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LENGTH) -#define DUK_HTHREAD_STRING_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LENGTH) -#define DUK_HEAP_STRING_ALERT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ALERT) -#define DUK_HTHREAD_STRING_ALERT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ALERT) -#define DUK_HEAP_STRING_PRINT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRINT) -#define DUK_HTHREAD_STRING_PRINT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRINT) -#define DUK_HEAP_STRING_UNESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNESCAPE) -#define DUK_HTHREAD_STRING_UNESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNESCAPE) -#define DUK_HEAP_STRING_ESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPE) -#define DUK_HTHREAD_STRING_ESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPE) -#define DUK_HEAP_STRING_ENCODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_ENCODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HEAP_STRING_ENCODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI) -#define DUK_HTHREAD_STRING_ENCODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI) -#define DUK_HEAP_STRING_DECODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_DECODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HEAP_STRING_DECODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI) -#define DUK_HTHREAD_STRING_DECODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI) -#define DUK_HEAP_STRING_IS_FINITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FINITE) -#define DUK_HTHREAD_STRING_IS_FINITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FINITE) -#define DUK_HEAP_STRING_IS_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_NAN) -#define DUK_HTHREAD_STRING_IS_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_NAN) -#define DUK_HEAP_STRING_PARSE_FLOAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HTHREAD_STRING_PARSE_FLOAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HEAP_STRING_PARSE_INT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_INT) -#define DUK_HTHREAD_STRING_PARSE_INT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_INT) -#define DUK_HEAP_STRING_EVAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL) -#define DUK_HTHREAD_STRING_EVAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL) -#define DUK_HEAP_STRING_URI_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_URI_ERROR) -#define DUK_HTHREAD_STRING_URI_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_URI_ERROR) -#define DUK_HEAP_STRING_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE_ERROR) -#define DUK_HTHREAD_STRING_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE_ERROR) -#define DUK_HEAP_STRING_SYNTAX_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HTHREAD_STRING_SYNTAX_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HEAP_STRING_REFERENCE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HTHREAD_STRING_REFERENCE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HEAP_STRING_RANGE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANGE_ERROR) -#define DUK_HTHREAD_STRING_RANGE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANGE_ERROR) -#define DUK_HEAP_STRING_EVAL_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL_ERROR) -#define DUK_HTHREAD_STRING_EVAL_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL_ERROR) -#define DUK_HEAP_STRING_BREAK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BREAK) -#define DUK_HTHREAD_STRING_BREAK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BREAK) -#define DUK_HEAP_STRING_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CASE) -#define DUK_HTHREAD_STRING_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CASE) -#define DUK_HEAP_STRING_CATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CATCH) -#define DUK_HTHREAD_STRING_CATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CATCH) -#define DUK_HEAP_STRING_CONTINUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONTINUE) -#define DUK_HTHREAD_STRING_CONTINUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONTINUE) -#define DUK_HEAP_STRING_DEBUGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEBUGGER) -#define DUK_HTHREAD_STRING_DEBUGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEBUGGER) -#define DUK_HEAP_STRING_DEFAULT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFAULT) -#define DUK_HTHREAD_STRING_DEFAULT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFAULT) -#define DUK_HEAP_STRING_DELETE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE) -#define DUK_HTHREAD_STRING_DELETE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE) -#define DUK_HEAP_STRING_DO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DO) -#define DUK_HTHREAD_STRING_DO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DO) -#define DUK_HEAP_STRING_ELSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ELSE) -#define DUK_HTHREAD_STRING_ELSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ELSE) -#define DUK_HEAP_STRING_FINALLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FINALLY) -#define DUK_HTHREAD_STRING_FINALLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FINALLY) -#define DUK_HEAP_STRING_FOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR) -#define DUK_HTHREAD_STRING_FOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR) -#define DUK_HEAP_STRING_LC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FUNCTION) -#define DUK_HTHREAD_STRING_LC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FUNCTION) -#define DUK_HEAP_STRING_IF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IF) -#define DUK_HTHREAD_STRING_IF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IF) -#define DUK_HEAP_STRING_IN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IN) -#define DUK_HTHREAD_STRING_IN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IN) -#define DUK_HEAP_STRING_INSTANCEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INSTANCEOF) -#define DUK_HTHREAD_STRING_INSTANCEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INSTANCEOF) -#define DUK_HEAP_STRING_NEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEW) -#define DUK_HTHREAD_STRING_NEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEW) -#define DUK_HEAP_STRING_RETURN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RETURN) -#define DUK_HTHREAD_STRING_RETURN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RETURN) -#define DUK_HEAP_STRING_SWITCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SWITCH) -#define DUK_HTHREAD_STRING_SWITCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SWITCH) -#define DUK_HEAP_STRING_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THIS) -#define DUK_HTHREAD_STRING_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THIS) -#define DUK_HEAP_STRING_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW) -#define DUK_HTHREAD_STRING_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW) -#define DUK_HEAP_STRING_TRY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRY) -#define DUK_HTHREAD_STRING_TRY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRY) -#define DUK_HEAP_STRING_TYPEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPEOF) -#define DUK_HTHREAD_STRING_TYPEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPEOF) -#define DUK_HEAP_STRING_VAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VAR) -#define DUK_HTHREAD_STRING_VAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VAR) -#define DUK_HEAP_STRING_CONST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONST) -#define DUK_HTHREAD_STRING_CONST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONST) -#define DUK_HEAP_STRING_VOID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VOID) -#define DUK_HTHREAD_STRING_VOID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VOID) -#define DUK_HEAP_STRING_WHILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WHILE) -#define DUK_HTHREAD_STRING_WHILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WHILE) -#define DUK_HEAP_STRING_WITH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WITH) -#define DUK_HTHREAD_STRING_WITH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WITH) -#define DUK_HEAP_STRING_CLASS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLASS) -#define DUK_HTHREAD_STRING_CLASS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLASS) -#define DUK_HEAP_STRING_ENUM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUM) -#define DUK_HTHREAD_STRING_ENUM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUM) -#define DUK_HEAP_STRING_EXPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORT) -#define DUK_HTHREAD_STRING_EXPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORT) -#define DUK_HEAP_STRING_EXTENDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXTENDS) -#define DUK_HTHREAD_STRING_EXTENDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXTENDS) -#define DUK_HEAP_STRING_IMPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPORT) -#define DUK_HTHREAD_STRING_IMPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPORT) -#define DUK_HEAP_STRING_SUPER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUPER) -#define DUK_HTHREAD_STRING_SUPER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUPER) -#define DUK_HEAP_STRING_LC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NULL) -#define DUK_HTHREAD_STRING_LC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NULL) -#define DUK_HEAP_STRING_TRUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRUE) -#define DUK_HTHREAD_STRING_TRUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRUE) -#define DUK_HEAP_STRING_FALSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FALSE) -#define DUK_HTHREAD_STRING_FALSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FALSE) -#define DUK_HEAP_STRING_IMPLEMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPLEMENTS) -#define DUK_HTHREAD_STRING_IMPLEMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPLEMENTS) -#define DUK_HEAP_STRING_INTERFACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INTERFACE) -#define DUK_HTHREAD_STRING_INTERFACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INTERFACE) -#define DUK_HEAP_STRING_LET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LET) -#define DUK_HTHREAD_STRING_LET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LET) -#define DUK_HEAP_STRING_PACKAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PACKAGE) -#define DUK_HTHREAD_STRING_PACKAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PACKAGE) -#define DUK_HEAP_STRING_PRIVATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRIVATE) -#define DUK_HTHREAD_STRING_PRIVATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRIVATE) -#define DUK_HEAP_STRING_PROTECTED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTECTED) -#define DUK_HTHREAD_STRING_PROTECTED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTECTED) -#define DUK_HEAP_STRING_PUBLIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUBLIC) -#define DUK_HTHREAD_STRING_PUBLIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUBLIC) -#define DUK_HEAP_STRING_STATIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STATIC) -#define DUK_HTHREAD_STRING_STATIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STATIC) -#define DUK_HEAP_STRING_YIELD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_YIELD) -#define DUK_HTHREAD_STRING_YIELD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_YIELD) - -#define DUK_HEAP_NUM_STRINGS 414 - -#define DUK_STRIDX_START_RESERVED 369 -#define DUK_STRIDX_START_STRICT_RESERVED 405 -#define DUK_STRIDX_END_RESERVED 414 /* exclusive endpoint */ - -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const duk_c_function duk_bi_native_functions[149]; -DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[1955]; -#ifdef DUK_USE_BUILTIN_INITJS -DUK_INTERNAL_DECL const duk_uint8_t duk_initjs_data[187]; -#endif /* DUK_USE_BUILTIN_INITJS */ -#endif /* !DUK_SINGLE_FILE */ - -#define DUK_BUILTINS_DATA_LENGTH 1955 -#ifdef DUK_USE_BUILTIN_INITJS -#define DUK_BUILTIN_INITJS_DATA_LENGTH 187 -#endif /* DUK_USE_BUILTIN_INITJS */ - -#define DUK_BIDX_GLOBAL 0 -#define DUK_BIDX_GLOBAL_ENV 1 -#define DUK_BIDX_OBJECT_CONSTRUCTOR 2 -#define DUK_BIDX_OBJECT_PROTOTYPE 3 -#define DUK_BIDX_FUNCTION_CONSTRUCTOR 4 -#define DUK_BIDX_FUNCTION_PROTOTYPE 5 -#define DUK_BIDX_ARRAY_CONSTRUCTOR 6 -#define DUK_BIDX_ARRAY_PROTOTYPE 7 -#define DUK_BIDX_STRING_CONSTRUCTOR 8 -#define DUK_BIDX_STRING_PROTOTYPE 9 -#define DUK_BIDX_BOOLEAN_CONSTRUCTOR 10 -#define DUK_BIDX_BOOLEAN_PROTOTYPE 11 -#define DUK_BIDX_NUMBER_CONSTRUCTOR 12 -#define DUK_BIDX_NUMBER_PROTOTYPE 13 -#define DUK_BIDX_DATE_CONSTRUCTOR 14 -#define DUK_BIDX_DATE_PROTOTYPE 15 -#define DUK_BIDX_REGEXP_CONSTRUCTOR 16 -#define DUK_BIDX_REGEXP_PROTOTYPE 17 -#define DUK_BIDX_ERROR_CONSTRUCTOR 18 -#define DUK_BIDX_ERROR_PROTOTYPE 19 -#define DUK_BIDX_EVAL_ERROR_CONSTRUCTOR 20 -#define DUK_BIDX_EVAL_ERROR_PROTOTYPE 21 -#define DUK_BIDX_RANGE_ERROR_CONSTRUCTOR 22 -#define DUK_BIDX_RANGE_ERROR_PROTOTYPE 23 -#define DUK_BIDX_REFERENCE_ERROR_CONSTRUCTOR 24 -#define DUK_BIDX_REFERENCE_ERROR_PROTOTYPE 25 -#define DUK_BIDX_SYNTAX_ERROR_CONSTRUCTOR 26 -#define DUK_BIDX_SYNTAX_ERROR_PROTOTYPE 27 -#define DUK_BIDX_TYPE_ERROR_CONSTRUCTOR 28 -#define DUK_BIDX_TYPE_ERROR_PROTOTYPE 29 -#define DUK_BIDX_URI_ERROR_CONSTRUCTOR 30 -#define DUK_BIDX_URI_ERROR_PROTOTYPE 31 -#define DUK_BIDX_MATH 32 -#define DUK_BIDX_JSON 33 -#define DUK_BIDX_TYPE_ERROR_THROWER 34 -#define DUK_BIDX_PROXY_CONSTRUCTOR 35 -#define DUK_BIDX_DUKTAPE 36 -#define DUK_BIDX_THREAD_CONSTRUCTOR 37 -#define DUK_BIDX_THREAD_PROTOTYPE 38 -#define DUK_BIDX_BUFFER_CONSTRUCTOR 39 -#define DUK_BIDX_BUFFER_PROTOTYPE 40 -#define DUK_BIDX_POINTER_CONSTRUCTOR 41 -#define DUK_BIDX_POINTER_PROTOTYPE 42 -#define DUK_BIDX_LOGGER_CONSTRUCTOR 43 -#define DUK_BIDX_LOGGER_PROTOTYPE 44 -#define DUK_BIDX_DOUBLE_ERROR 45 -#define DUK_BIDX_ARRAYBUFFER_CONSTRUCTOR 46 -#define DUK_BIDX_ARRAYBUFFER_PROTOTYPE 47 -#define DUK_BIDX_DATAVIEW_CONSTRUCTOR 48 -#define DUK_BIDX_DATAVIEW_PROTOTYPE 49 -#define DUK_BIDX_TYPEDARRAY_PROTOTYPE 50 -#define DUK_BIDX_INT8ARRAY_CONSTRUCTOR 51 -#define DUK_BIDX_INT8ARRAY_PROTOTYPE 52 -#define DUK_BIDX_UINT8ARRAY_CONSTRUCTOR 53 -#define DUK_BIDX_UINT8ARRAY_PROTOTYPE 54 -#define DUK_BIDX_UINT8CLAMPEDARRAY_CONSTRUCTOR 55 -#define DUK_BIDX_UINT8CLAMPEDARRAY_PROTOTYPE 56 -#define DUK_BIDX_INT16ARRAY_CONSTRUCTOR 57 -#define DUK_BIDX_INT16ARRAY_PROTOTYPE 58 -#define DUK_BIDX_UINT16ARRAY_CONSTRUCTOR 59 -#define DUK_BIDX_UINT16ARRAY_PROTOTYPE 60 -#define DUK_BIDX_INT32ARRAY_CONSTRUCTOR 61 -#define DUK_BIDX_INT32ARRAY_PROTOTYPE 62 -#define DUK_BIDX_UINT32ARRAY_CONSTRUCTOR 63 -#define DUK_BIDX_UINT32ARRAY_PROTOTYPE 64 -#define DUK_BIDX_FLOAT32ARRAY_CONSTRUCTOR 65 -#define DUK_BIDX_FLOAT32ARRAY_PROTOTYPE 66 -#define DUK_BIDX_FLOAT64ARRAY_CONSTRUCTOR 67 -#define DUK_BIDX_FLOAT64ARRAY_PROTOTYPE 68 -#define DUK_BIDX_NODEJS_BUFFER_CONSTRUCTOR 69 -#define DUK_BIDX_NODEJS_BUFFER_PROTOTYPE 70 - -#define DUK_NUM_BUILTINS 71 - -#elif defined(DUK_USE_DOUBLE_BE) -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const duk_uint8_t duk_strings_data[2624]; -#endif /* !DUK_SINGLE_FILE */ - -#define DUK_STRDATA_DATA_LENGTH 2624 -#define DUK_STRDATA_MAX_STRLEN 24 - -#define DUK_STRIDX_UC_LOGGER 0 /* 'Logger' */ -#define DUK_STRIDX_UC_THREAD 1 /* 'Thread' */ -#define DUK_STRIDX_UC_POINTER 2 /* 'Pointer' */ -#define DUK_STRIDX_DEC_ENV 3 /* 'DecEnv' */ -#define DUK_STRIDX_OBJ_ENV 4 /* 'ObjEnv' */ -#define DUK_STRIDX_FLOAT64_ARRAY 5 /* 'Float64Array' */ -#define DUK_STRIDX_FLOAT32_ARRAY 6 /* 'Float32Array' */ -#define DUK_STRIDX_UINT32_ARRAY 7 /* 'Uint32Array' */ -#define DUK_STRIDX_INT32_ARRAY 8 /* 'Int32Array' */ -#define DUK_STRIDX_UINT16_ARRAY 9 /* 'Uint16Array' */ -#define DUK_STRIDX_INT16_ARRAY 10 /* 'Int16Array' */ -#define DUK_STRIDX_UINT8_CLAMPED_ARRAY 11 /* 'Uint8ClampedArray' */ -#define DUK_STRIDX_UINT8_ARRAY 12 /* 'Uint8Array' */ -#define DUK_STRIDX_INT8_ARRAY 13 /* 'Int8Array' */ -#define DUK_STRIDX_DATA_VIEW 14 /* 'DataView' */ -#define DUK_STRIDX_ARRAY_BUFFER 15 /* 'ArrayBuffer' */ -#define DUK_STRIDX_UC_BUFFER 16 /* 'Buffer' */ -#define DUK_STRIDX_EMPTY_STRING 17 /* '' */ -#define DUK_STRIDX_GLOBAL 18 /* 'global' */ -#define DUK_STRIDX_UC_ARGUMENTS 19 /* 'Arguments' */ -#define DUK_STRIDX_JSON 20 /* 'JSON' */ -#define DUK_STRIDX_MATH 21 /* 'Math' */ -#define DUK_STRIDX_UC_ERROR 22 /* 'Error' */ -#define DUK_STRIDX_REG_EXP 23 /* 'RegExp' */ -#define DUK_STRIDX_DATE 24 /* 'Date' */ -#define DUK_STRIDX_UC_NUMBER 25 /* 'Number' */ -#define DUK_STRIDX_UC_BOOLEAN 26 /* 'Boolean' */ -#define DUK_STRIDX_UC_STRING 27 /* 'String' */ -#define DUK_STRIDX_ARRAY 28 /* 'Array' */ -#define DUK_STRIDX_UC_FUNCTION 29 /* 'Function' */ -#define DUK_STRIDX_UC_OBJECT 30 /* 'Object' */ -#define DUK_STRIDX_UC_NULL 31 /* 'Null' */ -#define DUK_STRIDX_UC_UNDEFINED 32 /* 'Undefined' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION2 33 /* '{_func:true}' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION1 34 /* '{"_func":true}' */ -#define DUK_STRIDX_JSON_EXT_NEGINF 35 /* '{"_ninf":true}' */ -#define DUK_STRIDX_JSON_EXT_POSINF 36 /* '{"_inf":true}' */ -#define DUK_STRIDX_JSON_EXT_NAN 37 /* '{"_nan":true}' */ -#define DUK_STRIDX_JSON_EXT_UNDEFINED 38 /* '{"_undef":true}' */ -#define DUK_STRIDX_TO_LOG_STRING 39 /* 'toLogString' */ -#define DUK_STRIDX_CLOG 40 /* 'clog' */ -#define DUK_STRIDX_LC_L 41 /* 'l' */ -#define DUK_STRIDX_LC_N 42 /* 'n' */ -#define DUK_STRIDX_LC_FATAL 43 /* 'fatal' */ -#define DUK_STRIDX_LC_ERROR 44 /* 'error' */ -#define DUK_STRIDX_LC_WARN 45 /* 'warn' */ -#define DUK_STRIDX_LC_DEBUG 46 /* 'debug' */ -#define DUK_STRIDX_LC_TRACE 47 /* 'trace' */ -#define DUK_STRIDX_RAW 48 /* 'raw' */ -#define DUK_STRIDX_FMT 49 /* 'fmt' */ -#define DUK_STRIDX_CURRENT 50 /* 'current' */ -#define DUK_STRIDX_RESUME 51 /* 'resume' */ -#define DUK_STRIDX_COMPACT 52 /* 'compact' */ -#define DUK_STRIDX_JC 53 /* 'jc' */ -#define DUK_STRIDX_JX 54 /* 'jx' */ -#define DUK_STRIDX_BASE64 55 /* 'base64' */ -#define DUK_STRIDX_HEX 56 /* 'hex' */ -#define DUK_STRIDX_DEC 57 /* 'dec' */ -#define DUK_STRIDX_ENC 58 /* 'enc' */ -#define DUK_STRIDX_FIN 59 /* 'fin' */ -#define DUK_STRIDX_GC 60 /* 'gc' */ -#define DUK_STRIDX_ACT 61 /* 'act' */ -#define DUK_STRIDX_LC_INFO 62 /* 'info' */ -#define DUK_STRIDX_VERSION 63 /* 'version' */ -#define DUK_STRIDX_ENV 64 /* 'env' */ -#define DUK_STRIDX_MOD_LOADED 65 /* 'modLoaded' */ -#define DUK_STRIDX_MOD_SEARCH 66 /* 'modSearch' */ -#define DUK_STRIDX_ERR_THROW 67 /* 'errThrow' */ -#define DUK_STRIDX_ERR_CREATE 68 /* 'errCreate' */ -#define DUK_STRIDX_COMPILE 69 /* 'compile' */ -#define DUK_STRIDX_INT_REGBASE 70 /* '\x00Regbase' */ -#define DUK_STRIDX_INT_THREAD 71 /* '\x00Thread' */ -#define DUK_STRIDX_INT_HANDLER 72 /* '\x00Handler' */ -#define DUK_STRIDX_INT_FINALIZER 73 /* '\x00Finalizer' */ -#define DUK_STRIDX_INT_CALLEE 74 /* '\x00Callee' */ -#define DUK_STRIDX_INT_MAP 75 /* '\x00Map' */ -#define DUK_STRIDX_INT_ARGS 76 /* '\x00Args' */ -#define DUK_STRIDX_INT_THIS 77 /* '\x00This' */ -#define DUK_STRIDX_INT_PC2LINE 78 /* '\x00Pc2line' */ -#define DUK_STRIDX_INT_SOURCE 79 /* '\x00Source' */ -#define DUK_STRIDX_INT_VARENV 80 /* '\x00Varenv' */ -#define DUK_STRIDX_INT_LEXENV 81 /* '\x00Lexenv' */ -#define DUK_STRIDX_INT_VARMAP 82 /* '\x00Varmap' */ -#define DUK_STRIDX_INT_FORMALS 83 /* '\x00Formals' */ -#define DUK_STRIDX_INT_BYTECODE 84 /* '\x00Bytecode' */ -#define DUK_STRIDX_INT_NEXT 85 /* '\x00Next' */ -#define DUK_STRIDX_INT_TARGET 86 /* '\x00Target' */ -#define DUK_STRIDX_INT_VALUE 87 /* '\x00Value' */ -#define DUK_STRIDX_LC_POINTER 88 /* 'pointer' */ -#define DUK_STRIDX_INT_TRACEDATA 89 /* '\x00Tracedata' */ -#define DUK_STRIDX_LINE_NUMBER 90 /* 'lineNumber' */ -#define DUK_STRIDX_FILE_NAME 91 /* 'fileName' */ -#define DUK_STRIDX_PC 92 /* 'pc' */ -#define DUK_STRIDX_STACK 93 /* 'stack' */ -#define DUK_STRIDX_THROW_TYPE_ERROR 94 /* 'ThrowTypeError' */ -#define DUK_STRIDX_DUKTAPE 95 /* 'Duktape' */ -#define DUK_STRIDX_SET_FLOAT64 96 /* 'setFloat64' */ -#define DUK_STRIDX_SET_FLOAT32 97 /* 'setFloat32' */ -#define DUK_STRIDX_SET_UINT32 98 /* 'setUint32' */ -#define DUK_STRIDX_SET_INT32 99 /* 'setInt32' */ -#define DUK_STRIDX_SET_UINT16 100 /* 'setUint16' */ -#define DUK_STRIDX_SET_INT16 101 /* 'setInt16' */ -#define DUK_STRIDX_SET_UINT8 102 /* 'setUint8' */ -#define DUK_STRIDX_SET_INT8 103 /* 'setInt8' */ -#define DUK_STRIDX_GET_FLOAT64 104 /* 'getFloat64' */ -#define DUK_STRIDX_GET_FLOAT32 105 /* 'getFloat32' */ -#define DUK_STRIDX_GET_UINT32 106 /* 'getUint32' */ -#define DUK_STRIDX_GET_INT32 107 /* 'getInt32' */ -#define DUK_STRIDX_GET_UINT16 108 /* 'getUint16' */ -#define DUK_STRIDX_GET_INT16 109 /* 'getInt16' */ -#define DUK_STRIDX_GET_UINT8 110 /* 'getUint8' */ -#define DUK_STRIDX_GET_INT8 111 /* 'getInt8' */ -#define DUK_STRIDX_SUBARRAY 112 /* 'subarray' */ -#define DUK_STRIDX_BYTES_PER_ELEMENT 113 /* 'BYTES_PER_ELEMENT' */ -#define DUK_STRIDX_BYTE_OFFSET 114 /* 'byteOffset' */ -#define DUK_STRIDX_LC_BUFFER 115 /* 'buffer' */ -#define DUK_STRIDX_IS_VIEW 116 /* 'isView' */ -#define DUK_STRIDX_DATA 117 /* 'data' */ -#define DUK_STRIDX_TYPE 118 /* 'type' */ -#define DUK_STRIDX_WRITE_INT_BE 119 /* 'writeIntBE' */ -#define DUK_STRIDX_WRITE_INT_LE 120 /* 'writeIntLE' */ -#define DUK_STRIDX_WRITE_UINT_BE 121 /* 'writeUIntBE' */ -#define DUK_STRIDX_WRITE_UINT_LE 122 /* 'writeUIntLE' */ -#define DUK_STRIDX_WRITE_DOUBLE_BE 123 /* 'writeDoubleBE' */ -#define DUK_STRIDX_WRITE_DOUBLE_LE 124 /* 'writeDoubleLE' */ -#define DUK_STRIDX_WRITE_FLOAT_BE 125 /* 'writeFloatBE' */ -#define DUK_STRIDX_WRITE_FLOAT_LE 126 /* 'writeFloatLE' */ -#define DUK_STRIDX_WRITE_INT32_BE 127 /* 'writeInt32BE' */ -#define DUK_STRIDX_WRITE_INT32_LE 128 /* 'writeInt32LE' */ -#define DUK_STRIDX_WRITE_UINT32_BE 129 /* 'writeUInt32BE' */ -#define DUK_STRIDX_WRITE_UINT32_LE 130 /* 'writeUInt32LE' */ -#define DUK_STRIDX_WRITE_INT16_BE 131 /* 'writeInt16BE' */ -#define DUK_STRIDX_WRITE_INT16_LE 132 /* 'writeInt16LE' */ -#define DUK_STRIDX_WRITE_UINT16_BE 133 /* 'writeUInt16BE' */ -#define DUK_STRIDX_WRITE_UINT16_LE 134 /* 'writeUInt16LE' */ -#define DUK_STRIDX_WRITE_INT8 135 /* 'writeInt8' */ -#define DUK_STRIDX_WRITE_UINT8 136 /* 'writeUInt8' */ -#define DUK_STRIDX_READ_INT_BE 137 /* 'readIntBE' */ -#define DUK_STRIDX_READ_INT_LE 138 /* 'readIntLE' */ -#define DUK_STRIDX_READ_UINT_BE 139 /* 'readUIntBE' */ -#define DUK_STRIDX_READ_UINT_LE 140 /* 'readUIntLE' */ -#define DUK_STRIDX_READ_DOUBLE_BE 141 /* 'readDoubleBE' */ -#define DUK_STRIDX_READ_DOUBLE_LE 142 /* 'readDoubleLE' */ -#define DUK_STRIDX_READ_FLOAT_BE 143 /* 'readFloatBE' */ -#define DUK_STRIDX_READ_FLOAT_LE 144 /* 'readFloatLE' */ -#define DUK_STRIDX_READ_INT32_BE 145 /* 'readInt32BE' */ -#define DUK_STRIDX_READ_INT32_LE 146 /* 'readInt32LE' */ -#define DUK_STRIDX_READ_UINT32_BE 147 /* 'readUInt32BE' */ -#define DUK_STRIDX_READ_UINT32_LE 148 /* 'readUInt32LE' */ -#define DUK_STRIDX_READ_INT16_BE 149 /* 'readInt16BE' */ -#define DUK_STRIDX_READ_INT16_LE 150 /* 'readInt16LE' */ -#define DUK_STRIDX_READ_UINT16_BE 151 /* 'readUInt16BE' */ -#define DUK_STRIDX_READ_UINT16_LE 152 /* 'readUInt16LE' */ -#define DUK_STRIDX_READ_INT8 153 /* 'readInt8' */ -#define DUK_STRIDX_READ_UINT8 154 /* 'readUInt8' */ -#define DUK_STRIDX_COPY 155 /* 'copy' */ -#define DUK_STRIDX_EQUALS 156 /* 'equals' */ -#define DUK_STRIDX_FILL 157 /* 'fill' */ -#define DUK_STRIDX_WRITE 158 /* 'write' */ -#define DUK_STRIDX_COMPARE 159 /* 'compare' */ -#define DUK_STRIDX_BYTE_LENGTH 160 /* 'byteLength' */ -#define DUK_STRIDX_IS_BUFFER 161 /* 'isBuffer' */ -#define DUK_STRIDX_IS_ENCODING 162 /* 'isEncoding' */ -#define DUK_STRIDX_EXPORTS 163 /* 'exports' */ -#define DUK_STRIDX_ID 164 /* 'id' */ -#define DUK_STRIDX_REQUIRE 165 /* 'require' */ -#define DUK_STRIDX___PROTO__ 166 /* '__proto__' */ -#define DUK_STRIDX_SET_PROTOTYPE_OF 167 /* 'setPrototypeOf' */ -#define DUK_STRIDX_OWN_KEYS 168 /* 'ownKeys' */ -#define DUK_STRIDX_ENUMERATE 169 /* 'enumerate' */ -#define DUK_STRIDX_DELETE_PROPERTY 170 /* 'deleteProperty' */ -#define DUK_STRIDX_HAS 171 /* 'has' */ -#define DUK_STRIDX_PROXY 172 /* 'Proxy' */ -#define DUK_STRIDX_CALLEE 173 /* 'callee' */ -#define DUK_STRIDX_INVALID_DATE 174 /* 'Invalid Date' */ -#define DUK_STRIDX_BRACKETED_ELLIPSIS 175 /* '[...]' */ -#define DUK_STRIDX_NEWLINE_TAB 176 /* '\n\t' */ -#define DUK_STRIDX_SPACE 177 /* ' ' */ -#define DUK_STRIDX_COMMA 178 /* ',' */ -#define DUK_STRIDX_MINUS_ZERO 179 /* '-0' */ -#define DUK_STRIDX_PLUS_ZERO 180 /* '+0' */ -#define DUK_STRIDX_ZERO 181 /* '0' */ -#define DUK_STRIDX_MINUS_INFINITY 182 /* '-Infinity' */ -#define DUK_STRIDX_PLUS_INFINITY 183 /* '+Infinity' */ -#define DUK_STRIDX_INFINITY 184 /* 'Infinity' */ -#define DUK_STRIDX_LC_OBJECT 185 /* 'object' */ -#define DUK_STRIDX_LC_STRING 186 /* 'string' */ -#define DUK_STRIDX_LC_NUMBER 187 /* 'number' */ -#define DUK_STRIDX_LC_BOOLEAN 188 /* 'boolean' */ -#define DUK_STRIDX_LC_UNDEFINED 189 /* 'undefined' */ -#define DUK_STRIDX_STRINGIFY 190 /* 'stringify' */ -#define DUK_STRIDX_TAN 191 /* 'tan' */ -#define DUK_STRIDX_SQRT 192 /* 'sqrt' */ -#define DUK_STRIDX_SIN 193 /* 'sin' */ -#define DUK_STRIDX_ROUND 194 /* 'round' */ -#define DUK_STRIDX_RANDOM 195 /* 'random' */ -#define DUK_STRIDX_POW 196 /* 'pow' */ -#define DUK_STRIDX_MIN 197 /* 'min' */ -#define DUK_STRIDX_MAX 198 /* 'max' */ -#define DUK_STRIDX_LOG 199 /* 'log' */ -#define DUK_STRIDX_FLOOR 200 /* 'floor' */ -#define DUK_STRIDX_EXP 201 /* 'exp' */ -#define DUK_STRIDX_COS 202 /* 'cos' */ -#define DUK_STRIDX_CEIL 203 /* 'ceil' */ -#define DUK_STRIDX_ATAN2 204 /* 'atan2' */ -#define DUK_STRIDX_ATAN 205 /* 'atan' */ -#define DUK_STRIDX_ASIN 206 /* 'asin' */ -#define DUK_STRIDX_ACOS 207 /* 'acos' */ -#define DUK_STRIDX_ABS 208 /* 'abs' */ -#define DUK_STRIDX_SQRT2 209 /* 'SQRT2' */ -#define DUK_STRIDX_SQRT1_2 210 /* 'SQRT1_2' */ -#define DUK_STRIDX_PI 211 /* 'PI' */ -#define DUK_STRIDX_LOG10E 212 /* 'LOG10E' */ -#define DUK_STRIDX_LOG2E 213 /* 'LOG2E' */ -#define DUK_STRIDX_LN2 214 /* 'LN2' */ -#define DUK_STRIDX_LN10 215 /* 'LN10' */ -#define DUK_STRIDX_E 216 /* 'E' */ -#define DUK_STRIDX_MESSAGE 217 /* 'message' */ -#define DUK_STRIDX_NAME 218 /* 'name' */ -#define DUK_STRIDX_INPUT 219 /* 'input' */ -#define DUK_STRIDX_INDEX 220 /* 'index' */ -#define DUK_STRIDX_ESCAPED_EMPTY_REGEXP 221 /* '(?:)' */ -#define DUK_STRIDX_LAST_INDEX 222 /* 'lastIndex' */ -#define DUK_STRIDX_MULTILINE 223 /* 'multiline' */ -#define DUK_STRIDX_IGNORE_CASE 224 /* 'ignoreCase' */ -#define DUK_STRIDX_SOURCE 225 /* 'source' */ -#define DUK_STRIDX_TEST 226 /* 'test' */ -#define DUK_STRIDX_EXEC 227 /* 'exec' */ -#define DUK_STRIDX_TO_GMT_STRING 228 /* 'toGMTString' */ -#define DUK_STRIDX_SET_YEAR 229 /* 'setYear' */ -#define DUK_STRIDX_GET_YEAR 230 /* 'getYear' */ -#define DUK_STRIDX_TO_JSON 231 /* 'toJSON' */ -#define DUK_STRIDX_TO_ISO_STRING 232 /* 'toISOString' */ -#define DUK_STRIDX_TO_UTC_STRING 233 /* 'toUTCString' */ -#define DUK_STRIDX_SET_UTC_FULL_YEAR 234 /* 'setUTCFullYear' */ -#define DUK_STRIDX_SET_FULL_YEAR 235 /* 'setFullYear' */ -#define DUK_STRIDX_SET_UTC_MONTH 236 /* 'setUTCMonth' */ -#define DUK_STRIDX_SET_MONTH 237 /* 'setMonth' */ -#define DUK_STRIDX_SET_UTC_DATE 238 /* 'setUTCDate' */ -#define DUK_STRIDX_SET_DATE 239 /* 'setDate' */ -#define DUK_STRIDX_SET_UTC_HOURS 240 /* 'setUTCHours' */ -#define DUK_STRIDX_SET_HOURS 241 /* 'setHours' */ -#define DUK_STRIDX_SET_UTC_MINUTES 242 /* 'setUTCMinutes' */ -#define DUK_STRIDX_SET_MINUTES 243 /* 'setMinutes' */ -#define DUK_STRIDX_SET_UTC_SECONDS 244 /* 'setUTCSeconds' */ -#define DUK_STRIDX_SET_SECONDS 245 /* 'setSeconds' */ -#define DUK_STRIDX_SET_UTC_MILLISECONDS 246 /* 'setUTCMilliseconds' */ -#define DUK_STRIDX_SET_MILLISECONDS 247 /* 'setMilliseconds' */ -#define DUK_STRIDX_SET_TIME 248 /* 'setTime' */ -#define DUK_STRIDX_GET_TIMEZONE_OFFSET 249 /* 'getTimezoneOffset' */ -#define DUK_STRIDX_GET_UTC_MILLISECONDS 250 /* 'getUTCMilliseconds' */ -#define DUK_STRIDX_GET_MILLISECONDS 251 /* 'getMilliseconds' */ -#define DUK_STRIDX_GET_UTC_SECONDS 252 /* 'getUTCSeconds' */ -#define DUK_STRIDX_GET_SECONDS 253 /* 'getSeconds' */ -#define DUK_STRIDX_GET_UTC_MINUTES 254 /* 'getUTCMinutes' */ -#define DUK_STRIDX_GET_MINUTES 255 /* 'getMinutes' */ -#define DUK_STRIDX_GET_UTC_HOURS 256 /* 'getUTCHours' */ -#define DUK_STRIDX_GET_HOURS 257 /* 'getHours' */ -#define DUK_STRIDX_GET_UTC_DAY 258 /* 'getUTCDay' */ -#define DUK_STRIDX_GET_DAY 259 /* 'getDay' */ -#define DUK_STRIDX_GET_UTC_DATE 260 /* 'getUTCDate' */ -#define DUK_STRIDX_GET_DATE 261 /* 'getDate' */ -#define DUK_STRIDX_GET_UTC_MONTH 262 /* 'getUTCMonth' */ -#define DUK_STRIDX_GET_MONTH 263 /* 'getMonth' */ -#define DUK_STRIDX_GET_UTC_FULL_YEAR 264 /* 'getUTCFullYear' */ -#define DUK_STRIDX_GET_FULL_YEAR 265 /* 'getFullYear' */ -#define DUK_STRIDX_GET_TIME 266 /* 'getTime' */ -#define DUK_STRIDX_TO_LOCALE_TIME_STRING 267 /* 'toLocaleTimeString' */ -#define DUK_STRIDX_TO_LOCALE_DATE_STRING 268 /* 'toLocaleDateString' */ -#define DUK_STRIDX_TO_TIME_STRING 269 /* 'toTimeString' */ -#define DUK_STRIDX_TO_DATE_STRING 270 /* 'toDateString' */ -#define DUK_STRIDX_NOW 271 /* 'now' */ -#define DUK_STRIDX_UTC 272 /* 'UTC' */ -#define DUK_STRIDX_PARSE 273 /* 'parse' */ -#define DUK_STRIDX_TO_PRECISION 274 /* 'toPrecision' */ -#define DUK_STRIDX_TO_EXPONENTIAL 275 /* 'toExponential' */ -#define DUK_STRIDX_TO_FIXED 276 /* 'toFixed' */ -#define DUK_STRIDX_POSITIVE_INFINITY 277 /* 'POSITIVE_INFINITY' */ -#define DUK_STRIDX_NEGATIVE_INFINITY 278 /* 'NEGATIVE_INFINITY' */ -#define DUK_STRIDX_NAN 279 /* 'NaN' */ -#define DUK_STRIDX_MIN_VALUE 280 /* 'MIN_VALUE' */ -#define DUK_STRIDX_MAX_VALUE 281 /* 'MAX_VALUE' */ -#define DUK_STRIDX_SUBSTR 282 /* 'substr' */ -#define DUK_STRIDX_TRIM 283 /* 'trim' */ -#define DUK_STRIDX_TO_LOCALE_UPPER_CASE 284 /* 'toLocaleUpperCase' */ -#define DUK_STRIDX_TO_UPPER_CASE 285 /* 'toUpperCase' */ -#define DUK_STRIDX_TO_LOCALE_LOWER_CASE 286 /* 'toLocaleLowerCase' */ -#define DUK_STRIDX_TO_LOWER_CASE 287 /* 'toLowerCase' */ -#define DUK_STRIDX_SUBSTRING 288 /* 'substring' */ -#define DUK_STRIDX_SPLIT 289 /* 'split' */ -#define DUK_STRIDX_SEARCH 290 /* 'search' */ -#define DUK_STRIDX_REPLACE 291 /* 'replace' */ -#define DUK_STRIDX_MATCH 292 /* 'match' */ -#define DUK_STRIDX_LOCALE_COMPARE 293 /* 'localeCompare' */ -#define DUK_STRIDX_CHAR_CODE_AT 294 /* 'charCodeAt' */ -#define DUK_STRIDX_CHAR_AT 295 /* 'charAt' */ -#define DUK_STRIDX_FROM_CHAR_CODE 296 /* 'fromCharCode' */ -#define DUK_STRIDX_REDUCE_RIGHT 297 /* 'reduceRight' */ -#define DUK_STRIDX_REDUCE 298 /* 'reduce' */ -#define DUK_STRIDX_FILTER 299 /* 'filter' */ -#define DUK_STRIDX_MAP 300 /* 'map' */ -#define DUK_STRIDX_FOR_EACH 301 /* 'forEach' */ -#define DUK_STRIDX_SOME 302 /* 'some' */ -#define DUK_STRIDX_EVERY 303 /* 'every' */ -#define DUK_STRIDX_LAST_INDEX_OF 304 /* 'lastIndexOf' */ -#define DUK_STRIDX_INDEX_OF 305 /* 'indexOf' */ -#define DUK_STRIDX_UNSHIFT 306 /* 'unshift' */ -#define DUK_STRIDX_SPLICE 307 /* 'splice' */ -#define DUK_STRIDX_SORT 308 /* 'sort' */ -#define DUK_STRIDX_SLICE 309 /* 'slice' */ -#define DUK_STRIDX_SHIFT 310 /* 'shift' */ -#define DUK_STRIDX_REVERSE 311 /* 'reverse' */ -#define DUK_STRIDX_PUSH 312 /* 'push' */ -#define DUK_STRIDX_POP 313 /* 'pop' */ -#define DUK_STRIDX_JOIN 314 /* 'join' */ -#define DUK_STRIDX_CONCAT 315 /* 'concat' */ -#define DUK_STRIDX_IS_ARRAY 316 /* 'isArray' */ -#define DUK_STRIDX_LC_ARGUMENTS 317 /* 'arguments' */ -#define DUK_STRIDX_CALLER 318 /* 'caller' */ -#define DUK_STRIDX_BIND 319 /* 'bind' */ -#define DUK_STRIDX_CALL 320 /* 'call' */ -#define DUK_STRIDX_APPLY 321 /* 'apply' */ -#define DUK_STRIDX_PROPERTY_IS_ENUMERABLE 322 /* 'propertyIsEnumerable' */ -#define DUK_STRIDX_IS_PROTOTYPE_OF 323 /* 'isPrototypeOf' */ -#define DUK_STRIDX_HAS_OWN_PROPERTY 324 /* 'hasOwnProperty' */ -#define DUK_STRIDX_VALUE_OF 325 /* 'valueOf' */ -#define DUK_STRIDX_TO_LOCALE_STRING 326 /* 'toLocaleString' */ -#define DUK_STRIDX_TO_STRING 327 /* 'toString' */ -#define DUK_STRIDX_CONSTRUCTOR 328 /* 'constructor' */ -#define DUK_STRIDX_SET 329 /* 'set' */ -#define DUK_STRIDX_GET 330 /* 'get' */ -#define DUK_STRIDX_ENUMERABLE 331 /* 'enumerable' */ -#define DUK_STRIDX_CONFIGURABLE 332 /* 'configurable' */ -#define DUK_STRIDX_WRITABLE 333 /* 'writable' */ -#define DUK_STRIDX_VALUE 334 /* 'value' */ -#define DUK_STRIDX_KEYS 335 /* 'keys' */ -#define DUK_STRIDX_IS_EXTENSIBLE 336 /* 'isExtensible' */ -#define DUK_STRIDX_IS_FROZEN 337 /* 'isFrozen' */ -#define DUK_STRIDX_IS_SEALED 338 /* 'isSealed' */ -#define DUK_STRIDX_PREVENT_EXTENSIONS 339 /* 'preventExtensions' */ -#define DUK_STRIDX_FREEZE 340 /* 'freeze' */ -#define DUK_STRIDX_SEAL 341 /* 'seal' */ -#define DUK_STRIDX_DEFINE_PROPERTIES 342 /* 'defineProperties' */ -#define DUK_STRIDX_DEFINE_PROPERTY 343 /* 'defineProperty' */ -#define DUK_STRIDX_CREATE 344 /* 'create' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_NAMES 345 /* 'getOwnPropertyNames' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR 346 /* 'getOwnPropertyDescriptor' */ -#define DUK_STRIDX_GET_PROTOTYPE_OF 347 /* 'getPrototypeOf' */ -#define DUK_STRIDX_PROTOTYPE 348 /* 'prototype' */ -#define DUK_STRIDX_LENGTH 349 /* 'length' */ -#define DUK_STRIDX_ALERT 350 /* 'alert' */ -#define DUK_STRIDX_PRINT 351 /* 'print' */ -#define DUK_STRIDX_UNESCAPE 352 /* 'unescape' */ -#define DUK_STRIDX_ESCAPE 353 /* 'escape' */ -#define DUK_STRIDX_ENCODE_URI_COMPONENT 354 /* 'encodeURIComponent' */ -#define DUK_STRIDX_ENCODE_URI 355 /* 'encodeURI' */ -#define DUK_STRIDX_DECODE_URI_COMPONENT 356 /* 'decodeURIComponent' */ -#define DUK_STRIDX_DECODE_URI 357 /* 'decodeURI' */ -#define DUK_STRIDX_IS_FINITE 358 /* 'isFinite' */ -#define DUK_STRIDX_IS_NAN 359 /* 'isNaN' */ -#define DUK_STRIDX_PARSE_FLOAT 360 /* 'parseFloat' */ -#define DUK_STRIDX_PARSE_INT 361 /* 'parseInt' */ -#define DUK_STRIDX_EVAL 362 /* 'eval' */ -#define DUK_STRIDX_URI_ERROR 363 /* 'URIError' */ -#define DUK_STRIDX_TYPE_ERROR 364 /* 'TypeError' */ -#define DUK_STRIDX_SYNTAX_ERROR 365 /* 'SyntaxError' */ -#define DUK_STRIDX_REFERENCE_ERROR 366 /* 'ReferenceError' */ -#define DUK_STRIDX_RANGE_ERROR 367 /* 'RangeError' */ -#define DUK_STRIDX_EVAL_ERROR 368 /* 'EvalError' */ -#define DUK_STRIDX_BREAK 369 /* 'break' */ -#define DUK_STRIDX_CASE 370 /* 'case' */ -#define DUK_STRIDX_CATCH 371 /* 'catch' */ -#define DUK_STRIDX_CONTINUE 372 /* 'continue' */ -#define DUK_STRIDX_DEBUGGER 373 /* 'debugger' */ -#define DUK_STRIDX_DEFAULT 374 /* 'default' */ -#define DUK_STRIDX_DELETE 375 /* 'delete' */ -#define DUK_STRIDX_DO 376 /* 'do' */ -#define DUK_STRIDX_ELSE 377 /* 'else' */ -#define DUK_STRIDX_FINALLY 378 /* 'finally' */ -#define DUK_STRIDX_FOR 379 /* 'for' */ -#define DUK_STRIDX_LC_FUNCTION 380 /* 'function' */ -#define DUK_STRIDX_IF 381 /* 'if' */ -#define DUK_STRIDX_IN 382 /* 'in' */ -#define DUK_STRIDX_INSTANCEOF 383 /* 'instanceof' */ -#define DUK_STRIDX_NEW 384 /* 'new' */ -#define DUK_STRIDX_RETURN 385 /* 'return' */ -#define DUK_STRIDX_SWITCH 386 /* 'switch' */ -#define DUK_STRIDX_THIS 387 /* 'this' */ -#define DUK_STRIDX_THROW 388 /* 'throw' */ -#define DUK_STRIDX_TRY 389 /* 'try' */ -#define DUK_STRIDX_TYPEOF 390 /* 'typeof' */ -#define DUK_STRIDX_VAR 391 /* 'var' */ -#define DUK_STRIDX_CONST 392 /* 'const' */ -#define DUK_STRIDX_VOID 393 /* 'void' */ -#define DUK_STRIDX_WHILE 394 /* 'while' */ -#define DUK_STRIDX_WITH 395 /* 'with' */ -#define DUK_STRIDX_CLASS 396 /* 'class' */ -#define DUK_STRIDX_ENUM 397 /* 'enum' */ -#define DUK_STRIDX_EXPORT 398 /* 'export' */ -#define DUK_STRIDX_EXTENDS 399 /* 'extends' */ -#define DUK_STRIDX_IMPORT 400 /* 'import' */ -#define DUK_STRIDX_SUPER 401 /* 'super' */ -#define DUK_STRIDX_LC_NULL 402 /* 'null' */ -#define DUK_STRIDX_TRUE 403 /* 'true' */ -#define DUK_STRIDX_FALSE 404 /* 'false' */ -#define DUK_STRIDX_IMPLEMENTS 405 /* 'implements' */ -#define DUK_STRIDX_INTERFACE 406 /* 'interface' */ -#define DUK_STRIDX_LET 407 /* 'let' */ -#define DUK_STRIDX_PACKAGE 408 /* 'package' */ -#define DUK_STRIDX_PRIVATE 409 /* 'private' */ -#define DUK_STRIDX_PROTECTED 410 /* 'protected' */ -#define DUK_STRIDX_PUBLIC 411 /* 'public' */ -#define DUK_STRIDX_STATIC 412 /* 'static' */ -#define DUK_STRIDX_YIELD 413 /* 'yield' */ - -#define DUK_HEAP_STRING_UC_LOGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_LOGGER) -#define DUK_HTHREAD_STRING_UC_LOGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_LOGGER) -#define DUK_HEAP_STRING_UC_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_THREAD) -#define DUK_HTHREAD_STRING_UC_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_THREAD) -#define DUK_HEAP_STRING_UC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_POINTER) -#define DUK_HTHREAD_STRING_UC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_POINTER) -#define DUK_HEAP_STRING_DEC_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC_ENV) -#define DUK_HTHREAD_STRING_DEC_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC_ENV) -#define DUK_HEAP_STRING_OBJ_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OBJ_ENV) -#define DUK_HTHREAD_STRING_OBJ_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OBJ_ENV) -#define DUK_HEAP_STRING_FLOAT64_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT64_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HEAP_STRING_FLOAT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HEAP_STRING_UINT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HTHREAD_STRING_UINT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HEAP_STRING_INT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT32_ARRAY) -#define DUK_HTHREAD_STRING_INT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT32_ARRAY) -#define DUK_HEAP_STRING_UINT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HTHREAD_STRING_UINT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HEAP_STRING_INT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT16_ARRAY) -#define DUK_HTHREAD_STRING_INT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT16_ARRAY) -#define DUK_HEAP_STRING_UINT8_CLAMPED_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_CLAMPED_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HEAP_STRING_UINT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HEAP_STRING_INT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT8_ARRAY) -#define DUK_HTHREAD_STRING_INT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT8_ARRAY) -#define DUK_HEAP_STRING_DATA_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA_VIEW) -#define DUK_HTHREAD_STRING_DATA_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA_VIEW) -#define DUK_HEAP_STRING_ARRAY_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY_BUFFER) -#define DUK_HTHREAD_STRING_ARRAY_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY_BUFFER) -#define DUK_HEAP_STRING_UC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BUFFER) -#define DUK_HTHREAD_STRING_UC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BUFFER) -#define DUK_HEAP_STRING_EMPTY_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EMPTY_STRING) -#define DUK_HTHREAD_STRING_EMPTY_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EMPTY_STRING) -#define DUK_HEAP_STRING_GLOBAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GLOBAL) -#define DUK_HTHREAD_STRING_GLOBAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GLOBAL) -#define DUK_HEAP_STRING_UC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HTHREAD_STRING_UC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HEAP_STRING_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON) -#define DUK_HTHREAD_STRING_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON) -#define DUK_HEAP_STRING_MATH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATH) -#define DUK_HTHREAD_STRING_MATH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATH) -#define DUK_HEAP_STRING_UC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ERROR) -#define DUK_HTHREAD_STRING_UC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ERROR) -#define DUK_HEAP_STRING_REG_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REG_EXP) -#define DUK_HTHREAD_STRING_REG_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REG_EXP) -#define DUK_HEAP_STRING_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATE) -#define DUK_HTHREAD_STRING_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATE) -#define DUK_HEAP_STRING_UC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NUMBER) -#define DUK_HTHREAD_STRING_UC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NUMBER) -#define DUK_HEAP_STRING_UC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HTHREAD_STRING_UC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HEAP_STRING_UC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_STRING) -#define DUK_HTHREAD_STRING_UC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_STRING) -#define DUK_HEAP_STRING_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY) -#define DUK_HTHREAD_STRING_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY) -#define DUK_HEAP_STRING_UC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_FUNCTION) -#define DUK_HTHREAD_STRING_UC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_FUNCTION) -#define DUK_HEAP_STRING_UC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_OBJECT) -#define DUK_HTHREAD_STRING_UC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_OBJECT) -#define DUK_HEAP_STRING_UC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NULL) -#define DUK_HTHREAD_STRING_UC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NULL) -#define DUK_HEAP_STRING_UC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HTHREAD_STRING_UC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION1(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION1(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HEAP_STRING_JSON_EXT_NEGINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HTHREAD_STRING_JSON_EXT_NEGINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HEAP_STRING_JSON_EXT_POSINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HTHREAD_STRING_JSON_EXT_POSINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HEAP_STRING_JSON_EXT_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HTHREAD_STRING_JSON_EXT_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HEAP_STRING_JSON_EXT_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HTHREAD_STRING_JSON_EXT_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HEAP_STRING_TO_LOG_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HTHREAD_STRING_TO_LOG_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HEAP_STRING_CLOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLOG) -#define DUK_HTHREAD_STRING_CLOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLOG) -#define DUK_HEAP_STRING_LC_L(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_L) -#define DUK_HTHREAD_STRING_LC_L(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_L) -#define DUK_HEAP_STRING_LC_N(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_N) -#define DUK_HTHREAD_STRING_LC_N(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_N) -#define DUK_HEAP_STRING_LC_FATAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FATAL) -#define DUK_HTHREAD_STRING_LC_FATAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FATAL) -#define DUK_HEAP_STRING_LC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ERROR) -#define DUK_HTHREAD_STRING_LC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ERROR) -#define DUK_HEAP_STRING_LC_WARN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_WARN) -#define DUK_HTHREAD_STRING_LC_WARN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_WARN) -#define DUK_HEAP_STRING_LC_DEBUG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_DEBUG) -#define DUK_HTHREAD_STRING_LC_DEBUG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_DEBUG) -#define DUK_HEAP_STRING_LC_TRACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_TRACE) -#define DUK_HTHREAD_STRING_LC_TRACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_TRACE) -#define DUK_HEAP_STRING_RAW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RAW) -#define DUK_HTHREAD_STRING_RAW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RAW) -#define DUK_HEAP_STRING_FMT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FMT) -#define DUK_HTHREAD_STRING_FMT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FMT) -#define DUK_HEAP_STRING_CURRENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CURRENT) -#define DUK_HTHREAD_STRING_CURRENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CURRENT) -#define DUK_HEAP_STRING_RESUME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RESUME) -#define DUK_HTHREAD_STRING_RESUME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RESUME) -#define DUK_HEAP_STRING_COMPACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPACT) -#define DUK_HTHREAD_STRING_COMPACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPACT) -#define DUK_HEAP_STRING_JC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JC) -#define DUK_HTHREAD_STRING_JC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JC) -#define DUK_HEAP_STRING_JX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JX) -#define DUK_HTHREAD_STRING_JX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JX) -#define DUK_HEAP_STRING_BASE64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BASE64) -#define DUK_HTHREAD_STRING_BASE64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BASE64) -#define DUK_HEAP_STRING_HEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HEX) -#define DUK_HTHREAD_STRING_HEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HEX) -#define DUK_HEAP_STRING_DEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC) -#define DUK_HTHREAD_STRING_DEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC) -#define DUK_HEAP_STRING_ENC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENC) -#define DUK_HTHREAD_STRING_ENC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENC) -#define DUK_HEAP_STRING_FIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FIN) -#define DUK_HTHREAD_STRING_FIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FIN) -#define DUK_HEAP_STRING_GC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GC) -#define DUK_HTHREAD_STRING_GC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GC) -#define DUK_HEAP_STRING_ACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACT) -#define DUK_HTHREAD_STRING_ACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACT) -#define DUK_HEAP_STRING_LC_INFO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_INFO) -#define DUK_HTHREAD_STRING_LC_INFO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_INFO) -#define DUK_HEAP_STRING_VERSION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VERSION) -#define DUK_HTHREAD_STRING_VERSION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VERSION) -#define DUK_HEAP_STRING_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENV) -#define DUK_HTHREAD_STRING_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENV) -#define DUK_HEAP_STRING_MOD_LOADED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_LOADED) -#define DUK_HTHREAD_STRING_MOD_LOADED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_LOADED) -#define DUK_HEAP_STRING_MOD_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_SEARCH) -#define DUK_HTHREAD_STRING_MOD_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_SEARCH) -#define DUK_HEAP_STRING_ERR_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_THROW) -#define DUK_HTHREAD_STRING_ERR_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_THROW) -#define DUK_HEAP_STRING_ERR_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_CREATE) -#define DUK_HTHREAD_STRING_ERR_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_CREATE) -#define DUK_HEAP_STRING_COMPILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPILE) -#define DUK_HTHREAD_STRING_COMPILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPILE) -#define DUK_HEAP_STRING_INT_REGBASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_REGBASE) -#define DUK_HTHREAD_STRING_INT_REGBASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_REGBASE) -#define DUK_HEAP_STRING_INT_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THREAD) -#define DUK_HTHREAD_STRING_INT_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THREAD) -#define DUK_HEAP_STRING_INT_HANDLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_HANDLER) -#define DUK_HTHREAD_STRING_INT_HANDLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_HANDLER) -#define DUK_HEAP_STRING_INT_FINALIZER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FINALIZER) -#define DUK_HTHREAD_STRING_INT_FINALIZER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FINALIZER) -#define DUK_HEAP_STRING_INT_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_CALLEE) -#define DUK_HTHREAD_STRING_INT_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_CALLEE) -#define DUK_HEAP_STRING_INT_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_MAP) -#define DUK_HTHREAD_STRING_INT_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_MAP) -#define DUK_HEAP_STRING_INT_ARGS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_ARGS) -#define DUK_HTHREAD_STRING_INT_ARGS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_ARGS) -#define DUK_HEAP_STRING_INT_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THIS) -#define DUK_HTHREAD_STRING_INT_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THIS) -#define DUK_HEAP_STRING_INT_PC2LINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_PC2LINE) -#define DUK_HTHREAD_STRING_INT_PC2LINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_PC2LINE) -#define DUK_HEAP_STRING_INT_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_SOURCE) -#define DUK_HTHREAD_STRING_INT_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_SOURCE) -#define DUK_HEAP_STRING_INT_VARENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARENV) -#define DUK_HTHREAD_STRING_INT_VARENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARENV) -#define DUK_HEAP_STRING_INT_LEXENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_LEXENV) -#define DUK_HTHREAD_STRING_INT_LEXENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_LEXENV) -#define DUK_HEAP_STRING_INT_VARMAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARMAP) -#define DUK_HTHREAD_STRING_INT_VARMAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARMAP) -#define DUK_HEAP_STRING_INT_FORMALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FORMALS) -#define DUK_HTHREAD_STRING_INT_FORMALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FORMALS) -#define DUK_HEAP_STRING_INT_BYTECODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_BYTECODE) -#define DUK_HTHREAD_STRING_INT_BYTECODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_BYTECODE) -#define DUK_HEAP_STRING_INT_NEXT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_NEXT) -#define DUK_HTHREAD_STRING_INT_NEXT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_NEXT) -#define DUK_HEAP_STRING_INT_TARGET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TARGET) -#define DUK_HTHREAD_STRING_INT_TARGET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TARGET) -#define DUK_HEAP_STRING_INT_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VALUE) -#define DUK_HTHREAD_STRING_INT_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VALUE) -#define DUK_HEAP_STRING_LC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_POINTER) -#define DUK_HTHREAD_STRING_LC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_POINTER) -#define DUK_HEAP_STRING_INT_TRACEDATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TRACEDATA) -#define DUK_HTHREAD_STRING_INT_TRACEDATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TRACEDATA) -#define DUK_HEAP_STRING_LINE_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LINE_NUMBER) -#define DUK_HTHREAD_STRING_LINE_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LINE_NUMBER) -#define DUK_HEAP_STRING_FILE_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILE_NAME) -#define DUK_HTHREAD_STRING_FILE_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILE_NAME) -#define DUK_HEAP_STRING_PC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PC) -#define DUK_HTHREAD_STRING_PC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PC) -#define DUK_HEAP_STRING_STACK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STACK) -#define DUK_HTHREAD_STRING_STACK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STACK) -#define DUK_HEAP_STRING_THROW_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HTHREAD_STRING_THROW_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HEAP_STRING_DUKTAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DUKTAPE) -#define DUK_HTHREAD_STRING_DUKTAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DUKTAPE) -#define DUK_HEAP_STRING_SET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT64) -#define DUK_HTHREAD_STRING_SET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT64) -#define DUK_HEAP_STRING_SET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT32) -#define DUK_HTHREAD_STRING_SET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT32) -#define DUK_HEAP_STRING_SET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT32) -#define DUK_HTHREAD_STRING_SET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT32) -#define DUK_HEAP_STRING_SET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT32) -#define DUK_HTHREAD_STRING_SET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT32) -#define DUK_HEAP_STRING_SET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT16) -#define DUK_HTHREAD_STRING_SET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT16) -#define DUK_HEAP_STRING_SET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT16) -#define DUK_HTHREAD_STRING_SET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT16) -#define DUK_HEAP_STRING_SET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT8) -#define DUK_HTHREAD_STRING_SET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT8) -#define DUK_HEAP_STRING_SET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT8) -#define DUK_HTHREAD_STRING_SET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT8) -#define DUK_HEAP_STRING_GET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT64) -#define DUK_HTHREAD_STRING_GET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT64) -#define DUK_HEAP_STRING_GET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT32) -#define DUK_HTHREAD_STRING_GET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT32) -#define DUK_HEAP_STRING_GET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT32) -#define DUK_HTHREAD_STRING_GET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT32) -#define DUK_HEAP_STRING_GET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT32) -#define DUK_HTHREAD_STRING_GET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT32) -#define DUK_HEAP_STRING_GET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT16) -#define DUK_HTHREAD_STRING_GET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT16) -#define DUK_HEAP_STRING_GET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT16) -#define DUK_HTHREAD_STRING_GET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT16) -#define DUK_HEAP_STRING_GET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT8) -#define DUK_HTHREAD_STRING_GET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT8) -#define DUK_HEAP_STRING_GET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT8) -#define DUK_HTHREAD_STRING_GET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT8) -#define DUK_HEAP_STRING_SUBARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBARRAY) -#define DUK_HTHREAD_STRING_SUBARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBARRAY) -#define DUK_HEAP_STRING_BYTES_PER_ELEMENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HTHREAD_STRING_BYTES_PER_ELEMENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HEAP_STRING_BYTE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_OFFSET) -#define DUK_HTHREAD_STRING_BYTE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_OFFSET) -#define DUK_HEAP_STRING_LC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BUFFER) -#define DUK_HTHREAD_STRING_LC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BUFFER) -#define DUK_HEAP_STRING_IS_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_VIEW) -#define DUK_HTHREAD_STRING_IS_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_VIEW) -#define DUK_HEAP_STRING_DATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA) -#define DUK_HTHREAD_STRING_DATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA) -#define DUK_HEAP_STRING_TYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE) -#define DUK_HTHREAD_STRING_TYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE) -#define DUK_HEAP_STRING_WRITE_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HTHREAD_STRING_WRITE_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HEAP_STRING_WRITE_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HTHREAD_STRING_WRITE_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HEAP_STRING_WRITE_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HEAP_STRING_WRITE_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HEAP_STRING_WRITE_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HEAP_STRING_WRITE_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HEAP_STRING_WRITE_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HTHREAD_STRING_WRITE_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HEAP_STRING_WRITE_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HTHREAD_STRING_WRITE_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HEAP_STRING_WRITE_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HEAP_STRING_WRITE_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HEAP_STRING_WRITE_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HTHREAD_STRING_WRITE_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HEAP_STRING_WRITE_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HTHREAD_STRING_WRITE_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HEAP_STRING_WRITE_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HEAP_STRING_WRITE_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HEAP_STRING_WRITE_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT8) -#define DUK_HTHREAD_STRING_WRITE_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT8) -#define DUK_HEAP_STRING_WRITE_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT8) -#define DUK_HTHREAD_STRING_WRITE_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT8) -#define DUK_HEAP_STRING_READ_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_BE) -#define DUK_HTHREAD_STRING_READ_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_BE) -#define DUK_HEAP_STRING_READ_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_LE) -#define DUK_HTHREAD_STRING_READ_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_LE) -#define DUK_HEAP_STRING_READ_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_BE) -#define DUK_HTHREAD_STRING_READ_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_BE) -#define DUK_HEAP_STRING_READ_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_LE) -#define DUK_HTHREAD_STRING_READ_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_LE) -#define DUK_HEAP_STRING_READ_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HEAP_STRING_READ_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HEAP_STRING_READ_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HTHREAD_STRING_READ_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HEAP_STRING_READ_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HTHREAD_STRING_READ_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HEAP_STRING_READ_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_BE) -#define DUK_HTHREAD_STRING_READ_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_BE) -#define DUK_HEAP_STRING_READ_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_LE) -#define DUK_HTHREAD_STRING_READ_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_LE) -#define DUK_HEAP_STRING_READ_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HTHREAD_STRING_READ_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HEAP_STRING_READ_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HTHREAD_STRING_READ_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HEAP_STRING_READ_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_BE) -#define DUK_HTHREAD_STRING_READ_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_BE) -#define DUK_HEAP_STRING_READ_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_LE) -#define DUK_HTHREAD_STRING_READ_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_LE) -#define DUK_HEAP_STRING_READ_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HTHREAD_STRING_READ_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HEAP_STRING_READ_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HTHREAD_STRING_READ_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HEAP_STRING_READ_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT8) -#define DUK_HTHREAD_STRING_READ_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT8) -#define DUK_HEAP_STRING_READ_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT8) -#define DUK_HTHREAD_STRING_READ_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT8) -#define DUK_HEAP_STRING_COPY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COPY) -#define DUK_HTHREAD_STRING_COPY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COPY) -#define DUK_HEAP_STRING_EQUALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EQUALS) -#define DUK_HTHREAD_STRING_EQUALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EQUALS) -#define DUK_HEAP_STRING_FILL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILL) -#define DUK_HTHREAD_STRING_FILL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILL) -#define DUK_HEAP_STRING_WRITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE) -#define DUK_HTHREAD_STRING_WRITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE) -#define DUK_HEAP_STRING_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPARE) -#define DUK_HTHREAD_STRING_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPARE) -#define DUK_HEAP_STRING_BYTE_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HTHREAD_STRING_BYTE_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HEAP_STRING_IS_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_BUFFER) -#define DUK_HTHREAD_STRING_IS_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_BUFFER) -#define DUK_HEAP_STRING_IS_ENCODING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ENCODING) -#define DUK_HTHREAD_STRING_IS_ENCODING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ENCODING) -#define DUK_HEAP_STRING_EXPORTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORTS) -#define DUK_HTHREAD_STRING_EXPORTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORTS) -#define DUK_HEAP_STRING_ID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ID) -#define DUK_HTHREAD_STRING_ID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ID) -#define DUK_HEAP_STRING_REQUIRE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REQUIRE) -#define DUK_HTHREAD_STRING_REQUIRE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REQUIRE) -#define DUK_HEAP_STRING___PROTO__(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX___PROTO__) -#define DUK_HTHREAD_STRING___PROTO__(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX___PROTO__) -#define DUK_HEAP_STRING_SET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_SET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HEAP_STRING_OWN_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OWN_KEYS) -#define DUK_HTHREAD_STRING_OWN_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OWN_KEYS) -#define DUK_HEAP_STRING_ENUMERATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERATE) -#define DUK_HTHREAD_STRING_ENUMERATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERATE) -#define DUK_HEAP_STRING_DELETE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HTHREAD_STRING_DELETE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HEAP_STRING_HAS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS) -#define DUK_HTHREAD_STRING_HAS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS) -#define DUK_HEAP_STRING_PROXY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROXY) -#define DUK_HTHREAD_STRING_PROXY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROXY) -#define DUK_HEAP_STRING_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLEE) -#define DUK_HTHREAD_STRING_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLEE) -#define DUK_HEAP_STRING_INVALID_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INVALID_DATE) -#define DUK_HTHREAD_STRING_INVALID_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INVALID_DATE) -#define DUK_HEAP_STRING_BRACKETED_ELLIPSIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HTHREAD_STRING_BRACKETED_ELLIPSIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HEAP_STRING_NEWLINE_TAB(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HTHREAD_STRING_NEWLINE_TAB(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HEAP_STRING_SPACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPACE) -#define DUK_HTHREAD_STRING_SPACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPACE) -#define DUK_HEAP_STRING_COMMA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMMA) -#define DUK_HTHREAD_STRING_COMMA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMMA) -#define DUK_HEAP_STRING_MINUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_ZERO) -#define DUK_HTHREAD_STRING_MINUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_ZERO) -#define DUK_HEAP_STRING_PLUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_ZERO) -#define DUK_HTHREAD_STRING_PLUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_ZERO) -#define DUK_HEAP_STRING_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ZERO) -#define DUK_HTHREAD_STRING_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ZERO) -#define DUK_HEAP_STRING_MINUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HTHREAD_STRING_MINUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HEAP_STRING_PLUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HTHREAD_STRING_PLUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HEAP_STRING_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INFINITY) -#define DUK_HTHREAD_STRING_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INFINITY) -#define DUK_HEAP_STRING_LC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_OBJECT) -#define DUK_HTHREAD_STRING_LC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_OBJECT) -#define DUK_HEAP_STRING_LC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_STRING) -#define DUK_HTHREAD_STRING_LC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_STRING) -#define DUK_HEAP_STRING_LC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NUMBER) -#define DUK_HTHREAD_STRING_LC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NUMBER) +#define DUK_STRIDX_CONSTRUCTOR 51 /* 'constructor' */ +#define DUK_HEAP_STRING_CONSTRUCTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONSTRUCTOR) +#define DUK_HTHREAD_STRING_CONSTRUCTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONSTRUCTOR) +#define DUK_STRIDX_MESSAGE 52 /* 'message' */ +#define DUK_HEAP_STRING_MESSAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MESSAGE) +#define DUK_HTHREAD_STRING_MESSAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MESSAGE) +#define DUK_STRIDX_LC_BOOLEAN 53 /* 'boolean' */ #define DUK_HEAP_STRING_LC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BOOLEAN) #define DUK_HTHREAD_STRING_LC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BOOLEAN) +#define DUK_STRIDX_LC_NUMBER 54 /* 'number' */ +#define DUK_HEAP_STRING_LC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NUMBER) +#define DUK_HTHREAD_STRING_LC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NUMBER) +#define DUK_STRIDX_LC_STRING 55 /* 'string' */ +#define DUK_HEAP_STRING_LC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_STRING) +#define DUK_HTHREAD_STRING_LC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_STRING) +#define DUK_STRIDX_LC_OBJECT 56 /* 'object' */ +#define DUK_HEAP_STRING_LC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_OBJECT) +#define DUK_HTHREAD_STRING_LC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_OBJECT) +#define DUK_STRIDX_LC_UNDEFINED 57 /* 'undefined' */ #define DUK_HEAP_STRING_LC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_UNDEFINED) #define DUK_HTHREAD_STRING_LC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_UNDEFINED) -#define DUK_HEAP_STRING_STRINGIFY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STRINGIFY) -#define DUK_HTHREAD_STRING_STRINGIFY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STRINGIFY) -#define DUK_HEAP_STRING_TAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TAN) -#define DUK_HTHREAD_STRING_TAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TAN) -#define DUK_HEAP_STRING_SQRT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT) -#define DUK_HTHREAD_STRING_SQRT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT) -#define DUK_HEAP_STRING_SIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SIN) -#define DUK_HTHREAD_STRING_SIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SIN) -#define DUK_HEAP_STRING_ROUND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ROUND) -#define DUK_HTHREAD_STRING_ROUND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ROUND) -#define DUK_HEAP_STRING_RANDOM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANDOM) -#define DUK_HTHREAD_STRING_RANDOM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANDOM) -#define DUK_HEAP_STRING_POW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POW) -#define DUK_HTHREAD_STRING_POW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POW) -#define DUK_HEAP_STRING_MIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN) -#define DUK_HTHREAD_STRING_MIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN) -#define DUK_HEAP_STRING_MAX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX) -#define DUK_HTHREAD_STRING_MAX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX) -#define DUK_HEAP_STRING_LOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG) -#define DUK_HTHREAD_STRING_LOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG) -#define DUK_HEAP_STRING_FLOOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOOR) -#define DUK_HTHREAD_STRING_FLOOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOOR) -#define DUK_HEAP_STRING_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXP) -#define DUK_HTHREAD_STRING_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXP) -#define DUK_HEAP_STRING_COS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COS) -#define DUK_HTHREAD_STRING_COS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COS) -#define DUK_HEAP_STRING_CEIL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CEIL) -#define DUK_HTHREAD_STRING_CEIL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CEIL) -#define DUK_HEAP_STRING_ATAN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN2) -#define DUK_HTHREAD_STRING_ATAN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN2) -#define DUK_HEAP_STRING_ATAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN) -#define DUK_HTHREAD_STRING_ATAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN) -#define DUK_HEAP_STRING_ASIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ASIN) -#define DUK_HTHREAD_STRING_ASIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ASIN) -#define DUK_HEAP_STRING_ACOS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACOS) -#define DUK_HTHREAD_STRING_ACOS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACOS) -#define DUK_HEAP_STRING_ABS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ABS) -#define DUK_HTHREAD_STRING_ABS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ABS) -#define DUK_HEAP_STRING_SQRT2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT2) -#define DUK_HTHREAD_STRING_SQRT2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT2) -#define DUK_HEAP_STRING_SQRT1_2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT1_2) -#define DUK_HTHREAD_STRING_SQRT1_2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT1_2) -#define DUK_HEAP_STRING_PI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PI) -#define DUK_HTHREAD_STRING_PI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PI) -#define DUK_HEAP_STRING_LOG10E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG10E) -#define DUK_HTHREAD_STRING_LOG10E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG10E) -#define DUK_HEAP_STRING_LOG2E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG2E) -#define DUK_HTHREAD_STRING_LOG2E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG2E) -#define DUK_HEAP_STRING_LN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN2) -#define DUK_HTHREAD_STRING_LN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN2) -#define DUK_HEAP_STRING_LN10(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN10) -#define DUK_HTHREAD_STRING_LN10(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN10) -#define DUK_HEAP_STRING_E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_E) -#define DUK_HTHREAD_STRING_E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_E) -#define DUK_HEAP_STRING_MESSAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MESSAGE) -#define DUK_HTHREAD_STRING_MESSAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MESSAGE) -#define DUK_HEAP_STRING_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAME) -#define DUK_HTHREAD_STRING_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAME) -#define DUK_HEAP_STRING_INPUT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INPUT) -#define DUK_HTHREAD_STRING_INPUT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INPUT) -#define DUK_HEAP_STRING_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX) -#define DUK_HTHREAD_STRING_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX) -#define DUK_HEAP_STRING_ESCAPED_EMPTY_REGEXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HTHREAD_STRING_ESCAPED_EMPTY_REGEXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HEAP_STRING_LAST_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX) -#define DUK_HTHREAD_STRING_LAST_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX) -#define DUK_HEAP_STRING_MULTILINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MULTILINE) -#define DUK_HTHREAD_STRING_MULTILINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MULTILINE) -#define DUK_HEAP_STRING_IGNORE_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IGNORE_CASE) -#define DUK_HTHREAD_STRING_IGNORE_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IGNORE_CASE) -#define DUK_HEAP_STRING_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOURCE) -#define DUK_HTHREAD_STRING_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOURCE) -#define DUK_HEAP_STRING_TEST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TEST) -#define DUK_HTHREAD_STRING_TEST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TEST) -#define DUK_HEAP_STRING_EXEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXEC) -#define DUK_HTHREAD_STRING_EXEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXEC) -#define DUK_HEAP_STRING_TO_GMT_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HTHREAD_STRING_TO_GMT_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HEAP_STRING_SET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_YEAR) -#define DUK_HTHREAD_STRING_SET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_YEAR) -#define DUK_HEAP_STRING_GET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_YEAR) -#define DUK_HTHREAD_STRING_GET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_YEAR) -#define DUK_HEAP_STRING_TO_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_JSON) -#define DUK_HTHREAD_STRING_TO_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_JSON) -#define DUK_HEAP_STRING_TO_ISO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HTHREAD_STRING_TO_ISO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HEAP_STRING_TO_UTC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HTHREAD_STRING_TO_UTC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HEAP_STRING_SET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_SET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HEAP_STRING_SET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HTHREAD_STRING_SET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HEAP_STRING_SET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MONTH) -#define DUK_HTHREAD_STRING_SET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MONTH) -#define DUK_HEAP_STRING_SET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HTHREAD_STRING_SET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HEAP_STRING_SET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_DATE) -#define DUK_HTHREAD_STRING_SET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_DATE) -#define DUK_HEAP_STRING_SET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HTHREAD_STRING_SET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HEAP_STRING_SET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_HOURS) -#define DUK_HTHREAD_STRING_SET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_HOURS) -#define DUK_HEAP_STRING_SET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_SET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HEAP_STRING_SET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MINUTES) -#define DUK_HTHREAD_STRING_SET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MINUTES) -#define DUK_HEAP_STRING_SET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HEAP_STRING_SET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_SECONDS) -#define DUK_HTHREAD_STRING_SET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_SECONDS) -#define DUK_HEAP_STRING_SET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_SET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HEAP_STRING_SET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_TIME) -#define DUK_HTHREAD_STRING_SET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_TIME) -#define DUK_HEAP_STRING_GET_TIMEZONE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HTHREAD_STRING_GET_TIMEZONE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HEAP_STRING_GET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_GET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HEAP_STRING_GET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HEAP_STRING_GET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_SECONDS) -#define DUK_HTHREAD_STRING_GET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_SECONDS) -#define DUK_HEAP_STRING_GET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_GET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HEAP_STRING_GET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MINUTES) -#define DUK_HTHREAD_STRING_GET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MINUTES) -#define DUK_HEAP_STRING_GET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HTHREAD_STRING_GET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HEAP_STRING_GET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_HOURS) -#define DUK_HTHREAD_STRING_GET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_HOURS) -#define DUK_HEAP_STRING_GET_UTC_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HTHREAD_STRING_GET_UTC_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HEAP_STRING_GET_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DAY) -#define DUK_HTHREAD_STRING_GET_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DAY) -#define DUK_HEAP_STRING_GET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HTHREAD_STRING_GET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HEAP_STRING_GET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DATE) -#define DUK_HTHREAD_STRING_GET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DATE) -#define DUK_HEAP_STRING_GET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HTHREAD_STRING_GET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HEAP_STRING_GET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MONTH) -#define DUK_HTHREAD_STRING_GET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MONTH) -#define DUK_HEAP_STRING_GET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_GET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HEAP_STRING_GET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIME) -#define DUK_HTHREAD_STRING_GET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIME) -#define DUK_HEAP_STRING_TO_LOCALE_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HEAP_STRING_TO_LOCALE_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HEAP_STRING_TO_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HEAP_STRING_TO_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HEAP_STRING_NOW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NOW) -#define DUK_HTHREAD_STRING_NOW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NOW) -#define DUK_HEAP_STRING_UTC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UTC) -#define DUK_HTHREAD_STRING_UTC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UTC) -#define DUK_HEAP_STRING_PARSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE) -#define DUK_HTHREAD_STRING_PARSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE) -#define DUK_HEAP_STRING_TO_PRECISION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_PRECISION) -#define DUK_HTHREAD_STRING_TO_PRECISION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_PRECISION) -#define DUK_HEAP_STRING_TO_EXPONENTIAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HTHREAD_STRING_TO_EXPONENTIAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HEAP_STRING_TO_FIXED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_FIXED) -#define DUK_HTHREAD_STRING_TO_FIXED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_FIXED) -#define DUK_HEAP_STRING_POSITIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HTHREAD_STRING_POSITIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HEAP_STRING_NEGATIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEGATIVE_INFINITY) -#define DUK_HTHREAD_STRING_NEGATIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEGATIVE_INFINITY) +#define DUK_STRIDX_NAN 58 /* 'NaN' */ #define DUK_HEAP_STRING_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAN) #define DUK_HTHREAD_STRING_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAN) -#define DUK_HEAP_STRING_MIN_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN_VALUE) -#define DUK_HTHREAD_STRING_MIN_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN_VALUE) -#define DUK_HEAP_STRING_MAX_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX_VALUE) -#define DUK_HTHREAD_STRING_MAX_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX_VALUE) -#define DUK_HEAP_STRING_SUBSTR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTR) -#define DUK_HTHREAD_STRING_SUBSTR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTR) -#define DUK_HEAP_STRING_TRIM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRIM) -#define DUK_HTHREAD_STRING_TRIM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRIM) -#define DUK_HEAP_STRING_TO_LOCALE_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HEAP_STRING_TO_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HEAP_STRING_TO_LOCALE_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HEAP_STRING_TO_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HEAP_STRING_SUBSTRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTRING) -#define DUK_HTHREAD_STRING_SUBSTRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTRING) -#define DUK_HEAP_STRING_SPLIT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLIT) -#define DUK_HTHREAD_STRING_SPLIT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLIT) -#define DUK_HEAP_STRING_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEARCH) -#define DUK_HTHREAD_STRING_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEARCH) -#define DUK_HEAP_STRING_REPLACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REPLACE) -#define DUK_HTHREAD_STRING_REPLACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REPLACE) -#define DUK_HEAP_STRING_MATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATCH) -#define DUK_HTHREAD_STRING_MATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATCH) -#define DUK_HEAP_STRING_LOCALE_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HTHREAD_STRING_LOCALE_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HEAP_STRING_CHAR_CODE_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HTHREAD_STRING_CHAR_CODE_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HEAP_STRING_CHAR_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_AT) -#define DUK_HTHREAD_STRING_CHAR_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_AT) -#define DUK_HEAP_STRING_FROM_CHAR_CODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HTHREAD_STRING_FROM_CHAR_CODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HEAP_STRING_REDUCE_RIGHT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HTHREAD_STRING_REDUCE_RIGHT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HEAP_STRING_REDUCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE) -#define DUK_HTHREAD_STRING_REDUCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE) -#define DUK_HEAP_STRING_FILTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILTER) -#define DUK_HTHREAD_STRING_FILTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILTER) -#define DUK_HEAP_STRING_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAP) -#define DUK_HTHREAD_STRING_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAP) -#define DUK_HEAP_STRING_FOR_EACH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR_EACH) -#define DUK_HTHREAD_STRING_FOR_EACH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR_EACH) -#define DUK_HEAP_STRING_SOME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOME) -#define DUK_HTHREAD_STRING_SOME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOME) -#define DUK_HEAP_STRING_EVERY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVERY) -#define DUK_HTHREAD_STRING_EVERY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVERY) -#define DUK_HEAP_STRING_LAST_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HTHREAD_STRING_LAST_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HEAP_STRING_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX_OF) -#define DUK_HTHREAD_STRING_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX_OF) -#define DUK_HEAP_STRING_UNSHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNSHIFT) -#define DUK_HTHREAD_STRING_UNSHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNSHIFT) -#define DUK_HEAP_STRING_SPLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLICE) -#define DUK_HTHREAD_STRING_SPLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLICE) -#define DUK_HEAP_STRING_SORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SORT) -#define DUK_HTHREAD_STRING_SORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SORT) -#define DUK_HEAP_STRING_SLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SLICE) -#define DUK_HTHREAD_STRING_SLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SLICE) -#define DUK_HEAP_STRING_SHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SHIFT) -#define DUK_HTHREAD_STRING_SHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SHIFT) -#define DUK_HEAP_STRING_REVERSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REVERSE) -#define DUK_HTHREAD_STRING_REVERSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REVERSE) -#define DUK_HEAP_STRING_PUSH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUSH) -#define DUK_HTHREAD_STRING_PUSH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUSH) -#define DUK_HEAP_STRING_POP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POP) -#define DUK_HTHREAD_STRING_POP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POP) -#define DUK_HEAP_STRING_JOIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JOIN) -#define DUK_HTHREAD_STRING_JOIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JOIN) -#define DUK_HEAP_STRING_CONCAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONCAT) -#define DUK_HTHREAD_STRING_CONCAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONCAT) -#define DUK_HEAP_STRING_IS_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ARRAY) -#define DUK_HTHREAD_STRING_IS_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ARRAY) +#define DUK_STRIDX_INFINITY 59 /* 'Infinity' */ +#define DUK_HEAP_STRING_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INFINITY) +#define DUK_HTHREAD_STRING_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INFINITY) +#define DUK_STRIDX_MINUS_INFINITY 60 /* '-Infinity' */ +#define DUK_HEAP_STRING_MINUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_INFINITY) +#define DUK_HTHREAD_STRING_MINUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_INFINITY) +#define DUK_STRIDX_MINUS_ZERO 61 /* '-0' */ +#define DUK_HEAP_STRING_MINUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_ZERO) +#define DUK_HTHREAD_STRING_MINUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_ZERO) +#define DUK_STRIDX_COMMA 62 /* ',' */ +#define DUK_HEAP_STRING_COMMA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMMA) +#define DUK_HTHREAD_STRING_COMMA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMMA) +#define DUK_STRIDX_SPACE 63 /* ' ' */ +#define DUK_HEAP_STRING_SPACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPACE) +#define DUK_HTHREAD_STRING_SPACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPACE) +#define DUK_STRIDX_NEWLINE_4SPACE 64 /* '\n ' */ +#define DUK_HEAP_STRING_NEWLINE_4SPACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEWLINE_4SPACE) +#define DUK_HTHREAD_STRING_NEWLINE_4SPACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEWLINE_4SPACE) +#define DUK_STRIDX_BRACKETED_ELLIPSIS 65 /* '[...]' */ +#define DUK_HEAP_STRING_BRACKETED_ELLIPSIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BRACKETED_ELLIPSIS) +#define DUK_HTHREAD_STRING_BRACKETED_ELLIPSIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BRACKETED_ELLIPSIS) +#define DUK_STRIDX_INVALID_DATE 66 /* 'Invalid Date' */ +#define DUK_HEAP_STRING_INVALID_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INVALID_DATE) +#define DUK_HTHREAD_STRING_INVALID_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INVALID_DATE) +#define DUK_STRIDX_LC_ARGUMENTS 67 /* 'arguments' */ #define DUK_HEAP_STRING_LC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ARGUMENTS) #define DUK_HTHREAD_STRING_LC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ARGUMENTS) +#define DUK_STRIDX_CALLEE 68 /* 'callee' */ +#define DUK_HEAP_STRING_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLEE) +#define DUK_HTHREAD_STRING_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLEE) +#define DUK_STRIDX_CALLER 69 /* 'caller' */ #define DUK_HEAP_STRING_CALLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLER) #define DUK_HTHREAD_STRING_CALLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLER) -#define DUK_HEAP_STRING_BIND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BIND) -#define DUK_HTHREAD_STRING_BIND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BIND) -#define DUK_HEAP_STRING_CALL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALL) -#define DUK_HTHREAD_STRING_CALL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALL) -#define DUK_HEAP_STRING_APPLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_APPLY) -#define DUK_HTHREAD_STRING_APPLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_APPLY) -#define DUK_HEAP_STRING_PROPERTY_IS_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HTHREAD_STRING_PROPERTY_IS_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HEAP_STRING_IS_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_IS_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HEAP_STRING_HAS_OWN_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HTHREAD_STRING_HAS_OWN_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HEAP_STRING_VALUE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE_OF) -#define DUK_HTHREAD_STRING_VALUE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE_OF) -#define DUK_HEAP_STRING_TO_LOCALE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_STRING) -#define DUK_HEAP_STRING_TO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_STRING) -#define DUK_HTHREAD_STRING_TO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_STRING) -#define DUK_HEAP_STRING_CONSTRUCTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HTHREAD_STRING_CONSTRUCTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HEAP_STRING_SET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET) -#define DUK_HTHREAD_STRING_SET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET) +#define DUK_STRIDX_HAS 70 /* 'has' */ +#define DUK_HEAP_STRING_HAS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS) +#define DUK_HTHREAD_STRING_HAS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS) +#define DUK_STRIDX_GET 71 /* 'get' */ #define DUK_HEAP_STRING_GET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET) #define DUK_HTHREAD_STRING_GET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET) -#define DUK_HEAP_STRING_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERABLE) -#define DUK_HTHREAD_STRING_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERABLE) -#define DUK_HEAP_STRING_CONFIGURABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONFIGURABLE) -#define DUK_HTHREAD_STRING_CONFIGURABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONFIGURABLE) -#define DUK_HEAP_STRING_WRITABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITABLE) -#define DUK_HTHREAD_STRING_WRITABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITABLE) -#define DUK_HEAP_STRING_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE) -#define DUK_HTHREAD_STRING_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE) -#define DUK_HEAP_STRING_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_KEYS) -#define DUK_HTHREAD_STRING_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_KEYS) -#define DUK_HEAP_STRING_IS_EXTENSIBLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HTHREAD_STRING_IS_EXTENSIBLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HEAP_STRING_IS_FROZEN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FROZEN) -#define DUK_HTHREAD_STRING_IS_FROZEN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FROZEN) -#define DUK_HEAP_STRING_IS_SEALED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_SEALED) -#define DUK_HTHREAD_STRING_IS_SEALED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_SEALED) -#define DUK_HEAP_STRING_PREVENT_EXTENSIONS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HTHREAD_STRING_PREVENT_EXTENSIONS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HEAP_STRING_FREEZE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FREEZE) -#define DUK_HTHREAD_STRING_FREEZE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FREEZE) -#define DUK_HEAP_STRING_SEAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEAL) -#define DUK_HTHREAD_STRING_SEAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEAL) -#define DUK_HEAP_STRING_DEFINE_PROPERTIES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTIES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HEAP_STRING_DEFINE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HEAP_STRING_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CREATE) -#define DUK_HTHREAD_STRING_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CREATE) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_NAMES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_NAMES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_DESCRIPTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_DESCRIPTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HEAP_STRING_GET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_GET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_PROTOTYPE_OF) -#define DUK_HEAP_STRING_PROTOTYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTOTYPE) -#define DUK_HTHREAD_STRING_PROTOTYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTOTYPE) +#define DUK_STRIDX_DELETE_PROPERTY 72 /* 'deleteProperty' */ +#define DUK_HEAP_STRING_DELETE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE_PROPERTY) +#define DUK_HTHREAD_STRING_DELETE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE_PROPERTY) +#define DUK_STRIDX_ENUMERATE 73 /* 'enumerate' */ +#define DUK_HEAP_STRING_ENUMERATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERATE) +#define DUK_HTHREAD_STRING_ENUMERATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERATE) +#define DUK_STRIDX_OWN_KEYS 74 /* 'ownKeys' */ +#define DUK_HEAP_STRING_OWN_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OWN_KEYS) +#define DUK_HTHREAD_STRING_OWN_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OWN_KEYS) +#define DUK_STRIDX_SET_PROTOTYPE_OF 75 /* 'setPrototypeOf' */ +#define DUK_HEAP_STRING_SET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_PROTOTYPE_OF) +#define DUK_HTHREAD_STRING_SET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_PROTOTYPE_OF) +#define DUK_STRIDX___PROTO__ 76 /* '__proto__' */ +#define DUK_HEAP_STRING___PROTO__(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX___PROTO__) +#define DUK_HTHREAD_STRING___PROTO__(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX___PROTO__) +#define DUK_STRIDX_REQUIRE 77 /* 'require' */ +#define DUK_HEAP_STRING_REQUIRE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REQUIRE) +#define DUK_HTHREAD_STRING_REQUIRE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REQUIRE) +#define DUK_STRIDX_ID 78 /* 'id' */ +#define DUK_HEAP_STRING_ID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ID) +#define DUK_HTHREAD_STRING_ID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ID) +#define DUK_STRIDX_EXPORTS 79 /* 'exports' */ +#define DUK_HEAP_STRING_EXPORTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORTS) +#define DUK_HTHREAD_STRING_EXPORTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORTS) +#define DUK_STRIDX_FILENAME 80 /* 'filename' */ +#define DUK_HEAP_STRING_FILENAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILENAME) +#define DUK_HTHREAD_STRING_FILENAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILENAME) +#define DUK_STRIDX_TO_STRING 81 /* 'toString' */ +#define DUK_HEAP_STRING_TO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_STRING) +#define DUK_HTHREAD_STRING_TO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_STRING) +#define DUK_STRIDX_TO_JSON 82 /* 'toJSON' */ +#define DUK_HEAP_STRING_TO_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_JSON) +#define DUK_HTHREAD_STRING_TO_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_JSON) +#define DUK_STRIDX_TYPE 83 /* 'type' */ +#define DUK_HEAP_STRING_TYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE) +#define DUK_HTHREAD_STRING_TYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE) +#define DUK_STRIDX_DATA 84 /* 'data' */ +#define DUK_HEAP_STRING_DATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA) +#define DUK_HTHREAD_STRING_DATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA) +#define DUK_STRIDX_LENGTH 85 /* 'length' */ #define DUK_HEAP_STRING_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LENGTH) #define DUK_HTHREAD_STRING_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LENGTH) -#define DUK_HEAP_STRING_ALERT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ALERT) -#define DUK_HTHREAD_STRING_ALERT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ALERT) -#define DUK_HEAP_STRING_PRINT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRINT) -#define DUK_HTHREAD_STRING_PRINT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRINT) -#define DUK_HEAP_STRING_UNESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNESCAPE) -#define DUK_HTHREAD_STRING_UNESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNESCAPE) -#define DUK_HEAP_STRING_ESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPE) -#define DUK_HTHREAD_STRING_ESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPE) -#define DUK_HEAP_STRING_ENCODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_ENCODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HEAP_STRING_ENCODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI) -#define DUK_HTHREAD_STRING_ENCODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI) -#define DUK_HEAP_STRING_DECODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_DECODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HEAP_STRING_DECODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI) -#define DUK_HTHREAD_STRING_DECODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI) -#define DUK_HEAP_STRING_IS_FINITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FINITE) -#define DUK_HTHREAD_STRING_IS_FINITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FINITE) -#define DUK_HEAP_STRING_IS_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_NAN) -#define DUK_HTHREAD_STRING_IS_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_NAN) -#define DUK_HEAP_STRING_PARSE_FLOAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HTHREAD_STRING_PARSE_FLOAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HEAP_STRING_PARSE_INT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_INT) -#define DUK_HTHREAD_STRING_PARSE_INT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_INT) -#define DUK_HEAP_STRING_EVAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL) -#define DUK_HTHREAD_STRING_EVAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL) -#define DUK_HEAP_STRING_URI_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_URI_ERROR) -#define DUK_HTHREAD_STRING_URI_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_URI_ERROR) -#define DUK_HEAP_STRING_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE_ERROR) -#define DUK_HTHREAD_STRING_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE_ERROR) -#define DUK_HEAP_STRING_SYNTAX_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HTHREAD_STRING_SYNTAX_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HEAP_STRING_REFERENCE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HTHREAD_STRING_REFERENCE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HEAP_STRING_RANGE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANGE_ERROR) -#define DUK_HTHREAD_STRING_RANGE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANGE_ERROR) -#define DUK_HEAP_STRING_EVAL_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL_ERROR) -#define DUK_HTHREAD_STRING_EVAL_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL_ERROR) -#define DUK_HEAP_STRING_BREAK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BREAK) -#define DUK_HTHREAD_STRING_BREAK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BREAK) -#define DUK_HEAP_STRING_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CASE) -#define DUK_HTHREAD_STRING_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CASE) -#define DUK_HEAP_STRING_CATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CATCH) -#define DUK_HTHREAD_STRING_CATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CATCH) -#define DUK_HEAP_STRING_CONTINUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONTINUE) -#define DUK_HTHREAD_STRING_CONTINUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONTINUE) -#define DUK_HEAP_STRING_DEBUGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEBUGGER) -#define DUK_HTHREAD_STRING_DEBUGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEBUGGER) -#define DUK_HEAP_STRING_DEFAULT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFAULT) -#define DUK_HTHREAD_STRING_DEFAULT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFAULT) -#define DUK_HEAP_STRING_DELETE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE) -#define DUK_HTHREAD_STRING_DELETE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE) -#define DUK_HEAP_STRING_DO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DO) -#define DUK_HTHREAD_STRING_DO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DO) -#define DUK_HEAP_STRING_ELSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ELSE) -#define DUK_HTHREAD_STRING_ELSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ELSE) -#define DUK_HEAP_STRING_FINALLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FINALLY) -#define DUK_HTHREAD_STRING_FINALLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FINALLY) -#define DUK_HEAP_STRING_FOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR) -#define DUK_HTHREAD_STRING_FOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR) -#define DUK_HEAP_STRING_LC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FUNCTION) -#define DUK_HTHREAD_STRING_LC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FUNCTION) -#define DUK_HEAP_STRING_IF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IF) -#define DUK_HTHREAD_STRING_IF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IF) -#define DUK_HEAP_STRING_IN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IN) -#define DUK_HTHREAD_STRING_IN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IN) -#define DUK_HEAP_STRING_INSTANCEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INSTANCEOF) -#define DUK_HTHREAD_STRING_INSTANCEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INSTANCEOF) -#define DUK_HEAP_STRING_NEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEW) -#define DUK_HTHREAD_STRING_NEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEW) -#define DUK_HEAP_STRING_RETURN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RETURN) -#define DUK_HTHREAD_STRING_RETURN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RETURN) -#define DUK_HEAP_STRING_SWITCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SWITCH) -#define DUK_HTHREAD_STRING_SWITCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SWITCH) -#define DUK_HEAP_STRING_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THIS) -#define DUK_HTHREAD_STRING_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THIS) -#define DUK_HEAP_STRING_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW) -#define DUK_HTHREAD_STRING_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW) -#define DUK_HEAP_STRING_TRY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRY) -#define DUK_HTHREAD_STRING_TRY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRY) -#define DUK_HEAP_STRING_TYPEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPEOF) -#define DUK_HTHREAD_STRING_TYPEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPEOF) -#define DUK_HEAP_STRING_VAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VAR) -#define DUK_HTHREAD_STRING_VAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VAR) -#define DUK_HEAP_STRING_CONST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONST) -#define DUK_HTHREAD_STRING_CONST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONST) -#define DUK_HEAP_STRING_VOID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VOID) -#define DUK_HTHREAD_STRING_VOID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VOID) -#define DUK_HEAP_STRING_WHILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WHILE) -#define DUK_HTHREAD_STRING_WHILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WHILE) -#define DUK_HEAP_STRING_WITH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WITH) -#define DUK_HTHREAD_STRING_WITH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WITH) -#define DUK_HEAP_STRING_CLASS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLASS) -#define DUK_HTHREAD_STRING_CLASS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLASS) -#define DUK_HEAP_STRING_ENUM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUM) -#define DUK_HTHREAD_STRING_ENUM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUM) -#define DUK_HEAP_STRING_EXPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORT) -#define DUK_HTHREAD_STRING_EXPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORT) -#define DUK_HEAP_STRING_EXTENDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXTENDS) -#define DUK_HTHREAD_STRING_EXTENDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXTENDS) -#define DUK_HEAP_STRING_IMPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPORT) -#define DUK_HTHREAD_STRING_IMPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPORT) -#define DUK_HEAP_STRING_SUPER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUPER) -#define DUK_HTHREAD_STRING_SUPER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUPER) -#define DUK_HEAP_STRING_LC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NULL) -#define DUK_HTHREAD_STRING_LC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NULL) -#define DUK_HEAP_STRING_TRUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRUE) -#define DUK_HTHREAD_STRING_TRUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRUE) -#define DUK_HEAP_STRING_FALSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FALSE) -#define DUK_HTHREAD_STRING_FALSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FALSE) -#define DUK_HEAP_STRING_IMPLEMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPLEMENTS) -#define DUK_HTHREAD_STRING_IMPLEMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPLEMENTS) -#define DUK_HEAP_STRING_INTERFACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INTERFACE) -#define DUK_HTHREAD_STRING_INTERFACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INTERFACE) -#define DUK_HEAP_STRING_LET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LET) -#define DUK_HTHREAD_STRING_LET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LET) -#define DUK_HEAP_STRING_PACKAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PACKAGE) -#define DUK_HTHREAD_STRING_PACKAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PACKAGE) -#define DUK_HEAP_STRING_PRIVATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRIVATE) -#define DUK_HTHREAD_STRING_PRIVATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRIVATE) -#define DUK_HEAP_STRING_PROTECTED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTECTED) -#define DUK_HTHREAD_STRING_PROTECTED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTECTED) -#define DUK_HEAP_STRING_PUBLIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUBLIC) -#define DUK_HTHREAD_STRING_PUBLIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUBLIC) -#define DUK_HEAP_STRING_STATIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STATIC) -#define DUK_HTHREAD_STRING_STATIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STATIC) -#define DUK_HEAP_STRING_YIELD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_YIELD) -#define DUK_HTHREAD_STRING_YIELD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_YIELD) - -#define DUK_HEAP_NUM_STRINGS 414 - -#define DUK_STRIDX_START_RESERVED 369 -#define DUK_STRIDX_START_STRICT_RESERVED 405 -#define DUK_STRIDX_END_RESERVED 414 /* exclusive endpoint */ - -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const duk_c_function duk_bi_native_functions[149]; -DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[1955]; -#ifdef DUK_USE_BUILTIN_INITJS -DUK_INTERNAL_DECL const duk_uint8_t duk_initjs_data[187]; -#endif /* DUK_USE_BUILTIN_INITJS */ -#endif /* !DUK_SINGLE_FILE */ - -#define DUK_BUILTINS_DATA_LENGTH 1955 -#ifdef DUK_USE_BUILTIN_INITJS -#define DUK_BUILTIN_INITJS_DATA_LENGTH 187 -#endif /* DUK_USE_BUILTIN_INITJS */ - -#define DUK_BIDX_GLOBAL 0 -#define DUK_BIDX_GLOBAL_ENV 1 -#define DUK_BIDX_OBJECT_CONSTRUCTOR 2 -#define DUK_BIDX_OBJECT_PROTOTYPE 3 -#define DUK_BIDX_FUNCTION_CONSTRUCTOR 4 -#define DUK_BIDX_FUNCTION_PROTOTYPE 5 -#define DUK_BIDX_ARRAY_CONSTRUCTOR 6 -#define DUK_BIDX_ARRAY_PROTOTYPE 7 -#define DUK_BIDX_STRING_CONSTRUCTOR 8 -#define DUK_BIDX_STRING_PROTOTYPE 9 -#define DUK_BIDX_BOOLEAN_CONSTRUCTOR 10 -#define DUK_BIDX_BOOLEAN_PROTOTYPE 11 -#define DUK_BIDX_NUMBER_CONSTRUCTOR 12 -#define DUK_BIDX_NUMBER_PROTOTYPE 13 -#define DUK_BIDX_DATE_CONSTRUCTOR 14 -#define DUK_BIDX_DATE_PROTOTYPE 15 -#define DUK_BIDX_REGEXP_CONSTRUCTOR 16 -#define DUK_BIDX_REGEXP_PROTOTYPE 17 -#define DUK_BIDX_ERROR_CONSTRUCTOR 18 -#define DUK_BIDX_ERROR_PROTOTYPE 19 -#define DUK_BIDX_EVAL_ERROR_CONSTRUCTOR 20 -#define DUK_BIDX_EVAL_ERROR_PROTOTYPE 21 -#define DUK_BIDX_RANGE_ERROR_CONSTRUCTOR 22 -#define DUK_BIDX_RANGE_ERROR_PROTOTYPE 23 -#define DUK_BIDX_REFERENCE_ERROR_CONSTRUCTOR 24 -#define DUK_BIDX_REFERENCE_ERROR_PROTOTYPE 25 -#define DUK_BIDX_SYNTAX_ERROR_CONSTRUCTOR 26 -#define DUK_BIDX_SYNTAX_ERROR_PROTOTYPE 27 -#define DUK_BIDX_TYPE_ERROR_CONSTRUCTOR 28 -#define DUK_BIDX_TYPE_ERROR_PROTOTYPE 29 -#define DUK_BIDX_URI_ERROR_CONSTRUCTOR 30 -#define DUK_BIDX_URI_ERROR_PROTOTYPE 31 -#define DUK_BIDX_MATH 32 -#define DUK_BIDX_JSON 33 -#define DUK_BIDX_TYPE_ERROR_THROWER 34 -#define DUK_BIDX_PROXY_CONSTRUCTOR 35 -#define DUK_BIDX_DUKTAPE 36 -#define DUK_BIDX_THREAD_CONSTRUCTOR 37 -#define DUK_BIDX_THREAD_PROTOTYPE 38 -#define DUK_BIDX_BUFFER_CONSTRUCTOR 39 -#define DUK_BIDX_BUFFER_PROTOTYPE 40 -#define DUK_BIDX_POINTER_CONSTRUCTOR 41 -#define DUK_BIDX_POINTER_PROTOTYPE 42 -#define DUK_BIDX_LOGGER_CONSTRUCTOR 43 -#define DUK_BIDX_LOGGER_PROTOTYPE 44 -#define DUK_BIDX_DOUBLE_ERROR 45 -#define DUK_BIDX_ARRAYBUFFER_CONSTRUCTOR 46 -#define DUK_BIDX_ARRAYBUFFER_PROTOTYPE 47 -#define DUK_BIDX_DATAVIEW_CONSTRUCTOR 48 -#define DUK_BIDX_DATAVIEW_PROTOTYPE 49 -#define DUK_BIDX_TYPEDARRAY_PROTOTYPE 50 -#define DUK_BIDX_INT8ARRAY_CONSTRUCTOR 51 -#define DUK_BIDX_INT8ARRAY_PROTOTYPE 52 -#define DUK_BIDX_UINT8ARRAY_CONSTRUCTOR 53 -#define DUK_BIDX_UINT8ARRAY_PROTOTYPE 54 -#define DUK_BIDX_UINT8CLAMPEDARRAY_CONSTRUCTOR 55 -#define DUK_BIDX_UINT8CLAMPEDARRAY_PROTOTYPE 56 -#define DUK_BIDX_INT16ARRAY_CONSTRUCTOR 57 -#define DUK_BIDX_INT16ARRAY_PROTOTYPE 58 -#define DUK_BIDX_UINT16ARRAY_CONSTRUCTOR 59 -#define DUK_BIDX_UINT16ARRAY_PROTOTYPE 60 -#define DUK_BIDX_INT32ARRAY_CONSTRUCTOR 61 -#define DUK_BIDX_INT32ARRAY_PROTOTYPE 62 -#define DUK_BIDX_UINT32ARRAY_CONSTRUCTOR 63 -#define DUK_BIDX_UINT32ARRAY_PROTOTYPE 64 -#define DUK_BIDX_FLOAT32ARRAY_CONSTRUCTOR 65 -#define DUK_BIDX_FLOAT32ARRAY_PROTOTYPE 66 -#define DUK_BIDX_FLOAT64ARRAY_CONSTRUCTOR 67 -#define DUK_BIDX_FLOAT64ARRAY_PROTOTYPE 68 -#define DUK_BIDX_NODEJS_BUFFER_CONSTRUCTOR 69 -#define DUK_BIDX_NODEJS_BUFFER_PROTOTYPE 70 - -#define DUK_NUM_BUILTINS 71 - -#elif defined(DUK_USE_DOUBLE_ME) -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const duk_uint8_t duk_strings_data[2624]; -#endif /* !DUK_SINGLE_FILE */ - -#define DUK_STRDATA_DATA_LENGTH 2624 -#define DUK_STRDATA_MAX_STRLEN 24 - -#define DUK_STRIDX_UC_LOGGER 0 /* 'Logger' */ -#define DUK_STRIDX_UC_THREAD 1 /* 'Thread' */ -#define DUK_STRIDX_UC_POINTER 2 /* 'Pointer' */ -#define DUK_STRIDX_DEC_ENV 3 /* 'DecEnv' */ -#define DUK_STRIDX_OBJ_ENV 4 /* 'ObjEnv' */ -#define DUK_STRIDX_FLOAT64_ARRAY 5 /* 'Float64Array' */ -#define DUK_STRIDX_FLOAT32_ARRAY 6 /* 'Float32Array' */ -#define DUK_STRIDX_UINT32_ARRAY 7 /* 'Uint32Array' */ -#define DUK_STRIDX_INT32_ARRAY 8 /* 'Int32Array' */ -#define DUK_STRIDX_UINT16_ARRAY 9 /* 'Uint16Array' */ -#define DUK_STRIDX_INT16_ARRAY 10 /* 'Int16Array' */ -#define DUK_STRIDX_UINT8_CLAMPED_ARRAY 11 /* 'Uint8ClampedArray' */ -#define DUK_STRIDX_UINT8_ARRAY 12 /* 'Uint8Array' */ -#define DUK_STRIDX_INT8_ARRAY 13 /* 'Int8Array' */ -#define DUK_STRIDX_DATA_VIEW 14 /* 'DataView' */ -#define DUK_STRIDX_ARRAY_BUFFER 15 /* 'ArrayBuffer' */ -#define DUK_STRIDX_UC_BUFFER 16 /* 'Buffer' */ -#define DUK_STRIDX_EMPTY_STRING 17 /* '' */ -#define DUK_STRIDX_GLOBAL 18 /* 'global' */ -#define DUK_STRIDX_UC_ARGUMENTS 19 /* 'Arguments' */ -#define DUK_STRIDX_JSON 20 /* 'JSON' */ -#define DUK_STRIDX_MATH 21 /* 'Math' */ -#define DUK_STRIDX_UC_ERROR 22 /* 'Error' */ -#define DUK_STRIDX_REG_EXP 23 /* 'RegExp' */ -#define DUK_STRIDX_DATE 24 /* 'Date' */ -#define DUK_STRIDX_UC_NUMBER 25 /* 'Number' */ -#define DUK_STRIDX_UC_BOOLEAN 26 /* 'Boolean' */ -#define DUK_STRIDX_UC_STRING 27 /* 'String' */ -#define DUK_STRIDX_ARRAY 28 /* 'Array' */ -#define DUK_STRIDX_UC_FUNCTION 29 /* 'Function' */ -#define DUK_STRIDX_UC_OBJECT 30 /* 'Object' */ -#define DUK_STRIDX_UC_NULL 31 /* 'Null' */ -#define DUK_STRIDX_UC_UNDEFINED 32 /* 'Undefined' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION2 33 /* '{_func:true}' */ -#define DUK_STRIDX_JSON_EXT_FUNCTION1 34 /* '{"_func":true}' */ -#define DUK_STRIDX_JSON_EXT_NEGINF 35 /* '{"_ninf":true}' */ -#define DUK_STRIDX_JSON_EXT_POSINF 36 /* '{"_inf":true}' */ -#define DUK_STRIDX_JSON_EXT_NAN 37 /* '{"_nan":true}' */ -#define DUK_STRIDX_JSON_EXT_UNDEFINED 38 /* '{"_undef":true}' */ -#define DUK_STRIDX_TO_LOG_STRING 39 /* 'toLogString' */ -#define DUK_STRIDX_CLOG 40 /* 'clog' */ -#define DUK_STRIDX_LC_L 41 /* 'l' */ -#define DUK_STRIDX_LC_N 42 /* 'n' */ -#define DUK_STRIDX_LC_FATAL 43 /* 'fatal' */ -#define DUK_STRIDX_LC_ERROR 44 /* 'error' */ -#define DUK_STRIDX_LC_WARN 45 /* 'warn' */ -#define DUK_STRIDX_LC_DEBUG 46 /* 'debug' */ -#define DUK_STRIDX_LC_TRACE 47 /* 'trace' */ -#define DUK_STRIDX_RAW 48 /* 'raw' */ -#define DUK_STRIDX_FMT 49 /* 'fmt' */ -#define DUK_STRIDX_CURRENT 50 /* 'current' */ -#define DUK_STRIDX_RESUME 51 /* 'resume' */ -#define DUK_STRIDX_COMPACT 52 /* 'compact' */ -#define DUK_STRIDX_JC 53 /* 'jc' */ -#define DUK_STRIDX_JX 54 /* 'jx' */ -#define DUK_STRIDX_BASE64 55 /* 'base64' */ -#define DUK_STRIDX_HEX 56 /* 'hex' */ -#define DUK_STRIDX_DEC 57 /* 'dec' */ -#define DUK_STRIDX_ENC 58 /* 'enc' */ -#define DUK_STRIDX_FIN 59 /* 'fin' */ -#define DUK_STRIDX_GC 60 /* 'gc' */ -#define DUK_STRIDX_ACT 61 /* 'act' */ -#define DUK_STRIDX_LC_INFO 62 /* 'info' */ -#define DUK_STRIDX_VERSION 63 /* 'version' */ -#define DUK_STRIDX_ENV 64 /* 'env' */ -#define DUK_STRIDX_MOD_LOADED 65 /* 'modLoaded' */ -#define DUK_STRIDX_MOD_SEARCH 66 /* 'modSearch' */ -#define DUK_STRIDX_ERR_THROW 67 /* 'errThrow' */ -#define DUK_STRIDX_ERR_CREATE 68 /* 'errCreate' */ -#define DUK_STRIDX_COMPILE 69 /* 'compile' */ -#define DUK_STRIDX_INT_REGBASE 70 /* '\x00Regbase' */ -#define DUK_STRIDX_INT_THREAD 71 /* '\x00Thread' */ -#define DUK_STRIDX_INT_HANDLER 72 /* '\x00Handler' */ -#define DUK_STRIDX_INT_FINALIZER 73 /* '\x00Finalizer' */ -#define DUK_STRIDX_INT_CALLEE 74 /* '\x00Callee' */ -#define DUK_STRIDX_INT_MAP 75 /* '\x00Map' */ -#define DUK_STRIDX_INT_ARGS 76 /* '\x00Args' */ -#define DUK_STRIDX_INT_THIS 77 /* '\x00This' */ -#define DUK_STRIDX_INT_PC2LINE 78 /* '\x00Pc2line' */ -#define DUK_STRIDX_INT_SOURCE 79 /* '\x00Source' */ -#define DUK_STRIDX_INT_VARENV 80 /* '\x00Varenv' */ -#define DUK_STRIDX_INT_LEXENV 81 /* '\x00Lexenv' */ -#define DUK_STRIDX_INT_VARMAP 82 /* '\x00Varmap' */ -#define DUK_STRIDX_INT_FORMALS 83 /* '\x00Formals' */ -#define DUK_STRIDX_INT_BYTECODE 84 /* '\x00Bytecode' */ -#define DUK_STRIDX_INT_NEXT 85 /* '\x00Next' */ -#define DUK_STRIDX_INT_TARGET 86 /* '\x00Target' */ -#define DUK_STRIDX_INT_VALUE 87 /* '\x00Value' */ -#define DUK_STRIDX_LC_POINTER 88 /* 'pointer' */ -#define DUK_STRIDX_INT_TRACEDATA 89 /* '\x00Tracedata' */ -#define DUK_STRIDX_LINE_NUMBER 90 /* 'lineNumber' */ -#define DUK_STRIDX_FILE_NAME 91 /* 'fileName' */ -#define DUK_STRIDX_PC 92 /* 'pc' */ -#define DUK_STRIDX_STACK 93 /* 'stack' */ -#define DUK_STRIDX_THROW_TYPE_ERROR 94 /* 'ThrowTypeError' */ -#define DUK_STRIDX_DUKTAPE 95 /* 'Duktape' */ -#define DUK_STRIDX_SET_FLOAT64 96 /* 'setFloat64' */ -#define DUK_STRIDX_SET_FLOAT32 97 /* 'setFloat32' */ -#define DUK_STRIDX_SET_UINT32 98 /* 'setUint32' */ -#define DUK_STRIDX_SET_INT32 99 /* 'setInt32' */ -#define DUK_STRIDX_SET_UINT16 100 /* 'setUint16' */ -#define DUK_STRIDX_SET_INT16 101 /* 'setInt16' */ -#define DUK_STRIDX_SET_UINT8 102 /* 'setUint8' */ -#define DUK_STRIDX_SET_INT8 103 /* 'setInt8' */ -#define DUK_STRIDX_GET_FLOAT64 104 /* 'getFloat64' */ -#define DUK_STRIDX_GET_FLOAT32 105 /* 'getFloat32' */ -#define DUK_STRIDX_GET_UINT32 106 /* 'getUint32' */ -#define DUK_STRIDX_GET_INT32 107 /* 'getInt32' */ -#define DUK_STRIDX_GET_UINT16 108 /* 'getUint16' */ -#define DUK_STRIDX_GET_INT16 109 /* 'getInt16' */ -#define DUK_STRIDX_GET_UINT8 110 /* 'getUint8' */ -#define DUK_STRIDX_GET_INT8 111 /* 'getInt8' */ -#define DUK_STRIDX_SUBARRAY 112 /* 'subarray' */ -#define DUK_STRIDX_BYTES_PER_ELEMENT 113 /* 'BYTES_PER_ELEMENT' */ -#define DUK_STRIDX_BYTE_OFFSET 114 /* 'byteOffset' */ -#define DUK_STRIDX_LC_BUFFER 115 /* 'buffer' */ -#define DUK_STRIDX_IS_VIEW 116 /* 'isView' */ -#define DUK_STRIDX_DATA 117 /* 'data' */ -#define DUK_STRIDX_TYPE 118 /* 'type' */ -#define DUK_STRIDX_WRITE_INT_BE 119 /* 'writeIntBE' */ -#define DUK_STRIDX_WRITE_INT_LE 120 /* 'writeIntLE' */ -#define DUK_STRIDX_WRITE_UINT_BE 121 /* 'writeUIntBE' */ -#define DUK_STRIDX_WRITE_UINT_LE 122 /* 'writeUIntLE' */ -#define DUK_STRIDX_WRITE_DOUBLE_BE 123 /* 'writeDoubleBE' */ -#define DUK_STRIDX_WRITE_DOUBLE_LE 124 /* 'writeDoubleLE' */ -#define DUK_STRIDX_WRITE_FLOAT_BE 125 /* 'writeFloatBE' */ -#define DUK_STRIDX_WRITE_FLOAT_LE 126 /* 'writeFloatLE' */ -#define DUK_STRIDX_WRITE_INT32_BE 127 /* 'writeInt32BE' */ -#define DUK_STRIDX_WRITE_INT32_LE 128 /* 'writeInt32LE' */ -#define DUK_STRIDX_WRITE_UINT32_BE 129 /* 'writeUInt32BE' */ -#define DUK_STRIDX_WRITE_UINT32_LE 130 /* 'writeUInt32LE' */ -#define DUK_STRIDX_WRITE_INT16_BE 131 /* 'writeInt16BE' */ -#define DUK_STRIDX_WRITE_INT16_LE 132 /* 'writeInt16LE' */ -#define DUK_STRIDX_WRITE_UINT16_BE 133 /* 'writeUInt16BE' */ -#define DUK_STRIDX_WRITE_UINT16_LE 134 /* 'writeUInt16LE' */ -#define DUK_STRIDX_WRITE_INT8 135 /* 'writeInt8' */ -#define DUK_STRIDX_WRITE_UINT8 136 /* 'writeUInt8' */ -#define DUK_STRIDX_READ_INT_BE 137 /* 'readIntBE' */ -#define DUK_STRIDX_READ_INT_LE 138 /* 'readIntLE' */ -#define DUK_STRIDX_READ_UINT_BE 139 /* 'readUIntBE' */ -#define DUK_STRIDX_READ_UINT_LE 140 /* 'readUIntLE' */ -#define DUK_STRIDX_READ_DOUBLE_BE 141 /* 'readDoubleBE' */ -#define DUK_STRIDX_READ_DOUBLE_LE 142 /* 'readDoubleLE' */ -#define DUK_STRIDX_READ_FLOAT_BE 143 /* 'readFloatBE' */ -#define DUK_STRIDX_READ_FLOAT_LE 144 /* 'readFloatLE' */ -#define DUK_STRIDX_READ_INT32_BE 145 /* 'readInt32BE' */ -#define DUK_STRIDX_READ_INT32_LE 146 /* 'readInt32LE' */ -#define DUK_STRIDX_READ_UINT32_BE 147 /* 'readUInt32BE' */ -#define DUK_STRIDX_READ_UINT32_LE 148 /* 'readUInt32LE' */ -#define DUK_STRIDX_READ_INT16_BE 149 /* 'readInt16BE' */ -#define DUK_STRIDX_READ_INT16_LE 150 /* 'readInt16LE' */ -#define DUK_STRIDX_READ_UINT16_BE 151 /* 'readUInt16BE' */ -#define DUK_STRIDX_READ_UINT16_LE 152 /* 'readUInt16LE' */ -#define DUK_STRIDX_READ_INT8 153 /* 'readInt8' */ -#define DUK_STRIDX_READ_UINT8 154 /* 'readUInt8' */ -#define DUK_STRIDX_COPY 155 /* 'copy' */ -#define DUK_STRIDX_EQUALS 156 /* 'equals' */ -#define DUK_STRIDX_FILL 157 /* 'fill' */ -#define DUK_STRIDX_WRITE 158 /* 'write' */ -#define DUK_STRIDX_COMPARE 159 /* 'compare' */ -#define DUK_STRIDX_BYTE_LENGTH 160 /* 'byteLength' */ -#define DUK_STRIDX_IS_BUFFER 161 /* 'isBuffer' */ -#define DUK_STRIDX_IS_ENCODING 162 /* 'isEncoding' */ -#define DUK_STRIDX_EXPORTS 163 /* 'exports' */ -#define DUK_STRIDX_ID 164 /* 'id' */ -#define DUK_STRIDX_REQUIRE 165 /* 'require' */ -#define DUK_STRIDX___PROTO__ 166 /* '__proto__' */ -#define DUK_STRIDX_SET_PROTOTYPE_OF 167 /* 'setPrototypeOf' */ -#define DUK_STRIDX_OWN_KEYS 168 /* 'ownKeys' */ -#define DUK_STRIDX_ENUMERATE 169 /* 'enumerate' */ -#define DUK_STRIDX_DELETE_PROPERTY 170 /* 'deleteProperty' */ -#define DUK_STRIDX_HAS 171 /* 'has' */ -#define DUK_STRIDX_PROXY 172 /* 'Proxy' */ -#define DUK_STRIDX_CALLEE 173 /* 'callee' */ -#define DUK_STRIDX_INVALID_DATE 174 /* 'Invalid Date' */ -#define DUK_STRIDX_BRACKETED_ELLIPSIS 175 /* '[...]' */ -#define DUK_STRIDX_NEWLINE_TAB 176 /* '\n\t' */ -#define DUK_STRIDX_SPACE 177 /* ' ' */ -#define DUK_STRIDX_COMMA 178 /* ',' */ -#define DUK_STRIDX_MINUS_ZERO 179 /* '-0' */ -#define DUK_STRIDX_PLUS_ZERO 180 /* '+0' */ -#define DUK_STRIDX_ZERO 181 /* '0' */ -#define DUK_STRIDX_MINUS_INFINITY 182 /* '-Infinity' */ -#define DUK_STRIDX_PLUS_INFINITY 183 /* '+Infinity' */ -#define DUK_STRIDX_INFINITY 184 /* 'Infinity' */ -#define DUK_STRIDX_LC_OBJECT 185 /* 'object' */ -#define DUK_STRIDX_LC_STRING 186 /* 'string' */ -#define DUK_STRIDX_LC_NUMBER 187 /* 'number' */ -#define DUK_STRIDX_LC_BOOLEAN 188 /* 'boolean' */ -#define DUK_STRIDX_LC_UNDEFINED 189 /* 'undefined' */ -#define DUK_STRIDX_STRINGIFY 190 /* 'stringify' */ -#define DUK_STRIDX_TAN 191 /* 'tan' */ -#define DUK_STRIDX_SQRT 192 /* 'sqrt' */ -#define DUK_STRIDX_SIN 193 /* 'sin' */ -#define DUK_STRIDX_ROUND 194 /* 'round' */ -#define DUK_STRIDX_RANDOM 195 /* 'random' */ -#define DUK_STRIDX_POW 196 /* 'pow' */ -#define DUK_STRIDX_MIN 197 /* 'min' */ -#define DUK_STRIDX_MAX 198 /* 'max' */ -#define DUK_STRIDX_LOG 199 /* 'log' */ -#define DUK_STRIDX_FLOOR 200 /* 'floor' */ -#define DUK_STRIDX_EXP 201 /* 'exp' */ -#define DUK_STRIDX_COS 202 /* 'cos' */ -#define DUK_STRIDX_CEIL 203 /* 'ceil' */ -#define DUK_STRIDX_ATAN2 204 /* 'atan2' */ -#define DUK_STRIDX_ATAN 205 /* 'atan' */ -#define DUK_STRIDX_ASIN 206 /* 'asin' */ -#define DUK_STRIDX_ACOS 207 /* 'acos' */ -#define DUK_STRIDX_ABS 208 /* 'abs' */ -#define DUK_STRIDX_SQRT2 209 /* 'SQRT2' */ -#define DUK_STRIDX_SQRT1_2 210 /* 'SQRT1_2' */ -#define DUK_STRIDX_PI 211 /* 'PI' */ -#define DUK_STRIDX_LOG10E 212 /* 'LOG10E' */ -#define DUK_STRIDX_LOG2E 213 /* 'LOG2E' */ -#define DUK_STRIDX_LN2 214 /* 'LN2' */ -#define DUK_STRIDX_LN10 215 /* 'LN10' */ -#define DUK_STRIDX_E 216 /* 'E' */ -#define DUK_STRIDX_MESSAGE 217 /* 'message' */ -#define DUK_STRIDX_NAME 218 /* 'name' */ -#define DUK_STRIDX_INPUT 219 /* 'input' */ -#define DUK_STRIDX_INDEX 220 /* 'index' */ -#define DUK_STRIDX_ESCAPED_EMPTY_REGEXP 221 /* '(?:)' */ -#define DUK_STRIDX_LAST_INDEX 222 /* 'lastIndex' */ -#define DUK_STRIDX_MULTILINE 223 /* 'multiline' */ -#define DUK_STRIDX_IGNORE_CASE 224 /* 'ignoreCase' */ -#define DUK_STRIDX_SOURCE 225 /* 'source' */ -#define DUK_STRIDX_TEST 226 /* 'test' */ -#define DUK_STRIDX_EXEC 227 /* 'exec' */ -#define DUK_STRIDX_TO_GMT_STRING 228 /* 'toGMTString' */ -#define DUK_STRIDX_SET_YEAR 229 /* 'setYear' */ -#define DUK_STRIDX_GET_YEAR 230 /* 'getYear' */ -#define DUK_STRIDX_TO_JSON 231 /* 'toJSON' */ -#define DUK_STRIDX_TO_ISO_STRING 232 /* 'toISOString' */ -#define DUK_STRIDX_TO_UTC_STRING 233 /* 'toUTCString' */ -#define DUK_STRIDX_SET_UTC_FULL_YEAR 234 /* 'setUTCFullYear' */ -#define DUK_STRIDX_SET_FULL_YEAR 235 /* 'setFullYear' */ -#define DUK_STRIDX_SET_UTC_MONTH 236 /* 'setUTCMonth' */ -#define DUK_STRIDX_SET_MONTH 237 /* 'setMonth' */ -#define DUK_STRIDX_SET_UTC_DATE 238 /* 'setUTCDate' */ -#define DUK_STRIDX_SET_DATE 239 /* 'setDate' */ -#define DUK_STRIDX_SET_UTC_HOURS 240 /* 'setUTCHours' */ -#define DUK_STRIDX_SET_HOURS 241 /* 'setHours' */ -#define DUK_STRIDX_SET_UTC_MINUTES 242 /* 'setUTCMinutes' */ -#define DUK_STRIDX_SET_MINUTES 243 /* 'setMinutes' */ -#define DUK_STRIDX_SET_UTC_SECONDS 244 /* 'setUTCSeconds' */ -#define DUK_STRIDX_SET_SECONDS 245 /* 'setSeconds' */ -#define DUK_STRIDX_SET_UTC_MILLISECONDS 246 /* 'setUTCMilliseconds' */ -#define DUK_STRIDX_SET_MILLISECONDS 247 /* 'setMilliseconds' */ -#define DUK_STRIDX_SET_TIME 248 /* 'setTime' */ -#define DUK_STRIDX_GET_TIMEZONE_OFFSET 249 /* 'getTimezoneOffset' */ -#define DUK_STRIDX_GET_UTC_MILLISECONDS 250 /* 'getUTCMilliseconds' */ -#define DUK_STRIDX_GET_MILLISECONDS 251 /* 'getMilliseconds' */ -#define DUK_STRIDX_GET_UTC_SECONDS 252 /* 'getUTCSeconds' */ -#define DUK_STRIDX_GET_SECONDS 253 /* 'getSeconds' */ -#define DUK_STRIDX_GET_UTC_MINUTES 254 /* 'getUTCMinutes' */ -#define DUK_STRIDX_GET_MINUTES 255 /* 'getMinutes' */ -#define DUK_STRIDX_GET_UTC_HOURS 256 /* 'getUTCHours' */ -#define DUK_STRIDX_GET_HOURS 257 /* 'getHours' */ -#define DUK_STRIDX_GET_UTC_DAY 258 /* 'getUTCDay' */ -#define DUK_STRIDX_GET_DAY 259 /* 'getDay' */ -#define DUK_STRIDX_GET_UTC_DATE 260 /* 'getUTCDate' */ -#define DUK_STRIDX_GET_DATE 261 /* 'getDate' */ -#define DUK_STRIDX_GET_UTC_MONTH 262 /* 'getUTCMonth' */ -#define DUK_STRIDX_GET_MONTH 263 /* 'getMonth' */ -#define DUK_STRIDX_GET_UTC_FULL_YEAR 264 /* 'getUTCFullYear' */ -#define DUK_STRIDX_GET_FULL_YEAR 265 /* 'getFullYear' */ -#define DUK_STRIDX_GET_TIME 266 /* 'getTime' */ -#define DUK_STRIDX_TO_LOCALE_TIME_STRING 267 /* 'toLocaleTimeString' */ -#define DUK_STRIDX_TO_LOCALE_DATE_STRING 268 /* 'toLocaleDateString' */ -#define DUK_STRIDX_TO_TIME_STRING 269 /* 'toTimeString' */ -#define DUK_STRIDX_TO_DATE_STRING 270 /* 'toDateString' */ -#define DUK_STRIDX_NOW 271 /* 'now' */ -#define DUK_STRIDX_UTC 272 /* 'UTC' */ -#define DUK_STRIDX_PARSE 273 /* 'parse' */ -#define DUK_STRIDX_TO_PRECISION 274 /* 'toPrecision' */ -#define DUK_STRIDX_TO_EXPONENTIAL 275 /* 'toExponential' */ -#define DUK_STRIDX_TO_FIXED 276 /* 'toFixed' */ -#define DUK_STRIDX_POSITIVE_INFINITY 277 /* 'POSITIVE_INFINITY' */ -#define DUK_STRIDX_NEGATIVE_INFINITY 278 /* 'NEGATIVE_INFINITY' */ -#define DUK_STRIDX_NAN 279 /* 'NaN' */ -#define DUK_STRIDX_MIN_VALUE 280 /* 'MIN_VALUE' */ -#define DUK_STRIDX_MAX_VALUE 281 /* 'MAX_VALUE' */ -#define DUK_STRIDX_SUBSTR 282 /* 'substr' */ -#define DUK_STRIDX_TRIM 283 /* 'trim' */ -#define DUK_STRIDX_TO_LOCALE_UPPER_CASE 284 /* 'toLocaleUpperCase' */ -#define DUK_STRIDX_TO_UPPER_CASE 285 /* 'toUpperCase' */ -#define DUK_STRIDX_TO_LOCALE_LOWER_CASE 286 /* 'toLocaleLowerCase' */ -#define DUK_STRIDX_TO_LOWER_CASE 287 /* 'toLowerCase' */ -#define DUK_STRIDX_SUBSTRING 288 /* 'substring' */ -#define DUK_STRIDX_SPLIT 289 /* 'split' */ -#define DUK_STRIDX_SEARCH 290 /* 'search' */ -#define DUK_STRIDX_REPLACE 291 /* 'replace' */ -#define DUK_STRIDX_MATCH 292 /* 'match' */ -#define DUK_STRIDX_LOCALE_COMPARE 293 /* 'localeCompare' */ -#define DUK_STRIDX_CHAR_CODE_AT 294 /* 'charCodeAt' */ -#define DUK_STRIDX_CHAR_AT 295 /* 'charAt' */ -#define DUK_STRIDX_FROM_CHAR_CODE 296 /* 'fromCharCode' */ -#define DUK_STRIDX_REDUCE_RIGHT 297 /* 'reduceRight' */ -#define DUK_STRIDX_REDUCE 298 /* 'reduce' */ -#define DUK_STRIDX_FILTER 299 /* 'filter' */ -#define DUK_STRIDX_MAP 300 /* 'map' */ -#define DUK_STRIDX_FOR_EACH 301 /* 'forEach' */ -#define DUK_STRIDX_SOME 302 /* 'some' */ -#define DUK_STRIDX_EVERY 303 /* 'every' */ -#define DUK_STRIDX_LAST_INDEX_OF 304 /* 'lastIndexOf' */ -#define DUK_STRIDX_INDEX_OF 305 /* 'indexOf' */ -#define DUK_STRIDX_UNSHIFT 306 /* 'unshift' */ -#define DUK_STRIDX_SPLICE 307 /* 'splice' */ -#define DUK_STRIDX_SORT 308 /* 'sort' */ -#define DUK_STRIDX_SLICE 309 /* 'slice' */ -#define DUK_STRIDX_SHIFT 310 /* 'shift' */ -#define DUK_STRIDX_REVERSE 311 /* 'reverse' */ -#define DUK_STRIDX_PUSH 312 /* 'push' */ -#define DUK_STRIDX_POP 313 /* 'pop' */ -#define DUK_STRIDX_JOIN 314 /* 'join' */ -#define DUK_STRIDX_CONCAT 315 /* 'concat' */ -#define DUK_STRIDX_IS_ARRAY 316 /* 'isArray' */ -#define DUK_STRIDX_LC_ARGUMENTS 317 /* 'arguments' */ -#define DUK_STRIDX_CALLER 318 /* 'caller' */ -#define DUK_STRIDX_BIND 319 /* 'bind' */ -#define DUK_STRIDX_CALL 320 /* 'call' */ -#define DUK_STRIDX_APPLY 321 /* 'apply' */ -#define DUK_STRIDX_PROPERTY_IS_ENUMERABLE 322 /* 'propertyIsEnumerable' */ -#define DUK_STRIDX_IS_PROTOTYPE_OF 323 /* 'isPrototypeOf' */ -#define DUK_STRIDX_HAS_OWN_PROPERTY 324 /* 'hasOwnProperty' */ -#define DUK_STRIDX_VALUE_OF 325 /* 'valueOf' */ -#define DUK_STRIDX_TO_LOCALE_STRING 326 /* 'toLocaleString' */ -#define DUK_STRIDX_TO_STRING 327 /* 'toString' */ -#define DUK_STRIDX_CONSTRUCTOR 328 /* 'constructor' */ -#define DUK_STRIDX_SET 329 /* 'set' */ -#define DUK_STRIDX_GET 330 /* 'get' */ -#define DUK_STRIDX_ENUMERABLE 331 /* 'enumerable' */ -#define DUK_STRIDX_CONFIGURABLE 332 /* 'configurable' */ -#define DUK_STRIDX_WRITABLE 333 /* 'writable' */ -#define DUK_STRIDX_VALUE 334 /* 'value' */ -#define DUK_STRIDX_KEYS 335 /* 'keys' */ -#define DUK_STRIDX_IS_EXTENSIBLE 336 /* 'isExtensible' */ -#define DUK_STRIDX_IS_FROZEN 337 /* 'isFrozen' */ -#define DUK_STRIDX_IS_SEALED 338 /* 'isSealed' */ -#define DUK_STRIDX_PREVENT_EXTENSIONS 339 /* 'preventExtensions' */ -#define DUK_STRIDX_FREEZE 340 /* 'freeze' */ -#define DUK_STRIDX_SEAL 341 /* 'seal' */ -#define DUK_STRIDX_DEFINE_PROPERTIES 342 /* 'defineProperties' */ -#define DUK_STRIDX_DEFINE_PROPERTY 343 /* 'defineProperty' */ -#define DUK_STRIDX_CREATE 344 /* 'create' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_NAMES 345 /* 'getOwnPropertyNames' */ -#define DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR 346 /* 'getOwnPropertyDescriptor' */ -#define DUK_STRIDX_GET_PROTOTYPE_OF 347 /* 'getPrototypeOf' */ -#define DUK_STRIDX_PROTOTYPE 348 /* 'prototype' */ -#define DUK_STRIDX_LENGTH 349 /* 'length' */ -#define DUK_STRIDX_ALERT 350 /* 'alert' */ -#define DUK_STRIDX_PRINT 351 /* 'print' */ -#define DUK_STRIDX_UNESCAPE 352 /* 'unescape' */ -#define DUK_STRIDX_ESCAPE 353 /* 'escape' */ -#define DUK_STRIDX_ENCODE_URI_COMPONENT 354 /* 'encodeURIComponent' */ -#define DUK_STRIDX_ENCODE_URI 355 /* 'encodeURI' */ -#define DUK_STRIDX_DECODE_URI_COMPONENT 356 /* 'decodeURIComponent' */ -#define DUK_STRIDX_DECODE_URI 357 /* 'decodeURI' */ -#define DUK_STRIDX_IS_FINITE 358 /* 'isFinite' */ -#define DUK_STRIDX_IS_NAN 359 /* 'isNaN' */ -#define DUK_STRIDX_PARSE_FLOAT 360 /* 'parseFloat' */ -#define DUK_STRIDX_PARSE_INT 361 /* 'parseInt' */ -#define DUK_STRIDX_EVAL 362 /* 'eval' */ -#define DUK_STRIDX_URI_ERROR 363 /* 'URIError' */ -#define DUK_STRIDX_TYPE_ERROR 364 /* 'TypeError' */ -#define DUK_STRIDX_SYNTAX_ERROR 365 /* 'SyntaxError' */ -#define DUK_STRIDX_REFERENCE_ERROR 366 /* 'ReferenceError' */ -#define DUK_STRIDX_RANGE_ERROR 367 /* 'RangeError' */ -#define DUK_STRIDX_EVAL_ERROR 368 /* 'EvalError' */ -#define DUK_STRIDX_BREAK 369 /* 'break' */ -#define DUK_STRIDX_CASE 370 /* 'case' */ -#define DUK_STRIDX_CATCH 371 /* 'catch' */ -#define DUK_STRIDX_CONTINUE 372 /* 'continue' */ -#define DUK_STRIDX_DEBUGGER 373 /* 'debugger' */ -#define DUK_STRIDX_DEFAULT 374 /* 'default' */ -#define DUK_STRIDX_DELETE 375 /* 'delete' */ -#define DUK_STRIDX_DO 376 /* 'do' */ -#define DUK_STRIDX_ELSE 377 /* 'else' */ -#define DUK_STRIDX_FINALLY 378 /* 'finally' */ -#define DUK_STRIDX_FOR 379 /* 'for' */ -#define DUK_STRIDX_LC_FUNCTION 380 /* 'function' */ -#define DUK_STRIDX_IF 381 /* 'if' */ -#define DUK_STRIDX_IN 382 /* 'in' */ -#define DUK_STRIDX_INSTANCEOF 383 /* 'instanceof' */ -#define DUK_STRIDX_NEW 384 /* 'new' */ -#define DUK_STRIDX_RETURN 385 /* 'return' */ -#define DUK_STRIDX_SWITCH 386 /* 'switch' */ -#define DUK_STRIDX_THIS 387 /* 'this' */ -#define DUK_STRIDX_THROW 388 /* 'throw' */ -#define DUK_STRIDX_TRY 389 /* 'try' */ -#define DUK_STRIDX_TYPEOF 390 /* 'typeof' */ -#define DUK_STRIDX_VAR 391 /* 'var' */ -#define DUK_STRIDX_CONST 392 /* 'const' */ -#define DUK_STRIDX_VOID 393 /* 'void' */ -#define DUK_STRIDX_WHILE 394 /* 'while' */ -#define DUK_STRIDX_WITH 395 /* 'with' */ -#define DUK_STRIDX_CLASS 396 /* 'class' */ -#define DUK_STRIDX_ENUM 397 /* 'enum' */ -#define DUK_STRIDX_EXPORT 398 /* 'export' */ -#define DUK_STRIDX_EXTENDS 399 /* 'extends' */ -#define DUK_STRIDX_IMPORT 400 /* 'import' */ -#define DUK_STRIDX_SUPER 401 /* 'super' */ -#define DUK_STRIDX_LC_NULL 402 /* 'null' */ -#define DUK_STRIDX_TRUE 403 /* 'true' */ -#define DUK_STRIDX_FALSE 404 /* 'false' */ -#define DUK_STRIDX_IMPLEMENTS 405 /* 'implements' */ -#define DUK_STRIDX_INTERFACE 406 /* 'interface' */ -#define DUK_STRIDX_LET 407 /* 'let' */ -#define DUK_STRIDX_PACKAGE 408 /* 'package' */ -#define DUK_STRIDX_PRIVATE 409 /* 'private' */ -#define DUK_STRIDX_PROTECTED 410 /* 'protected' */ -#define DUK_STRIDX_PUBLIC 411 /* 'public' */ -#define DUK_STRIDX_STATIC 412 /* 'static' */ -#define DUK_STRIDX_YIELD 413 /* 'yield' */ - -#define DUK_HEAP_STRING_UC_LOGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_LOGGER) -#define DUK_HTHREAD_STRING_UC_LOGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_LOGGER) -#define DUK_HEAP_STRING_UC_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_THREAD) -#define DUK_HTHREAD_STRING_UC_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_THREAD) -#define DUK_HEAP_STRING_UC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_POINTER) -#define DUK_HTHREAD_STRING_UC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_POINTER) -#define DUK_HEAP_STRING_DEC_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC_ENV) -#define DUK_HTHREAD_STRING_DEC_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC_ENV) -#define DUK_HEAP_STRING_OBJ_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OBJ_ENV) -#define DUK_HTHREAD_STRING_OBJ_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OBJ_ENV) -#define DUK_HEAP_STRING_FLOAT64_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT64_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT64_ARRAY) -#define DUK_HEAP_STRING_FLOAT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HTHREAD_STRING_FLOAT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOAT32_ARRAY) -#define DUK_HEAP_STRING_UINT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HTHREAD_STRING_UINT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT32_ARRAY) -#define DUK_HEAP_STRING_INT32_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT32_ARRAY) -#define DUK_HTHREAD_STRING_INT32_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT32_ARRAY) -#define DUK_HEAP_STRING_UINT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HTHREAD_STRING_UINT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT16_ARRAY) -#define DUK_HEAP_STRING_INT16_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT16_ARRAY) -#define DUK_HTHREAD_STRING_INT16_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT16_ARRAY) -#define DUK_HEAP_STRING_UINT8_CLAMPED_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_CLAMPED_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_CLAMPED_ARRAY) -#define DUK_HEAP_STRING_UINT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HTHREAD_STRING_UINT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UINT8_ARRAY) -#define DUK_HEAP_STRING_INT8_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT8_ARRAY) -#define DUK_HTHREAD_STRING_INT8_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT8_ARRAY) -#define DUK_HEAP_STRING_DATA_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA_VIEW) -#define DUK_HTHREAD_STRING_DATA_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA_VIEW) -#define DUK_HEAP_STRING_ARRAY_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY_BUFFER) -#define DUK_HTHREAD_STRING_ARRAY_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY_BUFFER) -#define DUK_HEAP_STRING_UC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BUFFER) -#define DUK_HTHREAD_STRING_UC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BUFFER) -#define DUK_HEAP_STRING_EMPTY_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EMPTY_STRING) -#define DUK_HTHREAD_STRING_EMPTY_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EMPTY_STRING) -#define DUK_HEAP_STRING_GLOBAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GLOBAL) -#define DUK_HTHREAD_STRING_GLOBAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GLOBAL) -#define DUK_HEAP_STRING_UC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HTHREAD_STRING_UC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ARGUMENTS) -#define DUK_HEAP_STRING_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON) -#define DUK_HTHREAD_STRING_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON) -#define DUK_HEAP_STRING_MATH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATH) -#define DUK_HTHREAD_STRING_MATH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATH) -#define DUK_HEAP_STRING_UC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_ERROR) -#define DUK_HTHREAD_STRING_UC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_ERROR) -#define DUK_HEAP_STRING_REG_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REG_EXP) -#define DUK_HTHREAD_STRING_REG_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REG_EXP) -#define DUK_HEAP_STRING_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATE) -#define DUK_HTHREAD_STRING_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATE) -#define DUK_HEAP_STRING_UC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NUMBER) -#define DUK_HTHREAD_STRING_UC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NUMBER) -#define DUK_HEAP_STRING_UC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HTHREAD_STRING_UC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_BOOLEAN) -#define DUK_HEAP_STRING_UC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_STRING) -#define DUK_HTHREAD_STRING_UC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_STRING) -#define DUK_HEAP_STRING_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ARRAY) -#define DUK_HTHREAD_STRING_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ARRAY) -#define DUK_HEAP_STRING_UC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_FUNCTION) -#define DUK_HTHREAD_STRING_UC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_FUNCTION) -#define DUK_HEAP_STRING_UC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_OBJECT) -#define DUK_HTHREAD_STRING_UC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_OBJECT) -#define DUK_HEAP_STRING_UC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_NULL) -#define DUK_HTHREAD_STRING_UC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_NULL) -#define DUK_HEAP_STRING_UC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HTHREAD_STRING_UC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UC_UNDEFINED) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION2) -#define DUK_HEAP_STRING_JSON_EXT_FUNCTION1(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION1(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION1) -#define DUK_HEAP_STRING_JSON_EXT_NEGINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HTHREAD_STRING_JSON_EXT_NEGINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NEGINF) -#define DUK_HEAP_STRING_JSON_EXT_POSINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HTHREAD_STRING_JSON_EXT_POSINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_POSINF) -#define DUK_HEAP_STRING_JSON_EXT_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HTHREAD_STRING_JSON_EXT_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NAN) -#define DUK_HEAP_STRING_JSON_EXT_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HTHREAD_STRING_JSON_EXT_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_UNDEFINED) -#define DUK_HEAP_STRING_TO_LOG_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HTHREAD_STRING_TO_LOG_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOG_STRING) -#define DUK_HEAP_STRING_CLOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLOG) -#define DUK_HTHREAD_STRING_CLOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLOG) -#define DUK_HEAP_STRING_LC_L(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_L) -#define DUK_HTHREAD_STRING_LC_L(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_L) -#define DUK_HEAP_STRING_LC_N(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_N) -#define DUK_HTHREAD_STRING_LC_N(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_N) -#define DUK_HEAP_STRING_LC_FATAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FATAL) -#define DUK_HTHREAD_STRING_LC_FATAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FATAL) -#define DUK_HEAP_STRING_LC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ERROR) -#define DUK_HTHREAD_STRING_LC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ERROR) -#define DUK_HEAP_STRING_LC_WARN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_WARN) -#define DUK_HTHREAD_STRING_LC_WARN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_WARN) -#define DUK_HEAP_STRING_LC_DEBUG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_DEBUG) -#define DUK_HTHREAD_STRING_LC_DEBUG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_DEBUG) -#define DUK_HEAP_STRING_LC_TRACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_TRACE) -#define DUK_HTHREAD_STRING_LC_TRACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_TRACE) -#define DUK_HEAP_STRING_RAW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RAW) -#define DUK_HTHREAD_STRING_RAW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RAW) -#define DUK_HEAP_STRING_FMT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FMT) -#define DUK_HTHREAD_STRING_FMT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FMT) -#define DUK_HEAP_STRING_CURRENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CURRENT) -#define DUK_HTHREAD_STRING_CURRENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CURRENT) -#define DUK_HEAP_STRING_RESUME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RESUME) -#define DUK_HTHREAD_STRING_RESUME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RESUME) -#define DUK_HEAP_STRING_COMPACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPACT) -#define DUK_HTHREAD_STRING_COMPACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPACT) -#define DUK_HEAP_STRING_JC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JC) -#define DUK_HTHREAD_STRING_JC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JC) -#define DUK_HEAP_STRING_JX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JX) -#define DUK_HTHREAD_STRING_JX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JX) -#define DUK_HEAP_STRING_BASE64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BASE64) -#define DUK_HTHREAD_STRING_BASE64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BASE64) -#define DUK_HEAP_STRING_HEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HEX) -#define DUK_HTHREAD_STRING_HEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HEX) -#define DUK_HEAP_STRING_DEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEC) -#define DUK_HTHREAD_STRING_DEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEC) -#define DUK_HEAP_STRING_ENC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENC) -#define DUK_HTHREAD_STRING_ENC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENC) -#define DUK_HEAP_STRING_FIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FIN) -#define DUK_HTHREAD_STRING_FIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FIN) -#define DUK_HEAP_STRING_GC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GC) -#define DUK_HTHREAD_STRING_GC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GC) -#define DUK_HEAP_STRING_ACT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACT) -#define DUK_HTHREAD_STRING_ACT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACT) -#define DUK_HEAP_STRING_LC_INFO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_INFO) -#define DUK_HTHREAD_STRING_LC_INFO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_INFO) -#define DUK_HEAP_STRING_VERSION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VERSION) -#define DUK_HTHREAD_STRING_VERSION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VERSION) -#define DUK_HEAP_STRING_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENV) -#define DUK_HTHREAD_STRING_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENV) -#define DUK_HEAP_STRING_MOD_LOADED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_LOADED) -#define DUK_HTHREAD_STRING_MOD_LOADED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_LOADED) -#define DUK_HEAP_STRING_MOD_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_SEARCH) -#define DUK_HTHREAD_STRING_MOD_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_SEARCH) -#define DUK_HEAP_STRING_ERR_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_THROW) -#define DUK_HTHREAD_STRING_ERR_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_THROW) -#define DUK_HEAP_STRING_ERR_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_CREATE) -#define DUK_HTHREAD_STRING_ERR_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_CREATE) -#define DUK_HEAP_STRING_COMPILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPILE) -#define DUK_HTHREAD_STRING_COMPILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPILE) -#define DUK_HEAP_STRING_INT_REGBASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_REGBASE) -#define DUK_HTHREAD_STRING_INT_REGBASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_REGBASE) -#define DUK_HEAP_STRING_INT_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THREAD) -#define DUK_HTHREAD_STRING_INT_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THREAD) -#define DUK_HEAP_STRING_INT_HANDLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_HANDLER) -#define DUK_HTHREAD_STRING_INT_HANDLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_HANDLER) -#define DUK_HEAP_STRING_INT_FINALIZER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FINALIZER) -#define DUK_HTHREAD_STRING_INT_FINALIZER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FINALIZER) -#define DUK_HEAP_STRING_INT_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_CALLEE) -#define DUK_HTHREAD_STRING_INT_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_CALLEE) -#define DUK_HEAP_STRING_INT_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_MAP) -#define DUK_HTHREAD_STRING_INT_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_MAP) -#define DUK_HEAP_STRING_INT_ARGS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_ARGS) -#define DUK_HTHREAD_STRING_INT_ARGS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_ARGS) -#define DUK_HEAP_STRING_INT_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THIS) -#define DUK_HTHREAD_STRING_INT_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THIS) -#define DUK_HEAP_STRING_INT_PC2LINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_PC2LINE) -#define DUK_HTHREAD_STRING_INT_PC2LINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_PC2LINE) -#define DUK_HEAP_STRING_INT_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_SOURCE) -#define DUK_HTHREAD_STRING_INT_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_SOURCE) -#define DUK_HEAP_STRING_INT_VARENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARENV) -#define DUK_HTHREAD_STRING_INT_VARENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARENV) -#define DUK_HEAP_STRING_INT_LEXENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_LEXENV) -#define DUK_HTHREAD_STRING_INT_LEXENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_LEXENV) -#define DUK_HEAP_STRING_INT_VARMAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARMAP) -#define DUK_HTHREAD_STRING_INT_VARMAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARMAP) -#define DUK_HEAP_STRING_INT_FORMALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FORMALS) -#define DUK_HTHREAD_STRING_INT_FORMALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FORMALS) -#define DUK_HEAP_STRING_INT_BYTECODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_BYTECODE) -#define DUK_HTHREAD_STRING_INT_BYTECODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_BYTECODE) -#define DUK_HEAP_STRING_INT_NEXT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_NEXT) -#define DUK_HTHREAD_STRING_INT_NEXT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_NEXT) -#define DUK_HEAP_STRING_INT_TARGET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TARGET) -#define DUK_HTHREAD_STRING_INT_TARGET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TARGET) -#define DUK_HEAP_STRING_INT_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VALUE) -#define DUK_HTHREAD_STRING_INT_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VALUE) -#define DUK_HEAP_STRING_LC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_POINTER) -#define DUK_HTHREAD_STRING_LC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_POINTER) -#define DUK_HEAP_STRING_INT_TRACEDATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TRACEDATA) -#define DUK_HTHREAD_STRING_INT_TRACEDATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TRACEDATA) +#define DUK_STRIDX_BYTE_LENGTH 86 /* 'byteLength' */ +#define DUK_HEAP_STRING_BYTE_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_LENGTH) +#define DUK_HTHREAD_STRING_BYTE_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_LENGTH) +#define DUK_STRIDX_BYTE_OFFSET 87 /* 'byteOffset' */ +#define DUK_HEAP_STRING_BYTE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_OFFSET) +#define DUK_HTHREAD_STRING_BYTE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_OFFSET) +#define DUK_STRIDX_BYTES_PER_ELEMENT 88 /* 'BYTES_PER_ELEMENT' */ +#define DUK_HEAP_STRING_BYTES_PER_ELEMENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTES_PER_ELEMENT) +#define DUK_HTHREAD_STRING_BYTES_PER_ELEMENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTES_PER_ELEMENT) +#define DUK_STRIDX_SET 89 /* 'set' */ +#define DUK_HEAP_STRING_SET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET) +#define DUK_HTHREAD_STRING_SET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET) +#define DUK_STRIDX_STACK 90 /* 'stack' */ +#define DUK_HEAP_STRING_STACK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STACK) +#define DUK_HTHREAD_STRING_STACK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STACK) +#define DUK_STRIDX_PC 91 /* 'pc' */ +#define DUK_HEAP_STRING_PC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PC) +#define DUK_HTHREAD_STRING_PC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PC) +#define DUK_STRIDX_LINE_NUMBER 92 /* 'lineNumber' */ #define DUK_HEAP_STRING_LINE_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LINE_NUMBER) #define DUK_HTHREAD_STRING_LINE_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LINE_NUMBER) +#define DUK_STRIDX_INT_TRACEDATA 93 /* '\xffTracedata' */ +#define DUK_HEAP_STRING_INT_TRACEDATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TRACEDATA) +#define DUK_HTHREAD_STRING_INT_TRACEDATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TRACEDATA) +#define DUK_STRIDX_NAME 94 /* 'name' */ +#define DUK_HEAP_STRING_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAME) +#define DUK_HTHREAD_STRING_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAME) +#define DUK_STRIDX_FILE_NAME 95 /* 'fileName' */ #define DUK_HEAP_STRING_FILE_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILE_NAME) #define DUK_HTHREAD_STRING_FILE_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILE_NAME) -#define DUK_HEAP_STRING_PC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PC) -#define DUK_HTHREAD_STRING_PC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PC) -#define DUK_HEAP_STRING_STACK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STACK) -#define DUK_HTHREAD_STRING_STACK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STACK) -#define DUK_HEAP_STRING_THROW_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HTHREAD_STRING_THROW_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW_TYPE_ERROR) -#define DUK_HEAP_STRING_DUKTAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DUKTAPE) -#define DUK_HTHREAD_STRING_DUKTAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DUKTAPE) -#define DUK_HEAP_STRING_SET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT64) -#define DUK_HTHREAD_STRING_SET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT64) -#define DUK_HEAP_STRING_SET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FLOAT32) -#define DUK_HTHREAD_STRING_SET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FLOAT32) -#define DUK_HEAP_STRING_SET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT32) -#define DUK_HTHREAD_STRING_SET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT32) -#define DUK_HEAP_STRING_SET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT32) -#define DUK_HTHREAD_STRING_SET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT32) -#define DUK_HEAP_STRING_SET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT16) -#define DUK_HTHREAD_STRING_SET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT16) -#define DUK_HEAP_STRING_SET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT16) -#define DUK_HTHREAD_STRING_SET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT16) -#define DUK_HEAP_STRING_SET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UINT8) -#define DUK_HTHREAD_STRING_SET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UINT8) -#define DUK_HEAP_STRING_SET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_INT8) -#define DUK_HTHREAD_STRING_SET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_INT8) -#define DUK_HEAP_STRING_GET_FLOAT64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT64) -#define DUK_HTHREAD_STRING_GET_FLOAT64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT64) -#define DUK_HEAP_STRING_GET_FLOAT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FLOAT32) -#define DUK_HTHREAD_STRING_GET_FLOAT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FLOAT32) -#define DUK_HEAP_STRING_GET_UINT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT32) -#define DUK_HTHREAD_STRING_GET_UINT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT32) -#define DUK_HEAP_STRING_GET_INT32(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT32) -#define DUK_HTHREAD_STRING_GET_INT32(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT32) -#define DUK_HEAP_STRING_GET_UINT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT16) -#define DUK_HTHREAD_STRING_GET_UINT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT16) -#define DUK_HEAP_STRING_GET_INT16(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT16) -#define DUK_HTHREAD_STRING_GET_INT16(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT16) -#define DUK_HEAP_STRING_GET_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UINT8) -#define DUK_HTHREAD_STRING_GET_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UINT8) -#define DUK_HEAP_STRING_GET_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_INT8) -#define DUK_HTHREAD_STRING_GET_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_INT8) -#define DUK_HEAP_STRING_SUBARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBARRAY) -#define DUK_HTHREAD_STRING_SUBARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBARRAY) -#define DUK_HEAP_STRING_BYTES_PER_ELEMENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HTHREAD_STRING_BYTES_PER_ELEMENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTES_PER_ELEMENT) -#define DUK_HEAP_STRING_BYTE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_OFFSET) -#define DUK_HTHREAD_STRING_BYTE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_OFFSET) +#define DUK_STRIDX_LC_BUFFER 96 /* 'buffer' */ #define DUK_HEAP_STRING_LC_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BUFFER) #define DUK_HTHREAD_STRING_LC_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BUFFER) -#define DUK_HEAP_STRING_IS_VIEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_VIEW) -#define DUK_HTHREAD_STRING_IS_VIEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_VIEW) -#define DUK_HEAP_STRING_DATA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DATA) -#define DUK_HTHREAD_STRING_DATA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DATA) -#define DUK_HEAP_STRING_TYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE) -#define DUK_HTHREAD_STRING_TYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE) -#define DUK_HEAP_STRING_WRITE_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HTHREAD_STRING_WRITE_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_BE) -#define DUK_HEAP_STRING_WRITE_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HTHREAD_STRING_WRITE_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT_LE) -#define DUK_HEAP_STRING_WRITE_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_BE) -#define DUK_HEAP_STRING_WRITE_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT_LE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_BE) -#define DUK_HEAP_STRING_WRITE_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HTHREAD_STRING_WRITE_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_DOUBLE_LE) -#define DUK_HEAP_STRING_WRITE_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_BE) -#define DUK_HEAP_STRING_WRITE_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HTHREAD_STRING_WRITE_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_FLOAT_LE) -#define DUK_HEAP_STRING_WRITE_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HTHREAD_STRING_WRITE_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_BE) -#define DUK_HEAP_STRING_WRITE_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HTHREAD_STRING_WRITE_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT32_LE) -#define DUK_HEAP_STRING_WRITE_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_BE) -#define DUK_HEAP_STRING_WRITE_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT32_LE) -#define DUK_HEAP_STRING_WRITE_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HTHREAD_STRING_WRITE_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_BE) -#define DUK_HEAP_STRING_WRITE_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HTHREAD_STRING_WRITE_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT16_LE) -#define DUK_HEAP_STRING_WRITE_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_BE) -#define DUK_HEAP_STRING_WRITE_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HTHREAD_STRING_WRITE_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT16_LE) -#define DUK_HEAP_STRING_WRITE_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_INT8) -#define DUK_HTHREAD_STRING_WRITE_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_INT8) -#define DUK_HEAP_STRING_WRITE_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE_UINT8) -#define DUK_HTHREAD_STRING_WRITE_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE_UINT8) -#define DUK_HEAP_STRING_READ_INT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_BE) -#define DUK_HTHREAD_STRING_READ_INT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_BE) -#define DUK_HEAP_STRING_READ_INT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT_LE) -#define DUK_HTHREAD_STRING_READ_INT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT_LE) -#define DUK_HEAP_STRING_READ_UINT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_BE) -#define DUK_HTHREAD_STRING_READ_UINT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_BE) -#define DUK_HEAP_STRING_READ_UINT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT_LE) -#define DUK_HTHREAD_STRING_READ_UINT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT_LE) -#define DUK_HEAP_STRING_READ_DOUBLE_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_BE) -#define DUK_HEAP_STRING_READ_DOUBLE_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HTHREAD_STRING_READ_DOUBLE_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_DOUBLE_LE) -#define DUK_HEAP_STRING_READ_FLOAT_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HTHREAD_STRING_READ_FLOAT_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_BE) -#define DUK_HEAP_STRING_READ_FLOAT_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HTHREAD_STRING_READ_FLOAT_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_FLOAT_LE) -#define DUK_HEAP_STRING_READ_INT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_BE) -#define DUK_HTHREAD_STRING_READ_INT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_BE) -#define DUK_HEAP_STRING_READ_INT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT32_LE) -#define DUK_HTHREAD_STRING_READ_INT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT32_LE) -#define DUK_HEAP_STRING_READ_UINT32_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HTHREAD_STRING_READ_UINT32_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_BE) -#define DUK_HEAP_STRING_READ_UINT32_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HTHREAD_STRING_READ_UINT32_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT32_LE) -#define DUK_HEAP_STRING_READ_INT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_BE) -#define DUK_HTHREAD_STRING_READ_INT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_BE) -#define DUK_HEAP_STRING_READ_INT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT16_LE) -#define DUK_HTHREAD_STRING_READ_INT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT16_LE) -#define DUK_HEAP_STRING_READ_UINT16_BE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HTHREAD_STRING_READ_UINT16_BE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_BE) -#define DUK_HEAP_STRING_READ_UINT16_LE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HTHREAD_STRING_READ_UINT16_LE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT16_LE) -#define DUK_HEAP_STRING_READ_INT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_INT8) -#define DUK_HTHREAD_STRING_READ_INT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_INT8) -#define DUK_HEAP_STRING_READ_UINT8(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_READ_UINT8) -#define DUK_HTHREAD_STRING_READ_UINT8(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_READ_UINT8) -#define DUK_HEAP_STRING_COPY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COPY) -#define DUK_HTHREAD_STRING_COPY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COPY) -#define DUK_HEAP_STRING_EQUALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EQUALS) -#define DUK_HTHREAD_STRING_EQUALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EQUALS) -#define DUK_HEAP_STRING_FILL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILL) -#define DUK_HTHREAD_STRING_FILL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILL) -#define DUK_HEAP_STRING_WRITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITE) -#define DUK_HTHREAD_STRING_WRITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITE) -#define DUK_HEAP_STRING_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPARE) -#define DUK_HTHREAD_STRING_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPARE) -#define DUK_HEAP_STRING_BYTE_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HTHREAD_STRING_BYTE_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BYTE_LENGTH) -#define DUK_HEAP_STRING_IS_BUFFER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_BUFFER) -#define DUK_HTHREAD_STRING_IS_BUFFER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_BUFFER) -#define DUK_HEAP_STRING_IS_ENCODING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ENCODING) -#define DUK_HTHREAD_STRING_IS_ENCODING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ENCODING) -#define DUK_HEAP_STRING_EXPORTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORTS) -#define DUK_HTHREAD_STRING_EXPORTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORTS) -#define DUK_HEAP_STRING_ID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ID) -#define DUK_HTHREAD_STRING_ID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ID) -#define DUK_HEAP_STRING_REQUIRE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REQUIRE) -#define DUK_HTHREAD_STRING_REQUIRE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REQUIRE) -#define DUK_HEAP_STRING___PROTO__(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX___PROTO__) -#define DUK_HTHREAD_STRING___PROTO__(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX___PROTO__) -#define DUK_HEAP_STRING_SET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_SET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_PROTOTYPE_OF) -#define DUK_HEAP_STRING_OWN_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_OWN_KEYS) -#define DUK_HTHREAD_STRING_OWN_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_OWN_KEYS) -#define DUK_HEAP_STRING_ENUMERATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERATE) -#define DUK_HTHREAD_STRING_ENUMERATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERATE) -#define DUK_HEAP_STRING_DELETE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HTHREAD_STRING_DELETE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE_PROPERTY) -#define DUK_HEAP_STRING_HAS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS) -#define DUK_HTHREAD_STRING_HAS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS) -#define DUK_HEAP_STRING_PROXY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROXY) -#define DUK_HTHREAD_STRING_PROXY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROXY) -#define DUK_HEAP_STRING_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLEE) -#define DUK_HTHREAD_STRING_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLEE) -#define DUK_HEAP_STRING_INVALID_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INVALID_DATE) -#define DUK_HTHREAD_STRING_INVALID_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INVALID_DATE) -#define DUK_HEAP_STRING_BRACKETED_ELLIPSIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HTHREAD_STRING_BRACKETED_ELLIPSIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BRACKETED_ELLIPSIS) -#define DUK_HEAP_STRING_NEWLINE_TAB(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HTHREAD_STRING_NEWLINE_TAB(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEWLINE_TAB) -#define DUK_HEAP_STRING_SPACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPACE) -#define DUK_HTHREAD_STRING_SPACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPACE) -#define DUK_HEAP_STRING_COMMA(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMMA) -#define DUK_HTHREAD_STRING_COMMA(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMMA) -#define DUK_HEAP_STRING_MINUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_ZERO) -#define DUK_HTHREAD_STRING_MINUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_ZERO) -#define DUK_HEAP_STRING_PLUS_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_ZERO) -#define DUK_HTHREAD_STRING_PLUS_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_ZERO) -#define DUK_HEAP_STRING_ZERO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ZERO) -#define DUK_HTHREAD_STRING_ZERO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ZERO) -#define DUK_HEAP_STRING_MINUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HTHREAD_STRING_MINUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MINUS_INFINITY) -#define DUK_HEAP_STRING_PLUS_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HTHREAD_STRING_PLUS_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PLUS_INFINITY) -#define DUK_HEAP_STRING_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INFINITY) -#define DUK_HTHREAD_STRING_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INFINITY) -#define DUK_HEAP_STRING_LC_OBJECT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_OBJECT) -#define DUK_HTHREAD_STRING_LC_OBJECT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_OBJECT) -#define DUK_HEAP_STRING_LC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_STRING) -#define DUK_HTHREAD_STRING_LC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_STRING) -#define DUK_HEAP_STRING_LC_NUMBER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NUMBER) -#define DUK_HTHREAD_STRING_LC_NUMBER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NUMBER) -#define DUK_HEAP_STRING_LC_BOOLEAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_BOOLEAN) -#define DUK_HTHREAD_STRING_LC_BOOLEAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_BOOLEAN) -#define DUK_HEAP_STRING_LC_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_UNDEFINED) -#define DUK_HTHREAD_STRING_LC_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_UNDEFINED) -#define DUK_HEAP_STRING_STRINGIFY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STRINGIFY) -#define DUK_HTHREAD_STRING_STRINGIFY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STRINGIFY) -#define DUK_HEAP_STRING_TAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TAN) -#define DUK_HTHREAD_STRING_TAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TAN) -#define DUK_HEAP_STRING_SQRT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT) -#define DUK_HTHREAD_STRING_SQRT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT) -#define DUK_HEAP_STRING_SIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SIN) -#define DUK_HTHREAD_STRING_SIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SIN) -#define DUK_HEAP_STRING_ROUND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ROUND) -#define DUK_HTHREAD_STRING_ROUND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ROUND) -#define DUK_HEAP_STRING_RANDOM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANDOM) -#define DUK_HTHREAD_STRING_RANDOM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANDOM) -#define DUK_HEAP_STRING_POW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POW) -#define DUK_HTHREAD_STRING_POW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POW) -#define DUK_HEAP_STRING_MIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN) -#define DUK_HTHREAD_STRING_MIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN) -#define DUK_HEAP_STRING_MAX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX) -#define DUK_HTHREAD_STRING_MAX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX) -#define DUK_HEAP_STRING_LOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG) -#define DUK_HTHREAD_STRING_LOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG) -#define DUK_HEAP_STRING_FLOOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FLOOR) -#define DUK_HTHREAD_STRING_FLOOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FLOOR) -#define DUK_HEAP_STRING_EXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXP) -#define DUK_HTHREAD_STRING_EXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXP) -#define DUK_HEAP_STRING_COS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COS) -#define DUK_HTHREAD_STRING_COS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COS) -#define DUK_HEAP_STRING_CEIL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CEIL) -#define DUK_HTHREAD_STRING_CEIL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CEIL) -#define DUK_HEAP_STRING_ATAN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN2) -#define DUK_HTHREAD_STRING_ATAN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN2) -#define DUK_HEAP_STRING_ATAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ATAN) -#define DUK_HTHREAD_STRING_ATAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ATAN) -#define DUK_HEAP_STRING_ASIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ASIN) -#define DUK_HTHREAD_STRING_ASIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ASIN) -#define DUK_HEAP_STRING_ACOS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ACOS) -#define DUK_HTHREAD_STRING_ACOS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ACOS) -#define DUK_HEAP_STRING_ABS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ABS) -#define DUK_HTHREAD_STRING_ABS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ABS) -#define DUK_HEAP_STRING_SQRT2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT2) -#define DUK_HTHREAD_STRING_SQRT2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT2) -#define DUK_HEAP_STRING_SQRT1_2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SQRT1_2) -#define DUK_HTHREAD_STRING_SQRT1_2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SQRT1_2) -#define DUK_HEAP_STRING_PI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PI) -#define DUK_HTHREAD_STRING_PI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PI) -#define DUK_HEAP_STRING_LOG10E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG10E) -#define DUK_HTHREAD_STRING_LOG10E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG10E) -#define DUK_HEAP_STRING_LOG2E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOG2E) -#define DUK_HTHREAD_STRING_LOG2E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOG2E) -#define DUK_HEAP_STRING_LN2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN2) -#define DUK_HTHREAD_STRING_LN2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN2) -#define DUK_HEAP_STRING_LN10(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LN10) -#define DUK_HTHREAD_STRING_LN10(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LN10) -#define DUK_HEAP_STRING_E(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_E) -#define DUK_HTHREAD_STRING_E(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_E) -#define DUK_HEAP_STRING_MESSAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MESSAGE) -#define DUK_HTHREAD_STRING_MESSAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MESSAGE) -#define DUK_HEAP_STRING_NAME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAME) -#define DUK_HTHREAD_STRING_NAME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAME) +#define DUK_STRIDX_LC_POINTER 97 /* 'pointer' */ +#define DUK_HEAP_STRING_LC_POINTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_POINTER) +#define DUK_HTHREAD_STRING_LC_POINTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_POINTER) +#define DUK_STRIDX_INT_VALUE 98 /* '\xffValue' */ +#define DUK_HEAP_STRING_INT_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VALUE) +#define DUK_HTHREAD_STRING_INT_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VALUE) +#define DUK_STRIDX_INT_NEXT 99 /* '\xffNext' */ +#define DUK_HEAP_STRING_INT_NEXT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_NEXT) +#define DUK_HTHREAD_STRING_INT_NEXT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_NEXT) +#define DUK_STRIDX_INT_BYTECODE 100 /* '\xffBytecode' */ +#define DUK_HEAP_STRING_INT_BYTECODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_BYTECODE) +#define DUK_HTHREAD_STRING_INT_BYTECODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_BYTECODE) +#define DUK_STRIDX_INT_FORMALS 101 /* '\xffFormals' */ +#define DUK_HEAP_STRING_INT_FORMALS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FORMALS) +#define DUK_HTHREAD_STRING_INT_FORMALS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FORMALS) +#define DUK_STRIDX_INT_VARMAP 102 /* '\xffVarmap' */ +#define DUK_HEAP_STRING_INT_VARMAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARMAP) +#define DUK_HTHREAD_STRING_INT_VARMAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARMAP) +#define DUK_STRIDX_INT_LEXENV 103 /* '\xffLexenv' */ +#define DUK_HEAP_STRING_INT_LEXENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_LEXENV) +#define DUK_HTHREAD_STRING_INT_LEXENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_LEXENV) +#define DUK_STRIDX_INT_VARENV 104 /* '\xffVarenv' */ +#define DUK_HEAP_STRING_INT_VARENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_VARENV) +#define DUK_HTHREAD_STRING_INT_VARENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_VARENV) +#define DUK_STRIDX_INT_SOURCE 105 /* '\xffSource' */ +#define DUK_HEAP_STRING_INT_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_SOURCE) +#define DUK_HTHREAD_STRING_INT_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_SOURCE) +#define DUK_STRIDX_INT_PC2LINE 106 /* '\xffPc2line' */ +#define DUK_HEAP_STRING_INT_PC2LINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_PC2LINE) +#define DUK_HTHREAD_STRING_INT_PC2LINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_PC2LINE) +#define DUK_STRIDX_INT_ARGS 107 /* '\xffArgs' */ +#define DUK_HEAP_STRING_INT_ARGS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_ARGS) +#define DUK_HTHREAD_STRING_INT_ARGS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_ARGS) +#define DUK_STRIDX_INT_MAP 108 /* '\xffMap' */ +#define DUK_HEAP_STRING_INT_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_MAP) +#define DUK_HTHREAD_STRING_INT_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_MAP) +#define DUK_STRIDX_INT_FINALIZER 109 /* '\xffFinalizer' */ +#define DUK_HEAP_STRING_INT_FINALIZER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_FINALIZER) +#define DUK_HTHREAD_STRING_INT_FINALIZER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_FINALIZER) +#define DUK_STRIDX_INT_HANDLER 110 /* '\xffHandler' */ +#define DUK_HEAP_STRING_INT_HANDLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_HANDLER) +#define DUK_HTHREAD_STRING_INT_HANDLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_HANDLER) +#define DUK_STRIDX_INT_CALLEE 111 /* '\xffCallee' */ +#define DUK_HEAP_STRING_INT_CALLEE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_CALLEE) +#define DUK_HTHREAD_STRING_INT_CALLEE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_CALLEE) +#define DUK_STRIDX_INT_THREAD 112 /* '\xffThread' */ +#define DUK_HEAP_STRING_INT_THREAD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THREAD) +#define DUK_HTHREAD_STRING_INT_THREAD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THREAD) +#define DUK_STRIDX_INT_REGBASE 113 /* '\xffRegbase' */ +#define DUK_HEAP_STRING_INT_REGBASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_REGBASE) +#define DUK_HTHREAD_STRING_INT_REGBASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_REGBASE) +#define DUK_STRIDX_INT_TARGET 114 /* '\xffTarget' */ +#define DUK_HEAP_STRING_INT_TARGET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_TARGET) +#define DUK_HTHREAD_STRING_INT_TARGET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_TARGET) +#define DUK_STRIDX_INT_THIS 115 /* '\xffThis' */ +#define DUK_HEAP_STRING_INT_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INT_THIS) +#define DUK_HTHREAD_STRING_INT_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INT_THIS) +#define DUK_STRIDX_COMPILE 116 /* 'compile' */ +#define DUK_HEAP_STRING_COMPILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_COMPILE) +#define DUK_HTHREAD_STRING_COMPILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_COMPILE) +#define DUK_STRIDX_INPUT 117 /* 'input' */ #define DUK_HEAP_STRING_INPUT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INPUT) #define DUK_HTHREAD_STRING_INPUT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INPUT) -#define DUK_HEAP_STRING_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX) -#define DUK_HTHREAD_STRING_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX) -#define DUK_HEAP_STRING_ESCAPED_EMPTY_REGEXP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HTHREAD_STRING_ESCAPED_EMPTY_REGEXP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPED_EMPTY_REGEXP) -#define DUK_HEAP_STRING_LAST_INDEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX) -#define DUK_HTHREAD_STRING_LAST_INDEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX) -#define DUK_HEAP_STRING_MULTILINE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MULTILINE) -#define DUK_HTHREAD_STRING_MULTILINE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MULTILINE) -#define DUK_HEAP_STRING_IGNORE_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IGNORE_CASE) -#define DUK_HTHREAD_STRING_IGNORE_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IGNORE_CASE) -#define DUK_HEAP_STRING_SOURCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOURCE) -#define DUK_HTHREAD_STRING_SOURCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOURCE) -#define DUK_HEAP_STRING_TEST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TEST) -#define DUK_HTHREAD_STRING_TEST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TEST) -#define DUK_HEAP_STRING_EXEC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXEC) -#define DUK_HTHREAD_STRING_EXEC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXEC) -#define DUK_HEAP_STRING_TO_GMT_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HTHREAD_STRING_TO_GMT_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_GMT_STRING) -#define DUK_HEAP_STRING_SET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_YEAR) -#define DUK_HTHREAD_STRING_SET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_YEAR) -#define DUK_HEAP_STRING_GET_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_YEAR) -#define DUK_HTHREAD_STRING_GET_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_YEAR) -#define DUK_HEAP_STRING_TO_JSON(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_JSON) -#define DUK_HTHREAD_STRING_TO_JSON(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_JSON) -#define DUK_HEAP_STRING_TO_ISO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HTHREAD_STRING_TO_ISO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_ISO_STRING) -#define DUK_HEAP_STRING_TO_UTC_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HTHREAD_STRING_TO_UTC_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UTC_STRING) -#define DUK_HEAP_STRING_SET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_SET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HTHREAD_STRING_SET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_FULL_YEAR) -#define DUK_HEAP_STRING_SET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HTHREAD_STRING_SET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MONTH) -#define DUK_HEAP_STRING_SET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MONTH) -#define DUK_HTHREAD_STRING_SET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MONTH) -#define DUK_HEAP_STRING_SET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HTHREAD_STRING_SET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_DATE) -#define DUK_HEAP_STRING_SET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_DATE) -#define DUK_HTHREAD_STRING_SET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_DATE) -#define DUK_HEAP_STRING_SET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HTHREAD_STRING_SET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_HOURS) -#define DUK_HEAP_STRING_SET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_HOURS) -#define DUK_HTHREAD_STRING_SET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_HOURS) -#define DUK_HEAP_STRING_SET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_SET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MINUTES) -#define DUK_HEAP_STRING_SET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MINUTES) -#define DUK_HTHREAD_STRING_SET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MINUTES) -#define DUK_HEAP_STRING_SET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_SECONDS) -#define DUK_HEAP_STRING_SET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_SECONDS) -#define DUK_HTHREAD_STRING_SET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_SECONDS) -#define DUK_HEAP_STRING_SET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_SET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HTHREAD_STRING_SET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_MILLISECONDS) -#define DUK_HEAP_STRING_SET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET_TIME) -#define DUK_HTHREAD_STRING_SET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET_TIME) -#define DUK_HEAP_STRING_GET_TIMEZONE_OFFSET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HTHREAD_STRING_GET_TIMEZONE_OFFSET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIMEZONE_OFFSET) -#define DUK_HEAP_STRING_GET_UTC_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MILLISECONDS) -#define DUK_HEAP_STRING_GET_MILLISECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HTHREAD_STRING_GET_MILLISECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MILLISECONDS) -#define DUK_HEAP_STRING_GET_UTC_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HTHREAD_STRING_GET_UTC_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_SECONDS) -#define DUK_HEAP_STRING_GET_SECONDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_SECONDS) -#define DUK_HTHREAD_STRING_GET_SECONDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_SECONDS) -#define DUK_HEAP_STRING_GET_UTC_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HTHREAD_STRING_GET_UTC_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MINUTES) -#define DUK_HEAP_STRING_GET_MINUTES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MINUTES) -#define DUK_HTHREAD_STRING_GET_MINUTES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MINUTES) -#define DUK_HEAP_STRING_GET_UTC_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HTHREAD_STRING_GET_UTC_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_HOURS) -#define DUK_HEAP_STRING_GET_HOURS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_HOURS) -#define DUK_HTHREAD_STRING_GET_HOURS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_HOURS) -#define DUK_HEAP_STRING_GET_UTC_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HTHREAD_STRING_GET_UTC_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DAY) -#define DUK_HEAP_STRING_GET_DAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DAY) -#define DUK_HTHREAD_STRING_GET_DAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DAY) -#define DUK_HEAP_STRING_GET_UTC_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HTHREAD_STRING_GET_UTC_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_DATE) -#define DUK_HEAP_STRING_GET_DATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_DATE) -#define DUK_HTHREAD_STRING_GET_DATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_DATE) -#define DUK_HEAP_STRING_GET_UTC_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HTHREAD_STRING_GET_UTC_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_MONTH) -#define DUK_HEAP_STRING_GET_MONTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_MONTH) -#define DUK_HTHREAD_STRING_GET_MONTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_MONTH) -#define DUK_HEAP_STRING_GET_UTC_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_UTC_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_UTC_FULL_YEAR) -#define DUK_HEAP_STRING_GET_FULL_YEAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HTHREAD_STRING_GET_FULL_YEAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_FULL_YEAR) -#define DUK_HEAP_STRING_GET_TIME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_TIME) -#define DUK_HTHREAD_STRING_GET_TIME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_TIME) -#define DUK_HEAP_STRING_TO_LOCALE_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_TIME_STRING) -#define DUK_HEAP_STRING_TO_LOCALE_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_DATE_STRING) -#define DUK_HEAP_STRING_TO_TIME_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HTHREAD_STRING_TO_TIME_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_TIME_STRING) -#define DUK_HEAP_STRING_TO_DATE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HTHREAD_STRING_TO_DATE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_DATE_STRING) -#define DUK_HEAP_STRING_NOW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NOW) -#define DUK_HTHREAD_STRING_NOW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NOW) -#define DUK_HEAP_STRING_UTC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UTC) -#define DUK_HTHREAD_STRING_UTC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UTC) -#define DUK_HEAP_STRING_PARSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE) -#define DUK_HTHREAD_STRING_PARSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE) -#define DUK_HEAP_STRING_TO_PRECISION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_PRECISION) -#define DUK_HTHREAD_STRING_TO_PRECISION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_PRECISION) -#define DUK_HEAP_STRING_TO_EXPONENTIAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HTHREAD_STRING_TO_EXPONENTIAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_EXPONENTIAL) -#define DUK_HEAP_STRING_TO_FIXED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_FIXED) -#define DUK_HTHREAD_STRING_TO_FIXED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_FIXED) -#define DUK_HEAP_STRING_POSITIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HTHREAD_STRING_POSITIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POSITIVE_INFINITY) -#define DUK_HEAP_STRING_NEGATIVE_INFINITY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEGATIVE_INFINITY) -#define DUK_HTHREAD_STRING_NEGATIVE_INFINITY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEGATIVE_INFINITY) -#define DUK_HEAP_STRING_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NAN) -#define DUK_HTHREAD_STRING_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NAN) -#define DUK_HEAP_STRING_MIN_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MIN_VALUE) -#define DUK_HTHREAD_STRING_MIN_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MIN_VALUE) -#define DUK_HEAP_STRING_MAX_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAX_VALUE) -#define DUK_HTHREAD_STRING_MAX_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAX_VALUE) -#define DUK_HEAP_STRING_SUBSTR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTR) -#define DUK_HTHREAD_STRING_SUBSTR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTR) -#define DUK_HEAP_STRING_TRIM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRIM) -#define DUK_HTHREAD_STRING_TRIM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRIM) -#define DUK_HEAP_STRING_TO_LOCALE_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_UPPER_CASE) -#define DUK_HEAP_STRING_TO_UPPER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HTHREAD_STRING_TO_UPPER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_UPPER_CASE) -#define DUK_HEAP_STRING_TO_LOCALE_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOCALE_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_LOWER_CASE) -#define DUK_HEAP_STRING_TO_LOWER_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HTHREAD_STRING_TO_LOWER_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOWER_CASE) -#define DUK_HEAP_STRING_SUBSTRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUBSTRING) -#define DUK_HTHREAD_STRING_SUBSTRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUBSTRING) -#define DUK_HEAP_STRING_SPLIT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLIT) -#define DUK_HTHREAD_STRING_SPLIT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLIT) -#define DUK_HEAP_STRING_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEARCH) -#define DUK_HTHREAD_STRING_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEARCH) -#define DUK_HEAP_STRING_REPLACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REPLACE) -#define DUK_HTHREAD_STRING_REPLACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REPLACE) -#define DUK_HEAP_STRING_MATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MATCH) -#define DUK_HTHREAD_STRING_MATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MATCH) -#define DUK_HEAP_STRING_LOCALE_COMPARE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HTHREAD_STRING_LOCALE_COMPARE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LOCALE_COMPARE) -#define DUK_HEAP_STRING_CHAR_CODE_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HTHREAD_STRING_CHAR_CODE_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_CODE_AT) -#define DUK_HEAP_STRING_CHAR_AT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CHAR_AT) -#define DUK_HTHREAD_STRING_CHAR_AT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CHAR_AT) -#define DUK_HEAP_STRING_FROM_CHAR_CODE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HTHREAD_STRING_FROM_CHAR_CODE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FROM_CHAR_CODE) -#define DUK_HEAP_STRING_REDUCE_RIGHT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HTHREAD_STRING_REDUCE_RIGHT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE_RIGHT) -#define DUK_HEAP_STRING_REDUCE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REDUCE) -#define DUK_HTHREAD_STRING_REDUCE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REDUCE) -#define DUK_HEAP_STRING_FILTER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FILTER) -#define DUK_HTHREAD_STRING_FILTER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FILTER) -#define DUK_HEAP_STRING_MAP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MAP) -#define DUK_HTHREAD_STRING_MAP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MAP) -#define DUK_HEAP_STRING_FOR_EACH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR_EACH) -#define DUK_HTHREAD_STRING_FOR_EACH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR_EACH) -#define DUK_HEAP_STRING_SOME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SOME) -#define DUK_HTHREAD_STRING_SOME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SOME) -#define DUK_HEAP_STRING_EVERY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVERY) -#define DUK_HTHREAD_STRING_EVERY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVERY) -#define DUK_HEAP_STRING_LAST_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HTHREAD_STRING_LAST_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LAST_INDEX_OF) -#define DUK_HEAP_STRING_INDEX_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INDEX_OF) -#define DUK_HTHREAD_STRING_INDEX_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INDEX_OF) -#define DUK_HEAP_STRING_UNSHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNSHIFT) -#define DUK_HTHREAD_STRING_UNSHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNSHIFT) -#define DUK_HEAP_STRING_SPLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SPLICE) -#define DUK_HTHREAD_STRING_SPLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SPLICE) -#define DUK_HEAP_STRING_SORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SORT) -#define DUK_HTHREAD_STRING_SORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SORT) -#define DUK_HEAP_STRING_SLICE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SLICE) -#define DUK_HTHREAD_STRING_SLICE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SLICE) -#define DUK_HEAP_STRING_SHIFT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SHIFT) -#define DUK_HTHREAD_STRING_SHIFT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SHIFT) -#define DUK_HEAP_STRING_REVERSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REVERSE) -#define DUK_HTHREAD_STRING_REVERSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REVERSE) -#define DUK_HEAP_STRING_PUSH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUSH) -#define DUK_HTHREAD_STRING_PUSH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUSH) -#define DUK_HEAP_STRING_POP(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_POP) -#define DUK_HTHREAD_STRING_POP(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_POP) -#define DUK_HEAP_STRING_JOIN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JOIN) -#define DUK_HTHREAD_STRING_JOIN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JOIN) -#define DUK_HEAP_STRING_CONCAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONCAT) -#define DUK_HTHREAD_STRING_CONCAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONCAT) -#define DUK_HEAP_STRING_IS_ARRAY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_ARRAY) -#define DUK_HTHREAD_STRING_IS_ARRAY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_ARRAY) -#define DUK_HEAP_STRING_LC_ARGUMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ARGUMENTS) -#define DUK_HTHREAD_STRING_LC_ARGUMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ARGUMENTS) -#define DUK_HEAP_STRING_CALLER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALLER) -#define DUK_HTHREAD_STRING_CALLER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALLER) -#define DUK_HEAP_STRING_BIND(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BIND) -#define DUK_HTHREAD_STRING_BIND(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BIND) -#define DUK_HEAP_STRING_CALL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CALL) -#define DUK_HTHREAD_STRING_CALL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CALL) -#define DUK_HEAP_STRING_APPLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_APPLY) -#define DUK_HTHREAD_STRING_APPLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_APPLY) -#define DUK_HEAP_STRING_PROPERTY_IS_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HTHREAD_STRING_PROPERTY_IS_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROPERTY_IS_ENUMERABLE) -#define DUK_HEAP_STRING_IS_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_IS_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_PROTOTYPE_OF) -#define DUK_HEAP_STRING_HAS_OWN_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HTHREAD_STRING_HAS_OWN_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HAS_OWN_PROPERTY) -#define DUK_HEAP_STRING_VALUE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE_OF) -#define DUK_HTHREAD_STRING_VALUE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE_OF) -#define DUK_HEAP_STRING_TO_LOCALE_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOCALE_STRING) -#define DUK_HTHREAD_STRING_TO_LOCALE_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOCALE_STRING) -#define DUK_HEAP_STRING_TO_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_STRING) -#define DUK_HTHREAD_STRING_TO_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_STRING) -#define DUK_HEAP_STRING_CONSTRUCTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HTHREAD_STRING_CONSTRUCTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONSTRUCTOR) -#define DUK_HEAP_STRING_SET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SET) -#define DUK_HTHREAD_STRING_SET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SET) -#define DUK_HEAP_STRING_GET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET) -#define DUK_HTHREAD_STRING_GET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET) -#define DUK_HEAP_STRING_ENUMERABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUMERABLE) -#define DUK_HTHREAD_STRING_ENUMERABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUMERABLE) -#define DUK_HEAP_STRING_CONFIGURABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONFIGURABLE) -#define DUK_HTHREAD_STRING_CONFIGURABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONFIGURABLE) -#define DUK_HEAP_STRING_WRITABLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WRITABLE) -#define DUK_HTHREAD_STRING_WRITABLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WRITABLE) -#define DUK_HEAP_STRING_VALUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VALUE) -#define DUK_HTHREAD_STRING_VALUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VALUE) -#define DUK_HEAP_STRING_KEYS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_KEYS) -#define DUK_HTHREAD_STRING_KEYS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_KEYS) -#define DUK_HEAP_STRING_IS_EXTENSIBLE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HTHREAD_STRING_IS_EXTENSIBLE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_EXTENSIBLE) -#define DUK_HEAP_STRING_IS_FROZEN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FROZEN) -#define DUK_HTHREAD_STRING_IS_FROZEN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FROZEN) -#define DUK_HEAP_STRING_IS_SEALED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_SEALED) -#define DUK_HTHREAD_STRING_IS_SEALED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_SEALED) -#define DUK_HEAP_STRING_PREVENT_EXTENSIONS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HTHREAD_STRING_PREVENT_EXTENSIONS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PREVENT_EXTENSIONS) -#define DUK_HEAP_STRING_FREEZE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FREEZE) -#define DUK_HTHREAD_STRING_FREEZE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FREEZE) -#define DUK_HEAP_STRING_SEAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SEAL) -#define DUK_HTHREAD_STRING_SEAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SEAL) -#define DUK_HEAP_STRING_DEFINE_PROPERTIES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTIES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTIES) -#define DUK_HEAP_STRING_DEFINE_PROPERTY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HTHREAD_STRING_DEFINE_PROPERTY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFINE_PROPERTY) -#define DUK_HEAP_STRING_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CREATE) -#define DUK_HTHREAD_STRING_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CREATE) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_NAMES(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_NAMES(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_NAMES) -#define DUK_HEAP_STRING_GET_OWN_PROPERTY_DESCRIPTOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HTHREAD_STRING_GET_OWN_PROPERTY_DESCRIPTOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_OWN_PROPERTY_DESCRIPTOR) -#define DUK_HEAP_STRING_GET_PROTOTYPE_OF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_GET_PROTOTYPE_OF) -#define DUK_HTHREAD_STRING_GET_PROTOTYPE_OF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_GET_PROTOTYPE_OF) -#define DUK_HEAP_STRING_PROTOTYPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTOTYPE) -#define DUK_HTHREAD_STRING_PROTOTYPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTOTYPE) -#define DUK_HEAP_STRING_LENGTH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LENGTH) -#define DUK_HTHREAD_STRING_LENGTH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LENGTH) -#define DUK_HEAP_STRING_ALERT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ALERT) -#define DUK_HTHREAD_STRING_ALERT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ALERT) -#define DUK_HEAP_STRING_PRINT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRINT) -#define DUK_HTHREAD_STRING_PRINT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRINT) -#define DUK_HEAP_STRING_UNESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_UNESCAPE) -#define DUK_HTHREAD_STRING_UNESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_UNESCAPE) -#define DUK_HEAP_STRING_ESCAPE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ESCAPE) -#define DUK_HTHREAD_STRING_ESCAPE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ESCAPE) -#define DUK_HEAP_STRING_ENCODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_ENCODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI_COMPONENT) -#define DUK_HEAP_STRING_ENCODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENCODE_URI) -#define DUK_HTHREAD_STRING_ENCODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENCODE_URI) -#define DUK_HEAP_STRING_DECODE_URI_COMPONENT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HTHREAD_STRING_DECODE_URI_COMPONENT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI_COMPONENT) -#define DUK_HEAP_STRING_DECODE_URI(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DECODE_URI) -#define DUK_HTHREAD_STRING_DECODE_URI(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DECODE_URI) -#define DUK_HEAP_STRING_IS_FINITE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_FINITE) -#define DUK_HTHREAD_STRING_IS_FINITE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_FINITE) -#define DUK_HEAP_STRING_IS_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IS_NAN) -#define DUK_HTHREAD_STRING_IS_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IS_NAN) -#define DUK_HEAP_STRING_PARSE_FLOAT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HTHREAD_STRING_PARSE_FLOAT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_FLOAT) -#define DUK_HEAP_STRING_PARSE_INT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PARSE_INT) -#define DUK_HTHREAD_STRING_PARSE_INT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PARSE_INT) -#define DUK_HEAP_STRING_EVAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL) -#define DUK_HTHREAD_STRING_EVAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL) -#define DUK_HEAP_STRING_URI_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_URI_ERROR) -#define DUK_HTHREAD_STRING_URI_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_URI_ERROR) -#define DUK_HEAP_STRING_TYPE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPE_ERROR) -#define DUK_HTHREAD_STRING_TYPE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPE_ERROR) -#define DUK_HEAP_STRING_SYNTAX_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HTHREAD_STRING_SYNTAX_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SYNTAX_ERROR) -#define DUK_HEAP_STRING_REFERENCE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HTHREAD_STRING_REFERENCE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_REFERENCE_ERROR) -#define DUK_HEAP_STRING_RANGE_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RANGE_ERROR) -#define DUK_HTHREAD_STRING_RANGE_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RANGE_ERROR) -#define DUK_HEAP_STRING_EVAL_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EVAL_ERROR) -#define DUK_HTHREAD_STRING_EVAL_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EVAL_ERROR) +#define DUK_STRIDX_ERR_CREATE 118 /* 'errCreate' */ +#define DUK_HEAP_STRING_ERR_CREATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_CREATE) +#define DUK_HTHREAD_STRING_ERR_CREATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_CREATE) +#define DUK_STRIDX_ERR_THROW 119 /* 'errThrow' */ +#define DUK_HEAP_STRING_ERR_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ERR_THROW) +#define DUK_HTHREAD_STRING_ERR_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ERR_THROW) +#define DUK_STRIDX_MOD_SEARCH 120 /* 'modSearch' */ +#define DUK_HEAP_STRING_MOD_SEARCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_SEARCH) +#define DUK_HTHREAD_STRING_MOD_SEARCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_SEARCH) +#define DUK_STRIDX_MOD_LOADED 121 /* 'modLoaded' */ +#define DUK_HEAP_STRING_MOD_LOADED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_MOD_LOADED) +#define DUK_HTHREAD_STRING_MOD_LOADED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_MOD_LOADED) +#define DUK_STRIDX_ENV 122 /* 'env' */ +#define DUK_HEAP_STRING_ENV(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENV) +#define DUK_HTHREAD_STRING_ENV(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENV) +#define DUK_STRIDX_HEX 123 /* 'hex' */ +#define DUK_HEAP_STRING_HEX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_HEX) +#define DUK_HTHREAD_STRING_HEX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_HEX) +#define DUK_STRIDX_BASE64 124 /* 'base64' */ +#define DUK_HEAP_STRING_BASE64(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BASE64) +#define DUK_HTHREAD_STRING_BASE64(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BASE64) +#define DUK_STRIDX_JX 125 /* 'jx' */ +#define DUK_HEAP_STRING_JX(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JX) +#define DUK_HTHREAD_STRING_JX(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JX) +#define DUK_STRIDX_JC 126 /* 'jc' */ +#define DUK_HEAP_STRING_JC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JC) +#define DUK_HTHREAD_STRING_JC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JC) +#define DUK_STRIDX_RESUME 127 /* 'resume' */ +#define DUK_HEAP_STRING_RESUME(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RESUME) +#define DUK_HTHREAD_STRING_RESUME(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RESUME) +#define DUK_STRIDX_FMT 128 /* 'fmt' */ +#define DUK_HEAP_STRING_FMT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FMT) +#define DUK_HTHREAD_STRING_FMT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FMT) +#define DUK_STRIDX_RAW 129 /* 'raw' */ +#define DUK_HEAP_STRING_RAW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RAW) +#define DUK_HTHREAD_STRING_RAW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RAW) +#define DUK_STRIDX_LC_TRACE 130 /* 'trace' */ +#define DUK_HEAP_STRING_LC_TRACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_TRACE) +#define DUK_HTHREAD_STRING_LC_TRACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_TRACE) +#define DUK_STRIDX_LC_DEBUG 131 /* 'debug' */ +#define DUK_HEAP_STRING_LC_DEBUG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_DEBUG) +#define DUK_HTHREAD_STRING_LC_DEBUG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_DEBUG) +#define DUK_STRIDX_LC_INFO 132 /* 'info' */ +#define DUK_HEAP_STRING_LC_INFO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_INFO) +#define DUK_HTHREAD_STRING_LC_INFO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_INFO) +#define DUK_STRIDX_LC_WARN 133 /* 'warn' */ +#define DUK_HEAP_STRING_LC_WARN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_WARN) +#define DUK_HTHREAD_STRING_LC_WARN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_WARN) +#define DUK_STRIDX_LC_ERROR 134 /* 'error' */ +#define DUK_HEAP_STRING_LC_ERROR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_ERROR) +#define DUK_HTHREAD_STRING_LC_ERROR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_ERROR) +#define DUK_STRIDX_LC_FATAL 135 /* 'fatal' */ +#define DUK_HEAP_STRING_LC_FATAL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FATAL) +#define DUK_HTHREAD_STRING_LC_FATAL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FATAL) +#define DUK_STRIDX_LC_N 136 /* 'n' */ +#define DUK_HEAP_STRING_LC_N(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_N) +#define DUK_HTHREAD_STRING_LC_N(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_N) +#define DUK_STRIDX_LC_L 137 /* 'l' */ +#define DUK_HEAP_STRING_LC_L(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_L) +#define DUK_HTHREAD_STRING_LC_L(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_L) +#define DUK_STRIDX_CLOG 138 /* 'clog' */ +#define DUK_HEAP_STRING_CLOG(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLOG) +#define DUK_HTHREAD_STRING_CLOG(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLOG) +#define DUK_STRIDX_TO_LOG_STRING 139 /* 'toLogString' */ +#define DUK_HEAP_STRING_TO_LOG_STRING(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TO_LOG_STRING) +#define DUK_HTHREAD_STRING_TO_LOG_STRING(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TO_LOG_STRING) +#define DUK_STRIDX_JSON_EXT_UNDEFINED 140 /* '{"_undef":true}' */ +#define DUK_HEAP_STRING_JSON_EXT_UNDEFINED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_UNDEFINED) +#define DUK_HTHREAD_STRING_JSON_EXT_UNDEFINED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_UNDEFINED) +#define DUK_STRIDX_JSON_EXT_NAN 141 /* '{"_nan":true}' */ +#define DUK_HEAP_STRING_JSON_EXT_NAN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NAN) +#define DUK_HTHREAD_STRING_JSON_EXT_NAN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NAN) +#define DUK_STRIDX_JSON_EXT_POSINF 142 /* '{"_inf":true}' */ +#define DUK_HEAP_STRING_JSON_EXT_POSINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_POSINF) +#define DUK_HTHREAD_STRING_JSON_EXT_POSINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_POSINF) +#define DUK_STRIDX_JSON_EXT_NEGINF 143 /* '{"_ninf":true}' */ +#define DUK_HEAP_STRING_JSON_EXT_NEGINF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_NEGINF) +#define DUK_HTHREAD_STRING_JSON_EXT_NEGINF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_NEGINF) +#define DUK_STRIDX_JSON_EXT_FUNCTION1 144 /* '{"_func":true}' */ +#define DUK_HEAP_STRING_JSON_EXT_FUNCTION1(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION1) +#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION1(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION1) +#define DUK_STRIDX_JSON_EXT_FUNCTION2 145 /* '{_func:true}' */ +#define DUK_HEAP_STRING_JSON_EXT_FUNCTION2(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_JSON_EXT_FUNCTION2) +#define DUK_HTHREAD_STRING_JSON_EXT_FUNCTION2(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_JSON_EXT_FUNCTION2) +#define DUK_STRIDX_BREAK 146 /* 'break' */ #define DUK_HEAP_STRING_BREAK(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_BREAK) #define DUK_HTHREAD_STRING_BREAK(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_BREAK) +#define DUK_STRIDX_CASE 147 /* 'case' */ #define DUK_HEAP_STRING_CASE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CASE) #define DUK_HTHREAD_STRING_CASE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CASE) +#define DUK_STRIDX_CATCH 148 /* 'catch' */ #define DUK_HEAP_STRING_CATCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CATCH) #define DUK_HTHREAD_STRING_CATCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CATCH) +#define DUK_STRIDX_CONTINUE 149 /* 'continue' */ #define DUK_HEAP_STRING_CONTINUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONTINUE) #define DUK_HTHREAD_STRING_CONTINUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONTINUE) +#define DUK_STRIDX_DEBUGGER 150 /* 'debugger' */ #define DUK_HEAP_STRING_DEBUGGER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEBUGGER) #define DUK_HTHREAD_STRING_DEBUGGER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEBUGGER) +#define DUK_STRIDX_DEFAULT 151 /* 'default' */ #define DUK_HEAP_STRING_DEFAULT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DEFAULT) #define DUK_HTHREAD_STRING_DEFAULT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DEFAULT) +#define DUK_STRIDX_DELETE 152 /* 'delete' */ #define DUK_HEAP_STRING_DELETE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DELETE) #define DUK_HTHREAD_STRING_DELETE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DELETE) +#define DUK_STRIDX_DO 153 /* 'do' */ #define DUK_HEAP_STRING_DO(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_DO) #define DUK_HTHREAD_STRING_DO(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_DO) +#define DUK_STRIDX_ELSE 154 /* 'else' */ #define DUK_HEAP_STRING_ELSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ELSE) #define DUK_HTHREAD_STRING_ELSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ELSE) +#define DUK_STRIDX_FINALLY 155 /* 'finally' */ #define DUK_HEAP_STRING_FINALLY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FINALLY) #define DUK_HTHREAD_STRING_FINALLY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FINALLY) +#define DUK_STRIDX_FOR 156 /* 'for' */ #define DUK_HEAP_STRING_FOR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FOR) #define DUK_HTHREAD_STRING_FOR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FOR) +#define DUK_STRIDX_LC_FUNCTION 157 /* 'function' */ #define DUK_HEAP_STRING_LC_FUNCTION(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_FUNCTION) #define DUK_HTHREAD_STRING_LC_FUNCTION(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_FUNCTION) +#define DUK_STRIDX_IF 158 /* 'if' */ #define DUK_HEAP_STRING_IF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IF) #define DUK_HTHREAD_STRING_IF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IF) +#define DUK_STRIDX_IN 159 /* 'in' */ #define DUK_HEAP_STRING_IN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IN) #define DUK_HTHREAD_STRING_IN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IN) +#define DUK_STRIDX_INSTANCEOF 160 /* 'instanceof' */ #define DUK_HEAP_STRING_INSTANCEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INSTANCEOF) #define DUK_HTHREAD_STRING_INSTANCEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INSTANCEOF) +#define DUK_STRIDX_NEW 161 /* 'new' */ #define DUK_HEAP_STRING_NEW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_NEW) #define DUK_HTHREAD_STRING_NEW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_NEW) +#define DUK_STRIDX_RETURN 162 /* 'return' */ #define DUK_HEAP_STRING_RETURN(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_RETURN) #define DUK_HTHREAD_STRING_RETURN(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_RETURN) +#define DUK_STRIDX_SWITCH 163 /* 'switch' */ #define DUK_HEAP_STRING_SWITCH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SWITCH) #define DUK_HTHREAD_STRING_SWITCH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SWITCH) +#define DUK_STRIDX_THIS 164 /* 'this' */ #define DUK_HEAP_STRING_THIS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THIS) #define DUK_HTHREAD_STRING_THIS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THIS) +#define DUK_STRIDX_THROW 165 /* 'throw' */ #define DUK_HEAP_STRING_THROW(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_THROW) #define DUK_HTHREAD_STRING_THROW(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_THROW) +#define DUK_STRIDX_TRY 166 /* 'try' */ #define DUK_HEAP_STRING_TRY(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRY) #define DUK_HTHREAD_STRING_TRY(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRY) +#define DUK_STRIDX_TYPEOF 167 /* 'typeof' */ #define DUK_HEAP_STRING_TYPEOF(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TYPEOF) #define DUK_HTHREAD_STRING_TYPEOF(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TYPEOF) +#define DUK_STRIDX_VAR 168 /* 'var' */ #define DUK_HEAP_STRING_VAR(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VAR) #define DUK_HTHREAD_STRING_VAR(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VAR) +#define DUK_STRIDX_CONST 169 /* 'const' */ #define DUK_HEAP_STRING_CONST(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CONST) #define DUK_HTHREAD_STRING_CONST(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CONST) +#define DUK_STRIDX_VOID 170 /* 'void' */ #define DUK_HEAP_STRING_VOID(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_VOID) #define DUK_HTHREAD_STRING_VOID(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_VOID) +#define DUK_STRIDX_WHILE 171 /* 'while' */ #define DUK_HEAP_STRING_WHILE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WHILE) #define DUK_HTHREAD_STRING_WHILE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WHILE) +#define DUK_STRIDX_WITH 172 /* 'with' */ #define DUK_HEAP_STRING_WITH(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_WITH) #define DUK_HTHREAD_STRING_WITH(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_WITH) +#define DUK_STRIDX_CLASS 173 /* 'class' */ #define DUK_HEAP_STRING_CLASS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_CLASS) #define DUK_HTHREAD_STRING_CLASS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_CLASS) +#define DUK_STRIDX_ENUM 174 /* 'enum' */ #define DUK_HEAP_STRING_ENUM(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_ENUM) #define DUK_HTHREAD_STRING_ENUM(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_ENUM) +#define DUK_STRIDX_EXPORT 175 /* 'export' */ #define DUK_HEAP_STRING_EXPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXPORT) #define DUK_HTHREAD_STRING_EXPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXPORT) +#define DUK_STRIDX_EXTENDS 176 /* 'extends' */ #define DUK_HEAP_STRING_EXTENDS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_EXTENDS) #define DUK_HTHREAD_STRING_EXTENDS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_EXTENDS) +#define DUK_STRIDX_IMPORT 177 /* 'import' */ #define DUK_HEAP_STRING_IMPORT(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPORT) #define DUK_HTHREAD_STRING_IMPORT(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPORT) +#define DUK_STRIDX_SUPER 178 /* 'super' */ #define DUK_HEAP_STRING_SUPER(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_SUPER) #define DUK_HTHREAD_STRING_SUPER(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_SUPER) +#define DUK_STRIDX_LC_NULL 179 /* 'null' */ #define DUK_HEAP_STRING_LC_NULL(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LC_NULL) #define DUK_HTHREAD_STRING_LC_NULL(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LC_NULL) +#define DUK_STRIDX_TRUE 180 /* 'true' */ #define DUK_HEAP_STRING_TRUE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_TRUE) #define DUK_HTHREAD_STRING_TRUE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_TRUE) +#define DUK_STRIDX_FALSE 181 /* 'false' */ #define DUK_HEAP_STRING_FALSE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_FALSE) #define DUK_HTHREAD_STRING_FALSE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_FALSE) +#define DUK_STRIDX_IMPLEMENTS 182 /* 'implements' */ #define DUK_HEAP_STRING_IMPLEMENTS(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_IMPLEMENTS) #define DUK_HTHREAD_STRING_IMPLEMENTS(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_IMPLEMENTS) +#define DUK_STRIDX_INTERFACE 183 /* 'interface' */ #define DUK_HEAP_STRING_INTERFACE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_INTERFACE) #define DUK_HTHREAD_STRING_INTERFACE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_INTERFACE) +#define DUK_STRIDX_LET 184 /* 'let' */ #define DUK_HEAP_STRING_LET(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_LET) #define DUK_HTHREAD_STRING_LET(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_LET) +#define DUK_STRIDX_PACKAGE 185 /* 'package' */ #define DUK_HEAP_STRING_PACKAGE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PACKAGE) #define DUK_HTHREAD_STRING_PACKAGE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PACKAGE) +#define DUK_STRIDX_PRIVATE 186 /* 'private' */ #define DUK_HEAP_STRING_PRIVATE(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PRIVATE) #define DUK_HTHREAD_STRING_PRIVATE(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PRIVATE) +#define DUK_STRIDX_PROTECTED 187 /* 'protected' */ #define DUK_HEAP_STRING_PROTECTED(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PROTECTED) #define DUK_HTHREAD_STRING_PROTECTED(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PROTECTED) +#define DUK_STRIDX_PUBLIC 188 /* 'public' */ #define DUK_HEAP_STRING_PUBLIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_PUBLIC) #define DUK_HTHREAD_STRING_PUBLIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_PUBLIC) +#define DUK_STRIDX_STATIC 189 /* 'static' */ #define DUK_HEAP_STRING_STATIC(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_STATIC) #define DUK_HTHREAD_STRING_STATIC(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_STATIC) +#define DUK_STRIDX_YIELD 190 /* 'yield' */ #define DUK_HEAP_STRING_YIELD(heap) DUK_HEAP_GET_STRING((heap),DUK_STRIDX_YIELD) #define DUK_HTHREAD_STRING_YIELD(thr) DUK_HTHREAD_GET_STRING((thr),DUK_STRIDX_YIELD) -#define DUK_HEAP_NUM_STRINGS 414 +#define DUK_HEAP_NUM_STRINGS 191 +#define DUK_STRIDX_START_RESERVED 146 +#define DUK_STRIDX_START_STRICT_RESERVED 182 +#define DUK_STRIDX_END_RESERVED 191 /* exclusive endpoint */ -#define DUK_STRIDX_START_RESERVED 369 -#define DUK_STRIDX_START_STRICT_RESERVED 405 -#define DUK_STRIDX_END_RESERVED 414 /* exclusive endpoint */ +/* To convert a heap stridx to a token number, subtract + * DUK_STRIDX_START_RESERVED and add DUK_TOK_START_RESERVED. + */ +#if !defined(DUK_SINGLE_FILE) +DUK_INTERNAL_DECL const duk_uint8_t duk_strings_data[1049]; +#endif /* !DUK_SINGLE_FILE */ +#define DUK_STRDATA_MAX_STRLEN 17 +#define DUK_STRDATA_DATA_LENGTH 1049 +#endif /* DUK_USE_ROM_STRINGS */ +#if defined(DUK_USE_ROM_OBJECTS) +#error ROM support not enabled, rerun make_dist.py with --rom-support +#else +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_boolean_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_constructor_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_type_error_thrower(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_proxy_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_pointer_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_arraybuffer_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_dataview_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_typedarray_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_constructor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_eval(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_parse_int(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_parse_float(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_is_nan(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_is_finite(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_decode_uri(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_decode_uri_component(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_encode_uri(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_encode_uri_component(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_escape(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_unescape(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_print_helper(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_require(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_getprototype_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_setprototype_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_get_own_property_descriptor(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_keys_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_create(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_define_property(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_define_properties(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_seal_freeze_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_prevent_extensions(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_is_sealed_frozen_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_is_extensible(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_to_locale_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_value_of(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_has_own_property(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_is_prototype_of(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_property_is_enumerable(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_apply(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_call(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_bind(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_constructor_is_array(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_join_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_concat(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_pop(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_push(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_reverse(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_shift(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_slice(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_sort(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_splice(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_unshift(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_indexof_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_iter_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_reduce_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_constructor_from_char_code(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_char_at(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_char_code_at(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_concat(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_indexof_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_locale_compare(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_match(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_replace(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_search(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_slice(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_split(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_substring(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_caseconv_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_trim(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_substr(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_boolean_prototype_tostring_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_locale_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_value_of(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_fixed(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_exponential(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_precision(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_parse(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_utc(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_now(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_tostring_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_to_json(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_value_of(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_get_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_get_timezone_offset(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_set_time(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_set_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_exec(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_test(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_stack_getter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_stack_setter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_filename_getter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_filename_setter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_linenumber_getter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_linenumber_setter(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_to_string(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_onearg_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_twoarg_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_max(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_min(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_random(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_json_object_parse(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_json_object_stringify(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_info(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_act(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_gc(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_fin(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_enc(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_dec(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_compact(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_yield(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_resume(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_current(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_prototype_tostring_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_pointer_prototype_tostring_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_fmt(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_raw(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_log_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_arraybuffer_isview(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_slice_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_readfield(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_writefield(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_typedarray_set(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_concat(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_is_encoding(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_is_buffer(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_byte_length(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_compare_shared(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_tostring(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_tojson(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_fill(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_copy(duk_context *ctx); +DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_write(duk_context *ctx); #if !defined(DUK_SINGLE_FILE) DUK_INTERNAL_DECL const duk_c_function duk_bi_native_functions[149]; -DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[1955]; -#ifdef DUK_USE_BUILTIN_INITJS +#endif /* !DUK_SINGLE_FILE */ +#if defined(DUK_USE_BUILTIN_INITJS) +#if !defined(DUK_SINGLE_FILE) DUK_INTERNAL_DECL const duk_uint8_t duk_initjs_data[187]; -#endif /* DUK_USE_BUILTIN_INITJS */ #endif /* !DUK_SINGLE_FILE */ - -#define DUK_BUILTINS_DATA_LENGTH 1955 -#ifdef DUK_USE_BUILTIN_INITJS #define DUK_BUILTIN_INITJS_DATA_LENGTH 187 #endif /* DUK_USE_BUILTIN_INITJS */ - #define DUK_BIDX_GLOBAL 0 #define DUK_BIDX_GLOBAL_ENV 1 #define DUK_BIDX_OBJECT_CONSTRUCTOR 2 @@ -4398,14 +1704,30 @@ DUK_INTERNAL_DECL const duk_uint8_t duk_initjs_data[187]; #define DUK_BIDX_FLOAT64ARRAY_PROTOTYPE 68 #define DUK_BIDX_NODEJS_BUFFER_CONSTRUCTOR 69 #define DUK_BIDX_NODEJS_BUFFER_PROTOTYPE 70 - #define DUK_NUM_BUILTINS 71 - +#define DUK_NUM_BIDX_BUILTINS 71 +#define DUK_NUM_ALL_BUILTINS 71 +#if defined(DUK_USE_DOUBLE_LE) +#if !defined(DUK_SINGLE_FILE) +DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[3833]; +#endif /* !DUK_SINGLE_FILE */ +#define DUK_BUILTINS_DATA_LENGTH 3833 +#elif defined(DUK_USE_DOUBLE_BE) +#if !defined(DUK_SINGLE_FILE) +DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[3833]; +#endif /* !DUK_SINGLE_FILE */ +#define DUK_BUILTINS_DATA_LENGTH 3833 +#elif defined(DUK_USE_DOUBLE_ME) +#if !defined(DUK_SINGLE_FILE) +DUK_INTERNAL_DECL const duk_uint8_t duk_builtins_data[3833]; +#endif /* !DUK_SINGLE_FILE */ +#define DUK_BUILTINS_DATA_LENGTH 3833 #else #error invalid endianness defines #endif +#endif /* DUK_USE_ROM_OBJECTS */ #endif /* DUK_BUILTINS_H_INCLUDED */ -#line 51 "duk_internal.h" +#line 52 "duk_internal.h" #line 1 "duk_util.h" /* @@ -4926,12 +2248,12 @@ DUK_INTERNAL_DECL duk_uint8_t *duk_bw_insert_ensure_area(duk_hthread *thr, duk_b DUK_INTERNAL_DECL void duk_bw_remove_raw_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t off, duk_size_t len); /* No duk_bw_remove_ensure_slice(), functionality would be identical. */ -DUK_INTERNAL_DECL DUK_INLINE duk_uint16_t duk_raw_read_u16_be(duk_uint8_t **p); -DUK_INTERNAL_DECL DUK_INLINE duk_uint32_t duk_raw_read_u32_be(duk_uint8_t **p); -DUK_INTERNAL_DECL DUK_INLINE duk_double_t duk_raw_read_double_be(duk_uint8_t **p); -DUK_INTERNAL_DECL DUK_INLINE void duk_raw_write_u16_be(duk_uint8_t **p, duk_uint16_t val); -DUK_INTERNAL_DECL DUK_INLINE void duk_raw_write_u32_be(duk_uint8_t **p, duk_uint32_t val); -DUK_INTERNAL_DECL DUK_INLINE void duk_raw_write_double_be(duk_uint8_t **p, duk_double_t val); +DUK_INTERNAL_DECL duk_uint16_t duk_raw_read_u16_be(duk_uint8_t **p); +DUK_INTERNAL_DECL duk_uint32_t duk_raw_read_u32_be(duk_uint8_t **p); +DUK_INTERNAL_DECL duk_double_t duk_raw_read_double_be(duk_uint8_t **p); +DUK_INTERNAL_DECL void duk_raw_write_u16_be(duk_uint8_t **p, duk_uint16_t val); +DUK_INTERNAL_DECL void duk_raw_write_u32_be(duk_uint8_t **p, duk_uint32_t val); +DUK_INTERNAL_DECL void duk_raw_write_double_be(duk_uint8_t **p, duk_double_t val); #if defined(DUK_USE_DEBUGGER_SUPPORT) /* For now only needed by the debugger. */ DUK_INTERNAL void duk_byteswap_bytes(duk_uint8_t *p, duk_small_uint_t len); @@ -5009,7 +2331,6 @@ DUK_INTERNAL_DECL const char *duk_str_not_configurable; #define DUK_STR_ALLOC_FAILED duk_str_alloc_failed #define DUK_STR_POP_TOO_MANY duk_str_pop_too_many #define DUK_STR_WRONG_BUFFER_TYPE duk_str_wrong_buffer_type -#define DUK_STR_FAILED_TO_EXTEND_VALSTACK duk_str_failed_to_extend_valstack #define DUK_STR_ENCODE_FAILED duk_str_encode_failed #define DUK_STR_DECODE_FAILED duk_str_decode_failed #define DUK_STR_NO_SOURCECODE duk_str_no_sourcecode @@ -5032,7 +2353,6 @@ DUK_INTERNAL_DECL const char *duk_str_sprintf_too_long; DUK_INTERNAL_DECL const char *duk_str_alloc_failed; DUK_INTERNAL_DECL const char *duk_str_pop_too_many; DUK_INTERNAL_DECL const char *duk_str_wrong_buffer_type; -DUK_INTERNAL_DECL const char *duk_str_failed_to_extend_valstack; DUK_INTERNAL_DECL const char *duk_str_encode_failed; DUK_INTERNAL_DECL const char *duk_str_decode_failed; DUK_INTERNAL_DECL const char *duk_str_no_sourcecode; @@ -5057,7 +2377,6 @@ DUK_INTERNAL_DECL const char *duk_str_cyclic_input; #endif /* !DUK_SINGLE_FILE */ #define DUK_STR_PROXY_REVOKED duk_str_proxy_revoked -#define DUK_STR_OBJECT_RESIZE_FAILED duk_str_object_resize_failed #define DUK_STR_INVALID_BASE duk_str_invalid_base #define DUK_STR_STRICT_CALLER_READ duk_str_strict_caller_read #define DUK_STR_PROXY_REJECTED duk_str_proxy_rejected @@ -5071,7 +2390,6 @@ DUK_INTERNAL_DECL const char *duk_str_cyclic_input; #if !defined(DUK_SINGLE_FILE) DUK_INTERNAL_DECL const char *duk_str_proxy_revoked; -DUK_INTERNAL_DECL const char *duk_str_object_resize_failed; DUK_INTERNAL_DECL const char *duk_str_invalid_base; DUK_INTERNAL_DECL const char *duk_str_strict_caller_read; DUK_INTERNAL_DECL const char *duk_str_proxy_rejected; @@ -5136,12 +2454,6 @@ DUK_INTERNAL_DECL const char *duk_str_invalid_getset_name; DUK_INTERNAL_DECL const char *duk_str_func_name_required; #endif /* !DUK_SINGLE_FILE */ -#define DUK_STR_INTERNAL_ERROR_EXEC_LONGJMP duk_str_internal_error_exec_longjmp - -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const char *duk_str_internal_error_exec_longjmp; -#endif /* !DUK_SINGLE_FILE */ - #define DUK_STR_INVALID_QUANTIFIER_NO_ATOM duk_str_invalid_quantifier_no_atom #define DUK_STR_INVALID_QUANTIFIER_VALUES duk_str_invalid_quantifier_values #define DUK_STR_QUANTIFIER_TOO_MANY_COPIES duk_str_quantifier_too_many_copies @@ -5150,9 +2462,6 @@ DUK_INTERNAL_DECL const char *duk_str_internal_error_exec_longjmp; #define DUK_STR_UNEXPECTED_REGEXP_TOKEN duk_str_unexpected_regexp_token #define DUK_STR_INVALID_REGEXP_FLAGS duk_str_invalid_regexp_flags #define DUK_STR_INVALID_BACKREFS duk_str_invalid_backrefs -#define DUK_STR_REGEXP_BACKTRACK_FAILED duk_str_regexp_backtrack_failed -#define DUK_STR_REGEXP_ADVANCE_FAILED duk_str_regexp_advance_failed -#define DUK_STR_REGEXP_INTERNAL_ERROR duk_str_regexp_internal_error #if !defined(DUK_SINGLE_FILE) DUK_INTERNAL_DECL const char *duk_str_invalid_quantifier_no_atom; @@ -5163,15 +2472,11 @@ DUK_INTERNAL_DECL const char *duk_str_unexpected_end_of_pattern; DUK_INTERNAL_DECL const char *duk_str_unexpected_regexp_token; DUK_INTERNAL_DECL const char *duk_str_invalid_regexp_flags; DUK_INTERNAL_DECL const char *duk_str_invalid_backrefs; -DUK_INTERNAL_DECL const char *duk_str_regexp_backtrack_failed; -DUK_INTERNAL_DECL const char *duk_str_regexp_advance_failed; -DUK_INTERNAL_DECL const char *duk_str_regexp_internal_error; #endif /* !DUK_SINGLE_FILE */ #define DUK_STR_VALSTACK_LIMIT duk_str_valstack_limit #define DUK_STR_CALLSTACK_LIMIT duk_str_callstack_limit #define DUK_STR_CATCHSTACK_LIMIT duk_str_catchstack_limit -#define DUK_STR_OBJECT_PROPERTY_LIMIT duk_str_object_property_limit #define DUK_STR_PROTOTYPE_CHAIN_LIMIT duk_str_prototype_chain_limit #define DUK_STR_BOUND_CHAIN_LIMIT duk_str_bound_chain_limit #define DUK_STR_C_CALLSTACK_LIMIT duk_str_c_callstack_limit @@ -5189,7 +2494,6 @@ DUK_INTERNAL_DECL const char *duk_str_regexp_internal_error; DUK_INTERNAL_DECL const char *duk_str_valstack_limit; DUK_INTERNAL_DECL const char *duk_str_callstack_limit; DUK_INTERNAL_DECL const char *duk_str_catchstack_limit; -DUK_INTERNAL_DECL const char *duk_str_object_property_limit; DUK_INTERNAL_DECL const char *duk_str_prototype_chain_limit; DUK_INTERNAL_DECL const char *duk_str_bound_chain_limit; DUK_INTERNAL_DECL const char *duk_str_c_callstack_limit; @@ -5204,12 +2508,8 @@ DUK_INTERNAL_DECL const char *duk_str_regexp_executor_recursion_limit; DUK_INTERNAL_DECL const char *duk_str_regexp_executor_step_limit; #endif /* !DUK_SINGLE_FILE */ -#define DUK_STR_ANON duk_str_anon -#define DUK_STR_REALLOC_FAILED duk_str_realloc_failed - #if !defined(DUK_SINGLE_FILE) DUK_INTERNAL_DECL const char *duk_str_anon; -DUK_INTERNAL_DECL const char *duk_str_realloc_failed; #endif /* !DUK_SINGLE_FILE */ #endif /* DUK_ERRMSG_H_INCLUDED */ @@ -6163,516 +3463,6 @@ DUK_INTERNAL_DECL void duk_regexp_match(duk_hthread *thr); DUK_INTERNAL_DECL void duk_regexp_match_force_global(duk_hthread *thr); /* hacky helper for String.prototype.split() */ #endif /* DUK_REGEXP_H_INCLUDED */ -#line 1 "duk_tval.h" -/* - * Tagged type definition (duk_tval) and accessor macros. - * - * Access all fields through the accessor macros, as the representation - * is quite tricky. - * - * There are two packed type alternatives: an 8-byte representation - * based on an IEEE double (preferred for compactness), and a 12-byte - * representation (portability). The latter is needed also in e.g. - * 64-bit environments (it usually pads to 16 bytes per value). - * - * Selecting the tagged type format involves many trade-offs (memory - * use, size and performance of generated code, portability, etc), - * see doc/types.rst for a detailed discussion (especially of how the - * IEEE double format is used to pack tagged values). - * - * NB: because macro arguments are often expressions, macros should - * avoid evaluating their argument more than once. - */ - -#ifndef DUK_TVAL_H_INCLUDED -#define DUK_TVAL_H_INCLUDED - -/* sanity */ -#if !defined(DUK_USE_DOUBLE_LE) && !defined(DUK_USE_DOUBLE_ME) && !defined(DUK_USE_DOUBLE_BE) -#error unsupported: cannot determine byte order variant -#endif - -#ifdef DUK_USE_PACKED_TVAL -/* ======================================================================== */ - -/* - * Packed 8-byte representation - */ - -/* use duk_double_union as duk_tval directly */ -typedef union duk_double_union duk_tval; - -/* tags */ -#define DUK_TAG_NORMALIZED_NAN 0x7ff8UL /* the NaN variant we use */ -/* avoid tag 0xfff0, no risk of confusion with negative infinity */ -#if defined(DUK_USE_FASTINT) -#define DUK_TAG_FASTINT 0xfff1UL /* embed: integer value */ -#endif -#define DUK_TAG_UNUSED 0xfff2UL /* marker; not actual tagged value */ -#define DUK_TAG_UNDEFINED 0xfff3UL /* embed: nothing */ -#define DUK_TAG_NULL 0xfff4UL /* embed: nothing */ -#define DUK_TAG_BOOLEAN 0xfff5UL /* embed: 0 or 1 (false or true) */ -/* DUK_TAG_NUMBER would logically go here, but it has multiple 'tags' */ -#define DUK_TAG_POINTER 0xfff6UL /* embed: void ptr */ -#define DUK_TAG_LIGHTFUNC 0xfff7UL /* embed: func ptr */ -#define DUK_TAG_STRING 0xfff8UL /* embed: duk_hstring ptr */ -#define DUK_TAG_OBJECT 0xfff9UL /* embed: duk_hobject ptr */ -#define DUK_TAG_BUFFER 0xfffaUL /* embed: duk_hbuffer ptr */ - -/* for convenience */ -#define DUK_XTAG_BOOLEAN_FALSE 0xfff50000UL -#define DUK_XTAG_BOOLEAN_TRUE 0xfff50001UL - -/* two casts to avoid gcc warning: "warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]" */ -#ifdef DUK_USE_64BIT_OPS -#ifdef DUK_USE_DOUBLE_ME -#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) (tag)) << 16) | (((duk_uint64_t) (duk_uint32_t) (h)) << 32); \ - } while (0) -#else -#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) (tag)) << 48) | ((duk_uint64_t) (duk_uint32_t) (h)); \ - } while (0) -#endif -#else /* DUK_USE_64BIT_OPS */ -#define DUK__TVAL_SET_TAGGEDPOINTER(v,h,tag) do { \ - (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) (tag)) << 16; \ - (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (h); \ - } while (0) -#endif /* DUK_USE_64BIT_OPS */ - -#ifdef DUK_USE_64BIT_OPS -/* Double casting for pointer to avoid gcc warning (cast from pointer to integer of different size) */ -#ifdef DUK_USE_DOUBLE_ME -#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_LIGHTFUNC) << 16) | \ - ((duk_uint64_t) (flags)) | \ - (((duk_uint64_t) (duk_uint32_t) (fp)) << 32); \ - } while (0) -#else -#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_LIGHTFUNC) << 48) | \ - (((duk_uint64_t) (flags)) << 32) | \ - ((duk_uint64_t) (duk_uint32_t) (fp)); \ - } while (0) -#endif -#else /* DUK_USE_64BIT_OPS */ -#define DUK__TVAL_SET_LIGHTFUNC(v,fp,flags) do { \ - (v)->ui[DUK_DBL_IDX_UI0] = (((duk_uint32_t) DUK_TAG_LIGHTFUNC) << 16) | ((duk_uint32_t) (flags)); \ - (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (fp); \ - } while (0) -#endif /* DUK_USE_64BIT_OPS */ - -#if defined(DUK_USE_FASTINT) -/* Note: masking is done for 'i' to deal with negative numbers correctly */ -#ifdef DUK_USE_DOUBLE_ME -#define DUK__TVAL_SET_FASTINT(v,i) do { \ - (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) DUK_TAG_FASTINT) << 16 | (((duk_uint32_t) ((i) >> 32)) & 0x0000ffffUL); \ - (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (i); \ - } while (0) -#define DUK__TVAL_SET_FASTINT_U32(v,i) do { \ - (v)->ui[DUK_DBL_IDX_UI0] = ((duk_uint32_t) DUK_TAG_FASTINT) << 16; \ - (v)->ui[DUK_DBL_IDX_UI1] = (duk_uint32_t) (i); \ - } while (0) -#else -#define DUK__TVAL_SET_FASTINT(v,i) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_FASTINT) << 48) | (((duk_uint64_t) (i)) & 0x0000ffffffffffffULL); \ - } while (0) -#define DUK__TVAL_SET_FASTINT_U32(v,i) do { \ - (v)->ull[DUK_DBL_IDX_ULL0] = (((duk_uint64_t) DUK_TAG_FASTINT) << 48) | (duk_uint64_t) (i); \ - } while (0) -#endif - -#define DUK__TVAL_SET_FASTINT_I32(v,i) do { \ - duk_int64_t duk__tmp = (duk_int64_t) (i); \ - DUK_TVAL_SET_FASTINT((v), duk__tmp); \ - } while (0) - -/* XXX: clumsy sign extend and masking of 16 topmost bits */ -#ifdef DUK_USE_DOUBLE_ME -#define DUK__TVAL_GET_FASTINT(v) (((duk_int64_t) ((((duk_uint64_t) (v)->ui[DUK_DBL_IDX_UI0]) << 32) | ((duk_uint64_t) (v)->ui[DUK_DBL_IDX_UI1]))) << 16 >> 16) -#else -#define DUK__TVAL_GET_FASTINT(v) ((((duk_int64_t) (v)->ull[DUK_DBL_IDX_ULL0]) << 16) >> 16) -#endif -#define DUK__TVAL_GET_FASTINT_U32(v) ((v)->ui[DUK_DBL_IDX_UI1]) -#define DUK__TVAL_GET_FASTINT_I32(v) ((duk_int32_t) (v)->ui[DUK_DBL_IDX_UI1]) -#endif /* DUK_USE_FASTINT */ - -#define DUK_TVAL_SET_UNDEFINED(v) do { \ - (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_UNDEFINED; \ - } while (0) -#define DUK_TVAL_SET_UNUSED(v) do { \ - (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_UNUSED; \ - } while (0) -#define DUK_TVAL_SET_NULL(v) do { \ - (v)->us[DUK_DBL_IDX_US0] = (duk_uint16_t) DUK_TAG_NULL; \ - } while (0) - -#define DUK_TVAL_SET_BOOLEAN(v,val) DUK_DBLUNION_SET_HIGH32((v), (((duk_uint32_t) DUK_TAG_BOOLEAN) << 16) | ((duk_uint32_t) (val))) - -#define DUK_TVAL_SET_NAN(v) DUK_DBLUNION_SET_NAN_FULL((v)) - -/* Assumes that caller has normalized NaNs, otherwise trouble ahead. */ -#if defined(DUK_USE_FASTINT) -#define DUK_TVAL_SET_DOUBLE(v,d) do { \ - duk_double_t duk__dblval; \ - duk__dblval = (d); \ - DUK_ASSERT_DOUBLE_IS_NORMALIZED(duk__dblval); \ - DUK_DBLUNION_SET_DOUBLE((v), duk__dblval); \ - } while (0) -#define DUK_TVAL_SET_FASTINT(v,i) DUK__TVAL_SET_FASTINT((v), (i)) -#define DUK_TVAL_SET_FASTINT_I32(v,i) DUK__TVAL_SET_FASTINT_I32((v), (i)) -#define DUK_TVAL_SET_FASTINT_U32(v,i) DUK__TVAL_SET_FASTINT_U32((v), (i)) -#define DUK_TVAL_SET_NUMBER_CHKFAST(v,d) duk_tval_set_number_chkfast((v), (d)) -#define DUK_TVAL_SET_NUMBER(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) -#define DUK_TVAL_CHKFAST_INPLACE(v) do { \ - duk_tval *duk__tv; \ - duk_double_t duk__d; \ - duk__tv = (v); \ - if (DUK_TVAL_IS_DOUBLE(duk__tv)) { \ - duk__d = DUK_TVAL_GET_DOUBLE(duk__tv); \ - DUK_TVAL_SET_NUMBER_CHKFAST(duk__tv, duk__d); \ - } \ - } while (0) -#else -#define DUK_TVAL_SET_DOUBLE(v,d) do { \ - duk_double_t duk__dblval; \ - duk__dblval = (d); \ - DUK_ASSERT_DOUBLE_IS_NORMALIZED(duk__dblval); \ - DUK_DBLUNION_SET_DOUBLE((v), duk__dblval); \ - } while (0) -#define DUK_TVAL_SET_NUMBER_CHKFAST(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) -#define DUK_TVAL_SET_NUMBER(v,d) DUK_TVAL_SET_DOUBLE((v), (d)) -#define DUK_TVAL_CHKFAST_INPLACE(v) do { } while (0) -#endif - -#define DUK_TVAL_SET_LIGHTFUNC(v,fp,flags) DUK__TVAL_SET_LIGHTFUNC((v), (fp), (flags)) -#define DUK_TVAL_SET_STRING(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_STRING) -#define DUK_TVAL_SET_OBJECT(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_OBJECT) -#define DUK_TVAL_SET_BUFFER(v,h) DUK__TVAL_SET_TAGGEDPOINTER((v), (h), DUK_TAG_BUFFER) -#define DUK_TVAL_SET_POINTER(v,p) DUK__TVAL_SET_TAGGEDPOINTER((v), (p), DUK_TAG_POINTER) - -#define DUK_TVAL_SET_TVAL(v,x) do { *(v) = *(x); } while (0) - -/* getters */ -#define DUK_TVAL_GET_BOOLEAN(v) ((int) (v)->us[DUK_DBL_IDX_US1]) -#if defined(DUK_USE_FASTINT) -#define DUK_TVAL_GET_DOUBLE(v) ((v)->d) -#define DUK_TVAL_GET_FASTINT(v) DUK__TVAL_GET_FASTINT((v)) -#define DUK_TVAL_GET_FASTINT_U32(v) DUK__TVAL_GET_FASTINT_U32((v)) -#define DUK_TVAL_GET_FASTINT_I32(v) DUK__TVAL_GET_FASTINT_I32((v)) -#define DUK_TVAL_GET_NUMBER(v) duk_tval_get_number_packed((v)) -#else -#define DUK_TVAL_GET_NUMBER(v) ((v)->d) -#define DUK_TVAL_GET_DOUBLE(v) ((v)->d) -#endif -#define DUK_TVAL_GET_LIGHTFUNC(v,out_fp,out_flags) do { \ - (out_flags) = (v)->ui[DUK_DBL_IDX_UI0] & 0xffffUL; \ - (out_fp) = (duk_c_function) (v)->ui[DUK_DBL_IDX_UI1]; \ - } while (0) -#define DUK_TVAL_GET_LIGHTFUNC_FUNCPTR(v) ((duk_c_function) ((v)->ui[DUK_DBL_IDX_UI1])) -#define DUK_TVAL_GET_LIGHTFUNC_FLAGS(v) (((int) (v)->ui[DUK_DBL_IDX_UI0]) & 0xffffUL) -#define DUK_TVAL_GET_STRING(v) ((duk_hstring *) (v)->vp[DUK_DBL_IDX_VP1]) -#define DUK_TVAL_GET_OBJECT(v) ((duk_hobject *) (v)->vp[DUK_DBL_IDX_VP1]) -#define DUK_TVAL_GET_BUFFER(v) ((duk_hbuffer *) (v)->vp[DUK_DBL_IDX_VP1]) -#define DUK_TVAL_GET_POINTER(v) ((void *) (v)->vp[DUK_DBL_IDX_VP1]) -#define DUK_TVAL_GET_HEAPHDR(v) ((duk_heaphdr *) (v)->vp[DUK_DBL_IDX_VP1]) - -/* decoding */ -#define DUK_TVAL_GET_TAG(v) ((duk_small_uint_t) (v)->us[DUK_DBL_IDX_US0]) - -#define DUK_TVAL_IS_UNDEFINED(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_UNDEFINED) -#define DUK_TVAL_IS_UNUSED(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_UNUSED) -#define DUK_TVAL_IS_NULL(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_NULL) -#define DUK_TVAL_IS_BOOLEAN(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_BOOLEAN) -#define DUK_TVAL_IS_BOOLEAN_TRUE(v) ((v)->ui[DUK_DBL_IDX_UI0] == DUK_XTAG_BOOLEAN_TRUE) -#define DUK_TVAL_IS_BOOLEAN_FALSE(v) ((v)->ui[DUK_DBL_IDX_UI0] == DUK_XTAG_BOOLEAN_FALSE) -#define DUK_TVAL_IS_LIGHTFUNC(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_LIGHTFUNC) -#define DUK_TVAL_IS_STRING(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_STRING) -#define DUK_TVAL_IS_OBJECT(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_OBJECT) -#define DUK_TVAL_IS_BUFFER(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_BUFFER) -#define DUK_TVAL_IS_POINTER(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_POINTER) -#if defined(DUK_USE_FASTINT) -/* 0xfff0 is -Infinity */ -#define DUK_TVAL_IS_DOUBLE(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff0UL) -#define DUK_TVAL_IS_FASTINT(v) (DUK_TVAL_GET_TAG((v)) == DUK_TAG_FASTINT) -#define DUK_TVAL_IS_NUMBER(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff1UL) -#else -#define DUK_TVAL_IS_NUMBER(v) (DUK_TVAL_GET_TAG((v)) <= 0xfff0UL) -#define DUK_TVAL_IS_DOUBLE(v) DUK_TVAL_IS_NUMBER((v)) -#endif - -/* This is performance critical because it appears in every DECREF. */ -#define DUK_TVAL_IS_HEAP_ALLOCATED(v) (DUK_TVAL_GET_TAG((v)) >= DUK_TAG_STRING) - -#if defined(DUK_USE_FASTINT) -DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_packed(duk_tval *tv); -#endif - -#else /* DUK_USE_PACKED_TVAL */ -/* ======================================================================== */ - -/* - * Portable 12-byte representation - */ - -/* Note: not initializing all bytes is normally not an issue: Duktape won't - * read or use the uninitialized bytes so valgrind won't issue warnings. - * In some special cases a harmless valgrind warning may be issued though. - * For example, the DumpHeap debugger command writes out a compiled function's - * 'data' area as is, including any uninitialized bytes, which causes a - * valgrind warning. - */ - -typedef struct duk_tval_struct duk_tval; - -struct duk_tval_struct { - duk_small_uint_t t; - duk_small_uint_t v_extra; - union { - duk_double_t d; - duk_small_int_t i; -#if defined(DUK_USE_FASTINT) - duk_int64_t fi; /* if present, forces 16-byte duk_tval */ -#endif - void *voidptr; - duk_hstring *hstring; - duk_hobject *hobject; - duk_hcompiledfunction *hcompiledfunction; - duk_hnativefunction *hnativefunction; - duk_hthread *hthread; - duk_hbuffer *hbuffer; - duk_heaphdr *heaphdr; - duk_c_function lightfunc; - } v; -}; - -#define DUK__TAG_NUMBER 0 /* not exposed */ -#if defined(DUK_USE_FASTINT) -#define DUK_TAG_FASTINT 1 -#endif -#define DUK_TAG_UNDEFINED 2 -#define DUK_TAG_NULL 3 -#define DUK_TAG_BOOLEAN 4 -#define DUK_TAG_POINTER 5 -#define DUK_TAG_LIGHTFUNC 6 -#define DUK_TAG_UNUSED 7 /* marker; not actual tagged type */ -#define DUK_TAG_STRING 8 /* first heap allocated, match bit boundary */ -#define DUK_TAG_OBJECT 9 -#define DUK_TAG_BUFFER 10 - -/* DUK__TAG_NUMBER is intentionally first, as it is the default clause in code - * to support the 8-byte representation. Further, it is a non-heap-allocated - * type so it should come before DUK_TAG_STRING. Finally, it should not break - * the tag value ranges covered by case-clauses in a switch-case. - */ - -/* setters */ -#define DUK_TVAL_SET_UNDEFINED(tv) do { \ - (tv)->t = DUK_TAG_UNDEFINED; \ - } while (0) - -#define DUK_TVAL_SET_UNUSED(tv) do { \ - (tv)->t = DUK_TAG_UNUSED; \ - } while (0) - -#define DUK_TVAL_SET_NULL(tv) do { \ - (tv)->t = DUK_TAG_NULL; \ - } while (0) - -#define DUK_TVAL_SET_BOOLEAN(tv,val) do { \ - (tv)->t = DUK_TAG_BOOLEAN; \ - (tv)->v.i = (val); \ - } while (0) - -#if defined(DUK_USE_FASTINT) -#define DUK_TVAL_SET_DOUBLE(tv,val) do { \ - (tv)->t = DUK__TAG_NUMBER; \ - (tv)->v.d = (val); \ - } while (0) -#define DUK_TVAL_SET_FASTINT(tv,val) do { \ - (tv)->t = DUK_TAG_FASTINT; \ - (tv)->v.fi = (val); \ - } while (0) -#define DUK_TVAL_SET_FASTINT_U32(tv,val) do { \ - (tv)->t = DUK_TAG_FASTINT; \ - (tv)->v.fi = (duk_int64_t) (val); \ - } while (0) -#define DUK_TVAL_SET_FASTINT_I32(tv,val) do { \ - (tv)->t = DUK_TAG_FASTINT; \ - (tv)->v.fi = (duk_int64_t) (val); \ - } while (0) -#define DUK_TVAL_SET_NUMBER_CHKFAST(tv,d) \ - duk_tval_set_number_chkfast((tv), (d)) -#define DUK_TVAL_SET_NUMBER(tv,val) \ - DUK_TVAL_SET_DOUBLE((tv), (val)) -#define DUK_TVAL_CHKFAST_INPLACE(v) do { \ - duk_tval *duk__tv; \ - duk_double_t duk__d; \ - duk__tv = (v); \ - if (DUK_TVAL_IS_DOUBLE(duk__tv)) { \ - duk__d = DUK_TVAL_GET_DOUBLE(duk__tv); \ - DUK_TVAL_SET_NUMBER_CHKFAST(duk__tv, duk__d); \ - } \ - } while (0) -#else -#define DUK_TVAL_SET_NUMBER(tv,val) do { \ - (tv)->t = DUK__TAG_NUMBER; \ - (tv)->v.d = (val); \ - } while (0) -#define DUK_TVAL_SET_NUMBER_CHKFAST(tv,d) \ - DUK_TVAL_SET_NUMBER((tv), (d)) -#define DUK_TVAL_SET_DOUBLE(v,d) \ - DUK_TVAL_SET_NUMBER((tv), (d)) -#define DUK_TVAL_CHKFAST_INPLACE(v) do { } while (0) -#endif /* DUK_USE_FASTINT */ - -#define DUK_TVAL_SET_POINTER(tv,hptr) do { \ - (tv)->t = DUK_TAG_POINTER; \ - (tv)->v.voidptr = (hptr); \ - } while (0) - -#define DUK_TVAL_SET_LIGHTFUNC(tv,fp,flags) do { \ - (tv)->t = DUK_TAG_LIGHTFUNC; \ - (tv)->v_extra = (flags); \ - (tv)->v.lightfunc = (duk_c_function) (fp); \ - } while (0) - -#define DUK_TVAL_SET_STRING(tv,hptr) do { \ - (tv)->t = DUK_TAG_STRING; \ - (tv)->v.hstring = (hptr); \ - } while (0) - -#define DUK_TVAL_SET_OBJECT(tv,hptr) do { \ - (tv)->t = DUK_TAG_OBJECT; \ - (tv)->v.hobject = (hptr); \ - } while (0) - -#define DUK_TVAL_SET_BUFFER(tv,hptr) do { \ - (tv)->t = DUK_TAG_BUFFER; \ - (tv)->v.hbuffer = (hptr); \ - } while (0) - -#define DUK_TVAL_SET_NAN(tv) do { \ - /* in non-packed representation we don't care about which NaN is used */ \ - (tv)->t = DUK__TAG_NUMBER; \ - (tv)->v.d = DUK_DOUBLE_NAN; \ - } while (0) - -#define DUK_TVAL_SET_TVAL(v,x) do { *(v) = *(x); } while (0) - -/* getters */ -#define DUK_TVAL_GET_BOOLEAN(tv) ((tv)->v.i) -#if defined(DUK_USE_FASTINT) -#define DUK_TVAL_GET_DOUBLE(tv) ((tv)->v.d) -#define DUK_TVAL_GET_FASTINT(tv) ((tv)->v.fi) -#define DUK_TVAL_GET_FASTINT_U32(tv) ((duk_uint32_t) ((tv)->v.fi)) -#define DUK_TVAL_GET_FASTINT_I32(tv) ((duk_int32_t) ((tv)->v.fi)) -#if 0 -#define DUK_TVAL_GET_NUMBER(tv) (DUK_TVAL_IS_FASTINT((tv)) ? \ - (duk_double_t) DUK_TVAL_GET_FASTINT((tv)) : \ - DUK_TVAL_GET_DOUBLE((tv))) -#define DUK_TVAL_GET_NUMBER(tv) duk_tval_get_number_unpacked((tv)) -#else -/* This seems reasonable overall. */ -#define DUK_TVAL_GET_NUMBER(tv) (DUK_TVAL_IS_FASTINT((tv)) ? \ - duk_tval_get_number_unpacked_fastint((tv)) : \ - DUK_TVAL_GET_DOUBLE((tv))) -#endif -#else -#define DUK_TVAL_GET_NUMBER(tv) ((tv)->v.d) -#define DUK_TVAL_GET_DOUBLE(tv) ((tv)->v.d) -#endif /* DUK_USE_FASTINT */ -#define DUK_TVAL_GET_POINTER(tv) ((tv)->v.voidptr) -#define DUK_TVAL_GET_LIGHTFUNC(tv,out_fp,out_flags) do { \ - (out_flags) = (duk_uint32_t) (tv)->v_extra; \ - (out_fp) = (tv)->v.lightfunc; \ - } while (0) -#define DUK_TVAL_GET_LIGHTFUNC_FUNCPTR(tv) ((tv)->v.lightfunc) -#define DUK_TVAL_GET_LIGHTFUNC_FLAGS(tv) ((duk_uint32_t) ((tv)->v_extra)) -#define DUK_TVAL_GET_STRING(tv) ((tv)->v.hstring) -#define DUK_TVAL_GET_OBJECT(tv) ((tv)->v.hobject) -#define DUK_TVAL_GET_BUFFER(tv) ((tv)->v.hbuffer) -#define DUK_TVAL_GET_HEAPHDR(tv) ((tv)->v.heaphdr) - -/* decoding */ -#define DUK_TVAL_GET_TAG(tv) ((tv)->t) -#define DUK_TVAL_IS_UNDEFINED(tv) ((tv)->t == DUK_TAG_UNDEFINED) -#define DUK_TVAL_IS_UNUSED(tv) ((tv)->t == DUK_TAG_UNUSED) -#define DUK_TVAL_IS_NULL(tv) ((tv)->t == DUK_TAG_NULL) -#define DUK_TVAL_IS_BOOLEAN(tv) ((tv)->t == DUK_TAG_BOOLEAN) -#define DUK_TVAL_IS_BOOLEAN_TRUE(tv) (((tv)->t == DUK_TAG_BOOLEAN) && ((tv)->v.i != 0)) -#define DUK_TVAL_IS_BOOLEAN_FALSE(tv) (((tv)->t == DUK_TAG_BOOLEAN) && ((tv)->v.i == 0)) -#if defined(DUK_USE_FASTINT) -#define DUK_TVAL_IS_DOUBLE(tv) ((tv)->t == DUK__TAG_NUMBER) -#define DUK_TVAL_IS_FASTINT(tv) ((tv)->t == DUK_TAG_FASTINT) -#define DUK_TVAL_IS_NUMBER(tv) ((tv)->t == DUK__TAG_NUMBER || \ - (tv)->t == DUK_TAG_FASTINT) -#else -#define DUK_TVAL_IS_NUMBER(tv) ((tv)->t == DUK__TAG_NUMBER) -#define DUK_TVAL_IS_DOUBLE(v) DUK_TVAL_IS_NUMBER((v)) -#endif /* DUK_USE_FASTINT */ -#define DUK_TVAL_IS_POINTER(tv) ((tv)->t == DUK_TAG_POINTER) -#define DUK_TVAL_IS_LIGHTFUNC(tv) ((tv)->t == DUK_TAG_LIGHTFUNC) -#define DUK_TVAL_IS_STRING(tv) ((tv)->t == DUK_TAG_STRING) -#define DUK_TVAL_IS_OBJECT(tv) ((tv)->t == DUK_TAG_OBJECT) -#define DUK_TVAL_IS_BUFFER(tv) ((tv)->t == DUK_TAG_BUFFER) - -/* This is performance critical because it's needed for every DECREF. - * Take advantage of the fact that the first heap allocated tag is 8, - * so that bit 3 is set for all heap allocated tags (and never set for - * non-heap-allocated tags). - */ -#if 0 -#define DUK_TVAL_IS_HEAP_ALLOCATED(tv) ((tv)->t >= DUK_TAG_STRING) -#endif -#define DUK_TVAL_IS_HEAP_ALLOCATED(tv) ((tv)->t & 0x08) - -#if defined(DUK_USE_FASTINT) -#if 0 -DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked(duk_tval *tv); -#endif -DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked_fastint(duk_tval *tv); -#endif - -#endif /* DUK_USE_PACKED_TVAL */ - -/* - * Convenience (independent of representation) - */ - -#define DUK_TVAL_SET_BOOLEAN_TRUE(v) DUK_TVAL_SET_BOOLEAN(v, 1) -#define DUK_TVAL_SET_BOOLEAN_FALSE(v) DUK_TVAL_SET_BOOLEAN(v, 0) - -/* Lightfunc flags packing and unpacking. */ -/* Sign extend: 0x0000##00 -> 0x##000000 -> sign extend to 0xssssss## */ -#define DUK_LFUNC_FLAGS_GET_MAGIC(lf_flags) \ - ((((duk_int32_t) (lf_flags)) << 16) >> 24) -#define DUK_LFUNC_FLAGS_GET_LENGTH(lf_flags) \ - (((lf_flags) >> 4) & 0x0f) -#define DUK_LFUNC_FLAGS_GET_NARGS(lf_flags) \ - ((lf_flags) & 0x0f) -#define DUK_LFUNC_FLAGS_PACK(magic,length,nargs) \ - (((magic) & 0xff) << 8) | ((length) << 4) | (nargs) - -#define DUK_LFUNC_NARGS_VARARGS 0x0f /* varargs marker */ -#define DUK_LFUNC_NARGS_MIN 0x00 -#define DUK_LFUNC_NARGS_MAX 0x0e /* max, excl. varargs marker */ -#define DUK_LFUNC_LENGTH_MIN 0x00 -#define DUK_LFUNC_LENGTH_MAX 0x0f -#define DUK_LFUNC_MAGIC_MIN (-0x80) -#define DUK_LFUNC_MAGIC_MAX 0x7f - -/* fastint constants etc */ -#if defined(DUK_USE_FASTINT) -#define DUK_FASTINT_MIN (-0x800000000000LL) -#define DUK_FASTINT_MAX 0x7fffffffffffLL -#define DUK_FASTINT_BITS 48 - -DUK_INTERNAL_DECL void duk_tval_set_number_chkfast(duk_tval *tv, duk_double_t x); -#endif - -#endif /* DUK_TVAL_H_INCLUDED */ #line 1 "duk_heaphdr.h" /* * Heap header definition and assorted macros, including ref counting. @@ -6752,6 +3542,7 @@ struct duk_heaphdr_string { #if defined(DUK_USE_REFERENCE_COUNTING) #if defined(DUK_USE_REFCOUNT16) duk_uint16_t h_refcount16; + duk_uint16_t h_strextra16; /* round out to 8 bytes */ #else duk_size_t h_refcount; #endif @@ -6762,8 +3553,8 @@ struct duk_heaphdr_string { #define DUK_HEAPHDR_FLAGS_FLAG_MASK (~DUK_HEAPHDR_FLAGS_TYPE_MASK) /* 2 bits for heap type */ -#define DUK_HEAPHDR_FLAGS_HEAP_START 2 /* 4 heap flags */ -#define DUK_HEAPHDR_FLAGS_USER_START 6 /* 26 user flags */ +#define DUK_HEAPHDR_FLAGS_HEAP_START 2 /* 5 heap flags */ +#define DUK_HEAPHDR_FLAGS_USER_START 7 /* 25 user flags */ #define DUK_HEAPHDR_HEAP_FLAG_NUMBER(n) (DUK_HEAPHDR_FLAGS_HEAP_START + (n)) #define DUK_HEAPHDR_USER_FLAG_NUMBER(n) (DUK_HEAPHDR_FLAGS_USER_START + (n)) @@ -6774,6 +3565,7 @@ struct duk_heaphdr_string { #define DUK_HEAPHDR_FLAG_TEMPROOT DUK_HEAPHDR_HEAP_FLAG(1) /* mark-and-sweep: children not processed */ #define DUK_HEAPHDR_FLAG_FINALIZABLE DUK_HEAPHDR_HEAP_FLAG(2) /* mark-and-sweep: finalizable (on current pass) */ #define DUK_HEAPHDR_FLAG_FINALIZED DUK_HEAPHDR_HEAP_FLAG(3) /* mark-and-sweep: finalized (on previous pass) */ +#define DUK_HEAPHDR_FLAG_READONLY DUK_HEAPHDR_HEAP_FLAG(4) /* read-only object, in code section */ #define DUK_HTYPE_MIN 1 #define DUK_HTYPE_STRING 1 @@ -6884,6 +3676,10 @@ struct duk_heaphdr_string { #define DUK_HEAPHDR_CLEAR_FINALIZED(h) DUK_HEAPHDR_CLEAR_FLAG_BITS((h),DUK_HEAPHDR_FLAG_FINALIZED) #define DUK_HEAPHDR_HAS_FINALIZED(h) DUK_HEAPHDR_CHECK_FLAG_BITS((h),DUK_HEAPHDR_FLAG_FINALIZED) +#define DUK_HEAPHDR_SET_READONLY(h) DUK_HEAPHDR_SET_FLAG_BITS((h),DUK_HEAPHDR_FLAG_READONLY) +#define DUK_HEAPHDR_CLEAR_READONLY(h) DUK_HEAPHDR_CLEAR_FLAG_BITS((h),DUK_HEAPHDR_FLAG_READONLY) +#define DUK_HEAPHDR_HAS_READONLY(h) DUK_HEAPHDR_CHECK_FLAG_BITS((h),DUK_HEAPHDR_FLAG_READONLY) + /* get or set a range of flags; m=first bit number, n=number of bits */ #define DUK_HEAPHDR_GET_FLAG_RANGE(h,m,n) (((h)->h_flags >> (m)) & ((1UL << (n)) - 1UL)) @@ -6908,6 +3704,27 @@ struct duk_heaphdr_string { #define DUK_HEAPHDR_STRING_INIT_NULLS(h) /* currently nop */ /* + * Assert helpers + */ + +/* Check that prev/next links are consistent: if e.g. h->prev is != NULL, + * h->prev->next should point back to h. + */ +#if defined(DUK_USE_DOUBLE_LINKED_HEAP) && defined(DUK_USE_ASSERTIONS) +#define DUK_ASSERT_HEAPHDR_LINKS(heap,h) do { \ + if ((h) != NULL) { \ + duk_heaphdr *h__prev, *h__next; \ + h__prev = DUK_HEAPHDR_GET_PREV((heap), (h)); \ + h__next = DUK_HEAPHDR_GET_NEXT((heap), (h)); \ + DUK_ASSERT(h__prev == NULL || (DUK_HEAPHDR_GET_NEXT((heap), h__prev) == (h))); \ + DUK_ASSERT(h__next == NULL || (DUK_HEAPHDR_GET_PREV((heap), h__next) == (h))); \ + } \ + } while (0) +#else +#define DUK_ASSERT_HEAPHDR_LINKS(heap,h) do {} while (0) +#endif + +/* * Reference counting helper macros. The macros take a thread argument * and must thus always be executed in a specific thread context. The * thread argument is needed for features like finalization. Currently @@ -6920,6 +3737,20 @@ struct duk_heaphdr_string { #if defined(DUK_USE_REFERENCE_COUNTING) +#if defined(DUK_USE_ROM_OBJECTS) +/* With ROM objects "needs refcount update" is true when the value is + * heap allocated and is not a ROM object. + */ +/* XXX: double evaluation for 'tv' argument. */ +#define DUK_TVAL_NEEDS_REFCOUNT_UPDATE(tv) \ + (DUK_TVAL_IS_HEAP_ALLOCATED((tv)) && !DUK_HEAPHDR_HAS_READONLY(DUK_TVAL_GET_HEAPHDR((tv)))) +#define DUK_HEAPHDR_NEEDS_REFCOUNT_UPDATE(h) (!DUK_HEAPHDR_HAS_READONLY((h))) +#else /* DUK_USE_ROM_OBJECTS */ +/* Without ROM objects "needs refcount update" == is heap allocated. */ +#define DUK_TVAL_NEEDS_REFCOUNT_UPDATE(tv) DUK_TVAL_IS_HEAP_ALLOCATED((tv)) +#define DUK_HEAPHDR_NEEDS_REFCOUNT_UPDATE(h) 1 +#endif /* DUK_USE_ROM_OBJECTS */ + /* Fast variants, inline refcount operations except for refzero handling. * Can be used explicitly when speed is always more important than size. * For a good compiler and a single file build, these are basically the @@ -6928,7 +3759,7 @@ struct duk_heaphdr_string { #define DUK_TVAL_INCREF_FAST(thr,tv) do { \ duk_tval *duk__tv = (tv); \ DUK_ASSERT(duk__tv != NULL); \ - if (DUK_TVAL_IS_HEAP_ALLOCATED(duk__tv)) { \ + if (DUK_TVAL_NEEDS_REFCOUNT_UPDATE(duk__tv)) { \ duk_heaphdr *duk__h = DUK_TVAL_GET_HEAPHDR(duk__tv); \ DUK_ASSERT(duk__h != NULL); \ DUK_ASSERT(DUK_HEAPHDR_HTYPE_VALID(duk__h)); \ @@ -6938,7 +3769,7 @@ struct duk_heaphdr_string { #define DUK_TVAL_DECREF_FAST(thr,tv) do { \ duk_tval *duk__tv = (tv); \ DUK_ASSERT(duk__tv != NULL); \ - if (DUK_TVAL_IS_HEAP_ALLOCATED(duk__tv)) { \ + if (DUK_TVAL_NEEDS_REFCOUNT_UPDATE(duk__tv)) { \ duk_heaphdr *duk__h = DUK_TVAL_GET_HEAPHDR(duk__tv); \ DUK_ASSERT(duk__h != NULL); \ DUK_ASSERT(DUK_HEAPHDR_HTYPE_VALID(duk__h)); \ @@ -6952,15 +3783,19 @@ struct duk_heaphdr_string { duk_heaphdr *duk__h = (duk_heaphdr *) (h); \ DUK_ASSERT(duk__h != NULL); \ DUK_ASSERT(DUK_HEAPHDR_HTYPE_VALID(duk__h)); \ - DUK_HEAPHDR_PREINC_REFCOUNT(duk__h); \ + if (DUK_HEAPHDR_NEEDS_REFCOUNT_UPDATE(duk__h)) { \ + DUK_HEAPHDR_PREINC_REFCOUNT(duk__h); \ + } \ } while (0) #define DUK_HEAPHDR_DECREF_FAST(thr,h) do { \ duk_heaphdr *duk__h = (duk_heaphdr *) (h); \ DUK_ASSERT(duk__h != NULL); \ DUK_ASSERT(DUK_HEAPHDR_HTYPE_VALID(duk__h)); \ DUK_ASSERT(DUK_HEAPHDR_GET_REFCOUNT(duk__h) > 0); \ - if (DUK_HEAPHDR_PREDEC_REFCOUNT(duk__h) == 0) { \ - duk_heaphdr_refzero((thr), duk__h); \ + if (DUK_HEAPHDR_NEEDS_REFCOUNT_UPDATE(duk__h)) { \ + if (DUK_HEAPHDR_PREDEC_REFCOUNT(duk__h) == 0) { \ + duk_heaphdr_refzero((thr), duk__h); \ + } \ } \ } while (0) @@ -7103,6 +3938,9 @@ struct duk_heaphdr_string { DUK_TVAL_SET_FASTINT_U32(tv__dst, (newval)); \ DUK_TVAL_DECREF((thr), &tv__tmp); /* side effects */ \ } while (0) +#else +#define DUK_TVAL_SET_DOUBLE_CAST_UPDREF(thr,tvptr_dst,newval) \ + DUK_TVAL_SET_DOUBLE_UPDREF((thr), (tvptr_dst), (duk_double_t) (newval)) #endif /* DUK_USE_FASTINT */ #define DUK_TVAL_SET_LIGHTFUNC_UPDREF_ALT0(thr,tvptr_dst,lf_v,lf_fp,lf_flags) do { \ @@ -7167,7 +4005,7 @@ struct duk_heaphdr_string { duk_tval *tv__dst, *tv__src; duk_heaphdr *h__obj; \ tv__dst = (tvptr_dst); tv__src = (tvptr_src); \ DUK_TVAL_INCREF_FAST((thr), tv__src); \ - if (DUK_TVAL_IS_HEAP_ALLOCATED(tv__dst)) { \ + if (DUK_TVAL_NEEDS_REFCOUNT_UPDATE(tv__dst)) { \ h__obj = DUK_TVAL_GET_HEAPHDR(tv__dst); \ DUK_ASSERT(h__obj != NULL); \ DUK_TVAL_SET_TVAL(tv__dst, tv__src); \ @@ -7190,6 +4028,10 @@ struct duk_heaphdr_string { #define DUK_TVAL_SET_FASTINT_UPDREF DUK_TVAL_SET_FASTINT_UPDREF_ALT0 #define DUK_TVAL_SET_FASTINT_I32_UPDREF DUK_TVAL_SET_FASTINT_I32_UPDREF_ALT0 #define DUK_TVAL_SET_FASTINT_U32_UPDREF DUK_TVAL_SET_FASTINT_U32_UPDREF_ALT0 +#else +#define DUK_TVAL_SET_FASTINT_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF /* XXX: fast int-to-double */ +#define DUK_TVAL_SET_FASTINT_I32_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF +#define DUK_TVAL_SET_FASTINT_U32_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF #endif /* DUK_USE_FASTINT */ #define DUK_TVAL_SET_LIGHTFUNC_UPDREF DUK_TVAL_SET_LIGHTFUNC_UPDREF_ALT0 #define DUK_TVAL_SET_STRING_UPDREF DUK_TVAL_SET_STRING_UPDREF_ALT0 @@ -7300,6 +4142,9 @@ struct duk_heaphdr_string { DUK_TVAL_SET_FASTINT_U32(tv__dst, (newval)); \ DUK_UNREF((thr)); \ } while (0) +#else +#define DUK_TVAL_SET_DOUBLE_CAST_UPDREF(thr,tvptr_dst,newval) \ + DUK_TVAL_SET_DOUBLE_UPDREF((thr), (tvptr_dst), (duk_double_t) (newval)) #endif /* DUK_USE_FASTINT */ #define DUK_TVAL_SET_LIGHTFUNC_UPDREF_ALT0(thr,tvptr_dst,lf_v,lf_fp,lf_flags) do { \ @@ -7351,6 +4196,10 @@ struct duk_heaphdr_string { #define DUK_TVAL_SET_FASTINT_UPDREF DUK_TVAL_SET_FASTINT_UPDREF_ALT0 #define DUK_TVAL_SET_FASTINT_I32_UPDREF DUK_TVAL_SET_FASTINT_I32_UPDREF_ALT0 #define DUK_TVAL_SET_FASTINT_U32_UPDREF DUK_TVAL_SET_FASTINT_U32_UPDREF_ALT0 +#else +#define DUK_TVAL_SET_FASTINT_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF /* XXX: fast-int-to-double */ +#define DUK_TVAL_SET_FASTINT_I32_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF +#define DUK_TVAL_SET_FASTINT_U32_UPDREF DUK_TVAL_SET_DOUBLE_CAST_UPDREF #endif /* DUK_USE_FASTINT */ #define DUK_TVAL_SET_LIGHTFUNC_UPDREF DUK_TVAL_SET_LIGHTFUNC_UPDREF_ALT0 #define DUK_TVAL_SET_STRING_UPDREF DUK_TVAL_SET_STRING_UPDREF_ALT0 @@ -7541,6 +4390,24 @@ DUK_INTERNAL_DECL void duk_xdef_prop_stridx_thrower(duk_context *ctx, duk_idx_t /* Set object 'length'. */ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_size_t length); +/* Raw internal valstack access macros: access is unsafe so call site + * must have a guarantee that the index is valid. When that is the case, + * using these macro results in faster and smaller code than duk_get_tval(). + * Both 'ctx' and 'idx' are evaluted multiple times, but only for asserts. + */ +#define DUK_ASSERT_VALID_NEGIDX(ctx,idx) \ + (DUK_ASSERT_EXPR((idx) < 0), DUK_ASSERT_EXPR(duk_is_valid_index((ctx), (idx)))) +#define DUK_ASSERT_VALID_POSIDX(ctx,idx) \ + (DUK_ASSERT_EXPR((idx) >= 0), DUK_ASSERT_EXPR(duk_is_valid_index((ctx), (idx)))) +#define DUK_GET_TVAL_NEGIDX(ctx,idx) \ + (DUK_ASSERT_VALID_NEGIDX((ctx),(idx)), ((duk_hthread *) (ctx))->valstack_top + (idx)) +#define DUK_GET_TVAL_POSIDX(ctx,idx) \ + (DUK_ASSERT_VALID_POSIDX((ctx),(idx)), ((duk_hthread *) (ctx))->valstack_bottom + (idx)) +#define DUK_GET_HOBJECT_NEGIDX(ctx,idx) \ + (DUK_ASSERT_VALID_NEGIDX((ctx),(idx)), DUK_TVAL_GET_OBJECT(((duk_hthread *) (ctx))->valstack_top + (idx))) +#define DUK_GET_HOBJECT_POSIDX(ctx,idx) \ + (DUK_ASSERT_VALID_POSIDX((ctx),(idx)), DUK_TVAL_GET_OBJECT(((duk_hthread *) (ctx))->valstack_bottom + (idx))) + #endif /* DUK_API_INTERNAL_H_INCLUDED */ #line 1 "duk_hstring.h" /* @@ -7583,13 +4450,15 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz * needed right now. */ -#define DUK_HSTRING_FLAG_ARRIDX DUK_HEAPHDR_USER_FLAG(0) /* string is a valid array index */ -#define DUK_HSTRING_FLAG_INTERNAL DUK_HEAPHDR_USER_FLAG(1) /* string is internal */ -#define DUK_HSTRING_FLAG_RESERVED_WORD DUK_HEAPHDR_USER_FLAG(2) /* string is a reserved word (non-strict) */ -#define DUK_HSTRING_FLAG_STRICT_RESERVED_WORD DUK_HEAPHDR_USER_FLAG(3) /* string is a reserved word (strict) */ -#define DUK_HSTRING_FLAG_EVAL_OR_ARGUMENTS DUK_HEAPHDR_USER_FLAG(4) /* string is 'eval' or 'arguments' */ -#define DUK_HSTRING_FLAG_EXTDATA DUK_HEAPHDR_USER_FLAG(5) /* string data is external (duk_hstring_external) */ +#define DUK_HSTRING_FLAG_ASCII DUK_HEAPHDR_USER_FLAG(0) /* string is ASCII, clen == blen */ +#define DUK_HSTRING_FLAG_ARRIDX DUK_HEAPHDR_USER_FLAG(1) /* string is a valid array index */ +#define DUK_HSTRING_FLAG_INTERNAL DUK_HEAPHDR_USER_FLAG(2) /* string is internal */ +#define DUK_HSTRING_FLAG_RESERVED_WORD DUK_HEAPHDR_USER_FLAG(3) /* string is a reserved word (non-strict) */ +#define DUK_HSTRING_FLAG_STRICT_RESERVED_WORD DUK_HEAPHDR_USER_FLAG(4) /* string is a reserved word (strict) */ +#define DUK_HSTRING_FLAG_EVAL_OR_ARGUMENTS DUK_HEAPHDR_USER_FLAG(5) /* string is 'eval' or 'arguments' */ +#define DUK_HSTRING_FLAG_EXTDATA DUK_HEAPHDR_USER_FLAG(6) /* string data is external (duk_hstring_external) */ +#define DUK_HSTRING_HAS_ASCII(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ASCII) #define DUK_HSTRING_HAS_ARRIDX(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ARRIDX) #define DUK_HSTRING_HAS_INTERNAL(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_INTERNAL) #define DUK_HSTRING_HAS_RESERVED_WORD(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_RESERVED_WORD) @@ -7597,6 +4466,7 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz #define DUK_HSTRING_HAS_EVAL_OR_ARGUMENTS(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EVAL_OR_ARGUMENTS) #define DUK_HSTRING_HAS_EXTDATA(x) DUK_HEAPHDR_CHECK_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EXTDATA) +#define DUK_HSTRING_SET_ASCII(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ASCII) #define DUK_HSTRING_SET_ARRIDX(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ARRIDX) #define DUK_HSTRING_SET_INTERNAL(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_INTERNAL) #define DUK_HSTRING_SET_RESERVED_WORD(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_RESERVED_WORD) @@ -7604,6 +4474,7 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz #define DUK_HSTRING_SET_EVAL_OR_ARGUMENTS(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EVAL_OR_ARGUMENTS) #define DUK_HSTRING_SET_EXTDATA(x) DUK_HEAPHDR_SET_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EXTDATA) +#define DUK_HSTRING_CLEAR_ASCII(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ASCII) #define DUK_HSTRING_CLEAR_ARRIDX(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_ARRIDX) #define DUK_HSTRING_CLEAR_INTERNAL(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_INTERNAL) #define DUK_HSTRING_CLEAR_RESERVED_WORD(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_RESERVED_WORD) @@ -7611,7 +4482,12 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz #define DUK_HSTRING_CLEAR_EVAL_OR_ARGUMENTS(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EVAL_OR_ARGUMENTS) #define DUK_HSTRING_CLEAR_EXTDATA(x) DUK_HEAPHDR_CLEAR_FLAG_BITS(&(x)->hdr, DUK_HSTRING_FLAG_EXTDATA) +#if 0 /* Slightly smaller code without explicit flag, but explicit flag + * is very useful when 'clen' is dropped. + */ #define DUK_HSTRING_IS_ASCII(x) (DUK_HSTRING_GET_BYTELEN((x)) == DUK_HSTRING_GET_CHARLEN((x))) +#endif +#define DUK_HSTRING_IS_ASCII(x) DUK_HSTRING_HAS_ASCII((x)) #define DUK_HSTRING_IS_EMPTY(x) (DUK_HSTRING_GET_BYTELEN((x)) == 0) #if defined(DUK_USE_STRHASH16) @@ -7627,15 +4503,22 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz #endif #if defined(DUK_USE_STRLEN16) -#define DUK_HSTRING_GET_BYTELEN(x) ((x)->blen16) +#define DUK_HSTRING_GET_BYTELEN(x) ((x)->hdr.h_strextra16) #define DUK_HSTRING_SET_BYTELEN(x,v) do { \ - (x)->blen16 = (v); \ + (x)->hdr.h_strextra16 = (v); \ } while (0) +#if defined(DUK_USE_HSTRING_CLEN) #define DUK_HSTRING_GET_CHARLEN(x) ((x)->clen16) #define DUK_HSTRING_SET_CHARLEN(x,v) do { \ (x)->clen16 = (v); \ } while (0) #else +#define DUK_HSTRING_GET_CHARLEN(x) duk_hstring_get_charlen((x)) +#define DUK_HSTRING_SET_CHARLEN(x,v) do { \ + DUK_ASSERT(0); /* should never be called */ \ + } while (0) +#endif +#else #define DUK_HSTRING_GET_BYTELEN(x) ((x)->blen) #define DUK_HSTRING_SET_BYTELEN(x,v) do { \ (x)->blen = (v); \ @@ -7651,7 +4534,7 @@ DUK_INTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t index, duk_siz ((x)->extdata) #define DUK_HSTRING_GET_DATA(x) \ (DUK_HSTRING_HAS_EXTDATA((x)) ? \ - DUK_HSTRING_GET_EXTDATA((duk_hstring_external *) (x)) : ((const duk_uint8_t *) ((x) + 1))) + DUK_HSTRING_GET_EXTDATA((const duk_hstring_external *) (x)) : ((const duk_uint8_t *) ((x) + 1))) #else #define DUK_HSTRING_GET_DATA(x) \ ((const duk_uint8_t *) ((x) + 1)) @@ -7698,15 +4581,19 @@ struct duk_hstring { /* length in bytes (not counting NUL term) */ #if defined(DUK_USE_STRLEN16) - duk_uint16_t blen16; + /* placed in duk_heaphdr_string */ #else duk_uint32_t blen; #endif /* length in codepoints (must be E5 compatible) */ #if defined(DUK_USE_STRLEN16) +#if defined(DUK_USE_HSTRING_CLEN) duk_uint16_t clen16; #else + /* computed live */ +#endif +#else duk_uint32_t clen; #endif @@ -7737,6 +4624,10 @@ struct duk_hstring_external { DUK_INTERNAL_DECL duk_ucodepoint_t duk_hstring_char_code_at_raw(duk_hthread *thr, duk_hstring *h, duk_uint_t pos); +#if !defined(DUK_USE_HSTRING_CLEN) +DUK_INTERNAL_DECL duk_size_t duk_hstring_get_charlen(duk_hstring *h); +#endif + #endif /* DUK_HSTRING_H_INCLUDED */ #line 1 "duk_hobject.h" /* @@ -7773,7 +4664,9 @@ DUK_INTERNAL_DECL duk_ucodepoint_t duk_hstring_char_code_at_raw(duk_hthread *thr #ifndef DUK_HOBJECT_H_INCLUDED #define DUK_HOBJECT_H_INCLUDED -/* there are currently 26 flag bits available */ +/* Object flag. There are currently 26 flag bits available. Make sure + * this stays in sync with debugger object inspection code. + */ #define DUK_HOBJECT_FLAG_EXTENSIBLE DUK_HEAPHDR_USER_FLAG(0) /* object is extensible */ #define DUK_HOBJECT_FLAG_CONSTRUCTABLE DUK_HEAPHDR_USER_FLAG(1) /* object is constructable */ #define DUK_HOBJECT_FLAG_BOUND DUK_HEAPHDR_USER_FLAG(2) /* object established using Function.prototype.bind() */ @@ -7794,7 +4687,7 @@ DUK_INTERNAL_DECL duk_ucodepoint_t duk_hstring_char_code_at_raw(duk_hthread *thr #define DUK_HOBJECT_FLAG_EXOTIC_DUKFUNC DUK_HEAPHDR_USER_FLAG(18) /* Duktape/C (nativefunction) object, exotic 'length' */ #define DUK_HOBJECT_FLAG_EXOTIC_PROXYOBJ DUK_HEAPHDR_USER_FLAG(19) /* 'Proxy' object */ -#define DUK_HOBJECT_FLAG_CLASS_BASE DUK_HEAPHDR_USER_FLAG_NUMBER(21) +#define DUK_HOBJECT_FLAG_CLASS_BASE DUK_HEAPHDR_USER_FLAG_NUMBER(20) #define DUK_HOBJECT_FLAG_CLASS_BITS 5 #define DUK_HOBJECT_GET_CLASS_NUMBER(h) \ @@ -8015,6 +4908,10 @@ DUK_INTERNAL_DECL duk_ucodepoint_t duk_hstring_char_code_at_raw(duk_hthread *thr DUK_PROPDESC_FLAG_ENUMERABLE | \ DUK_PROPDESC_FLAG_CONFIGURABLE) +/* flags for duk_hobject_get_own_propdesc() and variants */ +#define DUK_GETDESC_FLAG_PUSH_VALUE (1 << 0) /* push value to stack */ +#define DUK_GETDESC_FLAG_IGNORE_PROTOLOOP (1 << 1) /* don't throw for prototype loop */ + /* * Macro for object validity check * @@ -8197,7 +5094,7 @@ DUK_INTERNAL_DECL duk_ucodepoint_t duk_hstring_char_code_at_raw(duk_hthread *thr #error invalid hobject layout defines #endif /* hobject property layout */ -#define DUK_HOBJECT_E_ALLOC_SIZE(h) \ +#define DUK_HOBJECT_P_ALLOC_SIZE(h) \ DUK_HOBJECT_P_COMPUTE_SIZE(DUK_HOBJECT_GET_ESIZE((h)), DUK_HOBJECT_GET_ASIZE((h)), DUK_HOBJECT_GET_HSIZE((h))) #define DUK_HOBJECT_E_GET_KEY(heap,h,i) (DUK_HOBJECT_E_GET_KEY_BASE((heap), (h))[(i)]) @@ -8576,6 +5473,7 @@ DUK_INTERNAL_DECL void duk_hobject_find_existing_entry(duk_heap *heap, duk_hobje DUK_INTERNAL_DECL duk_tval *duk_hobject_find_existing_entry_tval_ptr(duk_heap *heap, duk_hobject *obj, duk_hstring *key); DUK_INTERNAL_DECL duk_tval *duk_hobject_find_existing_entry_tval_ptr_and_attrs(duk_heap *heap, duk_hobject *obj, duk_hstring *key, duk_int_t *out_attrs); DUK_INTERNAL_DECL duk_tval *duk_hobject_find_existing_array_entry_tval_ptr(duk_heap *heap, duk_hobject *obj, duk_uarridx_t i); +DUK_INTERNAL_DECL duk_bool_t duk_hobject_get_own_propdesc(duk_hthread *thr, duk_hobject *obj, duk_hstring *key, duk_propdesc *out_desc, duk_small_uint_t flags); /* XXX: when optimizing for guaranteed property slots, use a guaranteed * slot for internal value; this call can then access it directly. @@ -9189,6 +6087,10 @@ DUK_INTERNAL_DECL void duk_hbufferobject_validated_write(duk_context *ctx, duk_h * Thread defines */ +#if defined(DUK_USE_ROM_STRINGS) +#define DUK_HTHREAD_GET_STRING(thr,idx) \ + ((duk_hstring *) DUK_LOSE_CONST(duk_rom_strings_stridx[(idx)])) +#else /* DUK_USE_ROM_STRINGS */ #if defined(DUK_USE_HEAPPTR16) #define DUK_HTHREAD_GET_STRING(thr,idx) \ ((duk_hstring *) DUK_USE_HEAPPTR_DEC16((thr)->heap->heap_udata, (thr)->strs16[(idx)])) @@ -9196,6 +6098,7 @@ DUK_INTERNAL_DECL void duk_hbufferobject_validated_write(duk_context *ctx, duk_h #define DUK_HTHREAD_GET_STRING(thr,idx) \ ((thr)->strs[(idx)]) #endif +#endif /* DUK_USE_ROM_STRINGS */ #define DUK_HTHREAD_GET_CURRENT_ACTIVATION(thr) (&(thr)->callstack[(thr)->callstack_top - 1]) @@ -9393,15 +6296,23 @@ struct duk_hthread { * is no intermediate structure for a thread group / compartment. * This takes quite a lot of space, currently 43x4 = 172 bytes on * 32-bit platforms. + * + * In some cases the builtins array could be ROM based, but it's + * sometimes edited (e.g. for sandboxing) so it's better to keep + * this array in RAM. */ duk_hobject *builtins[DUK_NUM_BUILTINS]; /* Convenience copies from heap/vm for faster access. */ +#if defined(DUK_USE_ROM_STRINGS) + /* No field needed when strings are in ROM. */ +#else #if defined(DUK_USE_HEAPPTR16) duk_uint16_t *strs16; #else duk_hstring **strs; #endif +#endif }; /* @@ -9498,7 +6409,10 @@ DUK_INTERNAL_DECL void duk_hthread_sync_and_null_currpc(duk_hthread *thr); /* size stored in duk_heaphdr unused flag bits */ #define DUK_HBUFFER_GET_SIZE(x) ((x)->hdr.h_flags >> 16) #define DUK_HBUFFER_SET_SIZE(x,v) do { \ - (x)->hdr.h_flags = ((x)->hdr.h_flags & 0x0000ffffUL) | ((v) << 16); \ + duk_size_t duk__v; \ + duk__v = (v); \ + DUK_ASSERT(duk__v <= 0xffffUL); \ + (x)->hdr.h_flags = ((x)->hdr.h_flags & 0x0000ffffUL) | (((duk_uint32_t) duk__v) << 16); \ } while (0) #define DUK_HBUFFER_ADD_SIZE(x,dv) do { \ (x)->hdr.h_flags += ((dv) << 16); \ @@ -9920,6 +6834,10 @@ DUK_INTERNAL_DECL void duk_hbuffer_reset(duk_hthread *thr, duk_hbuffer_dynamic * */ /* heap string indices are autogenerated in duk_strings.h */ +#if defined(DUK_USE_ROM_STRINGS) +#define DUK_HEAP_GET_STRING(heap,idx) \ + ((duk_hstring *) DUK_LOSE_CONST(duk_rom_strings_stridx[(idx)])) +#else /* DUK_USE_ROM_STRINGS */ #if defined(DUK_USE_HEAPPTR16) #define DUK_HEAP_GET_STRING(heap,idx) \ ((duk_hstring *) DUK_USE_HEAPPTR_DEC16((heap)->heap_udata, (heap)->strs16[(idx)])) @@ -9927,6 +6845,7 @@ DUK_INTERNAL_DECL void duk_hbuffer_reset(duk_hthread *thr, duk_hbuffer_dynamic * #define DUK_HEAP_GET_STRING(heap,idx) \ ((heap)->strs[(idx)]) #endif +#endif /* DUK_USE_ROM_STRINGS */ /* * Raw memory calls: relative to heap, but no GC interaction @@ -10041,6 +6960,7 @@ struct duk_breakpoint { (heap)->dbg_state_dirty = 1; \ DUK_HEAP_CLEAR_STEP_STATE((heap)); \ } while (0) +#define DUK_HEAP_IS_PAUSED(heap) ((heap)->dbg_paused) #endif /* DUK_USE_DEBUGGER_SUPPORT */ /* @@ -10064,9 +6984,7 @@ struct duk_strcache { */ struct duk_ljstate { -#if !defined(DUK_USE_CPP_EXCEPTIONS) duk_jmpbuf *jmpbuf_ptr; /* current setjmp() catchpoint */ -#endif duk_small_uint_t type; /* longjmp type */ duk_bool_t iserror; /* isError flag for yield */ duk_tval value1; /* 1st related value (type specific) */ @@ -10195,6 +7113,7 @@ struct duk_heap { duk_debug_peek_function dbg_peek_cb; duk_debug_read_flush_function dbg_read_flush_cb; duk_debug_write_flush_function dbg_write_flush_cb; + duk_debug_request_function dbg_request_cb; duk_debug_detached_function dbg_detached_cb; void *dbg_udata; @@ -10247,11 +7166,15 @@ struct duk_heap { duk_strcache strcache[DUK_HEAP_STRCACHE_SIZE]; /* built-in strings */ +#if defined(DUK_USE_ROM_STRINGS) + /* No field needed when strings are in ROM. */ +#else #if defined(DUK_USE_HEAPPTR16) duk_uint16_t strs16[DUK_HEAP_NUM_STRINGS]; #else duk_hstring *strs[DUK_HEAP_NUM_STRINGS]; #endif +#endif }; /* @@ -10353,44 +7276,77 @@ DUK_INTERNAL_DECL duk_uint32_t duk_heap_hashstring(duk_heap *heap, const duk_uin /* Debugger protocol version is defined in the public API header. */ -#define DUK_DBG_MARKER_EOM 0x00 -#define DUK_DBG_MARKER_REQUEST 0x01 -#define DUK_DBG_MARKER_REPLY 0x02 -#define DUK_DBG_MARKER_ERROR 0x03 -#define DUK_DBG_MARKER_NOTIFY 0x04 - -#define DUK_DBG_ERR_UNKNOWN 0x00 -#define DUK_DBG_ERR_UNSUPPORTED 0x01 -#define DUK_DBG_ERR_TOOMANY 0x02 -#define DUK_DBG_ERR_NOTFOUND 0x03 - -/* Initiated by Duktape */ -#define DUK_DBG_CMD_STATUS 0x01 -#define DUK_DBG_CMD_PRINT 0x02 -#define DUK_DBG_CMD_ALERT 0x03 -#define DUK_DBG_CMD_LOG 0x04 -#define DUK_DBG_CMD_THROW 0x05 -#define DUK_DBG_CMD_DETACHING 0x06 - -/* Initiated by debug client */ -#define DUK_DBG_CMD_BASICINFO 0x10 -#define DUK_DBG_CMD_TRIGGERSTATUS 0x11 -#define DUK_DBG_CMD_PAUSE 0x12 -#define DUK_DBG_CMD_RESUME 0x13 -#define DUK_DBG_CMD_STEPINTO 0x14 -#define DUK_DBG_CMD_STEPOVER 0x15 -#define DUK_DBG_CMD_STEPOUT 0x16 -#define DUK_DBG_CMD_LISTBREAK 0x17 -#define DUK_DBG_CMD_ADDBREAK 0x18 -#define DUK_DBG_CMD_DELBREAK 0x19 -#define DUK_DBG_CMD_GETVAR 0x1a -#define DUK_DBG_CMD_PUTVAR 0x1b -#define DUK_DBG_CMD_GETCALLSTACK 0x1c -#define DUK_DBG_CMD_GETLOCALS 0x1d -#define DUK_DBG_CMD_EVAL 0x1e -#define DUK_DBG_CMD_DETACH 0x1f -#define DUK_DBG_CMD_DUMPHEAP 0x20 -#define DUK_DBG_CMD_GETBYTECODE 0x21 +/* Initial bytes for markers. */ +#define DUK_DBG_IB_EOM 0x00 +#define DUK_DBG_IB_REQUEST 0x01 +#define DUK_DBG_IB_REPLY 0x02 +#define DUK_DBG_IB_ERROR 0x03 +#define DUK_DBG_IB_NOTIFY 0x04 + +/* Other initial bytes. */ +#define DUK_DBG_IB_INT4 0x10 +#define DUK_DBG_IB_STR4 0x11 +#define DUK_DBG_IB_STR2 0x12 +#define DUK_DBG_IB_BUF4 0x13 +#define DUK_DBG_IB_BUF2 0x14 +#define DUK_DBG_IB_UNUSED 0x15 +#define DUK_DBG_IB_UNDEFINED 0x16 +#define DUK_DBG_IB_NULL 0x17 +#define DUK_DBG_IB_TRUE 0x18 +#define DUK_DBG_IB_FALSE 0x19 +#define DUK_DBG_IB_NUMBER 0x1a +#define DUK_DBG_IB_OBJECT 0x1b +#define DUK_DBG_IB_POINTER 0x1c +#define DUK_DBG_IB_LIGHTFUNC 0x1d +#define DUK_DBG_IB_HEAPPTR 0x1e +/* The short string/integer initial bytes starting from 0x60 don't have + * defines now. + */ + +/* Error codes. */ +#define DUK_DBG_ERR_UNKNOWN 0x00 +#define DUK_DBG_ERR_UNSUPPORTED 0x01 +#define DUK_DBG_ERR_TOOMANY 0x02 +#define DUK_DBG_ERR_NOTFOUND 0x03 +#define DUK_DBG_ERR_APPLICATION 0x04 + +/* Commands and notifys initiated by Duktape. */ +#define DUK_DBG_CMD_STATUS 0x01 +#define DUK_DBG_CMD_PRINT 0x02 +#define DUK_DBG_CMD_ALERT 0x03 +#define DUK_DBG_CMD_LOG 0x04 +#define DUK_DBG_CMD_THROW 0x05 +#define DUK_DBG_CMD_DETACHING 0x06 +#define DUK_DBG_CMD_APPNOTIFY 0x07 + +/* Commands initiated by debug client. */ +#define DUK_DBG_CMD_BASICINFO 0x10 +#define DUK_DBG_CMD_TRIGGERSTATUS 0x11 +#define DUK_DBG_CMD_PAUSE 0x12 +#define DUK_DBG_CMD_RESUME 0x13 +#define DUK_DBG_CMD_STEPINTO 0x14 +#define DUK_DBG_CMD_STEPOVER 0x15 +#define DUK_DBG_CMD_STEPOUT 0x16 +#define DUK_DBG_CMD_LISTBREAK 0x17 +#define DUK_DBG_CMD_ADDBREAK 0x18 +#define DUK_DBG_CMD_DELBREAK 0x19 +#define DUK_DBG_CMD_GETVAR 0x1a +#define DUK_DBG_CMD_PUTVAR 0x1b +#define DUK_DBG_CMD_GETCALLSTACK 0x1c +#define DUK_DBG_CMD_GETLOCALS 0x1d +#define DUK_DBG_CMD_EVAL 0x1e +#define DUK_DBG_CMD_DETACH 0x1f +#define DUK_DBG_CMD_DUMPHEAP 0x20 +#define DUK_DBG_CMD_GETBYTECODE 0x21 +#define DUK_DBG_CMD_APPREQUEST 0x22 +#define DUK_DBG_CMD_GETHEAPOBJINFO 0x23 +#define DUK_DBG_CMD_GETOBJPROPDESC 0x24 +#define DUK_DBG_CMD_GETOBJPROPDESCRANGE 0x25 + +/* The low 8 bits map directly to duk_hobject.h DUK_PROPDESC_FLAG_xxx. + * The remaining flags are specific to the debugger. + */ +#define DUK_DBG_PROPFLAG_INTERNAL (1 << 8) #if defined(DUK_USE_DEBUGGER_SUPPORT) DUK_INTERNAL_DECL void duk_debug_do_detach(duk_heap *heap); @@ -10408,12 +7364,22 @@ DUK_INTERNAL_DECL duk_hstring *duk_debug_read_hstring(duk_hthread *thr); /* XXX: exposed duk_debug_read_pointer */ /* XXX: exposed duk_debug_read_buffer */ /* XXX: exposed duk_debug_read_hbuffer */ -DUK_INTERNAL_DECL void duk_debug_read_tval(duk_hthread *thr); +#if 0 +DUK_INTERNAL_DECL duk_heaphdr *duk_debug_read_heapptr(duk_hthread *thr); +#endif +#if defined(DUK_USE_DEBUGGER_INSPECT) +DUK_INTERNAL_DECL duk_heaphdr *duk_debug_read_any_ptr(duk_hthread *thr); +#endif +DUK_INTERNAL_DECL duk_tval *duk_debug_read_tval(duk_hthread *thr); DUK_INTERNAL_DECL void duk_debug_write_bytes(duk_hthread *thr, const duk_uint8_t *data, duk_size_t length); DUK_INTERNAL_DECL void duk_debug_write_byte(duk_hthread *thr, duk_uint8_t x); DUK_INTERNAL_DECL void duk_debug_write_unused(duk_hthread *thr); DUK_INTERNAL_DECL void duk_debug_write_undefined(duk_hthread *thr); +#if defined(DUK_USE_DEBUGGER_INSPECT) +DUK_INTERNAL_DECL void duk_debug_write_null(duk_hthread *thr); +#endif +DUK_INTERNAL_DECL void duk_debug_write_boolean(duk_hthread *thr, duk_uint_t val); DUK_INTERNAL_DECL void duk_debug_write_int(duk_hthread *thr, duk_int32_t x); DUK_INTERNAL_DECL void duk_debug_write_uint(duk_hthread *thr, duk_uint32_t x); DUK_INTERNAL_DECL void duk_debug_write_string(duk_hthread *thr, const char *data, duk_size_t length); @@ -10422,12 +7388,11 @@ DUK_INTERNAL_DECL void duk_debug_write_hstring(duk_hthread *thr, duk_hstring *h) DUK_INTERNAL_DECL void duk_debug_write_buffer(duk_hthread *thr, const char *data, duk_size_t length); DUK_INTERNAL_DECL void duk_debug_write_hbuffer(duk_hthread *thr, duk_hbuffer *h); DUK_INTERNAL_DECL void duk_debug_write_pointer(duk_hthread *thr, void *ptr); -#if defined(DUK_USE_DEBUGGER_DUMPHEAP) +#if defined(DUK_USE_DEBUGGER_DUMPHEAP) || defined(DUK_USE_DEBUGGER_INSPECT) DUK_INTERNAL_DECL void duk_debug_write_heapptr(duk_hthread *thr, duk_heaphdr *h); #endif DUK_INTERNAL_DECL void duk_debug_write_hobject(duk_hthread *thr, duk_hobject *obj); DUK_INTERNAL_DECL void duk_debug_write_tval(duk_hthread *thr, duk_tval *tv); - #if 0 /* unused */ DUK_INTERNAL_DECL void duk_debug_write_request(duk_hthread *thr, duk_small_uint_t command); #endif @@ -10671,58 +7636,97 @@ DUK_INTERNAL_DECL duk_bool_t duk_fb_is_full(duk_fixedbuffer *fb); * catchpoint record in the duk_heap. The 'curr_thread' of the duk_heap * identifies the throwing thread. * - * Error formatting is not always necessary but there are no separate calls - * (to minimize code size). Error object creation will consume a considerable - * amount of time, compared to which formatting is probably trivial. Note - * that special formatting (provided by DUK_DEBUG macros) is NOT available. + * Error formatting is usually unnecessary. The error macros provide a + * zero argument version (no formatting) and separate macros for small + * argument counts. Variadic macros are not used to avoid portability + * issues and avoid the need for stash-based workarounds when they're not + * available. Vararg calls are avoided for non-formatted error calls + * because vararg call sites are larger than normal, and there are a lot + * of call sites with no formatting. + * + * Note that special formatting provided by debug macros is NOT available. * * The _RAW variants allow the caller to specify file and line. This makes * it easier to write checked calls which want to use the call site of the * checked function, not the error macro call inside the checked function. - * - * We prefer the standard variadic macros; if they are not available, we - * fall back to awkward hacks. */ #if defined(DUK_USE_VERBOSE_ERRORS) -#if defined(DUK_USE_VARIADIC_MACROS) - -/* __VA_ARGS__ has comma issues for empty lists, so we mandate at least 1 argument for '...' (format string) */ -#define DUK_ERROR(thr,err,...) duk_err_handle_error(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (err), __VA_ARGS__) -#define DUK_ERROR_RAW(file,line,thr,err,...) duk_err_handle_error((file), (line), (thr), (err), __VA_ARGS__) +/* Because there are quite many call sites, pack error code (require at most + * 8-bit) into a single argument. + */ +#define DUK_ERROR(thr,err,msg) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) DUK_LINE_MACRO; \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error((thr), DUK_FILE_MACRO, (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (msg)); \ + } while (0) +#define DUK_ERROR_RAW(thr,file,line,err,msg) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) (line); \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error((thr), (file), (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (msg)); \ + } while (0) -#else /* DUK_USE_VARIADIC_MACROS */ +#define DUK_ERROR_FMT1(thr,err,fmt,arg1) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) DUK_LINE_MACRO; \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), DUK_FILE_MACRO, (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1)); \ + } while (0) +#define DUK_ERROR_RAW_FMT1(thr,file,line,err,fmt,arg1) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) (line); \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), (file), (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1)); \ + } while (0) -/* Parameter passing here is not thread safe. We rely on the __FILE__ - * pointer being a constant which can be passed through a global. - */ +#define DUK_ERROR_FMT2(thr,err,fmt,arg1,arg2) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) DUK_LINE_MACRO; \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), DUK_FILE_MACRO, (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2)); \ + } while (0) +#define DUK_ERROR_RAW_FMT2(thr,file,line,err,fmt,arg1,arg2) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) (line); \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), (file), (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2)); \ + } while (0) -#define DUK_ERROR \ - (void) (duk_err_file_stash = (const char *) DUK_FILE_MACRO, \ - duk_err_line_stash = (duk_int_t) DUK_LINE_MACRO, \ - duk_err_handle_error_stash) /* arguments follow */ -#define DUK_ERROR_RAW duk_err_handle_error +#define DUK_ERROR_FMT3(thr,err,fmt,arg1,arg2,arg3) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) DUK_LINE_MACRO; \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), DUK_FILE_MACRO, (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2), (arg3)); \ + } while (0) +#define DUK_ERROR_RAW_FMT3(thr,file,line,err,fmt,arg1,arg2,arg3) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) (line); \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), (file), (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2), (arg3)); \ + } while (0) -#endif /* DUK_USE_VARIADIC_MACROS */ +#define DUK_ERROR_FMT4(thr,err,fmt,arg1,arg2,arg3,arg4) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) DUK_LINE_MACRO; \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), DUK_FILE_MACRO, (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2), (arg3), (arg4)); \ + } while (0) +#define DUK_ERROR_RAW_FMT4(thr,file,line,err,fmt,arg1,arg2,arg3,arg4) do { \ + duk_errcode_t duk__err = (err); duk_int_t duk__line = (duk_int_t) (line); \ + DUK_ASSERT(duk__err >= 0 && duk__err <= 0xff); DUK_ASSERT(duk__line >= 0 && duk__line <= 0x00ffffffL); \ + duk_err_handle_error_fmt((thr), (file), (((duk_uint_t) duk__err) << 24) | ((duk_uint_t) duk__line), (fmt), (arg1), (arg2), (arg3), (arg4)); \ + } while (0) #else /* DUK_USE_VERBOSE_ERRORS */ -#if defined(DUK_USE_VARIADIC_MACROS) +#define DUK_ERROR(thr,err,msg) duk_err_handle_error((thr), (err)) +#define DUK_ERROR_RAW(thr,file,line,err,msg) duk_err_handle_error((thr), (err)) -#define DUK_ERROR(thr,err,...) duk_err_handle_error((thr), (err)) -#define DUK_ERROR_RAW(file,line,thr,err,...) duk_err_handle_error((thr), (err)) +#define DUK_ERROR_FMT1(thr,err,fmt,arg1) DUK_ERROR((thr),(err),(fmt)) +#define DUK_ERROR_RAW_FMT1(thr,file,line,err,fmt,arg1) DUK_ERROR_RAW((thr),(file),(line),(err),(fmt)) -#else /* DUK_USE_VARIADIC_MACROS */ +#define DUK_ERROR_FMT2(thr,err,fmt,arg1,arg2) DUK_ERROR((thr),(err),(fmt)) +#define DUK_ERROR_RAW_FMT2(thr,file,line,err,fmt,arg1,arg2) DUK_ERROR_RAW((thr),(file),(line),(err),(fmt)) -/* This is sub-optimal because arguments will be passed but ignored, and the strings - * will go into the object file. Can't think of how to do this portably and still - * relatively conveniently. - */ -#define DUK_ERROR duk_err_handle_error_nonverbose1 -#define DUK_ERROR_RAW duk_err_handle_error_nonverbose2 +#define DUK_ERROR_FMT3(thr,err,fmt,arg1,arg2,arg3) DUK_ERROR((thr),(err),(fmt)) +#define DUK_ERROR_RAW_FMT3(thr,file,line,err,fmt,arg1,arg2,arg3) DUK_ERROR_RAW((thr),(file),(line),(err),(fmt)) -#endif /* DUK_USE_VARIADIC_MACROS */ +#define DUK_ERROR_FMT4(thr,err,fmt,arg1,arg2,arg3,arg4) DUK_ERROR((thr),(err),(fmt)) +#define DUK_ERROR_RAW_FMT4(thr,file,line,err,fmt,arg1,arg2,arg3,arg4) DUK_ERROR_RAW((thr),(file),(line),(err),(fmt)) #endif /* DUK_USE_VERBOSE_ERRORS */ @@ -10857,65 +7861,127 @@ DUK_INTERNAL_DECL duk_bool_t duk_fb_is_full(duk_fixedbuffer *fb); * The goal is to provide verbose and configurable error messages. Call * sites should be clean in source code and compile to a small footprint. * Small footprint is also useful for performance because small cold paths - * reduce code cache pressure. + * reduce code cache pressure. Adding macros here only makes sense if there + * are enough call sites to get concrete benefits. */ #if defined(DUK_USE_VERBOSE_ERRORS) +/* Verbose errors with key/value summaries (non-paranoid) or without key/value + * summaries (paranoid, for some security sensitive environments), the paranoid + * vs. non-paranoid distinction affects only a few specific errors. + */ #if defined(DUK_USE_PARANOID_ERRORS) -/* Verbose but paranoid errors. */ - #define DUK_ERROR_REQUIRE_TYPE_INDEX(thr,index,expectname,lowmemstr) do { \ - duk_err_require_type_index(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (index), (expectname)); \ + duk_err_require_type_index((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (index), (expectname)); \ } while (0) -#else -/* Verbose errors with key/value summaries. */ - +#else /* DUK_USE_PARANOID_ERRORS */ #define DUK_ERROR_REQUIRE_TYPE_INDEX(thr,index,expectname,lowmemstr) do { \ - duk_err_require_type_index(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (index), (expectname)); \ + duk_err_require_type_index((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (index), (expectname)); \ } while (0) -#endif +#endif /* DUK_USE_PARANOID_ERRORS */ + +#define DUK_ERROR_UNIMPLEMENTED(thr,msg) do { \ + DUK_ERROR((thr), DUK_ERR_UNIMPLEMENTED_ERROR, (msg)); \ + } while (0) +#define DUK_ERROR_UNIMPLEMENTED_DEFMSG(thr) do { \ + duk_err_unimplemented_defmsg((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO); \ + } while (0) +#define DUK_ERROR_UNSUPPORTED(thr,msg) do { \ + DUK_ERROR((thr), DUK_ERR_UNSUPPORTED_ERROR, (msg)); \ + } while (0) +#define DUK_ERROR_UNSUPPORTED_DEFMSG(thr) do { \ + duk_err_unsupported_defmsg((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO); \ + } while (0) +#define DUK_ERROR_INTERNAL(thr,msg) do { \ + duk_err_internal((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (msg)); \ + } while (0) +#define DUK_ERROR_INTERNAL_DEFMSG(thr) do { \ + duk_err_internal_defmsg((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO); \ + } while (0) +#define DUK_ERROR_ALLOC(thr,msg) do { \ + duk_err_alloc((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (msg)); \ + } while (0) +#define DUK_ERROR_ALLOC_DEFMSG(thr) do { \ + DUK_ERROR_ALLOC((thr), DUK_STR_ALLOC_FAILED); \ + } while (0) +/* DUK_ERR_ASSERTION_ERROR: no macros needed */ #define DUK_ERROR_API_INDEX(thr,index) do { \ - duk_err_api_index(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (index)); \ + duk_err_api_index((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (index)); \ } while (0) #define DUK_ERROR_API(thr,msg) do { \ - duk_err_api(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (msg)); \ + duk_err_api((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (msg)); \ } while (0) -#else -/* Non-verbose errors for low memory targets. */ +/* DUK_ERR_UNCAUGHT_ERROR: no macros needed */ +/* DUK_ERR_ERROR: no macros needed */ +/* DUK_ERR_EVAL: no macros needed */ +#define DUK_ERROR_RANGE(thr,msg) do { \ + duk_err_range((thr), DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (msg)); \ + } while (0) +/* DUK_ERR_REFERENCE_ERROR: no macros needed */ +#define DUK_ERROR_SYNTAX(thr,msg) do { \ + DUK_ERROR((thr), DUK_ERR_SYNTAX_ERROR, (msg)); \ + } while (0) +#define DUK_ERROR_TYPE(thr,msg) do { \ + DUK_ERROR((thr), DUK_ERR_TYPE_ERROR, (msg)); \ + } while (0) +/* DUK_ERR_URI_ERROR: no macros needed */ +#else /* DUK_USE_VERBOSE_ERRORS */ +/* Non-verbose errors for low memory targets: no file, line, or message. */ #define DUK_ERROR_REQUIRE_TYPE_INDEX(thr,index,expectname,lowmemstr) do { \ - duk_err_require_type_index(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (lowmemstr)); \ + duk_err_type((thr)); \ + } while (0) + +#define DUK_ERROR_UNIMPLEMENTED(thr,msg) do { \ + duk_err_unimplemented((thr)); \ + } while (0) +#define DUK_ERROR_UNIMPLEMENTED_DEFMSG(thr) do { \ + duk_err_unimplemented((thr)); \ + } while (0) +#define DUK_ERROR_UNSUPPORTED(thr,msg) do { \ + duk_err_unsupported((thr)); \ + } while (0) +#define DUK_ERROR_UNSUPPORTED_DEFMSG(thr) do { \ + duk_err_unsupported((thr)); \ + } while (0) +#define DUK_ERROR_INTERNAL(thr,msg) do { \ + duk_err_internal((thr)); \ + } while (0) +#define DUK_ERROR_INTERNAL_DEFMSG(thr) do { \ + duk_err_internal((thr)); \ + } while (0) +#define DUK_ERROR_ALLOC(thr,msg) do { \ + duk_err_alloc((thr)); \ + } while (0) +#define DUK_ERROR_ALLOC_DEFMSG(thr) do { \ + duk_err_alloc((thr)); \ } while (0) #define DUK_ERROR_API_INDEX(thr,index) do { \ - duk_err_api_index(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr)); \ + duk_err_api((thr)); \ } while (0) #define DUK_ERROR_API(thr,msg) do { \ - duk_err_api(DUK_FILE_MACRO, (duk_int_t) DUK_LINE_MACRO, (thr), (msg)); \ + duk_err_api((thr)); \ } while (0) -#endif +#define DUK_ERROR_RANGE(thr,msg) do { \ + duk_err_range((thr)); \ + } while (0) +#define DUK_ERROR_SYNTAX(thr,msg) do { \ + duk_err_syntax((thr)); \ + } while (0) +#define DUK_ERROR_TYPE(thr,msg) do { \ + duk_err_type((thr)); \ + } while (0) +#endif /* DUK_USE_VERBOSE_ERRORS */ /* * Prototypes */ #if defined(DUK_USE_VERBOSE_ERRORS) -#if defined(DUK_USE_VARIADIC_MACROS) -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...)); -#else /* DUK_USE_VARIADIC_MACROS */ -#if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL const char *duk_err_file_stash; -DUK_INTERNAL_DECL duk_int_t duk_err_line_stash; -#endif /* !DUK_SINGLE_FILE */ -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...)); -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error_stash(duk_hthread *thr, duk_errcode_t code, const char *fmt, ...)); -#endif /* DUK_USE_VARIADIC_MACROS */ +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error(duk_hthread *thr, const char *filename, duk_uint_t line_and_code, const char *msg)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error_fmt(duk_hthread *thr, const char *filename, duk_uint_t line_and_code, const char *fmt, ...)); #else /* DUK_USE_VERBOSE_ERRORS */ -#if defined(DUK_USE_VARIADIC_MACROS) DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error(duk_hthread *thr, duk_errcode_t code)); -#else /* DUK_USE_VARIADIC_MACROS */ -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error_nonverbose1(duk_hthread *thr, duk_errcode_t code, const char *fmt, ...)); -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_handle_error_nonverbose2(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...)); -#endif /* DUK_USE_VARIADIC_MACROS */ #endif /* DUK_USE_VERBOSE_ERRORS */ #if defined(DUK_USE_VERBOSE_ERRORS) @@ -10935,17 +8001,28 @@ DUK_INTERNAL_DECL void duk_err_augment_error_throw(duk_hthread *thr); #if defined(DUK_USE_VERBOSE_ERRORS) #if defined(DUK_USE_PARANOID_ERRORS) -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index, const char *expect_name)); -#else -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index, const char *expect_name)); -#endif -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index)); -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *message)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_require_type_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index, const char *expect_name)); #else -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *error_msg)); -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api_index(const char *filename, duk_int_t linenumber, duk_hthread *thr)); -DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *message)); -#endif +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_require_type_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index, const char *expect_name)); +#endif +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_range(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_unimplemented_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_unsupported_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_internal_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_internal(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_alloc(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message)); +#else /* DUK_VERBOSE_ERRORS */ +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_range(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_syntax(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_type(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_api(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_unimplemented(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_unsupported(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_internal(duk_hthread *thr)); +DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_alloc(duk_hthread *thr)); +#endif /* DUK_VERBOSE_ERRORS */ DUK_NORETURN(DUK_INTERNAL_DECL void duk_err_longjmp(duk_hthread *thr)); @@ -11195,13 +8272,14 @@ extern const duk_uint16_t duk_unicode_re_canon_lookup[65536]; /* duk_unicode_support.c */ #if !defined(DUK_SINGLE_FILE) -DUK_INTERNAL_DECL duk_uint8_t duk_unicode_xutf8_markers[7]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_digit[2]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_white[22]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_wordchar[8]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_not_digit[4]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_not_white[24]; -DUK_INTERNAL_DECL duk_uint16_t duk_unicode_re_ranges_not_wordchar[10]; +DUK_INTERNAL_DECL const duk_uint8_t duk_unicode_xutf8_markers[7]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_digit[2]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_white[22]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_wordchar[8]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_not_digit[4]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_not_white[24]; +DUK_INTERNAL_DECL const duk_uint16_t duk_unicode_re_ranges_not_wordchar[10]; +DUK_INTERNAL_DECL const duk_int8_t duk_is_idchar_tab[128]; #endif /* !DUK_SINGLE_FILE */ /* @@ -11383,7 +8461,8 @@ 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_hobject *outer_lex_env, + duk_bool_t add_auto_proto); /* call handling */ DUK_INTERNAL_DECL duk_int_t duk_handle_call_protected(duk_hthread *thr, duk_idx_t num_stack_args, duk_small_uint_t call_flags); @@ -11488,7 +8567,8 @@ DUK_INTERNAL_DECL void duk_numconv_parse(duk_context *ctx, duk_small_int_t radix #endif /* DUK_NUMCONV_H_INCLUDED */ #line 1 "duk_bi_protos.h" /* - * Prototypes for all built-in functions. + * Prototypes for built-in functions not automatically covered by the + * header declarations emitted by genbuiltins.py. */ #ifndef DUK_BUILTIN_PROTOS_H_INCLUDED @@ -11508,62 +8588,6 @@ DUK_INTERNAL_DECL void duk_numconv_parse(duk_context *ctx, duk_small_int_t radix */ #define DUK_BI_COMMONJS_MODULE_ID_LIMIT 256 -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_constructor_is_array(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_concat(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_join_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_pop(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_push(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_reverse(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_shift(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_slice(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_sort(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_splice(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_unshift(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_indexof_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_iter_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_array_prototype_reduce_shared(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_boolean_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_boolean_prototype_tostring_shared(duk_context *ctx); - -/* XXX: naming is inconsistent with other builtins, "prototype" not used as - * part of function name. - */ -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_prototype_tostring_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_readfield(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_writefield(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_compare_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_buffer_slice_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_arraybuffer_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_arraybuffer_isview(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_dataview_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_typedarray_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_typedarray_set(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_concat(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_is_encoding(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_is_buffer(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_byte_length(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_tostring(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_tojson(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_fill(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_copy(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_nodejs_buffer_write(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_parse(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_utc(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_constructor_now(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_tostring_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_value_of(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_to_json(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_get_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_get_timezone_offset(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_set_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_date_prototype_set_time(duk_context *ctx); /* Helpers exposed for internal use */ DUK_INTERNAL_DECL void duk_bi_date_timeval_to_parts(duk_double_t d, duk_int_t *parts, duk_double_t *dparts, duk_small_uint_t flags); DUK_INTERNAL_DECL duk_double_t duk_bi_date_get_timeval_from_dparts(duk_double_t *dparts, duk_small_uint_t flags); @@ -11598,44 +8622,6 @@ DUK_INTERNAL_DECL duk_bool_t duk_bi_date_parse_string_getdate(duk_context *ctx, DUK_INTERNAL_DECL duk_bool_t duk_bi_date_format_parts_strftime(duk_context *ctx, duk_int_t *parts, duk_int_t tzoffset, duk_small_uint_t flags); #endif -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_info(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_act(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_gc(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_fin(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_enc(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_dec(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_duktape_object_compact(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_constructor_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_stack_getter(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_filename_getter(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_linenumber_getter(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_stack_setter(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_filename_setter(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_error_prototype_linenumber_setter(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_apply(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_call(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_function_prototype_bind(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_eval(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_parse_int(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_parse_float(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_is_nan(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_is_finite(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_decode_uri(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_decode_uri_component(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_encode_uri(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_encode_uri_component(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_escape(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_unescape(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_print_helper(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_global_object_require(duk_context *ctx); - DUK_INTERNAL_DECL void duk_bi_json_parse_helper(duk_context *ctx, duk_idx_t idx_value, @@ -11647,87 +8633,6 @@ void duk_bi_json_stringify_helper(duk_context *ctx, duk_idx_t idx_replacer, duk_idx_t idx_space, duk_small_uint_t flags); -DUK_INTERNAL_DECL duk_ret_t duk_bi_json_object_parse(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_json_object_stringify(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_onearg_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_twoarg_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_max(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_min(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_math_object_random(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_locale_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_value_of(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_fixed(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_exponential(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_number_prototype_to_precision(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_getprototype_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_setprototype_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_get_own_property_descriptor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_create(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_define_property(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_define_properties(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_seal_freeze_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_prevent_extensions(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_is_sealed_frozen_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_is_extensible(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_constructor_keys_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_to_locale_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_value_of(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_has_own_property(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_is_prototype_of(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_object_prototype_property_is_enumerable(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_pointer_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_pointer_prototype_tostring_shared(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_exec(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_test(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_regexp_prototype_to_string(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_constructor_from_char_code(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_to_string(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_char_at(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_char_code_at(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_concat(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_indexof_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_locale_compare(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_match(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_replace(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_search(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_slice(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_split(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_substring(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_caseconv_shared(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_trim(duk_context *ctx); -/* Note: present even if DUK_USE_SECTION_B undefined given because genbuiltins.py - * will point to it. - */ -DUK_INTERNAL_DECL duk_ret_t duk_bi_string_prototype_substr(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_proxy_constructor(duk_context *ctx); -#if 0 /* unimplemented now */ -DUK_INTERNAL_DECL duk_ret_t duk_bi_proxy_constructor_revocable(duk_context *ctx); -#endif - -DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_resume(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_yield(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_thread_current(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_constructor(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_fmt(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_raw(duk_context *ctx); -DUK_INTERNAL_DECL duk_ret_t duk_bi_logger_prototype_log_shared(duk_context *ctx); - -DUK_INTERNAL_DECL duk_ret_t duk_bi_type_error_thrower(duk_context *ctx); #endif /* DUK_BUILTIN_PROTOS_H_INCLUDED */ #line 1 "duk_selftest.h" @@ -11746,6 +8651,89 @@ DUK_INTERNAL_DECL void duk_selftest_run_tests(void); #line 78 "duk_internal.h" #endif /* DUK_INTERNAL_H_INCLUDED */ +#line 1 "duk_replacements.c" +/* + * Replacements for missing platform functions. + * + * Unlike the originals, fpclassify() and signbit() replacements don't + * work on any floating point types, only doubles. The C typing here + * mimics the standard prototypes. + */ + +/* include removed: duk_internal.h */ + +#if defined(DUK_USE_COMPUTED_NAN) +DUK_INTERNAL double duk_computed_nan; +#endif + +#if defined(DUK_USE_COMPUTED_INFINITY) +DUK_INTERNAL double duk_computed_infinity; +#endif + +#if defined(DUK_USE_REPL_FPCLASSIFY) +DUK_INTERNAL int duk_repl_fpclassify(double x) { + duk_double_union u; + duk_uint_fast16_t expt; + duk_small_int_t mzero; + + u.d = x; + expt = (duk_uint_fast16_t) (u.us[DUK_DBL_IDX_US0] & 0x7ff0UL); + if (expt > 0x0000UL && expt < 0x7ff0UL) { + /* expt values [0x001,0x7fe] = normal */ + return DUK_FP_NORMAL; + } + + mzero = (u.ui[DUK_DBL_IDX_UI1] == 0 && (u.ui[DUK_DBL_IDX_UI0] & 0x000fffffUL) == 0); + if (expt == 0x0000UL) { + /* expt 0x000 is zero/subnormal */ + if (mzero) { + return DUK_FP_ZERO; + } else { + return DUK_FP_SUBNORMAL; + } + } else { + /* expt 0xfff is infinite/nan */ + if (mzero) { + return DUK_FP_INFINITE; + } else { + return DUK_FP_NAN; + } + } +} +#endif + +#if defined(DUK_USE_REPL_SIGNBIT) +DUK_INTERNAL int duk_repl_signbit(double x) { + duk_double_union u; + u.d = x; + return (int) (u.uc[DUK_DBL_IDX_UC0] & 0x80UL); +} +#endif + +#if defined(DUK_USE_REPL_ISFINITE) +DUK_INTERNAL int duk_repl_isfinite(double x) { + int c = DUK_FPCLASSIFY(x); + if (c == DUK_FP_NAN || c == DUK_FP_INFINITE) { + return 0; + } else { + return 1; + } +} +#endif + +#if defined(DUK_USE_REPL_ISNAN) +DUK_INTERNAL int duk_repl_isnan(double x) { + int c = DUK_FPCLASSIFY(x); + return (c == DUK_FP_NAN); +} +#endif + +#if defined(DUK_USE_REPL_ISINF) +DUK_INTERNAL int duk_repl_isinf(double x) { + int c = DUK_FPCLASSIFY(x); + return (c == DUK_FP_INFINITE); +} +#endif #line 1 "duk_strings.c" /* * Shared error message strings @@ -11780,7 +8768,6 @@ DUK_INTERNAL const char *duk_str_sprintf_too_long = "sprintf message too long"; DUK_INTERNAL const char *duk_str_alloc_failed = "alloc failed"; DUK_INTERNAL const char *duk_str_pop_too_many = "attempt to pop too many entries"; DUK_INTERNAL const char *duk_str_wrong_buffer_type = "wrong buffer type"; -DUK_INTERNAL const char *duk_str_failed_to_extend_valstack = "failed to extend valstack"; DUK_INTERNAL const char *duk_str_encode_failed = "encode failed"; DUK_INTERNAL const char *duk_str_decode_failed = "decode failed"; DUK_INTERNAL const char *duk_str_no_sourcecode = "no sourcecode"; @@ -11798,7 +8785,6 @@ DUK_INTERNAL const char *duk_str_cyclic_input = "cyclic input"; /* Object property access */ DUK_INTERNAL const char *duk_str_proxy_revoked = "proxy revoked"; -DUK_INTERNAL const char *duk_str_object_resize_failed = "object resize failed"; DUK_INTERNAL const char *duk_str_invalid_base = "invalid base value"; DUK_INTERNAL const char *duk_str_strict_caller_read = "attempt to read strict 'caller'"; DUK_INTERNAL const char *duk_str_proxy_rejected = "proxy rejected"; @@ -11836,9 +8822,6 @@ DUK_INTERNAL const char *duk_str_invalid_func_name = "invalid function name"; DUK_INTERNAL const char *duk_str_invalid_getset_name = "invalid getter/setter name"; DUK_INTERNAL const char *duk_str_func_name_required = "function name required"; -/* Executor */ -DUK_INTERNAL const char *duk_str_internal_error_exec_longjmp = "internal error in bytecode executor longjmp handler"; - /* Regexp */ DUK_INTERNAL const char *duk_str_invalid_quantifier_no_atom = "quantifier without preceding atom"; DUK_INTERNAL const char *duk_str_invalid_quantifier_values = "quantifier values invalid (qmin > qmax)"; @@ -11848,15 +8831,11 @@ DUK_INTERNAL const char *duk_str_unexpected_end_of_pattern = "unexpected end of DUK_INTERNAL const char *duk_str_unexpected_regexp_token = "unexpected token in regexp"; DUK_INTERNAL const char *duk_str_invalid_regexp_flags = "invalid regexp flags"; DUK_INTERNAL const char *duk_str_invalid_backrefs = "invalid backreference(s)"; -DUK_INTERNAL const char *duk_str_regexp_backtrack_failed = "regexp backtrack failed"; -DUK_INTERNAL const char *duk_str_regexp_advance_failed = "regexp advance failed"; -DUK_INTERNAL const char *duk_str_regexp_internal_error = "regexp internal error"; /* Limits */ DUK_INTERNAL const char *duk_str_valstack_limit = "valstack limit"; DUK_INTERNAL const char *duk_str_callstack_limit = "callstack limit"; DUK_INTERNAL const char *duk_str_catchstack_limit = "catchstack limit"; -DUK_INTERNAL const char *duk_str_object_property_limit = "object property limit"; DUK_INTERNAL const char *duk_str_prototype_chain_limit = "prototype chain limit"; DUK_INTERNAL const char *duk_str_bound_chain_limit = "function call bound chain limit"; DUK_INTERNAL const char *duk_str_c_callstack_limit = "C call stack depth limit"; @@ -11871,8 +8850,6 @@ DUK_INTERNAL const char *duk_str_regexp_executor_recursion_limit = "regexp execu DUK_INTERNAL const char *duk_str_regexp_executor_step_limit = "regexp step limit"; /* Misc */ -DUK_INTERNAL const char *duk_str_anon = "anon"; -DUK_INTERNAL const char *duk_str_realloc_failed = "realloc failed"; #line 1 "duk_debug_macros.c" /* * Debugging macro calls. @@ -12025,140 +9002,66 @@ DUK_INTERNAL void duk_debug_log(const char *fmt, ...) { /* include removed: duk_internal.h */ -#if defined(DUK_USE_DOUBLE_LE) -DUK_INTERNAL const duk_uint8_t duk_strings_data[2624] = { -55,86,227,24,145,55,102,120,144,3,63,94,228,54,100,137,186,50,11,164,109, -77,215,5,61,35,106,206,149,110,4,254,219,237,58,8,196,24,103,74,183,2,127, -103,246,93,4,98,12,47,180,67,103,246,127,101,208,70,32,194,186,134,207,236, -254,203,160,140,65,133,246,136,108,254,199,237,186,8,196,24,87,80,217,253, -143,219,116,17,136,49,30,209,13,159,220,116,75,3,30,65,244,17,136,48,174, -209,13,159,220,116,17,136,48,158,161,179,251,142,130,49,6,17,209,130,96, -237,80,75,47,160,140,65,142,134,133,41,34,110,134,133,41,34,3,25,110,8,22, -158,130,38,163,8,217,200,158,76,156,210,117,128,153,203,210,70,46,137,187, -18,27,164,187,201,209,130,100,55,91,70,4,145,63,66,231,44,128,105,187,41, -197,13,49,122,8,196,24,71,75,70,138,104,115,77,215,5,36,20,201,214,209,107, -79,104,209,144,168,105,6,207,251,209,104,209,125,212,227,66,127,235,191, -239,232,180,90,52,95,69,247,83,141,9,255,174,255,191,162,211,80,210,253,23, -221,78,52,39,254,183,254,254,139,72,105,126,139,238,167,26,19,255,91,255, -127,69,166,129,191,69,247,83,141,9,255,175,255,191,162,213,26,50,23,232, -190,234,113,161,63,245,115,119,86,227,118,83,138,26,98,9,110,48,86,22,148, -160,152,22,82,70,46,137,44,8,180,163,32,104,98,206,32,17,7,16,88,101,100, -206,42,70,36,108,205,18,74,140,33,196,230,60,2,152,146,33,38,230,8,36,79, -182,251,65,156,151,24,200,33,145,162,25,80,209,24,67,0,166,68,52,174,61,73, -25,33,205,25,27,84,177,195,234,220,1,144,105,99,135,217,16,17,17,208,72, -199,179,60,93,100,146,49,232,162,64,76,135,19,152,244,44,136,223,98,67,4, -18,33,247,217,158,36,0,209,190,156,13,26,201,21,111,165,67,64,180,100,145, -62,250,32,45,100,33,55,214,1,229,223,65,19,72,187,236,206,137,35,125,120, -190,201,104,105,15,190,201,212,136,136,125,246,160,137,27,83,239,171,37, -200,218,159,125,168,34,192,61,27,233,93,22,1,114,78,250,28,76,130,112,200, -93,245,164,188,207,190,204,17,49,38,109,246,160,93,8,119,185,13,153,34,173, -246,113,0,136,48,76,10,90,26,78,182,140,9,34,130,161,100,235,64,194,9,226, -44,166,1,41,221,153,226,235,118,120,121,58,72,197,209,63,71,69,76,15,34, -164,73,244,171,112,39,246,223,104,169,18,125,42,220,9,253,159,217,38,68, -159,104,134,207,236,254,201,18,36,250,134,207,236,254,201,50,36,251,68,54, -127,99,246,200,145,39,212,54,127,99,246,200,145,39,218,33,179,251,131,200, -147,234,27,63,184,81,137,62,149,110,4,254,219,237,20,98,79,165,91,129,63, -179,251,36,152,147,237,16,217,253,159,217,32,196,159,80,217,253,159,217,36, -196,159,104,134,207,236,126,217,6,36,250,134,207,236,126,217,6,36,251,68, -54,127,112,115,18,125,67,103,247,8,149,2,8,196,24,143,131,137,146,90,121, -35,162,44,140,35,102,160,226,100,235,138,89,18,102,13,10,82,68,200,151,106, -130,88,131,4,192,73,225,228,85,162,137,147,168,108,252,18,42,209,68,201, -212,54,126,89,23,104,162,100,245,17,230,207,193,34,237,20,76,158,162,60, -217,249,100,109,162,137,147,163,117,2,178,120,36,109,162,137,147,163,117,2, -178,121,100,101,162,137,147,165,91,129,63,4,140,180,81,50,116,171,112,39, -229,145,150,138,38,78,161,179,251,63,178,240,72,203,69,19,39,80,217,253, -159,217,121,100,109,162,137,147,212,71,155,63,179,251,47,4,141,180,81,50, -122,136,243,103,246,127,101,229,145,150,138,38,78,161,179,251,31,182,240, -72,203,69,19,39,80,217,253,143,219,121,100,109,162,137,147,212,71,155,63, -177,251,111,4,141,180,81,50,122,136,243,103,246,63,109,229,145,54,138,38, -78,161,179,251,133,90,40,153,61,68,121,179,251,132,196,128,31,80,217,248, -36,76,72,1,245,13,159,150,69,68,128,31,168,143,54,126,9,21,18,0,126,162,60, -217,249,100,100,72,1,244,110,160,86,79,4,140,137,0,62,141,212,10,201,229, -145,113,32,7,210,173,192,159,130,69,196,128,31,74,183,2,126,89,23,18,0,125, -67,103,246,127,101,224,145,113,32,7,212,54,127,103,246,94,89,25,18,0,126, -162,60,217,253,159,217,120,36,100,72,1,250,136,243,103,246,127,101,229,145, -113,32,7,212,54,127,99,246,222,9,23,18,0,125,67,103,246,63,109,229,145,145, -32,7,234,35,205,159,216,253,183,130,70,68,128,31,168,143,54,127,99,246,222, -89,17,18,0,125,67,103,247,9,137,0,63,81,30,108,254,224,130,115,240,98,66, -128,92,136,84,45,101,180,81,50,28,78,99,193,18,40,56,153,58,178,52,211,58, -17,46,134,133,41,34,164,75,164,104,156,52,52,199,37,222,232,206,66,64,207, -18,66,136,137,19,173,62,46,155,181,167,72,147,235,226,233,186,120,121,58, -226,157,214,111,84,76,73,36,109,24,72,130,100,112,200,178,76,157,124,92, -242,70,120,25,193,34,245,241,117,240,97,1,107,33,25,212,54,160,90,7,244,29, -24,38,66,254,223,215,125,119,215,126,232,190,43,226,67,244,1,250,193,125, -111,216,11,234,254,192,63,96,159,173,234,26,84,53,19,194,126,175,168,105, -80,212,79,8,234,26,84,53,19,193,156,20,144,83,52,167,20,52,198,109,24,18, -68,225,115,150,64,53,52,104,200,84,52,131,76,167,20,52,200,46,7,48,52,146, -132,102,57,33,165,139,168,209,154,32,104,220,193,189,214,27,16,209,176,23, -26,220,98,149,110,116,70,75,188,98,116,136,34,33,101,4,192,223,178,32,38,6, -144,18,67,72,1,58,67,0,100,95,74,17,159,217,31,210,132,103,246,58,251,33, -121,232,55,150,227,125,143,216,16,190,91,141,246,68,31,150,223,178,39,150, -223,177,251,0,244,135,97,37,32,24,132,104,24,66,161,175,164,202,134,140, -151,39,212,125,255,221,125,74,86,9,79,168,104,201,116,178,139,154,22,134, -145,72,51,93,18,116,64,145,13,39,82,34,33,38,73,76,132,185,4,185,187,198, -100,229,233,197,13,49,228,73,247,4,4,78,98,79,184,32,34,105,187,201,147, -154,185,187,200,147,165,233,197,13,50,230,239,82,98,151,167,20,52,206,145, -39,234,76,69,245,22,190,224,128,138,228,73,244,180,90,251,130,2,43,145,39, -234,76,76,243,155,51,162,68,159,88,230,204,234,145,39,234,76,67,240,38,67, -200,147,232,193,50,46,68,159,169,49,31,206,164,100,137,18,125,59,169,25,54, -68,159,169,49,51,200,109,38,73,42,68,159,88,134,210,100,147,100,73,250,147, -20,188,65,57,163,146,164,73,246,68,19,154,57,74,68,159,169,49,51,200,90, -209,34,9,205,28,159,34,79,172,66,214,137,16,78,104,228,121,18,125,154,24, -72,152,147,236,208,194,101,205,39,92,82,200,147,145,137,63,82,98,103,144, -181,162,68,19,154,57,60,196,159,88,133,173,18,32,156,209,201,166,36,253,73, -138,94,32,156,209,201,70,36,251,34,9,205,28,154,98,79,212,152,153,228,54, -147,36,148,98,79,172,67,105,50,73,102,36,253,73,136,254,117,35,36,24,147, -233,221,72,201,38,36,253,73,136,126,6,12,98,79,163,6,20,98,79,212,152,135, -224,76,135,49,39,209,130,100,89,137,63,82,98,103,156,217,157,6,36,250,199, -54,103,113,137,63,82,98,47,168,181,247,4,4,86,98,79,165,162,215,220,16,17, -57,137,62,205,12,36,166,238,173,194,2,201,217,161,132,236,167,20,52,210, -155,186,183,8,11,39,70,9,147,178,156,80,211,50,110,236,208,194,118,83,138, -26,102,77,221,24,38,78,202,113,67,76,54,186,195,245,38,34,188,17,145,23,55, -117,241,32,145,36,57,173,155,186,75,189,205,35,102,128,44,243,119,74,139, -144,113,243,221,36,77,21,38,144,210,161,168,158,35,230,144,192,154,42,77, -33,165,67,81,60,15,173,7,90,159,49,13,213,64,186,17,62,96,47,170,129,116, -33,165,64,202,113,36,226,134,70,110,234,220,32,44,157,163,222,72,244,64, -145,23,55,118,143,121,35,209,2,68,140,221,213,184,64,89,58,183,88,145,232, -129,34,46,110,234,221,98,71,162,4,136,153,80,50,156,80,211,22,79,90,38,105, -16,17,17,207,18,61,96,17,10,192,76,71,106,220,32,44,157,19,152,240,68,138, -17,193,30,137,195,39,65,51,8,224,143,65,54,22,46,103,68,112,71,162,112,200, -184,144,116,17,59,20,24,243,52,72,58,8,134,42,23,50,68,108,3,206,87,71,164, -0,142,73,57,132,41,42,72,225,107,4,167,212,52,100,191,92,83,161,163,37,250, -226,158,141,145,208,89,154,79,90,4,66,73,209,153,100,180,8,133,145,208,89, -158,36,169,35,34,17,244,145,198,247,60,137,114,26,97,57,162,4,206,137,116, -17,136,48,144,68,212,97,27,57,24,64,90,201,18,5,13,25,4,5,172,160,123,215, -138,62,46,121,35,60,117,18,233,27,70,18,32,10,200,212,75,175,139,166,233, -225,228,235,138,227,130,93,117,155,215,197,207,36,103,131,212,11,161,58, -226,186,110,234,220,32,44,157,148,226,134,153,19,119,101,56,161,166,88,156, -217,78,52,20,221,17,200,147,25,137,53,17,180,97,34,0,172,140,19,154,84,26, -145,0,86,68,90,40,152,2,178,22,160,93,8,69,19,18,98,37,210,94,100,108,144, -21,145,8,151,75,23,100,141,66,37,217,16,11,32,226,248,146,164,108,250,75, -204,141,146,28,217,24,177,33,50,66,72,128,92,6,66,161,164,235,226,231,146, -51,65,36,225,144,168,105,58,248,185,228,140,240,97,68,128,153,38,98,79,174, -179,122,248,185,228,140,241,214,129,132,150,12,73,245,214,111,95,23,60,145, -158,58,50,72,81,67,230,232,184,196,159,95,23,77,211,195,201,215,21,47,139, -166,233,225,228,50,200,211,76,229,2,201,25,149,241,67,102,138,52,146,16,30, -67,18,66,3,201,34,52,78,25,61,72,160,94,115,30,230,145,179,73,26,39,12,158, -164,81,33,144,78,25,61,72,160,94,115,30,230,145,179,72,200,39,12,158,164, -80,132,75,165,67,81,50,21,18,235,65,214,169,224,140,137,210,173,192,154,30, -8,200,157,67,102,66,84,11,71,169,20,19,209,139,162,158,207,15,39,73,24,186, -43,236,176,217,130,253,36,98,232,187,177,33,73,18,52,68,233,35,23,69,93, -136,26,98,116,145,139,162,158,146,160,95,73,24,186,37,12,72,5,16,64,145,10, -32,76,71,64,156,217,161,180,34,6,64,208,198,36,78,50,20,20,92,204,50,44, -147,32,134,226,17,114,33,202,134,129,107,192,202,232,160,180,104,166,135, -52,72,40,144,213,33,178,152,26,34,56,163,105,44,104,146,116,139,77,43,34, -98,57,38,116,72,179,60,93,97,206,56,52,240,242,56,163,168,34,81,57,178,153, -42,228,12,182,58,22,66,89,19,57,68,176,74,68,35,104,195,18,239,116,102,114, -94,100,104,228,100,49,238,140,203,42,60,145,35,104,181,146,113,161,10,80, -46,68,82,24,245,145,132,108,228,148,54,100,137,64,34,13,100,153,222,1,40,6, -33,223,20,84,19,34,95,23,76,130,153,6,103,208,43,64,141,41,130,104,17,112, -130,44,96, +#if defined(DUK_USE_ROM_STRINGS) +#error ROM support not enabled, rerun make_dist.py with --rom-support +#else /* DUK_USE_ROM_STRINGS */ +DUK_INTERNAL const duk_uint8_t duk_strings_data[1049] = { +79,104,209,144,168,105,6,78,182,139,90,122,8,154,140,35,103,35,117,193,73, +5,52,116,180,104,166,135,52,189,4,98,12,27,178,156,80,211,31,161,115,150, +64,52,221,109,24,18,68,157,24,38,67,118,36,55,73,119,151,164,140,93,18,117, +128,153,201,228,201,205,2,250,8,196,24,232,104,82,146,40,232,193,48,118, +168,37,147,212,54,127,113,208,70,32,194,187,68,54,127,113,208,70,32,196, +123,68,54,127,113,209,44,12,121,7,208,70,32,194,186,134,207,236,126,219, +160,140,65,133,246,136,108,254,199,237,186,8,196,24,87,80,217,253,159,217, +116,17,136,48,190,209,13,159,217,253,151,65,24,131,12,233,86,224,79,236, +254,203,160,140,65,134,116,171,112,39,246,223,105,208,70,32,193,140,183,4, +11,55,92,20,244,141,169,186,50,11,164,109,77,208,208,165,36,79,215,185,13, +153,34,110,204,241,32,6,66,84,11,112,200,84,52,157,124,92,242,70,120,45,64, +186,17,22,138,38,0,172,140,19,154,84,26,145,0,86,69,17,180,97,34,0,172,132, +75,144,215,77,221,91,132,5,147,178,156,80,211,30,160,93,9,215,21,115,119, +169,49,75,211,138,26,101,205,222,68,157,47,78,40,105,151,55,120,204,156, +189,56,161,166,52,157,72,136,138,65,154,232,147,162,4,136,150,81,115,66, +208,210,37,96,148,250,134,140,151,39,212,125,255,221,125,73,80,209,146,233, +124,93,55,79,15,34,196,230,202,113,160,166,232,157,132,148,128,98,28,46, +114,200,6,153,180,96,73,19,74,113,67,76,103,5,36,20,211,70,140,133,67,72, +49,245,160,235,81,212,52,168,106,39,132,253,111,80,210,161,168,158,5,245, +191,96,31,172,15,208,23,226,190,131,232,62,131,232,11,251,127,93,245,223, +93,251,172,234,27,80,45,3,250,14,140,19,34,65,19,81,132,108,228,97,1,107, +33,12,32,45,100,136,206,9,12,196,155,134,69,146,100,235,226,231,146,51,194, +72,218,48,145,4,200,119,89,189,81,49,39,72,147,235,226,233,186,120,121,58, +226,167,90,124,93,55,107,71,137,33,68,68,130,64,206,75,189,209,156,144,84, +44,141,3,8,137,187,178,156,80,211,26,110,242,100,230,146,120,121,8,48,76,6, +89,26,105,157,65,196,201,213,145,166,153,212,28,76,157,113,75,34,78,62,14, +38,73,105,228,142,136,178,48,141,152,228,73,150,83,0,148,39,137,75,67,73, +214,209,129,36,85,190,206,32,17,6,9,128,141,3,8,130,161,100,235,64,194,24, +52,41,73,19,189,200,108,201,19,111,181,2,232,66,239,173,37,230,157,244,56, +153,4,225,145,27,233,93,22,1,114,62,251,80,69,128,121,247,213,146,228,109, +79,190,212,17,35,106,125,246,78,164,68,68,111,175,23,217,45,13,33,119,208, +68,210,38,250,192,61,91,233,80,208,45,25,36,81,190,156,13,26,201,19,239, +162,2,214,66,31,125,153,226,64,13,27,236,72,96,130,68,62,251,48,68,196,153, +119,217,157,18,56,156,199,161,100,42,26,250,77,36,140,122,40,144,19,34,9, +24,246,103,139,172,150,56,125,145,1,17,29,44,112,250,183,0,100,24,200,218, +140,228,185,130,9,19,237,190,208,73,184,146,35,68,146,163,8,50,178,99,136, +44,89,196,2,33,70,64,208,196,67,74,226,88,17,105,73,24,186,37,40,38,5,133, +161,89,4,183,25,115,119,86,227,118,83,138,26,103,255,223,209,106,141,25,11, +244,95,117,56,208,159,250,223,251,250,45,52,13,250,47,186,156,104,79,253, +111,253,253,22,144,210,253,23,221,78,52,39,254,187,254,254,139,77,67,75, +244,95,117,56,208,159,250,239,251,250,45,22,141,23,209,125,212,227,66,127, +235,63,239,69,163,69,247,83,141,9,255,165,12,72,5,16,64,145,10,32,76,71,64, +156,217,161,180,34,6,64,208,198,36,78,50,20,20,92,204,50,44,147,32,134,226, +17,114,33,202,134,129,107,192,202,232,160,180,104,166,135,52,72,40,144,213, +33,178,152,26,34,56,163,105,44,104,146,116,139,77,43,34,98,57,38,116,72, +179,60,93,97,206,56,52,240,242,56,163,168,34,81,57,178,153,42,228,12,182, +58,22,66,89,19,57,68,176,74,68,35,104,195,18,239,116,102,114,94,100,104, +228,100,49,238,140,203,42,60,145,35,104,181,146,113,161,10,80,46,68,82,24, +245,145,132,108,228,148,54,100,137,64,34,13,100,153,222,1,40,6,33,223,20, +84,19,34,95,23,76,130,153,6,103,208,43,64,141,41,130,104,17,112,130,44,96, }; +#endif /* DUK_USE_ROM_STRINGS */ -/* to convert a heap stridx to a token number, subtract - * DUK_STRIDX_START_RESERVED and add DUK_TOK_START_RESERVED. - */ - +#if defined(DUK_USE_ROM_OBJECTS) +#error ROM support not enabled, rerun make_dist.py with --rom-support +#else /* DUK_USE_ROM_OBJECTS */ /* native functions: 149 */ DUK_INTERNAL const duk_c_function duk_bi_native_functions[149] = { duk_bi_array_constructor, @@ -12311,95 +9214,7 @@ DUK_INTERNAL const duk_c_function duk_bi_native_functions[149] = { duk_bi_typedarray_constructor, duk_bi_typedarray_set, }; - -DUK_INTERNAL const duk_uint8_t duk_builtins_data[1955] = { -105,195,75,32,121,40,105,53,14,252,104,54,8,131,72,0,115,225,65,165,244,55, -243,6,145,32,210,24,210,186,25,249,35,120,216,99,226,13,79,33,116,177,164, -180,44,192,4,202,52,150,220,24,0,169,70,146,219,123,0,23,40,210,91,110,96, -3,37,26,75,109,172,0,108,163,73,109,177,128,14,148,105,45,181,176,1,242, -144,56,209,36,94,6,167,133,98,80,211,28,1,250,67,72,168,67,232,13,46,192, -47,162,52,165,0,62,80,163,72,128,61,40,107,26,7,37,20,53,201,131,88,0,66, -134,185,48,98,80,215,38,11,96,0,138,26,228,193,76,0,69,67,92,152,37,128,6, -168,107,147,4,48,1,165,13,114,96,118,0,44,161,174,76,12,192,7,148,53,201, -129,88,1,26,134,165,80,130,80,31,255,241,69,224,0,0,0,0,0,0,124,63,174,32, -0,0,0,0,0,0,120,63,175,98,7,140,16,116,194,7,12,48,108,196,6,140,80,100, -198,6,12,112,92,200,5,140,149,192,202,91,204,181,184,204,91,76,213,176,206, -90,204,240,84,208,5,13,9,124,210,43,13,24,64,226,131,205,112,56,216,3,77, -152,48,218,130,205,184,40,220,130,77,216,32,222,129,205,248,24,224,129,78, -25,214,164,2,90,81,17,104,67,37,157,8,150,100,18,89,78,201,100,60,37,140, -244,150,35,226,88,79,201,96,71,37,125,20,122,188,138,62,0,2,165,70,39,255, -255,193,43,67,0,0,80,127,192,58,182,220,80,0,21,59,170,64,0,107,77,8,172, -181,146,176,202,138,187,59,42,204,200,170,182,146,168,218,80,0,26,155,97, -42,77,68,168,181,20,0,6,160,210,74,123,89,64,0,127,255,4,10,153,219,157,70, -163,185,130,140,228,10,43,160,40,141,228,161,184,18,132,226,64,161,127,128, -0,63,225,1,109,74,8,137,71,58,5,4,221,20,3,147,233,249,193,240,80,255,192, -6,120,2,64,127,195,0,173,28,56,20,96,80,128,0,206,192,143,167,64,164,156, -131,2,112,14,125,55,9,4,216,40,19,80,180,77,3,9,51,13,94,153,7,159,76,64, -207,192,0,102,0,103,255,255,242,240,67,73,112,33,168,0,12,180,16,212,0,10, -88,8,106,0,7,43,4,53,0,4,149,4,31,128,0,202,66,15,255,255,194,137,254,0,50, -135,227,224,127,196,2,87,132,17,82,143,24,10,44,96,36,240,4,147,64,146,119, -4,125,49,131,52,152,65,154,128,0,201,97,9,36,133,36,142,25,18,40,114,77,98, -17,33,137,68,130,45,17,247,240,71,159,193,29,127,8,0,12,113,252,32,0,49, -184,208,70,162,144,20,95,240,0,7,252,80,37,120,193,81,196,194,0,3,69,19,0, -81,191,197,140,192,255,255,255,255,255,255,239,127,140,64,1,0,0,0,0,0,0,0, -139,192,0,0,0,0,0,0,248,127,138,192,0,0,0,0,0,0,240,127,139,64,0,0,0,0,0,0, -240,255,0,31,241,128,149,224,0,0,0,0,0,0,0,0,13,71,98,37,25,128,148,86,48, -69,23,201,19,94,36,73,132,129,71,255,0,56,136,233,34,3,223,208,241,192,3, -254,56,18,188,128,0,0,0,0,0,15,135,251,104,228,128,135,18,4,0,6,26,72,16,0, -42,49,32,64,0,225,132,129,0,4,133,146,4,0,21,210,72,16,0,103,65,32,64,1, -220,228,100,162,146,130,20,74,8,72,248,64,2,33,3,225,0,9,131,143,132,0,42, -12,62,16,0,184,40,248,64,3,32,131,225,0,13,129,143,132,0,58,4,62,16,0,248, -8,248,64,4,32,3,225,0,17,127,143,132,0,73,252,62,16,1,55,232,248,64,5,31, -131,225,0,21,125,143,132,0,89,244,62,16,1,119,201,0,31,4,68,123,144,148,0, -97,236,66,80,1,151,169,10,248,0,211,208,133,124,0,109,230,66,254,0,56,242, -33,127,0,29,120,144,207,128,15,60,8,103,192,7,221,228,37,0,32,119,16,148,0, -133,218,66,190,0,68,236,33,95,0,35,117,144,191,128,18,58,136,95,192,9,92, -195,225,0,38,114,144,148,0,156,41,31,224,0,15,249,1,138,144,65,192,2,22,0, -88,16,46,24,77,208,148,103,4,102,252,102,244,128,0,0,0,0,0,0,0,0,220,111, -68,113,61,146,142,248,0,164,255,128,0,63,228,133,109,16,89,178,65,18,235, -153,25,150,220,184,188,180,230,6,32,209,205,0,20,175,240,0,39,252,160,77, -162,184,54,72,34,0,82,255,192,0,159,242,193,54,138,222,217,32,136,1,76,255, -0,2,127,204,4,218,43,115,100,130,32,5,55,252,0,9,255,52,19,104,173,173,146, -8,128,20,239,240,0,39,252,224,77,162,182,54,72,34,0,83,255,192,0,159,243, -193,54,138,214,217,32,136,0,255,255,33,177,1,165,92,82,44,42,252,21,1,175, -0,89,86,214,238,197,172,9,1,173,3,188,231,235,249,8,187,152,253,171,3,250, -8,173,149,28,87,220,253,169,0,59,148,152,85,239,47,108,253,167,0,96,181,17, -83,236,132,37,1,165,3,52,237,253,154,122,131,152,253,163,3,52,237,253,154, -122,131,216,253,38,130,129,25,234,5,0,1,103,40,20,0,9,154,160,80,0,54,98, -146,25,106,5,0,4,101,40,20,0,21,146,160,80,0,102,66,129,64,1,216,234,5,0,8, -99,39,47,49,83,215,152,138,73,0,1,97,168,129,132,160,80,0,150,10,129,64,2, -152,10,5,0,11,95,168,20,0,48,31,255,224,5,17,72,66,249,37,129,127,255,0,0, -191,255,128,0,63,255,197,31,192,0,0,0,0,0,80,196,64,8,26,112,17,169,0,154, -80,1,171,28,124,88,65,233,49,7,133,100,29,149,15,14,138,71,135,37,3,195,66, -114,5,77,252,0,243,178,40,25,200,48,101,30,0,127,210,128,0,85,31,192,0,31, -244,224,5,71,22,8,0,13,20,88,1,85,127,0,0,127,212,128,21,29,220,32,0,52,87, -112,5,89,252,0,1,255,86,16,166,64,0,0,0,0,0,0,2,0,170,72,38,29,219,247,16, -49,75,32,193,52,130,244,193,225,114,96,248,0,8,249,48,124,0,8,90,152,62,0, -6,44,76,31,0,4,21,166,15,128,2,147,255,252,38,212,16,184,155,250,226,217, -150,47,46,91,249,54,96,139,229,229,203,127,36,26,119,32,203,203,150,254,72, -52,97,221,147,102,157,217,192,10,191,248,0,157,4,72,15,250,224,1,154,140, -36,0,8,43,31,224,0,15,251,0,16,55,139,164,0,192,220,46,144,2,3,104,186,64, -12,77,130,233,0,33,53,139,164,0,200,212,46,144,2,35,72,186,64,8,205,2,233, -0,36,51,140,180,0,192,204,50,208,2,3,40,203,64,12,76,131,45,0,33,49,140, -180,0,200,196,50,208,2,35,8,203,64,8,204,3,45,0,36,7,255,248,1,82,101,16, -112,24,72,0,8,86,159,193,56,192,0,0,0,0,0,0,240,63,1,151,246,96,0,21,183, -240,78,48,0,0,0,0,0,0,60,15,192,101,253,168,0,5,113,252,19,140,0,0,0,0,0,0, -15,3,240,25,127,110,0,1,93,127,4,227,0,0,0,0,0,0,0,1,0,6,95,220,128,0,87, -159,193,56,192,0,0,0,0,0,0,0,64,1,151,247,96,0,21,247,240,78,48,0,0,0,0,0, -0,4,16,0,101,253,232,0,5,129,252,19,140,0,0,0,0,0,0,1,4,0,25,127,126,0,1, -97,127,4,227,0,0,0,0,0,0,0,65,0,6,95,224,128,0,88,159,193,56,192,0,0,0,0,0, -0,32,64,1,151,248,96,0,22,55,240,5,157,170,33,68,178,69,10,193,20,10,104, -79,138,36,0,12,31,248,160,88,154,23,66,100,93,32,2,9,129,116,128,0,165,197, -210,0,18,150,23,72,0,138,84,93,32,3,41,65,116,128,1,36,197,210,0,20,146,23, -72,0,146,68,93,32,3,73,1,116,128,1,163,197,210,0,22,142,23,72,0,34,52,93, -32,1,136,193,118,128,2,162,197,218,0,26,138,23,104,0,170,36,93,160,3,168, -129,150,33,198,90,0,32,134,25,104,0,10,20,101,160,1,40,65,150,128,8,160, -198,90,0,50,130,25,104,0,18,4,101,160,1,72,1,150,128,9,31,198,90,0,52,126, -25,104,0,25,244,101,160,1,103,193,150,128,2,30,198,90,0,24,122,25,136,0,41, -228,102,32,1,167,129,152,128,10,157,198,98,0,59,71,91,99,157,104,9,213,118, -39,5,8,159,20,40,0,10,109,90,19,81,132,39,151,32, -}; -#ifdef DUK_USE_BUILTIN_INITJS +#if defined(DUK_USE_BUILTIN_INITJS) DUK_INTERNAL const duk_uint8_t duk_initjs_data[187] = { 40,102,117,110,99,116,105,111,110,40,100,44,97,41,123,102,117,110,99,116, 105,111,110,32,98,40,97,44,98,44,99,41,123,79,98,106,101,99,116,46,100,101, @@ -12412,783 +9227,550 @@ DUK_INTERNAL const duk_uint8_t duk_initjs_data[187] = { 125,41,40,116,104,105,115,44,68,117,107,116,97,112,101,41,59,10,0, }; #endif /* DUK_USE_BUILTIN_INITJS */ -#elif defined(DUK_USE_DOUBLE_BE) -DUK_INTERNAL const duk_uint8_t duk_strings_data[2624] = { -55,86,227,24,145,55,102,120,144,3,63,94,228,54,100,137,186,50,11,164,109, -77,215,5,61,35,106,206,149,110,4,254,219,237,58,8,196,24,103,74,183,2,127, -103,246,93,4,98,12,47,180,67,103,246,127,101,208,70,32,194,186,134,207,236, -254,203,160,140,65,133,246,136,108,254,199,237,186,8,196,24,87,80,217,253, -143,219,116,17,136,49,30,209,13,159,220,116,75,3,30,65,244,17,136,48,174, -209,13,159,220,116,17,136,48,158,161,179,251,142,130,49,6,17,209,130,96, -237,80,75,47,160,140,65,142,134,133,41,34,110,134,133,41,34,3,25,110,8,22, -158,130,38,163,8,217,200,158,76,156,210,117,128,153,203,210,70,46,137,187, -18,27,164,187,201,209,130,100,55,91,70,4,145,63,66,231,44,128,105,187,41, -197,13,49,122,8,196,24,71,75,70,138,104,115,77,215,5,36,20,201,214,209,107, -79,104,209,144,168,105,6,207,251,209,104,209,125,212,227,66,127,235,191, -239,232,180,90,52,95,69,247,83,141,9,255,174,255,191,162,211,80,210,253,23, -221,78,52,39,254,183,254,254,139,72,105,126,139,238,167,26,19,255,91,255, -127,69,166,129,191,69,247,83,141,9,255,175,255,191,162,213,26,50,23,232, -190,234,113,161,63,245,115,119,86,227,118,83,138,26,98,9,110,48,86,22,148, -160,152,22,82,70,46,137,44,8,180,163,32,104,98,206,32,17,7,16,88,101,100, -206,42,70,36,108,205,18,74,140,33,196,230,60,2,152,146,33,38,230,8,36,79, -182,251,65,156,151,24,200,33,145,162,25,80,209,24,67,0,166,68,52,174,61,73, -25,33,205,25,27,84,177,195,234,220,1,144,105,99,135,217,16,17,17,208,72, -199,179,60,93,100,146,49,232,162,64,76,135,19,152,244,44,136,223,98,67,4, -18,33,247,217,158,36,0,209,190,156,13,26,201,21,111,165,67,64,180,100,145, -62,250,32,45,100,33,55,214,1,229,223,65,19,72,187,236,206,137,35,125,120, -190,201,104,105,15,190,201,212,136,136,125,246,160,137,27,83,239,171,37, -200,218,159,125,168,34,192,61,27,233,93,22,1,114,78,250,28,76,130,112,200, -93,245,164,188,207,190,204,17,49,38,109,246,160,93,8,119,185,13,153,34,173, -246,113,0,136,48,76,10,90,26,78,182,140,9,34,130,161,100,235,64,194,9,226, -44,166,1,41,221,153,226,235,118,120,121,58,72,197,209,63,71,69,76,15,34, -164,73,244,171,112,39,246,223,104,169,18,125,42,220,9,253,159,217,38,68, -159,104,134,207,236,254,201,18,36,250,134,207,236,254,201,50,36,251,68,54, -127,99,246,200,145,39,212,54,127,99,246,200,145,39,218,33,179,251,131,200, -147,234,27,63,184,81,137,62,149,110,4,254,219,237,20,98,79,165,91,129,63, -179,251,36,152,147,237,16,217,253,159,217,32,196,159,80,217,253,159,217,36, -196,159,104,134,207,236,126,217,6,36,250,134,207,236,126,217,6,36,251,68, -54,127,112,115,18,125,67,103,247,8,149,2,8,196,24,143,131,137,146,90,121, -35,162,44,140,35,102,160,226,100,235,138,89,18,102,13,10,82,68,200,151,106, -130,88,131,4,192,73,225,228,85,162,137,147,168,108,252,18,42,209,68,201, -212,54,126,89,23,104,162,100,245,17,230,207,193,34,237,20,76,158,162,60, -217,249,100,109,162,137,147,163,117,2,178,120,36,109,162,137,147,163,117,2, -178,121,100,101,162,137,147,165,91,129,63,4,140,180,81,50,116,171,112,39, -229,145,150,138,38,78,161,179,251,63,178,240,72,203,69,19,39,80,217,253, -159,217,121,100,109,162,137,147,212,71,155,63,179,251,47,4,141,180,81,50, -122,136,243,103,246,127,101,229,145,150,138,38,78,161,179,251,31,182,240, -72,203,69,19,39,80,217,253,143,219,121,100,109,162,137,147,212,71,155,63, -177,251,111,4,141,180,81,50,122,136,243,103,246,63,109,229,145,54,138,38, -78,161,179,251,133,90,40,153,61,68,121,179,251,132,196,128,31,80,217,248, -36,76,72,1,245,13,159,150,69,68,128,31,168,143,54,126,9,21,18,0,126,162,60, -217,249,100,100,72,1,244,110,160,86,79,4,140,137,0,62,141,212,10,201,229, -145,113,32,7,210,173,192,159,130,69,196,128,31,74,183,2,126,89,23,18,0,125, -67,103,246,127,101,224,145,113,32,7,212,54,127,103,246,94,89,25,18,0,126, -162,60,217,253,159,217,120,36,100,72,1,250,136,243,103,246,127,101,229,145, -113,32,7,212,54,127,99,246,222,9,23,18,0,125,67,103,246,63,109,229,145,145, -32,7,234,35,205,159,216,253,183,130,70,68,128,31,168,143,54,127,99,246,222, -89,17,18,0,125,67,103,247,9,137,0,63,81,30,108,254,224,130,115,240,98,66, -128,92,136,84,45,101,180,81,50,28,78,99,193,18,40,56,153,58,178,52,211,58, -17,46,134,133,41,34,164,75,164,104,156,52,52,199,37,222,232,206,66,64,207, -18,66,136,137,19,173,62,46,155,181,167,72,147,235,226,233,186,120,121,58, -226,157,214,111,84,76,73,36,109,24,72,130,100,112,200,178,76,157,124,92, -242,70,120,25,193,34,245,241,117,240,97,1,107,33,25,212,54,160,90,7,244,29, -24,38,66,254,223,215,125,119,215,126,232,190,43,226,67,244,1,250,193,125, -111,216,11,234,254,192,63,96,159,173,234,26,84,53,19,194,126,175,168,105, -80,212,79,8,234,26,84,53,19,193,156,20,144,83,52,167,20,52,198,109,24,18, -68,225,115,150,64,53,52,104,200,84,52,131,76,167,20,52,200,46,7,48,52,146, -132,102,57,33,165,139,168,209,154,32,104,220,193,189,214,27,16,209,176,23, -26,220,98,149,110,116,70,75,188,98,116,136,34,33,101,4,192,223,178,32,38,6, -144,18,67,72,1,58,67,0,100,95,74,17,159,217,31,210,132,103,246,58,251,33, -121,232,55,150,227,125,143,216,16,190,91,141,246,68,31,150,223,178,39,150, -223,177,251,0,244,135,97,37,32,24,132,104,24,66,161,175,164,202,134,140, -151,39,212,125,255,221,125,74,86,9,79,168,104,201,116,178,139,154,22,134, -145,72,51,93,18,116,64,145,13,39,82,34,33,38,73,76,132,185,4,185,187,198, -100,229,233,197,13,49,228,73,247,4,4,78,98,79,184,32,34,105,187,201,147, -154,185,187,200,147,165,233,197,13,50,230,239,82,98,151,167,20,52,206,145, -39,234,76,69,245,22,190,224,128,138,228,73,244,180,90,251,130,2,43,145,39, -234,76,76,243,155,51,162,68,159,88,230,204,234,145,39,234,76,67,240,38,67, -200,147,232,193,50,46,68,159,169,49,31,206,164,100,137,18,125,59,169,25,54, -68,159,169,49,51,200,109,38,73,42,68,159,88,134,210,100,147,100,73,250,147, -20,188,65,57,163,146,164,73,246,68,19,154,57,74,68,159,169,49,51,200,90, -209,34,9,205,28,159,34,79,172,66,214,137,16,78,104,228,121,18,125,154,24, -72,152,147,236,208,194,101,205,39,92,82,200,147,145,137,63,82,98,103,144, -181,162,68,19,154,57,60,196,159,88,133,173,18,32,156,209,201,166,36,253,73, -138,94,32,156,209,201,70,36,251,34,9,205,28,154,98,79,212,152,153,228,54, -147,36,148,98,79,172,67,105,50,73,102,36,253,73,136,254,117,35,36,24,147, -233,221,72,201,38,36,253,73,136,126,6,12,98,79,163,6,20,98,79,212,152,135, -224,76,135,49,39,209,130,100,89,137,63,82,98,103,156,217,157,6,36,250,199, -54,103,113,137,63,82,98,47,168,181,247,4,4,86,98,79,165,162,215,220,16,17, -57,137,62,205,12,36,166,238,173,194,2,201,217,161,132,236,167,20,52,210, -155,186,183,8,11,39,70,9,147,178,156,80,211,50,110,236,208,194,118,83,138, -26,102,77,221,24,38,78,202,113,67,76,54,186,195,245,38,34,188,17,145,23,55, -117,241,32,145,36,57,173,155,186,75,189,205,35,102,128,44,243,119,74,139, -144,113,243,221,36,77,21,38,144,210,161,168,158,35,230,144,192,154,42,77, -33,165,67,81,60,15,173,7,90,159,49,13,213,64,186,17,62,96,47,170,129,116, -33,165,64,202,113,36,226,134,70,110,234,220,32,44,157,163,222,72,244,64, -145,23,55,118,143,121,35,209,2,68,140,221,213,184,64,89,58,183,88,145,232, -129,34,46,110,234,221,98,71,162,4,136,153,80,50,156,80,211,22,79,90,38,105, -16,17,17,207,18,61,96,17,10,192,76,71,106,220,32,44,157,19,152,240,68,138, -17,193,30,137,195,39,65,51,8,224,143,65,54,22,46,103,68,112,71,162,112,200, -184,144,116,17,59,20,24,243,52,72,58,8,134,42,23,50,68,108,3,206,87,71,164, -0,142,73,57,132,41,42,72,225,107,4,167,212,52,100,191,92,83,161,163,37,250, -226,158,141,145,208,89,154,79,90,4,66,73,209,153,100,180,8,133,145,208,89, -158,36,169,35,34,17,244,145,198,247,60,137,114,26,97,57,162,4,206,137,116, -17,136,48,144,68,212,97,27,57,24,64,90,201,18,5,13,25,4,5,172,160,123,215, -138,62,46,121,35,60,117,18,233,27,70,18,32,10,200,212,75,175,139,166,233, -225,228,235,138,227,130,93,117,155,215,197,207,36,103,131,212,11,161,58, -226,186,110,234,220,32,44,157,148,226,134,153,19,119,101,56,161,166,88,156, -217,78,52,20,221,17,200,147,25,137,53,17,180,97,34,0,172,140,19,154,84,26, -145,0,86,68,90,40,152,2,178,22,160,93,8,69,19,18,98,37,210,94,100,108,144, -21,145,8,151,75,23,100,141,66,37,217,16,11,32,226,248,146,164,108,250,75, -204,141,146,28,217,24,177,33,50,66,72,128,92,6,66,161,164,235,226,231,146, -51,65,36,225,144,168,105,58,248,185,228,140,240,97,68,128,153,38,98,79,174, -179,122,248,185,228,140,241,214,129,132,150,12,73,245,214,111,95,23,60,145, -158,58,50,72,81,67,230,232,184,196,159,95,23,77,211,195,201,215,21,47,139, -166,233,225,228,50,200,211,76,229,2,201,25,149,241,67,102,138,52,146,16,30, -67,18,66,3,201,34,52,78,25,61,72,160,94,115,30,230,145,179,73,26,39,12,158, -164,81,33,144,78,25,61,72,160,94,115,30,230,145,179,72,200,39,12,158,164, -80,132,75,165,67,81,50,21,18,235,65,214,169,224,140,137,210,173,192,154,30, -8,200,157,67,102,66,84,11,71,169,20,19,209,139,162,158,207,15,39,73,24,186, -43,236,176,217,130,253,36,98,232,187,177,33,73,18,52,68,233,35,23,69,93, -136,26,98,116,145,139,162,158,146,160,95,73,24,186,37,12,72,5,16,64,145,10, -32,76,71,64,156,217,161,180,34,6,64,208,198,36,78,50,20,20,92,204,50,44, -147,32,134,226,17,114,33,202,134,129,107,192,202,232,160,180,104,166,135, -52,72,40,144,213,33,178,152,26,34,56,163,105,44,104,146,116,139,77,43,34, -98,57,38,116,72,179,60,93,97,206,56,52,240,242,56,163,168,34,81,57,178,153, -42,228,12,182,58,22,66,89,19,57,68,176,74,68,35,104,195,18,239,116,102,114, -94,100,104,228,100,49,238,140,203,42,60,145,35,104,181,146,113,161,10,80, -46,68,82,24,245,145,132,108,228,148,54,100,137,64,34,13,100,153,222,1,40,6, -33,223,20,84,19,34,95,23,76,130,153,6,103,208,43,64,141,41,130,104,17,112, -130,44,96, -}; - -/* to convert a heap stridx to a token number, subtract - * DUK_STRIDX_START_RESERVED and add DUK_TOK_START_RESERVED. - */ - -/* native functions: 149 */ -DUK_INTERNAL const duk_c_function duk_bi_native_functions[149] = { - duk_bi_array_constructor, - duk_bi_array_constructor_is_array, - duk_bi_array_prototype_concat, - duk_bi_array_prototype_indexof_shared, - duk_bi_array_prototype_iter_shared, - duk_bi_array_prototype_join_shared, - duk_bi_array_prototype_pop, - duk_bi_array_prototype_push, - duk_bi_array_prototype_reduce_shared, - duk_bi_array_prototype_reverse, - duk_bi_array_prototype_shift, - duk_bi_array_prototype_slice, - duk_bi_array_prototype_sort, - duk_bi_array_prototype_splice, - duk_bi_array_prototype_to_string, - duk_bi_array_prototype_unshift, - duk_bi_arraybuffer_constructor, - duk_bi_arraybuffer_isview, - duk_bi_boolean_constructor, - duk_bi_boolean_prototype_tostring_shared, - duk_bi_buffer_compare_shared, - duk_bi_buffer_constructor, - duk_bi_buffer_prototype_tostring_shared, - duk_bi_buffer_readfield, - duk_bi_buffer_slice_shared, - duk_bi_buffer_writefield, - duk_bi_dataview_constructor, - duk_bi_date_constructor, - duk_bi_date_constructor_now, - duk_bi_date_constructor_parse, - duk_bi_date_constructor_utc, - duk_bi_date_prototype_get_shared, - duk_bi_date_prototype_get_timezone_offset, - duk_bi_date_prototype_set_shared, - duk_bi_date_prototype_set_time, - duk_bi_date_prototype_to_json, - duk_bi_date_prototype_tostring_shared, - duk_bi_date_prototype_value_of, - duk_bi_duktape_object_act, - duk_bi_duktape_object_compact, - duk_bi_duktape_object_dec, - duk_bi_duktape_object_enc, - duk_bi_duktape_object_fin, - duk_bi_duktape_object_gc, - duk_bi_duktape_object_info, - duk_bi_error_constructor_shared, - duk_bi_error_prototype_filename_getter, - duk_bi_error_prototype_filename_setter, - duk_bi_error_prototype_linenumber_getter, - duk_bi_error_prototype_linenumber_setter, - duk_bi_error_prototype_stack_getter, - duk_bi_error_prototype_stack_setter, - duk_bi_error_prototype_to_string, - duk_bi_function_constructor, - duk_bi_function_prototype, - duk_bi_function_prototype_apply, - duk_bi_function_prototype_bind, - duk_bi_function_prototype_call, - duk_bi_function_prototype_to_string, - duk_bi_global_object_decode_uri, - duk_bi_global_object_decode_uri_component, - duk_bi_global_object_encode_uri, - duk_bi_global_object_encode_uri_component, - duk_bi_global_object_escape, - duk_bi_global_object_eval, - duk_bi_global_object_is_finite, - duk_bi_global_object_is_nan, - duk_bi_global_object_parse_float, - duk_bi_global_object_parse_int, - duk_bi_global_object_print_helper, - duk_bi_global_object_require, - duk_bi_global_object_unescape, - duk_bi_json_object_parse, - duk_bi_json_object_stringify, - duk_bi_logger_constructor, - duk_bi_logger_prototype_fmt, - duk_bi_logger_prototype_log_shared, - duk_bi_logger_prototype_raw, - duk_bi_math_object_max, - duk_bi_math_object_min, - duk_bi_math_object_onearg_shared, - duk_bi_math_object_random, - duk_bi_math_object_twoarg_shared, - duk_bi_nodejs_buffer_byte_length, - duk_bi_nodejs_buffer_concat, - duk_bi_nodejs_buffer_constructor, - duk_bi_nodejs_buffer_copy, - duk_bi_nodejs_buffer_fill, - duk_bi_nodejs_buffer_is_buffer, - duk_bi_nodejs_buffer_is_encoding, - duk_bi_nodejs_buffer_tojson, - duk_bi_nodejs_buffer_tostring, - duk_bi_nodejs_buffer_write, - duk_bi_number_constructor, - duk_bi_number_prototype_to_exponential, - duk_bi_number_prototype_to_fixed, - duk_bi_number_prototype_to_locale_string, - duk_bi_number_prototype_to_precision, - duk_bi_number_prototype_to_string, - duk_bi_number_prototype_value_of, - duk_bi_object_constructor, - duk_bi_object_constructor_create, - duk_bi_object_constructor_define_properties, - duk_bi_object_constructor_define_property, - duk_bi_object_constructor_get_own_property_descriptor, - duk_bi_object_constructor_is_extensible, - duk_bi_object_constructor_is_sealed_frozen_shared, - duk_bi_object_constructor_keys_shared, - duk_bi_object_constructor_prevent_extensions, - duk_bi_object_constructor_seal_freeze_shared, - duk_bi_object_getprototype_shared, - duk_bi_object_prototype_has_own_property, - duk_bi_object_prototype_is_prototype_of, - duk_bi_object_prototype_property_is_enumerable, - duk_bi_object_prototype_to_locale_string, - duk_bi_object_prototype_to_string, - duk_bi_object_prototype_value_of, - duk_bi_object_setprototype_shared, - duk_bi_pointer_constructor, - duk_bi_pointer_prototype_tostring_shared, - duk_bi_proxy_constructor, - duk_bi_regexp_constructor, - duk_bi_regexp_prototype_exec, - duk_bi_regexp_prototype_test, - duk_bi_regexp_prototype_to_string, - duk_bi_string_constructor, - duk_bi_string_constructor_from_char_code, - duk_bi_string_prototype_caseconv_shared, - duk_bi_string_prototype_char_at, - duk_bi_string_prototype_char_code_at, - duk_bi_string_prototype_concat, - duk_bi_string_prototype_indexof_shared, - duk_bi_string_prototype_locale_compare, - duk_bi_string_prototype_match, - duk_bi_string_prototype_replace, - duk_bi_string_prototype_search, - duk_bi_string_prototype_slice, - duk_bi_string_prototype_split, - duk_bi_string_prototype_substr, - duk_bi_string_prototype_substring, - duk_bi_string_prototype_to_string, - duk_bi_string_prototype_trim, - duk_bi_thread_constructor, - duk_bi_thread_current, - duk_bi_thread_resume, - duk_bi_thread_yield, - duk_bi_type_error_thrower, - duk_bi_typedarray_constructor, - duk_bi_typedarray_set, -}; - -DUK_INTERNAL const duk_uint8_t duk_builtins_data[1955] = { -105,195,75,32,121,40,105,53,14,252,104,54,8,131,72,0,115,225,65,165,244,55, -243,6,145,32,210,24,210,186,25,249,35,120,216,99,226,13,79,33,116,177,164, -180,44,192,4,202,52,150,220,24,0,169,70,146,219,123,0,23,40,210,91,110,96, -3,37,26,75,109,172,0,108,163,73,109,177,128,14,148,105,45,181,176,1,242, -144,56,209,36,94,6,167,133,98,80,211,28,1,250,67,72,168,67,232,13,46,192, -47,162,52,165,0,62,80,163,72,128,61,40,107,26,7,37,20,53,201,131,88,0,66, -134,185,48,98,80,215,38,11,96,0,138,26,228,193,76,0,69,67,92,152,37,128,6, -168,107,147,4,48,1,165,13,114,96,118,0,44,161,174,76,12,192,7,148,53,201, -129,88,1,26,134,165,80,130,80,31,255,241,69,224,63,252,0,0,0,0,0,0,46,32, -63,248,0,0,0,0,0,0,47,98,7,140,16,116,194,7,12,48,108,196,6,140,80,100,198, -6,12,112,92,200,5,140,149,192,202,91,204,181,184,204,91,76,213,176,206,90, -204,240,84,208,5,13,9,124,210,43,13,24,64,226,131,205,112,56,216,3,77,152, -48,218,130,205,184,40,220,130,77,216,32,222,129,205,248,24,224,129,78,25, -214,164,2,90,81,17,104,67,37,157,8,150,100,18,89,78,201,100,60,37,140,244, -150,35,226,88,79,201,96,71,37,125,20,122,188,138,62,0,2,165,70,39,255,255, -193,43,67,0,0,80,127,192,58,182,220,80,0,21,59,170,64,0,107,77,8,172,181, -146,176,202,138,187,59,42,204,200,170,182,146,168,218,80,0,26,155,97,42,77, -68,168,181,20,0,6,160,210,74,123,89,64,0,127,255,4,10,153,219,157,70,163, -185,130,140,228,10,43,160,40,141,228,161,184,18,132,226,64,161,127,128,0, -63,225,1,109,74,8,137,71,58,5,4,221,20,3,147,233,249,193,240,80,255,192,6, -120,2,64,127,195,0,173,28,56,20,96,80,128,0,206,192,143,167,64,164,156,131, -2,112,14,125,55,9,4,216,40,19,80,180,77,3,9,51,13,94,153,7,159,76,64,207, -192,0,102,0,103,255,255,242,240,67,73,112,33,168,0,12,180,16,212,0,10,88,8, -106,0,7,43,4,53,0,4,149,4,31,128,0,202,66,15,255,255,194,137,254,0,50,135, -227,224,127,196,2,87,132,17,82,143,24,10,44,96,36,240,4,147,64,146,119,4, -125,49,131,52,152,65,154,128,0,201,97,9,36,133,36,142,25,18,40,114,77,98, -17,33,137,68,130,45,17,247,240,71,159,193,29,127,8,0,12,113,252,32,0,49, -184,208,70,162,144,20,95,240,0,7,252,80,37,120,193,81,196,194,0,3,69,19,0, -81,191,197,140,192,127,239,255,255,255,255,255,255,140,64,0,0,0,0,0,0,0,1, -139,192,127,248,0,0,0,0,0,0,138,192,127,240,0,0,0,0,0,0,139,64,255,240,0,0, -0,0,0,0,0,31,241,128,149,224,0,0,0,0,0,0,0,0,13,71,98,37,25,128,148,86,48, -69,23,201,19,94,36,73,132,129,71,255,0,56,136,233,34,3,223,208,241,192,3, -254,56,18,188,135,255,128,0,0,0,0,0,11,104,228,128,135,18,4,0,6,26,72,16,0, -42,49,32,64,0,225,132,129,0,4,133,146,4,0,21,210,72,16,0,103,65,32,64,1, -220,228,100,162,146,130,20,74,8,72,248,64,2,33,3,225,0,9,131,143,132,0,42, -12,62,16,0,184,40,248,64,3,32,131,225,0,13,129,143,132,0,58,4,62,16,0,248, -8,248,64,4,32,3,225,0,17,127,143,132,0,73,252,62,16,1,55,232,248,64,5,31, -131,225,0,21,125,143,132,0,89,244,62,16,1,119,201,0,31,4,68,123,144,148,0, -97,236,66,80,1,151,169,10,248,0,211,208,133,124,0,109,230,66,254,0,56,242, -33,127,0,29,120,144,207,128,15,60,8,103,192,7,221,228,37,0,32,119,16,148,0, -133,218,66,190,0,68,236,33,95,0,35,117,144,191,128,18,58,136,95,192,9,92, -195,225,0,38,114,144,148,0,156,41,31,224,0,15,249,1,138,144,65,192,2,22,0, -88,16,46,24,77,208,148,103,4,102,252,102,244,128,0,0,0,0,0,0,0,0,220,111, -68,113,61,146,142,248,0,164,255,128,0,63,228,133,109,16,89,178,65,18,235, -153,25,150,220,184,188,180,230,6,32,209,205,0,20,175,240,0,39,252,160,77, -162,184,54,72,34,0,82,255,192,0,159,242,193,54,138,222,217,32,136,1,76,255, -0,2,127,204,4,218,43,115,100,130,32,5,55,252,0,9,255,52,19,104,173,173,146, -8,128,20,239,240,0,39,252,224,77,162,182,54,72,34,0,83,255,192,0,159,243, -193,54,138,214,217,32,136,0,255,255,33,177,1,0,22,252,42,44,81,93,165,175, -1,0,9,174,198,238,213,84,89,173,0,255,152,185,11,251,232,231,189,171,0,255, -220,85,29,148,174,11,249,169,0,255,111,45,236,84,155,148,57,167,1,0,36,135, -237,81,16,180,97,165,0,255,154,130,121,153,252,239,53,163,0,255,218,130, -121,153,252,239,53,38,130,129,25,234,5,0,1,103,40,20,0,9,154,160,80,0,54, -98,146,25,106,5,0,4,101,40,20,0,21,146,160,80,0,102,66,129,64,1,216,234,5, -0,8,99,39,47,49,83,215,152,138,73,0,1,97,168,129,132,160,80,0,150,10,129, -64,2,152,10,5,0,11,95,168,20,0,48,31,255,224,5,17,72,66,249,37,129,127,255, -0,0,191,255,128,0,63,255,197,31,192,64,196,80,0,0,0,0,0,8,26,112,17,169,0, -154,80,1,171,28,124,88,65,233,49,7,133,100,29,149,15,14,138,71,135,37,3, -195,66,114,5,77,252,0,243,178,40,25,200,48,101,30,0,127,210,128,0,85,31, -192,0,31,244,224,5,71,22,8,0,13,20,88,1,85,127,0,0,127,212,128,21,29,220, -32,0,52,87,112,5,89,252,0,1,255,86,16,166,66,0,0,0,0,0,0,0,0,170,72,38,29, -219,247,16,49,75,32,193,52,130,244,193,225,114,96,248,0,8,249,48,124,0,8, -90,152,62,0,6,44,76,31,0,4,21,166,15,128,2,147,255,252,38,212,16,184,155, -250,226,217,150,47,46,91,249,54,96,139,229,229,203,127,36,26,119,32,203, -203,150,254,72,52,97,221,147,102,157,217,192,10,191,248,0,157,4,72,15,250, -224,1,154,140,36,0,8,43,31,224,0,15,251,0,16,55,139,164,0,192,220,46,144,2, -3,104,186,64,12,77,130,233,0,33,53,139,164,0,200,212,46,144,2,35,72,186,64, -8,205,2,233,0,36,51,140,180,0,192,204,50,208,2,3,40,203,64,12,76,131,45,0, -33,49,140,180,0,200,196,50,208,2,35,8,203,64,8,204,3,45,0,36,7,255,248,1, -82,101,16,112,24,72,0,8,86,159,193,56,192,63,240,0,0,0,0,0,0,1,151,246,96, -0,21,183,240,78,48,15,252,0,0,0,0,0,0,0,101,253,168,0,5,113,252,19,140,3, -255,0,0,0,0,0,0,0,25,127,110,0,1,93,127,4,227,1,0,0,0,0,0,0,0,0,6,95,220, -128,0,87,159,193,56,192,64,0,0,0,0,0,0,0,1,151,247,96,0,21,247,240,78,48, -16,4,0,0,0,0,0,0,0,101,253,232,0,5,129,252,19,140,4,1,0,0,0,0,0,0,0,25,127, -126,0,1,97,127,4,227,1,0,64,0,0,0,0,0,0,6,95,224,128,0,88,159,193,56,192, -64,32,0,0,0,0,0,0,1,151,248,96,0,22,55,240,5,157,170,33,68,178,69,10,193, -20,10,104,79,138,36,0,12,31,248,160,88,154,23,66,100,93,32,2,9,129,116,128, -0,165,197,210,0,18,150,23,72,0,138,84,93,32,3,41,65,116,128,1,36,197,210,0, -20,146,23,72,0,146,68,93,32,3,73,1,116,128,1,163,197,210,0,22,142,23,72,0, -34,52,93,32,1,136,193,118,128,2,162,197,218,0,26,138,23,104,0,170,36,93, -160,3,168,129,150,33,198,90,0,32,134,25,104,0,10,20,101,160,1,40,65,150, -128,8,160,198,90,0,50,130,25,104,0,18,4,101,160,1,72,1,150,128,9,31,198,90, -0,52,126,25,104,0,25,244,101,160,1,103,193,150,128,2,30,198,90,0,24,122,25, -136,0,41,228,102,32,1,167,129,152,128,10,157,198,98,0,59,71,91,99,157,104, -9,213,118,39,5,8,159,20,40,0,10,109,90,19,81,132,39,151,32, +#if defined(DUK_USE_DOUBLE_LE) +DUK_INTERNAL const duk_uint8_t duk_builtins_data[3833] = { +105,195,75,32,3,148,52,154,248,9,26,13,128,112,105,0,240,22,20,26,95,124,6, +152,52,137,0,120,99,74,239,129,18,70,241,191,2,98,13,79,32,42,88,210,90,2, +240,1,50,141,37,168,76,94,216,118,69,229,203,127,44,0,84,163,73,106,21,75, +14,236,249,98,242,229,191,150,0,46,81,164,181,14,165,151,54,94,89,119,99, +203,23,151,45,252,176,1,146,141,37,168,93,63,59,186,97,241,23,151,45,252, +176,1,178,141,37,168,77,79,60,50,197,229,203,127,44,0,116,163,73,106,17,86, +148,152,188,185,111,229,128,15,148,129,198,137,36,58,166,142,91,251,212, +243,195,44,94,92,183,242,13,79,8,45,14,91,252,121,148,52,199,120,63,72,105, +21,240,118,128,210,237,224,245,17,165,43,224,211,55,231,207,151,148,161,70, +145,0,31,40,107,26,2,18,138,26,228,192,142,0,16,161,174,76,9,74,26,228,192, +158,0,8,161,174,76,10,96,2,42,26,228,192,174,0,26,161,174,76,11,96,3,74,26, +228,192,190,0,44,161,174,76,12,96,3,202,26,228,192,206,0,70,161,169,84,14, +202,3,255,254,32,234,0,0,0,0,0,0,7,195,248,119,0,0,0,0,0,0,3,193,252,57, +136,1,152,32,16,194,0,166,24,6,49,0,57,138,2,12,96,18,99,128,163,32,5,153, +40,76,94,216,118,69,229,203,127,35,41,10,165,135,118,124,177,121,114,223, +200,203,67,169,101,205,151,150,93,216,242,197,229,203,127,35,49,11,167,231, +119,76,62,34,242,229,191,145,154,132,212,243,195,44,94,92,183,242,51,144, +138,180,164,197,229,203,127,35,60,6,26,0,52,208,193,226,117,215,211,15,12, +166,146,11,67,150,255,30,77,24,58,113,64,243,92,8,27,0,68,217,130,70,212, +19,54,224,161,185,5,77,216,44,111,65,115,126,12,28,16,100,225,156,16,32,18, +17,195,15,46,121,100,238,232,136,136,87,12,60,185,229,141,179,126,30,136, +100,130,233,231,59,12,228,34,66,52,243,141,167,118,158,153,80,73,9,201,151, +30,252,153,106,210,146,118,72,150,76,184,247,228,203,86,148,152,123,246, +240,223,187,46,238,135,132,132,229,221,143,126,76,181,105,73,61,36,75,46, +236,123,242,101,171,74,76,61,251,120,111,221,151,119,67,226,65,178,243,199, +135,134,83,242,66,58,238,203,207,30,30,25,81,201,5,225,203,78,238,136,163, +208,92,59,50,242,232,138,62,0,2,38,163,19,255,255,224,142,80,192,0,20,31, +240,14,135,103,203,210,135,45,253,55,244,243,195,44,252,205,197,0,1,18,221, +82,0,3,24,207,151,164,254,251,168,114,223,195,47,46,158,98,101,231,143,150, +158,29,55,242,104,68,79,62,94,147,251,238,161,203,127,12,188,186,121,157, +135,110,94,109,100,131,99,229,151,15,76,172,168,8,89,217,16,201,151,54,157, +217,104,114,223,195,47,46,154,114,243,102,68,19,158,92,59,27,73,6,205,203, +46,95,89,91,74,0,3,17,225,203,47,108,187,186,69,241,211,46,238,122,119,238, +230,216,72,70,158,116,242,225,217,151,35,81,33,26,121,198,229,191,214,93, +205,69,0,1,134,105,231,23,199,76,187,185,233,197,179,43,73,32,154,242,249, +230,214,80,0,31,255,193,2,38,103,110,117,24,81,115,0,78,228,0,161,208,16, +237,24,121,207,239,186,135,45,252,50,242,233,229,188,144,221,60,232,114, +223,211,127,79,60,50,207,204,224,72,167,14,91,248,101,229,211,204,158,113, +119,117,219,151,150,28,91,50,184,144,40,95,224,0,15,248,64,4,20,78,129,5, +195,195,134,207,38,232,130,99,195,179,97,201,244,19,22,157,217,14,15,130, +135,254,0,48,125,60,224,242,229,135,200,9,1,255,12,2,162,136,112,2,112,80, +128,0,193,177,239,221,143,15,64,35,224,152,20,144,62,27,248,3,2,9,195,175, +61,0,231,208,126,89,123,101,229,207,40,72,32,188,244,105,205,208,40,16,94, +123,52,227,202,22,136,39,61,252,186,6,18,13,207,134,205,56,242,134,175,65, +250,238,231,163,78,110,129,231,208,125,59,178,101,241,63,48,25,248,0,12,47, +102,30,125,36,238,201,151,196,252,192,103,255,255,240,92,189,178,242,242,8, +105,4,231,191,110,80,67,80,0,24,62,109,252,162,225,199,160,16,212,0,10,7, +183,15,0,67,80,0,56,54,109,59,58,101,228,8,106,0,9,6,229,151,39,92,121,66, +15,192,0,97,124,178,228,235,143,45,45,57,244,116,8,63,255,255,10,39,248,0, +195,51,114,223,182,30,140,60,161,239,201,149,248,248,31,241,0,140,80,129, +202,10,49,128,10,35,1,6,199,163,15,40,61,32,9,10,199,163,15,40,123,242,101, +131,210,4,144,108,123,247,99,195,210,8,250,15,167,118,76,190,39,230,131,52, +133,236,195,207,164,157,217,50,248,159,154,12,212,0,6,27,179,126,60,59,50, +195,223,183,134,30,89,97,9,5,219,135,166,61,16,164,131,242,203,195,102,28, +121,97,145,6,231,151,15,44,122,33,201,5,231,179,78,60,177,8,130,243,225, +179,79,72,148,66,121,245,197,207,167,45,59,179,197,162,23,211,124,205,253, +242,242,135,135,158,87,240,68,122,111,153,191,30,29,153,102,111,239,151, +148,60,60,242,191,130,23,211,125,94,28,50,242,135,135,158,87,240,128,0,196, +122,111,153,191,30,29,153,106,240,225,151,148,60,60,242,191,132,0,6,9,211, +150,157,177,160,131,115,235,139,159,78,81,72,10,47,248,0,3,254,40,17,138, +48,66,136,152,64,0,66,129,48,5,27,252,88,76,216,54,47,214,131,50,172,88,31, +255,255,255,255,255,253,239,240,153,178,103,95,173,6,101,88,176,0,64,0,0,0, +0,0,0,3,168,0,0,0,0,0,0,31,15,241,26,19,233,201,169,38,180,91,242,103,70, +147,58,77,75,48,0,0,0,0,0,0,60,31,226,51,162,199,131,82,77,104,183,228,206, +141,38,116,154,150,96,0,0,0,0,0,0,120,127,128,15,248,192,70,40,0,0,0,0,0,0, +0,0,3,10,44,68,9,216,8,20,49,130,15,211,124,109,62,50,228,95,36,55,166,248, +190,56,111,221,151,119,77,56,118,47,18,23,211,125,14,89,113,233,231,167, +126,230,18,5,31,252,0,224,188,48,242,231,148,116,144,58,181,33,143,127,64, +247,111,238,56,0,127,199,2,49,72,0,0,0,0,0,0,248,127,180,81,36,4,51,166, +248,152,122,101,167,211,150,157,217,201,2,0,3,12,233,190,166,157,185,105, +244,229,167,118,114,64,128,1,4,228,129,0,3,137,116,223,51,126,60,59,50,196, +195,211,45,62,156,180,238,206,72,16,0,72,151,77,243,55,227,195,179,45,77, +59,114,211,233,203,78,236,228,129,0,5,10,73,2,0,12,21,18,4,0,28,82,35,32, +80,74,8,62,124,189,42,105,219,148,148,16,188,249,122,70,235,179,101,156, +184,121,15,132,0,34,29,159,47,74,181,33,198,235,179,101,156,184,121,15,132, +0,38,17,159,47,73,187,247,116,208,62,16,0,168,94,124,189,42,212,135,55,126, +238,154,7,194,0,23,7,207,151,164,76,61,50,143,132,0,50,21,159,47,74,181,33, +196,195,211,40,248,64,3,96,217,242,244,137,135,200,248,64,3,161,57,242,244, +171,82,28,76,62,71,194,0,31,8,207,151,164,141,253,121,115,31,8,0,132,47,62, +94,149,106,67,145,191,175,46,99,225,0,17,133,103,203,210,110,157,221,122, +101,230,62,16,1,40,110,124,189,42,212,135,55,78,238,189,50,243,31,8,0,156, +43,62,94,148,242,227,223,187,39,49,240,128,10,67,115,229,233,86,164,58,121, +113,239,221,147,152,248,64,5,97,249,242,244,155,167,102,205,60,242,227,223, +187,39,49,240,128,11,68,179,229,233,86,164,57,186,118,108,211,207,46,61, +251,178,115,31,8,0,188,71,62,94,149,52,237,203,235,126,236,179,243,102,231, +151,161,0,32,252,242,244,169,167,110,82,34,67,249,229,233,55,78,205,154, +121,229,199,191,118,78,100,37,0,24,137,115,203,210,173,72,115,116,236,217, +167,158,92,123,247,100,230,66,80,1,152,87,60,189,41,229,199,191,118,78,100, +43,224,3,80,222,121,122,85,169,14,158,92,123,247,100,230,66,190,0,55,10, +231,151,164,221,59,186,244,203,204,133,252,0,114,27,207,47,74,181,33,205, +211,187,175,76,188,200,95,192,7,97,28,242,244,145,191,175,46,100,51,224,3, +208,190,121,122,85,169,14,70,254,188,185,144,207,128,15,193,249,229,233,19, +15,76,164,37,0,32,133,115,203,210,173,72,113,48,244,202,66,80,2,24,71,60, +189,38,239,221,211,65,10,248,1,20,47,158,94,149,106,67,155,191,119,77,4,43, +224,4,112,190,121,122,70,235,179,101,156,184,121,16,191,128,18,67,185,229, +233,86,164,56,221,118,108,179,151,15,34,23,240,2,88,62,124,189,44,229,195, +200,124,32,4,208,126,121,122,89,203,135,145,9,64,9,194,145,254,0,0,255,144, +24,100,130,14,0,16,176,2,192,129,11,33,12,1,168,193,108,96,186,48,95,32,0, +0,0,0,0,0,0,0,56,38,95,25,113,189,18,9,211,47,62,143,100,20,95,0,20,159, +240,0,7,252,144,162,241,2,195,66,7,11,89,204,140,197,252,229,197,226,230, +115,3,16,69,19,64,5,43,252,0,9,255,40,16,188,33,49,123,97,217,23,151,45, +252,131,66,7,0,20,191,240,0,39,252,176,66,240,133,82,195,187,62,88,188,185, +111,228,26,16,56,0,166,127,128,1,63,230,2,23,132,58,150,92,217,121,101,221, +143,44,94,92,183,242,13,8,28,0,83,127,192,0,159,243,65,11,194,23,79,206, +238,152,124,69,229,203,127,32,208,129,192,5,59,252,0,9,255,56,16,188,33,53, +60,240,203,23,151,45,252,131,66,7,0,20,255,240,0,39,252,240,66,240,132,85, +165,38,47,46,91,249,6,132,14,0,31,255,228,64,98,192,105,87,20,139,10,191,5, +64,130,76,156,197,132,1,101,91,91,187,22,176,36,8,28,201,204,160,119,156, +253,127,33,23,115,31,193,102,79,142,202,44,15,232,34,182,84,113,95,115,248, +52,201,241,216,176,139,0,59,148,152,85,239,47,108,254,5,66,76,1,130,212,69, +79,178,16,148,8,61,58,52,170,49,190,202,6,105,219,251,52,245,7,49,252,22, +157,26,85,25,64,205,59,127,102,158,160,246,63,74,7,135,23,53,2,65,48,227, +223,205,64,160,0,48,76,60,244,238,80,40,0,20,19,15,76,59,148,10,0,7,5,195, +211,14,230,74,72,130,99,203,167,98,129,64,1,32,120,247,243,80,40,0,44,15, +47,142,10,5,0,6,130,230,217,191,127,37,2,128,3,192,246,111,206,160,80,0, +136,30,220,62,19,151,160,123,116,238,79,94,129,240,223,221,73,32,0,48,110, +88,119,100,223,181,68,16,94,91,250,238,200,160,80,0,152,31,61,59,148,10,0, +21,4,231,199,151,69,2,128,5,192,250,97,220,160,80,0,192,127,255,128,20,23, +134,30,92,242,164,34,19,207,167,45,59,179,233,205,229,37,129,127,255,0,0, +191,255,128,0,63,255,197,131,246,203,203,158,157,251,160,0,0,0,0,0,65,98, +32,3,166,156,30,53,32,249,165,131,76,223,159,62,94,70,172,114,16,176,144, +60,56,250,19,18,5,159,25,89,32,121,180,238,42,30,129,229,221,140,164,122,7, +147,46,50,129,232,62,61,251,120,97,199,208,156,129,83,127,0,50,250,69,3, +252,131,32,248,250,242,229,151,119,72,240,3,254,148,0,2,168,254,0,0,255, +167,0,33,68,88,32,0,33,64,176,2,170,254,0,0,255,169,0,33,69,220,32,0,33,67, +184,2,172,254,0,0,255,171,8,137,144,0,0,0,0,0,0,0,128,68,73,4,195,187,126, +226,8,4,178,16,41,164,32,147,7,136,52,193,240,0,18,17,48,124,0,8,133,76,31, +0,3,33,147,7,192,1,8,116,193,240,0,82,127,255,132,47,65,11,137,191,174,45, +153,98,242,229,191,144,105,4,95,47,46,91,249,32,211,185,6,94,92,183,242,65, +163,14,236,155,52,238,206,0,85,255,192,6,13,167,157,109,57,123,136,144,31, +245,192,3,5,231,179,78,60,163,9,0,2,10,199,248,0,3,254,192,4,32,249,242, +244,147,187,163,129,116,128,24,66,51,229,233,87,78,238,142,5,210,0,65,8, +207,151,164,157,221,24,182,23,72,1,140,39,62,94,149,116,238,232,197,176, +186,64,8,97,25,242,244,147,187,163,54,66,233,0,50,132,231,203,210,174,157, +221,25,178,23,72,1,20,43,62,94,145,182,111,195,209,155,33,116,128,17,194, +179,229,233,27,102,252,61,27,52,23,72,1,36,31,158,94,146,119,116,112,50, +208,3,8,71,60,189,42,233,221,209,192,203,64,8,33,28,242,244,147,187,163,22, +195,45,0,49,132,243,203,210,174,157,221,24,182,25,104,1,12,35,158,94,146, +119,116,102,200,101,160,6,80,158,121,122,85,211,187,163,54,67,45,0,34,133, +115,203,210,54,205,248,122,51,100,50,208,2,56,87,60,189,35,108,223,135,163, +102,131,45,0,36,7,255,248,1,11,50,136,132,115,235,139,15,46,88,124,140,36, +0,4,43,79,224,139,16,0,0,0,0,0,0,60,15,192,101,253,152,0,5,109,252,17,98,0, +0,0,0,0,0,7,129,248,12,191,181,0,0,174,63,130,44,64,0,0,0,0,0,0,240,63,1, +151,246,224,0,21,215,240,69,136,0,0,0,0,0,0,0,8,0,50,254,228,0,2,188,254,8, +177,0,0,0,0,0,0,0,1,0,6,95,221,128,0,87,223,193,22,32,0,0,0,0,0,0,8,32,0, +203,251,208,0,11,3,248,34,196,0,0,0,0,0,0,1,4,0,25,127,126,0,1,97,127,4,88, +128,0,0,0,0,0,0,32,128,3,47,240,64,0,44,79,224,139,16,0,0,0,0,0,0,8,16,0, +101,254,24,0,5,141,252,1,96,216,247,238,199,135,162,162,33,90,121,197,221, +143,126,77,59,179,172,146,17,167,156,46,185,179,101,228,176,65,89,77,16, +124,123,246,240,195,203,40,162,64,0,193,255,138,5,144,158,89,112,228,171, +39,119,71,2,232,132,114,203,135,36,157,221,28,11,164,0,66,25,203,46,28,149, +100,238,232,197,180,200,162,233,0,1,134,114,203,135,37,89,59,186,49,109,10, +40,186,64,2,97,124,178,225,201,39,119,70,45,166,69,23,72,0,140,47,150,92, +57,36,238,232,197,180,40,162,233,0,25,134,114,203,135,37,89,59,186,51,101, +50,40,186,64,0,161,156,178,225,201,86,78,238,140,217,66,138,46,144,0,168, +95,44,184,114,73,221,209,155,41,145,69,210,0,37,11,229,151,14,73,59,186,51, +101,10,40,186,64,6,161,124,178,225,201,27,102,252,61,38,69,23,72,0,28,47, +150,92,57,35,108,223,135,164,40,162,233,0,11,134,114,203,135,36,77,253,113, +108,203,50,40,186,64,1,33,156,178,225,201,19,127,92,91,50,194,138,46,144,0, +200,87,44,184,114,85,147,187,164,200,162,237,0,5,133,114,203,135,37,89,59, +186,66,138,46,208,0,216,79,44,184,114,73,221,210,100,81,118,128,10,194,121, +101,195,146,78,238,144,162,139,180,0,118,21,223,150,158,153,106,201,221, +209,192,203,33,61,249,105,233,150,78,238,142,6,90,0,33,13,239,203,79,76, +181,100,238,232,197,180,200,163,45,0,1,134,247,229,167,166,90,178,119,116, +98,218,20,81,150,128,4,195,59,242,211,211,44,157,221,24,182,153,20,101,160, +2,48,206,252,180,244,203,39,119,70,45,161,69,25,104,0,204,55,191,45,61,50, +213,147,187,163,54,83,34,140,180,0,10,27,223,150,158,153,106,201,221,209, +155,40,81,70,90,0,21,12,239,203,79,76,178,119,116,102,202,100,81,150,128,9, +67,59,242,211,211,44,157,221,25,178,133,20,101,160,3,80,206,252,180,244, +203,27,102,252,61,38,69,25,104,0,28,51,191,45,61,50,198,217,191,15,72,81, +70,90,0,23,13,239,203,79,76,177,55,245,197,179,44,200,163,45,0,4,134,247, +229,167,166,88,155,250,226,217,150,20,81,150,128,6,66,251,242,211,211,45, +89,59,186,76,138,51,16,0,88,95,126,90,122,101,171,39,119,72,81,70,98,0,27, +10,239,203,79,76,178,119,116,153,20,102,32,2,176,174,252,180,244,203,39, +119,72,81,70,98,0,58,40,173,176,82,90,4,19,54,157,155,21,217,6,203,199,174, +29,156,197,9,7,199,191,111,12,60,178,138,20,0,6,9,143,127,15,42,208,130, +243,217,167,30,81,132,65,123,242,211,211,42,228,0, }; -#ifdef DUK_USE_BUILTIN_INITJS -DUK_INTERNAL const duk_uint8_t duk_initjs_data[187] = { -40,102,117,110,99,116,105,111,110,40,100,44,97,41,123,102,117,110,99,116, -105,111,110,32,98,40,97,44,98,44,99,41,123,79,98,106,101,99,116,46,100,101, -102,105,110,101,80,114,111,112,101,114,116,121,40,97,44,98,44,123,118,97, -108,117,101,58,99,44,119,114,105,116,97,98,108,101,58,33,48,44,101,110,117, -109,101,114,97,98,108,101,58,33,49,44,99,111,110,102,105,103,117,114,97,98, -108,101,58,33,48,125,41,125,98,40,97,46,76,111,103,103,101,114,44,34,99, -108,111,103,34,44,110,101,119,32,97,46,76,111,103,103,101,114,40,34,67,34, -41,41,59,98,40,97,44,34,109,111,100,76,111,97,100,101,100,34,44,123,125,41, -125,41,40,116,104,105,115,44,68,117,107,116,97,112,101,41,59,10,0, +#elif defined(DUK_USE_DOUBLE_BE) +DUK_INTERNAL const duk_uint8_t duk_builtins_data[3833] = { +105,195,75,32,3,148,52,154,248,9,26,13,128,112,105,0,240,22,20,26,95,124,6, +152,52,137,0,120,99,74,239,129,18,70,241,191,2,98,13,79,32,42,88,210,90,2, +240,1,50,141,37,168,76,94,216,118,69,229,203,127,44,0,84,163,73,106,21,75, +14,236,249,98,242,229,191,150,0,46,81,164,181,14,165,151,54,94,89,119,99, +203,23,151,45,252,176,1,146,141,37,168,93,63,59,186,97,241,23,151,45,252, +176,1,178,141,37,168,77,79,60,50,197,229,203,127,44,0,116,163,73,106,17,86, +148,152,188,185,111,229,128,15,148,129,198,137,36,58,166,142,91,251,212, +243,195,44,94,92,183,242,13,79,8,45,14,91,252,121,148,52,199,120,63,72,105, +21,240,118,128,210,237,224,245,17,165,43,224,211,55,231,207,151,148,161,70, +145,0,31,40,107,26,2,18,138,26,228,192,142,0,16,161,174,76,9,74,26,228,192, +158,0,8,161,174,76,10,96,2,42,26,228,192,174,0,26,161,174,76,11,96,3,74,26, +228,192,190,0,44,161,174,76,12,96,3,202,26,228,192,206,0,70,161,169,84,14, +202,3,255,254,32,234,3,255,192,0,0,0,0,0,0,119,1,255,192,0,0,0,0,0,0,57, +136,1,152,32,16,194,0,166,24,6,49,0,57,138,2,12,96,18,99,128,163,32,5,153, +40,76,94,216,118,69,229,203,127,35,41,10,165,135,118,124,177,121,114,223, +200,203,67,169,101,205,151,150,93,216,242,197,229,203,127,35,49,11,167,231, +119,76,62,34,242,229,191,145,154,132,212,243,195,44,94,92,183,242,51,144, +138,180,164,197,229,203,127,35,60,6,26,0,52,208,193,226,117,215,211,15,12, +166,146,11,67,150,255,30,77,24,58,113,64,243,92,8,27,0,68,217,130,70,212, +19,54,224,161,185,5,77,216,44,111,65,115,126,12,28,16,100,225,156,16,32,18, +17,195,15,46,121,100,238,232,136,136,87,12,60,185,229,141,179,126,30,136, +100,130,233,231,59,12,228,34,66,52,243,141,167,118,158,153,80,73,9,201,151, +30,252,153,106,210,146,118,72,150,76,184,247,228,203,86,148,152,123,246, +240,223,187,46,238,135,132,132,229,221,143,126,76,181,105,73,61,36,75,46, +236,123,242,101,171,74,76,61,251,120,111,221,151,119,67,226,65,178,243,199, +135,134,83,242,66,58,238,203,207,30,30,25,81,201,5,225,203,78,238,136,163, +208,92,59,50,242,232,138,62,0,2,38,163,19,255,255,224,142,80,192,0,20,31, +240,14,135,103,203,210,135,45,253,55,244,243,195,44,252,205,197,0,1,18,221, +82,0,3,24,207,151,164,254,251,168,114,223,195,47,46,158,98,101,231,143,150, +158,29,55,242,104,68,79,62,94,147,251,238,161,203,127,12,188,186,121,157, +135,110,94,109,100,131,99,229,151,15,76,172,168,8,89,217,16,201,151,54,157, +217,104,114,223,195,47,46,154,114,243,102,68,19,158,92,59,27,73,6,205,203, +46,95,89,91,74,0,3,17,225,203,47,108,187,186,69,241,211,46,238,122,119,238, +230,216,72,70,158,116,242,225,217,151,35,81,33,26,121,198,229,191,214,93, +205,69,0,1,134,105,231,23,199,76,187,185,233,197,179,43,73,32,154,242,249, +230,214,80,0,31,255,193,2,38,103,110,117,24,81,115,0,78,228,0,161,208,16, +237,24,121,207,239,186,135,45,252,50,242,233,229,188,144,221,60,232,114, +223,211,127,79,60,50,207,204,224,72,167,14,91,248,101,229,211,204,158,113, +119,117,219,151,150,28,91,50,184,144,40,95,224,0,15,248,64,4,20,78,129,5, +195,195,134,207,38,232,130,99,195,179,97,201,244,19,22,157,217,14,15,130, +135,254,0,48,125,60,224,242,229,135,200,9,1,255,12,2,162,136,112,2,112,80, +128,0,193,177,239,221,143,15,64,35,224,152,20,144,62,27,248,3,2,9,195,175, +61,0,231,208,126,89,123,101,229,207,40,72,32,188,244,105,205,208,40,16,94, +123,52,227,202,22,136,39,61,252,186,6,18,13,207,134,205,56,242,134,175,65, +250,238,231,163,78,110,129,231,208,125,59,178,101,241,63,48,25,248,0,12,47, +102,30,125,36,238,201,151,196,252,192,103,255,255,240,92,189,178,242,242,8, +105,4,231,191,110,80,67,80,0,24,62,109,252,162,225,199,160,16,212,0,10,7, +183,15,0,67,80,0,56,54,109,59,58,101,228,8,106,0,9,6,229,151,39,92,121,66, +15,192,0,97,124,178,228,235,143,45,45,57,244,116,8,63,255,255,10,39,248,0, +195,51,114,223,182,30,140,60,161,239,201,149,248,248,31,241,0,140,80,129, +202,10,49,128,10,35,1,6,199,163,15,40,61,32,9,10,199,163,15,40,123,242,101, +131,210,4,144,108,123,247,99,195,210,8,250,15,167,118,76,190,39,230,131,52, +133,236,195,207,164,157,217,50,248,159,154,12,212,0,6,27,179,126,60,59,50, +195,223,183,134,30,89,97,9,5,219,135,166,61,16,164,131,242,203,195,102,28, +121,97,145,6,231,151,15,44,122,33,201,5,231,179,78,60,177,8,130,243,225, +179,79,72,148,66,121,245,197,207,167,45,59,179,197,162,23,211,124,205,253, +242,242,135,135,158,87,240,68,122,111,153,191,30,29,153,102,111,239,151, +148,60,60,242,191,130,23,211,125,94,28,50,242,135,135,158,87,240,128,0,196, +122,111,153,191,30,29,153,106,240,225,151,148,60,60,242,191,132,0,6,9,211, +150,157,177,160,131,115,235,139,159,78,81,72,10,47,248,0,3,254,40,17,138, +48,66,136,152,64,0,66,129,48,5,27,252,88,76,216,54,47,214,131,50,172,88,15, +253,255,255,255,255,255,255,240,153,178,103,95,173,6,101,88,176,0,0,0,0,0, +0,0,0,67,168,15,255,0,0,0,0,0,0,17,26,19,233,201,169,38,180,91,242,103,70, +147,58,77,75,48,31,252,0,0,0,0,0,0,34,51,162,199,131,82,77,104,183,228,206, +141,38,116,154,150,96,127,248,0,0,0,0,0,0,0,15,248,192,70,40,0,0,0,0,0,0,0, +0,3,10,44,68,9,216,8,20,49,130,15,211,124,109,62,50,228,95,36,55,166,248, +190,56,111,221,151,119,77,56,118,47,18,23,211,125,14,89,113,233,231,167, +126,230,18,5,31,252,0,224,188,48,242,231,148,116,144,58,181,33,143,127,64, +247,111,238,56,0,127,199,2,49,72,127,248,0,0,0,0,0,0,180,81,36,4,51,166, +248,152,122,101,167,211,150,157,217,201,2,0,3,12,233,190,166,157,185,105, +244,229,167,118,114,64,128,1,4,228,129,0,3,137,116,223,51,126,60,59,50,196, +195,211,45,62,156,180,238,206,72,16,0,72,151,77,243,55,227,195,179,45,77, +59,114,211,233,203,78,236,228,129,0,5,10,73,2,0,12,21,18,4,0,28,82,35,32, +80,74,8,62,124,189,42,105,219,148,148,16,188,249,122,70,235,179,101,156, +184,121,15,132,0,34,29,159,47,74,181,33,198,235,179,101,156,184,121,15,132, +0,38,17,159,47,73,187,247,116,208,62,16,0,168,94,124,189,42,212,135,55,126, +238,154,7,194,0,23,7,207,151,164,76,61,50,143,132,0,50,21,159,47,74,181,33, +196,195,211,40,248,64,3,96,217,242,244,137,135,200,248,64,3,161,57,242,244, +171,82,28,76,62,71,194,0,31,8,207,151,164,141,253,121,115,31,8,0,132,47,62, +94,149,106,67,145,191,175,46,99,225,0,17,133,103,203,210,110,157,221,122, +101,230,62,16,1,40,110,124,189,42,212,135,55,78,238,189,50,243,31,8,0,156, +43,62,94,148,242,227,223,187,39,49,240,128,10,67,115,229,233,86,164,58,121, +113,239,221,147,152,248,64,5,97,249,242,244,155,167,102,205,60,242,227,223, +187,39,49,240,128,11,68,179,229,233,86,164,57,186,118,108,211,207,46,61, +251,178,115,31,8,0,188,71,62,94,149,52,237,203,235,126,236,179,243,102,231, +151,161,0,32,252,242,244,169,167,110,82,34,67,249,229,233,55,78,205,154, +121,229,199,191,118,78,100,37,0,24,137,115,203,210,173,72,115,116,236,217, +167,158,92,123,247,100,230,66,80,1,152,87,60,189,41,229,199,191,118,78,100, +43,224,3,80,222,121,122,85,169,14,158,92,123,247,100,230,66,190,0,55,10, +231,151,164,221,59,186,244,203,204,133,252,0,114,27,207,47,74,181,33,205, +211,187,175,76,188,200,95,192,7,97,28,242,244,145,191,175,46,100,51,224,3, +208,190,121,122,85,169,14,70,254,188,185,144,207,128,15,193,249,229,233,19, +15,76,164,37,0,32,133,115,203,210,173,72,113,48,244,202,66,80,2,24,71,60, +189,38,239,221,211,65,10,248,1,20,47,158,94,149,106,67,155,191,119,77,4,43, +224,4,112,190,121,122,70,235,179,101,156,184,121,16,191,128,18,67,185,229, +233,86,164,56,221,118,108,179,151,15,34,23,240,2,88,62,124,189,44,229,195, +200,124,32,4,208,126,121,122,89,203,135,145,9,64,9,194,145,254,0,0,255,144, +24,100,130,14,0,16,176,2,192,129,11,33,12,1,168,193,108,96,186,48,95,32,0, +0,0,0,0,0,0,0,56,38,95,25,113,189,18,9,211,47,62,143,100,20,95,0,20,159, +240,0,7,252,144,162,241,2,195,66,7,11,89,204,140,197,252,229,197,226,230, +115,3,16,69,19,64,5,43,252,0,9,255,40,16,188,33,49,123,97,217,23,151,45, +252,131,66,7,0,20,191,240,0,39,252,176,66,240,133,82,195,187,62,88,188,185, +111,228,26,16,56,0,166,127,128,1,63,230,2,23,132,58,150,92,217,121,101,221, +143,44,94,92,183,242,13,8,28,0,83,127,192,0,159,243,65,11,194,23,79,206, +238,152,124,69,229,203,127,32,208,129,192,5,59,252,0,9,255,56,16,188,33,53, +60,240,203,23,151,45,252,131,66,7,0,20,255,240,0,39,252,240,66,240,132,85, +165,38,47,46,91,249,6,132,14,0,31,255,228,64,98,192,64,5,191,10,139,20,87, +105,130,76,156,197,132,4,0,38,187,27,187,85,81,104,28,201,204,160,31,243, +23,33,127,125,28,247,193,102,79,142,202,44,3,255,113,84,118,82,184,47,232, +52,201,241,216,176,139,0,255,111,45,236,84,155,148,58,5,66,76,4,0,146,31, +181,68,66,209,136,61,58,52,170,49,190,202,1,255,53,4,243,51,249,222,108,22, +157,26,85,25,64,63,246,160,158,102,127,59,205,74,7,135,23,53,2,65,48,227, +223,205,64,160,0,48,76,60,244,238,80,40,0,20,19,15,76,59,148,10,0,7,5,195, +211,14,230,74,72,130,99,203,167,98,129,64,1,32,120,247,243,80,40,0,44,15, +47,142,10,5,0,6,130,230,217,191,127,37,2,128,3,192,246,111,206,160,80,0, +136,30,220,62,19,151,160,123,116,238,79,94,129,240,223,221,73,32,0,48,110, +88,119,100,223,181,68,16,94,91,250,238,200,160,80,0,152,31,61,59,148,10,0, +21,4,231,199,151,69,2,128,5,192,250,97,220,160,80,0,192,127,255,128,20,23, +134,30,92,242,164,34,19,207,167,45,59,179,233,205,229,37,129,127,255,0,0, +191,255,128,0,63,255,197,131,246,203,203,158,157,251,160,32,98,65,0,0,0,0, +0,3,166,156,30,53,32,249,165,131,76,223,159,62,94,70,172,114,16,176,144,60, +56,250,19,18,5,159,25,89,32,121,180,238,42,30,129,229,221,140,164,122,7, +147,46,50,129,232,62,61,251,120,97,199,208,156,129,83,127,0,50,250,69,3, +252,131,32,248,250,242,229,151,119,72,240,3,254,148,0,2,168,254,0,0,255, +167,0,33,68,88,32,0,33,64,176,2,170,254,0,0,255,169,0,33,69,220,32,0,33,67, +184,2,172,254,0,0,255,171,8,137,144,128,0,0,0,0,0,0,0,68,73,4,195,187,126, +226,8,4,178,16,41,164,32,147,7,136,52,193,240,0,18,17,48,124,0,8,133,76,31, +0,3,33,147,7,192,1,8,116,193,240,0,82,127,255,132,47,65,11,137,191,174,45, +153,98,242,229,191,144,105,4,95,47,46,91,249,32,211,185,6,94,92,183,242,65, +163,14,236,155,52,238,206,0,85,255,192,6,13,167,157,109,57,123,136,144,31, +245,192,3,5,231,179,78,60,163,9,0,2,10,199,248,0,3,254,192,4,32,249,242, +244,147,187,163,129,116,128,24,66,51,229,233,87,78,238,142,5,210,0,65,8, +207,151,164,157,221,24,182,23,72,1,140,39,62,94,149,116,238,232,197,176, +186,64,8,97,25,242,244,147,187,163,54,66,233,0,50,132,231,203,210,174,157, +221,25,178,23,72,1,20,43,62,94,145,182,111,195,209,155,33,116,128,17,194, +179,229,233,27,102,252,61,27,52,23,72,1,36,31,158,94,146,119,116,112,50, +208,3,8,71,60,189,42,233,221,209,192,203,64,8,33,28,242,244,147,187,163,22, +195,45,0,49,132,243,203,210,174,157,221,24,182,25,104,1,12,35,158,94,146, +119,116,102,200,101,160,6,80,158,121,122,85,211,187,163,54,67,45,0,34,133, +115,203,210,54,205,248,122,51,100,50,208,2,56,87,60,189,35,108,223,135,163, +102,131,45,0,36,7,255,248,1,11,50,136,132,115,235,139,15,46,88,124,140,36, +0,4,43,79,224,139,16,15,252,0,0,0,0,0,0,0,101,253,152,0,5,109,252,17,98,1, +255,128,0,0,0,0,0,0,12,191,181,0,0,174,63,130,44,64,63,240,0,0,0,0,0,0,1, +151,246,224,0,21,215,240,69,136,8,0,0,0,0,0,0,0,0,50,254,228,0,2,188,254,8, +177,1,0,0,0,0,0,0,0,0,6,95,221,128,0,87,223,193,22,32,32,8,0,0,0,0,0,0,0, +203,251,208,0,11,3,248,34,196,4,1,0,0,0,0,0,0,0,25,127,126,0,1,97,127,4,88, +128,128,32,0,0,0,0,0,0,3,47,240,64,0,44,79,224,139,16,16,8,0,0,0,0,0,0,0, +101,254,24,0,5,141,252,1,96,216,247,238,199,135,162,162,33,90,121,197,221, +143,126,77,59,179,172,146,17,167,156,46,185,179,101,228,176,65,89,77,16, +124,123,246,240,195,203,40,162,64,0,193,255,138,5,144,158,89,112,228,171, +39,119,71,2,232,132,114,203,135,36,157,221,28,11,164,0,66,25,203,46,28,149, +100,238,232,197,180,200,162,233,0,1,134,114,203,135,37,89,59,186,49,109,10, +40,186,64,2,97,124,178,225,201,39,119,70,45,166,69,23,72,0,140,47,150,92, +57,36,238,232,197,180,40,162,233,0,25,134,114,203,135,37,89,59,186,51,101, +50,40,186,64,0,161,156,178,225,201,86,78,238,140,217,66,138,46,144,0,168, +95,44,184,114,73,221,209,155,41,145,69,210,0,37,11,229,151,14,73,59,186,51, +101,10,40,186,64,6,161,124,178,225,201,27,102,252,61,38,69,23,72,0,28,47, +150,92,57,35,108,223,135,164,40,162,233,0,11,134,114,203,135,36,77,253,113, +108,203,50,40,186,64,1,33,156,178,225,201,19,127,92,91,50,194,138,46,144,0, +200,87,44,184,114,85,147,187,164,200,162,237,0,5,133,114,203,135,37,89,59, +186,66,138,46,208,0,216,79,44,184,114,73,221,210,100,81,118,128,10,194,121, +101,195,146,78,238,144,162,139,180,0,118,21,223,150,158,153,106,201,221, +209,192,203,33,61,249,105,233,150,78,238,142,6,90,0,33,13,239,203,79,76, +181,100,238,232,197,180,200,163,45,0,1,134,247,229,167,166,90,178,119,116, +98,218,20,81,150,128,4,195,59,242,211,211,44,157,221,24,182,153,20,101,160, +2,48,206,252,180,244,203,39,119,70,45,161,69,25,104,0,204,55,191,45,61,50, +213,147,187,163,54,83,34,140,180,0,10,27,223,150,158,153,106,201,221,209, +155,40,81,70,90,0,21,12,239,203,79,76,178,119,116,102,202,100,81,150,128,9, +67,59,242,211,211,44,157,221,25,178,133,20,101,160,3,80,206,252,180,244, +203,27,102,252,61,38,69,25,104,0,28,51,191,45,61,50,198,217,191,15,72,81, +70,90,0,23,13,239,203,79,76,177,55,245,197,179,44,200,163,45,0,4,134,247, +229,167,166,88,155,250,226,217,150,20,81,150,128,6,66,251,242,211,211,45, +89,59,186,76,138,51,16,0,88,95,126,90,122,101,171,39,119,72,81,70,98,0,27, +10,239,203,79,76,178,119,116,153,20,102,32,2,176,174,252,180,244,203,39, +119,72,81,70,98,0,58,40,173,176,82,90,4,19,54,157,155,21,217,6,203,199,174, +29,156,197,9,7,199,191,111,12,60,178,138,20,0,6,9,143,127,15,42,208,130, +243,217,167,30,81,132,65,123,242,211,211,42,228,0, }; -#endif /* DUK_USE_BUILTIN_INITJS */ #elif defined(DUK_USE_DOUBLE_ME) -DUK_INTERNAL const duk_uint8_t duk_strings_data[2624] = { -55,86,227,24,145,55,102,120,144,3,63,94,228,54,100,137,186,50,11,164,109, -77,215,5,61,35,106,206,149,110,4,254,219,237,58,8,196,24,103,74,183,2,127, -103,246,93,4,98,12,47,180,67,103,246,127,101,208,70,32,194,186,134,207,236, -254,203,160,140,65,133,246,136,108,254,199,237,186,8,196,24,87,80,217,253, -143,219,116,17,136,49,30,209,13,159,220,116,75,3,30,65,244,17,136,48,174, -209,13,159,220,116,17,136,48,158,161,179,251,142,130,49,6,17,209,130,96, -237,80,75,47,160,140,65,142,134,133,41,34,110,134,133,41,34,3,25,110,8,22, -158,130,38,163,8,217,200,158,76,156,210,117,128,153,203,210,70,46,137,187, -18,27,164,187,201,209,130,100,55,91,70,4,145,63,66,231,44,128,105,187,41, -197,13,49,122,8,196,24,71,75,70,138,104,115,77,215,5,36,20,201,214,209,107, -79,104,209,144,168,105,6,207,251,209,104,209,125,212,227,66,127,235,191, -239,232,180,90,52,95,69,247,83,141,9,255,174,255,191,162,211,80,210,253,23, -221,78,52,39,254,183,254,254,139,72,105,126,139,238,167,26,19,255,91,255, -127,69,166,129,191,69,247,83,141,9,255,175,255,191,162,213,26,50,23,232, -190,234,113,161,63,245,115,119,86,227,118,83,138,26,98,9,110,48,86,22,148, -160,152,22,82,70,46,137,44,8,180,163,32,104,98,206,32,17,7,16,88,101,100, -206,42,70,36,108,205,18,74,140,33,196,230,60,2,152,146,33,38,230,8,36,79, -182,251,65,156,151,24,200,33,145,162,25,80,209,24,67,0,166,68,52,174,61,73, -25,33,205,25,27,84,177,195,234,220,1,144,105,99,135,217,16,17,17,208,72, -199,179,60,93,100,146,49,232,162,64,76,135,19,152,244,44,136,223,98,67,4, -18,33,247,217,158,36,0,209,190,156,13,26,201,21,111,165,67,64,180,100,145, -62,250,32,45,100,33,55,214,1,229,223,65,19,72,187,236,206,137,35,125,120, -190,201,104,105,15,190,201,212,136,136,125,246,160,137,27,83,239,171,37, -200,218,159,125,168,34,192,61,27,233,93,22,1,114,78,250,28,76,130,112,200, -93,245,164,188,207,190,204,17,49,38,109,246,160,93,8,119,185,13,153,34,173, -246,113,0,136,48,76,10,90,26,78,182,140,9,34,130,161,100,235,64,194,9,226, -44,166,1,41,221,153,226,235,118,120,121,58,72,197,209,63,71,69,76,15,34, -164,73,244,171,112,39,246,223,104,169,18,125,42,220,9,253,159,217,38,68, -159,104,134,207,236,254,201,18,36,250,134,207,236,254,201,50,36,251,68,54, -127,99,246,200,145,39,212,54,127,99,246,200,145,39,218,33,179,251,131,200, -147,234,27,63,184,81,137,62,149,110,4,254,219,237,20,98,79,165,91,129,63, -179,251,36,152,147,237,16,217,253,159,217,32,196,159,80,217,253,159,217,36, -196,159,104,134,207,236,126,217,6,36,250,134,207,236,126,217,6,36,251,68, -54,127,112,115,18,125,67,103,247,8,149,2,8,196,24,143,131,137,146,90,121, -35,162,44,140,35,102,160,226,100,235,138,89,18,102,13,10,82,68,200,151,106, -130,88,131,4,192,73,225,228,85,162,137,147,168,108,252,18,42,209,68,201, -212,54,126,89,23,104,162,100,245,17,230,207,193,34,237,20,76,158,162,60, -217,249,100,109,162,137,147,163,117,2,178,120,36,109,162,137,147,163,117,2, -178,121,100,101,162,137,147,165,91,129,63,4,140,180,81,50,116,171,112,39, -229,145,150,138,38,78,161,179,251,63,178,240,72,203,69,19,39,80,217,253, -159,217,121,100,109,162,137,147,212,71,155,63,179,251,47,4,141,180,81,50, -122,136,243,103,246,127,101,229,145,150,138,38,78,161,179,251,31,182,240, -72,203,69,19,39,80,217,253,143,219,121,100,109,162,137,147,212,71,155,63, -177,251,111,4,141,180,81,50,122,136,243,103,246,63,109,229,145,54,138,38, -78,161,179,251,133,90,40,153,61,68,121,179,251,132,196,128,31,80,217,248, -36,76,72,1,245,13,159,150,69,68,128,31,168,143,54,126,9,21,18,0,126,162,60, -217,249,100,100,72,1,244,110,160,86,79,4,140,137,0,62,141,212,10,201,229, -145,113,32,7,210,173,192,159,130,69,196,128,31,74,183,2,126,89,23,18,0,125, -67,103,246,127,101,224,145,113,32,7,212,54,127,103,246,94,89,25,18,0,126, -162,60,217,253,159,217,120,36,100,72,1,250,136,243,103,246,127,101,229,145, -113,32,7,212,54,127,99,246,222,9,23,18,0,125,67,103,246,63,109,229,145,145, -32,7,234,35,205,159,216,253,183,130,70,68,128,31,168,143,54,127,99,246,222, -89,17,18,0,125,67,103,247,9,137,0,63,81,30,108,254,224,130,115,240,98,66, -128,92,136,84,45,101,180,81,50,28,78,99,193,18,40,56,153,58,178,52,211,58, -17,46,134,133,41,34,164,75,164,104,156,52,52,199,37,222,232,206,66,64,207, -18,66,136,137,19,173,62,46,155,181,167,72,147,235,226,233,186,120,121,58, -226,157,214,111,84,76,73,36,109,24,72,130,100,112,200,178,76,157,124,92, -242,70,120,25,193,34,245,241,117,240,97,1,107,33,25,212,54,160,90,7,244,29, -24,38,66,254,223,215,125,119,215,126,232,190,43,226,67,244,1,250,193,125, -111,216,11,234,254,192,63,96,159,173,234,26,84,53,19,194,126,175,168,105, -80,212,79,8,234,26,84,53,19,193,156,20,144,83,52,167,20,52,198,109,24,18, -68,225,115,150,64,53,52,104,200,84,52,131,76,167,20,52,200,46,7,48,52,146, -132,102,57,33,165,139,168,209,154,32,104,220,193,189,214,27,16,209,176,23, -26,220,98,149,110,116,70,75,188,98,116,136,34,33,101,4,192,223,178,32,38,6, -144,18,67,72,1,58,67,0,100,95,74,17,159,217,31,210,132,103,246,58,251,33, -121,232,55,150,227,125,143,216,16,190,91,141,246,68,31,150,223,178,39,150, -223,177,251,0,244,135,97,37,32,24,132,104,24,66,161,175,164,202,134,140, -151,39,212,125,255,221,125,74,86,9,79,168,104,201,116,178,139,154,22,134, -145,72,51,93,18,116,64,145,13,39,82,34,33,38,73,76,132,185,4,185,187,198, -100,229,233,197,13,49,228,73,247,4,4,78,98,79,184,32,34,105,187,201,147, -154,185,187,200,147,165,233,197,13,50,230,239,82,98,151,167,20,52,206,145, -39,234,76,69,245,22,190,224,128,138,228,73,244,180,90,251,130,2,43,145,39, -234,76,76,243,155,51,162,68,159,88,230,204,234,145,39,234,76,67,240,38,67, -200,147,232,193,50,46,68,159,169,49,31,206,164,100,137,18,125,59,169,25,54, -68,159,169,49,51,200,109,38,73,42,68,159,88,134,210,100,147,100,73,250,147, -20,188,65,57,163,146,164,73,246,68,19,154,57,74,68,159,169,49,51,200,90, -209,34,9,205,28,159,34,79,172,66,214,137,16,78,104,228,121,18,125,154,24, -72,152,147,236,208,194,101,205,39,92,82,200,147,145,137,63,82,98,103,144, -181,162,68,19,154,57,60,196,159,88,133,173,18,32,156,209,201,166,36,253,73, -138,94,32,156,209,201,70,36,251,34,9,205,28,154,98,79,212,152,153,228,54, -147,36,148,98,79,172,67,105,50,73,102,36,253,73,136,254,117,35,36,24,147, -233,221,72,201,38,36,253,73,136,126,6,12,98,79,163,6,20,98,79,212,152,135, -224,76,135,49,39,209,130,100,89,137,63,82,98,103,156,217,157,6,36,250,199, -54,103,113,137,63,82,98,47,168,181,247,4,4,86,98,79,165,162,215,220,16,17, -57,137,62,205,12,36,166,238,173,194,2,201,217,161,132,236,167,20,52,210, -155,186,183,8,11,39,70,9,147,178,156,80,211,50,110,236,208,194,118,83,138, -26,102,77,221,24,38,78,202,113,67,76,54,186,195,245,38,34,188,17,145,23,55, -117,241,32,145,36,57,173,155,186,75,189,205,35,102,128,44,243,119,74,139, -144,113,243,221,36,77,21,38,144,210,161,168,158,35,230,144,192,154,42,77, -33,165,67,81,60,15,173,7,90,159,49,13,213,64,186,17,62,96,47,170,129,116, -33,165,64,202,113,36,226,134,70,110,234,220,32,44,157,163,222,72,244,64, -145,23,55,118,143,121,35,209,2,68,140,221,213,184,64,89,58,183,88,145,232, -129,34,46,110,234,221,98,71,162,4,136,153,80,50,156,80,211,22,79,90,38,105, -16,17,17,207,18,61,96,17,10,192,76,71,106,220,32,44,157,19,152,240,68,138, -17,193,30,137,195,39,65,51,8,224,143,65,54,22,46,103,68,112,71,162,112,200, -184,144,116,17,59,20,24,243,52,72,58,8,134,42,23,50,68,108,3,206,87,71,164, -0,142,73,57,132,41,42,72,225,107,4,167,212,52,100,191,92,83,161,163,37,250, -226,158,141,145,208,89,154,79,90,4,66,73,209,153,100,180,8,133,145,208,89, -158,36,169,35,34,17,244,145,198,247,60,137,114,26,97,57,162,4,206,137,116, -17,136,48,144,68,212,97,27,57,24,64,90,201,18,5,13,25,4,5,172,160,123,215, -138,62,46,121,35,60,117,18,233,27,70,18,32,10,200,212,75,175,139,166,233, -225,228,235,138,227,130,93,117,155,215,197,207,36,103,131,212,11,161,58, -226,186,110,234,220,32,44,157,148,226,134,153,19,119,101,56,161,166,88,156, -217,78,52,20,221,17,200,147,25,137,53,17,180,97,34,0,172,140,19,154,84,26, -145,0,86,68,90,40,152,2,178,22,160,93,8,69,19,18,98,37,210,94,100,108,144, -21,145,8,151,75,23,100,141,66,37,217,16,11,32,226,248,146,164,108,250,75, -204,141,146,28,217,24,177,33,50,66,72,128,92,6,66,161,164,235,226,231,146, -51,65,36,225,144,168,105,58,248,185,228,140,240,97,68,128,153,38,98,79,174, -179,122,248,185,228,140,241,214,129,132,150,12,73,245,214,111,95,23,60,145, -158,58,50,72,81,67,230,232,184,196,159,95,23,77,211,195,201,215,21,47,139, -166,233,225,228,50,200,211,76,229,2,201,25,149,241,67,102,138,52,146,16,30, -67,18,66,3,201,34,52,78,25,61,72,160,94,115,30,230,145,179,73,26,39,12,158, -164,81,33,144,78,25,61,72,160,94,115,30,230,145,179,72,200,39,12,158,164, -80,132,75,165,67,81,50,21,18,235,65,214,169,224,140,137,210,173,192,154,30, -8,200,157,67,102,66,84,11,71,169,20,19,209,139,162,158,207,15,39,73,24,186, -43,236,176,217,130,253,36,98,232,187,177,33,73,18,52,68,233,35,23,69,93, -136,26,98,116,145,139,162,158,146,160,95,73,24,186,37,12,72,5,16,64,145,10, -32,76,71,64,156,217,161,180,34,6,64,208,198,36,78,50,20,20,92,204,50,44, -147,32,134,226,17,114,33,202,134,129,107,192,202,232,160,180,104,166,135, -52,72,40,144,213,33,178,152,26,34,56,163,105,44,104,146,116,139,77,43,34, -98,57,38,116,72,179,60,93,97,206,56,52,240,242,56,163,168,34,81,57,178,153, -42,228,12,182,58,22,66,89,19,57,68,176,74,68,35,104,195,18,239,116,102,114, -94,100,104,228,100,49,238,140,203,42,60,145,35,104,181,146,113,161,10,80, -46,68,82,24,245,145,132,108,228,148,54,100,137,64,34,13,100,153,222,1,40,6, -33,223,20,84,19,34,95,23,76,130,153,6,103,208,43,64,141,41,130,104,17,112, -130,44,96, +DUK_INTERNAL const duk_uint8_t duk_builtins_data[3833] = { +105,195,75,32,3,148,52,154,248,9,26,13,128,112,105,0,240,22,20,26,95,124,6, +152,52,137,0,120,99,74,239,129,18,70,241,191,2,98,13,79,32,42,88,210,90,2, +240,1,50,141,37,168,76,94,216,118,69,229,203,127,44,0,84,163,73,106,21,75, +14,236,249,98,242,229,191,150,0,46,81,164,181,14,165,151,54,94,89,119,99, +203,23,151,45,252,176,1,146,141,37,168,93,63,59,186,97,241,23,151,45,252, +176,1,178,141,37,168,77,79,60,50,197,229,203,127,44,0,116,163,73,106,17,86, +148,152,188,185,111,229,128,15,148,129,198,137,36,58,166,142,91,251,212, +243,195,44,94,92,183,242,13,79,8,45,14,91,252,121,148,52,199,120,63,72,105, +21,240,118,128,210,237,224,245,17,165,43,224,211,55,231,207,151,148,161,70, +145,0,31,40,107,26,2,18,138,26,228,192,142,0,16,161,174,76,9,74,26,228,192, +158,0,8,161,174,76,10,96,2,42,26,228,192,174,0,26,161,174,76,11,96,3,74,26, +228,192,190,0,44,161,174,76,12,96,3,202,26,228,192,206,0,70,161,169,84,14, +202,3,255,254,32,234,0,0,7,195,248,0,0,0,0,119,0,0,3,193,252,0,0,0,0,57, +136,1,152,32,16,194,0,166,24,6,49,0,57,138,2,12,96,18,99,128,163,32,5,153, +40,76,94,216,118,69,229,203,127,35,41,10,165,135,118,124,177,121,114,223, +200,203,67,169,101,205,151,150,93,216,242,197,229,203,127,35,49,11,167,231, +119,76,62,34,242,229,191,145,154,132,212,243,195,44,94,92,183,242,51,144, +138,180,164,197,229,203,127,35,60,6,26,0,52,208,193,226,117,215,211,15,12, +166,146,11,67,150,255,30,77,24,58,113,64,243,92,8,27,0,68,217,130,70,212, +19,54,224,161,185,5,77,216,44,111,65,115,126,12,28,16,100,225,156,16,32,18, +17,195,15,46,121,100,238,232,136,136,87,12,60,185,229,141,179,126,30,136, +100,130,233,231,59,12,228,34,66,52,243,141,167,118,158,153,80,73,9,201,151, +30,252,153,106,210,146,118,72,150,76,184,247,228,203,86,148,152,123,246, +240,223,187,46,238,135,132,132,229,221,143,126,76,181,105,73,61,36,75,46, +236,123,242,101,171,74,76,61,251,120,111,221,151,119,67,226,65,178,243,199, +135,134,83,242,66,58,238,203,207,30,30,25,81,201,5,225,203,78,238,136,163, +208,92,59,50,242,232,138,62,0,2,38,163,19,255,255,224,142,80,192,0,20,31, +240,14,135,103,203,210,135,45,253,55,244,243,195,44,252,205,197,0,1,18,221, +82,0,3,24,207,151,164,254,251,168,114,223,195,47,46,158,98,101,231,143,150, +158,29,55,242,104,68,79,62,94,147,251,238,161,203,127,12,188,186,121,157, +135,110,94,109,100,131,99,229,151,15,76,172,168,8,89,217,16,201,151,54,157, +217,104,114,223,195,47,46,154,114,243,102,68,19,158,92,59,27,73,6,205,203, +46,95,89,91,74,0,3,17,225,203,47,108,187,186,69,241,211,46,238,122,119,238, +230,216,72,70,158,116,242,225,217,151,35,81,33,26,121,198,229,191,214,93, +205,69,0,1,134,105,231,23,199,76,187,185,233,197,179,43,73,32,154,242,249, +230,214,80,0,31,255,193,2,38,103,110,117,24,81,115,0,78,228,0,161,208,16, +237,24,121,207,239,186,135,45,252,50,242,233,229,188,144,221,60,232,114, +223,211,127,79,60,50,207,204,224,72,167,14,91,248,101,229,211,204,158,113, +119,117,219,151,150,28,91,50,184,144,40,95,224,0,15,248,64,4,20,78,129,5, +195,195,134,207,38,232,130,99,195,179,97,201,244,19,22,157,217,14,15,130, +135,254,0,48,125,60,224,242,229,135,200,9,1,255,12,2,162,136,112,2,112,80, +128,0,193,177,239,221,143,15,64,35,224,152,20,144,62,27,248,3,2,9,195,175, +61,0,231,208,126,89,123,101,229,207,40,72,32,188,244,105,205,208,40,16,94, +123,52,227,202,22,136,39,61,252,186,6,18,13,207,134,205,56,242,134,175,65, +250,238,231,163,78,110,129,231,208,125,59,178,101,241,63,48,25,248,0,12,47, +102,30,125,36,238,201,151,196,252,192,103,255,255,240,92,189,178,242,242,8, +105,4,231,191,110,80,67,80,0,24,62,109,252,162,225,199,160,16,212,0,10,7, +183,15,0,67,80,0,56,54,109,59,58,101,228,8,106,0,9,6,229,151,39,92,121,66, +15,192,0,97,124,178,228,235,143,45,45,57,244,116,8,63,255,255,10,39,248,0, +195,51,114,223,182,30,140,60,161,239,201,149,248,248,31,241,0,140,80,129, +202,10,49,128,10,35,1,6,199,163,15,40,61,32,9,10,199,163,15,40,123,242,101, +131,210,4,144,108,123,247,99,195,210,8,250,15,167,118,76,190,39,230,131,52, +133,236,195,207,164,157,217,50,248,159,154,12,212,0,6,27,179,126,60,59,50, +195,223,183,134,30,89,97,9,5,219,135,166,61,16,164,131,242,203,195,102,28, +121,97,145,6,231,151,15,44,122,33,201,5,231,179,78,60,177,8,130,243,225, +179,79,72,148,66,121,245,197,207,167,45,59,179,197,162,23,211,124,205,253, +242,242,135,135,158,87,240,68,122,111,153,191,30,29,153,102,111,239,151, +148,60,60,242,191,130,23,211,125,94,28,50,242,135,135,158,87,240,128,0,196, +122,111,153,191,30,29,153,106,240,225,151,148,60,60,242,191,132,0,6,9,211, +150,157,177,160,131,115,235,139,159,78,81,72,10,47,248,0,3,254,40,17,138, +48,66,136,152,64,0,66,129,48,5,27,252,88,76,216,54,47,214,131,50,172,88,31, +255,253,239,255,255,255,255,240,153,178,103,95,173,6,101,88,176,0,0,0,0,0, +64,0,0,3,168,0,0,31,15,224,0,0,0,17,26,19,233,201,169,38,180,91,242,103,70, +147,58,77,75,48,0,0,60,31,192,0,0,0,34,51,162,199,131,82,77,104,183,228, +206,141,38,116,154,150,96,0,0,120,127,128,0,0,0,0,15,248,192,70,40,0,0,0,0, +0,0,0,0,3,10,44,68,9,216,8,20,49,130,15,211,124,109,62,50,228,95,36,55,166, +248,190,56,111,221,151,119,77,56,118,47,18,23,211,125,14,89,113,233,231, +167,126,230,18,5,31,252,0,224,188,48,242,231,148,116,144,58,181,33,143,127, +64,247,111,238,56,0,127,199,2,49,72,0,0,248,127,0,0,0,0,180,81,36,4,51,166, +248,152,122,101,167,211,150,157,217,201,2,0,3,12,233,190,166,157,185,105, +244,229,167,118,114,64,128,1,4,228,129,0,3,137,116,223,51,126,60,59,50,196, +195,211,45,62,156,180,238,206,72,16,0,72,151,77,243,55,227,195,179,45,77, +59,114,211,233,203,78,236,228,129,0,5,10,73,2,0,12,21,18,4,0,28,82,35,32, +80,74,8,62,124,189,42,105,219,148,148,16,188,249,122,70,235,179,101,156, +184,121,15,132,0,34,29,159,47,74,181,33,198,235,179,101,156,184,121,15,132, +0,38,17,159,47,73,187,247,116,208,62,16,0,168,94,124,189,42,212,135,55,126, +238,154,7,194,0,23,7,207,151,164,76,61,50,143,132,0,50,21,159,47,74,181,33, +196,195,211,40,248,64,3,96,217,242,244,137,135,200,248,64,3,161,57,242,244, +171,82,28,76,62,71,194,0,31,8,207,151,164,141,253,121,115,31,8,0,132,47,62, +94,149,106,67,145,191,175,46,99,225,0,17,133,103,203,210,110,157,221,122, +101,230,62,16,1,40,110,124,189,42,212,135,55,78,238,189,50,243,31,8,0,156, +43,62,94,148,242,227,223,187,39,49,240,128,10,67,115,229,233,86,164,58,121, +113,239,221,147,152,248,64,5,97,249,242,244,155,167,102,205,60,242,227,223, +187,39,49,240,128,11,68,179,229,233,86,164,57,186,118,108,211,207,46,61, +251,178,115,31,8,0,188,71,62,94,149,52,237,203,235,126,236,179,243,102,231, +151,161,0,32,252,242,244,169,167,110,82,34,67,249,229,233,55,78,205,154, +121,229,199,191,118,78,100,37,0,24,137,115,203,210,173,72,115,116,236,217, +167,158,92,123,247,100,230,66,80,1,152,87,60,189,41,229,199,191,118,78,100, +43,224,3,80,222,121,122,85,169,14,158,92,123,247,100,230,66,190,0,55,10, +231,151,164,221,59,186,244,203,204,133,252,0,114,27,207,47,74,181,33,205, +211,187,175,76,188,200,95,192,7,97,28,242,244,145,191,175,46,100,51,224,3, +208,190,121,122,85,169,14,70,254,188,185,144,207,128,15,193,249,229,233,19, +15,76,164,37,0,32,133,115,203,210,173,72,113,48,244,202,66,80,2,24,71,60, +189,38,239,221,211,65,10,248,1,20,47,158,94,149,106,67,155,191,119,77,4,43, +224,4,112,190,121,122,70,235,179,101,156,184,121,16,191,128,18,67,185,229, +233,86,164,56,221,118,108,179,151,15,34,23,240,2,88,62,124,189,44,229,195, +200,124,32,4,208,126,121,122,89,203,135,145,9,64,9,194,145,254,0,0,255,144, +24,100,130,14,0,16,176,2,192,129,11,33,12,1,168,193,108,96,186,48,95,32,0, +0,0,0,0,0,0,0,56,38,95,25,113,189,18,9,211,47,62,143,100,20,95,0,20,159, +240,0,7,252,144,162,241,2,195,66,7,11,89,204,140,197,252,229,197,226,230, +115,3,16,69,19,64,5,43,252,0,9,255,40,16,188,33,49,123,97,217,23,151,45, +252,131,66,7,0,20,191,240,0,39,252,176,66,240,133,82,195,187,62,88,188,185, +111,228,26,16,56,0,166,127,128,1,63,230,2,23,132,58,150,92,217,121,101,221, +143,44,94,92,183,242,13,8,28,0,83,127,192,0,159,243,65,11,194,23,79,206, +238,152,124,69,229,203,127,32,208,129,192,5,59,252,0,9,255,56,16,188,33,53, +60,240,203,23,151,45,252,131,66,7,0,20,255,240,0,39,252,240,66,240,132,85, +165,38,47,46,91,249,6,132,14,0,31,255,228,64,98,192,10,191,5,64,105,87,20, +139,130,76,156,197,132,11,22,176,36,1,101,91,91,184,28,201,204,160,33,23, +115,31,247,156,253,127,65,102,79,142,202,44,4,113,95,115,255,232,34,182,88, +52,201,241,216,176,139,1,239,47,108,252,59,148,152,86,5,66,76,15,178,16, +148,1,130,212,69,72,61,58,52,170,49,190,202,4,245,7,49,254,105,219,251,52, +22,157,26,85,25,64,158,160,246,63,205,59,127,102,74,7,135,23,53,2,65,48, +227,223,205,64,160,0,48,76,60,244,238,80,40,0,20,19,15,76,59,148,10,0,7,5, +195,211,14,230,74,72,130,99,203,167,98,129,64,1,32,120,247,243,80,40,0,44, +15,47,142,10,5,0,6,130,230,217,191,127,37,2,128,3,192,246,111,206,160,80,0, +136,30,220,62,19,151,160,123,116,238,79,94,129,240,223,221,73,32,0,48,110, +88,119,100,223,181,68,16,94,91,250,238,200,160,80,0,152,31,61,59,148,10,0, +21,4,231,199,151,69,2,128,5,192,250,97,220,160,80,0,192,127,255,128,20,23, +134,30,92,242,164,34,19,207,167,45,59,179,233,205,229,37,129,127,255,0,0, +191,255,128,0,63,255,197,131,246,203,203,158,157,251,160,0,65,98,32,0,0,0, +0,3,166,156,30,53,32,249,165,131,76,223,159,62,94,70,172,114,16,176,144,60, +56,250,19,18,5,159,25,89,32,121,180,238,42,30,129,229,221,140,164,122,7, +147,46,50,129,232,62,61,251,120,97,199,208,156,129,83,127,0,50,250,69,3, +252,131,32,248,250,242,229,151,119,72,240,3,254,148,0,2,168,254,0,0,255, +167,0,33,68,88,32,0,33,64,176,2,170,254,0,0,255,169,0,33,69,220,32,0,33,67, +184,2,172,254,0,0,255,171,8,137,144,0,0,0,128,0,0,0,0,68,73,4,195,187,126, +226,8,4,178,16,41,164,32,147,7,136,52,193,240,0,18,17,48,124,0,8,133,76,31, +0,3,33,147,7,192,1,8,116,193,240,0,82,127,255,132,47,65,11,137,191,174,45, +153,98,242,229,191,144,105,4,95,47,46,91,249,32,211,185,6,94,92,183,242,65, +163,14,236,155,52,238,206,0,85,255,192,6,13,167,157,109,57,123,136,144,31, +245,192,3,5,231,179,78,60,163,9,0,2,10,199,248,0,3,254,192,4,32,249,242, +244,147,187,163,129,116,128,24,66,51,229,233,87,78,238,142,5,210,0,65,8, +207,151,164,157,221,24,182,23,72,1,140,39,62,94,149,116,238,232,197,176, +186,64,8,97,25,242,244,147,187,163,54,66,233,0,50,132,231,203,210,174,157, +221,25,178,23,72,1,20,43,62,94,145,182,111,195,209,155,33,116,128,17,194, +179,229,233,27,102,252,61,27,52,23,72,1,36,31,158,94,146,119,116,112,50, +208,3,8,71,60,189,42,233,221,209,192,203,64,8,33,28,242,244,147,187,163,22, +195,45,0,49,132,243,203,210,174,157,221,24,182,25,104,1,12,35,158,94,146, +119,116,102,200,101,160,6,80,158,121,122,85,211,187,163,54,67,45,0,34,133, +115,203,210,54,205,248,122,51,100,50,208,2,56,87,60,189,35,108,223,135,163, +102,131,45,0,36,7,255,248,1,11,50,136,132,115,235,139,15,46,88,124,140,36, +0,4,43,79,224,139,16,0,0,60,15,192,0,0,0,0,101,253,152,0,5,109,252,17,98,0, +0,7,129,248,0,0,0,0,12,191,181,0,0,174,63,130,44,64,0,0,240,63,0,0,0,0,1, +151,246,224,0,21,215,240,69,136,0,0,0,8,0,0,0,0,0,50,254,228,0,2,188,254,8, +177,0,0,0,1,0,0,0,0,0,6,95,221,128,0,87,223,193,22,32,0,0,8,32,0,0,0,0,0, +203,251,208,0,11,3,248,34,196,0,0,1,4,0,0,0,0,0,25,127,126,0,1,97,127,4,88, +128,0,0,32,128,0,0,0,0,3,47,240,64,0,44,79,224,139,16,0,0,8,16,0,0,0,0,0, +101,254,24,0,5,141,252,1,96,216,247,238,199,135,162,162,33,90,121,197,221, +143,126,77,59,179,172,146,17,167,156,46,185,179,101,228,176,65,89,77,16, +124,123,246,240,195,203,40,162,64,0,193,255,138,5,144,158,89,112,228,171, +39,119,71,2,232,132,114,203,135,36,157,221,28,11,164,0,66,25,203,46,28,149, +100,238,232,197,180,200,162,233,0,1,134,114,203,135,37,89,59,186,49,109,10, +40,186,64,2,97,124,178,225,201,39,119,70,45,166,69,23,72,0,140,47,150,92, +57,36,238,232,197,180,40,162,233,0,25,134,114,203,135,37,89,59,186,51,101, +50,40,186,64,0,161,156,178,225,201,86,78,238,140,217,66,138,46,144,0,168, +95,44,184,114,73,221,209,155,41,145,69,210,0,37,11,229,151,14,73,59,186,51, +101,10,40,186,64,6,161,124,178,225,201,27,102,252,61,38,69,23,72,0,28,47, +150,92,57,35,108,223,135,164,40,162,233,0,11,134,114,203,135,36,77,253,113, +108,203,50,40,186,64,1,33,156,178,225,201,19,127,92,91,50,194,138,46,144,0, +200,87,44,184,114,85,147,187,164,200,162,237,0,5,133,114,203,135,37,89,59, +186,66,138,46,208,0,216,79,44,184,114,73,221,210,100,81,118,128,10,194,121, +101,195,146,78,238,144,162,139,180,0,118,21,223,150,158,153,106,201,221, +209,192,203,33,61,249,105,233,150,78,238,142,6,90,0,33,13,239,203,79,76, +181,100,238,232,197,180,200,163,45,0,1,134,247,229,167,166,90,178,119,116, +98,218,20,81,150,128,4,195,59,242,211,211,44,157,221,24,182,153,20,101,160, +2,48,206,252,180,244,203,39,119,70,45,161,69,25,104,0,204,55,191,45,61,50, +213,147,187,163,54,83,34,140,180,0,10,27,223,150,158,153,106,201,221,209, +155,40,81,70,90,0,21,12,239,203,79,76,178,119,116,102,202,100,81,150,128,9, +67,59,242,211,211,44,157,221,25,178,133,20,101,160,3,80,206,252,180,244, +203,27,102,252,61,38,69,25,104,0,28,51,191,45,61,50,198,217,191,15,72,81, +70,90,0,23,13,239,203,79,76,177,55,245,197,179,44,200,163,45,0,4,134,247, +229,167,166,88,155,250,226,217,150,20,81,150,128,6,66,251,242,211,211,45, +89,59,186,76,138,51,16,0,88,95,126,90,122,101,171,39,119,72,81,70,98,0,27, +10,239,203,79,76,178,119,116,153,20,102,32,2,176,174,252,180,244,203,39, +119,72,81,70,98,0,58,40,173,176,82,90,4,19,54,157,155,21,217,6,203,199,174, +29,156,197,9,7,199,191,111,12,60,178,138,20,0,6,9,143,127,15,42,208,130, +243,217,167,30,81,132,65,123,242,211,211,42,228,0, }; - -/* to convert a heap stridx to a token number, subtract - * DUK_STRIDX_START_RESERVED and add DUK_TOK_START_RESERVED. - */ - -/* native functions: 149 */ -DUK_INTERNAL const duk_c_function duk_bi_native_functions[149] = { - duk_bi_array_constructor, - duk_bi_array_constructor_is_array, - duk_bi_array_prototype_concat, - duk_bi_array_prototype_indexof_shared, - duk_bi_array_prototype_iter_shared, - duk_bi_array_prototype_join_shared, - duk_bi_array_prototype_pop, - duk_bi_array_prototype_push, - duk_bi_array_prototype_reduce_shared, - duk_bi_array_prototype_reverse, - duk_bi_array_prototype_shift, - duk_bi_array_prototype_slice, - duk_bi_array_prototype_sort, - duk_bi_array_prototype_splice, - duk_bi_array_prototype_to_string, - duk_bi_array_prototype_unshift, - duk_bi_arraybuffer_constructor, - duk_bi_arraybuffer_isview, - duk_bi_boolean_constructor, - duk_bi_boolean_prototype_tostring_shared, - duk_bi_buffer_compare_shared, - duk_bi_buffer_constructor, - duk_bi_buffer_prototype_tostring_shared, - duk_bi_buffer_readfield, - duk_bi_buffer_slice_shared, - duk_bi_buffer_writefield, - duk_bi_dataview_constructor, - duk_bi_date_constructor, - duk_bi_date_constructor_now, - duk_bi_date_constructor_parse, - duk_bi_date_constructor_utc, - duk_bi_date_prototype_get_shared, - duk_bi_date_prototype_get_timezone_offset, - duk_bi_date_prototype_set_shared, - duk_bi_date_prototype_set_time, - duk_bi_date_prototype_to_json, - duk_bi_date_prototype_tostring_shared, - duk_bi_date_prototype_value_of, - duk_bi_duktape_object_act, - duk_bi_duktape_object_compact, - duk_bi_duktape_object_dec, - duk_bi_duktape_object_enc, - duk_bi_duktape_object_fin, - duk_bi_duktape_object_gc, - duk_bi_duktape_object_info, - duk_bi_error_constructor_shared, - duk_bi_error_prototype_filename_getter, - duk_bi_error_prototype_filename_setter, - duk_bi_error_prototype_linenumber_getter, - duk_bi_error_prototype_linenumber_setter, - duk_bi_error_prototype_stack_getter, - duk_bi_error_prototype_stack_setter, - duk_bi_error_prototype_to_string, - duk_bi_function_constructor, - duk_bi_function_prototype, - duk_bi_function_prototype_apply, - duk_bi_function_prototype_bind, - duk_bi_function_prototype_call, - duk_bi_function_prototype_to_string, - duk_bi_global_object_decode_uri, - duk_bi_global_object_decode_uri_component, - duk_bi_global_object_encode_uri, - duk_bi_global_object_encode_uri_component, - duk_bi_global_object_escape, - duk_bi_global_object_eval, - duk_bi_global_object_is_finite, - duk_bi_global_object_is_nan, - duk_bi_global_object_parse_float, - duk_bi_global_object_parse_int, - duk_bi_global_object_print_helper, - duk_bi_global_object_require, - duk_bi_global_object_unescape, - duk_bi_json_object_parse, - duk_bi_json_object_stringify, - duk_bi_logger_constructor, - duk_bi_logger_prototype_fmt, - duk_bi_logger_prototype_log_shared, - duk_bi_logger_prototype_raw, - duk_bi_math_object_max, - duk_bi_math_object_min, - duk_bi_math_object_onearg_shared, - duk_bi_math_object_random, - duk_bi_math_object_twoarg_shared, - duk_bi_nodejs_buffer_byte_length, - duk_bi_nodejs_buffer_concat, - duk_bi_nodejs_buffer_constructor, - duk_bi_nodejs_buffer_copy, - duk_bi_nodejs_buffer_fill, - duk_bi_nodejs_buffer_is_buffer, - duk_bi_nodejs_buffer_is_encoding, - duk_bi_nodejs_buffer_tojson, - duk_bi_nodejs_buffer_tostring, - duk_bi_nodejs_buffer_write, - duk_bi_number_constructor, - duk_bi_number_prototype_to_exponential, - duk_bi_number_prototype_to_fixed, - duk_bi_number_prototype_to_locale_string, - duk_bi_number_prototype_to_precision, - duk_bi_number_prototype_to_string, - duk_bi_number_prototype_value_of, - duk_bi_object_constructor, - duk_bi_object_constructor_create, - duk_bi_object_constructor_define_properties, - duk_bi_object_constructor_define_property, - duk_bi_object_constructor_get_own_property_descriptor, - duk_bi_object_constructor_is_extensible, - duk_bi_object_constructor_is_sealed_frozen_shared, - duk_bi_object_constructor_keys_shared, - duk_bi_object_constructor_prevent_extensions, - duk_bi_object_constructor_seal_freeze_shared, - duk_bi_object_getprototype_shared, - duk_bi_object_prototype_has_own_property, - duk_bi_object_prototype_is_prototype_of, - duk_bi_object_prototype_property_is_enumerable, - duk_bi_object_prototype_to_locale_string, - duk_bi_object_prototype_to_string, - duk_bi_object_prototype_value_of, - duk_bi_object_setprototype_shared, - duk_bi_pointer_constructor, - duk_bi_pointer_prototype_tostring_shared, - duk_bi_proxy_constructor, - duk_bi_regexp_constructor, - duk_bi_regexp_prototype_exec, - duk_bi_regexp_prototype_test, - duk_bi_regexp_prototype_to_string, - duk_bi_string_constructor, - duk_bi_string_constructor_from_char_code, - duk_bi_string_prototype_caseconv_shared, - duk_bi_string_prototype_char_at, - duk_bi_string_prototype_char_code_at, - duk_bi_string_prototype_concat, - duk_bi_string_prototype_indexof_shared, - duk_bi_string_prototype_locale_compare, - duk_bi_string_prototype_match, - duk_bi_string_prototype_replace, - duk_bi_string_prototype_search, - duk_bi_string_prototype_slice, - duk_bi_string_prototype_split, - duk_bi_string_prototype_substr, - duk_bi_string_prototype_substring, - duk_bi_string_prototype_to_string, - duk_bi_string_prototype_trim, - duk_bi_thread_constructor, - duk_bi_thread_current, - duk_bi_thread_resume, - duk_bi_thread_yield, - duk_bi_type_error_thrower, - duk_bi_typedarray_constructor, - duk_bi_typedarray_set, -}; - -DUK_INTERNAL const duk_uint8_t duk_builtins_data[1955] = { -105,195,75,32,121,40,105,53,14,252,104,54,8,131,72,0,115,225,65,165,244,55, -243,6,145,32,210,24,210,186,25,249,35,120,216,99,226,13,79,33,116,177,164, -180,44,192,4,202,52,150,220,24,0,169,70,146,219,123,0,23,40,210,91,110,96, -3,37,26,75,109,172,0,108,163,73,109,177,128,14,148,105,45,181,176,1,242, -144,56,209,36,94,6,167,133,98,80,211,28,1,250,67,72,168,67,232,13,46,192, -47,162,52,165,0,62,80,163,72,128,61,40,107,26,7,37,20,53,201,131,88,0,66, -134,185,48,98,80,215,38,11,96,0,138,26,228,193,76,0,69,67,92,152,37,128,6, -168,107,147,4,48,1,165,13,114,96,118,0,44,161,174,76,12,192,7,148,53,201, -129,88,1,26,134,165,80,130,80,31,255,241,69,224,0,0,124,63,128,0,0,0,46,32, -0,0,120,63,128,0,0,0,47,98,7,140,16,116,194,7,12,48,108,196,6,140,80,100, -198,6,12,112,92,200,5,140,149,192,202,91,204,181,184,204,91,76,213,176,206, -90,204,240,84,208,5,13,9,124,210,43,13,24,64,226,131,205,112,56,216,3,77, -152,48,218,130,205,184,40,220,130,77,216,32,222,129,205,248,24,224,129,78, -25,214,164,2,90,81,17,104,67,37,157,8,150,100,18,89,78,201,100,60,37,140, -244,150,35,226,88,79,201,96,71,37,125,20,122,188,138,62,0,2,165,70,39,255, -255,193,43,67,0,0,80,127,192,58,182,220,80,0,21,59,170,64,0,107,77,8,172, -181,146,176,202,138,187,59,42,204,200,170,182,146,168,218,80,0,26,155,97, -42,77,68,168,181,20,0,6,160,210,74,123,89,64,0,127,255,4,10,153,219,157,70, -163,185,130,140,228,10,43,160,40,141,228,161,184,18,132,226,64,161,127,128, -0,63,225,1,109,74,8,137,71,58,5,4,221,20,3,147,233,249,193,240,80,255,192, -6,120,2,64,127,195,0,173,28,56,20,96,80,128,0,206,192,143,167,64,164,156, -131,2,112,14,125,55,9,4,216,40,19,80,180,77,3,9,51,13,94,153,7,159,76,64, -207,192,0,102,0,103,255,255,242,240,67,73,112,33,168,0,12,180,16,212,0,10, -88,8,106,0,7,43,4,53,0,4,149,4,31,128,0,202,66,15,255,255,194,137,254,0,50, -135,227,224,127,196,2,87,132,17,82,143,24,10,44,96,36,240,4,147,64,146,119, -4,125,49,131,52,152,65,154,128,0,201,97,9,36,133,36,142,25,18,40,114,77,98, -17,33,137,68,130,45,17,247,240,71,159,193,29,127,8,0,12,113,252,32,0,49, -184,208,70,162,144,20,95,240,0,7,252,80,37,120,193,81,196,194,0,3,69,19,0, -81,191,197,140,192,255,255,239,127,255,255,255,255,140,64,0,0,0,0,1,0,0,0, -139,192,0,0,248,127,0,0,0,0,138,192,0,0,240,127,0,0,0,0,139,64,0,0,240,255, -0,0,0,0,0,31,241,128,149,224,0,0,0,0,0,0,0,0,13,71,98,37,25,128,148,86,48, -69,23,201,19,94,36,73,132,129,71,255,0,56,136,233,34,3,223,208,241,192,3, -254,56,18,188,128,0,15,135,240,0,0,0,11,104,228,128,135,18,4,0,6,26,72,16, -0,42,49,32,64,0,225,132,129,0,4,133,146,4,0,21,210,72,16,0,103,65,32,64,1, -220,228,100,162,146,130,20,74,8,72,248,64,2,33,3,225,0,9,131,143,132,0,42, -12,62,16,0,184,40,248,64,3,32,131,225,0,13,129,143,132,0,58,4,62,16,0,248, -8,248,64,4,32,3,225,0,17,127,143,132,0,73,252,62,16,1,55,232,248,64,5,31, -131,225,0,21,125,143,132,0,89,244,62,16,1,119,201,0,31,4,68,123,144,148,0, -97,236,66,80,1,151,169,10,248,0,211,208,133,124,0,109,230,66,254,0,56,242, -33,127,0,29,120,144,207,128,15,60,8,103,192,7,221,228,37,0,32,119,16,148,0, -133,218,66,190,0,68,236,33,95,0,35,117,144,191,128,18,58,136,95,192,9,92, -195,225,0,38,114,144,148,0,156,41,31,224,0,15,249,1,138,144,65,192,2,22,0, -88,16,46,24,77,208,148,103,4,102,252,102,244,128,0,0,0,0,0,0,0,0,220,111, -68,113,61,146,142,248,0,164,255,128,0,63,228,133,109,16,89,178,65,18,235, -153,25,150,220,184,188,180,230,6,32,209,205,0,20,175,240,0,39,252,160,77, -162,184,54,72,34,0,82,255,192,0,159,242,193,54,138,222,217,32,136,1,76,255, -0,2,127,204,4,218,43,115,100,130,32,5,55,252,0,9,255,52,19,104,173,173,146, -8,128,20,239,240,0,39,252,224,77,162,182,54,72,34,0,83,255,192,0,159,243, -193,54,138,214,217,32,136,0,255,255,33,177,0,42,252,21,1,165,92,82,45,175, -2,197,172,9,0,89,86,214,237,173,1,8,187,152,255,188,231,235,249,171,1,28, -87,220,255,250,8,173,149,169,1,239,47,108,252,59,148,152,85,167,3,236,132, -37,0,96,181,17,81,165,2,122,131,152,255,52,237,253,153,163,2,122,131,216, -255,52,237,253,153,38,130,129,25,234,5,0,1,103,40,20,0,9,154,160,80,0,54, -98,146,25,106,5,0,4,101,40,20,0,21,146,160,80,0,102,66,129,64,1,216,234,5, -0,8,99,39,47,49,83,215,152,138,73,0,1,97,168,129,132,160,80,0,150,10,129, -64,2,152,10,5,0,11,95,168,20,0,48,31,255,224,5,17,72,66,249,37,129,127,255, -0,0,191,255,128,0,63,255,197,31,192,0,80,196,64,0,0,0,0,8,26,112,17,169,0, -154,80,1,171,28,124,88,65,233,49,7,133,100,29,149,15,14,138,71,135,37,3, -195,66,114,5,77,252,0,243,178,40,25,200,48,101,30,0,127,210,128,0,85,31, -192,0,31,244,224,5,71,22,8,0,13,20,88,1,85,127,0,0,127,212,128,21,29,220, -32,0,52,87,112,5,89,252,0,1,255,86,16,166,64,0,0,2,0,0,0,0,0,170,72,38,29, -219,247,16,49,75,32,193,52,130,244,193,225,114,96,248,0,8,249,48,124,0,8, -90,152,62,0,6,44,76,31,0,4,21,166,15,128,2,147,255,252,38,212,16,184,155, -250,226,217,150,47,46,91,249,54,96,139,229,229,203,127,36,26,119,32,203, -203,150,254,72,52,97,221,147,102,157,217,192,10,191,248,0,157,4,72,15,250, -224,1,154,140,36,0,8,43,31,224,0,15,251,0,16,55,139,164,0,192,220,46,144,2, -3,104,186,64,12,77,130,233,0,33,53,139,164,0,200,212,46,144,2,35,72,186,64, -8,205,2,233,0,36,51,140,180,0,192,204,50,208,2,3,40,203,64,12,76,131,45,0, -33,49,140,180,0,200,196,50,208,2,35,8,203,64,8,204,3,45,0,36,7,255,248,1, -82,101,16,112,24,72,0,8,86,159,193,56,192,0,0,240,63,0,0,0,0,1,151,246,96, -0,21,183,240,78,48,0,0,60,15,192,0,0,0,0,101,253,168,0,5,113,252,19,140,0, -0,15,3,240,0,0,0,0,25,127,110,0,1,93,127,4,227,0,0,0,1,0,0,0,0,0,6,95,220, -128,0,87,159,193,56,192,0,0,0,64,0,0,0,0,1,151,247,96,0,21,247,240,78,48,0, -0,4,16,0,0,0,0,0,101,253,232,0,5,129,252,19,140,0,0,1,4,0,0,0,0,0,25,127, -126,0,1,97,127,4,227,0,0,0,65,0,0,0,0,0,6,95,224,128,0,88,159,193,56,192,0, -0,32,64,0,0,0,0,1,151,248,96,0,22,55,240,5,157,170,33,68,178,69,10,193,20, -10,104,79,138,36,0,12,31,248,160,88,154,23,66,100,93,32,2,9,129,116,128,0, -165,197,210,0,18,150,23,72,0,138,84,93,32,3,41,65,116,128,1,36,197,210,0, -20,146,23,72,0,146,68,93,32,3,73,1,116,128,1,163,197,210,0,22,142,23,72,0, -34,52,93,32,1,136,193,118,128,2,162,197,218,0,26,138,23,104,0,170,36,93, -160,3,168,129,150,33,198,90,0,32,134,25,104,0,10,20,101,160,1,40,65,150, -128,8,160,198,90,0,50,130,25,104,0,18,4,101,160,1,72,1,150,128,9,31,198,90, -0,52,126,25,104,0,25,244,101,160,1,103,193,150,128,2,30,198,90,0,24,122,25, -136,0,41,228,102,32,1,167,129,152,128,10,157,198,98,0,59,71,91,99,157,104, -9,213,118,39,5,8,159,20,40,0,10,109,90,19,81,132,39,151,32, -}; -#ifdef DUK_USE_BUILTIN_INITJS -DUK_INTERNAL const duk_uint8_t duk_initjs_data[187] = { -40,102,117,110,99,116,105,111,110,40,100,44,97,41,123,102,117,110,99,116, -105,111,110,32,98,40,97,44,98,44,99,41,123,79,98,106,101,99,116,46,100,101, -102,105,110,101,80,114,111,112,101,114,116,121,40,97,44,98,44,123,118,97, -108,117,101,58,99,44,119,114,105,116,97,98,108,101,58,33,48,44,101,110,117, -109,101,114,97,98,108,101,58,33,49,44,99,111,110,102,105,103,117,114,97,98, -108,101,58,33,48,125,41,125,98,40,97,46,76,111,103,103,101,114,44,34,99, -108,111,103,34,44,110,101,119,32,97,46,76,111,103,103,101,114,40,34,67,34, -41,41,59,98,40,97,44,34,109,111,100,76,111,97,100,101,100,34,44,123,125,41, -125,41,40,116,104,105,115,44,68,117,107,116,97,112,101,41,59,10,0, -}; -#endif /* DUK_USE_BUILTIN_INITJS */ #else #error invalid endianness defines #endif +#endif /* DUK_USE_ROM_OBJECTS */ #line 1 "duk_error_macros.c" /* * Error, fatal, and panic handling. @@ -13200,65 +9782,26 @@ DUK_INTERNAL const duk_uint8_t duk_initjs_data[187] = { #if defined(DUK_USE_VERBOSE_ERRORS) -#if defined(DUK_USE_VARIADIC_MACROS) -DUK_INTERNAL void duk_err_handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...) { +DUK_INTERNAL void duk_err_handle_error_fmt(duk_hthread *thr, const char *filename, duk_uint_t line_and_code, const char *fmt, ...) { va_list ap; char msg[DUK__ERRFMT_BUFSIZE]; va_start(ap, fmt); (void) DUK_VSNPRINTF(msg, sizeof(msg), fmt, ap); msg[sizeof(msg) - 1] = (char) 0; - duk_err_create_and_throw(thr, code, msg, filename, line); + duk_err_create_and_throw(thr, (duk_errcode_t) (line_and_code >> 24), msg, filename, (duk_int_t) (line_and_code & 0x00ffffffL)); va_end(ap); /* dead code, but ensures portability (see Linux man page notes) */ } -#else /* DUK_USE_VARIADIC_MACROS */ -DUK_INTERNAL const char *duk_err_file_stash = NULL; -DUK_INTERNAL duk_int_t duk_err_line_stash = 0; -DUK_NORETURN(DUK_LOCAL_DECL void duk__handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, va_list ap)); - -DUK_LOCAL void duk__handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, va_list ap) { - char msg[DUK__ERRFMT_BUFSIZE]; - (void) DUK_VSNPRINTF(msg, sizeof(msg), fmt, ap); - msg[sizeof(msg) - 1] = (char) 0; - duk_err_create_and_throw(thr, code, msg, filename, line); -} - -DUK_INTERNAL void duk_err_handle_error(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - duk__handle_error(filename, line, thr, code, fmt, ap); - va_end(ap); /* dead code */ +DUK_INTERNAL void duk_err_handle_error(duk_hthread *thr, const char *filename, duk_uint_t line_and_code, const char *msg) { + duk_err_create_and_throw(thr, (duk_errcode_t) (line_and_code >> 24), msg, filename, (duk_int_t) (line_and_code & 0x00ffffffL)); } -DUK_INTERNAL void duk_err_handle_error_stash(duk_hthread *thr, duk_errcode_t code, const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - duk__handle_error(duk_err_file_stash, duk_err_line_stash, thr, code, fmt, ap); - va_end(ap); /* dead code */ -} -#endif /* DUK_USE_VARIADIC_MACROS */ - #else /* DUK_USE_VERBOSE_ERRORS */ -#if defined(DUK_USE_VARIADIC_MACROS) DUK_INTERNAL void duk_err_handle_error(duk_hthread *thr, duk_errcode_t code) { duk_err_create_and_throw(thr, code); } -#else /* DUK_USE_VARIADIC_MACROS */ -DUK_INTERNAL void duk_err_handle_error_nonverbose1(duk_hthread *thr, duk_errcode_t code, const char *fmt, ...) { - DUK_UNREF(fmt); - duk_err_create_and_throw(thr, code); -} - -DUK_INTERNAL void duk_err_handle_error_nonverbose2(const char *filename, duk_int_t line, duk_hthread *thr, duk_errcode_t code, const char *fmt, ...) { - DUK_UNREF(filename); - DUK_UNREF(line); - DUK_UNREF(fmt); - duk_err_create_and_throw(thr, code); -} -#endif /* DUK_USE_VARIADIC_MACROS */ - #endif /* DUK_USE_VERBOSE_ERRORS */ /* @@ -13267,34 +9810,67 @@ DUK_INTERNAL void duk_err_handle_error_nonverbose2(const char *filename, duk_int #if defined(DUK_USE_VERBOSE_ERRORS) #if defined(DUK_USE_PARANOID_ERRORS) -DUK_INTERNAL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index, const char *expect_name) { - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_TYPE_ERROR, "%s required, found %s (stack index %ld)", - expect_name, duk_get_type_name((duk_context *) thr, index), (long) index); +DUK_INTERNAL void duk_err_require_type_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index, const char *expect_name) { + DUK_ERROR_RAW_FMT3(thr, filename, linenumber, DUK_ERR_TYPE_ERROR, "%s required, found %s (stack index %ld)", + expect_name, duk_get_type_name((duk_context *) thr, index), (long) index); } #else -DUK_INTERNAL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index, const char *expect_name) { - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_TYPE_ERROR, "%s required, found %s (stack index %ld)", - expect_name, duk_push_string_readable((duk_context *) thr, index), (long) index); +DUK_INTERNAL void duk_err_require_type_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index, const char *expect_name) { + DUK_ERROR_RAW_FMT3(thr, filename, linenumber, DUK_ERR_TYPE_ERROR, "%s required, found %s (stack index %ld)", + expect_name, duk_push_string_readable((duk_context *) thr, index), (long) index); } #endif -DUK_INTERNAL void duk_err_api_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, duk_idx_t index) { - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_API_ERROR, "invalid stack index %ld", (long) (index)); +DUK_INTERNAL void duk_err_range(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_RANGE_ERROR, message); +} +DUK_INTERNAL void duk_err_api_index(duk_hthread *thr, const char *filename, duk_int_t linenumber, duk_idx_t index) { + DUK_ERROR_RAW_FMT1(thr, filename, linenumber, DUK_ERR_API_ERROR, "invalid stack index %ld", (long) (index)); +} +DUK_INTERNAL void duk_err_api(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_API_ERROR, message); +} +DUK_INTERNAL void duk_err_unimplemented_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_UNIMPLEMENTED_ERROR, DUK_STR_UNIMPLEMENTED); +} +DUK_INTERNAL void duk_err_unsupported_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_UNSUPPORTED_ERROR, DUK_STR_UNSUPPORTED); } -DUK_INTERNAL void duk_err_api(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *message) { - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_API_ERROR, message); +DUK_INTERNAL void duk_err_internal_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_INTERNAL_ERROR, DUK_STR_INTERNAL_ERROR); +} +DUK_INTERNAL void duk_err_internal(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_INTERNAL_ERROR, message); +} +DUK_INTERNAL void duk_err_alloc(duk_hthread *thr, const char *filename, duk_int_t linenumber, const char *message) { + DUK_ERROR_RAW(thr, filename, linenumber, DUK_ERR_ALLOC_ERROR, message); } #else -DUK_INTERNAL void duk_err_require_type_index(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *message) { - DUK_UNREF(filename); DUK_UNREF(linenumber); DUK_UNREF(message); - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_TYPE_ERROR, message); +/* The file/line arguments are NULL and 0, they're ignored by DUK_ERROR_RAW() + * when non-verbose errors are used. + */ +DUK_INTERNAL void duk_err_type(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_TYPE_ERROR, NULL); +} +DUK_INTERNAL void duk_err_api(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_API_ERROR, NULL); +} +DUK_INTERNAL void duk_err_range(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_RANGE_ERROR, NULL); } -DUK_INTERNAL void duk_err_api_index(const char *filename, duk_int_t linenumber, duk_hthread *thr) { - DUK_UNREF(filename); DUK_UNREF(linenumber); - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_INDEX); +DUK_INTERNAL void duk_err_syntax(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_SYNTAX_ERROR, NULL); } -DUK_INTERNAL void duk_err_api(const char *filename, duk_int_t linenumber, duk_hthread *thr, const char *message) { - DUK_UNREF(filename); DUK_UNREF(linenumber); DUK_UNREF(message); - DUK_ERROR_RAW(filename, linenumber, thr, DUK_ERR_API_ERROR, message); +DUK_INTERNAL void duk_err_unimplemented(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_UNIMPLEMENTED_ERROR, NULL); +} +DUK_INTERNAL void duk_err_unsupported(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_UNSUPPORTED_ERROR, NULL); +} +DUK_INTERNAL void duk_err_internal(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, 0, DUK_ERR_INTERNAL_ERROR, NULL); +} +DUK_INTERNAL void duk_err_alloc(duk_hthread *thr) { + DUK_ERROR_RAW(thr, NULL, thr, DUK_ERR_ALLOC_ERROR, NULL); } #endif @@ -13366,6 +9942,27 @@ DUK_INTERNAL void duk_default_panic_handler(duk_errcode_t code, const char *msg) /* include removed: duk_internal.h */ /* + * Fast path tables + */ + +#if defined(DUK_USE_IDCHAR_FASTPATH) +DUK_INTERNAL const duk_int8_t duk_is_idchar_tab[128] = { + /* 0: not IdentifierStart or IdentifierPart + * 1: IdentifierStart and IdentifierPart + * -1: IdentifierPart only + */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00...0x0f */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x10...0x1f */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x20...0x2f */ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, /* 0x30...0x3f */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x40...0x4f */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, /* 0x50...0x5f */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x60...0x6f */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 /* 0x70...0x7f */ +}; +#endif + +/* * XUTF-8 and CESU-8 encoding/decoding */ @@ -13417,7 +10014,7 @@ DUK_INTERNAL duk_small_int_t duk_unicode_get_cesu8_length(duk_ucodepoint_t cp) { } #endif /* DUK_USE_ASSERTIONS */ -DUK_INTERNAL duk_uint8_t duk_unicode_xutf8_markers[7] = { +DUK_INTERNAL const duk_uint8_t duk_unicode_xutf8_markers[7] = { 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe }; @@ -13609,7 +10206,7 @@ DUK_INTERNAL duk_ucodepoint_t duk_unicode_decode_xutf8_checked(duk_hthread *thr, if (duk_unicode_decode_xutf8(thr, ptr, ptr_start, ptr_end, &cp)) { return cp; } - DUK_ERROR(thr, DUK_ERR_INTERNAL_ERROR, "utf-8 decode failed"); + DUK_ERROR_INTERNAL(thr, "utf-8 decode failed"); /* XXX: 'internal error' is a bit of a misnomer */ DUK_UNREACHABLE(); return 0; } @@ -13623,6 +10220,8 @@ DUK_INTERNAL duk_ucodepoint_t duk_unicode_decode_xutf8_checked(duk_hthread *thr, * is useful if possible in the algorithm. The current algorithms were * chosen from several variants, based on x64 gcc -O2 testing. See: * https://github.com/svaarala/duktape/pull/422 + * + * NOTE: must match src/dukutil.py:duk_unicode_unvalidated_utf8_length(). */ #if defined(DUK_USE_PREFER_SIZE) @@ -13671,7 +10270,7 @@ DUK_INTERNAL duk_size_t duk_unicode_unvalidated_utf8_length(const duk_uint8_t *d /* Align 'p' to 4; the input data may have arbitrary alignment. * End of string check not needed because blen >= 16. */ - while (((duk_uintptr_t) (const void *) p) & 0x03) { + while (((duk_size_t) (const void *) p) & 0x03U) { duk_uint8_t x; x = *p++; if (DUK_UNLIKELY(x >= 0x80 && x <= 0xbf)) { @@ -13928,12 +10527,16 @@ DUK_INTERNAL duk_small_int_t duk_unicode_is_identifier_start(duk_codepoint_t cp) /* ASCII (and EOF) fast path -- quick accept and reject */ if (cp <= 0x7fL) { +#if defined(DUK_USE_IDCHAR_FASTPATH) + return (cp >= 0) && (duk_is_idchar_tab[cp] > 0); +#else if ((cp >= 'a' && cp <= 'z') || (cp >= 'A' && cp <= 'Z') || cp == '_' || cp == '$') { return 1; } return 0; +#endif } /* Non-ASCII slow path (range-by-range linear comparison), very slow */ @@ -14013,6 +10616,9 @@ DUK_INTERNAL duk_small_int_t duk_unicode_is_identifier_part(duk_codepoint_t cp) /* ASCII (and EOF) fast path -- quick accept and reject */ if (cp <= 0x7fL) { +#if defined(DUK_USE_IDCHAR_FASTPATH) + return (cp >= 0) && (duk_is_idchar_tab[cp] != 0); +#else if ((cp >= 'a' && cp <= 'z') || (cp >= 'A' && cp <= 'Z') || (cp >= '0' && cp <= '9') || @@ -14020,6 +10626,7 @@ DUK_INTERNAL duk_small_int_t duk_unicode_is_identifier_part(duk_codepoint_t cp) return 1; } return 0; +#endif } /* Non-ASCII slow path (range-by-range linear comparison), very slow */ @@ -14451,10 +11058,10 @@ DUK_INTERNAL duk_small_int_t duk_unicode_re_is_wordchar(duk_codepoint_t x) { */ /* exposed because lexer needs these too */ -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_digit[2] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_digit[2] = { (duk_uint16_t) 0x0030UL, (duk_uint16_t) 0x0039UL, }; -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_white[22] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_white[22] = { (duk_uint16_t) 0x0009UL, (duk_uint16_t) 0x000DUL, (duk_uint16_t) 0x0020UL, (duk_uint16_t) 0x0020UL, (duk_uint16_t) 0x00A0UL, (duk_uint16_t) 0x00A0UL, @@ -14467,17 +11074,17 @@ DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_white[22] = { (duk_uint16_t) 0x3000UL, (duk_uint16_t) 0x3000UL, (duk_uint16_t) 0xFEFFUL, (duk_uint16_t) 0xFEFFUL, }; -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_wordchar[8] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_wordchar[8] = { (duk_uint16_t) 0x0030UL, (duk_uint16_t) 0x0039UL, (duk_uint16_t) 0x0041UL, (duk_uint16_t) 0x005AUL, (duk_uint16_t) 0x005FUL, (duk_uint16_t) 0x005FUL, (duk_uint16_t) 0x0061UL, (duk_uint16_t) 0x007AUL, }; -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_not_digit[4] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_not_digit[4] = { (duk_uint16_t) 0x0000UL, (duk_uint16_t) 0x002FUL, (duk_uint16_t) 0x003AUL, (duk_uint16_t) 0xFFFFUL, }; -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_not_white[24] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_not_white[24] = { (duk_uint16_t) 0x0000UL, (duk_uint16_t) 0x0008UL, (duk_uint16_t) 0x000EUL, (duk_uint16_t) 0x001FUL, (duk_uint16_t) 0x0021UL, (duk_uint16_t) 0x009FUL, @@ -14491,7 +11098,7 @@ DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_not_white[24] = { (duk_uint16_t) 0x3001UL, (duk_uint16_t) 0xFEFEUL, (duk_uint16_t) 0xFF00UL, (duk_uint16_t) 0xFFFFUL, }; -DUK_INTERNAL duk_uint16_t duk_unicode_re_ranges_not_wordchar[10] = { +DUK_INTERNAL const duk_uint16_t duk_unicode_re_ranges_not_wordchar[10] = { (duk_uint16_t) 0x0000UL, (duk_uint16_t) 0x002FUL, (duk_uint16_t) 0x003AUL, (duk_uint16_t) 0x0040UL, (duk_uint16_t) 0x005BUL, (duk_uint16_t) 0x005EUL, @@ -14944,6 +11551,7 @@ DUK_INTERNAL duk_uint8_t duk_class_number_to_stridx[32] = { /* include removed: duk_internal.h */ +#if defined(DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS) DUK_INTERNAL void *duk_default_alloc_function(void *udata, duk_size_t size) { void *res; DUK_UNREF(udata); @@ -14967,6 +11575,7 @@ DUK_INTERNAL void duk_default_free_function(void *udata, void *ptr) { DUK_UNREF(udata); DUK_ANSI_FREE(ptr); } +#endif /* DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS */ #line 1 "duk_api_buffer.c" /* * Buffer @@ -14984,7 +11593,7 @@ DUK_EXTERNAL void *duk_resize_buffer(duk_context *ctx, duk_idx_t index, duk_size DUK_ASSERT(h != NULL); if (!(DUK_HBUFFER_HAS_DYNAMIC(h) && !DUK_HBUFFER_HAS_EXTERNAL(h))) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_WRONG_BUFFER_TYPE); + DUK_ERROR_TYPE(thr, DUK_STR_WRONG_BUFFER_TYPE); } /* maximum size check is handled by callee */ @@ -15005,7 +11614,7 @@ DUK_EXTERNAL void *duk_steal_buffer(duk_context *ctx, duk_idx_t index, duk_size_ DUK_ASSERT(h != NULL); if (!(DUK_HBUFFER_HAS_DYNAMIC(h) && !DUK_HBUFFER_HAS_EXTERNAL(h))) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_WRONG_BUFFER_TYPE); + DUK_ERROR_TYPE(thr, DUK_STR_WRONG_BUFFER_TYPE); } /* Forget the previous allocation, setting size to 0 and alloc to @@ -15034,7 +11643,7 @@ DUK_EXTERNAL void duk_config_buffer(duk_context *ctx, duk_idx_t index, void *ptr DUK_ASSERT(h != NULL); if (!DUK_HBUFFER_HAS_EXTERNAL(h)) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_WRONG_BUFFER_TYPE); + DUK_ERROR_TYPE(thr, DUK_STR_WRONG_BUFFER_TYPE); } DUK_ASSERT(DUK_HBUFFER_HAS_DYNAMIC(h)); @@ -15749,7 +12358,7 @@ DUK_EXTERNAL void duk_load_function(duk_context *ctx) { return; format_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_DECODE_FAILED); + DUK_ERROR_TYPE(thr, DUK_STR_DECODE_FAILED); } #undef DUK__SER_MARKER @@ -15761,11 +12370,11 @@ DUK_EXTERNAL void duk_load_function(duk_context *ctx) { #else /* DUK_USE_BYTECODE_DUMP_SUPPORT */ DUK_EXTERNAL void duk_dump_function(duk_context *ctx) { - DUK_ERROR((duk_hthread *) ctx, DUK_ERR_ERROR, DUK_STR_UNSUPPORTED); + DUK_ERROR_UNSUPPORTED_DEFMSG((duk_hthread *) ctx); } DUK_EXTERNAL void duk_load_function(duk_context *ctx) { - DUK_ERROR((duk_hthread *) ctx, DUK_ERR_ERROR, DUK_STR_UNSUPPORTED); + DUK_ERROR_UNSUPPORTED_DEFMSG((duk_hthread *) ctx); } #endif /* DUK_USE_BYTECODE_DUMP_SUPPORT */ @@ -15818,7 +12427,7 @@ DUK_EXTERNAL void duk_call(duk_context *ctx, duk_idx_t nargs) { idx_func = duk_get_top(ctx) - nargs - 1; if (idx_func < 0 || nargs < 0) { /* note that we can't reliably pop anything here */ - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_API(thr, DUK_STR_INVALID_CALL_ARGS); } /* XXX: awkward; we assume there is space for this, overwrite @@ -15845,7 +12454,7 @@ DUK_EXTERNAL void duk_call_method(duk_context *ctx, duk_idx_t nargs) { idx_func = duk_get_top(ctx) - nargs - 2; /* must work for nargs <= 0 */ if (idx_func < 0 || nargs < 0) { /* note that we can't reliably pop anything here */ - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_API(thr, DUK_STR_INVALID_CALL_ARGS); } call_flags = 0; /* not protected, respect reclimit, not constructor */ @@ -15893,7 +12502,7 @@ DUK_EXTERNAL duk_int_t duk_pcall(duk_context *ctx, duk_idx_t nargs) { * might STILL throw an out-of-memory error or some other internal * fatal error. */ - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_API(thr, DUK_STR_INVALID_CALL_ARGS); return DUK_EXEC_ERROR; /* unreachable */ } @@ -15922,7 +12531,7 @@ DUK_EXTERNAL duk_int_t duk_pcall_method(duk_context *ctx, duk_idx_t nargs) { idx_func = duk_get_top(ctx) - nargs - 2; /* must work for nargs <= 0 */ if (idx_func < 0 || nargs < 0) { /* See comments in duk_pcall(). */ - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_API(thr, DUK_STR_INVALID_CALL_ARGS); return DUK_EXEC_ERROR; /* unreachable */ } @@ -15982,7 +12591,7 @@ DUK_EXTERNAL duk_int_t duk_safe_call(duk_context *ctx, duk_safe_call_function fu if (duk_get_top(ctx) < nargs || nrets < 0) { /* See comments in duk_pcall(). */ - DUK_ERROR(thr, DUK_ERR_API_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_API(thr, DUK_STR_INVALID_CALL_ARGS); return DUK_EXEC_ERROR; /* unreachable */ } @@ -16169,7 +12778,7 @@ DUK_EXTERNAL void duk_new(duk_context *ctx, duk_idx_t nargs) { return; not_constructable: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_CONSTRUCTABLE); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_CONSTRUCTABLE); } DUK_LOCAL duk_ret_t duk__pnew_helper(duk_context *ctx) { @@ -16292,7 +12901,7 @@ DUK_EXTERNAL duk_int_t duk_get_magic(duk_context *ctx, duk_idx_t index) { /* fall through */ type_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_UNEXPECTED_TYPE); + DUK_ERROR_TYPE(thr, DUK_STR_UNEXPECTED_TYPE); return 0; } @@ -16711,7 +13320,7 @@ DUK_EXTERNAL const char *duk_base64_encode(duk_context *ctx, duk_idx_t index) { return ret; type_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_ENCODE_FAILED); + DUK_ERROR_TYPE(thr, DUK_STR_ENCODE_FAILED); return NULL; /* never here */ } @@ -16756,7 +13365,7 @@ DUK_EXTERNAL void duk_base64_decode(duk_context *ctx, duk_idx_t index) { return; type_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_DECODE_FAILED); + DUK_ERROR_TYPE(thr, DUK_STR_DECODE_FAILED); } DUK_EXTERNAL const char *duk_hex_encode(duk_context *ctx, duk_idx_t index) { @@ -16781,7 +13390,7 @@ DUK_EXTERNAL const char *duk_hex_encode(duk_context *ctx, duk_idx_t index) { DUK_ASSERT(buf != NULL); #if defined(DUK_USE_HEX_FASTPATH) - DUK_ASSERT((((duk_uintptr_t) buf) & 0x01U) == 0); /* pointer is aligned, guaranteed for fixed buffer */ + DUK_ASSERT((((duk_size_t) buf) & 0x01U) == 0); /* pointer is aligned, guaranteed for fixed buffer */ p16 = (duk_uint16_t *) (void *) buf; len_safe = len & ~0x03U; for (i = 0; i < len_safe; i += 4) { @@ -16896,7 +13505,7 @@ DUK_EXTERNAL void duk_hex_decode(duk_context *ctx, duk_idx_t index) { return; type_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_DECODE_FAILED); + DUK_ERROR_TYPE(thr, DUK_STR_DECODE_FAILED); } DUK_EXTERNAL const char *duk_json_encode(duk_context *ctx, duk_idx_t index) { @@ -16972,7 +13581,7 @@ DUK_EXTERNAL duk_int_t duk_eval_raw(duk_context *ctx, const char *src_buffer, du * See tests/api/test-eval-strictness.c for more discussion. */ - /* [ ... source? filename ] (depends on flags) */ + /* [ ... source? filename? ] (depends on flags) */ comp_flags = flags; comp_flags |= DUK_COMPILE_EVAL; @@ -17021,12 +13630,19 @@ DUK_LOCAL duk_ret_t duk__do_compile(duk_context *ctx) { * for discussion. */ - /* [ ... source? filename &comp_args ] (depends on flags) */ + /* [ ... source? filename? &comp_args ] (depends on flags) */ comp_args = (duk__compile_raw_args *) duk_require_pointer(ctx, -1); flags = comp_args->flags; duk_pop(ctx); + /* [ ... source? filename? ] */ + + if (flags & DUK_COMPILE_NOFILENAME) { + /* Automatic filename: 'eval' or 'input'. */ + duk_push_hstring_stridx(ctx, (flags & DUK_COMPILE_EVAL) ? DUK_STRIDX_EVAL : DUK_STRIDX_INPUT); + } + /* [ ... source? filename ] */ if (!comp_args->src_buffer) { @@ -17079,7 +13695,8 @@ DUK_LOCAL duk_ret_t duk__do_compile(duk_context *ctx) { duk_js_push_closure(thr, h_templ, thr->builtins[DUK_BIDX_GLOBAL_ENV], - thr->builtins[DUK_BIDX_GLOBAL_ENV]); + thr->builtins[DUK_BIDX_GLOBAL_ENV], + 1 /*add_auto_proto*/); duk_remove(ctx, -2); /* -> [ ... closure ] */ /* [ ... closure ] */ @@ -17105,15 +13722,21 @@ DUK_EXTERNAL duk_int_t duk_compile_raw(duk_context *ctx, const char *src_buffer, comp_args->flags = flags; duk_push_pointer(ctx, (void *) comp_args); - /* [ ... source? filename &comp_args ] (depends on flags) */ + /* [ ... source? filename? &comp_args ] (depends on flags) */ if (flags & DUK_COMPILE_SAFE) { duk_int_t rc; duk_int_t nargs; duk_int_t nrets = 1; - /* Arguments are either: [ filename &comp_args ] or [ source filename &comp_args ] */ - nargs = (flags & DUK_COMPILE_NOSOURCE) ? 2 : 3; + /* Arguments can be: [ source? filename? &comp_args] so that + * nargs is 1 to 3. Call site encodes the correct nargs count + * directly into flags. + */ + nargs = flags & 0x07; + DUK_ASSERT(nargs == (1 + + ((flags & DUK_COMPILE_NOSOURCE) ? 0 : 1) + + ((flags & DUK_COMPILE_NOFILENAME) ? 0 : 1))); rc = duk_safe_call(ctx, duk__do_compile, nargs, nrets); /* [ ... closure ] */ @@ -17168,14 +13791,15 @@ DUK_EXTERNAL void duk_push_context_dump(duk_context *ctx) { #if defined(DUK_USE_DEBUGGER_SUPPORT) -DUK_EXTERNAL void duk_debugger_attach(duk_context *ctx, - duk_debug_read_function read_cb, - duk_debug_write_function write_cb, - duk_debug_peek_function peek_cb, - duk_debug_read_flush_function read_flush_cb, - duk_debug_write_flush_function write_flush_cb, - duk_debug_detached_function detached_cb, - void *udata) { +DUK_EXTERNAL void duk_debugger_attach_custom(duk_context *ctx, + duk_debug_read_function read_cb, + duk_debug_write_function write_cb, + duk_debug_peek_function peek_cb, + duk_debug_read_flush_function read_flush_cb, + duk_debug_write_flush_function write_flush_cb, + duk_debug_request_function request_cb, + duk_debug_detached_function detached_cb, + void *udata) { duk_hthread *thr = (duk_hthread *) ctx; duk_heap *heap; const char *str; @@ -17185,6 +13809,8 @@ DUK_EXTERNAL void duk_debugger_attach(duk_context *ctx, * already attached? */ + DUK_D(DUK_DPRINT("application called duk_debugger_attach()")); + DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT(read_cb != NULL); DUK_ASSERT(write_cb != NULL); @@ -17196,6 +13822,7 @@ DUK_EXTERNAL void duk_debugger_attach(duk_context *ctx, heap->dbg_peek_cb = peek_cb; heap->dbg_read_flush_cb = read_flush_cb; heap->dbg_write_flush_cb = write_flush_cb; + heap->dbg_request_cb = request_cb; heap->dbg_detached_cb = detached_cb; heap->dbg_udata = udata; heap->dbg_have_next_byte = 0; @@ -17231,6 +13858,8 @@ DUK_EXTERNAL void duk_debugger_attach(duk_context *ctx, DUK_EXTERNAL void duk_debugger_detach(duk_context *ctx) { duk_hthread *thr; + DUK_D(DUK_DPRINT("application called duk_debugger_detach()")); + DUK_ASSERT_CTX_VALID(ctx); thr = (duk_hthread *) ctx; DUK_ASSERT(thr != NULL); @@ -17260,28 +13889,90 @@ DUK_EXTERNAL void duk_debugger_cooperate(duk_context *ctx) { return; } - thr->heap->dbg_processing = 1; processed_messages = duk_debug_process_messages(thr, 1 /*no_block*/); - thr->heap->dbg_processing = 0; DUK_UNREF(processed_messages); } +DUK_EXTERNAL duk_bool_t duk_debugger_notify(duk_context *ctx, duk_idx_t nvalues) { + duk_hthread *thr; + duk_idx_t top; + duk_idx_t idx; + duk_bool_t ret = 0; + + DUK_ASSERT_CTX_VALID(ctx); + thr = (duk_hthread *) ctx; + DUK_ASSERT(thr != NULL); + DUK_ASSERT(thr->heap != NULL); + + DUK_D(DUK_DPRINT("application called duk_debugger_notify() with nvalues=%ld", (long) nvalues)); + + top = duk_get_top(ctx); + if (top < nvalues) { + DUK_ERROR_API(thr, "not enough stack values for notify"); + return ret; /* unreachable */ + } + if (DUK_HEAP_IS_DEBUGGER_ATTACHED(thr->heap)) { + duk_debug_write_notify(thr, DUK_DBG_CMD_APPNOTIFY); + for (idx = top - nvalues; idx < top; idx++) { + duk_tval *tv = DUK_GET_TVAL_POSIDX(ctx, idx); + duk_debug_write_tval(thr, tv); + } + duk_debug_write_eom(thr); + + /* Return non-zero (true) if we have a good reason to believe + * the notify was delivered; if we're still attached at least + * a transport error was not indicated by the transport write + * callback. This is not a 100% guarantee of course. + */ + if (DUK_HEAP_IS_DEBUGGER_ATTACHED(thr->heap)) { + ret = 1; + } + } + duk_pop_n(ctx, nvalues); + return ret; +} + +DUK_EXTERNAL void duk_debugger_pause(duk_context *ctx) { + duk_hthread *thr; + + DUK_ASSERT_CTX_VALID(ctx); + thr = (duk_hthread *) ctx; + DUK_ASSERT(thr != NULL); + DUK_ASSERT(thr->heap != NULL); + + DUK_D(DUK_DPRINT("application called duk_debugger_pause()")); + + /* Treat like a debugger statement: ignore when not attached. */ + if (DUK_HEAP_IS_DEBUGGER_ATTACHED(thr->heap)) { + DUK_HEAP_SET_PAUSED(thr->heap); + + /* Pause on the next opcode executed. This is always safe to do even + * inside the debugger message loop: the interrupt counter will be reset + * to its proper value when the message loop exits. + */ + thr->interrupt_init = 1; + thr->interrupt_counter = 0; + } +} + #else /* DUK_USE_DEBUGGER_SUPPORT */ -DUK_EXTERNAL void duk_debugger_attach(duk_context *ctx, - duk_debug_read_function read_cb, - duk_debug_write_function write_cb, - duk_debug_peek_function peek_cb, - duk_debug_read_flush_function read_flush_cb, - duk_debug_write_flush_function write_flush_cb, - duk_debug_detached_function detached_cb, - void *udata) { +DUK_EXTERNAL void duk_debugger_attach_custom(duk_context *ctx, + duk_debug_read_function read_cb, + duk_debug_write_function write_cb, + duk_debug_peek_function peek_cb, + duk_debug_read_flush_function read_flush_cb, + duk_debug_write_flush_function write_flush_cb, + duk_debug_request_function request_cb, + duk_debug_detached_function detached_cb, + void *udata) { DUK_ASSERT_CTX_VALID(ctx); DUK_UNREF(read_cb); DUK_UNREF(write_cb); DUK_UNREF(peek_cb); DUK_UNREF(read_flush_cb); DUK_UNREF(write_flush_cb); + DUK_UNREF(request_cb); DUK_UNREF(detached_cb); DUK_UNREF(udata); DUK_ERROR_API((duk_hthread *) ctx, "no debugger support"); @@ -17298,6 +13989,28 @@ DUK_EXTERNAL void duk_debugger_cooperate(duk_context *ctx) { DUK_UNREF(ctx); } +DUK_EXTERNAL duk_bool_t duk_debugger_notify(duk_context *ctx, duk_idx_t nvalues) { + duk_idx_t top; + + DUK_ASSERT_CTX_VALID(ctx); + + top = duk_get_top(ctx); + if (top < nvalues) { + DUK_ERROR_API((duk_hthread *) ctx, "not enough stack values for notify"); + return 0; /* unreachable */ + } + + /* No debugger support, just pop values. */ + duk_pop_n(ctx, nvalues); + return 0; +} + +DUK_EXTERNAL void duk_debugger_pause(duk_context *ctx) { + /* Treat like debugger statement: nop */ + DUK_ASSERT_CTX_VALID(ctx); + DUK_UNREF(ctx); +} + #endif /* DUK_USE_DEBUGGER_SUPPORT */ #line 1 "duk_api_heap.c" /* @@ -17326,9 +14039,14 @@ duk_context *duk_create_heap(duk_alloc_function alloc_func, if (!alloc_func) { DUK_ASSERT(realloc_func == NULL); DUK_ASSERT(free_func == NULL); +#if defined(DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS) alloc_func = duk_default_alloc_function; realloc_func = duk_default_realloc_function; free_func = duk_default_free_function; +#else + DUK_D(DUK_DPRINT("no allocation functions given and no default providers")); + return NULL; +#endif } else { DUK_ASSERT(realloc_func != NULL); DUK_ASSERT(free_func != NULL); @@ -17647,6 +14365,7 @@ DUK_INTERNAL duk_bool_t duk_get_prop_stridx(duk_context *ctx, duk_idx_t obj_inde DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT_DISABLE(stridx >= 0); DUK_ASSERT(stridx < DUK_HEAP_NUM_STRINGS); + DUK_UNREF(thr); obj_index = duk_require_normalize_index(ctx, obj_index); duk_push_hstring(ctx, DUK_HTHREAD_GET_STRING(thr, stridx)); @@ -17722,6 +14441,7 @@ DUK_INTERNAL duk_bool_t duk_put_prop_stridx(duk_context *ctx, duk_idx_t obj_inde DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT_DISABLE(stridx >= 0); DUK_ASSERT(stridx < DUK_HEAP_NUM_STRINGS); + DUK_UNREF(thr); obj_index = duk_require_normalize_index(ctx, obj_index); duk_push_hstring(ctx, DUK_HTHREAD_GET_STRING(thr, stridx)); @@ -17776,6 +14496,7 @@ DUK_INTERNAL duk_bool_t duk_del_prop_stridx(duk_context *ctx, duk_idx_t obj_inde DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT_DISABLE(stridx >= 0); DUK_ASSERT(stridx < DUK_HEAP_NUM_STRINGS); + DUK_UNREF(thr); obj_index = duk_require_normalize_index(ctx, obj_index); duk_push_hstring(ctx, DUK_HTHREAD_GET_STRING(thr, stridx)); @@ -17827,6 +14548,7 @@ DUK_INTERNAL duk_bool_t duk_has_prop_stridx(duk_context *ctx, duk_idx_t obj_inde DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT_DISABLE(stridx >= 0); DUK_ASSERT(stridx < DUK_HEAP_NUM_STRINGS); + DUK_UNREF(thr); obj_index = duk_require_normalize_index(ctx, obj_index); duk_push_hstring(ctx, DUK_HTHREAD_GET_STRING(thr, stridx)); @@ -17999,11 +14721,11 @@ DUK_EXTERNAL void duk_def_prop(duk_context *ctx, duk_idx_t obj_index, duk_uint_t return; fail_invalid_desc: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_INVALID_DESCRIPTOR); + DUK_ERROR_TYPE(thr, DUK_STR_INVALID_DESCRIPTOR); return; fail_not_callable: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_CALLABLE); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_CALLABLE); return; } @@ -18152,6 +14874,13 @@ DUK_EXTERNAL void duk_set_prototype(duk_context *ctx, duk_idx_t index) { proto = duk_get_hobject(ctx, -1); /* proto can also be NULL here (allowed explicitly) */ +#if defined(DUK_USE_ROM_OBJECTS) + if (DUK_HEAPHDR_HAS_READONLY((duk_heaphdr *) obj)) { + DUK_ERROR_TYPE(thr, DUK_STR_NOT_CONFIGURABLE); /* XXX: "read only object"? */ + return; + } +#endif + DUK_HOBJECT_SET_PROTOTYPE_UPDREF(thr, obj, proto); duk_pop(ctx); @@ -18857,7 +15586,7 @@ duk_bool_t duk_valstack_resize_raw(duk_context *ctx, * plan limit accordingly (taking DUK_VALSTACK_GROW_STEP into account). */ if (throw_flag) { - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_VALSTACK_LIMIT); + DUK_ERROR_RANGE(thr, DUK_STR_VALSTACK_LIMIT); } else { return 0; } @@ -18884,7 +15613,7 @@ duk_bool_t duk_valstack_resize_raw(duk_context *ctx, DUK_DD(DUK_DDPRINT("valstack resize failed")); if (throw_flag) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_FAILED_TO_EXTEND_VALSTACK); + DUK_ERROR_ALLOC_DEFMSG(thr); } else { return 0; } @@ -19778,7 +16507,7 @@ DUK_EXTERNAL void *duk_require_heapptr(duk_context *ctx, duk_idx_t index) { /* This would be pointless: we'd return NULL for both lightfuncs and * unexpected types. */ -duk_hobject *duk_get_hobject_or_lfunc(duk_context *ctx, duk_idx_t index) { +DUK_INTERNAL duk_hobject *duk_get_hobject_or_lfunc(duk_context *ctx, duk_idx_t index) { } #endif @@ -20005,7 +16734,7 @@ DUK_EXTERNAL void duk_to_defaultvalue(duk_context *ctx, duk_idx_t index, duk_int return; } - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_DEFAULTVALUE_COERCE_FAILED); + DUK_ERROR_TYPE(thr, DUK_STR_DEFAULTVALUE_COERCE_FAILED); } DUK_EXTERNAL void duk_to_undefined(duk_context *ctx, duk_idx_t index) { @@ -20144,13 +16873,8 @@ DUK_EXTERNAL duk_int32_t duk_to_int32(duk_context *ctx, duk_idx_t index) { /* Relookup in case coerce_func() has side effects, e.g. ends up coercing an object */ tv = duk_require_tval(ctx, index); -#if defined(DUK_USE_FASTINT) DUK_TVAL_SET_FASTINT_I32_UPDREF(thr, tv, ret); /* side effects */ return ret; -#else - DUK_TVAL_SET_NUMBER_UPDREF(thr, tv, (duk_double_t) ret); /* side effects */ - return ret; -#endif } DUK_EXTERNAL duk_uint32_t duk_to_uint32(duk_context *ctx, duk_idx_t index) { @@ -20166,13 +16890,8 @@ DUK_EXTERNAL duk_uint32_t duk_to_uint32(duk_context *ctx, duk_idx_t index) { /* Relookup in case coerce_func() has side effects, e.g. ends up coercing an object */ tv = duk_require_tval(ctx, index); -#if defined(DUK_USE_FASTINT) DUK_TVAL_SET_FASTINT_U32_UPDREF(thr, tv, ret); /* side effects */ return ret; -#else - DUK_TVAL_SET_NUMBER_UPDREF(thr, tv, (duk_double_t) ret); /* side effects */ -#endif - return ret; } DUK_EXTERNAL duk_uint16_t duk_to_uint16(duk_context *ctx, duk_idx_t index) { @@ -20188,13 +16907,8 @@ DUK_EXTERNAL duk_uint16_t duk_to_uint16(duk_context *ctx, duk_idx_t index) { /* Relookup in case coerce_func() has side effects, e.g. ends up coercing an object */ tv = duk_require_tval(ctx, index); -#if defined(DUK_USE_FASTINT) DUK_TVAL_SET_FASTINT_U32_UPDREF(thr, tv, ret); /* side effects */ return ret; -#else - DUK_TVAL_SET_NUMBER_UPDREF(thr, tv, (duk_double_t) ret); /* side effects */ -#endif - return ret; } #if defined(DUK_USE_BUFFEROBJECT_SUPPORT) @@ -20281,7 +16995,7 @@ DUK_EXTERNAL const char *duk_safe_to_lstring(duk_context *ctx, duk_idx_t index, } #if defined(DUK_USE_DEBUGGER_SUPPORT) /* only needed by debugger for now */ -DUK_EXTERNAL duk_hstring *duk_safe_to_hstring(duk_context *ctx, duk_idx_t index) { +DUK_INTERNAL duk_hstring *duk_safe_to_hstring(duk_context *ctx, duk_idx_t index) { (void) duk_safe_to_string(ctx, index); DUK_ASSERT(duk_is_string(ctx, index)); DUK_ASSERT(duk_get_hstring(ctx, index) != NULL); @@ -20297,6 +17011,7 @@ DUK_INTERNAL void duk_to_object_class_string_top(duk_context *ctx) { DUK_ASSERT_CTX_VALID(ctx); thr = (duk_hthread *) ctx; + DUK_UNREF(thr); typemask = duk_get_type_mask(ctx, -1); if (typemask & DUK_TYPE_MASK_UNDEFINED) { @@ -20326,6 +17041,7 @@ DUK_INTERNAL void duk_push_hobject_class_string(duk_context *ctx, duk_hobject *h DUK_ASSERT_CTX_VALID(ctx); DUK_ASSERT(h != NULL); thr = (duk_hthread *) ctx; + DUK_UNREF(thr); h_strclass = DUK_HOBJECT_GET_CLASS_STRING(thr->heap, h); DUK_ASSERT(h_strclass != NULL); @@ -20362,10 +17078,12 @@ DUK_INTERNAL duk_int_t duk_to_int_clamped_raw(duk_context *ctx, duk_idx_t index, } else { res = (duk_int_t) d; } + DUK_UNREF(d); /* SCANBUILD: with suitable dmin/dmax limits 'd' is unused */ /* 'd' and 'res' agree here */ /* Relookup in case duk_js_tointeger() ends up e.g. coercing an object. */ - tv = duk_require_tval(ctx, index); + tv = duk_get_tval(ctx, index); + DUK_ASSERT(tv != NULL); /* not popped by side effect */ DUK_TVAL_SET_TVAL(&tv_tmp, tv); #if defined(DUK_USE_FASTINT) #if (DUK_INT_MAX <= 0x7fffffffL) @@ -20388,7 +17106,7 @@ DUK_INTERNAL duk_int_t duk_to_int_clamped_raw(duk_context *ctx, duk_idx_t index, } else { /* coerced value is updated to value stack even when RangeError thrown */ if (clamped) { - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_NUMBER_OUTSIDE_RANGE); + DUK_ERROR_RANGE(thr, DUK_STR_NUMBER_OUTSIDE_RANGE); } } @@ -20630,7 +17348,7 @@ DUK_EXTERNAL void duk_to_object(duk_context *ctx, duk_idx_t index) { switch (DUK_TVAL_GET_TAG(tv)) { case DUK_TAG_UNDEFINED: case DUK_TAG_NULL: { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_OBJECT_COERCIBLE); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_OBJECT_COERCIBLE); break; } case DUK_TAG_BOOLEAN: { @@ -20909,7 +17627,7 @@ DUK_EXTERNAL duk_bool_t duk_check_type_mask(duk_context *ctx, duk_idx_t index, d return 1; } if (mask & DUK_TYPE_MASK_THROW) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_UNEXPECTED_TYPE); + DUK_ERROR_TYPE(thr, DUK_STR_UNEXPECTED_TYPE); DUK_UNREACHABLE(); } return 0; @@ -21342,7 +18060,7 @@ DUK_EXTERNAL const char *duk_push_lstring(duk_context *ctx, const char *str, duk /* Check for maximum string length */ if (len > DUK_HSTRING_MAX_BYTELEN) { - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_STRING_TOO_LONG); + DUK_ERROR_RANGE(thr, DUK_STR_STRING_TOO_LONG); } h = duk_heap_string_intern_checked(thr, (const duk_uint8_t *) str, (duk_uint32_t) len); @@ -21415,7 +18133,7 @@ DUK_EXTERNAL const char *duk_push_string_file_raw(duk_context *ctx, const char * duk_push_undefined(ctx); } else { /* XXX: string not shared because it is conditional */ - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, "read file error"); + DUK_ERROR_TYPE(thr, "read file error"); } return NULL; } @@ -21430,7 +18148,7 @@ DUK_EXTERNAL const char *duk_push_string_file_raw(duk_context *ctx, const char * duk_push_undefined(ctx); } else { /* XXX: string not shared because it is conditional */ - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, "file I/O disabled"); + DUK_ERROR_UNSUPPORTED(thr, "file I/O disabled"); } return NULL; } @@ -21483,7 +18201,7 @@ DUK_LOCAL void duk__push_this_helper(duk_context *ctx, duk_small_uint_t check_ob return; type_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_OBJECT_COERCIBLE); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_OBJECT_COERCIBLE); } DUK_EXTERNAL void duk_push_this(duk_context *ctx) { @@ -21726,7 +18444,7 @@ DUK_INTERNAL duk_idx_t duk_push_object_helper(duk_context *ctx, duk_uint_t hobje h = duk_hobject_alloc(thr->heap, hobject_flags_and_class); if (!h) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } DUK_DDD(DUK_DDDPRINT("created object with flags: 0x%08lx", (unsigned long) h->hdr.h_flags)); @@ -21829,14 +18547,18 @@ DUK_EXTERNAL duk_idx_t duk_push_thread_raw(duk_context *ctx, duk_uint_t flags) { DUK_HOBJECT_FLAG_THREAD | DUK_HOBJECT_CLASS_AS_FLAGS(DUK_HOBJECT_CLASS_THREAD)); if (!obj) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } obj->state = DUK_HTHREAD_STATE_INACTIVE; +#if defined(DUK_USE_ROM_STRINGS) + /* Nothing to initialize, strs[] is in ROM. */ +#else #if defined(DUK_USE_HEAPPTR16) obj->strs16 = thr->strs16; #else obj->strs = thr->strs; #endif +#endif DUK_DDD(DUK_DDDPRINT("created thread object with flags: 0x%08lx", (unsigned long) obj->obj.hdr.h_flags)); /* make the new thread reachable */ @@ -21848,7 +18570,7 @@ DUK_EXTERNAL duk_idx_t duk_push_thread_raw(duk_context *ctx, duk_uint_t flags) { /* important to do this *after* pushing, to make the thread reachable for gc */ if (!duk_hthread_init_stacks(thr->heap, obj)) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } /* initialize built-ins - either by copying or creating new ones */ @@ -21893,7 +18615,7 @@ DUK_INTERNAL duk_idx_t duk_push_compiledfunction(duk_context *ctx) { DUK_HOBJECT_FLAG_COMPILEDFUNCTION | DUK_HOBJECT_CLASS_AS_FLAGS(DUK_HOBJECT_CLASS_FUNCTION)); if (!obj) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } DUK_DDD(DUK_DDDPRINT("created compiled function object with flags: 0x%08lx", (unsigned long) obj->obj.hdr.h_flags)); @@ -21936,7 +18658,7 @@ DUK_LOCAL duk_idx_t duk__push_c_function_raw(duk_context *ctx, duk_c_function fu obj = duk_hnativefunction_alloc(thr->heap, flags); if (!obj) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } obj->func = func; @@ -22061,7 +18783,7 @@ DUK_INTERNAL duk_hbufferobject *duk_push_bufferobject_raw(duk_context *ctx, duk_ obj = duk_hbufferobject_alloc(thr->heap, hobject_flags_and_class); if (!obj) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } DUK_HOBJECT_SET_PROTOTYPE_UPDREF(thr, (duk_hobject *) obj, thr->builtins[prototype_bidx]); @@ -22195,11 +18917,11 @@ DUK_EXTERNAL void duk_push_buffer_object(duk_context *ctx, duk_idx_t idx_buffer, return; range_error: - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_RANGE(thr, DUK_STR_INVALID_CALL_ARGS); return; /* not reached */ arg_error: - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_TYPE(thr, DUK_STR_INVALID_CALL_ARGS); return; /* not reached */ } @@ -22244,11 +18966,7 @@ DUK_EXTERNAL duk_idx_t duk_push_error_object_va_raw(duk_context *ctx, duk_errcod duk_xdef_prop_stridx(ctx, -2, DUK_STRIDX_MESSAGE, DUK_PROPDESC_FLAGS_WC); } -#if 0 - /* Disabled for now, not sure this is a useful property */ - duk_push_int(ctx, err_code); - duk_xdef_prop_stridx(ctx, -2, DUK_STRIDX_CODE, DUK_PROPDESC_FLAGS_WC); -#endif + /* XXX: .code = err_code disabled, not sure if useful */ /* Creation time error augmentation */ #ifdef DUK_USE_AUGMENT_ERROR_CREATE @@ -22304,12 +19022,12 @@ DUK_EXTERNAL void *duk_push_buffer_raw(duk_context *ctx, duk_size_t size, duk_sm /* Check for maximum buffer length. */ if (size > DUK_HBUFFER_MAX_BYTELEN) { - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_BUFFER_TOO_LONG); + DUK_ERROR_RANGE(thr, DUK_STR_BUFFER_TOO_LONG); } h = duk_hbuffer_alloc(thr->heap, size, flags, &buf_data); if (!h) { - DUK_ERROR(thr, DUK_ERR_ALLOC_ERROR, DUK_STR_ALLOC_FAILED); + DUK_ERROR_ALLOC_DEFMSG(thr); } tv_slot = thr->valstack_top; @@ -22369,6 +19087,7 @@ DUK_INTERNAL void duk_push_hstring(duk_context *ctx, duk_hstring *h) { DUK_INTERNAL void duk_push_hstring_stridx(duk_context *ctx, duk_small_int_t stridx) { duk_hthread *thr = (duk_hthread *) ctx; + DUK_UNREF(thr); DUK_ASSERT(stridx >= 0 && stridx < DUK_HEAP_NUM_STRINGS); duk_push_hstring(ctx, DUK_HTHREAD_GET_STRING(thr, stridx)); } @@ -22685,7 +19404,7 @@ DUK_INTERNAL void duk_push_lightfunc_tostring(duk_context *ctx, duk_tval *tv) { duk_push_string(ctx, "function "); duk_push_lightfunc_name(ctx, tv); - duk_push_string(ctx, "() {/* light */}"); + duk_push_string(ctx, "() {\"light\"}"); duk_concat(ctx, 3); } @@ -22952,7 +19671,7 @@ DUK_LOCAL void duk__concat_and_join_helper(duk_context *ctx, duk_idx_t count_in, return; error_overflow: - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, DUK_STR_CONCAT_RESULT_TOO_LONG); + DUK_ERROR_RANGE(thr, DUK_STR_CONCAT_RESULT_TOO_LONG); } DUK_EXTERNAL void duk_concat(duk_context *ctx, duk_idx_t count) { @@ -23255,14 +19974,14 @@ DUK_EXTERNAL void duk_put_var(duk_context *ctx) { DUK_EXTERNAL duk_bool_t duk_del_var(duk_context *ctx) { DUK_ASSERT_CTX_VALID(ctx); - DUK_ERROR((duk_hthread *) ctx, DUK_ERR_UNIMPLEMENTED_ERROR, DUK_STR_UNIMPLEMENTED); + DUK_ERROR_UNIMPLEMENTED_DEFMSG((duk_hthread *) ctx); return 0; } DUK_EXTERNAL duk_bool_t duk_has_var(duk_context *ctx) { DUK_ASSERT_CTX_VALID(ctx); - DUK_ERROR((duk_hthread *) ctx, DUK_ERR_UNIMPLEMENTED_ERROR, DUK_STR_UNIMPLEMENTED); + DUK_ERROR_UNIMPLEMENTED_DEFMSG((duk_hthread *) ctx); return 0; } #line 1 "duk_bi_array.c" @@ -23337,7 +20056,7 @@ DUK_LOCAL duk_uint32_t duk__push_this_obj_len_u32_limited(duk_context *ctx) { */ duk_uint32_t ret = duk__push_this_obj_len_u32(ctx); if (DUK_UNLIKELY(ret >= 0x80000000UL)) { - DUK_ERROR((duk_hthread *) ctx, DUK_ERR_INTERNAL_ERROR, DUK_STR_ARRAY_LENGTH_OVER_2G); + DUK_ERROR_RANGE((duk_hthread *) ctx, DUK_STR_ARRAY_LENGTH_OVER_2G); } return ret; } @@ -24908,7 +21627,7 @@ DUK_LOCAL duk_hbufferobject *duk__getrequire_bufobj_this(duk_context *ctx, duk_b } if (throw_flag) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_BUFFER); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_BUFFER); } return NULL; } @@ -24953,7 +21672,7 @@ DUK_LOCAL duk_hbufferobject *duk__require_bufobj_value(duk_context *ctx, duk_idx } } - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, DUK_STR_NOT_BUFFER); + DUK_ERROR_TYPE(thr, DUK_STR_NOT_BUFFER); return NULL; /* not reachable */ } #endif /* DUK_USE_BUFFEROBJECT_SUPPORT */ @@ -25060,7 +21779,7 @@ DUK_LOCAL void duk__resolve_offset_opt_length(duk_context *ctx, return; fail_range: - duk_error(thr, DUK_ERR_RANGE_ERROR, DUK_STR_INVALID_CALL_ARGS); + DUK_ERROR_RANGE(thr, DUK_STR_INVALID_CALL_ARGS); } #endif /* DUK_USE_BUFFEROBJECT_SUPPORT */ @@ -25377,7 +22096,6 @@ DUK_INTERNAL duk_ret_t duk_bi_nodejs_buffer_constructor(duk_context *ctx) { */ duk_int_t len; duk_int_t i; - duk_uint8_t *buf; duk_hbuffer *h_buf; duk_hbufferobject *h_bufobj; duk_size_t buf_size; @@ -25392,10 +22110,12 @@ DUK_INTERNAL duk_ret_t duk_bi_nodejs_buffer_constructor(duk_context *ctx) { } case DUK_TYPE_NUMBER: { len = duk_to_int_clamped(ctx, 0, 0, DUK_INT_MAX); - buf = (duk_uint8_t *) duk_push_fixed_buffer(ctx, (duk_size_t) len); + (void) duk_push_fixed_buffer(ctx, (duk_size_t) len); break; } case DUK_TYPE_OBJECT: { + duk_uint8_t *buf; + (void) duk_get_prop_string(ctx, 0, "length"); len = duk_to_int_clamped(ctx, -1, 0, DUK_INT_MAX); duk_pop(ctx); @@ -25411,7 +22131,7 @@ DUK_INTERNAL duk_ret_t duk_bi_nodejs_buffer_constructor(duk_context *ctx) { case DUK_TYPE_STRING: { /* ignore encoding for now */ duk_dup(ctx, 0); - buf = (duk_uint8_t *) duk_to_buffer(ctx, -1, &buf_size); + (void) duk_to_buffer(ctx, -1, &buf_size); break; } default: @@ -25630,6 +22350,7 @@ DUK_INTERNAL duk_ret_t duk_bi_typedarray_constructor(duk_context *ctx) { goto fail_arguments; } } + DUK_UNREF(elem_length); DUK_ASSERT_DISABLE(byte_offset >= 0); DUK_ASSERT(byte_offset <= h_bufarg->length); DUK_ASSERT_DISABLE(byte_length >= 0); @@ -27183,10 +23904,14 @@ DUK_INTERNAL duk_ret_t duk_bi_buffer_readfield(duk_context *ctx) { if (h_this->buf) { buf = DUK_HBUFFEROBJECT_GET_SLICE_BASE(thr->heap, h_this); } else { - /* neutered, value doesn't matter because check_length is 0. */ + /* Neutered. We could go into the switch-case safely with + * buf == NULL because check_length == 0. To avoid scanbuild + * warnings, fail directly instead. + */ DUK_ASSERT(check_length == 0); - buf = NULL; + goto fail_neutered; } + DUK_ASSERT(buf != NULL); switch (magic_ftype) { case DUK__FLD_8BIT: { @@ -27345,6 +24070,7 @@ DUK_INTERNAL duk_ret_t duk_bi_buffer_readfield(duk_context *ctx) { return 1; + fail_neutered: fail_field_length: fail_bounds: if (no_assert) { @@ -27469,10 +24195,14 @@ DUK_INTERNAL duk_ret_t duk_bi_buffer_writefield(duk_context *ctx) { if (h_this->buf) { buf = DUK_HBUFFEROBJECT_GET_SLICE_BASE(thr->heap, h_this); } else { - /* neutered, value doesn't matter because check_length is 0. */ + /* Neutered. We could go into the switch-case safely with + * buf == NULL because check_length == 0. To avoid scanbuild + * warnings, fail directly instead. + */ DUK_ASSERT(check_length == 0); - buf = NULL; + goto fail_neutered; } + DUK_ASSERT(buf != NULL); switch (magic_ftype) { case DUK__FLD_8BIT: { @@ -27618,6 +24348,7 @@ DUK_INTERNAL duk_ret_t duk_bi_buffer_writefield(duk_context *ctx) { duk_push_uint(ctx, offset + nbytes); return 1; + fail_neutered: fail_field_length: fail_bounds: if (no_assert) { @@ -27974,10 +24705,8 @@ DUK_LOCAL duk_bool_t duk__parse_string_iso8601_subset(duk_context *ctx, const ch } /* if-digit-else-ctrl */ } /* char loop */ - /* We should never exit the loop above, but if we do, reject - * by falling through. - */ - DUK_DDD(DUK_DDDPRINT("fell out of char loop without explicit accept/reject -> reject")); + /* We should never exit the loop above. */ + DUK_UNREACHABLE(); reject: DUK_DDD(DUK_DDDPRINT("reject")); @@ -28551,7 +25280,7 @@ DUK_LOCAL duk_double_t duk__push_this_get_timeval_tzoffset(duk_context *ctx, duk duk_push_this(ctx); h = duk_get_hobject(ctx, -1); /* XXX: getter with class check, useful in built-ins */ if (h == NULL || DUK_HOBJECT_GET_CLASS_NUMBER(h) != DUK_HOBJECT_CLASS_DATE) { - DUK_ERROR(thr, DUK_ERR_TYPE_ERROR, "expected Date"); + DUK_ERROR_TYPE(thr, "expected Date"); } duk_get_prop_stridx(ctx, -1, DUK_STRIDX_INT_VALUE); @@ -28563,7 +25292,7 @@ DUK_LOCAL duk_double_t duk__push_this_get_timeval_tzoffset(duk_context *ctx, duk d = 0.0; } if (flags & DUK_DATE_FLAG_NAN_TO_RANGE_ERROR) { - DUK_ERROR(thr, DUK_ERR_RANGE_ERROR, "Invalid Date"); + DUK_ERROR_RANGE(thr, "Invalid Date"); } } /* if no NaN handling flag, may still be NaN here, but not Inf */ @@ -29407,7 +26136,7 @@ DUK_INTERNAL duk_double_t duk_bi_date_get_now_gettimeofday(duk_context *ctx) { duk_double_t d; if (gettimeofday(&tv, NULL) != 0) { - DUK_ERROR(thr, DUK_ERR_INTERNAL_ERROR, "gettimeofday failed"); + DUK_ERROR_INTERNAL_DEFMSG(thr); } d = ((duk_double_t) tv.tv_sec) * 1000.0 + @@ -29514,8 +26243,6 @@ DUK_INTERNAL duk_int_t duk_bi_date_get_local_tzoffset_gmtime(duk_double_t d) { t = (time_t) (d / 1000.0); DUK_DDD(DUK_DDDPRINT("timeval: %lf -> time_t %ld", (double) d, (long) t)); - t1 = t; - DUK_MEMZERO((void *) tms, sizeof(struct tm) * 2); #if defined(DUK_USE_DATE_TZO_GMTIME_R) @@ -29869,7 +26596,7 @@ DUK_INTERNAL duk_ret_t duk_bi_duktape_object_info(duk_context *ctx) { hdr_size = (duk_small_uint_t) sizeof(duk_hobject); } duk_push_uint(ctx, (duk_uint_t) hdr_size); - duk_push_uint(ctx, (duk_uint_t) DUK_HOBJECT_E_ALLOC_SIZE(h_obj)); + duk_push_uint(ctx, (duk_uint_t) DUK_HOBJECT_P_ALLOC_SIZE(h_obj)); duk_push_uint(ctx, (duk_uint_t) DUK_HOBJECT_GET_ESIZE(h_obj)); /* Note: e_next indicates the number of gc-reachable entries * in the entry part, and also indicates the index where the @@ -30017,6 +26744,8 @@ DUK_INTERNAL duk_ret_t duk_bi_duktape_object_enc(duk_context *ctx) { duk_hthread *thr = (duk_hthread *) ctx; duk_hstring *h_str; + DUK_UNREF(thr); + /* Vararg function: must be careful to check/require arguments. * The JSON helpers accept invalid indices and treat them like * non-existent optional parameters. @@ -30062,6 +26791,8 @@ DUK_INTERNAL duk_ret_t duk_bi_duktape_object_dec(duk_context *ctx) { duk_hthread *thr = (duk_hthread *) ctx; duk_hstring *h_str; + DUK_UNREF(thr); + /* Vararg function: must be careful to check/require arguments. * The JSON helpers accept invalid indices and treat them like * non-existent optional parameters. @@ -30230,7 +26961,7 @@ DUK_LOCAL duk_ret_t duk__error_getter_helper(duk_context *ctx, duk_small_int_t o duk_small_int_t i; /* traceback depth fits into 16 bits */ duk_small_int_t t; /* stack type fits into 16 bits */ duk_small_int_t count_func = 0; |