@@ -28,7 +28,7 @@ declare_args() {
2828v8_deprecation_warnings = false
2929v8_enable_disassembler = false
3030v8_enable_gdbjit = false
31- v8_enable_handle_zapping = true
31+ v8_enable_handle_zapping = is_debug
3232v8_enable_i18n_support = true
3333v8_enable_verify_heap = false
3434v8_interpreted_regexp = false
@@ -46,6 +46,15 @@ if (is_msan) {
4646 v8_target_arch = target_cpu
4747}
4848
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+
4958# ##############################################################################
5059# Configurations
5160#
@@ -173,7 +182,7 @@ config("toolchain") {
173182 }
174183 if (v8_target_arch == " s390" ) {
175184 defines += [ " V8_TARGET_ARCH_S390" ]
176- }
185+ }
177186 if (v8_target_arch == " s390x" ) {
178187 defines += [
179188 " V8_TARGET_ARCH_S390" ,
@@ -186,7 +195,7 @@ config("toolchain") {
186195 if (v8_target_arch == " x64" ) {
187196 defines += [ " V8_TARGET_ARCH_X64" ]
188197 }
189-
198+
190199 if (is_win ) {
191200 defines += [ " WIN32" ]
192201 # TODO(jochen ): Support v8_enable_prof.
@@ -291,7 +300,6 @@ action("js2c_experimental") {
291300 " src/js/generator.js" ,
292301 " src/js/harmony-atomics.js" ,
293302 " src/js/harmony-regexp.js" ,
294- " src/js/harmony-reflect.js" ,
295303 " src/js/harmony-object-observe.js" ,
296304 " src/js/harmony-sharedarraybuffer.js" ,
297305 " src/js/harmony-simd.js" ,
@@ -774,16 +782,16 @@ source_set("v8_base") {
774782 " src/compiler/instruction-selector.h" ,
775783 " src/compiler/instruction.cc" ,
776784 " 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" ,
779787 " src/compiler/js-builtin-reducer.cc" ,
780788 " src/compiler/js-builtin-reducer.h" ,
781789 " src/compiler/js-call-reducer.cc" ,
782790 " src/compiler/js-call-reducer.h" ,
783- " src/compiler/js-context-relaxation.cc" ,
784- " src/compiler/js-context-relaxation.h" ,
785791 " src/compiler/js-context-specialization.cc" ,
786792 " src/compiler/js-context-specialization.h" ,
793+ " src/compiler/js-create-lowering.cc" ,
794+ " src/compiler/js-create-lowering.h" ,
787795 " src/compiler/js-frame-specialization.cc" ,
788796 " src/compiler/js-frame-specialization.h" ,
789797 " src/compiler/js-generic-lowering.cc" ,
@@ -1009,6 +1017,8 @@ source_set("v8_base") {
10091017 " src/fast-dtoa.h" ,
10101018 " src/field-index.h" ,
10111019 " src/field-index-inl.h" ,
1020+ " src/field-type.cc" ,
1021+ " src/field-type.h" ,
10121022 " src/fixed-dtoa.cc" ,
10131023 " src/fixed-dtoa.h" ,
10141024 " src/flag-definitions.h" ,
@@ -1030,6 +1040,7 @@ source_set("v8_base") {
10301040 " src/handles.cc" ,
10311041 " src/handles.h" ,
10321042 " src/hashmap.h" ,
1043+ " src/heap-symbols.h" ,
10331044 " src/heap/array-buffer-tracker.cc" ,
10341045 " src/heap/array-buffer-tracker.h" ,
10351046 " src/heap/gc-idle-time-handler.cc" ,
@@ -1053,11 +1064,14 @@ source_set("v8_base") {
10531064 " src/heap/objects-visiting-inl.h" ,
10541065 " src/heap/objects-visiting.cc" ,
10551066 " src/heap/objects-visiting.h" ,
1067+ " src/heap/remembered-set.cc" ,
1068+ " src/heap/remembered-set.h" ,
10561069 " src/heap/scavenge-job.h" ,
10571070 " src/heap/scavenge-job.cc" ,
10581071 " src/heap/scavenger-inl.h" ,
10591072 " src/heap/scavenger.cc" ,
10601073 " src/heap/scavenger.h" ,
1074+ " src/heap/slot-set.h" ,
10611075 " src/heap/slots-buffer.cc" ,
10621076 " src/heap/slots-buffer.h" ,
10631077 " src/heap/spaces-inl.h" ,
@@ -1104,11 +1118,20 @@ source_set("v8_base") {
11041118 " src/interpreter/constant-array-builder.h" ,
11051119 " src/interpreter/control-flow-builders.cc" ,
11061120 " src/interpreter/control-flow-builders.h" ,
1121+ " src/interpreter/handler-table-builder.cc" ,
1122+ " src/interpreter/handler-table-builder.h" ,
11071123 " src/interpreter/interpreter.cc" ,
11081124 " 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" ,
11091131 " src/isolate-inl.h" ,
11101132 " src/isolate.cc" ,
11111133 " src/isolate.h" ,
1134+ " src/json-parser.h" ,
11121135 " src/json-stringifier.h" ,
11131136 " src/key-accumulator.h" ,
11141137 " src/key-accumulator.cc" ,
@@ -1144,7 +1167,6 @@ source_set("v8_base") {
11441167 " src/parsing/expression-classifier.h" ,
11451168 " src/parsing/func-name-inferrer.cc" ,
11461169 " src/parsing/func-name-inferrer.h" ,
1147- " src/parsing/json-parser.h" ,
11481170 " src/parsing/parameter-initializer-rewriter.cc" ,
11491171 " src/parsing/parameter-initializer-rewriter.h" ,
11501172 " src/parsing/parser-base.h" ,
@@ -1183,6 +1205,8 @@ source_set("v8_base") {
11831205 " src/profiler/profile-generator.h" ,
11841206 " src/profiler/sampler.cc" ,
11851207 " src/profiler/sampler.h" ,
1208+ " src/profiler/sampling-heap-profiler.cc" ,
1209+ " src/profiler/sampling-heap-profiler.h" ,
11861210 " src/profiler/strings-storage.cc" ,
11871211 " src/profiler/strings-storage.h" ,
11881212 " src/profiler/unbound-queue-inl.h" ,
@@ -1262,6 +1286,7 @@ source_set("v8_base") {
12621286 " src/snapshot/snapshot-common.cc" ,
12631287 " src/snapshot/snapshot-source-sink.cc" ,
12641288 " src/snapshot/snapshot-source-sink.h" ,
1289+ " src/source-position.h" ,
12651290 " src/splay-tree.h" ,
12661291 " src/splay-tree-inl.h" ,
12671292 " src/snapshot/snapshot.h" ,
@@ -1286,7 +1311,6 @@ source_set("v8_base") {
12861311 " src/type-feedback-vector.h" ,
12871312 " src/type-info.cc" ,
12881313 " src/type-info.h" ,
1289- " src/types-inl.h" ,
12901314 " src/types.cc" ,
12911315 " src/types.h" ,
12921316 " src/typing-asm.cc" ,
@@ -1300,6 +1324,7 @@ source_set("v8_base") {
13001324 " src/unicode-cache.h" ,
13011325 " src/unicode-decoder.cc" ,
13021326 " src/unicode-decoder.h" ,
1327+ " src/utils-inl.h" ,
13031328 " src/utils.cc" ,
13041329 " src/utils.h" ,
13051330 " src/v8.cc" ,
@@ -1655,6 +1680,7 @@ source_set("v8_libbase") {
16551680 " src/base/atomicops_internals_mips_gcc.h" ,
16561681 " src/base/atomicops_internals_mips64_gcc.h" ,
16571682 " src/base/atomicops_internals_portable.h" ,
1683+ " src/base/atomicops_internals_s390_gcc.h" ,
16581684 " src/base/atomicops_internals_tsan.h" ,
16591685 " src/base/atomicops_internals_x86_gcc.cc" ,
16601686 " src/base/atomicops_internals_x86_gcc.h" ,
@@ -1721,8 +1747,6 @@ source_set("v8_libbase") {
17211747
17221748 libs = [ " dl" , " rt" ]
17231749 } else if (is_android ) {
1724- defines += [ " CAN_USE_VFP_INSTRUCTIONS" ]
1725-
17261750 if (current_toolchain == host_toolchain ) {
17271751 libs = [ " dl" , " rt" ]
17281752 if (host_os == " mac" ) {
@@ -1782,6 +1806,28 @@ source_set("v8_libplatform") {
17821806 ]
17831807}
17841808
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+
17851831# ##############################################################################
17861832# Executables
17871833#
@@ -1815,15 +1861,6 @@ if (current_toolchain == snapshot_toolchain) {
18151861# Public targets
18161862#
18171863
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-
18271864if (is_component_build ) {
18281865 component (" v8" ) {
18291866 sources = [
@@ -1905,3 +1942,57 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") ||
19051942 }
19061943 }
19071944}
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