@@ -89,6 +89,9 @@ declare_args() {
8989 # Sets -dV8_CONCURRENT_MARKING
9090 v8_enable_concurrent_marking = true
9191
92+ # Enables various testing features.
93+ v8_enable_test_features = " "
94+
9295 # Build the snapshot with unwinding information for perf.
9396 # Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.
9497 v8_perf_prof_unwinding_info = false
@@ -133,8 +136,6 @@ declare_args() {
133136 # while rolling in a new version of V8.
134137 v8_check_microtasks_scopes_consistency = " "
135138
136- v8_monolithic = false
137-
138139 # Enable mitigations for executing untrusted code.
139140 v8_untrusted_code_mitigations = true
140141}
@@ -152,6 +153,9 @@ if (v8_enable_disassembler == "") {
152153if (v8_enable_trace_maps == " " ) {
153154 v8_enable_trace_maps = is_debug
154155}
156+ if (v8_enable_test_features == " " ) {
157+ v8_enable_test_features = is_debug || dcheck_always_on
158+ }
155159if (v8_enable_v8_checks == " " ) {
156160 v8_enable_v8_checks = is_debug
157161}
@@ -278,6 +282,10 @@ config("features") {
278282 if (v8_enable_trace_feedback_updates ) {
279283 defines += [ " V8_TRACE_FEEDBACK_UPDATES" ]
280284 }
285+ if (v8_enable_test_features ) {
286+ defines += [ " V8_ENABLE_ALLOCATION_TIMEOUT" ]
287+ defines += [ " V8_ENABLE_FORCE_SLOW_PATH" ]
288+ }
281289 if (v8_enable_v8_checks ) {
282290 defines += [ " V8_ENABLE_CHECKS" ]
283291 }
@@ -511,6 +519,12 @@ config("toolchain") {
511519 # TODO(hans ): Remove once http://crbug.com/428099 is resolved.
512520 " -Winconsistent-missing-override" ,
513521 ]
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+
514528 if (v8_current_cpu == " x64" || v8_current_cpu == " arm64" ||
515529 v8_current_cpu == " mips64el" ) {
516530 cflags += [ " -Wshorten-64-to-32" ]
@@ -575,12 +589,10 @@ action("js2c") {
575589 " src/js/macros.py" ,
576590 " src/messages.h" ,
577591 " src/js/prologue.js" ,
578- " src/js/v8natives.js" ,
579592 " src/js/array.js" ,
580593 " src/js/typedarray.js" ,
581594 " src/js/messages.js" ,
582595 " src/js/spread.js" ,
583- " src/js/proxy.js" ,
584596 " src/debug/mirrors.js" ,
585597 " src/debug/debug.js" ,
586598 " src/debug/liveedit.js" ,
@@ -755,6 +767,10 @@ action("postmortem-metadata") {
755767 " src/objects-inl.h" ,
756768 " src/objects/code-inl.h" ,
757769 " 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" ,
758774 " src/objects/js-array-inl.h" ,
759775 " src/objects/js-array.h" ,
760776 " src/objects/js-regexp-inl.h" ,
@@ -1680,6 +1696,10 @@ v8_source_set("v8_base") {
16801696 " src/heap/spaces.h" ,
16811697 " src/heap/store-buffer.cc" ,
16821698 " 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" ,
16831703 " src/heap/sweeper.cc" ,
16841704 " src/heap/sweeper.h" ,
16851705 " src/heap/worklist.h" ,
@@ -1803,6 +1823,8 @@ v8_source_set("v8_base") {
18031823 " src/objects/debug-objects.h" ,
18041824 " src/objects/descriptor-array.h" ,
18051825 " src/objects/dictionary.h" ,
1826+ " src/objects/fixed-array-inl.h" ,
1827+ " src/objects/fixed-array.h" ,
18061828 " src/objects/frame-array-inl.h" ,
18071829 " src/objects/frame-array.h" ,
18081830 " src/objects/hash-table-inl.h" ,
@@ -1811,6 +1833,8 @@ v8_source_set("v8_base") {
18111833 " src/objects/intl-objects.h" ,
18121834 " src/objects/js-array-inl.h" ,
18131835 " src/objects/js-array.h" ,
1836+ " src/objects/js-collection-inl.h" ,
1837+ " src/objects/js-collection.h" ,
18141838 " src/objects/js-regexp-inl.h" ,
18151839 " src/objects/js-regexp.h" ,
18161840 " src/objects/literal-objects-inl.h" ,
@@ -1974,6 +1998,8 @@ v8_source_set("v8_base") {
19741998 " src/safepoint-table.h" ,
19751999 " src/setup-isolate.h" ,
19762000 " src/signature.h" ,
2001+ " src/simulator-base.cc" ,
2002+ " src/simulator-base.h" ,
19772003 " src/simulator.h" ,
19782004 " src/snapshot/builtin-deserializer-allocator.cc" ,
19792005 " src/snapshot/builtin-deserializer-allocator.h" ,
@@ -2032,6 +2058,7 @@ v8_source_set("v8_base") {
20322058 " src/string-stream.h" ,
20332059 " src/strtod.cc" ,
20342060 " src/strtod.h" ,
2061+ " src/third_party/utf8-decoder/utf8-decoder.h" ,
20352062 " src/tracing/trace-event.cc" ,
20362063 " src/tracing/trace-event.h" ,
20372064 " src/tracing/traced-value.cc" ,
@@ -2066,16 +2093,20 @@ v8_source_set("v8_base") {
20662093 " src/v8threads.h" ,
20672094 " src/value-serializer.cc" ,
20682095 " src/value-serializer.h" ,
2096+ " src/vector-slot-pair.cc" ,
2097+ " src/vector-slot-pair.h" ,
20692098 " src/vector.h" ,
20702099 " src/version.cc" ,
20712100 " src/version.h" ,
20722101 " src/visitors.cc" ,
20732102 " src/visitors.h" ,
20742103 " src/vm-state-inl.h" ,
20752104 " src/vm-state.h" ,
2105+ " src/wasm/baseline/liftoff-assembler-defs.h" ,
20762106 " src/wasm/baseline/liftoff-assembler.cc" ,
20772107 " src/wasm/baseline/liftoff-assembler.h" ,
20782108 " src/wasm/baseline/liftoff-compiler.cc" ,
2109+ " src/wasm/baseline/liftoff-register.h" ,
20792110 " src/wasm/compilation-manager.cc" ,
20802111 " src/wasm/compilation-manager.h" ,
20812112 " src/wasm/decoder.h" ,
@@ -2097,15 +2128,18 @@ v8_source_set("v8_base") {
20972128 " src/wasm/streaming-decoder.h" ,
20982129 " src/wasm/wasm-api.cc" ,
20992130 " src/wasm/wasm-api.h" ,
2131+ " src/wasm/wasm-code-manager.cc" ,
2132+ " src/wasm/wasm-code-manager.h" ,
21002133 " src/wasm/wasm-code-specialization.cc" ,
21012134 " src/wasm/wasm-code-specialization.h" ,
21022135 " src/wasm/wasm-code-wrapper.cc" ,
21032136 " src/wasm/wasm-code-wrapper.h" ,
2137+ " src/wasm/wasm-constants.h" ,
21042138 " src/wasm/wasm-debug.cc" ,
2139+ " src/wasm/wasm-engine.cc" ,
2140+ " src/wasm/wasm-engine.h" ,
21052141 " src/wasm/wasm-external-refs.cc" ,
21062142 " src/wasm/wasm-external-refs.h" ,
2107- " src/wasm/wasm-heap.cc" ,
2108- " src/wasm/wasm-heap.h" ,
21092143 " src/wasm/wasm-interpreter.cc" ,
21102144 " src/wasm/wasm-interpreter.h" ,
21112145 " src/wasm/wasm-js.cc" ,
@@ -2184,7 +2218,6 @@ v8_source_set("v8_base") {
21842218 " src/ia32/sse-instr.h" ,
21852219 " src/regexp/ia32/regexp-macro-assembler-ia32.cc" ,
21862220 " src/regexp/ia32/regexp-macro-assembler-ia32.h" ,
2187- " src/wasm/baseline/ia32/liftoff-assembler-ia32-defs.h" ,
21882221 " src/wasm/baseline/ia32/liftoff-assembler-ia32.h" ,
21892222 ]
21902223 } else if (v8_current_cpu == " x64" ) {
@@ -2199,7 +2232,6 @@ v8_source_set("v8_base") {
21992232 " src/regexp/x64/regexp-macro-assembler-x64.cc" ,
22002233 " src/regexp/x64/regexp-macro-assembler-x64.h" ,
22012234 " src/third_party/valgrind/valgrind.h" ,
2202- " src/wasm/baseline/x64/liftoff-assembler-x64-defs.h" ,
22032235 " src/wasm/baseline/x64/liftoff-assembler-x64.h" ,
22042236 " src/x64/assembler-x64-inl.h" ,
22052237 " src/x64/assembler-x64.cc" ,
@@ -2253,7 +2285,6 @@ v8_source_set("v8_base") {
22532285 " src/debug/arm/debug-arm.cc" ,
22542286 " src/regexp/arm/regexp-macro-assembler-arm.cc" ,
22552287 " src/regexp/arm/regexp-macro-assembler-arm.h" ,
2256- " src/wasm/baseline/arm/liftoff-assembler-arm-defs.h" ,
22572288 " src/wasm/baseline/arm/liftoff-assembler-arm.h" ,
22582289 ]
22592290 } else if (v8_current_cpu == " arm64" ) {
@@ -2299,7 +2330,6 @@ v8_source_set("v8_base") {
22992330 " src/debug/arm64/debug-arm64.cc" ,
23002331 " src/regexp/arm64/regexp-macro-assembler-arm64.cc" ,
23012332 " src/regexp/arm64/regexp-macro-assembler-arm64.h" ,
2302- " src/wasm/baseline/arm64/liftoff-assembler-arm64-defs.h" ,
23032333 " src/wasm/baseline/arm64/liftoff-assembler-arm64.h" ,
23042334 ]
23052335 if (use_jumbo_build ) {
@@ -2336,7 +2366,6 @@ v8_source_set("v8_base") {
23362366 " src/mips/simulator-mips.h" ,
23372367 " src/regexp/mips/regexp-macro-assembler-mips.cc" ,
23382368 " src/regexp/mips/regexp-macro-assembler-mips.h" ,
2339- " src/wasm/baseline/mips/liftoff-assembler-mips-defs.h" ,
23402369 " src/wasm/baseline/mips/liftoff-assembler-mips.h" ,
23412370 ]
23422371 } else if (v8_current_cpu == " mips64" || v8_current_cpu == " mips64el" ) {
@@ -2366,7 +2395,6 @@ v8_source_set("v8_base") {
23662395 " src/mips64/simulator-mips64.h" ,
23672396 " src/regexp/mips64/regexp-macro-assembler-mips64.cc" ,
23682397 " src/regexp/mips64/regexp-macro-assembler-mips64.h" ,
2369- " src/wasm/baseline/mips64/liftoff-assembler-mips64-defs.h" ,
23702398 " src/wasm/baseline/mips64/liftoff-assembler-mips64.h" ,
23712399 ]
23722400 } else if (v8_current_cpu == " ppc" || v8_current_cpu == " ppc64" ) {
@@ -2396,7 +2424,6 @@ v8_source_set("v8_base") {
23962424 " src/ppc/simulator-ppc.h" ,
23972425 " src/regexp/ppc/regexp-macro-assembler-ppc.cc" ,
23982426 " src/regexp/ppc/regexp-macro-assembler-ppc.h" ,
2399- " src/wasm/baseline/ppc/liftoff-assembler-ppc-defs.h" ,
24002427 " src/wasm/baseline/ppc/liftoff-assembler-ppc.h" ,
24012428 ]
24022429 } else if (v8_current_cpu == " s390" || v8_current_cpu == " s390x" ) {
@@ -2426,7 +2453,6 @@ v8_source_set("v8_base") {
24262453 " src/s390/macro-assembler-s390.h" ,
24272454 " src/s390/simulator-s390.cc" ,
24282455 " src/s390/simulator-s390.h" ,
2429- " src/wasm/baseline/s390/liftoff-assembler-s390-defs.h" ,
24302456 " src/wasm/baseline/s390/liftoff-assembler-s390.h" ,
24312457 ]
24322458 }
@@ -2506,6 +2532,8 @@ v8_component("v8_libbase") {
25062532 " src/base/once.cc" ,
25072533 " src/base/once.h" ,
25082534 " src/base/optional.h" ,
2535+ " src/base/page-allocator.cc" ,
2536+ " src/base/page-allocator.h" ,
25092537 " src/base/platform/condition-variable.cc" ,
25102538 " src/base/platform/condition-variable.h" ,
25112539 " src/base/platform/elapsed-timer.h" ,
@@ -2812,6 +2840,7 @@ group("v8_fuzzers") {
28122840 testonly = true
28132841 deps = [
28142842 " :v8_simple_json_fuzzer" ,
2843+ " :v8_simple_multi_return_fuzzer" ,
28152844 " :v8_simple_parser_fuzzer" ,
28162845 " :v8_simple_regexp_fuzzer" ,
28172846 " :v8_simple_wasm_async_fuzzer" ,
@@ -3062,6 +3091,24 @@ v8_source_set("json_fuzzer") {
30623091v8_fuzzer (" json_fuzzer" ) {
30633092}
30643093
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+
30653112v8_source_set (" parser_fuzzer" ) {
30663113 sources = [
30673114 " test/fuzzer/parser.cc" ,
0 commit comments