duktape 1.6.1.0 → 2.0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4516e9a483328b697ffe91ee15b665ce147b947
4
- data.tar.gz: 467d796fa63ca23a0b3ad426b804a98683d3a666
3
+ metadata.gz: 43c563e24c73adda91fec0604c627f2d359e05af
4
+ data.tar.gz: 91a81367793242b5817c6e47126dd35e1630df95
5
5
  SHA512:
6
- metadata.gz: 26ef437c5802ceb1d78c6247192504b63f2557b075ee7231141878cb8d7b045f1581e0b2eada651a6bb8eaf7c682c31989152c8ee525e48e41fba652697e37b3
7
- data.tar.gz: 1ec51e3d828dcb77c57cb1686c2a6d8aeb06f8207f7c15085847a7ad2d0fa6afb4f5e17d1f729206deb2d22ae25a4b88a7ce0e718d78ef88ef22939c786aeb18
6
+ metadata.gz: 9a91ed7e75a59667eff71b00de50d2c710d7341d7b13fdd797e9432120a3be59354bd826cac0d3441f25e6661a40efc58de5996a2363112200b3827ccd2b4666
7
+ data.tar.gz: 29f88cab69da97c99be19692fc0dc5708945426166c06bd62a059d3f454c7d1f472346c8bd63811d93dd906e256b949ebed7ee9981479ed8b6e1fcae154dd4e9
@@ -1,5 +1,9 @@
1
1
  # ChangeLog
2
2
 
3
+ ## v2.0.1.0 (2018-05-21)
4
+
5
+ * Upgrade to Duktape v2.0.1
6
+
3
7
  ## v1.6.1.0 (2017-02-11)
4
8
 
5
9
  * Upgrade to Duktape v1.6.1 (did)
@@ -1,12 +1,13 @@
1
1
  /*
2
2
  * duk_config.h configuration header generated by genconfig.py.
3
3
  *
4
- * Git commit: 34ac011501ccaa8b74684a6c45ed4eaca9e83517
5
- * Git describe: v1.6.1
6
- * Git branch: v1.6-maintenance
4
+ * Git commit: bb8eee866e835d3efbea1e26faf6dc804381b024
5
+ * Git describe: v1.6.1.0-dirty
6
+ * Git branch: master
7
7
  *
8
8
  * Supported platforms:
9
9
  * - Mac OSX, iPhone, Darwin
10
+ * - Orbis
10
11
  * - OpenBSD
11
12
  * - Generic BSD
12
13
  * - Atari ST TOS
@@ -60,20 +61,24 @@
60
61
  */
61
62
 
62
63
  /* DLL build detection */
63
- #if defined(DUK_OPT_DLL_BUILD)
64
- #define DUK_F_DLL_BUILD
65
- #elif defined(DUK_OPT_NO_DLL_BUILD)
66
- #undef DUK_F_DLL_BUILD
67
- #else
68
64
  /* not configured for DLL build */
69
65
  #undef DUK_F_DLL_BUILD
70
- #endif
71
66
 
72
67
  /* Apple OSX, iOS */
73
68
  #if defined(__APPLE__)
74
69
  #define DUK_F_APPLE
75
70
  #endif
76
71
 
72
+ /* FreeBSD */
73
+ #if defined(__FreeBSD__) || defined(__FreeBSD)
74
+ #define DUK_F_FREEBSD
75
+ #endif
76
+
77
+ /* Orbis (PS4) variant */
78
+ #if defined(DUK_F_FREEBSD) && defined(__ORBIS__)
79
+ #define DUK_F_ORBIS
80
+ #endif
81
+
77
82
  /* OpenBSD */
78
83
  #if defined(__OpenBSD__) || defined(__OpenBSD)
79
84
  #define DUK_F_OPENBSD
@@ -84,11 +89,6 @@
84
89
  #define DUK_F_NETBSD
85
90
  #endif
86
91
 
87
- /* FreeBSD */
88
- #if defined(__FreeBSD__) || defined(__FreeBSD)
89
- #define DUK_F_FREEBSD
90
- #endif
91
-
92
92
  /* BSD variant */
93
93
  #if defined(DUK_F_FREEBSD) || defined(DUK_F_NETBSD) || defined(DUK_F_OPENBSD) || \
94
94
  defined(__bsdi__) || defined(__DragonFly__)
@@ -230,9 +230,9 @@
230
230
  #endif
231
231
 
232
232
  /* ARM */
233
- #if defined(__arm__) || defined(__thumb__) || defined(_ARM) || defined(_M_ARM)
233
+ #if defined(__arm__) || defined(__thumb__) || defined(_ARM) || defined(_M_ARM) || defined(__aarch64__)
234
234
  #define DUK_F_ARM
235
- #if defined(__LP64__) || defined(_LP64) || defined(__arm64) || defined(__arm64__)
235
+ #if defined(__LP64__) || defined(_LP64) || defined(__arm64) || defined(__arm64__) || defined(__aarch64__)
236
236
  #define DUK_F_ARM64
237
237
  #else
238
238
  #define DUK_F_ARM32
@@ -334,11 +334,6 @@
334
334
  #define DUK_F_VBCC
335
335
  #endif
336
336
 
337
- /* Atari Mint */
338
- #if defined(__MINT__)
339
- #define DUK_F_MINT
340
- #endif
341
-
342
337
  /*
343
338
  * Platform autodetection
344
339
  */
@@ -380,6 +375,20 @@
380
375
  #define DUK_JMPBUF_TYPE jmp_buf
381
376
  #define DUK_SETJMP(jb) _setjmp((jb))
382
377
  #define DUK_LONGJMP(jb) _longjmp((jb), 1)
378
+ #elif defined(DUK_F_ORBIS)
379
+ /* --- Orbis --- */
380
+ /* Orbis = PS4 */
381
+ #define DUK_USE_DATE_NOW_GETTIMEOFDAY
382
+ #define DUK_USE_DATE_TZO_GMTIME_S
383
+ /* no parsing (not an error) */
384
+ #define DUK_USE_DATE_FMT_STRFTIME
385
+ #include <sys/types.h>
386
+ #include <machine/endian.h>
387
+ #include <sys/param.h>
388
+ #include <sys/time.h>
389
+ #include <time.h>
390
+
391
+ #define DUK_USE_OS_STRING "orbis"
383
392
  #elif defined(DUK_F_OPENBSD)
384
393
  /* --- OpenBSD --- */
385
394
  /* http://www.monkey.org/openbsd/archive/ports/0401/msg00089.html */
@@ -436,7 +445,7 @@
436
445
  #define DUK_USE_DATE_PRS_STRPTIME
437
446
  #define DUK_USE_DATE_FMT_STRFTIME
438
447
  #include <time.h>
439
- #ifndef UINTPTR_MAX
448
+ #if !defined(UINTPTR_MAX)
440
449
  #define UINTPTR_MAX UINT_MAX
441
450
  #endif
442
451
  #else
@@ -531,13 +540,13 @@
531
540
  #elif defined(DUK_F_EMSCRIPTEN)
532
541
  /* --- Emscripten --- */
533
542
  #if defined(DUK_COMPILING_DUKTAPE)
534
- #ifndef _POSIX_C_SOURCE
543
+ #if !defined(_POSIX_C_SOURCE)
535
544
  #define _POSIX_C_SOURCE 200809L
536
545
  #endif
537
- #ifndef _GNU_SOURCE
546
+ #if !defined(_GNU_SOURCE)
538
547
  #define _GNU_SOURCE /* e.g. getdate_r */
539
548
  #endif
540
- #ifndef _XOPEN_SOURCE
549
+ #if !defined(_XOPEN_SOURCE)
541
550
  #define _XOPEN_SOURCE /* e.g. strptime */
542
551
  #endif
543
552
  #endif /* DUK_COMPILING_DUKTAPE */
@@ -562,13 +571,13 @@
562
571
  #elif defined(DUK_F_LINUX)
563
572
  /* --- Linux --- */
564
573
  #if defined(DUK_COMPILING_DUKTAPE)
565
- #ifndef _POSIX_C_SOURCE
574
+ #if !defined(_POSIX_C_SOURCE)
566
575
  #define _POSIX_C_SOURCE 200809L
567
576
  #endif
568
- #ifndef _GNU_SOURCE
577
+ #if !defined(_GNU_SOURCE)
569
578
  #define _GNU_SOURCE /* e.g. getdate_r */
570
579
  #endif
571
- #ifndef _XOPEN_SOURCE
580
+ #if !defined(_XOPEN_SOURCE)
572
581
  #define _XOPEN_SOURCE /* e.g. strptime */
573
582
  #endif
574
583
  #endif /* DUK_COMPILING_DUKTAPE */
@@ -887,6 +896,11 @@
887
896
  #define DUK_USE_BRANCH_HINTS
888
897
  #define DUK_LIKELY(x) __builtin_expect((x), 1)
889
898
  #define DUK_UNLIKELY(x) __builtin_expect((x), 0)
899
+ #if defined(__clang__) && defined(__has_builtin)
900
+ #if __has_builtin(__builtin_unpredictable)
901
+ #define DUK_UNPREDICTABLE(x) __builtin_unpredictable((x))
902
+ #endif
903
+ #endif
890
904
 
891
905
  #if defined(DUK_F_C99) || defined(DUK_F_CPP11)
892
906
  #define DUK_NOINLINE __attribute__((noinline))
@@ -995,6 +1009,7 @@
995
1009
  #define DUK_LIKELY(x) __builtin_expect((x), 1)
996
1010
  #define DUK_UNLIKELY(x) __builtin_expect((x), 0)
997
1011
  #endif
1012
+ /* XXX: equivalent of clang __builtin_unpredictable? */
998
1013
 
999
1014
  #if (defined(DUK_F_C99) || defined(DUK_F_CPP11)) && \
1000
1015
  defined(DUK_F_GCC_VERSION) && (DUK_F_GCC_VERSION >= 30101)
@@ -1181,6 +1196,9 @@
1181
1196
  #define DUK_SNPRINTF _snprintf
1182
1197
  #define DUK_VSNPRINTF _vsnprintf
1183
1198
  #endif
1199
+
1200
+ /* Avoid warning when doing DUK_UNREF(some_function). */
1201
+ #define DUK_UNREF(x) do { __pragma(warning(suppress:4100 4101 4550 4551)) (x); } while (0)
1184
1202
  #elif defined(DUK_F_EMSCRIPTEN)
1185
1203
  /* --- Emscripten --- */
1186
1204
  #define DUK_NORETURN(decl) decl __attribute__((noreturn))
@@ -1194,6 +1212,11 @@
1194
1212
  #define DUK_USE_BRANCH_HINTS
1195
1213
  #define DUK_LIKELY(x) __builtin_expect((x), 1)
1196
1214
  #define DUK_UNLIKELY(x) __builtin_expect((x), 0)
1215
+ #if defined(__clang__) && defined(__has_builtin)
1216
+ #if __has_builtin(__builtin_unpredictable)
1217
+ #define DUK_UNPREDICTABLE(x) __builtin_unpredictable((x))
1218
+ #endif
1219
+ #endif
1197
1220
 
1198
1221
  #if defined(DUK_F_C99) || defined(DUK_F_CPP11)
1199
1222
  #define DUK_NOINLINE __attribute__((noinline))
@@ -1912,6 +1935,11 @@ typedef struct duk_hthread duk_context;
1912
1935
  * Fill-ins for platform, architecture, and compiler
