@@ -91,7 +91,7 @@ declare_args() {
91
91
# Enable embedded builtins.
92
92
v8_enable_embedded_builtins = true
93
93
94
- # Enable the registration of unwinding info for Windows/ x64.
94
+ # Enable the registration of unwinding info for Windows x64 and ARM64 .
95
95
v8_win64_unwinding_info = true
96
96
97
97
# Enable code comments for builtins in the snapshot (impacts performance).
@@ -187,15 +187,21 @@ declare_args() {
187
187
# Enable sharing read-only space across isolates.
188
188
# Sets -DV8_SHARED_RO_HEAP.
189
189
v8_enable_shared_ro_heap = " "
190
- }
191
190
192
- # We reuse the snapshot toolchain for building torque and other generators to
193
- # avoid building v8_libbase on the host more than once. On mips with big endian,
194
- # the snapshot toolchain is the target toolchain and, hence, can't be used.
195
- v8_generator_toolchain = v8_snapshot_toolchain
196
- if (host_cpu == " x64" &&
197
- (v8_current_cpu == " mips" || v8_current_cpu == " mips64" )) {
198
- v8_generator_toolchain = " //build/toolchain/linux:clang_x64"
191
+ # Enable lazy source positions by default.
192
+ v8_enable_lazy_source_positions = true
193
+
194
+ # Disable write barriers when GCs are non-incremental and
195
+ # heap has single generation.
196
+ v8_disable_write_barriers = false
197
+
198
+ # Redirect allocation in young generation so that there will be
199
+ # only one single generation.
200
+ v8_enable_single_generation = " "
201
+
202
+ # Use token threaded dispatch for the regular expression interpreter.
203
+ # Use switch-based dispatch if this is false
204
+ v8_enable_regexp_interpreter_threaded_dispatch = true
199
205
}
200
206
201
207
# Derived defaults.
@@ -231,6 +237,13 @@ if (v8_enable_fast_torque == "") {
231
237
v8_enable_fast_torque = v8_enable_fast_mksnapshot
232
238
}
233
239
240
+ if (v8_enable_single_generation == " " ) {
241
+ v8_enable_single_generation = v8_disable_write_barriers
242
+ }
243
+
244
+ assert (! v8_disable_write_barriers || v8_enable_single_generation ,
245
+ " Disabling write barriers works only with single generation" )
246
+
234
247
assert (v8_current_cpu != " x86" || ! v8_untrusted_code_mitigations ,
235
248
" Untrusted code mitigations are unsupported on ia32" )
236
249
@@ -424,12 +437,21 @@ config("features") {
424
437
defines += [ " V8_SNAPSHOT_NATIVE_CODE_COUNTERS" ]
425
438
}
426
439
}
440
+ if (v8_enable_single_generation ) {
441
+ defines += [ " V8_ENABLE_SINGLE_GENERATION" ]
442
+ }
443
+ if (v8_disable_write_barriers ) {
444
+ defines += [ " V8_DISABLE_WRITE_BARRIERS" ]
445
+ }
427
446
if (v8_use_external_startup_data ) {
428
447
defines += [ " V8_USE_EXTERNAL_STARTUP_DATA" ]
429
448
}
430
449
if (v8_enable_concurrent_marking ) {
431
450
defines += [ " V8_CONCURRENT_MARKING" ]
432
451
}
452
+ if (v8_enable_lazy_source_positions ) {
453
+ defines += [ " V8_ENABLE_LAZY_SOURCE_POSITIONS" ]
454
+ }
433
455
if (v8_check_microtasks_scopes_consistency ) {
434
456
defines += [ " V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY" ]
435
457
}
@@ -451,6 +473,9 @@ config("features") {
451
473
if (v8_win64_unwinding_info ) {
452
474
defines += [ " V8_WIN64_UNWINDING_INFO" ]
453
475
}
476
+ if (v8_enable_regexp_interpreter_threaded_dispatch ) {
477
+ defines += [ " V8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH" ]
478
+ }
454
479
}
455
480
456
481
config (" toolchain" ) {
@@ -968,16 +993,21 @@ torque_files = [
968
993
" src/builtins/proxy-set-prototype-of.tq" ,
969
994
" src/builtins/proxy.tq" ,
970
995
" src/builtins/reflect.tq" ,
996
+ " src/builtins/regexp-match.tq" ,
971
997
" src/builtins/regexp-replace.tq" ,
998
+ " src/builtins/regexp-source.tq" ,
999
+ " src/builtins/regexp-test.tq" ,
972
1000
" src/builtins/regexp.tq" ,
973
1001
" src/builtins/string.tq" ,
974
1002
" src/builtins/string-endswith.tq" ,
975
1003
" src/builtins/string-html.tq" ,
976
1004
" src/builtins/string-iterator.tq" ,
1005
+ " src/builtins/string-pad.tq" ,
977
1006
" src/builtins/string-repeat.tq" ,
978
1007
" src/builtins/string-slice.tq" ,
979
1008
" src/builtins/string-startswith.tq" ,
980
1009
" src/builtins/string-substring.tq" ,
1010
+ " src/builtins/torque-internal.tq" ,
981
1011
" src/builtins/typed-array-createtypedarray.tq" ,
982
1012
" src/builtins/typed-array-every.tq" ,
983
1013
" src/builtins/typed-array-filter.tq" ,
@@ -1002,6 +1032,7 @@ if (!v8_enable_i18n_support) {
1002
1032
action (" run_torque" ) {
1003
1033
visibility = [
1004
1034
" :*" ,
1035
+ " tools/debug_helper/:*" ,
1005
1036
" tools/gcmole/:*" ,
1006
1037
" test/cctest/:*" ,
1007
1038
]
@@ -1023,6 +1054,8 @@ action("run_torque") {
1023
1054
" $target_gen_dir /torque-generated/class-definitions-tq.cc" ,
1024
1055
" $target_gen_dir /torque-generated/class-definitions-tq-inl.h" ,
1025
1056
" $target_gen_dir /torque-generated/class-definitions-tq.h" ,
1057
+ " $target_gen_dir /torque-generated/class-debug-readers-tq.cc" ,
1058
+ " $target_gen_dir /torque-generated/class-debug-readers-tq.h" ,
1026
1059
" $target_gen_dir /torque-generated/exported-macros-assembler-tq.cc" ,
1027
1060
" $target_gen_dir /torque-generated/exported-macros-assembler-tq.h" ,
1028
1061
" $target_gen_dir /torque-generated/csa-types-tq.h" ,
@@ -1752,6 +1785,8 @@ v8_compiler_sources = [
1752
1785
" src/compiler/escape-analysis-reducer.h" ,
1753
1786
" src/compiler/escape-analysis.cc" ,
1754
1787
" src/compiler/escape-analysis.h" ,
1788
+ " src/compiler/feedback-source.cc" ,
1789
+ " src/compiler/feedback-source.h" ,
1755
1790
" src/compiler/frame-states.cc" ,
1756
1791
" src/compiler/frame-states.h" ,
1757
1792
" src/compiler/frame.cc" ,
@@ -1892,8 +1927,6 @@ v8_compiler_sources = [
1892
1927
" src/compiler/types.h" ,
1893
1928
" src/compiler/value-numbering-reducer.cc" ,
1894
1929
" src/compiler/value-numbering-reducer.h" ,
1895
- " src/compiler/vector-slot-pair.cc" ,
1896
- " src/compiler/vector-slot-pair.h" ,
1897
1930
" src/compiler/verifier.cc" ,
1898
1931
" src/compiler/verifier.h" ,
1899
1932
" src/compiler/wasm-compiler.cc" ,
@@ -2031,7 +2064,6 @@ v8_source_set("v8_base_without_compiler") {
2031
2064
" src/builtins/builtins-internal.cc" ,
2032
2065
" src/builtins/builtins-intl.cc" ,
2033
2066
" src/builtins/builtins-json.cc" ,
2034
- " src/builtins/builtins-math.cc" ,
2035
2067
" src/builtins/builtins-number.cc" ,
2036
2068
" src/builtins/builtins-object.cc" ,
2037
2069
" src/builtins/builtins-promise.cc" ,
@@ -2095,6 +2127,7 @@ v8_source_set("v8_base_without_compiler") {
2095
2127
" src/codegen/register-arch.h" ,
2096
2128
" src/codegen/register-configuration.cc" ,
2097
2129
" src/codegen/register-configuration.h" ,
2130
+ " src/codegen/register.cc" ,
2098
2131
" src/codegen/register.h" ,
2099
2132
" src/codegen/reglist.h" ,
2100
2133
" src/codegen/reloc-info.cc" ,
@@ -2194,6 +2227,9 @@ v8_source_set("v8_base_without_compiler") {
2194
2227
" src/execution/messages.h" ,
2195
2228
" src/execution/microtask-queue.cc" ,
2196
2229
" src/execution/microtask-queue.h" ,
2230
+ " src/execution/protectors-inl.h" ,
2231
+ " src/execution/protectors.cc" ,
2232
+ " src/execution/protectors.h" ,
2197
2233
" src/execution/runtime-profiler.cc" ,
2198
2234
" src/execution/runtime-profiler.h" ,
2199
2235
" src/execution/simulator-base.cc" ,
@@ -2758,7 +2794,6 @@ v8_source_set("v8_base_without_compiler") {
2758
2794
" src/runtime/runtime-typedarray.cc" ,
2759
2795
" src/runtime/runtime-utils.h" ,
2760
2796
" src/runtime/runtime-wasm.cc" ,
2761
- " src/runtime/runtime-weak-refs.cc" ,
2762
2797
" src/runtime/runtime.cc" ,
2763
2798
" src/runtime/runtime.h" ,
2764
2799
" src/sanitizer/asan.h" ,
@@ -2922,6 +2957,8 @@ v8_source_set("v8_base_without_compiler") {
2922
2957
" src/wasm/wasm-memory.h" ,
2923
2958
" src/wasm/wasm-module-builder.cc" ,
2924
2959
" src/wasm/wasm-module-builder.h" ,
2960
+ " src/wasm/wasm-module-sourcemap.cc" ,
2961
+ " src/wasm/wasm-module-sourcemap.h" ,
2925
2962
" src/wasm/wasm-module.cc" ,
2926
2963
" src/wasm/wasm-module.h" ,
2927
2964
" src/wasm/wasm-objects-inl.h" ,
@@ -3109,13 +3146,20 @@ v8_source_set("v8_base_without_compiler") {
3109
3146
" src/diagnostics/arm64/eh-frame-arm64.cc" ,
3110
3147
" src/execution/arm64/frame-constants-arm64.cc" ,
3111
3148
" src/execution/arm64/frame-constants-arm64.h" ,
3149
+ " src/execution/arm64/pointer-auth-arm64.cc" ,
3112
3150
" src/execution/arm64/simulator-arm64.cc" ,
3113
3151
" src/execution/arm64/simulator-arm64.h" ,
3114
3152
" src/execution/arm64/simulator-logic-arm64.cc" ,
3115
3153
" src/regexp/arm64/regexp-macro-assembler-arm64.cc" ,
3116
3154
" src/regexp/arm64/regexp-macro-assembler-arm64.h" ,
3117
3155
" src/wasm/baseline/arm64/liftoff-assembler-arm64.h" ,
3118
3156
]
3157
+ if (is_win ) {
3158
+ sources += [
3159
+ " src/diagnostics/unwinding-info-win64.cc" ,
3160
+ " src/diagnostics/unwinding-info-win64.h" ,
3161
+ ]
3162
+ }
3119
3163
jumbo_excluded_sources += [
3120
3164
# TODO([email protected] ): fix this code so it doesn't need
3121
3165
# to be excluded, see the comments inside.
@@ -3325,6 +3369,7 @@ v8_source_set("torque_base") {
3325
3369
" src/torque/ast.h" ,
3326
3370
" src/torque/cfg.cc" ,
3327
3371
" src/torque/cfg.h" ,
3372
+ " src/torque/class-debug-reader-generator.cc" ,
3328
3373
" src/torque/constants.h" ,
3329
3374
" src/torque/contextual.h" ,
3330
3375
" src/torque/csa-generator.cc" ,
@@ -3351,6 +3396,8 @@ v8_source_set("torque_base") {
3351
3396
" src/torque/torque-compiler.h" ,
3352
3397
" src/torque/torque-parser.cc" ,
3353
3398
" src/torque/torque-parser.h" ,
3399
+ " src/torque/type-inference.cc" ,
3400
+ " src/torque/type-inference.h" ,
3354
3401
" src/torque/type-oracle.cc" ,
3355
3402
" src/torque/type-oracle.h" ,
3356
3403
" src/torque/type-visitor.cc" ,
0 commit comments