@@ -1460,6 +1460,10 @@ config("toolchain") {
14601460 " /wd4715" , # 'function' : not all control paths return a value'
14611461 # MSVC does not analyze switch (enum) for completeness.
14621462 ]
1463+
1464+ # TODO(https://crbug.com/1377771): Keep MSVC on C++17 until source code is
1465+ # made compatible with C++20.
1466+ cflags_cc = [ " /std:c++17" ]
14631467 }
14641468
14651469 if (! is_clang && ! is_win ) {
@@ -1476,6 +1480,11 @@ config("toolchain") {
14761480 # Disable gcc warnings for using enum constant in boolean context.
14771481 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97266
14781482 " -Wno-int-in-bool-context" ,
1483+
1484+ # Disable gcc deprecation warnings, which are firing on implicit capture
1485+ # of `this` in capture-by-value lambdas and preventing a build roll which
1486+ # enables C++20 (see https://crbug.com/1374227).
1487+ " -Wno-deprecated" ,
14791488 ]
14801489 }
14811490
@@ -2268,6 +2277,8 @@ action("v8_dump_build_config") {
22682277 " v8_current_cpu=\" $v8_current_cpu \" " ,
22692278 " v8_enable_atomic_object_field_writes=" +
22702279 " $v8_enable_atomic_object_field_writes " ,
2280+ " v8_enable_conservative_stack_scanning=" +
2281+ " $v8_enable_conservative_stack_scanning " ,
22712282 " v8_enable_concurrent_marking=$v8_enable_concurrent_marking " ,
22722283 " v8_enable_single_generation=$v8_enable_single_generation " ,
22732284 " v8_enable_i18n_support=$v8_enable_i18n_support " ,
@@ -2803,6 +2814,7 @@ v8_header_set("v8_internal_headers") {
28032814 " src/compiler/all-nodes.h" ,
28042815 " src/compiler/allocation-builder-inl.h" ,
28052816 " src/compiler/allocation-builder.h" ,
2817+ " src/compiler/backend/bitcast-elider.h" ,
28062818 " src/compiler/backend/code-generator-impl.h" ,
28072819 " src/compiler/backend/code-generator.h" ,
28082820 " src/compiler/backend/frame-elider.h" ,
@@ -2923,16 +2935,18 @@ v8_header_set("v8_internal_headers") {
29232935 " src/compiler/turboshaft/graph-builder.h" ,
29242936 " src/compiler/turboshaft/graph-visualizer.h" ,
29252937 " src/compiler/turboshaft/graph.h" ,
2926- " src/compiler/turboshaft/machine-optimization-assembler .h" ,
2938+ " src/compiler/turboshaft/machine-optimization-reducer .h" ,
29272939 " src/compiler/turboshaft/operation-matching.h" ,
29282940 " src/compiler/turboshaft/operations.h" ,
29292941 " src/compiler/turboshaft/optimization-phase.h" ,
29302942 " src/compiler/turboshaft/recreate-schedule.h" ,
29312943 " src/compiler/turboshaft/representations.h" ,
2944+ " src/compiler/turboshaft/select-lowering-reducer.h" ,
29322945 " src/compiler/turboshaft/sidetable.h" ,
29332946 " src/compiler/turboshaft/simplify-tf-loops.h" ,
2947+ " src/compiler/turboshaft/snapshot-table.h" ,
29342948 " src/compiler/turboshaft/utils.h" ,
2935- " src/compiler/turboshaft/value-numbering-assembler .h" ,
2949+ " src/compiler/turboshaft/value-numbering-reducer .h" ,
29362950 " src/compiler/type-cache.h" ,
29372951 " src/compiler/type-narrowing-reducer.h" ,
29382952 " src/compiler/typed-optimization.h" ,
@@ -3024,6 +3038,7 @@ v8_header_set("v8_internal_headers") {
30243038 " src/handles/maybe-handles.h" ,
30253039 " src/handles/persistent-handles.h" ,
30263040 " src/handles/shared-object-conveyor-handles.h" ,
3041+ " src/handles/traced-handles.h" ,
30273042 " src/heap/allocation-observer.h" ,
30283043 " src/heap/allocation-result.h" ,
30293044 " src/heap/allocation-stats.h" ,
@@ -3422,6 +3437,7 @@ v8_header_set("v8_internal_headers") {
34223437 " src/profiler/heap-profiler.h" ,
34233438 " src/profiler/heap-snapshot-generator-inl.h" ,
34243439 " src/profiler/heap-snapshot-generator.h" ,
3440+ " src/profiler/output-stream-writer.h" ,
34253441 " src/profiler/profile-generator-inl.h" ,
34263442 " src/profiler/profile-generator.h" ,
34273443 " src/profiler/profiler-listener.h" ,
@@ -4041,6 +4057,7 @@ v8_compiler_sources = [
40414057 " src/compiler/access-info.cc" ,
40424058 " src/compiler/add-type-assertions-reducer.cc" ,
40434059 " src/compiler/all-nodes.cc" ,
4060+ " src/compiler/backend/bitcast-elider.cc" ,
40444061 " src/compiler/backend/code-generator.cc" ,
40454062 " src/compiler/backend/frame-elider.cc" ,
40464063 " src/compiler/backend/gap-resolver.cc" ,
@@ -4429,6 +4446,7 @@ v8_source_set("v8_base_without_compiler") {
44294446 " src/handles/local-handles.cc" ,
44304447 " src/handles/persistent-handles.cc" ,
44314448 " src/handles/shared-object-conveyor-handles.cc" ,
4449+ " src/handles/traced-handles.cc" ,
44324450 " src/heap/allocation-observer.cc" ,
44334451 " src/heap/array-buffer-sweeper.cc" ,
44344452 " src/heap/base-space.cc" ,
@@ -4737,6 +4755,7 @@ v8_source_set("v8_base_without_compiler") {
47374755
47384756 if (v8_enable_maglev ) {
47394757 sources += [
4758+ " src/maglev/maglev-assembler.cc" ,
47404759 " src/maglev/maglev-code-generator.cc" ,
47414760 " src/maglev/maglev-compilation-info.cc" ,
47424761 " src/maglev/maglev-compilation-unit.cc" ,
@@ -5745,31 +5764,31 @@ v8_source_set("v8_heap_base") {
57455764
57465765 if (is_clang || ! is_win ) {
57475766 if (current_cpu == " x64" ) {
5748- sources += [ " src/heap/base/asm/x64/push_registers_asm .cc" ]
5767+ sources += [ " src/heap/base/asm/x64/save_registers_asm .cc" ]
57495768 } else if (current_cpu == " x86" ) {
5750- sources += [ " src/heap/base/asm/ia32/push_registers_asm .cc" ]
5769+ sources += [ " src/heap/base/asm/ia32/save_registers_asm .cc" ]
57515770 } else if (current_cpu == " arm" ) {
5752- sources += [ " src/heap/base/asm/arm/push_registers_asm .cc" ]
5771+ sources += [ " src/heap/base/asm/arm/save_registers_asm .cc" ]
57535772 } else if (current_cpu == " arm64" ) {
5754- sources += [ " src/heap/base/asm/arm64/push_registers_asm .cc" ]
5773+ sources += [ " src/heap/base/asm/arm64/save_registers_asm .cc" ]
57555774 } else if (current_cpu == " ppc64" ) {
5756- sources += [ " src/heap/base/asm/ppc/push_registers_asm .cc" ]
5775+ sources += [ " src/heap/base/asm/ppc/save_registers_asm .cc" ]
57575776 } else if (current_cpu == " s390x" ) {
5758- sources += [ " src/heap/base/asm/s390/push_registers_asm .cc" ]
5777+ sources += [ " src/heap/base/asm/s390/save_registers_asm .cc" ]
57595778 } else if (current_cpu == " mips64el" ) {
5760- sources += [ " src/heap/base/asm/mips64/push_registers_asm .cc" ]
5779+ sources += [ " src/heap/base/asm/mips64/save_registers_asm .cc" ]
57615780 } else if (current_cpu == " loong64" ) {
5762- sources += [ " src/heap/base/asm/loong64/push_registers_asm .cc" ]
5781+ sources += [ " src/heap/base/asm/loong64/save_registers_asm .cc" ]
57635782 } else if (current_cpu == " riscv64" || current_cpu == " riscv32" ) {
5764- sources += [ " src/heap/base/asm/riscv/push_registers_asm .cc" ]
5783+ sources += [ " src/heap/base/asm/riscv/save_registers_asm .cc" ]
57655784 }
57665785 } else if (is_win ) {
57675786 if (current_cpu == " x64" ) {
5768- sources += [ " src/heap/base/asm/x64/push_registers_masm .asm" ]
5787+ sources += [ " src/heap/base/asm/x64/save_registers_masm .asm" ]
57695788 } else if (current_cpu == " x86" ) {
5770- sources += [ " src/heap/base/asm/ia32/push_registers_masm .asm" ]
5789+ sources += [ " src/heap/base/asm/ia32/save_registers_masm .asm" ]
57715790 } else if (current_cpu == " arm64" ) {
5772- sources += [ " src/heap/base/asm/arm64/push_registers_masm .S" ]
5791+ sources += [ " src/heap/base/asm/arm64/save_registers_masm .S" ]
57735792 }
57745793 }
57755794
0 commit comments