1913
1936
  */
1914
1937
 
1938
+ /* An abort()-like primitive is needed by the default fatal error handler. */
1939
+ #if !defined(DUK_ABORT)
1940
+ #define DUK_ABORT abort
1941
+ #endif
1942
+
1915
1943
  #if !defined(DUK_SETJMP)
1916
1944
  #define DUK_JMPBUF_TYPE jmp_buf
1917
1945
  #define DUK_SETJMP(jb) setjmp((jb))
@@ -1925,17 +1953,6 @@ typedef struct duk_hthread duk_context;
1925
1953
  #define DUK_LONGJMP(jb) siglongjmp((jb), 1)
1926
1954
  #endif
1927
1955
 
1928
- typedef FILE duk_file;
1929
- #if !defined(DUK_STDIN)
1930
- #define DUK_STDIN stdin
1931
- #endif
1932
- #if !defined(DUK_STDOUT)
1933
- #define DUK_STDOUT stdout
1934
- #endif
1935
- #if !defined(DUK_STDERR)
1936
- #define DUK_STDERR stderr
1937
- #endif
1938
-
1939
1956
  /* Special naming to avoid conflict with e.g. DUK_FREE() in duk_heap.h
1940
1957
  * (which is unfortunately named). May sometimes need replacement, e.g.
1941
1958
  * some compilers don't handle zero length or NULL correctly in realloc().
@@ -2002,12 +2019,6 @@ typedef FILE duk_file;
2002
2019
  #if !defined(DUK_STRNCMP)
2003
2020
  #define DUK_STRNCMP strncmp
2004
2021
  #endif
2005
- #if !defined(DUK_PRINTF)
2006
- #define DUK_PRINTF printf
2007
- #endif
2008
- #if !defined(DUK_FPRINTF)
2009
- #define DUK_FPRINTF fprintf
2010
- #endif
2011
2022
  #if !defined(DUK_SPRINTF)
2012
2023
  #define DUK_SPRINTF sprintf
2013
2024
  #endif
@@ -2028,46 +2039,9 @@ typedef FILE duk_file;
2028
2039
  #if !defined(DUK_VSSCANF)
2029
2040
  #define DUK_VSSCANF vsscanf
2030
2041
  #endif
2031
- #if !defined(DUK_FOPEN)
2032
- #define DUK_FOPEN fopen
2033
- #endif
2034
- #if !defined(DUK_FCLOSE)
2035
- #define DUK_FCLOSE fclose
2036
- #endif
2037
- #if !defined(DUK_FREAD)
2038
- #define DUK_FREAD fread
2039
- #endif
2040
- #if !defined(DUK_FWRITE)
2041
- #define DUK_FWRITE fwrite
2042
- #endif
2043
- #if !defined(DUK_FSEEK)
2044
- #define DUK_FSEEK fseek
2045
- #endif
2046
- #if !defined(DUK_FTELL)
2047
- #define DUK_FTELL ftell
2048
- #endif
2049
- #if !defined(DUK_FFLUSH)
2050
- #define DUK_FFLUSH fflush
2051
- #endif
2052
- #if !defined(DUK_FPUTC)
2053
- #define DUK_FPUTC fputc
2054
- #endif
2055
2042
  #if !defined(DUK_MEMZERO)
2056
2043
  #define DUK_MEMZERO(p,n) DUK_MEMSET((p), 0, (n))
2057
2044
  #endif
2058
- #if !defined(DUK_ABORT)
2059
- #define DUK_ABORT abort
2060
- #endif
2061
- #if !defined(DUK_EXIT)
2062
- #define DUK_EXIT exit
2063
- #endif
2064
-
2065
- #if !defined(DUK_DOUBLE_2TO32)
2066
- #define DUK_DOUBLE_2TO32 4294967296.0
2067
- #endif
2068
- #if !defined(DUK_DOUBLE_2TO31)
2069
- #define DUK_DOUBLE_2TO31 2147483648.0
2070
- #endif
2071
2045
 
2072
2046
  #if !defined(DUK_DOUBLE_INFINITY)
2073
2047
  #undef DUK_USE_COMPUTED_INFINITY
@@ -2176,29 +2150,6 @@ typedef FILE duk_file;
2176
2150
  #undef DUK_F_USE_REPL_ALL
2177
2151
  #endif
2178
2152
 
2179
- /* Some math functions are C99 only. This is also an issue with some
2180
- * embedded environments using uclibc where uclibc has been configured
2181
- * not to provide some functions. For now, use replacements whenever
2182
- * using uclibc.
2183
- */
2184
- #undef DUK_USE_MATH_FMIN
2185
- #undef DUK_USE_MATH_FMAX
2186
- #undef DUK_USE_MATH_ROUND
2187
- #if defined(DUK_F_UCLIBC)
2188
- /* uclibc may be missing these */
2189
- #elif defined(DUK_F_AMIGAOS) && defined(DUK_F_VBCC)
2190
- /* vbcc + AmigaOS may be missing these */
2191
- #elif defined(DUK_F_MINT)
2192
- /* mint clib is missing these */
2193
- #elif !defined(DUK_F_C99) && !defined(DUK_F_CPP11)
2194
- /* build is not C99 or C++11, play it safe */
2195
- #else
2196
- /* C99 or C++11, no known issues */
2197
- #define DUK_USE_MATH_FMIN
2198
- #define DUK_USE_MATH_FMAX
2199
- #define DUK_USE_MATH_ROUND
2200
- #endif
2201
-
2202
2153
  /* These functions don't currently need replacement but are wrapped for
2203
2154
  * completeness. Because these are used as function pointers, they need
2204
2155
  * to be defined as concrete C functions (not macros).
@@ -2206,12 +2157,6 @@ typedef FILE duk_file;
2206
2157
  #if !defined(DUK_FABS)
2207
2158
  #define DUK_FABS fabs
2208
2159
  #endif
2209
- #if !defined(DUK_FMIN)
2210
- #define DUK_FMIN fmin
2211
- #endif
2212
- #if !defined(DUK_FMAX)
2213
- #define DUK_FMAX fmax
2214
- #endif
2215
2160
  #if !defined(DUK_FLOOR)
2216
2161
  #define DUK_FLOOR floor
2217
2162
  #endif
@@ -2255,13 +2200,42 @@ typedef FILE duk_file;
2255
2200
  #define DUK_SQRT sqrt
2256
2201
  #endif
2257
2202
 
2203
+ /* The functions below exist only in C99/C++11 or later and need a workaround
2204
+ * for platforms that don't include them. MSVC isn't detected as C99, but
2205
+ * these functions also exist in MSVC 2013 and later so include a clause for
2206
+ * that too.
2207
+ */
2208
+ #if defined(DUK_F_C99) || defined(DUK_F_CPP11) || (defined(_MSC_VER) && (_MSC_VER >= 1800))
2209
+ #if !defined(DUK_CBRT)
2210
+ #define DUK_CBRT cbrt
2211
+ #endif
2212
+ #if !defined(DUK_LOG2)
2213
+ #define DUK_LOG2 log2
2214
+ #endif
2215
+ #if !defined(DUK_LOG10)
2216
+ #define DUK_LOG10 log10
2217
+ #endif
2218
+ #if !defined(DUK_TRUNC)
2219
+ #define DUK_TRUNC trunc
2220
+ #endif
2221
+ #endif /* DUK_F_C99 */
2222
+
2258
2223
  /* NetBSD 6.0 x86 (at least) has a few problems with pow() semantics,
2259
- * see test-bug-netbsd-math-pow.js. Use NetBSD specific workaround.
2260
- * (This might be a wider problem; if so, generalize the define name.)
2224
+ * see test-bug-netbsd-math-pow.js. MinGW has similar (but different)
2225
+ * issues, see test-bug-mingw-math-issues.js. Enable pow() workarounds
2226
+ * for these targets.
2227
+ */
2228
+ #undef DUK_USE_POW_WORKAROUNDS
2229
+ #if defined(DUK_F_NETBSD) || defined(DUK_F_MINGW)
2230
+ #define DUK_USE_POW_WORKAROUNDS
2231
+ #endif
2232
+
2233
+ /* Similar workarounds for atan2() semantics issues. MinGW issues are
2234
+ * documented in test-bug-mingw-math-issues.js.
2261
2235
  */
2262
- #undef DUK_USE_POW_NETBSD_WORKAROUND
2263
- #if defined(DUK_F_NETBSD)
2264
- #define DUK_USE_POW_NETBSD_WORKAROUND
2236
+ #undef DUK_USE_ATAN2_WORKAROUNDS
2237
+ #if defined(DUK_F_MINGW)
2238
+ #define DUK_USE_ATAN2_WORKAROUNDS
2265
2239
  #endif
2266
2240
 
2267
2241
  /* Rely as little as possible on compiler behavior for NaN comparison,
@@ -2304,25 +2278,6 @@ typedef FILE duk_file;
2304
2278
  * byte order for doubles is referred to as "mixed endian".
2305
2279
  */
2306
2280
 
2307
- /* For custom platforms allow user to define byteorder explicitly.
2308
- * Since endianness headers are not standardized, this is a useful
2309
- * workaround for custom platforms for which endianness detection
2310
- * is not directly supported. Perhaps custom hardware is used and
2311
- * user cannot submit upstream patches.
2312
- */
2313
- #if defined(DUK_OPT_FORCE_BYTEORDER)
2314
- #undef DUK_USE_BYTEORDER
2315
- #if (DUK_OPT_FORCE_BYTEORDER == 1)
2316
- #define DUK_USE_BYTEORDER 1
2317
- #elif (DUK_OPT_FORCE_BYTEORDER == 2)
2318
- #define DUK_USE_BYTEORDER 2
2319
- #elif (DUK_OPT_FORCE_BYTEORDER == 3)
2320
- #define DUK_USE_BYTEORDER 3
2321
- #else
2322
- #error invalid DUK_OPT_FORCE_BYTEORDER value
2323
- #endif
2324
- #endif /* DUK_OPT_FORCE_BYTEORDER */
2325
-
2326
2281
  /* GCC and Clang provide endianness defines as built-in predefines, with
2327
2282
  * leading and trailing double underscores (e.g. __BYTE_ORDER__). See
2328
2283
  * output of "make gccpredefs" and "make clangpredefs". Clang doesn't
@@ -2425,18 +2380,6 @@ typedef FILE duk_file;
2425
2380
  #define DUK_USE_ALIGN_BY 8
2426
2381
  #endif
2427
2382
 
2428
- /* User forced alignment to 4 or 8. */
2429
- #if defined(DUK_OPT_FORCE_ALIGN)
2430
- #undef DUK_USE_ALIGN_BY
2431
- #if (DUK_OPT_FORCE_ALIGN == 4)
2432
- #define DUK_USE_ALIGN_BY 4
2433
- #elif (DUK_OPT_FORCE_ALIGN == 8)
2434
- #define DUK_USE_ALIGN_BY 8
2435
- #else
2436
- #error invalid DUK_OPT_FORCE_ALIGN value
2437
- #endif
2438
- #endif
2439
-
2440
2383
  /* Compiler specific hackery needed to force struct size to match aligment,
2441
2384
  * see e.g. duk_hbuffer.h.
2442
2385
  *
@@ -2479,9 +2422,8 @@ typedef FILE duk_file;
2479
2422
  #endif
2480
2423
 
2481
2424
  #if !defined(DUK_CAUSE_SEGFAULT)
2482
- /* This is optionally used by panic handling to cause the program to segfault
2483
- * (instead of e.g. abort()) on panic. Valgrind will then indicate the C
2484
- * call stack leading to the panic.
2425
+ /* This can be used for testing; valgrind will then indicate the C call stack
2426
+ * leading to the call site.
2485
2427
  */
