duktape 1.6.1.0 → 2.0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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.