@@ -28,7 +28,7 @@ declare_args() {
28
28
v8_deprecation_warnings = false
29
29
v8_enable_disassembler = false
30
30
v8_enable_gdbjit = false
31
- v8_enable_handle_zapping = true
31
+ v8_enable_handle_zapping = is_debug
32
32
v8_enable_i18n_support = true
33
33
v8_enable_verify_heap = false
34
34
v8_interpreted_regexp = false
@@ -46,6 +46,15 @@ if (is_msan) {
46
46
v8_target_arch = target_cpu
47
47
}
48
48
49
+ if (v8_use_snapshot && v8_use_external_startup_data ) {
50
+ snapshot_target = " :v8_external_snapshot"
51
+ } else if (v8_use_snapshot ) {
52
+ snapshot_target = " :v8_snapshot"
53
+ } else {
54
+ assert (! v8_use_external_startup_data )
55
+ snapshot_target = " :v8_nosnapshot"
56
+ }
57
+
49
58
# ##############################################################################
50
59
# Configurations
51
60
#
@@ -173,7 +182,7 @@ config("toolchain") {
173
182
}
174
183
if (v8_target_arch == " s390" ) {
175
184
defines += [ " V8_TARGET_ARCH_S390" ]
176
- }
185
+ }
177
186
if (v8_target_arch == " s390x" ) {
178
187
defines += [
179
188
" V8_TARGET_ARCH_S390" ,
@@ -186,7 +195,7 @@ config("toolchain") {
186
195
if (v8_target_arch == " x64" ) {
187
196
defines += [ " V8_TARGET_ARCH_X64" ]
188
197
}
189
-
198
+
190
199
if (is_win ) {
191
200
defines += [ " WIN32" ]
192
201
# TODO(jochen ): Support v8_enable_prof.
@@ -291,7 +300,6 @@ action("js2c_experimental") {
291
300
" src/js/generator.js" ,
292
301
" src/js/harmony-atomics.js" ,
293
302
" src/js/harmony-regexp.js" ,
294
- " src/js/harmony-reflect.js" ,
295
303
" src/js/harmony-object-observe.js" ,
296
304
" src/js/harmony-sharedarraybuffer.js" ,
297
305
" src/js/harmony-simd.js" ,
@@ -774,16 +782,16 @@ source_set("v8_base") {
774
782
" src/compiler/instruction-selector.h" ,
775
783
" src/compiler/instruction.cc" ,
776
784
" src/compiler/instruction.h" ,
777
- " src/compiler/interpreter-assembler .cc" ,
778
- " src/compiler/interpreter-assembler .h" ,
785
+ " src/compiler/int64-lowering .cc" ,
786
+ " src/compiler/int64-lowering .h" ,
779
787
" src/compiler/js-builtin-reducer.cc" ,
780
788
" src/compiler/js-builtin-reducer.h" ,
781
789
" src/compiler/js-call-reducer.cc" ,
782
790
" src/compiler/js-call-reducer.h" ,
783
- " src/compiler/js-context-relaxation.cc" ,
784
- " src/compiler/js-context-relaxation.h" ,
785
791
" src/compiler/js-context-specialization.cc" ,
786
792
" src/compiler/js-context-specialization.h" ,
793
+ " src/compiler/js-create-lowering.cc" ,
794
+ " src/compiler/js-create-lowering.h" ,
787
795
" src/compiler/js-frame-specialization.cc" ,
788
796
" src/compiler/js-frame-specialization.h" ,
789
797
" src/compiler/js-generic-lowering.cc" ,
@@ -1009,6 +1017,8 @@ source_set("v8_base") {
1009
1017
" src/fast-dtoa.h" ,
1010
1018
" src/field-index.h" ,
1011
1019
" src/field-index-inl.h" ,
1020
+ " src/field-type.cc" ,
1021
+ " src/field-type.h" ,
1012
1022
" src/fixed-dtoa.cc" ,
1013
1023
" src/fixed-dtoa.h" ,
1014
1024
" src/flag-definitions.h" ,
@@ -1030,6 +1040,7 @@ source_set("v8_base") {
1030
1040
" src/handles.cc" ,
1031
1041
" src/handles.h" ,
1032
1042
" src/hashmap.h" ,
1043
+ " src/heap-symbols.h" ,
1033
1044
" src/heap/array-buffer-tracker.cc" ,
1034
1045
" src/heap/array-buffer-tracker.h" ,
1035
1046
" src/heap/gc-idle-time-handler.cc" ,
@@ -1053,11 +1064,14 @@ source_set("v8_base") {
1053
1064
" src/heap/objects-visiting-inl.h" ,
1054
1065
" src/heap/objects-visiting.cc" ,
1055
1066
" src/heap/objects-visiting.h" ,
1067
+ " src/heap/remembered-set.cc" ,
1068
+ " src/heap/remembered-set.h" ,
1056
1069
" src/heap/scavenge-job.h" ,
1057
1070
" src/heap/scavenge-job.cc" ,
1058
1071
" src/heap/scavenger-inl.h" ,
1059
1072
" src/heap/scavenger.cc" ,
1060
1073
" src/heap/scavenger.h" ,
1074
+ " src/heap/slot-set.h" ,
1061
1075
" src/heap/slots-buffer.cc" ,
1062
1076
" src/heap/slots-buffer.h" ,
1063
1077
" src/heap/spaces-inl.h" ,
@@ -1104,11 +1118,20 @@ source_set("v8_base") {
1104
1118
" src/interpreter/constant-array-builder.h" ,
1105
1119
" src/interpreter/control-flow-builders.cc" ,
1106
1120
" src/interpreter/control-flow-builders.h" ,
1121
+ " src/interpreter/handler-table-builder.cc" ,
1122
+ " src/interpreter/handler-table-builder.h" ,
1107
1123
" src/interpreter/interpreter.cc" ,
1108
1124
" src/interpreter/interpreter.h" ,
1125
+ " src/interpreter/interpreter-assembler.cc" ,
1126
+ " src/interpreter/interpreter-assembler.h" ,
1127
+ " src/interpreter/register-translator.cc" ,
1128
+ " src/interpreter/register-translator.h" ,
1129
+ " src/interpreter/source-position-table.cc" ,
1130
+ " src/interpreter/source-position-table.h" ,
1109
1131
" src/isolate-inl.h" ,
1110
1132
" src/isolate.cc" ,
1111
1133
" src/isolate.h" ,
1134
+ " src/json-parser.h" ,
1112
1135
" src/json-stringifier.h" ,
1113
1136
" src/key-accumulator.h" ,
1114
1137
" src/key-accumulator.cc" ,
@@ -1144,7 +1167,6 @@ source_set("v8_base") {
1144
1167
" src/parsing/expression-classifier.h" ,
1145
1168
" src/parsing/func-name-inferrer.cc" ,
1146
1169
" src/parsing/func-name-inferrer.h" ,
1147
- " src/parsing/json-parser.h" ,
1148
1170
" src/parsing/parameter-initializer-rewriter.cc" ,
1149
1171
" src/parsing/parameter-initializer-rewriter.h" ,
1150
1172
" src/parsing/parser-base.h" ,
@@ -1183,6 +1205,8 @@ source_set("v8_base") {
1183
1205
" src/profiler/profile-generator.h" ,
1184
1206
" src/profiler/sampler.cc" ,
1185
1207
" src/profiler/sampler.h" ,
1208
+ " src/profiler/sampling-heap-profiler.cc" ,
1209
+ " src/profiler/sampling-heap-profiler.h" ,
1186
1210
" src/profiler/strings-storage.cc" ,
1187
1211
" src/profiler/strings-storage.h" ,
1188
1212
" src/profiler/unbound-queue-inl.h" ,
@@ -1262,6 +1286,7 @@ source_set("v8_base") {
1262
1286
" src/snapshot/snapshot-common.cc" ,
1263
1287
" src/snapshot/snapshot-source-sink.cc" ,
1264
1288
" src/snapshot/snapshot-source-sink.h" ,
1289
+ " src/source-position.h" ,
1265
1290
" src/splay-tree.h" ,
1266
1291
" src/splay-tree-inl.h" ,
1267
1292
" src/snapshot/snapshot.h" ,
@@ -1286,7 +1311,6 @@ source_set("v8_base") {
1286
1311
" src/type-feedback-vector.h" ,
1287
1312
" src/type-info.cc" ,
1288
1313
" src/type-info.h" ,
1289
- " src/types-inl.h" ,
1290
1314
" src/types.cc" ,
1291
1315
" src/types.h" ,
1292
1316
" src/typing-asm.cc" ,
@@ -1300,6 +1324,7 @@ source_set("v8_base") {
1300
1324
" src/unicode-cache.h" ,
1301
1325
" src/unicode-decoder.cc" ,
1302
1326
" src/unicode-decoder.h" ,
1327
+ " src/utils-inl.h" ,
1303
1328
" src/utils.cc" ,
1304
1329
" src/utils.h" ,
1305
1330
" src/v8.cc" ,
@@ -1655,6 +1680,7 @@ source_set("v8_libbase") {
1655
1680
" src/base/atomicops_internals_mips_gcc.h" ,
1656
1681
" src/base/atomicops_internals_mips64_gcc.h" ,
1657
1682
" src/base/atomicops_internals_portable.h" ,
1683
+ " src/base/atomicops_internals_s390_gcc.h" ,
1658
1684
" src/base/atomicops_internals_tsan.h" ,
1659
1685
" src/base/atomicops_internals_x86_gcc.cc" ,
1660
1686
" src/base/atomicops_internals_x86_gcc.h" ,
@@ -1721,8 +1747,6 @@ source_set("v8_libbase") {
1721
1747
1722
1748
libs = [ " dl" , " rt" ]
1723
1749
} else if (is_android ) {
1724
- defines += [ " CAN_USE_VFP_INSTRUCTIONS" ]
1725
-
1726
1750
if (current_toolchain == host_toolchain ) {
1727
1751
libs = [ " dl" , " rt" ]
1728
1752
if (host_os == " mac" ) {
@@ -1782,6 +1806,28 @@ source_set("v8_libplatform") {
1782
1806
]
1783
1807
}
1784
1808
1809
+ source_set (" fuzzer_support" ) {
1810
+ visibility = [ " :*" ] # Only targets in this file can depend on this.
1811
+
1812
+ sources = [
1813
+ " test/fuzzer/fuzzer-support.cc" ,
1814
+ " test/fuzzer/fuzzer-support.h" ,
1815
+ ]
1816
+
1817
+ configs -= [ " //build/config/compiler:chromium_code" ]
1818
+ configs += [ " //build/config/compiler:no_chromium_code" ]
1819
+ configs += [
1820
+ " :internal_config_base" ,
1821
+ " :features" ,
1822
+ " :toolchain" ,
1823
+ ]
1824
+
1825
+ deps = [
1826
+ " :v8_libplatform" ,
1827
+ snapshot_target ,
1828
+ ]
1829
+ }
1830
+
1785
1831
# ##############################################################################
1786
1832
# Executables
1787
1833
#
@@ -1815,15 +1861,6 @@ if (current_toolchain == snapshot_toolchain) {
1815
1861
# Public targets
1816
1862
#
1817
1863
1818
- if (v8_use_snapshot && v8_use_external_startup_data ) {
1819
- snapshot_target = " :v8_external_snapshot"
1820
- } else if (v8_use_snapshot ) {
1821
- snapshot_target = " :v8_snapshot"
1822
- } else {
1823
- assert (! v8_use_external_startup_data )
1824
- snapshot_target = " :v8_nosnapshot"
1825
- }
1826
-
1827
1864
if (is_component_build ) {
1828
1865
component (" v8" ) {
1829
1866
sources = [
@@ -1905,3 +1942,57 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") ||
1905
1942
}
1906
1943
}
1907
1944
}
1945
+
1946
+ source_set (" json_fuzzer" ) {
1947
+ sources = [
1948
+ " test/fuzzer/json.cc" ,
1949
+ ]
1950
+
1951
+ deps = [
1952
+ " :fuzzer_support" ,
1953
+ ]
1954
+
1955
+ configs -= [ " //build/config/compiler:chromium_code" ]
1956
+ configs += [ " //build/config/compiler:no_chromium_code" ]
1957
+ configs += [
1958
+ " :internal_config" ,
1959
+ " :features" ,
1960
+ " :toolchain" ,
1961
+ ]
1962
+ }
1963
+
1964
+ source_set (" parser_fuzzer" ) {
1965
+ sources = [
1966
+ " test/fuzzer/parser.cc" ,
1967
+ ]
1968
+
1969
+ deps = [
1970
+ " :fuzzer_support" ,
1971
+ ]
1972
+
1973
+ configs -= [ " //build/config/compiler:chromium_code" ]
1974
+ configs += [ " //build/config/compiler:no_chromium_code" ]
1975
+ configs += [
1976
+ " :internal_config" ,
1977
+ " :features" ,
1978
+ " :toolchain" ,
1979
+ ]
1980
+ }
1981
+
1982
+ source_set (" regexp_fuzzer" ) {
1983
+ sources = [
1984
+ " test/fuzzer/regexp.cc" ,
1985
+ ]
1986
+
1987
+ deps = [
1988
+ " :fuzzer_support" ,
1989
+ ]
1990
+
1991
+ configs -= [ " //build/config/compiler:chromium_code" ]
1992
+ configs += [ " //build/config/compiler:no_chromium_code" ]
1993
+ configs += [
1994
+ " :internal_config" ,
1995
+ " :features" ,
1996
+ " :toolchain" ,
1997
+ ]
1998
+ }
0 commit comments