2486
2428
  #define DUK_CAUSE_SEGFAULT() do { *((volatile duk_uint32_t *) NULL) = (duk_uint32_t) 0xdeadbeefUL; } while (0)
2487
2429
  #endif
@@ -2517,6 +2459,9 @@ typedef FILE duk_file;
2517
2459
  #if !defined(DUK_UNLIKELY)
2518
2460
  #define DUK_UNLIKELY(x) (x)
2519
2461
  #endif
2462
+ #if !defined(DUK_UNPREDICTABLE)
2463
+ #define DUK_UNPREDICTABLE(x) (x)
2464
+ #endif
2520
2465
 
2521
2466
  #if !defined(DUK_NOINLINE)
2522
2467
  #define DUK_NOINLINE /*nop*/
@@ -2656,14 +2601,6 @@ typedef FILE duk_file;
2656
2601
 
2657
2602
  #undef DUK_F_PACKED_TVAL_POSSIBLE
2658
2603
  #endif /* DUK_F_PACKED_TVAL_PROVIDED */
2659
-
2660
- /* Feature option forcing. */
2661
- #if defined(DUK_OPT_NO_PACKED_TVAL)
2662
- #undef DUK_USE_PACKED_TVAL
2663
- #elif defined(DUK_OPT_PACKED_TVAL)
2664
- #undef DUK_USE_PACKED_TVAL
2665
- #define DUK_USE_PACKED_TVAL
2666
- #endif
2667
2604
  /* Object property allocation layout has implications for memory and code
2668
2605
  * footprint and generated code size/speed. The best layout also depends
2669
2606
  * on whether the platform has alignment requirements or benefits from
@@ -2694,852 +2631,164 @@ typedef FILE duk_file;
2694
2631
  #endif
2695
2632
 
2696
2633
  /*
2697
- * Feature option handling
2634
+ * Autogenerated defaults
2698
2635
  */
2699
2636
 
2700
- #if !defined(DUK_USE_ALIGN_BY)
2701
- #if defined(DUK_OPT_FORCE_ALIGN)
2702
- #define DUK_USE_ALIGN_BY DUK_OPT_FORCE_ALIGN
2703
- #else
2704
- #define DUK_USE_ALIGN_BY 8
2705
- #endif
2706
- #endif
2707
-
2708
- #if defined(DUK_OPT_ASSERTIONS)
2709
- #define DUK_USE_ASSERTIONS
2710
- #elif defined(DUK_OPT_NO_ASSERTIONS)
2711
- #undef DUK_USE_ASSERTIONS
2712
- #else
2637
+ #define DUK_USE_ARRAY_BUILTIN
2638
+ #define DUK_USE_ARRAY_FASTPATH
2639
+ #define DUK_USE_ARRAY_PROP_FASTPATH
2713
2640
  #undef DUK_USE_ASSERTIONS
2714
- #endif
2715
-
2716
- #if defined(DUK_OPT_AUGMENT_ERRORS)
2717
- #define DUK_USE_AUGMENT_ERROR_CREATE
2718
- #elif defined(DUK_OPT_NO_AUGMENT_ERRORS)
2719
- #undef DUK_USE_AUGMENT_ERROR_CREATE
2720
- #else
2721
2641
  #define DUK_USE_AUGMENT_ERROR_CREATE
2722
- #endif
2723
-
2724
- #if defined(DUK_OPT_AUGMENT_ERRORS)
2725
- #define DUK_USE_AUGMENT_ERROR_THROW
2726
- #elif defined(DUK_OPT_NO_AUGMENT_ERRORS)
2727
- #undef DUK_USE_AUGMENT_ERROR_THROW
2728
- #else
2729
2642
  #define DUK_USE_AUGMENT_ERROR_THROW
2730
- #endif
2731
-
2732
- #if defined(DUK_OPT_BROWSER_LIKE)
2733
- #define DUK_USE_BROWSER_LIKE
2734
- #elif defined(DUK_OPT_NO_BROWSER_LIKE)
2735
- #undef DUK_USE_BROWSER_LIKE
2736
- #else
2737
- #define DUK_USE_BROWSER_LIKE
2738
- #endif
2739
-
2740
- #if defined(DUK_OPT_BUFFEROBJECT_SUPPORT)
2741
- #define DUK_USE_BUFFEROBJECT_SUPPORT
2742
- #elif defined(DUK_OPT_NO_BUFFEROBJECT_SUPPORT)
2743
- #undef DUK_USE_BUFFEROBJECT_SUPPORT
2744
- #else
2643
+ #define DUK_USE_AVOID_PLATFORM_FUNCPTRS
2644
+ #define DUK_USE_BASE64_FASTPATH
2645
+ #define DUK_USE_BOOLEAN_BUILTIN
2745
2646
  #define DUK_USE_BUFFEROBJECT_SUPPORT
2746
- #endif
2747
-
2748
- #if defined(DUK_OPT_BUFLEN16)
2749
- #define DUK_USE_BUFLEN16
2750
- #elif defined(DUK_OPT_NO_BUFLEN16)
2751
2647
  #undef DUK_USE_BUFLEN16
2752
- #else
2753
- #undef DUK_USE_BUFLEN16
2754
- #endif
2755
-
2756
- #if defined(DUK_OPT_BYTECODE_DUMP_SUPPORT)
2757
2648
  #define DUK_USE_BYTECODE_DUMP_SUPPORT
2758
- #elif defined(DUK_OPT_NO_BYTECODE_DUMP_SUPPORT)
2759
- #undef DUK_USE_BYTECODE_DUMP_SUPPORT
2760
- #else
2761
- #define DUK_USE_BYTECODE_DUMP_SUPPORT
2762
- #endif
2763
-
2764
- #if defined(DUK_OPT_COMMONJS_MODULES)
2765
2649
  #define DUK_USE_COMMONJS_MODULES
2766
- #elif defined(DUK_OPT_NO_COMMONJS_MODULES)
2767
- #undef DUK_USE_COMMONJS_MODULES
2768
- #else
2769
- #define DUK_USE_COMMONJS_MODULES
2770
- #endif
2771
-
2772
- #if defined(DUK_OPT_CPP_EXCEPTIONS)
2773
- #define DUK_USE_CPP_EXCEPTIONS
2774
- #elif defined(DUK_OPT_NO_CPP_EXCEPTIONS)
2775
- #undef DUK_USE_CPP_EXCEPTIONS
2776
- #else
2650
+ #define DUK_USE_COMPILER_RECLIMIT 2500
2651
+ #define DUK_USE_COROUTINE_SUPPORT
2777
2652
  #undef DUK_USE_CPP_EXCEPTIONS
2778
- #endif
2779
-
2780
- #if defined(DUK_OPT_DATAPTR16)
2781
- #define DUK_USE_DATAPTR16
2782
- #elif defined(DUK_OPT_NO_DATAPTR16)
2783
- #undef DUK_USE_DATAPTR16
2784
- #else
2785
2653
  #undef DUK_USE_DATAPTR16
2786
- #endif
2787
-
2788
- #if defined(DUK_OPT_DATAPTR_DEC16)
2789
- #define DUK_USE_DATAPTR_DEC16(udata,ptr) DUK_OPT_DATAPTR_DEC16((udata),(ptr))
2790
- #else
2791
2654
  #undef DUK_USE_DATAPTR_DEC16
2792
- #endif
2793
-
2794
- #if defined(DUK_OPT_DATAPTR_ENC16)
2795
- #define DUK_USE_DATAPTR_ENC16(udata,ptr) DUK_OPT_DATAPTR_ENC16((udata),(ptr))
2796
- #else
2797
2655
  #undef DUK_USE_DATAPTR_ENC16
2798
- #endif
2799
-
2800
- #if defined(DUK_OPT_DDDPRINT)
2801
- #define DUK_USE_DDDPRINT
2802
- #elif defined(DUK_OPT_NO_DDDPRINT)
2803
- #undef DUK_USE_DDDPRINT
2804
- #else
2805
- #undef DUK_USE_DDDPRINT
2806
- #endif
2807
-
2808
- #if defined(DUK_OPT_DDPRINT)
2809
- #define DUK_USE_DDPRINT
2810
- #elif defined(DUK_OPT_NO_DDPRINT)
2811
- #undef DUK_USE_DDPRINT
2812
- #else
2813
- #undef DUK_USE_DDPRINT
2814
- #endif
2815
-
2816
- #if defined(DUK_OPT_DEBUG)
2817
- #define DUK_USE_DEBUG
2818
- #elif defined(DUK_OPT_NO_DEBUG)
2819
- #undef DUK_USE_DEBUG
2820
- #else
2656
+ #define DUK_USE_DATE_BUILTIN
2657
+ #undef DUK_USE_DATE_FORMAT_STRING
2658
+ #undef DUK_USE_DATE_GET_LOCAL_TZOFFSET
2659
+ #undef DUK_USE_DATE_GET_NOW
2660
+ #undef DUK_USE_DATE_PARSE_STRING
2661
+ #undef DUK_USE_DATE_PRS_GETDATE
2821
2662
  #undef DUK_USE_DEBUG
2822
- #endif
2823
-
2824
- #if defined(DUK_OPT_DEBUGGER_DUMPHEAP)
2825
- #define DUK_USE_DEBUGGER_DUMPHEAP
2826
- #elif defined(DUK_OPT_NO_DEBUGGER_DUMPHEAP)
2827
- #undef DUK_USE_DEBUGGER_DUMPHEAP
2828
- #else
2829
2663
  #undef DUK_USE_DEBUGGER_DUMPHEAP
2830
- #endif
2831
-
2832
- #if defined(DUK_OPT_DEBUGGER_FWD_LOGGING)
2833
- #define DUK_USE_DEBUGGER_FWD_LOGGING
2834
- #elif defined(DUK_OPT_NO_DEBUGGER_FWD_LOGGING)
2835
- #undef DUK_USE_DEBUGGER_FWD_LOGGING
2836
- #else
2837
- #undef DUK_USE_DEBUGGER_FWD_LOGGING
2838
- #endif
2839
-
2840
- #if defined(DUK_OPT_DEBUGGER_FWD_PRINTALERT)
2841
- #define DUK_USE_DEBUGGER_FWD_PRINTALERT
2842
- #elif defined(DUK_OPT_NO_DEBUGGER_FWD_PRINTALERT)
2843
- #undef DUK_USE_DEBUGGER_FWD_PRINTALERT
2844
- #else
2845
- #undef DUK_USE_DEBUGGER_FWD_PRINTALERT
2846
- #endif
2847
-
2848
- #if defined(DUK_OPT_DEBUGGER_INSPECT)
2849
- #define DUK_USE_DEBUGGER_INSPECT
2850
- #elif defined(DUK_OPT_NO_DEBUGGER_INSPECT)
2851
2664
  #undef DUK_USE_DEBUGGER_INSPECT
