mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-23 04:26:50 +03:00
Duktape: Update to 2.2.1 release.
This commit is contained in:
parent
86ac9f1331
commit
b16b525cd3
@ -850,6 +850,12 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 1
|
||||
#endif
|
||||
/* XXX: This is technically not guaranteed because it's possible to configure
|
||||
* an x86 to require aligned accesses with Alignment Check (AC) flag.
|
||||
*/
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 1
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_X64)
|
||||
@ -858,6 +864,12 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 1
|
||||
#endif
|
||||
/* XXX: This is technically not guaranteed because it's possible to configure
|
||||
* an x86 to require aligned accesses with Alignment Check (AC) flag.
|
||||
*/
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 1
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_X32)
|
||||
@ -866,30 +878,48 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 1
|
||||
#endif
|
||||
/* XXX: This is technically not guaranteed because it's possible to configure
|
||||
* an x86 to require aligned accesses with Alignment Check (AC) flag.
|
||||
*/
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 1
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_ARM32)
|
||||
/* --- ARM 32-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "arm32"
|
||||
/* Byte order varies, so rely on autodetect. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 4
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_ARM64)
|
||||
/* --- ARM 64-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "arm64"
|
||||
/* Byte order varies, so rely on autodetect. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_MIPS32)
|
||||
/* --- MIPS 32-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "mips32"
|
||||
/* MIPS byte order varies so rely on autodetection. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_MIPS64)
|
||||
/* --- MIPS 64-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "mips64"
|
||||
/* MIPS byte order varies so rely on autodetection. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_PPC32)
|
||||
@ -898,6 +928,9 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 3
|
||||
#endif
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_PPC64)
|
||||
@ -906,18 +939,27 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 3
|
||||
#endif
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_SPARC32)
|
||||
/* --- SPARC 32-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "sparc32"
|
||||
/* SPARC byte order varies so rely on autodetection. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_SPARC64)
|
||||
/* --- SPARC 64-bit --- */
|
||||
#define DUK_USE_ARCH_STRING "sparc64"
|
||||
/* SPARC byte order varies so rely on autodetection. */
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_SUPERH)
|
||||
@ -927,6 +969,9 @@
|
||||
/* Based on 'make checkalign' there are no alignment requirements on
|
||||
* Linux SH4, but align by 4 is probably a good basic default.
|
||||
*/
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 4
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_M68K)
|
||||
@ -935,6 +980,9 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 3
|
||||
#endif
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#define DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#elif defined(DUK_F_EMSCRIPTEN)
|
||||
@ -943,6 +991,9 @@
|
||||
#if !defined(DUK_USE_BYTEORDER)
|
||||
#define DUK_USE_BYTEORDER 1
|
||||
#endif
|
||||
#if !defined(DUK_USE_ALIGN_BY)
|
||||
#define DUK_USE_ALIGN_BY 8
|
||||
#endif
|
||||
#undef DUK_USE_PACKED_TVAL
|
||||
#define DUK_F_PACKED_TVAL_PROVIDED
|
||||
#else
|
||||
@ -1954,8 +2005,8 @@ typedef duk_uint_fast16_t duk_small_uint_fast_t;
|
||||
|
||||
/* Boolean values are represented with the platform 'unsigned int'. */
|
||||
typedef duk_small_uint_t duk_bool_t;
|
||||
#define DUK_BOOL_MIN DUK_SMALL_INT_MIN
|
||||
#define DUK_BOOL_MAX DUK_SMALL_INT_MAX
|
||||
#define DUK_BOOL_MIN DUK_SMALL_UINT_MIN
|
||||
#define DUK_BOOL_MAX DUK_SMALL_UINT_MAX
|
||||
|
||||
/* Index values must have at least 32-bit signed range. */
|
||||
typedef duk_int_t duk_idx_t;
|
||||
|
@ -1,7 +1,5 @@
|
||||
/* Omit from static analysis. */
|
||||
#ifndef __clang_analyzer__
|
||||
/*
|
||||
* Single source autogenerated distributable for Duktape 2.2.0.
|
||||
* Single source autogenerated distributable for Duktape 2.2.1.
|
||||
*
|
||||
* Git commit external (external).
|
||||
* Git branch external.
|
||||
@ -1401,7 +1399,7 @@ typedef struct {
|
||||
#if 0
|
||||
DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked(duk_tval *tv);
|
||||
#endif
|
||||
DUK_INTERNAL_DECL DUK_INLINE duk_double_t duk_tval_get_number_unpacked_fastint(duk_tval *tv);
|
||||
DUK_INTERNAL_DECL duk_double_t duk_tval_get_number_unpacked_fastint(duk_tval *tv);
|
||||
#endif
|
||||
|
||||
#endif /* DUK_USE_PACKED_TVAL */
|
||||
@ -1443,7 +1441,7 @@ DUK_INTERNAL_DECL DUK_INLINE duk_double_t duk_tval_get_number_unpacked_fastint(d
|
||||
#define DUK_FASTINT_MAX (DUK_I64_CONSTANT(0x7fffffffffff))
|
||||
#define DUK_FASTINT_BITS 48
|
||||
|
||||
DUK_INTERNAL_DECL DUK_INLINE void duk_tval_set_number_chkfast_fast(duk_tval *tv, duk_double_t x);
|
||||
DUK_INTERNAL_DECL void duk_tval_set_number_chkfast_fast(duk_tval *tv, duk_double_t x);
|
||||
DUK_INTERNAL_DECL void duk_tval_set_number_chkfast_slow(duk_tval *tv, duk_double_t x);
|
||||
#endif
|
||||
|
||||
@ -2755,12 +2753,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_DECL void duk_byteswap_bytes(duk_uint8_t *p, duk_small_uint_t len);
|
||||
@ -4219,9 +4217,6 @@ DUK_INTERNAL_DECL void duk_regexp_match_force_global(duk_hthread *thr); /* hack
|
||||
|
||||
/* XXX: macro for shared header fields (avoids some padding issues) */
|
||||
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_MSVC_PRAGMA)
|
||||
#pragma pack(push, 8)
|
||||
#endif
|
||||
struct duk_heaphdr {
|
||||
duk_uint32_t h_flags;
|
||||
|
||||
@ -4267,16 +4262,7 @@ struct duk_heaphdr {
|
||||
#if defined(DUK_USE_HEAPPTR16)
|
||||
duk_uint16_t h_extra16;
|
||||
#endif
|
||||
}
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_GCC_ATTR)
|
||||
__attribute__ ((aligned (8)))
|
||||
#elif (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_CLANG_ATTR)
|
||||
__attribute__ ((aligned (8)))
|
||||
#endif
|
||||
;
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_MSVC_PRAGMA)
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
};
|
||||
|
||||
struct duk_heaphdr_string {
|
||||
/* 16 bits would be enough for shared heaphdr flags and duk_hstring
|
||||
@ -5196,7 +5182,7 @@ struct duk_heaphdr_string {
|
||||
#if defined(DUK_USE_REFERENCE_COUNTING)
|
||||
#if defined(DUK_USE_FINALIZER_SUPPORT)
|
||||
DUK_INTERNAL_DECL void duk_refzero_check_slow(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL DUK_INLINE void duk_refzero_check_fast(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL void duk_refzero_check_fast(duk_hthread *thr);
|
||||
#endif
|
||||
DUK_INTERNAL_DECL void duk_heaphdr_refcount_finalize_norz(duk_heap *heap, duk_heaphdr *hdr);
|
||||
DUK_INTERNAL_DECL void duk_hobject_refcount_finalize_norz(duk_heap *heap, duk_hobject *h);
|
||||
@ -5251,8 +5237,8 @@ DUK_INTERNAL_DECL void duk_heaphdr_decref_norz(duk_hthread *thr, duk_heaphdr *h)
|
||||
/* Current convention is to use duk_size_t for value stack sizes and global indices,
|
||||
* and duk_idx_t for local frame indices.
|
||||
*/
|
||||
DUK_INTERNAL_DECL DUK_INLINE void duk_valstack_grow_check_throw(duk_hthread *thr, duk_size_t min_bytes);
|
||||
DUK_INTERNAL_DECL DUK_INLINE duk_bool_t duk_valstack_grow_check_nothrow(duk_hthread *thr, duk_size_t min_bytes);
|
||||
DUK_INTERNAL_DECL void duk_valstack_grow_check_throw(duk_hthread *thr, duk_size_t min_bytes);
|
||||
DUK_INTERNAL_DECL duk_bool_t duk_valstack_grow_check_nothrow(duk_hthread *thr, duk_size_t min_bytes);
|
||||
DUK_INTERNAL_DECL void duk_valstack_shrink_check_nothrow(duk_hthread *thr, duk_bool_t snug);
|
||||
|
||||
DUK_INTERNAL_DECL void duk_copy_tvals_incref(duk_hthread *thr, duk_tval *tv_dst, duk_tval *tv_src, duk_size_t count);
|
||||
@ -5745,9 +5731,6 @@ DUK_INTERNAL_DECL duk_double_t duk_time_get_monotonic_time(duk_hthread *thr);
|
||||
* Misc
|
||||
*/
|
||||
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_MSVC_PRAGMA)
|
||||
#pragma pack(push, 8)
|
||||
#endif
|
||||
struct duk_hstring {
|
||||
/* Smaller heaphdr than for other objects, because strings are held
|
||||
* in string intern table which requires no link pointers. Much of
|
||||
@ -5792,16 +5775,7 @@ struct duk_hstring {
|
||||
* for strings, but fields above should guarantee alignment-by-4
|
||||
* (but not alignment-by-8).
|
||||
*/
|
||||
}
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_GCC_ATTR)
|
||||
__attribute__ ((aligned (8)))
|
||||
#elif (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_CLANG_ATTR)
|
||||
__attribute__ ((aligned (8)))
|
||||
#endif
|
||||
;
|
||||
#if (DUK_USE_ALIGN_BY == 8) && defined(DUK_USE_PACK_MSVC_PRAGMA)
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
};
|
||||
|
||||
/* The external string struct is defined even when the feature is inactive. */
|
||||
struct duk_hstring_external {
|
||||
@ -7712,13 +7686,13 @@ DUK_INTERNAL_DECL void duk_hthread_create_builtin_objects(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL duk_bool_t duk_hthread_init_stacks(duk_heap *heap, duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL void duk_hthread_terminate(duk_hthread *thr);
|
||||
|
||||
DUK_INTERNAL_DECL DUK_INLINE duk_activation *duk_hthread_activation_alloc(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL duk_activation *duk_hthread_activation_alloc(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL void duk_hthread_activation_free(duk_hthread *thr, duk_activation *act);
|
||||
DUK_INTERNAL_DECL void duk_hthread_activation_unwind_norz(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL void duk_hthread_activation_unwind_reuse_norz(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL duk_activation *duk_hthread_get_activation_for_level(duk_hthread *thr, duk_int_t level);
|
||||
|
||||
DUK_INTERNAL_DECL DUK_INLINE duk_catcher *duk_hthread_catcher_alloc(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL duk_catcher *duk_hthread_catcher_alloc(duk_hthread *thr);
|
||||
DUK_INTERNAL_DECL void duk_hthread_catcher_free(duk_hthread *thr, duk_catcher *cat);
|
||||
DUK_INTERNAL_DECL void duk_hthread_catcher_unwind_norz(duk_hthread *thr, duk_activation *act);
|
||||
DUK_INTERNAL_DECL void duk_hthread_catcher_unwind_nolexenv_norz(duk_hthread *thr, duk_activation *act);
|
||||
@ -10906,17 +10880,17 @@ DUK_INTERNAL const duk_uint8_t duk_builtins_data[3972] = {
|
||||
235,1,64,170,187,81,119,34,66,146,36,104,137,194,70,46,142,68,165,19,236,1,
|
||||
64,174,187,81,95,37,134,204,23,225,35,23,71,34,82,137,246,128,160,89,93,
|
||||
168,167,147,195,201,194,70,46,142,68,165,19,238,1,64,182,187,81,71,105,20,
|
||||
19,177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,0,0,0,0,0,93,105,160,91,
|
||||
60,149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,168,
|
||||
110,20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,115,
|
||||
36,14,100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,145,
|
||||
139,163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,166,
|
||||
28,1,204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,145,
|
||||
92,203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,41,
|
||||
100,73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,177,
|
||||
69,49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,99,
|
||||
68,152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,9,
|
||||
49,39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,
|
||||
19,177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,0,0,0,0,32,93,105,160,
|
||||
91,60,149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,
|
||||
168,110,20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,
|
||||
115,36,14,100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,
|
||||
145,139,163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,
|
||||
166,28,1,204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,
|
||||
145,92,203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,
|
||||
41,100,73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,
|
||||
177,69,49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,
|
||||
99,68,152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,
|
||||
9,49,39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,
|
||||
98,79,133,91,129,61,109,74,41,124,60,137,62,33,179,216,166,216,193,18,36,
|
||||
249,68,54,123,20,218,216,137,18,124,67,103,163,173,77,177,162,100,73,242,
|
||||
136,108,244,117,169,181,193,18,36,248,134,207,79,74,155,99,132,200,147,229,
|
||||
@ -11090,91 +11064,91 @@ DUK_INTERNAL const duk_uint8_t duk_builtins_data[3972] = {
|
||||
64,170,187,81,119,34,66,146,36,104,137,194,70,46,142,68,165,19,236,1,64,
|
||||
174,187,81,95,37,134,204,23,225,35,23,71,34,82,137,246,128,160,89,93,168,
|
||||
167,147,195,201,194,70,46,142,68,165,19,238,1,64,182,187,81,71,105,20,19,
|
||||
177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,32,105,221,0,0,0,0,0,91,60,
|
||||
149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,168,110,
|
||||
20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,115,36,14,
|
||||
100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,145,139,
|
||||
163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,166,28,1,
|
||||
204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,145,92,
|
||||
203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,41,100,
|
||||
73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,177,69,
|
||||
49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,99,68,
|
||||
152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,9,49,
|
||||
39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,98,
|
||||
79,133,91,129,61,109,74,41,124,60,137,62,33,179,216,166,216,193,18,36,249,
|
||||
68,54,123,20,218,216,137,18,124,67,103,163,173,77,177,162,100,73,242,136,
|
||||
108,244,117,169,181,193,18,36,248,134,207,79,74,155,99,132,200,147,229,16,
|
||||
217,233,233,83,107,162,164,73,240,171,112,39,167,165,77,175,10,145,39,194,
|
||||
173,192,158,182,165,54,191,153,51,72,71,161,196,201,45,167,146,59,68,89,24,
|
||||
70,206,1,255,128,0,0,0,0,0,1,153,51,104,71,161,196,201,45,167,146,59,68,89,
|
||||
24,70,206,1,255,128,0,0,0,0,0,1,153,51,136,71,161,196,201,45,167,146,59,68,
|
||||
89,24,70,206,1,255,128,0,0,0,0,0,1,153,51,168,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,0,0,0,0,0,0,0,1,153,51,200,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,0,0,0,0,0,0,0,1,153,51,232,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,8,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,40,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,72,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,2,1,0,0,0,0,0,0,1,135,52,102,32,76,72,1,246,136,235,103,
|
||||
177,69,1,17,32,7,196,54,123,20,82,88,200,144,3,237,17,214,207,71,91,171,37,
|
||||
20,65,145,32,7,218,35,173,158,142,183,66,74,41,16,92,72,1,241,13,158,142,
|
||||
183,86,74,41,48,92,72,1,241,13,158,142,183,66,74,41,80,100,72,1,246,136,
|
||||
235,103,167,165,213,146,138,40,200,144,3,237,17,214,207,79,75,161,37,20,
|
||||
138,46,36,0,248,134,207,79,75,171,37,20,154,46,36,0,248,134,207,79,75,161,
|
||||
37,20,170,46,36,0,248,85,184,19,234,201,69,24,92,72,1,240,171,112,39,208,
|
||||
146,138,70,25,18,0,124,27,168,21,147,171,37,20,113,145,32,7,193,186,129,89,
|
||||
58,18,81,72,226,162,64,15,180,71,91,62,172,148,90,0,168,144,3,237,17,214,
|
||||
207,161,37,22,144,38,36,0,248,134,207,171,37,22,160,38,36,0,248,134,207,
|
||||
161,37,22,176,42,209,68,201,218,35,173,158,197,54,4,218,40,153,56,134,207,
|
||||
98,155,75,27,104,162,100,237,17,214,207,71,91,171,37,54,65,182,138,38,78,
|
||||
209,29,108,244,117,186,18,83,104,131,45,20,76,156,67,103,163,173,213,146,
|
||||
155,76,25,104,162,100,226,27,61,29,110,132,148,218,160,219,69,19,39,104,
|
||||
142,182,122,122,93,89,41,178,141,180,81,50,118,136,235,103,167,165,208,146,
|
||||
155,69,25,104,162,100,226,27,61,61,46,172,148,218,104,203,69,19,39,16,217,
|
||||
233,233,116,36,166,213,70,90,40,153,56,85,184,19,234,201,77,152,101,162,
|
||||
137,147,133,91,129,62,132,148,218,48,219,69,19,39,6,234,5,100,234,201,77,
|
||||
156,109,162,137,147,131,117,2,178,116,36,166,209,197,218,40,153,59,68,117,
|
||||
179,234,201,78,32,11,180,81,50,118,136,235,103,208,146,156,72,21,104,162,
|
||||
100,226,27,62,172,148,226,128,171,69,19,39,16,217,244,36,167,22,53,123,102,
|
||||
53,155,80,2,21,11,94,201,128,196,133,0,185,80,32,56,156,199,130,36,160,72,
|
||||
16,78,126,54,48,5,146,208,34,82,72,1,109,20,76,155,120,28,34,1,225,32,32,2,
|
||||
223,133,69,138,43,180,132,234,219,163,161,1,0,9,174,198,238,213,84,88,31,
|
||||
86,221,40,7,252,197,200,95,223,71,61,225,122,183,27,72,144,15,253,197,81,
|
||||
217,74,224,191,131,117,110,54,142,129,32,31,237,229,189,138,147,114,135,2,
|
||||
235,209,1,0,36,135,237,81,16,180,96,63,101,8,207,71,107,74,1,255,53,4,243,
|
||||
51,249,222,104,94,202,17,158,148,3,255,106,9,230,103,243,188,210,159,129,
|
||||
228,176,192,185,127,46,155,185,41,197,13,55,38,3,127,255,20,138,160,192,25,
|
||||
106,8,8,1,58,90,130,64,128,146,27,168,37,8,9,129,186,130,96,160,152,27,165,
|
||||
171,64,32,131,25,234,10,64,65,17,11,212,19,133,18,243,167,165,163,32,24,
|
||||
157,45,65,64,6,75,191,80,80,66,149,110,116,117,5,8,41,240,247,79,72,188,8,
|
||||
134,81,122,84,1,173,198,212,20,48,139,113,180,181,5,36,42,220,109,29,13,65,
|
||||
74,6,192,95,76,188,6,196,55,78,188,6,247,91,86,136,26,32,104,220,205,72,1,
|
||||
98,234,52,122,130,136,18,72,51,117,68,3,146,27,168,40,161,37,8,207,80,81,
|
||||
129,204,13,212,20,112,179,141,26,45,65,75,112,20,43,193,25,19,66,128,153,
|
||||
78,40,105,144,92,104,152,131,124,27,253,128,0,10,116,3,68,146,163,9,128,0,
|
||||
10,102,3,138,145,137,27,60,0,0,82,129,7,2,4,16,7,2,70,143,178,203,164,237,
|
||||
35,14,25,10,134,147,143,139,158,72,207,28,54,77,47,109,13,55,113,120,96,
|
||||
196,159,29,102,241,241,115,201,25,227,131,36,133,20,62,110,143,17,16,113,
|
||||
137,62,62,46,155,167,135,147,142,47,44,151,79,221,64,98,37,194,94,100,108,
|
||||
144,21,147,140,73,168,228,19,17,124,73,82,54,124,37,230,70,201,14,108,185,
|
||||
36,155,14,243,243,83,212,69,131,132,4,12,137,114,168,37,166,145,7,10,4,28,
|
||||
200,14,12,40,56,153,56,178,52,211,60,124,0,0,85,0,160,226,100,227,138,89,
|
||||
18,113,240,0,1,86,1,131,66,148,145,143,128,0,10,144,93,134,0,0,43,80,17,42,
|
||||
4,17,136,49,73,19,49,134,16,143,67,137,146,91,79,36,118,136,178,48,141,156,
|
||||
3,255,0,0,0,0,0,0,3,49,135,16,143,67,137,146,91,79,36,118,136,178,48,141,
|
||||
156,3,255,0,0,0,0,0,0,5,20,5,173,194,227,214,4,55,0,0,21,196,7,122,192,134,
|
||||
241,197,192,0,5,121,25,140,64,132,122,28,76,146,218,121,35,180,69,145,132,
|
||||
108,224,31,248,0,0,0,0,0,0,25,140,72,132,122,28,76,146,218,121,35,180,69,
|
||||
145,132,108,224,32,0,0,0,0,0,0,0,25,140,80,132,122,28,76,146,218,121,35,
|
||||
180,69,145,132,108,224,32,0,0,0,0,0,0,0,25,140,88,132,122,28,76,146,218,
|
||||
121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,96,132,122,28,76,146,
|
||||
218,121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,104,132,122,28,
|
||||
76,146,218,121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,112,132,
|
||||
122,28,76,146,218,121,35,180,69,145,132,108,224,32,16,0,0,0,0,0,0,16,113,
|
||||
225,0,48,156,209,2,122,244,5,34,92,35,68,225,161,166,218,16,33,18,224,104,
|
||||
82,146,59,50,5,7,19,39,22,70,154,103,215,32,28,78,99,193,18,80,70,131,165,
|
||||
1,205,34,8,35,68,225,161,166,239,255,4,12,70,137,195,39,248,73,7,78,3,154,
|
||||
102,16,70,137,195,67,77,223,248,1,74,9,129,125,255,130,9,65,154,232,147,
|
||||
161,115,59,255,5,64,195,32,156,50,126,197,14,2,3,107,173,213,0,
|
||||
177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,32,105,221,32,0,0,0,0,91,
|
||||
60,149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,168,
|
||||
110,20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,115,
|
||||
36,14,100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,145,
|
||||
139,163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,166,
|
||||
28,1,204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,145,
|
||||
92,203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,41,
|
||||
100,73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,177,
|
||||
69,49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,99,
|
||||
68,152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,9,
|
||||
49,39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,
|
||||
98,79,133,91,129,61,109,74,41,124,60,137,62,33,179,216,166,216,193,18,36,
|
||||
249,68,54,123,20,218,216,137,18,124,67,103,163,173,77,177,162,100,73,242,
|
||||
136,108,244,117,169,181,193,18,36,248,134,207,79,74,155,99,132,200,147,229,
|
||||
16,217,233,233,83,107,162,164,73,240,171,112,39,167,165,77,175,10,145,39,
|
||||
194,173,192,158,182,165,54,191,153,51,72,71,161,196,201,45,167,146,59,68,
|
||||
89,24,70,206,1,255,128,0,0,0,0,0,1,153,51,104,71,161,196,201,45,167,146,59,
|
||||
68,89,24,70,206,1,255,128,0,0,0,0,0,1,153,51,136,71,161,196,201,45,167,146,
|
||||
59,68,89,24,70,206,1,255,128,0,0,0,0,0,1,153,51,168,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,0,0,0,0,0,0,0,1,153,51,200,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,0,0,0,0,0,0,0,1,153,51,232,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,8,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,40,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,0,128,0,0,0,0,0,1,153,52,72,71,161,196,201,45,167,
|
||||
146,59,68,89,24,70,206,2,1,0,0,0,0,0,0,1,135,52,102,32,76,72,1,246,136,235,
|
||||
103,177,69,1,17,32,7,196,54,123,20,82,88,200,144,3,237,17,214,207,71,91,
|
||||
171,37,20,65,145,32,7,218,35,173,158,142,183,66,74,41,16,92,72,1,241,13,
|
||||
158,142,183,86,74,41,48,92,72,1,241,13,158,142,183,66,74,41,80,100,72,1,
|
||||
246,136,235,103,167,165,213,146,138,40,200,144,3,237,17,214,207,79,75,161,
|
||||
37,20,138,46,36,0,248,134,207,79,75,171,37,20,154,46,36,0,248,134,207,79,
|
||||
75,161,37,20,170,46,36,0,248,85,184,19,234,201,69,24,92,72,1,240,171,112,
|
||||
39,208,146,138,70,25,18,0,124,27,168,21,147,171,37,20,113,145,32,7,193,186,
|
||||
129,89,58,18,81,72,226,162,64,15,180,71,91,62,172,148,90,0,168,144,3,237,
|
||||
17,214,207,161,37,22,144,38,36,0,248,134,207,171,37,22,160,38,36,0,248,134,
|
||||
207,161,37,22,176,42,209,68,201,218,35,173,158,197,54,4,218,40,153,56,134,
|
||||
207,98,155,75,27,104,162,100,237,17,214,207,71,91,171,37,54,65,182,138,38,
|
||||
78,209,29,108,244,117,186,18,83,104,131,45,20,76,156,67,103,163,173,213,
|
||||
146,155,76,25,104,162,100,226,27,61,29,110,132,148,218,160,219,69,19,39,
|
||||
104,142,182,122,122,93,89,41,178,141,180,81,50,118,136,235,103,167,165,208,
|
||||
146,155,69,25,104,162,100,226,27,61,61,46,172,148,218,104,203,69,19,39,16,
|
||||
217,233,233,116,36,166,213,70,90,40,153,56,85,184,19,234,201,77,152,101,
|
||||
162,137,147,133,91,129,62,132,148,218,48,219,69,19,39,6,234,5,100,234,201,
|
||||
77,156,109,162,137,147,131,117,2,178,116,36,166,209,197,218,40,153,59,68,
|
||||
117,179,234,201,78,32,11,180,81,50,118,136,235,103,208,146,156,72,21,104,
|
||||
162,100,226,27,62,172,148,226,128,171,69,19,39,16,217,244,36,167,22,53,123,
|
||||
102,53,155,80,2,21,11,94,201,128,196,133,0,185,80,32,56,156,199,130,36,160,
|
||||
72,16,78,126,54,48,5,146,208,34,82,72,1,109,20,76,155,120,28,34,1,225,32,
|
||||
32,2,223,133,69,138,43,180,132,234,219,163,161,1,0,9,174,198,238,213,84,88,
|
||||
31,86,221,40,7,252,197,200,95,223,71,61,225,122,183,27,72,144,15,253,197,
|
||||
81,217,74,224,191,131,117,110,54,142,129,32,31,237,229,189,138,147,114,135,
|
||||
2,235,209,1,0,36,135,237,81,16,180,96,63,101,8,207,71,107,74,1,255,53,4,
|
||||
243,51,249,222,104,94,202,17,158,148,3,255,106,9,230,103,243,188,210,159,
|
||||
129,228,176,192,185,127,46,155,185,41,197,13,55,38,3,127,255,20,138,160,
|
||||
192,25,106,8,8,1,58,90,130,64,128,146,27,168,37,8,9,129,186,130,96,160,152,
|
||||
27,165,171,64,32,131,25,234,10,64,65,17,11,212,19,133,18,243,167,165,163,
|
||||
32,24,157,45,65,64,6,75,191,80,80,66,149,110,116,117,5,8,41,240,247,79,72,
|
||||
188,8,134,81,122,84,1,173,198,212,20,48,139,113,180,181,5,36,42,220,109,29,
|
||||
13,65,74,6,192,95,76,188,6,196,55,78,188,6,247,91,86,136,26,32,104,220,205,
|
||||
72,1,98,234,52,122,130,136,18,72,51,117,68,3,146,27,168,40,161,37,8,207,80,
|
||||
81,129,204,13,212,20,112,179,141,26,45,65,75,112,20,43,193,25,19,66,128,
|
||||
153,78,40,105,144,92,104,152,131,124,27,253,128,0,10,116,3,68,146,163,9,
|
||||
128,0,10,102,3,138,145,137,27,60,0,0,82,129,7,2,4,16,7,2,70,143,178,203,
|
||||
164,237,35,14,25,10,134,147,143,139,158,72,207,28,54,77,47,109,13,55,113,
|
||||
120,96,196,159,29,102,241,241,115,201,25,227,131,36,133,20,62,110,143,17,
|
||||
16,113,137,62,62,46,155,167,135,147,142,47,44,151,79,221,64,98,37,194,94,
|
||||
100,108,144,21,147,140,73,168,228,19,17,124,73,82,54,124,37,230,70,201,14,
|
||||
108,185,36,155,14,243,243,83,212,69,131,132,4,12,137,114,168,37,166,145,7,
|
||||
10,4,28,200,14,12,40,56,153,56,178,52,211,60,124,0,0,85,0,160,226,100,227,
|
||||
138,89,18,113,240,0,1,86,1,131,66,148,145,143,128,0,10,144,93,134,0,0,43,
|
||||
80,17,42,4,17,136,49,73,19,49,134,16,143,67,137,146,91,79,36,118,136,178,
|
||||
48,141,156,3,255,0,0,0,0,0,0,3,49,135,16,143,67,137,146,91,79,36,118,136,
|
||||
178,48,141,156,3,255,0,0,0,0,0,0,5,20,5,173,194,227,214,4,55,0,0,21,196,7,
|
||||
122,192,134,241,197,192,0,5,121,25,140,64,132,122,28,76,146,218,121,35,180,
|
||||
69,145,132,108,224,31,248,0,0,0,0,0,0,25,140,72,132,122,28,76,146,218,121,
|
||||
35,180,69,145,132,108,224,32,0,0,0,0,0,0,0,25,140,80,132,122,28,76,146,218,
|
||||
121,35,180,69,145,132,108,224,32,0,0,0,0,0,0,0,25,140,88,132,122,28,76,146,
|
||||
218,121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,96,132,122,28,76,
|
||||
146,218,121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,104,132,122,
|
||||
28,76,146,218,121,35,180,69,145,132,108,224,32,8,0,0,0,0,0,0,25,140,112,
|
||||
132,122,28,76,146,218,121,35,180,69,145,132,108,224,32,16,0,0,0,0,0,0,16,
|
||||
113,225,0,48,156,209,2,122,244,5,34,92,35,68,225,161,166,218,16,33,18,224,
|
||||
104,82,146,59,50,5,7,19,39,22,70,154,103,215,32,28,78,99,193,18,80,70,131,
|
||||
165,1,205,34,8,35,68,225,161,166,239,255,4,12,70,137,195,39,248,73,7,78,3,
|
||||
154,102,16,70,137,195,67,77,223,248,1,74,9,129,125,255,130,9,65,154,232,
|
||||
147,161,115,59,255,5,64,195,32,156,50,126,197,14,2,3,107,173,213,0,
|
||||
};
|
||||
#elif defined(DUK_USE_DOUBLE_ME)
|
||||
DUK_INTERNAL const duk_uint8_t duk_builtins_data[3972] = {
|
||||
@ -11274,17 +11248,17 @@ DUK_INTERNAL const duk_uint8_t duk_builtins_data[3972] = {
|
||||
235,1,64,170,187,81,119,34,66,146,36,104,137,194,70,46,142,68,165,19,236,1,
|
||||
64,174,187,81,95,37,134,204,23,225,35,23,71,34,82,137,246,128,160,89,93,
|
||||
168,167,147,195,201,194,70,46,142,68,165,19,238,1,64,182,187,81,71,105,20,
|
||||
19,177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,0,93,105,160,0,0,0,0,91,
|
||||
60,149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,168,
|
||||
110,20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,115,
|
||||
36,14,100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,145,
|
||||
139,163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,166,
|
||||
28,1,204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,145,
|
||||
92,203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,41,
|
||||
100,73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,177,
|
||||
69,49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,99,
|
||||
68,152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,9,
|
||||
49,39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,
|
||||
19,177,139,163,145,41,68,16,7,6,15,82,70,72,115,96,32,93,105,160,0,0,0,0,
|
||||
91,60,149,195,200,194,8,134,149,216,114,1,128,83,192,144,8,194,195,16,12,
|
||||
168,110,20,120,12,141,22,16,120,12,100,22,12,120,28,78,99,192,41,224,136,
|
||||
115,36,14,100,197,213,245,193,48,189,112,40,2,237,96,175,131,117,2,178,112,
|
||||
145,139,163,145,131,114,70,46,142,218,27,182,72,197,209,219,56,26,53,161,
|
||||
166,28,1,204,178,10,14,38,78,44,141,52,207,31,0,0,21,64,129,100,180,8,148,
|
||||
145,92,203,176,160,226,100,226,200,211,76,241,240,0,1,84,2,131,137,147,142,
|
||||
41,100,73,199,192,0,5,88,6,13,10,82,70,62,0,0,42,66,88,115,18,124,67,103,
|
||||
177,69,49,130,12,73,242,136,108,246,40,165,177,6,36,248,134,207,71,90,138,
|
||||
99,68,152,147,229,16,217,232,235,81,75,130,12,73,241,13,158,158,149,20,199,
|
||||
9,49,39,202,33,179,211,210,162,151,69,24,147,225,86,224,79,79,74,138,94,20,
|
||||
98,79,133,91,129,61,109,74,41,124,60,137,62,33,179,216,166,216,193,18,36,
|
||||
249,68,54,123,20,218,216,137,18,124,67,103,163,173,77,177,162,100,73,242,
|
||||
136,108,244,117,169,181,193,18,36,248,134,207,79,74,155,99,132,200,147,229,
|
||||
@ -32190,7 +32164,7 @@ DUK_INTERNAL duk_ret_t duk_bi_function_constructor(duk_hthread *thr) {
|
||||
duk_dup_1(thr);
|
||||
duk_push_string(thr, "){");
|
||||
duk_dup_0(thr);
|
||||
duk_push_string(thr, "}");
|
||||
duk_push_string(thr, "\n}"); /* Newline is important to handle trailing // comment. */
|
||||
duk_concat(thr, 5);
|
||||
|
||||
/* [ body formals source ] */
|
||||
@ -62472,9 +62446,10 @@ DUK_LOCAL duk_small_uint_t duk__call_setup_act_attempt_tailcall(duk_hthread *thr
|
||||
* - Disable StepOut processing for the activation unwind because
|
||||
* we reuse the activation, see:
|
||||
* https://github.com/svaarala/duktape/issues/1684.
|
||||
* - Disable line change pause flag permanently (if set) because
|
||||
* it would no longer be relevant, see:
|
||||
* https://github.com/svaarala/duktape/issues/1726.
|
||||
* - Disable line change pause flag permanently if act == dbg_pause_act
|
||||
* (if set) because it would no longer be relevant, see:
|
||||
* https://github.com/svaarala/duktape/issues/1726,
|
||||
* https://github.com/svaarala/duktape/issues/1786.
|
||||
* - Check for function entry (e.g. StepInto) pause flag here, because
|
||||
* the executor pause check won't trigger due to shared activation, see:
|
||||
* https://github.com/svaarala/duktape/issues/1726.
|
||||
@ -62495,9 +62470,12 @@ DUK_LOCAL duk_small_uint_t duk__call_setup_act_attempt_tailcall(duk_hthread *thr
|
||||
DUK_ASSERT(thr->callstack_top > 0);
|
||||
DUK_ASSERT(thr->callstack_curr != NULL);
|
||||
#if defined(DUK_USE_DEBUGGER_SUPPORT)
|
||||
if (act == thr->heap->dbg_pause_act) {
|
||||
thr->heap->dbg_pause_flags &= ~DUK_PAUSE_FLAG_LINE_CHANGE;
|
||||
}
|
||||
|
||||
prev_pause_act = thr->heap->dbg_pause_act;
|
||||
thr->heap->dbg_pause_act = NULL;
|
||||
thr->heap->dbg_pause_flags &= ~DUK_PAUSE_FLAG_LINE_CHANGE;
|
||||
if (thr->heap->dbg_pause_flags & DUK_PAUSE_FLAG_FUNC_ENTRY) {
|
||||
DUK_D(DUK_DPRINT("PAUSE TRIGGERED by function entry (tailcall)"));
|
||||
duk_debug_set_paused(thr->heap);
|
||||
@ -73502,18 +73480,38 @@ DUK_LOCAL duk_small_uint_t duk__handle_return(duk_hthread *thr, duk_activation *
|
||||
|
||||
resumer = thr->resumer;
|
||||
|
||||
/* Share yield longjmp handler. */
|
||||
/* Share yield longjmp handler.
|
||||
*
|
||||
* This sequence of steps is a bit fragile (see GH-1845):
|
||||
* - We need the return value from 'thr' (resumed thread) value stack.
|
||||
* The termination unwinds its value stack, losing the value.
|
||||
* - We need a refcounted reference for 'thr', which may only exist
|
||||
* in the caller value stack. We can't unwind or reconfigure the
|
||||
* caller's value stack without potentially freeing 'thr'.
|
||||
*
|
||||
* Current approach is to capture the 'thr' return value and store
|
||||
* a reference to 'thr' in the caller value stack temporarily. This
|
||||
* keeps 'thr' reachable until final yield/return handling which
|
||||
* removes the references atomatically.
|
||||
*/
|
||||
|
||||
DUK_ASSERT(thr->valstack_top - 1 >= thr->valstack_bottom);
|
||||
duk_hthread_activation_unwind_norz(resumer);
|
||||
duk__handle_yield(thr, resumer, thr->valstack_top - 1);
|
||||
|
||||
duk_hthread_terminate(thr); /* updates thread state, minimizes its allocations */
|
||||
DUK_ASSERT(thr->state == DUK_HTHREAD_STATE_TERMINATED);
|
||||
duk_hthread_activation_unwind_norz(resumer); /* May remove last reference to 'thr', but is NORZ. */
|
||||
duk_push_tval(resumer, thr->valstack_top - 1); /* Capture return value, side effect free. */
|
||||
duk_push_hthread(resumer, thr); /* Make 'thr' reachable again, before side effects. */
|
||||
|
||||
duk_hthread_terminate(thr); /* Updates thread state, minimizes its allocations. */
|
||||
thr->resumer = NULL;
|
||||
DUK_HTHREAD_DECREF(thr, resumer);
|
||||
DUK_ASSERT(thr->state == DUK_HTHREAD_STATE_TERMINATED);
|
||||
|
||||
resumer->state = DUK_HTHREAD_STATE_RUNNING;
|
||||
DUK_HEAP_SWITCH_THREAD(thr->heap, resumer);
|
||||
|
||||
DUK_ASSERT(resumer->valstack_top - 2 >= resumer->valstack_bottom);
|
||||
duk__handle_yield(thr, resumer, resumer->valstack_top - 2);
|
||||
thr = NULL; /* 'thr' invalidated by call */
|
||||
|
||||
#if 0
|
||||
thr = resumer; /* not needed */
|
||||
#endif
|
||||
@ -95008,4 +95006,3 @@ DUK_INTERNAL duk_double_t duk_util_tinyrandom_get_double(duk_hthread *thr) {
|
||||
#undef DUK__RANDOM_XOROSHIRO128PLUS
|
||||
#undef DUK__RND_BIT
|
||||
#undef DUK__UPDATE_RND
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Duktape public API for Duktape 2.2.0.
|
||||
* Duktape public API for Duktape 2.2.1.
|
||||
*
|
||||
* See the API reference for documentation on call semantics. The exposed,
|
||||
* supported API is between the "BEGIN PUBLIC API" and "END PUBLIC API"
|
||||
@ -154,7 +154,7 @@
|
||||
* development snapshots have 99 for patch level (e.g. 0.10.99 would be a
|
||||
* development version after 0.10.0 but before the next official release).
|
||||
*/
|
||||
#define DUK_VERSION 20200L
|
||||
#define DUK_VERSION 20201L
|
||||
|
||||
/* Git commit, describe, and branch for Duktape build. Useful for
|
||||
* non-official snapshot builds so that application code can easily log
|
||||
|
Loading…
Reference in New Issue
Block a user