@@ -89,6 +89,9 @@ declare_args() {
89
89
# Sets -dV8_CONCURRENT_MARKING
90
90
v8_enable_concurrent_marking = true
91
91
92
+ # Enables various testing features.
93
+ v8_enable_test_features = " "
94
+
92
95
# Build the snapshot with unwinding information for perf.
93
96
# Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.
94
97
v8_perf_prof_unwinding_info = false
@@ -133,8 +136,6 @@ declare_args() {
133
136
# while rolling in a new version of V8.
134
137
v8_check_microtasks_scopes_consistency = " "
135
138
136
- v8_monolithic = false
137
-
138
139
# Enable mitigations for executing untrusted code.
139
140
v8_untrusted_code_mitigations = true
140
141
}
@@ -152,6 +153,9 @@ if (v8_enable_disassembler == "") {
152
153
if (v8_enable_trace_maps == " " ) {
153
154
v8_enable_trace_maps = is_debug
154
155
}
156
+ if (v8_enable_test_features == " " ) {
157
+ v8_enable_test_features = is_debug || dcheck_always_on
158
+ }
155
159
if (v8_enable_v8_checks == " " ) {
156
160
v8_enable_v8_checks = is_debug
157
161
}
@@ -278,6 +282,10 @@ config("features") {
278
282
if (v8_enable_trace_feedback_updates ) {
279
283
defines += [ " V8_TRACE_FEEDBACK_UPDATES" ]
280
284
}
285
+ if (v8_enable_test_features ) {
286
+ defines += [ " V8_ENABLE_ALLOCATION_TIMEOUT" ]
287
+ defines += [ " V8_ENABLE_FORCE_SLOW_PATH" ]
288
+ }
281
289
if (v8_enable_v8_checks ) {
282
290
defines += [ " V8_ENABLE_CHECKS" ]
283
291
}
@@ -511,6 +519,12 @@ config("toolchain") {
511
519
# TODO(hans ): Remove once http://crbug.com/428099 is resolved.
512
520
" -Winconsistent-missing-override" ,
513
521
]
522
+
523
+ if (v8_current_cpu != " mips" && v8_current_cpu != " mipsel" ) {
524
+ # We exclude MIPS because the IsMipsArchVariant macro causes trouble.
525
+ cflags += [ " -Wunreachable-code" ]
526
+ }
527
+
514
528
if (v8_current_cpu == " x64" || v8_current_cpu == " arm64" ||
515
529
v8_current_cpu == " mips64el" ) {
516
530
cflags += [ " -Wshorten-64-to-32" ]
@@ -575,12 +589,10 @@ action("js2c") {
575
589
" src/js/macros.py" ,
576
590
" src/messages.h" ,
577
591
" src/js/prologue.js" ,
578
- " src/js/v8natives.js" ,
579
592
" src/js/array.js" ,
580
593
" src/js/typedarray.js" ,
581
594
" src/js/messages.js" ,
582
595
" src/js/spread.js" ,
583
- " src/js/proxy.js" ,
584
596
" src/debug/mirrors.js" ,
585
597
" src/debug/debug.js" ,
586
598
" src/debug/liveedit.js" ,
@@ -755,6 +767,10 @@ action("postmortem-metadata") {
755
767
" src/objects-inl.h" ,
756
768
" src/objects/code-inl.h" ,
757
769
" src/objects/code.h" ,
770
+ " src/objects/data-handler.h" ,
771
+ " src/objects/data-handler-inl.h" ,
772
+ " src/objects/fixed-array-inl.h" ,
773
+ " src/objects/fixed-array.h" ,
758
774
" src/objects/js-array-inl.h" ,
759
775
" src/objects/js-array.h" ,
760
776
" src/objects/js-regexp-inl.h" ,
@@ -1680,6 +1696,10 @@ v8_source_set("v8_base") {
1680
1696
" src/heap/spaces.h" ,
1681
1697
" src/heap/store-buffer.cc" ,
1682
1698
" src/heap/store-buffer.h" ,
1699
+ " src/heap/stress-marking-observer.cc" ,
1700
+ " src/heap/stress-marking-observer.h" ,
1701
+ " src/heap/stress-scavenge-observer.cc" ,
1702
+ " src/heap/stress-scavenge-observer.h" ,
1683
1703
" src/heap/sweeper.cc" ,
1684
1704
" src/heap/sweeper.h" ,
1685
1705
" src/heap/worklist.h" ,
@@ -1803,6 +1823,8 @@ v8_source_set("v8_base") {
1803
1823
" src/objects/debug-objects.h" ,
1804
1824
" src/objects/descriptor-array.h" ,
1805
1825
" src/objects/dictionary.h" ,
1826
+ " src/objects/fixed-array-inl.h" ,
1827
+ " src/objects/fixed-array.h" ,
1806
1828
" src/objects/frame-array-inl.h" ,
1807
1829
" src/objects/frame-array.h" ,
1808
1830
" src/objects/hash-table-inl.h" ,
@@ -1811,6 +1833,8 @@ v8_source_set("v8_base") {
1811
1833
" src/objects/intl-objects.h" ,
1812
1834
" src/objects/js-array-inl.h" ,
1813
1835
" src/objects/js-array.h" ,
1836
+ " src/objects/js-collection-inl.h" ,
1837
+ " src/objects/js-collection.h" ,
1814
1838
" src/objects/js-regexp-inl.h" ,
1815
1839
" src/objects/js-regexp.h" ,
1816
1840
" src/objects/literal-objects-inl.h" ,
@@ -1974,6 +1998,8 @@ v8_source_set("v8_base") {
1974
1998
" src/safepoint-table.h" ,
1975
1999
" src/setup-isolate.h" ,
1976
2000
" src/signature.h" ,
2001
+ " src/simulator-base.cc" ,
2002
+ " src/simulator-base.h" ,
1977
2003
" src/simulator.h" ,
1978
2004
" src/snapshot/builtin-deserializer-allocator.cc" ,
1979
2005
" src/snapshot/builtin-deserializer-allocator.h" ,
@@ -2032,6 +2058,7 @@ v8_source_set("v8_base") {
2032
2058
" src/string-stream.h" ,
2033
2059
" src/strtod.cc" ,
2034
2060
" src/strtod.h" ,
2061
+ " src/third_party/utf8-decoder/utf8-decoder.h" ,
2035
2062
" src/tracing/trace-event.cc" ,
2036
2063
" src/tracing/trace-event.h" ,
2037
2064
" src/tracing/traced-value.cc" ,
@@ -2066,16 +2093,20 @@ v8_source_set("v8_base") {
2066
2093
" src/v8threads.h" ,
2067
2094
" src/value-serializer.cc" ,
2068
2095
" src/value-serializer.h" ,
2096
+ " src/vector-slot-pair.cc" ,
2097
+ " src/vector-slot-pair.h" ,
2069
2098
" src/vector.h" ,
2070
2099
" src/version.cc" ,
2071
2100
" src/version.h" ,
2072
2101
" src/visitors.cc" ,
2073
2102
" src/visitors.h" ,
2074
2103
" src/vm-state-inl.h" ,
2075
2104
" src/vm-state.h" ,
2105
+ " src/wasm/baseline/liftoff-assembler-defs.h" ,
2076
2106
" src/wasm/baseline/liftoff-assembler.cc" ,
2077
2107
" src/wasm/baseline/liftoff-assembler.h" ,
2078
2108
" src/wasm/baseline/liftoff-compiler.cc" ,
2109
+ " src/wasm/baseline/liftoff-register.h" ,
2079
2110
" src/wasm/compilation-manager.cc" ,
2080
2111
" src/wasm/compilation-manager.h" ,
2081
2112
" src/wasm/decoder.h" ,
@@ -2097,15 +2128,18 @@ v8_source_set("v8_base") {
2097
2128
" src/wasm/streaming-decoder.h" ,
2098
2129
" src/wasm/wasm-api.cc" ,
2099
2130
" src/wasm/wasm-api.h" ,
2131
+ " src/wasm/wasm-code-manager.cc" ,
2132
+ " src/wasm/wasm-code-manager.h" ,
2100
2133
" src/wasm/wasm-code-specialization.cc" ,
2101
2134
" src/wasm/wasm-code-specialization.h" ,
2102
2135
" src/wasm/wasm-code-wrapper.cc" ,
2103
2136
" src/wasm/wasm-code-wrapper.h" ,
2137
+ " src/wasm/wasm-constants.h" ,
2104
2138
" src/wasm/wasm-debug.cc" ,
2139
+ " src/wasm/wasm-engine.cc" ,
2140
+ " src/wasm/wasm-engine.h" ,
2105
2141
" src/wasm/wasm-external-refs.cc" ,
2106
2142
" src/wasm/wasm-external-refs.h" ,
2107
- " src/wasm/wasm-heap.cc" ,
2108
- " src/wasm/wasm-heap.h" ,
2109
2143
" src/wasm/wasm-interpreter.cc" ,
2110
2144
" src/wasm/wasm-interpreter.h" ,
2111
2145
" src/wasm/wasm-js.cc" ,
@@ -2184,7 +2218,6 @@ v8_source_set("v8_base") {
2184
2218
" src/ia32/sse-instr.h" ,
2185
2219
" src/regexp/ia32/regexp-macro-assembler-ia32.cc" ,
2186
2220
" src/regexp/ia32/regexp-macro-assembler-ia32.h" ,
2187
- " src/wasm/baseline/ia32/liftoff-assembler-ia32-defs.h" ,
2188
2221
" src/wasm/baseline/ia32/liftoff-assembler-ia32.h" ,
2189
2222
]
2190
2223
} else if (v8_current_cpu == " x64" ) {
@@ -2199,7 +2232,6 @@ v8_source_set("v8_base") {
2199
2232
" src/regexp/x64/regexp-macro-assembler-x64.cc" ,
2200
2233
" src/regexp/x64/regexp-macro-assembler-x64.h" ,
2201
2234
" src/third_party/valgrind/valgrind.h" ,
2202
- " src/wasm/baseline/x64/liftoff-assembler-x64-defs.h" ,
2203
2235
" src/wasm/baseline/x64/liftoff-assembler-x64.h" ,
2204
2236
" src/x64/assembler-x64-inl.h" ,
2205
2237
" src/x64/assembler-x64.cc" ,
@@ -2253,7 +2285,6 @@ v8_source_set("v8_base") {
2253
2285
" src/debug/arm/debug-arm.cc" ,
2254
2286
" src/regexp/arm/regexp-macro-assembler-arm.cc" ,
2255
2287
" src/regexp/arm/regexp-macro-assembler-arm.h" ,
2256
- " src/wasm/baseline/arm/liftoff-assembler-arm-defs.h" ,
2257
2288
" src/wasm/baseline/arm/liftoff-assembler-arm.h" ,
2258
2289
]
2259
2290
} else if (v8_current_cpu == " arm64" ) {
@@ -2299,7 +2330,6 @@ v8_source_set("v8_base") {
2299
2330
" src/debug/arm64/debug-arm64.cc" ,
2300
2331
" src/regexp/arm64/regexp-macro-assembler-arm64.cc" ,
2301
2332
" src/regexp/arm64/regexp-macro-assembler-arm64.h" ,
2302
- " src/wasm/baseline/arm64/liftoff-assembler-arm64-defs.h" ,
2303
2333
" src/wasm/baseline/arm64/liftoff-assembler-arm64.h" ,
2304
2334
]
2305
2335
if (use_jumbo_build ) {
@@ -2336,7 +2366,6 @@ v8_source_set("v8_base") {
2336
2366
" src/mips/simulator-mips.h" ,
2337
2367
" src/regexp/mips/regexp-macro-assembler-mips.cc" ,
2338
2368
" src/regexp/mips/regexp-macro-assembler-mips.h" ,
2339
- " src/wasm/baseline/mips/liftoff-assembler-mips-defs.h" ,
2340
2369
" src/wasm/baseline/mips/liftoff-assembler-mips.h" ,
2341
2370
]
2342
2371
} else if (v8_current_cpu == " mips64" || v8_current_cpu == " mips64el" ) {
@@ -2366,7 +2395,6 @@ v8_source_set("v8_base") {
2366
2395
" src/mips64/simulator-mips64.h" ,
2367
2396
" src/regexp/mips64/regexp-macro-assembler-mips64.cc" ,
2368
2397
" src/regexp/mips64/regexp-macro-assembler-mips64.h" ,
2369
- " src/wasm/baseline/mips64/liftoff-assembler-mips64-defs.h" ,
2370
2398
" src/wasm/baseline/mips64/liftoff-assembler-mips64.h" ,
2371
2399
]
2372
2400
} else if (v8_current_cpu == " ppc" || v8_current_cpu == " ppc64" ) {
@@ -2396,7 +2424,6 @@ v8_source_set("v8_base") {
2396
2424
" src/ppc/simulator-ppc.h" ,
2397
2425
" src/regexp/ppc/regexp-macro-assembler-ppc.cc" ,
2398
2426
" src/regexp/ppc/regexp-macro-assembler-ppc.h" ,
2399
- " src/wasm/baseline/ppc/liftoff-assembler-ppc-defs.h" ,
2400
2427
" src/wasm/baseline/ppc/liftoff-assembler-ppc.h" ,
2401
2428
]
2402
2429
} else if (v8_current_cpu == " s390" || v8_current_cpu == " s390x" ) {
@@ -2426,7 +2453,6 @@ v8_source_set("v8_base") {
2426
2453
" src/s390/macro-assembler-s390.h" ,
2427
2454
" src/s390/simulator-s390.cc" ,
2428
2455
" src/s390/simulator-s390.h" ,
2429
- " src/wasm/baseline/s390/liftoff-assembler-s390-defs.h" ,
2430
2456
" src/wasm/baseline/s390/liftoff-assembler-s390.h" ,
2431
2457
]
2432
2458
}
@@ -2506,6 +2532,8 @@ v8_component("v8_libbase") {
2506
2532
" src/base/once.cc" ,
2507
2533
" src/base/once.h" ,
2508
2534
" src/base/optional.h" ,
2535
+ " src/base/page-allocator.cc" ,
2536
+ " src/base/page-allocator.h" ,
2509
2537
" src/base/platform/condition-variable.cc" ,
2510
2538
" src/base/platform/condition-variable.h" ,
2511
2539
" src/base/platform/elapsed-timer.h" ,
@@ -2812,6 +2840,7 @@ group("v8_fuzzers") {
2812
2840
testonly = true
2813
2841
deps = [
2814
2842
" :v8_simple_json_fuzzer" ,
2843
+ " :v8_simple_multi_return_fuzzer" ,
2815
2844
" :v8_simple_parser_fuzzer" ,
2816
2845
" :v8_simple_regexp_fuzzer" ,
2817
2846
" :v8_simple_wasm_async_fuzzer" ,
@@ -3062,6 +3091,24 @@ v8_source_set("json_fuzzer") {
3062
3091
v8_fuzzer (" json_fuzzer" ) {
3063
3092
}
3064
3093
3094
+ v8_source_set (" multi_return_fuzzer" ) {
3095
+ sources = [
3096
+ " test/fuzzer/multi-return.cc" ,
3097
+ ]
3098
+
3099
+ deps = [
3100
+ " :fuzzer_support" ,
3101
+ ]
3102
+
3103
+ configs = [
3104
+ " :external_config" ,
3105
+ " :internal_config_base" ,
3106
+ ]
3107
+ }
3108
+
3109
+ v8_fuzzer (" multi_return_fuzzer" ) {
3110
+ }
3111
+
3065
3112
v8_source_set (" parser_fuzzer" ) {
3066
3113
sources = [
3067
3114
" test/fuzzer/parser.cc" ,
0 commit comments