2852
- #else
2853
- #undef DUK_USE_DEBUGGER_INSPECT
2854
- #endif
2855
-
2856
- #if defined(DUK_OPT_DEBUGGER_PAUSE_UNCAUGHT)
2857
- #define DUK_USE_DEBUGGER_PAUSE_UNCAUGHT
2858
- #elif defined(DUK_OPT_NO_DEBUGGER_PAUSE_UNCAUGHT)
2859
2665
  #undef DUK_USE_DEBUGGER_PAUSE_UNCAUGHT
2860
- #else
2861
- #undef DUK_USE_DEBUGGER_PAUSE_UNCAUGHT
2862
- #endif
2863
-
2864
- #if defined(DUK_OPT_DEBUGGER_SUPPORT)
2865
- #define DUK_USE_DEBUGGER_SUPPORT
2866
- #elif defined(DUK_OPT_NO_DEBUGGER_SUPPORT)
2867
2666
  #undef DUK_USE_DEBUGGER_SUPPORT
2868
- #else
2869
- #undef DUK_USE_DEBUGGER_SUPPORT
2870
- #endif
2871
-
2872
- #if defined(DUK_OPT_DEBUGGER_THROW_NOTIFY)
2873
2667
  #define DUK_USE_DEBUGGER_THROW_NOTIFY
2874
- #elif defined(DUK_OPT_NO_DEBUGGER_THROW_NOTIFY)
2875
- #undef DUK_USE_DEBUGGER_THROW_NOTIFY
2876
- #else
2877
- #define DUK_USE_DEBUGGER_THROW_NOTIFY
2878
- #endif
2879
-
2880
- #if defined(DUK_OPT_DEBUGGER_TRANSPORT_TORTURE)
2881
- #define DUK_USE_DEBUGGER_TRANSPORT_TORTURE
2882
- #elif defined(DUK_OPT_NO_DEBUGGER_TRANSPORT_TORTURE)
2883
2668
  #undef DUK_USE_DEBUGGER_TRANSPORT_TORTURE
2884
- #else
2885
- #undef DUK_USE_DEBUGGER_TRANSPORT_TORTURE
2886
- #endif
2887
-
2888
- #if defined(DUK_OPT_DEBUG_BUFSIZE)
2889
- #define DUK_USE_DEBUG_BUFSIZE DUK_OPT_DEBUG_BUFSIZE
2890
- #else
2891
2669
  #define DUK_USE_DEBUG_BUFSIZE 65536L
2892
- #endif
2893
-
2894
- #if defined(DUK_OPT_REFERENCE_COUNTING)
2895
- #define DUK_USE_DOUBLE_LINKED_HEAP
2896
- #elif defined(DUK_OPT_NO_REFERENCE_COUNTING)
2897
- #undef DUK_USE_DOUBLE_LINKED_HEAP
2898
- #else
2670
+ #define DUK_USE_DEBUG_LEVEL 0
2671
+ #undef DUK_USE_DEBUG_WRITE
2899
2672
  #define DUK_USE_DOUBLE_LINKED_HEAP
2900
- #endif
2901
-
2902
- #if defined(DUK_OPT_DPRINT)
2903
- #define DUK_USE_DPRINT
2904
- #elif defined(DUK_OPT_NO_DPRINT)
2905
- #undef DUK_USE_DPRINT
2906
- #else
2907
- #undef DUK_USE_DPRINT
2908
- #endif
2909
-
2910
- #if defined(DUK_OPT_DPRINT_COLORS)
2911
- #define DUK_USE_DPRINT_COLORS
2912
- #elif defined(DUK_OPT_NO_DPRINT_COLORS)
2913
- #undef DUK_USE_DPRINT_COLORS
2914
- #else
2915
- #undef DUK_USE_DPRINT_COLORS
2916
- #endif
2917
-
2918
- #if defined(DUK_OPT_DPRINT_RDTSC)
2919
- #define DUK_USE_DPRINT_RDTSC
2920
- #elif defined(DUK_OPT_NO_DPRINT_RDTSC)
2921
- #undef DUK_USE_DPRINT_RDTSC
2922
- #else
2923
- #undef DUK_USE_DPRINT_RDTSC
2924
- #endif
2925
-
2926
- #if defined(DUK_OPT_AUGMENT_ERRORS)
2673
+ #define DUK_USE_DUKTAPE_BUILTIN
2674
+ #define DUK_USE_ENCODING_BUILTINS
2927
2675
  #define DUK_USE_ERRCREATE
2928
- #elif defined(DUK_OPT_NO_AUGMENT_ERRORS)
2929
- #undef DUK_USE_ERRCREATE
2930
- #else
2931
- #define DUK_USE_ERRCREATE
2932
- #endif
2933
-
2934
- #if defined(DUK_OPT_AUGMENT_ERRORS)
2935
2676
  #define DUK_USE_ERRTHROW
2936
- #elif defined(DUK_OPT_NO_AUGMENT_ERRORS)
2937
- #undef DUK_USE_ERRTHROW
2938
- #else
2939
- #define DUK_USE_ERRTHROW
2940
- #endif
2941
-
2942
- #if defined(DUK_OPT_ES6_OBJECT_PROTO_PROPERTY)
2677
+ #define DUK_USE_ES6
2943
2678
  #define DUK_USE_ES6_OBJECT_PROTO_PROPERTY
2944
- #elif defined(DUK_OPT_NO_ES6_OBJECT_PROTO_PROPERTY)
2945
- #undef DUK_USE_ES6_OBJECT_PROTO_PROPERTY
2946
- #else
2947
- #define DUK_USE_ES6_OBJECT_PROTO_PROPERTY
2948
- #endif
2949
-
2950
- #if defined(DUK_OPT_ES6_OBJECT_SETPROTOTYPEOF)
2951
2679
  #define DUK_USE_ES6_OBJECT_SETPROTOTYPEOF
2952
- #elif defined(DUK_OPT_NO_ES6_OBJECT_SETPROTOTYPEOF)
2953
- #undef DUK_USE_ES6_OBJECT_SETPROTOTYPEOF
2954
- #else
2955
- #define DUK_USE_ES6_OBJECT_SETPROTOTYPEOF
2956
- #endif
2957
-
2958
- #if defined(DUK_OPT_ES6_PROXY)
2959
2680
  #define DUK_USE_ES6_PROXY
2960
- #elif defined(DUK_OPT_NO_ES6_PROXY)
2961
- #undef DUK_USE_ES6_PROXY
2962
- #else
2963
- #define DUK_USE_ES6_PROXY
2964
- #endif
2965
-
2966
- #if defined(DUK_OPT_ES6_REGEXP_BRACES)
2967
- #define DUK_USE_ES6_REGEXP_BRACES
2968
- #elif defined(DUK_OPT_NO_ES6_REGEXP_BRACES)
2969
- #undef DUK_USE_ES6_REGEXP_BRACES
2970
- #else
2971
- #define DUK_USE_ES6_REGEXP_BRACES
2972
- #endif
2973
-
2681
+ #define DUK_USE_ES6_REGEXP_SYNTAX
2682
+ #define DUK_USE_ES6_UNICODE_ESCAPE
2683
+ #define DUK_USE_ES7_EXP_OPERATOR
2684
+ #define DUK_USE_ESBC_LIMITS
2685
+ #define DUK_USE_ESBC_MAX_BYTES 2147418112L
2686
+ #define DUK_USE_ESBC_MAX_LINENUMBER 2147418112L
2687
+ #undef DUK_USE_EXEC_FUN_LOCAL
2974
2688
  #undef DUK_USE_EXEC_INDIRECT_BOUND_CHECK
2975
- #if defined(DUK_OPT_DEBUG) || defined(DUK_OPT_ASSERTIONS)
2976
- /* Enabled with debug/assertions just so that any issues can be caught. */
2977
- #define DUK_USE_EXEC_INDIRECT_BOUND_CHECK
2978
- #endif
2979
-
2689
+ #undef DUK_USE_EXEC_PREFER_SIZE
2690
+ #define DUK_USE_EXEC_REGCONST_OPTIMIZE
2980
2691
  #undef DUK_USE_EXEC_TIMEOUT_CHECK
2981
- #if defined(DUK_OPT_EXEC_TIMEOUT_CHECK)
2982
- #define DUK_USE_EXEC_TIMEOUT_CHECK(udata) DUK_OPT_EXEC_TIMEOUT_CHECK((udata))
2983
- #endif
2984
-
2692
+ #undef DUK_USE_EXPLICIT_NULL_INIT
2985
2693
  #undef DUK_USE_EXTSTR_FREE
2986
- #if defined(DUK_OPT_EXTERNAL_STRINGS) && defined(DUK_OPT_EXTSTR_FREE)
2987
- #define DUK_USE_EXTSTR_FREE(udata,ptr) DUK_OPT_EXTSTR_FREE((udata), (ptr))
2988
- #endif
2989
-
2990
2694
  #undef DUK_USE_EXTSTR_INTERN_CHECK
2991
- #if defined(DUK_OPT_EXTERNAL_STRINGS) && defined(DUK_OPT_EXTSTR_INTERN_CHECK)
2992
- #define DUK_USE_EXTSTR_INTERN_CHECK(udata,ptr,len) DUK_OPT_EXTSTR_INTERN_CHECK((udata), (ptr), (len))
2993
- #endif
2994
-
2995
- /* Support for 48-bit signed integer duk_tval with transparent semantics. */
2996
2695
  #undef DUK_USE_FASTINT
2997
- #if defined(DUK_OPT_FASTINT)
2998
- #if !defined(DUK_F_HAVE_64BIT)
2999
- #error DUK_OPT_FASTINT requires 64-bit integer type support at the moment
3000
- #endif
3001
- #define DUK_USE_FASTINT
3002
- #endif
3003
-
3004
- #if defined(DUK_OPT_FILE_IO)
3005
- #define DUK_USE_FILE_IO
3006
- #elif defined(DUK_OPT_NO_FILE_IO)
3007
- #undef DUK_USE_FILE_IO
3008
- #else
3009
- #define DUK_USE_FILE_IO
3010
- #endif
3011
-
3012
- #if defined(DUK_OPT_FUNCPTR16)
3013
- #define DUK_USE_FUNCPTR16
3014
- #elif defined(DUK_OPT_NO_FUNCPTR16)
3015
- #undef DUK_USE_FUNCPTR16
3016
- #else
2696
+ #define DUK_USE_FAST_REFCOUNT_DEFAULT
2697
+ #undef DUK_USE_FATAL_HANDLER
2698
+ #define DUK_USE_FINALIZER_SUPPORT
3017
2699
  #undef DUK_USE_FUNCPTR16
3018
- #endif
3019
-
3020
- #if defined(DUK_OPT_FUNCPTR_DEC16)
3021
- #define DUK_USE_FUNCPTR_DEC16(udata,ptr) DUK_OPT_FUNCPTR_DEC16((udata),(ptr))
3022
- #else
3023
2700
  #undef DUK_USE_FUNCPTR_DEC16
3024
- #endif
3025
-
3026
- #if defined(DUK_OPT_FUNCPTR_ENC16)
3027
- #define DUK_USE_FUNCPTR_ENC16(udata,ptr) DUK_OPT_FUNCPTR_ENC16((udata),(ptr))
3028
- #else
3029
2701
  #undef DUK_USE_FUNCPTR_ENC16
3030
- #endif
3031
-
3032
- #if defined(DUK_OPT_GC_TORTURE)
3033
- #define DUK_USE_GC_TORTURE
3034
- #elif defined(DUK_OPT_NO_GC_TORTURE)
2702
+ #define DUK_USE_FUNCTION_BUILTIN
2703
+ #define DUK_USE_FUNC_FILENAME_PROPERTY
2704
+ #define DUK_USE_FUNC_NAME_PROPERTY
3035
2705
  #undef DUK_USE_GC_TORTURE
3036
- #else
3037
- #undef DUK_USE_GC_TORTURE
3038
- #endif
3039
-
3040
- #if defined(DUK_OPT_HEAPPTR16)
3041
- #define DUK_USE_HEAPPTR16
3042
- #elif defined(DUK_OPT_NO_HEAPPTR16)
3043
- #undef DUK_USE_HEAPPTR16
3044
- #else
2706
+ #undef DUK_USE_GET_RANDOM_DOUBLE
2707
+ #define DUK_USE_GLOBAL_BUILTIN
3045
2708
  #undef DUK_USE_HEAPPTR16
3046
- #endif
3047
-
3048
- #if defined(DUK_OPT_HEAPPTR_DEC16)
3049
- #define DUK_USE_HEAPPTR_DEC16(udata,ptr) DUK_OPT_HEAPPTR_DEC16((udata),(ptr))
3050
- #else
3051
2709
  #undef DUK_USE_HEAPPTR_DEC16
3052
- #endif
3053
-
3054
- #if defined(DUK_OPT_HEAPPTR_ENC16)
3055
- #define DUK_USE_HEAPPTR_ENC16(udata,ptr) DUK_OPT_HEAPPTR_ENC16((udata),(ptr))
3056
- #else
3057
2710
  #undef DUK_USE_HEAPPTR_ENC16
3058
- #endif
3059
-
3060
- /* For now, hash part is dropped if and only if 16-bit object fields are used. */
2711
+ #define DUK_USE_HEX_FASTPATH
3061
2712
  #define DUK_USE_HOBJECT_HASH_PART
3062
- #if defined(DUK_OPT_OBJSIZES16)
3063
- #undef DUK_USE_HOBJECT_HASH_PART
3064
- #endif
3065
-
3066
- #if defined(DUK_OPT_HSTRING_CLEN)
2713
+ #define DUK_USE_HSTRING_ARRIDX
3067
2714
  #define DUK_USE_HSTRING_CLEN
3068
- #elif defined(DUK_OPT_NO_HSTRING_CLEN)
3069
- #undef DUK_USE_HSTRING_CLEN
3070
- #else
3071
- #define DUK_USE_HSTRING_CLEN
3072
- #endif
3073
-
3074
- #if defined(DUK_OPT_EXTERNAL_STRINGS)
3075
- #define DUK_USE_HSTRING_EXTDATA
3076
- #elif defined(DUK_OPT_NO_EXTERNAL_STRINGS)
3077
- #undef DUK_USE_HSTRING_EXTDATA
3078
- #else
3079
2715
  #undef DUK_USE_HSTRING_EXTDATA
3080
- #endif
3081
-
3082
- #if defined(DUK_OPT_INTERRUPT_COUNTER)
3083
- #define DUK_USE_INTERRUPT_COUNTER
3084
- #elif defined(DUK_OPT_NO_INTERRUPT_COUNTER)
3085
- #undef DUK_USE_INTERRUPT_COUNTER
3086
- #else
2716
+ #define DUK_USE_IDCHAR_FASTPATH
3087
2717
  #undef DUK_USE_INTERRUPT_COUNTER
3088
- #endif
3089
-
3090
- #if defined(DUK_OPT_JC)
3091
- #define DUK_USE_JC
3092
- #elif defined(DUK_OPT_NO_JC)
3093
- #undef DUK_USE_JC
3094
- #else
2718
+ #undef DUK_USE_INTERRUPT_DEBUG_FIXUP
3095
2719
  #define DUK_USE_JC
3096
- #endif
3097
-
3098
- #if defined(DUK_OPT_JSON_STRINGIFY_FASTPATH)
3099
- #define DUK_USE_JSON_STRINGIFY_FASTPATH
3100
- #elif defined(DUK_OPT_NO_JSON_STRINGIFY_FASTPATH)
3101
- #undef DUK_USE_JSON_STRINGIFY_FASTPATH
3102
- #else
2720
+ #define DUK_USE_JSON_BUILTIN
2721
+ #define DUK_USE_JSON_DECNUMBER_FASTPATH
2722
+ #define DUK_USE_JSON_DECSTRING_FASTPATH
2723
+ #define DUK_USE_JSON_DEC_RECLIMIT 1000
2724
+ #define DUK_USE_JSON_EATWHITE_FASTPATH
2725
+ #define DUK_USE_JSON_ENC_RECLIMIT 1000
2726
+ #define DUK_USE_JSON_QUOTESTRING_FASTPATH
3103
2727
  #undef DUK_USE_JSON_STRINGIFY_FASTPATH
3104
- #endif
3105
-
3106
- #if defined(DUK_OPT_JX)
2728
+ #define DUK_USE_JSON_SUPPORT
3107
2729
  #define DUK_USE_JX
3108
- #elif defined(DUK_OPT_NO_JX)
3109
- #undef DUK_USE_JX
3110
- #else
3111
- #define DUK_USE_JX
3112
- #endif
3113
-
3114
- #if defined(DUK_OPT_LIGHTFUNC_BUILTINS)
3115
- #define DUK_USE_LIGHTFUNC_BUILTINS
3116
- #elif defined(DUK_OPT_NO_LIGHTFUNC_BUILTINS)
3117
- #undef DUK_USE_LIGHTFUNC_BUILTINS
3118
- #else
2730
+ #define DUK_USE_LEXER_SLIDING_WINDOW
3119
2731
  #undef DUK_USE_LIGHTFUNC_BUILTINS
3120
- #endif
3121
-
3122
- #if defined(DUK_OPT_MARK_AND_SWEEP)
3123
- #define DUK_USE_MARK_AND_SWEEP
3124
- #elif defined(DUK_OPT_NO_MARK_AND_SWEEP)
3125
- #undef DUK_USE_MARK_AND_SWEEP
3126
- #else
3127
- #define DUK_USE_MARK_AND_SWEEP
3128
- #endif
3129
-
3130
- #if defined(DUK_OPT_MS_STRINGTABLE_RESIZE)
3131
- #define DUK_USE_MS_STRINGTABLE_RESIZE
3132
- #elif defined(DUK_OPT_NO_MS_STRINGTABLE_RESIZE)
3133
- #undef DUK_USE_MS_STRINGTABLE_RESIZE
3134
- #else
2732
+ #undef DUK_USE_MARKANDSWEEP_FINALIZER_TORTURE
2733
+ #define DUK_USE_MARK_AND_SWEEP_RECLIMIT 256
2734
+ #define DUK_USE_MATH_BUILTIN
3135
2735
  #define DUK_USE_MS_STRINGTABLE_RESIZE
3136
- #endif
3137
-
3138
- #if defined(DUK_OPT_NONSTD_ARRAY_CONCAT_TRAILER)
3139
- #define DUK_USE_NONSTD_ARRAY_CONCAT_TRAILER
3140
- #elif defined(DUK_OPT_NO_NONSTD_ARRAY_CONCAT_TRAILER)
3141
- #undef DUK_USE_NONSTD_ARRAY_CONCAT_TRAILER
3142
- #else
2736
+ #define DUK_USE_NATIVE_CALL_RECLIMIT 1000
3143
2737
  #define DUK_USE_NONSTD_ARRAY_CONCAT_TRAILER
3144
- #endif
3145
-
3146
- #if defined(DUK_OPT_NONSTD_ARRAY_MAP_TRAILER)
3147
- #define DUK_USE_NONSTD_ARRAY_MAP_TRAILER
3148
- #elif defined(DUK_OPT_NO_NONSTD_ARRAY_MAP_TRAILER)
3149
- #undef DUK_USE_NONSTD_ARRAY_MAP_TRAILER
3150
- #else
3151
2738
  #define DUK_USE_NONSTD_ARRAY_MAP_TRAILER
3152
- #endif
3153
-
3154
- #if defined(DUK_OPT_NONSTD_ARRAY_SPLICE_DELCOUNT)
3155
2739
  #define DUK_USE_NONSTD_ARRAY_SPLICE_DELCOUNT
3156
- #elif defined(DUK_OPT_NO_NONSTD_ARRAY_SPLICE_DELCOUNT)
3157
- #undef DUK_USE_NONSTD_ARRAY_SPLICE_DELCOUNT
3158
- #else
3159
- #define DUK_USE_NONSTD_ARRAY_SPLICE_DELCOUNT
3160
- #endif
3161
-
3162
- #if defined(DUK_OPT_NONSTD_FUNC_CALLER_PROPERTY)
3163
- #define DUK_USE_NONSTD_FUNC_CALLER_PROPERTY
3164
- #elif defined(DUK_OPT_NO_NONSTD_FUNC_CALLER_PROPERTY)
3165
- #undef DUK_USE_NONSTD_FUNC_CALLER_PROPERTY
3166
- #else
3167
2740
  #undef DUK_USE_NONSTD_FUNC_CALLER_PROPERTY
3168
- #endif
3169
-
3170
- #if defined(DUK_OPT_NONSTD_FUNC_SOURCE_PROPERTY)
3171
- #define DUK_USE_NONSTD_FUNC_SOURCE_PROPERTY
3172
- #elif defined(DUK_OPT_NO_NONSTD_FUNC_SOURCE_PROPERTY)
3173
2741
  #undef DUK_USE_NONSTD_FUNC_SOURCE_PROPERTY
3174
- #else
3175
- #undef DUK_USE_NONSTD_FUNC_SOURCE_PROPERTY
3176
- #endif
3177
-
3178
- #if defined(DUK_OPT_NONSTD_FUNC_STMT)
3179
- #define DUK_USE_NONSTD_FUNC_STMT
3180
- #elif defined(DUK_OPT_NO_NONSTD_FUNC_STMT)
3181
- #undef DUK_USE_NONSTD_FUNC_STMT
3182
- #else
3183
2742
  #define DUK_USE_NONSTD_FUNC_STMT
3184
- #endif
3185
-
3186
- #if defined(DUK_OPT_NONSTD_ACCESSOR_KEY_ARGUMENT)
3187
- #define DUK_USE_NONSTD_GETTER_KEY_ARGUMENT
3188
- #elif defined(DUK_OPT_NO_NONSTD_ACCESSOR_KEY_ARGUMENT)
3189
- #undef DUK_USE_NONSTD_GETTER_KEY_ARGUMENT
3190
- #else
3191
2743
  #define DUK_USE_NONSTD_GETTER_KEY_ARGUMENT
3192
- #endif
3193
-
3194
- #if defined(DUK_OPT_NONSTD_JSON_ESC_U2028_U2029)
3195
2744
  #define DUK_USE_NONSTD_JSON_ESC_U2028_U2029
3196
- #elif defined(DUK_OPT_NO_NONSTD_JSON_ESC_U2028_U2029)
3197
- #undef DUK_USE_NONSTD_JSON_ESC_U2028_U2029
3198
- #else
3199
- #define DUK_USE_NONSTD_JSON_ESC_U2028_U2029
3200
- #endif
3201
-
3202
- #if defined(DUK_OPT_NONSTD_REGEXP_DOLLAR_ESCAPE)
3203
- #define DUK_USE_NONSTD_REGEXP_DOLLAR_ESCAPE
3204
- #elif defined(DUK_OPT_NO_NONSTD_REGEXP_DOLLAR_ESCAPE)
3205
- #undef DUK_USE_NONSTD_REGEXP_DOLLAR_ESCAPE
3206
- #else
3207
- #define DUK_USE_NONSTD_REGEXP_DOLLAR_ESCAPE
3208
- #endif
3209
-
3210
- #if defined(DUK_OPT_NONSTD_ACCESSOR_KEY_ARGUMENT)
3211
- #define DUK_USE_NONSTD_SETTER_KEY_ARGUMENT
3212
- #elif defined(DUK_OPT_NO_NONSTD_ACCESSOR_KEY_ARGUMENT)
3213
- #undef DUK_USE_NONSTD_SETTER_KEY_ARGUMENT
3214
- #else
3215
2745
  #define DUK_USE_NONSTD_SETTER_KEY_ARGUMENT
3216
- #endif
3217
-
3218
- #if defined(DUK_OPT_NONSTD_STRING_FROMCHARCODE_32BIT)
3219
2746
  #define DUK_USE_NONSTD_STRING_FROMCHARCODE_32BIT
3220
- #elif defined(DUK_OPT_NO_NONSTD_STRING_FROMCHARCODE_32BIT)
3221
- #undef DUK_USE_NONSTD_STRING_FROMCHARCODE_32BIT
3222
- #else
3223
- #define DUK_USE_NONSTD_STRING_FROMCHARCODE_32BIT
3224
- #endif
3225
-
3226
- #if defined(DUK_OPT_OBJSIZES16)
3227
- #define DUK_USE_OBJSIZES16
3228
- #elif defined(DUK_OPT_NO_OBJSIZES16)
3229
- #undef DUK_USE_OBJSIZES16
3230
- #else
2747
+ #define DUK_USE_NUMBER_BUILTIN
2748
+ #define DUK_USE_OBJECT_BUILTIN
3231
2749
  #undef DUK_USE_OBJSIZES16
3232
- #endif
3233
-
3234
- #if defined(DUK_OPT_OCTAL_SUPPORT)
3235
- #define DUK_USE_OCTAL_SUPPORT
3236
- #elif defined(DUK_OPT_NO_OCTAL_SUPPORT)
3237
- #undef DUK_USE_OCTAL_SUPPORT
3238
- #else
3239
- #define DUK_USE_OCTAL_SUPPORT
3240
- #endif
3241
-
3242
- #if defined(DUK_OPT_PACKED_TVAL)
3243
- #define DUK_USE_PACKED_TVAL
3244
- #elif defined(DUK_OPT_NO_PACKED_TVAL)
3245
- #undef DUK_USE_PACKED_TVAL
3246
- #else
3247
- /* Already provided above */
3248
- #endif
3249
-
3250
- #undef DUK_USE_PANIC_ABORT
3251
- #if !defined(DUK_OPT_SEGFAULT_ON_PANIC)
3252
- #define DUK_USE_PANIC_ABORT
3253
- #endif
3254
-
3255
- #undef DUK_USE_PANIC_HANDLER
3256
- #if defined(DUK_OPT_PANIC_HANDLER)
3257
- #define DUK_USE_PANIC_HANDLER(code,msg) DUK_OPT_PANIC_HANDLER((code),(msg))
3258
- #endif
3259
-
3260
- #undef DUK_USE_PANIC_SEGFAULT
3261
- #if defined(DUK_OPT_SEGFAULT_ON_PANIC)
3262
- #define DUK_USE_PANIC_SEGFAULT
3263
- #endif
3264
-
3265
- #if defined(DUK_OPT_PARANOID_ERRORS)
3266
- #define DUK_USE_PARANOID_ERRORS
3267
- #elif defined(DUK_OPT_NO_PARANOID_ERRORS)
3268
2750
  #undef DUK_USE_PARANOID_ERRORS
3269
- #else
3270
- #undef DUK_USE_PARANOID_ERRORS
3271
- #endif
3272
-
3273
- #if defined(DUK_OPT_PC2LINE)
3274
- #define DUK_USE_PC2LINE
3275
- #elif defined(DUK_OPT_NO_PC2LINE)
3276
- #undef DUK_USE_PC2LINE
3277
- #else
3278
2751
  #define DUK_USE_PC2LINE
3279
- #endif
3280
-
3281
- #if defined(DUK_OPT_REFCOUNT16)
3282
- #define DUK_USE_REFCOUNT16
3283
- #elif defined(DUK_OPT_NO_REFCOUNT16)
3284
- #undef DUK_USE_REFCOUNT16
3285
- #else
2752
+ #undef DUK_USE_PREFER_SIZE
2753
+ #define DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS
3286
2754
  #undef DUK_USE_REFCOUNT16
3287
- #endif
3288
-
3289
- #if defined(DUK_OPT_REFERENCE_COUNTING)
3290
2755
  #define DUK_USE_REFERENCE_COUNTING
3291
- #elif defined(DUK_OPT_NO_REFERENCE_COUNTING)
3292
- #undef DUK_USE_REFERENCE_COUNTING
3293
- #else
3294
- #define DUK_USE_REFERENCE_COUNTING
3295
- #endif
3296
-
3297
- #if defined(DUK_OPT_REGEXP_CANON_WORKAROUND)
3298
- #define DUK_USE_REGEXP_CANON_WORKAROUND
3299
- #elif defined(DUK_OPT_NO_REGEXP_CANON_WORKAROUND)
3300
- #undef DUK_USE_REGEXP_CANON_WORKAROUND
3301
- #else
2756
+ #define DUK_USE_REFLECT_BUILTIN
2757
+ #undef DUK_USE_REFZERO_FINALIZER_TORTURE
3302
2758
  #undef DUK_USE_REGEXP_CANON_WORKAROUND
3303
- #endif
3304
-
3305
- #if defined(DUK_OPT_REGEXP_SUPPORT)
3306
- #define DUK_USE_REGEXP_SUPPORT
3307
- #elif defined(DUK_OPT_NO_REGEXP_SUPPORT)
3308
- #undef DUK_USE_REGEXP_SUPPORT
3309
- #else
2759
+ #define DUK_USE_REGEXP_COMPILER_RECLIMIT 10000
2760
+ #define DUK_USE_REGEXP_EXECUTOR_RECLIMIT 10000
3310
2761
  #define DUK_USE_REGEXP_SUPPORT
3311
- #endif
3312
-
3313
- #if defined(DUK_OPT_ROM_GLOBAL_CLONE)
3314
- #define DUK_USE_ROM_GLOBAL_CLONE
3315
- #elif defined(DUK_OPT_NO_ROM_GLOBAL_CLONE)
3316
2762
  #undef DUK_USE_ROM_GLOBAL_CLONE
3317
- #else
3318
- #undef DUK_USE_ROM_GLOBAL_CLONE
3319
- #endif
3320
-
3321
- #if defined(DUK_OPT_ROM_GLOBAL_INHERIT)
3322
- #define DUK_USE_ROM_GLOBAL_INHERIT
3323
- #elif defined(DUK_OPT_NO_ROM_GLOBAL_INHERIT)
3324
- #undef DUK_USE_ROM_GLOBAL_INHERIT
3325
- #else
3326
2763
  #undef DUK_USE_ROM_GLOBAL_INHERIT
3327
- #endif
3328
-
3329
- #if defined(DUK_OPT_ROM_OBJECTS)
3330
- #define DUK_USE_ROM_OBJECTS
3331
- #elif defined(DUK_OPT_NO_ROM_OBJECTS)
3332
2764
  #undef DUK_USE_ROM_OBJECTS
3333
- #else
3334
- #undef DUK_USE_ROM_OBJECTS
3335
- #endif
3336
-
3337
- #if defined(DUK_OPT_ROM_STRINGS)
3338
- #define DUK_USE_ROM_STRINGS
3339
- #elif defined(DUK_OPT_NO_ROM_STRINGS)
3340
- #undef DUK_USE_ROM_STRINGS
3341
- #else
2765
+ #define DUK_USE_ROM_PTRCOMP_FIRST 63488L
3342
2766
  #undef DUK_USE_ROM_STRINGS
3343
- #endif
3344
-
3345
- #if defined(DUK_OPT_SECTION_B)
3346
- #define DUK_USE_SECTION_B
3347
- #elif defined(DUK_OPT_NO_SECTION_B)
3348
- #undef DUK_USE_SECTION_B
3349
- #else
3350
2767
  #define DUK_USE_SECTION_B
3351
- #endif
3352
-
3353
- #if defined(DUK_OPT_SELF_TESTS)
3354
- #define DUK_USE_SELF_TESTS
3355
- #elif defined(DUK_OPT_NO_SELF_TESTS)
3356
- #undef DUK_USE_SELF_TESTS
3357
- #else
3358
2768
  #undef DUK_USE_SELF_TESTS
3359
- #endif
3360
-
3361
- #if defined(DUK_OPT_SHUFFLE_TORTURE)
3362
- #define DUK_USE_SHUFFLE_TORTURE
3363
- #elif defined(DUK_OPT_NO_SHUFFLE_TORTURE)
3364
2769
  #undef DUK_USE_SHUFFLE_TORTURE
3365
- #else
3366
- #undef DUK_USE_SHUFFLE_TORTURE
3367
- #endif
3368
-
3369
- #if defined(DUK_OPT_SOURCE_NONBMP)
3370
- #define DUK_USE_SOURCE_NONBMP
3371
- #elif defined(DUK_OPT_NO_SOURCE_NONBMP)
3372
- #undef DUK_USE_SOURCE_NONBMP
3373
- #else
3374
2770
  #define DUK_USE_SOURCE_NONBMP
3375
- #endif
3376
-
3377
- #if defined(DUK_OPT_STRHASH16)
3378
- #define DUK_USE_STRHASH16
3379
- #elif defined(DUK_OPT_NO_STRHASH16)
3380
- #undef DUK_USE_STRHASH16
3381
- #else
3382
2771
  #undef DUK_USE_STRHASH16
3383
- #endif
3384
-
3385
- #if defined(DUK_OPT_STRICT_DECL)
3386
- #define DUK_USE_STRICT_DECL
3387
- #elif defined(DUK_OPT_NO_STRICT_DECL)
3388
- #undef DUK_USE_STRICT_DECL
3389
- #else
2772
+ #undef DUK_USE_STRHASH_DENSE
2773
+ #define DUK_USE_STRHASH_SKIP_SHIFT 5
3390
2774
  #define DUK_USE_STRICT_DECL
3391
- #endif
3392
-
3393
- #if defined(DUK_OPT_STRICT_UTF8_SOURCE)
3394
- #define DUK_USE_STRICT_UTF8_SOURCE
3395
- #elif defined(DUK_OPT_NO_STRICT_UTF8_SOURCE)
3396
- #undef DUK_USE_STRICT_UTF8_SOURCE
3397
- #else
3398
2775
  #undef DUK_USE_STRICT_UTF8_SOURCE
3399
- #endif
3400
-
3401
- #if defined(DUK_OPT_STRLEN16)
3402
- #define DUK_USE_STRLEN16
3403
- #elif defined(DUK_OPT_NO_STRLEN16)
2776
+ #define DUK_USE_STRING_BUILTIN
3404
2777
  #undef DUK_USE_STRLEN16
3405
- #else
3406
- #undef DUK_USE_STRLEN16
3407
- #endif
3408
-
3409
2778
  #undef DUK_USE_STRTAB_CHAIN
3410
- #if defined(DUK_OPT_STRTAB_CHAIN) && defined(DUK_OPT_STRTAB_CHAIN_SIZE)
3411
- #define DUK_USE_STRTAB_CHAIN
3412
- #endif
3413
-
3414
2779
  #undef DUK_USE_STRTAB_CHAIN_SIZE
3415
- #if defined(DUK_OPT_STRTAB_CHAIN) && defined(DUK_OPT_STRTAB_CHAIN_SIZE)
3416
- /* Low memory algorithm: separate chaining using arrays, fixed size hash */
3417
- #define DUK_USE_STRTAB_CHAIN_SIZE DUK_OPT_STRTAB_CHAIN_SIZE
3418
- #endif
3419
-
3420
- #undef DUK_USE_STRTAB_PROBE
3421
- #if !(defined(DUK_OPT_STRTAB_CHAIN) && defined(DUK_OPT_STRTAB_CHAIN_SIZE))
3422
2780
  #define DUK_USE_STRTAB_PROBE
3423
- #endif
3424
-
3425
- #if defined(DUK_OPT_NONSTD_FUNC_CALLER_PROPERTY)
3426
- #undef DUK_USE_TAILCALL
3427
- #else
2781
+ #undef DUK_USE_SYMBOL_BUILTIN
3428
2782
  #define DUK_USE_TAILCALL
3429
- #endif
3430
-
3431
- #if defined(DUK_OPT_TARGET_INFO)
3432
- #define DUK_USE_TARGET_INFO DUK_OPT_TARGET_INFO
3433
- #else
3434
2783
  #define DUK_USE_TARGET_INFO "unknown"
3435
- #endif
3436
-
3437
- #if defined(DUK_OPT_NO_AUGMENT_ERRORS)
3438
- #undef DUK_USE_TRACEBACKS
3439
- #elif defined(DUK_OPT_NO_TRACEBACKS)
3440
- #undef DUK_USE_TRACEBACKS
3441
- #else
3442
2784
  #define DUK_USE_TRACEBACKS
3443
- #endif
3444
-
3445
- #if defined(DUK_OPT_TRACEBACK_DEPTH)
3446
- #define DUK_USE_TRACEBACK_DEPTH DUK_OPT_TRACEBACK_DEPTH
3447
- #else
3448
- #define DUK_USE_TRACEBACK_DEPTH 10
3449
- #endif
3450
-
3451
- #if defined(DUK_OPT_DECLARE)
3452
- #define DUK_USE_USER_DECLARE() DUK_OPT_DECLARE
3453
- #else
2785
+ #define DUK_USE_TRACEBACK_DEPTH 10
3454
2786
  #define DUK_USE_USER_DECLARE() /* no user declarations */
3455
- #endif
3456
-
3457
- /* User provided InitJS. */
3458
- #undef DUK_USE_USER_INITJS
3459
- #if defined(DUK_OPT_USER_INITJS)
3460
- #define DUK_USE_USER_INITJS (DUK_OPT_USER_INITJS)
3461
- #endif
3462
-
3463
- #if defined(DUK_OPT_VERBOSE_ERRORS)
3464
- #define DUK_USE_VERBOSE_ERRORS
3465
- #elif defined(DUK_OPT_NO_VERBOSE_ERRORS)
3466
- #undef DUK_USE_VERBOSE_ERRORS
3467
- #else
2787
+ #undef DUK_USE_VALSTACK_UNSAFE
3468
2788
  #define DUK_USE_VERBOSE_ERRORS
3469
- #endif
3470
-
3471
- #if defined(DUK_OPT_VOLUNTARY_GC)
3472
- #define DUK_USE_VOLUNTARY_GC
3473
- #elif defined(DUK_OPT_NO_VOLUNTARY_GC)
3474
- #undef DUK_USE_VOLUNTARY_GC
3475
- #else
2789
+ #define DUK_USE_VERBOSE_EXECUTOR_ERRORS
3476
2790
  #define DUK_USE_VOLUNTARY_GC
3477
- #endif
3478
-
3479
- #if defined(DUK_OPT_ZERO_BUFFER_DATA)
3480
2791
  #define DUK_USE_ZERO_BUFFER_DATA
3481
- #elif defined(DUK_OPT_NO_ZERO_BUFFER_DATA)
3482
- #undef DUK_USE_ZERO_BUFFER_DATA
3483
- #else
3484
- #define DUK_USE_ZERO_BUFFER_DATA
3485
- #endif
3486
-
3487
- /*
3488
- * Autogenerated defaults
3489
- */
3490
-
3491
- #define DUK_USE_AVOID_PLATFORM_FUNCPTRS
3492
- #define DUK_USE_BASE64_FASTPATH
3493
- #define DUK_USE_BUILTIN_INITJS
3494
- #define DUK_USE_COMPILER_RECLIMIT 2500
3495
- #undef DUK_USE_DATE_FORMAT_STRING
3496
- #undef DUK_USE_DATE_GET_LOCAL_TZOFFSET
3497
- #undef DUK_USE_DATE_GET_NOW
3498
- #undef DUK_USE_DATE_PARSE_STRING
3499
- #undef DUK_USE_DATE_PRS_GETDATE
3500
- #define DUK_USE_ESBC_LIMITS
3501
- #define DUK_USE_ESBC_MAX_BYTES 2147418112L
3502
- #define DUK_USE_ESBC_MAX_LINENUMBER 2147418112L
3503
- #undef DUK_USE_EXEC_FUN_LOCAL
3504
- #undef DUK_USE_EXPLICIT_NULL_INIT
3505
- #define DUK_USE_FAST_REFCOUNT_DEFAULT
3506
- #define DUK_USE_HEX_FASTPATH
3507
- #define DUK_USE_IDCHAR_FASTPATH
3508
- #undef DUK_USE_INTERRUPT_DEBUG_FIXUP
3509
- #define DUK_USE_JSON_DECNUMBER_FASTPATH
3510
- #define DUK_USE_JSON_DECSTRING_FASTPATH
3511
- #define DUK_USE_JSON_DEC_RECLIMIT 1000
3512
- #define DUK_USE_JSON_EATWHITE_FASTPATH
3513
- #define DUK_USE_JSON_ENC_RECLIMIT 1000
3514
- #define DUK_USE_JSON_QUOTESTRING_FASTPATH
3515
- #define DUK_USE_LEXER_SLIDING_WINDOW
3516
- #undef DUK_USE_MARKANDSWEEP_FINALIZER_TORTURE
3517
- #define DUK_USE_MARK_AND_SWEEP_RECLIMIT 256
3518
- #define DUK_USE_MATH_BUILTIN
3519
- #define DUK_USE_NATIVE_CALL_RECLIMIT 1000
3520
- #undef DUK_USE_PANIC_EXIT
3521
- #undef DUK_USE_PREFER_SIZE
3522
- #define DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS
3523
- #undef DUK_USE_REFZERO_FINALIZER_TORTURE
3524
- #define DUK_USE_REGEXP_COMPILER_RECLIMIT 10000
3525
- #define DUK_USE_REGEXP_EXECUTOR_RECLIMIT 10000
3526
- #define DUK_USE_ROM_PTRCOMP_FIRST 63488L
3527
- #undef DUK_USE_STRHASH_DENSE
3528
- #define DUK_USE_STRHASH_SKIP_SHIFT 5
3529
- #undef DUK_USE_VALSTACK_UNSAFE
3530
- #define DUK_USE_VERBOSE_EXECUTOR_ERRORS
3531
-
3532
- /*
3533
- * Alternative customization header
3534
- *
3535
- * If you want to modify the final DUK_USE_xxx flags directly (without
3536
- * using the available DUK_OPT_xxx flags), define DUK_OPT_HAVE_CUSTOM_H
3537
- * and tweak the final flags there.
3538
- */
3539
-
3540
- #if defined(DUK_OPT_HAVE_CUSTOM_H)
3541
- #include "duk_custom.h"
3542
- #endif
3543
2792
 
3544
2793
  /*
3545
2794
  * You may add overriding #define/#undef directives below for
@@ -3602,183 +2851,6 @@ typedef FILE duk_file;
3602
2851
 
3603
2852
  #endif /* DUK_COMPILING_DUKTAPE */
3604
2853
 
3605
- /*
3606
- * Checks for config option consistency (DUK_USE_xxx)
3607
- */
3608
-
3609
- #if defined(DUK_USE_32BIT_PTRS)
3610
- #error unsupported config option used (option has been removed): DUK_USE_32BIT_PTRS
3611
- #endif
3612
- #if defined(DUK_USE_ALIGN_4)
3613
- #error unsupported config option used (option has been removed): DUK_USE_ALIGN_4
3614
- #endif
3615
- #if defined(DUK_USE_ALIGN_8)
3616
- #error unsupported config option used (option has been removed): DUK_USE_ALIGN_8
3617
- #endif
3618
- #if defined(DUK_USE_BYTEORDER_FORCED)
3619
- #error unsupported config option used (option has been removed): DUK_USE_BYTEORDER_FORCED
3620
- #endif
3621
- #if defined(DUK_USE_DATAPTR_DEC16) && !defined(DUK_USE_DATAPTR16)
3622
- #error config option DUK_USE_DATAPTR_DEC16 requires option DUK_USE_DATAPTR16 (which is missing)
3623
- #endif
3624
- #if defined(DUK_USE_DATAPTR_ENC16) && !defined(DUK_USE_DATAPTR16)
3625
- #error config option DUK_USE_DATAPTR_ENC16 requires option DUK_USE_DATAPTR16 (which is missing)
3626
- #endif
3627
- #if defined(DUK_USE_DEBUGGER_SUPPORT) && !defined(DUK_USE_INTERRUPT_COUNTER)
3628
- #error config option DUK_USE_DEBUGGER_SUPPORT requires option DUK_USE_INTERRUPT_COUNTER (which is missing)
3629
- #endif
3630
- #if defined(DUK_USE_DEEP_C_STACK)
3631
- #error unsupported config option used (option has been removed): DUK_USE_DEEP_C_STACK
3632
- #endif
3633
- #if defined(DUK_USE_DOUBLE_BE)
3634
- #error unsupported config option used (option has been removed): DUK_USE_DOUBLE_BE
3635
- #endif
3636
- #if defined(DUK_USE_DOUBLE_BE) && defined(DUK_USE_DOUBLE_LE)
3637
- #error config option DUK_USE_DOUBLE_BE conflicts with option DUK_USE_DOUBLE_LE (which is also defined)
3638
- #endif
3639
- #if defined(DUK_USE_DOUBLE_BE) && defined(DUK_USE_DOUBLE_ME)
3640
- #error config option DUK_USE_DOUBLE_BE conflicts with option DUK_USE_DOUBLE_ME (which is also defined)
3641
- #endif
3642
- #if defined(DUK_USE_DOUBLE_LE)
3643
- #error unsupported config option used (option has been removed): DUK_USE_DOUBLE_LE
3644
- #endif
3645
- #if defined(DUK_USE_DOUBLE_LE) && defined(DUK_USE_DOUBLE_BE)
3646
- #error config option DUK_USE_DOUBLE_LE conflicts with option DUK_USE_DOUBLE_BE (which is also defined)
3647
- #endif
3648
- #if defined(DUK_USE_DOUBLE_LE) && defined(DUK_USE_DOUBLE_ME)
3649
- #error config option DUK_USE_DOUBLE_LE conflicts with option DUK_USE_DOUBLE_ME (which is also defined)
3650
- #endif
3651
- #if defined(DUK_USE_DOUBLE_ME)
3652
- #error unsupported config option used (option has been removed): DUK_USE_DOUBLE_ME
3653
- #endif
3654
- #if defined(DUK_USE_DOUBLE_ME) && defined(DUK_USE_DOUBLE_LE)
3655
- #error config option DUK_USE_DOUBLE_ME conflicts with option DUK_USE_DOUBLE_LE (which is also defined)
3656
- #endif
3657
- #if defined(DUK_USE_DOUBLE_ME) && defined(DUK_USE_DOUBLE_BE)
3658
- #error config option DUK_USE_DOUBLE_ME conflicts with option DUK_USE_DOUBLE_BE (which is also defined)
3659
- #endif
3660
- #if defined(DUK_USE_DPRINT) && !defined(DUK_USE_DEBUG)
3661
- #error config option DUK_USE_DPRINT requires option DUK_USE_DEBUG (which is missing)
3662
- #endif
3663
- #if defined(DUK_USE_ESBC_MAX_BYTES) && !defined(DUK_USE_ESBC_LIMITS)
3664
- #error config option DUK_USE_ESBC_MAX_BYTES requires option DUK_USE_ESBC_LIMITS (which is missing)
3665
- #endif
3666
- #if defined(DUK_USE_ESBC_MAX_LINENUMBER) && !defined(DUK_USE_ESBC_LIMITS)
3667
- #error config option DUK_USE_ESBC_MAX_LINENUMBER requires option DUK_USE_ESBC_LIMITS (which is missing)
3668
- #endif
3669
- #if defined(DUK_USE_EXEC_TIMEOUT_CHECK) && !defined(DUK_USE_INTERRUPT_COUNTER)
3670
- #error config option DUK_USE_EXEC_TIMEOUT_CHECK requires option DUK_USE_INTERRUPT_COUNTER (which is missing)
3671
- #endif
3672
- #if defined(DUK_USE_EXTSTR_FREE) && !defined(DUK_USE_HSTRING_EXTDATA)
3673
- #error config option DUK_USE_EXTSTR_FREE requires option DUK_USE_HSTRING_EXTDATA (which is missing)
3674
- #endif
3675
- #if defined(DUK_USE_EXTSTR_INTERN_CHECK) && !defined(DUK_USE_HSTRING_EXTDATA)
3676
- #error config option DUK_USE_EXTSTR_INTERN_CHECK requires option DUK_USE_HSTRING_EXTDATA (which is missing)
3677
- #endif
3678
- #if defined(DUK_USE_FULL_TVAL)
3679
- #error unsupported config option used (option has been removed): DUK_USE_FULL_TVAL
3680
- #endif
3681
- #if defined(DUK_USE_FUNCPTR_DEC16) && !defined(DUK_USE_FUNCPTR16)
3682
- #error config option DUK_USE_FUNCPTR_DEC16 requires option DUK_USE_FUNCPTR16 (which is missing)
3683
- #endif
3684
- #if defined(DUK_USE_FUNCPTR_ENC16) && !defined(DUK_USE_FUNCPTR16)
3685
- #error config option DUK_USE_FUNCPTR_ENC16 requires option DUK_USE_FUNCPTR16 (which is missing)
3686
- #endif
3687
- #if defined(DUK_USE_HASHBYTES_UNALIGNED_U32_ACCESS)
3688
- #error unsupported config option used (option has been removed): DUK_USE_HASHBYTES_UNALIGNED_U32_ACCESS
3689
- #endif
3690
- #if defined(DUK_USE_HEAPPTR16) && defined(DUK_USE_DEBUG)
3691
- #error config option DUK_USE_HEAPPTR16 conflicts with option DUK_USE_DEBUG (which is also defined)
3692
- #endif
3693
- #if defined(DUK_USE_HEAPPTR_DEC16) && !defined(DUK_USE_HEAPPTR16)
3694
- #error config option DUK_USE_HEAPPTR_DEC16 requires option DUK_USE_HEAPPTR16 (which is missing)
3695
- #endif
3696
- #if defined(DUK_USE_HEAPPTR_ENC16) && !defined(DUK_USE_HEAPPTR16)
3697
- #error config option DUK_USE_HEAPPTR_ENC16 requires option DUK_USE_HEAPPTR16 (which is missing)
3698
- #endif
3699
- #if defined(DUK_USE_INTEGER_BE)
3700
- #error unsupported config option used (option has been removed): DUK_USE_INTEGER_BE
3701
- #endif
3702
- #if defined(DUK_USE_INTEGER_BE) && defined(DUK_USE_INTEGER_LE)
3703
- #error config option DUK_USE_INTEGER_BE conflicts with option DUK_USE_INTEGER_LE (which is also defined)
3704
- #endif
3705
- #if defined(DUK_USE_INTEGER_BE) && defined(DUK_USE_INTEGER_ME)
3706
- #error config option DUK_USE_INTEGER_BE conflicts with option DUK_USE_INTEGER_ME (which is also defined)
3707
- #endif
3708
- #if defined(DUK_USE_INTEGER_LE)
3709
- #error unsupported config option used (option has been removed): DUK_USE_INTEGER_LE
3710
- #endif
3711
- #if defined(DUK_USE_INTEGER_LE) && defined(DUK_USE_INTEGER_BE)
3712
- #error config option DUK_USE_INTEGER_LE conflicts with option DUK_USE_INTEGER_BE (which is also defined)
3713
- #endif
3714
- #if defined(DUK_USE_INTEGER_LE) && defined(DUK_USE_INTEGER_ME)
3715
- #error config option DUK_USE_INTEGER_LE conflicts with option DUK_USE_INTEGER_ME (which is also defined)
3716
- #endif
3717
- #if defined(DUK_USE_INTEGER_ME)
3718
- #error unsupported config option used (option has been removed): DUK_USE_INTEGER_ME
3719
- #endif
3720
- #if defined(DUK_USE_INTEGER_ME) && defined(DUK_USE_INTEGER_LE)
3721
- #error config option DUK_USE_INTEGER_ME conflicts with option DUK_USE_INTEGER_LE (which is also defined)
3722
- #endif
3723
- #if defined(DUK_USE_INTEGER_ME) && defined(DUK_USE_INTEGER_BE)
3724
- #error config option DUK_USE_INTEGER_ME conflicts with option DUK_USE_INTEGER_BE (which is also defined)
3725
- #endif
3726
- #if defined(DUK_USE_NO_DOUBLE_ALIASING_SELFTEST)
3727
- #error unsupported config option used (option has been removed): DUK_USE_NO_DOUBLE_ALIASING_SELFTEST
3728
- #endif
3729
- #if defined(DUK_USE_PACKED_TVAL_POSSIBLE)
3730
- #error unsupported config option used (option has been removed): DUK_USE_PACKED_TVAL_POSSIBLE
3731
- #endif
3732
- #if defined(DUK_USE_RDTSC)
3733
- #error unsupported config option used (option has been removed): DUK_USE_RDTSC
3734
- #endif
3735
- #if defined(DUK_USE_ROM_GLOBAL_CLONE) && !defined(DUK_USE_ROM_STRINGS)
3736
- #error config option DUK_USE_ROM_GLOBAL_CLONE requires option DUK_USE_ROM_STRINGS (which is missing)
3737
- #endif
3738
- #if defined(DUK_USE_ROM_GLOBAL_CLONE) && !defined(DUK_USE_ROM_OBJECTS)
3739
- #error config option DUK_USE_ROM_GLOBAL_CLONE requires option DUK_USE_ROM_OBJECTS (which is missing)
3740
- #endif
3741
- #if defined(DUK_USE_ROM_GLOBAL_CLONE) && defined(DUK_USE_ROM_GLOBAL_INHERIT)
3742
- #error config option DUK_USE_ROM_GLOBAL_CLONE conflicts with option DUK_USE_ROM_GLOBAL_INHERIT (which is also defined)
3743
- #endif
3744
- #if defined(DUK_USE_ROM_GLOBAL_INHERIT) && !defined(DUK_USE_ROM_STRINGS)
3745
- #error config option DUK_USE_ROM_GLOBAL_INHERIT requires option DUK_USE_ROM_STRINGS (which is missing)
3746
- #endif
3747
- #if defined(DUK_USE_ROM_GLOBAL_INHERIT) && !defined(DUK_USE_ROM_OBJECTS)
3748
- #error config option DUK_USE_ROM_GLOBAL_INHERIT requires option DUK_USE_ROM_OBJECTS (which is missing)
3749
- #endif
3750
- #if defined(DUK_USE_ROM_GLOBAL_INHERIT) && defined(DUK_USE_ROM_GLOBAL_CLONE)
3751
- #error config option DUK_USE_ROM_GLOBAL_INHERIT conflicts with option DUK_USE_ROM_GLOBAL_CLONE (which is also defined)
3752
- #endif
3753
- #if defined(DUK_USE_ROM_OBJECTS) && !defined(DUK_USE_ROM_STRINGS)
3754
- #error config option DUK_USE_ROM_OBJECTS requires option DUK_USE_ROM_STRINGS (which is missing)
3755
- #endif
3756
- #if defined(DUK_USE_ROM_STRINGS) && !defined(DUK_USE_ROM_OBJECTS)
3757
- #error config option DUK_USE_ROM_STRINGS requires option DUK_USE_ROM_OBJECTS (which is missing)
3758
- #endif
3759
- #if defined(DUK_USE_SETJMP)
3760
- #error unsupported config option used (option has been removed): DUK_USE_SETJMP
3761
- #endif
3762
- #if defined(DUK_USE_SIGSETJMP)
3763
- #error unsupported config option used (option has been removed): DUK_USE_SIGSETJMP
3764
- #endif
3765
- #if defined(DUK_USE_STRTAB_CHAIN_SIZE) && !defined(DUK_USE_STRTAB_CHAIN)
3766
- #error config option DUK_USE_STRTAB_CHAIN_SIZE requires option DUK_USE_STRTAB_CHAIN (which is missing)
3767
- #endif
3768
- #if defined(DUK_USE_TAILCALL) && defined(DUK_USE_NONSTD_FUNC_CALLER_PROPERTY)
3769
- #error config option DUK_USE_TAILCALL conflicts with option DUK_USE_NONSTD_FUNC_CALLER_PROPERTY (which is also defined)
3770
- #endif
3771
- #if defined(DUK_USE_UNALIGNED_ACCESSES_POSSIBLE)
3772
- #error unsupported config option used (option has been removed): DUK_USE_UNALIGNED_ACCESSES_POSSIBLE
3773
- #endif
3774
- #if defined(DUK_USE_UNDERSCORE_SETJMP)
3775
- #error unsupported config option used (option has been removed): DUK_USE_UNDERSCORE_SETJMP
3776
- #endif
3777
-
3778
- #if defined(DUK_USE_CPP_EXCEPTIONS) && !defined(__cplusplus)
3779
- #error DUK_USE_CPP_EXCEPTIONS enabled but not compiling with a C++ compiler
3780
- #endif
3781
-
3782
2854
  /*
3783
2855
  * Convert DUK_USE_BYTEORDER, from whatever source, into currently used
3784
2856
  * internal defines. If detection failed, #error out.