diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore
index f07fc1cb622105..4ea2ead23d990d 100644
--- a/deps/v8/.gitignore
+++ b/deps/v8/.gitignore
@@ -36,8 +36,6 @@
/_*
/build
/buildtools
-/gypfiles/.gold_plugin
-/gypfiles/win_toolchain.json
/hydrogen.cfg
/obj
/out
@@ -76,6 +74,8 @@
/tools/jsfunfuzz/jsfunfuzz
/tools/jsfunfuzz/jsfunfuzz.tar.gz
/tools/luci-go
+/tools/mips_toolchain
+/tools/mips_toolchain.tar.gz
/tools/oom_dump/oom_dump
/tools/oom_dump/oom_dump.o
/tools/swarming_client
diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS
index dfd3eef878c097..b2b01df888281e 100644
--- a/deps/v8/AUTHORS
+++ b/deps/v8/AUTHORS
@@ -136,6 +136,7 @@ Sanjoy Das
Seo Sanghyeon
Stefan Penner
Sylvestre Ledru
+Taketoshi Aono
Tiancheng "Timothy" Gu
Tobias Burnus
Victor Costan
diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn
index 49707659723ca2..72a19b2ca450fa 100644
--- a/deps/v8/BUILD.gn
+++ b/deps/v8/BUILD.gn
@@ -64,6 +64,10 @@ declare_args() {
# Enable fast mksnapshot runs.
v8_enable_fast_mksnapshot = false
+ # Enable embedded builtins.
+ # TODO(jgruber,v8:6666): Support ia32.
+ v8_enable_embedded_builtins = false
+
# Enable code-generation-time checking of types in the CodeStubAssembler.
v8_enable_verify_csa = false
@@ -319,6 +323,9 @@ config("features") {
if (v8_check_microtasks_scopes_consistency) {
defines += [ "V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY" ]
}
+ if (v8_enable_embedded_builtins) {
+ defines += [ "V8_EMBEDDED_BUILTINS" ]
+ }
}
config("toolchain") {
@@ -387,6 +394,9 @@ config("toolchain") {
"_MIPS_ARCH_MIPS32R6",
"FPU_MODE_FP64",
]
+ if (mips_use_msa) {
+ defines += [ "_MIPS_MSA" ]
+ }
} else if (mips_arch_variant == "r2") {
defines += [ "_MIPS_ARCH_MIPS32R2" ]
if (mips_fpu_mode == "fp64") {
@@ -424,6 +434,9 @@ config("toolchain") {
}
if (mips_arch_variant == "r6") {
defines += [ "_MIPS_ARCH_MIPS64R6" ]
+ if (mips_use_msa) {
+ defines += [ "_MIPS_MSA" ]
+ }
} else if (mips_arch_variant == "r2") {
defines += [ "_MIPS_ARCH_MIPS64R2" ]
}
@@ -514,8 +527,6 @@ config("toolchain") {
if (is_clang) {
cflags += [
- "-Wsign-compare",
-
# TODO(hans): Remove once http://crbug.com/428099 is resolved.
"-Winconsistent-missing-override",
]
@@ -883,6 +894,14 @@ action("v8_dump_build_config") {
"v8_target_cpu=\"$v8_target_cpu\"",
"v8_use_snapshot=$v8_use_snapshot",
]
+
+ if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
+ v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
+ args += [
+ "mips_arch_variant=\"$mips_arch_variant\"",
+ "mips_use_msa=$mips_use_msa",
+ ]
+ }
}
###############################################################################
@@ -1018,6 +1037,7 @@ v8_source_set("v8_initializers") {
"src/builtins/builtins-arguments-gen.cc",
"src/builtins/builtins-arguments-gen.h",
"src/builtins/builtins-array-gen.cc",
+ "src/builtins/builtins-array-gen.h",
"src/builtins/builtins-async-function-gen.cc",
"src/builtins/builtins-async-gen.cc",
"src/builtins/builtins-async-gen.h",
@@ -1060,8 +1080,11 @@ v8_source_set("v8_initializers") {
"src/builtins/builtins-string-gen.h",
"src/builtins/builtins-symbol-gen.cc",
"src/builtins/builtins-typedarray-gen.cc",
+ "src/builtins/builtins-typedarray-gen.h",
"src/builtins/builtins-utils-gen.h",
"src/builtins/builtins-wasm-gen.cc",
+ "src/builtins/growable-fixed-array-gen.cc",
+ "src/builtins/growable-fixed-array-gen.h",
"src/builtins/setup-builtins-internal.cc",
"src/heap/setup-heap-internal.cc",
"src/ic/accessor-assembler.cc",
@@ -1193,7 +1216,6 @@ v8_source_set("v8_base") {
"//base/trace_event/common/trace_event_common.h",
### gcmole(all) ###
- "include/v8-debug.h",
"include/v8-inspector-protocol.h",
"include/v8-inspector.h",
"include/v8-platform.h",
@@ -1236,8 +1258,6 @@ v8_source_set("v8_base") {
"src/assert-scope.h",
"src/ast/ast-function-literal-id-reindexer.cc",
"src/ast/ast-function-literal-id-reindexer.h",
- "src/ast/ast-numbering.cc",
- "src/ast/ast-numbering.h",
"src/ast/ast-source-ranges.h",
"src/ast/ast-traversal-visitor.h",
"src/ast/ast-value-factory.cc",
@@ -1304,6 +1324,8 @@ v8_source_set("v8_base") {
"src/builtins/builtins-utils.h",
"src/builtins/builtins.cc",
"src/builtins/builtins.h",
+ "src/builtins/constants-table-builder.cc",
+ "src/builtins/constants-table-builder.h",
"src/cached-powers.cc",
"src/cached-powers.h",
"src/callable.h",
@@ -1396,6 +1418,7 @@ v8_source_set("v8_base") {
"src/compiler/frame-states.h",
"src/compiler/frame.cc",
"src/compiler/frame.h",
+ "src/compiler/functional-list.h",
"src/compiler/gap-resolver.cc",
"src/compiler/gap-resolver.h",
"src/compiler/graph-assembler.cc",
@@ -1639,6 +1662,8 @@ v8_source_set("v8_base") {
"src/global-handles.cc",
"src/global-handles.h",
"src/globals.h",
+ "src/handler-table.cc",
+ "src/handler-table.h",
"src/handles-inl.h",
"src/handles.cc",
"src/handles.h",
@@ -1670,6 +1695,7 @@ v8_source_set("v8_base") {
"src/heap/invalidated-slots-inl.h",
"src/heap/invalidated-slots.cc",
"src/heap/invalidated-slots.h",
+ "src/heap/item-parallel-job.cc",
"src/heap/item-parallel-job.h",
"src/heap/local-allocator.h",
"src/heap/mark-compact-inl.h",
@@ -1719,6 +1745,8 @@ v8_source_set("v8_base") {
"src/icu_util.h",
"src/identity-map.cc",
"src/identity-map.h",
+ "src/instruction-stream.cc",
+ "src/instruction-stream.h",
"src/interface-descriptors.cc",
"src/interface-descriptors.h",
"src/interpreter/block-coverage-builder.h",
@@ -1835,6 +1863,8 @@ v8_source_set("v8_base") {
"src/objects/js-array.h",
"src/objects/js-collection-inl.h",
"src/objects/js-collection.h",
+ "src/objects/js-promise-inl.h",
+ "src/objects/js-promise.h",
"src/objects/js-regexp-inl.h",
"src/objects/js-regexp.h",
"src/objects/literal-objects-inl.h",
@@ -1842,6 +1872,8 @@ v8_source_set("v8_base") {
"src/objects/literal-objects.h",
"src/objects/map-inl.h",
"src/objects/map.h",
+ "src/objects/microtask-inl.h",
+ "src/objects/microtask.h",
"src/objects/module-inl.h",
"src/objects/module.cc",
"src/objects/module.h",
@@ -1849,6 +1881,8 @@ v8_source_set("v8_base") {
"src/objects/name.h",
"src/objects/object-macros-undef.h",
"src/objects/object-macros.h",
+ "src/objects/promise-inl.h",
+ "src/objects/promise.h",
"src/objects/property-descriptor-object-inl.h",
"src/objects/property-descriptor-object.h",
"src/objects/regexp-match-info.h",
@@ -1865,8 +1899,6 @@ v8_source_set("v8_base") {
"src/objects/template-objects.h",
"src/ostreams.cc",
"src/ostreams.h",
- "src/parsing/background-parsing-task.cc",
- "src/parsing/background-parsing-task.h",
"src/parsing/duplicate-finder.h",
"src/parsing/expression-classifier.h",
"src/parsing/expression-scope-reparenter.cc",
@@ -2126,8 +2158,6 @@ v8_source_set("v8_base") {
"src/wasm/signature-map.h",
"src/wasm/streaming-decoder.cc",
"src/wasm/streaming-decoder.h",
- "src/wasm/wasm-api.cc",
- "src/wasm/wasm-api.h",
"src/wasm/wasm-code-manager.cc",
"src/wasm/wasm-code-manager.h",
"src/wasm/wasm-code-specialization.cc",
@@ -2570,11 +2600,15 @@ v8_component("v8_libbase") {
if (is_posix) {
sources += [
- "src/base/platform/platform-posix-time.cc",
- "src/base/platform/platform-posix-time.h",
"src/base/platform/platform-posix.cc",
"src/base/platform/platform-posix.h",
]
+ if (current_os != "aix") {
+ sources += [
+ "src/base/platform/platform-posix-time.cc",
+ "src/base/platform/platform-posix-time.h",
+ ]
+ }
}
if (is_linux) {
@@ -2824,7 +2858,7 @@ group("v8_clusterfuzz") {
if (v8_test_isolation_mode != "noop") {
deps += [
- "tools:run-deopt-fuzzer_run",
+ "test:d8_default_run",
"tools:run-num-fuzzer_run",
]
}
@@ -2842,9 +2876,9 @@ group("v8_fuzzers") {
":v8_simple_json_fuzzer",
":v8_simple_multi_return_fuzzer",
":v8_simple_parser_fuzzer",
+ ":v8_simple_regexp_builtins_fuzzer",
":v8_simple_regexp_fuzzer",
":v8_simple_wasm_async_fuzzer",
- ":v8_simple_wasm_call_fuzzer",
":v8_simple_wasm_code_fuzzer",
":v8_simple_wasm_compile_fuzzer",
":v8_simple_wasm_data_section_fuzzer",
@@ -2952,7 +2986,7 @@ v8_executable("d8") {
}
if (v8_correctness_fuzzer) {
- deps += [ "tools/foozzie:v8_correctness_fuzzer_resources" ]
+ deps += [ "tools/clusterfuzz:v8_correctness_fuzzer_resources" ]
}
defines = []
@@ -3127,6 +3161,25 @@ v8_source_set("parser_fuzzer") {
v8_fuzzer("parser_fuzzer") {
}
+v8_source_set("regexp_builtins_fuzzer") {
+ sources = [
+ "test/fuzzer/regexp-builtins.cc",
+ "test/fuzzer/regexp_builtins/mjsunit.js.h",
+ ]
+
+ deps = [
+ ":fuzzer_support",
+ ]
+
+ configs = [
+ ":external_config",
+ ":internal_config_base",
+ ]
+}
+
+v8_fuzzer("regexp_builtins_fuzzer") {
+}
+
v8_source_set("regexp_fuzzer") {
sources = [
"test/fuzzer/regexp.cc",
@@ -3218,27 +3271,6 @@ v8_source_set("wasm_code_fuzzer") {
v8_fuzzer("wasm_code_fuzzer") {
}
-v8_source_set("wasm_call_fuzzer") {
- sources = [
- "test/common/wasm/test-signatures.h",
- "test/fuzzer/wasm-call.cc",
- ]
-
- deps = [
- ":fuzzer_support",
- ":lib_wasm_fuzzer_common",
- ":wasm_module_runner",
- ]
-
- configs = [
- ":external_config",
- ":internal_config_base",
- ]
-}
-
-v8_fuzzer("wasm_call_fuzzer") {
-}
-
v8_source_set("lib_wasm_fuzzer_common") {
sources = [
"test/fuzzer/wasm-fuzzer-common.cc",
diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog
index 1fe3135a011707..cfeeb0e08b6630 100644
--- a/deps/v8/ChangeLog
+++ b/deps/v8/ChangeLog
@@ -1,3 +1,1748 @@
+2018-02-28: Version 6.6.346
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.345
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.344
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.343
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.342
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.341
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.340
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.339
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.338
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.337
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-27: Version 6.6.336
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.335
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.334
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.333
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.332
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.331
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.330
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.329
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.328
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.327
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.326
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.325
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.324
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.323
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.322
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.321
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.320
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-26: Version 6.6.319
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-25: Version 6.6.318
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-25: Version 6.6.317
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-25: Version 6.6.316
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-25: Version 6.6.315
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-24: Version 6.6.314
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-24: Version 6.6.313
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.312
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.311
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.310
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.309
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.308
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.307
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.306
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.305
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.304
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.303
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.302
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.301
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.300
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.299
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-23: Version 6.6.298
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.297
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.296
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.295
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.294
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.293
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.292
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.291
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.290
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.289
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.288
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.287
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.286
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.285
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.284
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-22: Version 6.6.283
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-21: Version 6.6.282
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-21: Version 6.6.281
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-21: Version 6.6.280
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.279
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.278
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.277
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.276
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.275
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.274
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.273
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.272
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.271
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.270
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.269
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.268
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-20: Version 6.6.267
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.266
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.265
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.264
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.263
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.262
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-19: Version 6.6.261
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-17: Version 6.6.260
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-17: Version 6.6.259
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-16: Version 6.6.258
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-16: Version 6.6.257
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-16: Version 6.6.256
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-16: Version 6.6.255
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-15: Version 6.6.254
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-15: Version 6.6.253
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-15: Version 6.6.252
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.251
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.250
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.249
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.248
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.247
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.246
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.245
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.244
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.243
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.242
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.241
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-14: Version 6.6.240
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.239
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.238
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.237
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.236
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.235
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-13: Version 6.6.234
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-12: Version 6.6.233
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-12: Version 6.6.232
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-12: Version 6.6.231
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-12: Version 6.6.230
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-12: Version 6.6.229
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.228
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.227
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.226
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.225
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.224
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.223
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.222
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.221
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.220
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.219
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.218
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.217
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.216
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.215
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.214
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.213
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-09: Version 6.6.212
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.211
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.210
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.209
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.208
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.207
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.206
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.205
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.204
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.203
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.202
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.201
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.200
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.199
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.198
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.197
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-08: Version 6.6.196
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.195
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.194
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.193
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.192
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.191
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.190
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.189
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.188
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.187
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.186
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.185
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.184
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.183
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.182
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.181
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-07: Version 6.6.180
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.179
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.178
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.177
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.176
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.175
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.174
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.173
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.172
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.171
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.170
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.169
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.168
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.167
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-06: Version 6.6.166
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.165
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.164
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.163
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.162
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.161
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.160
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.159
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.158
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.157
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-05: Version 6.6.156
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.155
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.154
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.153
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.152
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.151
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.150
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.149
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.148
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.147
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.146
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.145
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.144
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.143
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.142
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-02: Version 6.6.141
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.140
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.139
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.138
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.137
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.136
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.135
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.134
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.133
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.132
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.131
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.130
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.129
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-01: Version 6.6.128
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.127
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.126
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.125
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.124
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.123
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.122
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.121
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.120
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.119
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.118
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.117
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-31: Version 6.6.116
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.115
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.114
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.113
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.112
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.111
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.110
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.109
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.108
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.107
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-30: Version 6.6.106
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.105
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.104
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.103
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.102
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.101
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.100
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.99
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.98
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.97
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.96
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.95
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.94
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.93
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.92
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-29: Version 6.6.91
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-27: Version 6.6.90
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-27: Version 6.6.89
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.88
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.87
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.86
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.85
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.84
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-26: Version 6.6.83
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.82
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.81
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.80
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.79
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.78
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.77
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.76
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.75
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.74
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.73
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.72
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.71
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.70
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.69
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.68
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-25: Version 6.6.67
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.66
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.65
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.64
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.63
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.62
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.61
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.60
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.59
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.58
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.57
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.56
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.55
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.54
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.53
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-24: Version 6.6.52
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.51
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.50
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.49
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.48
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.47
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.46
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.45
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.44
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.43
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.42
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.41
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.40
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.39
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.38
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.37
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.36
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.35
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.34
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-23: Version 6.6.33
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.32
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.31
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.30
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.29
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.28
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.27
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.26
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.25
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.24
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.23
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.22
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.21
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.20
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.19
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.18
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.17
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.16
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.15
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.14
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.13
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-22: Version 6.6.12
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-21: Version 6.6.11
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-20: Version 6.6.10
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-20: Version 6.6.9
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.8
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.7
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.6
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.5
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.4
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.3
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.2
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-19: Version 6.6.1
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-18: Version 6.5.257
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-18: Version 6.5.256
+
+ Performance and stability improvements on all platforms.
+
+
+2018-01-18: Version 6.5.255
+
+ Performance and stability improvements on all platforms.
+
+
2018-01-17: Version 6.5.254
Performance and stability improvements on all platforms.
diff --git a/deps/v8/DEPS b/deps/v8/DEPS
index bc9e4e0a90c8af..4c67868d52dac8 100644
--- a/deps/v8/DEPS
+++ b/deps/v8/DEPS
@@ -5,20 +5,22 @@
vars = {
'checkout_instrumented_libraries': False,
'chromium_url': 'https://chromium.googlesource.com',
- 'build_for_node': False,
+ 'download_gcmole': False,
+ 'download_jsfunfuzz': False,
+ 'download_mips_toolchain': False,
}
deps = {
'v8/build':
- Var('chromium_url') + '/chromium/src/build.git' + '@' + 'b3a78cd03a95c30ff10f863f736249eb04f0f34d',
+ Var('chromium_url') + '/chromium/src/build.git' + '@' + 'b1d6c28b4a64128ad856d9da458afda2861fddab',
'v8/tools/gyp':
Var('chromium_url') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
'v8/third_party/icu':
- Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'c8ca2962b46670ec89071ffd1291688983cd319c',
+ Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'd888fd2a1be890f4d35e43f68d6d79f42519a357',
'v8/third_party/instrumented_libraries':
- Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'b7578b4132cf73ca3265e2ee0b7bd0a422a54ebf',
+ Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'b745ddca2c63719167c0f2008ae19e667c5e9952',
'v8/buildtools':
- Var('chromium_url') + '/chromium/buildtools.git' + '@' + '6fe4a3251488f7af86d64fc25cf442e817cf6133',
+ Var('chromium_url') + '/chromium/buildtools.git' + '@' + '2888931260f2a32bc583f005bd807a561b2fa6af',
'v8/base/trace_event/common':
Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '0e9a47d74970bee1bbfc063c47215406f8918699',
'v8/third_party/android_ndk': {
@@ -26,11 +28,11 @@ deps = {
'condition': 'checkout_android',
},
'v8/third_party/android_tools': {
- 'url': Var('chromium_url') + '/android_tools.git' + '@' + 'c78b25872734e0038ae2a333edc645cd96bc232d',
+ 'url': Var('chromium_url') + '/android_tools.git' + '@' + '9a70d48fcdd68cd0e7e968f342bd767ee6323bd1',
'condition': 'checkout_android',
},
'v8/third_party/catapult': {
- 'url': Var('chromium_url') + '/catapult.git' + '@' + 'b4826a52853c9c2778d496f6c6fa853f777f94df',
+ 'url': Var('chromium_url') + '/catapult.git' + '@' + '8a42ad3cb185e340c32b20f657980fd057e3769f',
'condition': 'checkout_android',
},
'v8/third_party/colorama/src': {
@@ -52,15 +54,15 @@ deps = {
'v8/test/mozilla/data':
Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be',
'v8/test/test262/data':
- Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '8311965251953d4745aeb68c98fb71fab2eac1d0',
+ Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'b59d956b3c268abd0875aeb87d6688f4c7aafc9b',
'v8/test/test262/harness':
Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '0f2acdd882c84cff43b9d60df7574a1901e2cdcd',
'v8/tools/clang':
- Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + '27088876ff821e8a1518383576a43662a3255d56',
+ Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'b3d3f5920b161f95f1a8ffe08b75c695e0edf350',
'v8/tools/luci-go':
- Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + 'd882048313f6f51df29856406fa03b620c1d0205',
+ Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + 'ff0709d4283b1f233dcf0c9fec1672c6ecaed2f1',
'v8/test/wasm-js':
- Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + 'a25083ac7076b05e3f304ec9e093ef1b1ee09422',
+ Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '4653fc002a510b4f207af07f2c7c61b13dba78d9',
}
recursedeps = [
@@ -78,7 +80,6 @@ include_rules = [
# checkdeps.py shouldn't check for includes in these directories:
skip_child_includes = [
'build',
- 'gypfiles',
'third_party',
]
@@ -91,14 +92,16 @@ hooks = [
'pattern': '.',
'action': [
'python',
- 'v8/gypfiles/landmines.py',
+ 'v8/build/landmines.py',
+ '--landmine-scripts',
+ 'v8/tools/get_landmines.py',
],
},
# Pull clang-format binaries using checked-in hashes.
{
'name': 'clang_format_win',
'pattern': '.',
- 'condition': 'host_os == "win" and build_for_node != True',
+ 'condition': 'host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
@@ -110,7 +113,7 @@ hooks = [
{
'name': 'clang_format_mac',
'pattern': '.',
- 'condition': 'host_os == "mac" and build_for_node != True',
+ 'condition': 'host_os == "mac"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=darwin',
@@ -122,7 +125,7 @@ hooks = [
{
'name': 'clang_format_linux',
'pattern': '.',
- 'condition': 'host_os == "linux" and build_for_node != True',
+ 'condition': 'host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=linux*',
@@ -134,28 +137,30 @@ hooks = [
{
'name': 'gcmole',
'pattern': '.',
- 'condition': 'build_for_node != True',
- # TODO(machenbach): Insert condition and remove GYP_DEFINES dependency.
- 'action': [
- 'python',
- 'v8/tools/gcmole/download_gcmole_tools.py',
+ 'condition': 'download_gcmole',
+ 'action': [ 'download_from_google_storage',
+ '--bucket', 'chrome-v8-gcmole',
+ '-u', '--no_resume',
+ '-s', 'v8/tools/gcmole/gcmole-tools.tar.gz.sha1',
+ '--platform=linux*',
],
},
{
'name': 'jsfunfuzz',
'pattern': '.',
- 'condition': 'build_for_node != True',
- # TODO(machenbach): Insert condition and remove GYP_DEFINES dependency.
- 'action': [
- 'python',
- 'v8/tools/jsfunfuzz/download_jsfunfuzz.py',
+ 'condition': 'download_jsfunfuzz',
+ 'action': [ 'download_from_google_storage',
+ '--bucket', 'chrome-v8-jsfunfuzz',
+ '-u', '--no_resume',
+ '-s', 'v8/tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1',
+ '--platform=linux*',
],
},
# Pull luci-go binaries (isolate, swarming) using checked-in hashes.
{
'name': 'luci-go_win',
'pattern': '.',
- 'condition': 'host_os == "win" and build_for_node != True',
+ 'condition': 'host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
@@ -167,7 +172,7 @@ hooks = [
{
'name': 'luci-go_mac',
'pattern': '.',
- 'condition': 'host_os == "mac" and build_for_node != True',
+ 'condition': 'host_os == "mac"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=darwin',
@@ -179,7 +184,7 @@ hooks = [
{
'name': 'luci-go_linux',
'pattern': '.',
- 'condition': 'host_os == "linux" and build_for_node != True',
+ 'condition': 'host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=linux*',
@@ -228,7 +233,6 @@ hooks = [
{
'name': 'wasm_spec_tests',
'pattern': '.',
- 'condition': 'build_for_node != True',
'action': [ 'download_from_google_storage',
'--no_resume',
'--no_auth',
@@ -240,7 +244,6 @@ hooks = [
{
'name': 'closure_compiler',
'pattern': '.',
- 'condition': 'build_for_node != True',
'action': [ 'download_from_google_storage',
'--no_resume',
'--no_auth',
@@ -250,17 +253,39 @@ hooks = [
],
},
{
- # Downloads the current stable linux sysroot to build/linux/ if needed.
- # This sysroot updates at about the same rate that the chrome build deps
- # change.
- 'name': 'sysroot',
+ 'name': 'sysroot_arm',
'pattern': '.',
- 'condition': 'build_for_node != True',
- 'action': [
- 'python',
- 'v8/build/linux/sysroot_scripts/install-sysroot.py',
- '--running-as-hook',
- ],
+ 'condition': 'checkout_linux and checkout_arm',
+ 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+ '--arch=arm'],
+ },
+ {
+ 'name': 'sysroot_arm64',
+ 'pattern': '.',
+ 'condition': 'checkout_linux and checkout_arm64',
+ 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+ '--arch=arm64'],
+ },
+ {
+ 'name': 'sysroot_x86',
+ 'pattern': '.',
+ 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
+ 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+ '--arch=x86'],
+ },
+ {
+ 'name': 'sysroot_mips',
+ 'pattern': '.',
+ 'condition': 'checkout_linux and checkout_mips',
+ 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+ '--arch=mips'],
+ },
+ {
+ 'name': 'sysroot_x64',
+ 'pattern': '.',
+ 'condition': 'checkout_linux and checkout_x64',
+ 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+ '--arch=x64'],
},
{
'name': 'msan_chained_origins',
@@ -297,7 +322,7 @@ hooks = [
{
'name': 'binutils',
'pattern': 'v8/third_party/binutils',
- 'condition': 'host_os == "linux" and build_for_node != True',
+ 'condition': 'host_os == "linux"',
'action': [
'python',
'v8/third_party/binutils/download.py',
@@ -307,6 +332,8 @@ hooks = [
# Note: On Win, this should run after win_toolchain, as it may use it.
'name': 'clang',
'pattern': '.',
+ # clang not supported on aix
+ 'condition': 'host_os != "aix"',
'action': ['python', 'v8/tools/clang/scripts/update.py'],
},
{
@@ -316,15 +343,20 @@ hooks = [
'action': [
'python',
'v8/build/fuchsia/update_sdk.py',
- '226f6dd0cad1d6be63a353ce2649423470729ae9',
],
},
{
- # A change to a .gyp, .gypi, or to GYP itself should run the generator.
- 'name': 'regyp_if_needed',
+ 'name': 'mips_toolchain',
'pattern': '.',
- 'condition': 'build_for_node != True',
- 'action': ['python', 'v8/gypfiles/gyp_v8', '--running-as-hook'],
+ 'condition': 'download_mips_toolchain',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=linux',
+ '--no_auth',
+ '-u',
+ '--bucket', 'chromium-v8',
+ '-s', 'v8/tools/mips_toolchain.tar.gz.sha1',
+ ],
},
# Download and initialize "vpython" VirtualEnv environment packages.
{
diff --git a/deps/v8/Makefile b/deps/v8/Makefile
deleted file mode 100644
index 167ebf8c082015..00000000000000
--- a/deps/v8/Makefile
+++ /dev/null
@@ -1,493 +0,0 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-# Variable default definitions. Override them by exporting them in your shell.
-OUTDIR ?= out
-TESTJOBS ?=
-GYPFLAGS ?=
-TESTFLAGS ?=
-ANDROID_NDK_HOST_ARCH ?=
-ANDROID_V8 ?= /data/local/tmp/v8
-
-# Special build flags. Use them like this: "make library=shared"
-
-# library=shared || component=shared_library
-ifeq ($(library), shared)
- GYPFLAGS += -Dcomponent=shared_library
-endif
-ifdef component
- GYPFLAGS += -Dcomponent=$(component)
-endif
-# disassembler=on
-ifeq ($(disassembler), on)
- GYPFLAGS += -Dv8_enable_disassembler=1
-endif
-# objectprint=on
-ifeq ($(objectprint), on)
- GYPFLAGS += -Dv8_object_print=1
-endif
-# verifycsa=on
-ifeq ($(verifycsa), on)
- GYPFLAGS += -Dv8_enable_verify_csa=1
-endif
-# verifyheap=on
-ifeq ($(verifyheap), on)
- GYPFLAGS += -Dv8_enable_verify_heap=1
-endif
-# tracemaps=on
-ifeq ($(tracemaps), on)
- GYPFLAGS += -Dv8_trace_maps=1
-endif
-# concurrentmarking=on
-ifeq ($(concurrentmarking), on)
- GYPFLAGS += -Dv8_enable_concurrent_marking=1
-endif
-# backtrace=off
-ifeq ($(backtrace), off)
- GYPFLAGS += -Dv8_enable_backtrace=0
-else
- GYPFLAGS += -Dv8_enable_backtrace=1
-endif
-# verifypredictable=on
-ifeq ($(verifypredictable), on)
- GYPFLAGS += -Dv8_enable_verify_predictable=1
-endif
-# snapshot=off
-ifeq ($(snapshot), off)
- GYPFLAGS += -Dv8_use_snapshot='false'
-endif
-ifeq ($(snapshot), external)
- GYPFLAGS += -Dv8_use_external_startup_data=1
-endif
-# extrachecks=on/off
-ifeq ($(extrachecks), on)
- GYPFLAGS += -Ddcheck_always_on=1 -Dv8_enable_handle_zapping=1
-endif
-ifeq ($(extrachecks), off)
- GYPFLAGS += -Ddcheck_always_on=0 -Dv8_enable_handle_zapping=0
-endif
-# slowdchecks=on/off
-ifeq ($(slowdchecks), on)
- GYPFLAGS += -Dv8_enable_slow_dchecks=1
-endif
-ifeq ($(slowdchecks), off)
- GYPFLAGS += -Dv8_enable_slow_dchecks=0
-endif
-# debugsymbols=on
-ifeq ($(debugsymbols), on)
- GYPFLAGS += -Drelease_extra_cflags=-ggdb3
-endif
-# gdbjit=on/off
-ifeq ($(gdbjit), on)
- GYPFLAGS += -Dv8_enable_gdbjit=1
-endif
-ifeq ($(gdbjit), off)
- GYPFLAGS += -Dv8_enable_gdbjit=0
-endif
-# vtunejit=on
-ifeq ($(vtunejit), on)
- GYPFLAGS += -Dv8_enable_vtunejit=1
-endif
-# unalignedaccess=on
-ifeq ($(unalignedaccess), on)
- GYPFLAGS += -Dv8_can_use_unaligned_accesses=true
-endif
-# randomseed=12345, disable random seed via randomseed=0
-ifdef randomseed
- GYPFLAGS += -Dv8_random_seed=$(randomseed)
-endif
-# soname_version=1.2.3
-ifdef soname_version
- GYPFLAGS += -Dsoname_version=$(soname_version)
-endif
-# werror=no
-ifeq ($(werror), no)
- GYPFLAGS += -Dwerror=''
-endif
-# strictaliasing=off (workaround for GCC-4.5)
-ifeq ($(strictaliasing), off)
- GYPFLAGS += -Dv8_no_strict_aliasing=1
-endif
-# regexp=interpreted
-ifeq ($(regexp), interpreted)
- GYPFLAGS += -Dv8_interpreted_regexp=1
-endif
-# i18nsupport=off
-ifeq ($(i18nsupport), off)
- GYPFLAGS += -Dv8_enable_i18n_support=0
- TESTFLAGS += --noi18n
-endif
-# deprecationwarnings=on
-ifeq ($(deprecationwarnings), on)
- GYPFLAGS += -Dv8_deprecation_warnings=1
-endif
-# vectorstores=on
-ifeq ($(vectorstores), on)
- GYPFLAGS += -Dv8_vector_stores=1
-endif
-# imminentdeprecationwarnings=on
-ifeq ($(imminentdeprecationwarnings), on)
- GYPFLAGS += -Dv8_imminent_deprecation_warnings=1
-endif
-# asan=on
-ifeq ($(asan), on)
- GYPFLAGS += -Dasan=1 -Dclang=1
- TESTFLAGS += --asan
- ifeq ($(lsan), on)
- GYPFLAGS += -Dlsan=1
- endif
-endif
-ifdef embedscript
- GYPFLAGS += -Dembed_script=$(embedscript)
-endif
-ifdef warmupscript
- GYPFLAGS += -Dwarmup_script=$(warmupscript)
-endif
-ifeq ($(goma), on)
- GYPFLAGS += -Duse_goma=1
-endif
-# v8_os_page_size=0, when 0 or not specified use build OS page size
-ifdef v8_os_page_size
- ifneq ($(v8_os_page_size), 0)
- ifneq ($(snapshot), off)
- GYPFLAGS += -Dv8_os_page_size=$(v8_os_page_size)
- endif
- endif
-endif
-# arm specific flags.
-# arm_version=
-ifneq ($(strip $(arm_version)),)
- GYPFLAGS += -Darm_version=$(arm_version)
-else
-# Deprecated (use arm_version instead): armv7=false/true
-ifeq ($(armv7), false)
- GYPFLAGS += -Darm_version=6
-else
-ifeq ($(armv7), true)
- GYPFLAGS += -Darm_version=7
-endif
-endif
-endif
-# hardfp=on/off. Deprecated, use armfloatabi
-ifeq ($(hardfp),on)
- GYPFLAGS += -Darm_float_abi=hard
-else
-ifeq ($(hardfp),off)
- GYPFLAGS += -Darm_float_abi=softfp
-endif
-endif
-# fpu: armfpu=xxx
-# xxx: vfp, vfpv3-d16, vfpv3, neon.
-ifeq ($(armfpu),)
- GYPFLAGS += -Darm_fpu=default
-else
- GYPFLAGS += -Darm_fpu=$(armfpu)
-endif
-# float abi: armfloatabi=softfp/hard
-ifeq ($(armfloatabi),)
-ifeq ($(hardfp),)
- GYPFLAGS += -Darm_float_abi=default
-endif
-else
- GYPFLAGS += -Darm_float_abi=$(armfloatabi)
-endif
-# armthumb=on/off
-ifeq ($(armthumb), off)
- GYPFLAGS += -Darm_thumb=0
-else
-ifeq ($(armthumb), on)
- GYPFLAGS += -Darm_thumb=1
-endif
-endif
-# arm_test_noprobe=on
-# With this flag set, by default v8 will only use features implied
-# by the compiler (no probe). This is done by modifying the default
-# values of enable_armv7, enable_vfp3, enable_32dregs and enable_neon.
-# Modifying these flags when launching v8 will enable the probing for
-# the specified values.
-ifeq ($(arm_test_noprobe), on)
- GYPFLAGS += -Darm_test_noprobe=on
-endif
-# Do not omit the frame pointer, needed for profiling with perf
-ifeq ($(no_omit_framepointer), on)
- GYPFLAGS += -Drelease_extra_cflags=-fno-omit-frame-pointer
-endif
-
-ifdef android_ndk_root
- GYPFLAGS += -Dandroid_ndk_root=$(android_ndk_root)
- export ANDROID_NDK_ROOT = $(android_ndk_root)
-endif
-
-# ----------------- available targets: --------------------
-# - any arch listed in ARCHES (see below)
-# - any mode listed in MODES
-# - every combination ., e.g. "ia32.release"
-# - "native": current host's architecture, release mode
-# - any of the above with .check appended, e.g. "ia32.release.check"
-# - "android": cross-compile for Android/ARM
-# - default (no target specified): build all DEFAULT_ARCHES and MODES
-# - "check": build all targets and run all tests
-# - ".clean" for any in ARCHES
-# - "clean": clean all ARCHES
-
-# ----------------- internal stuff ------------------------
-
-# Architectures and modes to be compiled. Consider these to be internal
-# variables, don't override them (use the targets instead).
-ARCHES = ia32 x64 arm arm64 mips mipsel mips64 mips64el ppc ppc64 s390 s390x
-ARCHES32 = ia32 arm mips mipsel ppc s390
-DEFAULT_ARCHES = ia32 x64 arm
-MODES = release debug optdebug
-DEFAULT_MODES = release debug
-ANDROID_ARCHES = android_ia32 android_x64 android_arm android_arm64 \
- android_mipsel
-
-# List of files that trigger Makefile regeneration:
-GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
- gypfiles/shim_headers.gypi gypfiles/features.gypi \
- gypfiles/standalone.gypi \
- gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
- test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
- test/unittests/unittests.gyp src/v8.gyp \
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
- samples/samples.gyp src/third_party/vtune/v8vtune.gyp src/d8.gyp
-
-# If vtunejit=on, the v8vtune.gyp will be appended.
-ifeq ($(vtunejit), on)
- GYPFILES += src/third_party/vtune/v8vtune.gyp
-endif
-# Generates all combinations of ARCHES and MODES, e.g. "ia32.release".
-BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES)))
-ANDROID_BUILDS = $(foreach mode,$(MODES), \
- $(addsuffix .$(mode),$(ANDROID_ARCHES)))
-# Generates corresponding test targets, e.g. "ia32.release.check".
-CHECKS = $(addsuffix .check,$(BUILDS))
-QUICKCHECKS = $(addsuffix .quickcheck,$(BUILDS))
-ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS))
-# File where previously used GYPFLAGS are stored.
-ENVFILE = $(OUTDIR)/environment
-
-.PHONY: all check clean builddeps dependencies $(ENVFILE).new native \
- qc quickcheck $(QUICKCHECKS) turbocheck \
- $(addsuffix .quickcheck,$(MODES)) $(addsuffix .quickcheck,$(ARCHES)) \
- $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \
- $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \
- $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS)
-
-# Target definitions. "all" is the default.
-all: $(DEFAULT_MODES)
-
-# Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
-# having been created before.
-buildbot:
- $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \
- builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)"
-
-# Compile targets. MODES and ARCHES are convenience targets.
-.SECONDEXPANSION:
-$(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))
-
-$(ARCHES): $(addprefix $$@.,$(DEFAULT_MODES))
-
-# Defines how to build a particular target (e.g. ia32.release).
-$(BUILDS): $(OUTDIR)/Makefile.$$@
- @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \
- BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
- python -c "print \
- raw_input().replace('opt', '').capitalize()") \
- builddir="$(shell pwd)/$(OUTDIR)/$@"
-
-native: $(OUTDIR)/Makefile.native
- @$(MAKE) -C "$(OUTDIR)" -f Makefile.native \
- BUILDTYPE=Release \
- builddir="$(shell pwd)/$(OUTDIR)/$@"
-
-$(ANDROID_ARCHES): $(addprefix $$@.,$(MODES))
-
-$(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) Makefile.android
- @$(MAKE) -f Makefile.android $@ \
- ARCH="$(basename $@)" \
- MODE="$(subst .,,$(suffix $@))" \
- OUTDIR="$(OUTDIR)" \
- GYPFLAGS="$(GYPFLAGS)"
-
-# Test targets.
-check: all
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch=$(shell echo $(DEFAULT_ARCHES) | sed -e 's/ /,/g') \
- $(TESTFLAGS)
-
-$(addsuffix .check,$(MODES)): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --mode=$(basename $@) $(TESTFLAGS)
-
-$(addsuffix .check,$(ARCHES)): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch=$(basename $@) $(TESTFLAGS)
-
-$(CHECKS): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(basename $@) $(TESTFLAGS)
-
-$(addsuffix .quickcheck,$(MODES)): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --mode=$(basename $@) $(TESTFLAGS) --quickcheck
-
-$(addsuffix .quickcheck,$(ARCHES)): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch=$(basename $@) $(TESTFLAGS) --quickcheck
-
-$(QUICKCHECKS): $$(basename $$@)
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(basename $@) $(TESTFLAGS) --quickcheck
-
-$(addsuffix .sync, $(ANDROID_BUILDS)): $$(basename $$@)
- @tools/android-sync.sh $(basename $@) $(OUTDIR) \
- $(shell pwd) $(ANDROID_V8)
-
-$(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(basename $@) \
- --timeout=600 \
- --command-prefix="tools/android-run.py" $(TESTFLAGS)
-
-$(addsuffix .check, $(ANDROID_ARCHES)): \
- $(addprefix $$(basename $$@).,$(MODES)).check
-
-native.check: native
- @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR)/native \
- --arch-and-mode=. $(TESTFLAGS)
-
-SUPERFASTTESTMODES = ia32.release
-FASTTESTMODES = $(SUPERFASTTESTMODES),x64.release,ia32.optdebug,x64.optdebug,arm.optdebug,arm64.release
-FASTCOMPILEMODES = $(FASTTESTMODES),arm64.optdebug
-
-COMMA = ,
-EMPTY =
-SPACE = $(EMPTY) $(EMPTY)
-quickcheck: $(subst $(COMMA),$(SPACE),$(FASTCOMPILEMODES))
- gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(SUPERFASTTESTMODES) $(TESTFLAGS) --quickcheck \
- --download-data mozilla webkit
- gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) --quickcheck
-qc: quickcheck
-
-turbocheck: $(subst $(COMMA),$(SPACE),$(FASTCOMPILEMODES))
- gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(SUPERFASTTESTMODES) $(TESTFLAGS) \
- --quickcheck --variants=turbofan --download-data mozilla webkit
- gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \
- --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) \
- --quickcheck --variants=turbofan
-tc: turbocheck
-
-# Clean targets. You can clean each architecture individually, or everything.
-$(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES)):
- rm -f $(OUTDIR)/Makefile.$(basename $@)*
- rm -rf $(OUTDIR)/$(basename $@).release
- rm -rf $(OUTDIR)/$(basename $@).debug
- rm -rf $(OUTDIR)/$(basename $@).optdebug
- find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete
-
-native.clean:
- rm -f $(OUTDIR)/Makefile.native
- rm -rf $(OUTDIR)/native
- find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete
-
-clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES)) native.clean gtags.clean tags.clean
-
-# GYP file generation targets.
-OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS))
-$(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
- $(eval CXX_TARGET_ARCH:=$(shell $(CXX) -v 2>&1 | grep ^Target: | \
- cut -f 2 -d " " | cut -f 1 -d "-" ))
- $(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst x86_64,x64,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst s390x,s390,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst powerpc,ppc,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst ppc64,ppc,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst ppcle,ppc,$(CXX_TARGET_ARCH)))
- $(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@))))
- PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/gypfiles:$(PYTHONPATH):$(shell pwd)/tools/gyp/pylib:$(PYTHONPATH)" \
- GYP_GENERATORS=make \
- tools/gyp/gyp --generator-output="$(OUTDIR)" gypfiles/all.gyp \
- -Igypfiles/standalone.gypi --depth=. \
- -Dv8_target_arch=$(V8_TARGET_ARCH) \
- $(if $(findstring $(CXX_TARGET_ARCH),$(V8_TARGET_ARCH)), \
- -Dtarget_arch=$(V8_TARGET_ARCH), \
- $(if $(shell echo $(ARCHES32) | grep $(V8_TARGET_ARCH)), \
- -Dtarget_arch=ia32,)) \
- $(if $(findstring optdebug,$@),-Dv8_optimized_debug=1,) \
- -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)
-
-$(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
- PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/gypfiles:$(PYTHONPATH):$(shell pwd)/tools/gyp/pylib:$(PYTHONPATH)" \
- GYP_GENERATORS=make \
- tools/gyp/gyp --generator-output="$(OUTDIR)" gypfiles/all.gyp \
- -Igypfiles/standalone.gypi --depth=. -S.native $(GYPFLAGS)
-
-# Replaces the old with the new environment file if they're different, which
-# will trigger GYP to regenerate Makefiles.
-$(ENVFILE): $(ENVFILE).new
- @if test -r $(ENVFILE) && cmp $(ENVFILE).new $(ENVFILE) > /dev/null; \
- then rm $(ENVFILE).new; \
- else mv $(ENVFILE).new $(ENVFILE); fi
-
-# Stores current GYPFLAGS in a file.
-$(ENVFILE).new:
- $(eval CXX_TARGET_ARCH:=$(shell $(CXX) -v 2>&1 | grep ^Target: | \
- cut -f 2 -d " " | cut -f 1 -d "-" ))
- $(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH)))
- $(eval CXX_TARGET_ARCH:=$(subst x86_64,x64,$(CXX_TARGET_ARCH)))
- @mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS) -Dtarget_arch=$(CXX_TARGET_ARCH)" > $(ENVFILE).new;
-
-# Support for the GNU GLOBAL Source Code Tag System.
-gtags.files: $(GYPFILES) $(ENVFILE)
- @find include src test -name '*.h' -o -name '*.cc' -o -name '*.c' > $@
-
-# We need to manually set the stack limit here, to work around bugs in
-# gmake-3.81 and global-5.7.1 on recent 64-bit Linux systems.
-# Using $(wildcard ...) gracefully ignores non-existing files, so that stale
-# gtags.files after switching branches don't cause recipe failures.
-GPATH GRTAGS GSYMS GTAGS: gtags.files $(wildcard $(shell cat gtags.files 2> /dev/null))
- @bash -c 'ulimit -s 10240 && GTAGSFORCECPP=yes gtags -i -q -f $<'
-
-gtags.clean:
- rm -f gtags.files GPATH GRTAGS GSYMS GTAGS
-
-tags: gtags.files $(wildcard $(shell cat gtags.files 2> /dev/null))
- @(ctags --version | grep 'Exuberant Ctags' >/dev/null) || \
- (echo "Please install Exuberant Ctags (check 'ctags --version')" >&2; false)
- ctags --fields=+l -L $<
-
-tags.clean:
- rm -r tags
-
-dependencies builddeps:
- $(error Use 'gclient sync' instead)
diff --git a/deps/v8/Makefile.android b/deps/v8/Makefile.android
deleted file mode 100644
index 417152177d73c2..00000000000000
--- a/deps/v8/Makefile.android
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Those definitions should be consistent with the main Makefile
-ANDROID_ARCHES = android_ia32 android_x64 android_arm android_arm64 \
- android_mipsel android_x87
-MODES = release debug
-
-# Generates all combinations of ANDROID ARCHES and MODES,
-# e.g. "android_ia32.release" or "android_arm.release"
-ANDROID_BUILDS = $(foreach mode,$(MODES), \
- $(addsuffix .$(mode),$(ANDROID_ARCHES)))
-
-ifeq ($(ARCH), android_arm)
- DEFINES = target_arch=arm v8_target_arch=arm
-else ifeq ($(ARCH), android_arm64)
- DEFINES = target_arch=arm64 v8_target_arch=arm64
-else ifeq ($(ARCH), android_mipsel)
- DEFINES = target_arch=mipsel v8_target_arch=mipsel
-else ifeq ($(ARCH), android_ia32)
- DEFINES = target_arch=ia32 v8_target_arch=ia32
-else ifeq ($(ARCH), android_x64)
- DEFINES = target_arch=x64 v8_target_arch=x64
-else ifeq ($(ARCH), android_x87)
- DEFINES = target_arch=ia32 v8_target_arch=x87
-else
- $(error Target architecture "${ARCH}" is not supported)
-endif
-
-# Common flags.
-DEFINES += OS=android
-
-.SECONDEXPANSION:
-$(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$@
- @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \
- BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
- python -c "print raw_input().capitalize()") \
- builddir="$(shell pwd)/$(OUTDIR)/$@"
-
-# Android GYP file generation targets.
-ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_BUILDS))
-$(ANDROID_MAKEFILES):
- GYP_GENERATORS=make-android \
- GYP_DEFINES="${DEFINES}" \
- PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/gypfiles:$(PYTHONPATH)" \
- tools/gyp/gyp --generator-output="${OUTDIR}" gypfiles/all.gyp \
- -Igypfiles/standalone.gypi --depth=. \
- -S$(suffix $(basename $@))$(suffix $@) ${GYPFLAGS}
diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS
index 2583a229b6cb09..d8e0fc60def3f7 100644
--- a/deps/v8/OWNERS
+++ b/deps/v8/OWNERS
@@ -7,6 +7,7 @@ bradnelson@chromium.org
cbruni@chromium.org
clemensh@chromium.org
danno@chromium.org
+delphick@chromium.org
eholk@chromium.org
franzih@chromium.org
gdeepti@chromium.org
@@ -17,26 +18,22 @@ ishell@chromium.org
jarin@chromium.org
jgruber@chromium.org
jkummerow@chromium.org
-jochen@chromium.org
leszeks@chromium.org
-littledan@chromium.org
machenbach@chromium.org
marja@chromium.org
mlippautz@chromium.org
mstarzinger@chromium.org
-mtrofin@chromium.org
mvstanton@chromium.org
mythria@chromium.org
neis@chromium.org
petermarshall@chromium.org
rmcilroy@chromium.org
-rossberg@chromium.org
sergiyb@chromium.org
+sigurds@chromium.org
tebbi@chromium.org
titzer@chromium.org
ulan@chromium.org
verwaest@chromium.org
-vogelheim@chromium.org
yangguo@chromium.org
# TEAM: v8-dev@googlegroups.com
diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py
index b69e8f5089168c..e6dbb7939568fd 100644
--- a/deps/v8/PRESUBMIT.py
+++ b/deps/v8/PRESUBMIT.py
@@ -153,6 +153,62 @@ def _CheckUnwantedDependencies(input_api, output_api):
return results
+def _CheckHeadersHaveIncludeGuards(input_api, output_api):
+ """Ensures that all header files have include guards."""
+ file_inclusion_pattern = r'src/.+\.h'
+
+ def FilterFile(affected_file):
+ black_list = (_EXCLUDED_PATHS +
+ input_api.DEFAULT_BLACK_LIST)
+ return input_api.FilterSourceFile(
+ affected_file,
+ white_list=(file_inclusion_pattern, ),
+ black_list=black_list)
+
+ leading_src_pattern = input_api.re.compile(r'^src/')
+ dash_dot_slash_pattern = input_api.re.compile(r'[-./]')
+ def PathToGuardMacro(path):
+ """Guards should be of the form V8_PATH_TO_FILE_WITHOUT_SRC_H_."""
+ x = input_api.re.sub(leading_src_pattern, 'v8_', path)
+ x = input_api.re.sub(dash_dot_slash_pattern, '_', x)
+ x = x.upper() + "_"
+ return x
+
+ problems = []
+ for f in input_api.AffectedSourceFiles(FilterFile):
+ local_path = f.LocalPath()
+ guard_macro = PathToGuardMacro(local_path)
+ guard_patterns = [
+ input_api.re.compile(r'^#ifndef ' + guard_macro + '$'),
+ input_api.re.compile(r'^#define ' + guard_macro + '$'),
+ input_api.re.compile(r'^#endif // ' + guard_macro + '$')]
+ skip_check_pattern = input_api.re.compile(
+ r'^// PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD')
+ found_patterns = [ False, False, False ]
+ file_omitted = False
+
+ for line in f.NewContents():
+ for i in range(len(guard_patterns)):
+ if guard_patterns[i].match(line):
+ found_patterns[i] = True
+ if skip_check_pattern.match(line):
+ file_omitted = True
+ break
+
+ if not file_omitted and not all(found_patterns):
+ problems.append(
+ '%s: Missing include guard \'%s\'' % (local_path, guard_macro))
+
+ if problems:
+ return [output_api.PresubmitError(
+ 'You added one or more header files without an appropriate\n'
+ 'include guard. Add the include guard {#ifndef,#define,#endif}\n'
+ 'triplet or omit the check entirely through the magic comment:\n'
+ '"// PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD".', problems)]
+ else:
+ return []
+
+
# TODO(mstarzinger): Similar checking should be made available as part of
# tools/presubmit.py (note that tools/check-inline-includes.sh exists).
def _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api):
@@ -230,44 +286,10 @@ def FilterFile(affected_file):
return []
-def _CheckMissingFiles(input_api, output_api):
- """Runs verify_source_deps.py to ensure no files were added that are not in
- GN.
- """
- # We need to wait until we have an input_api object and use this
- # roundabout construct to import checkdeps because this file is
- # eval-ed and thus doesn't have __file__.
- original_sys_path = sys.path
- try:
- sys.path = sys.path + [input_api.os_path.join(
- input_api.PresubmitLocalPath(), 'tools')]
- from verify_source_deps import missing_gn_files, missing_gyp_files
- finally:
- # Restore sys.path to what it was before.
- sys.path = original_sys_path
-
- gn_files = missing_gn_files()
- gyp_files = missing_gyp_files()
- results = []
- if gn_files:
- results.append(output_api.PresubmitError(
- "You added one or more source files but didn't update the\n"
- "corresponding BUILD.gn files:\n",
- gn_files))
- if gyp_files:
- results.append(output_api.PresubmitError(
- "You added one or more source files but didn't update the\n"
- "corresponding gyp files:\n",
- gyp_files))
- return results
-
-
def _CommonChecks(input_api, output_api):
"""Checks common to both upload and commit."""
results = []
results.extend(_CheckCommitMessageBugEntry(input_api, output_api))
- results.extend(input_api.canned_checks.CheckOwners(
- input_api, output_api, source_file_filter=None))
results.extend(input_api.canned_checks.CheckPatchFormatted(
input_api, output_api))
results.extend(input_api.canned_checks.CheckGenderNeutral(
@@ -276,9 +298,9 @@ def _CommonChecks(input_api, output_api):
results.extend(_CheckUnwantedDependencies(input_api, output_api))
results.extend(
_CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api))
+ results.extend(_CheckHeadersHaveIncludeGuards(input_api, output_api))
results.extend(
_CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api))
- results.extend(_CheckMissingFiles(input_api, output_api))
results.extend(_CheckJSONFiles(input_api, output_api))
results.extend(_CheckMacroUndefs(input_api, output_api))
results.extend(input_api.RunTests(
diff --git a/deps/v8/gypfiles/win/msvs_dependencies.isolate b/deps/v8/gni/msvs_dependencies.isolate
similarity index 100%
rename from deps/v8/gypfiles/win/msvs_dependencies.isolate
rename to deps/v8/gni/msvs_dependencies.isolate
diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni
index ce9953ac68ce1f..16a124dce85471 100644
--- a/deps/v8/gni/v8.gni
+++ b/deps/v8/gni/v8.gni
@@ -33,7 +33,9 @@ declare_args() {
# Enable the snapshot feature, for fast context creation.
# http://v8project.blogspot.com/2015/09/custom-startup-snapshots.html
- v8_use_snapshot = true
+ # TODO(thakis): Make snapshots work in 64-bit win/cross builds,
+ # https://803591
+ v8_use_snapshot = !(is_win && host_os != "win" && target_cpu == "x64")
# Use external files for startup data blobs:
# the JS builtins sources and the start snapshot.
@@ -105,6 +107,12 @@ if (is_posix && (v8_enable_backtrace || v8_monolithic)) {
v8_add_configs += [ "//build/config/gcc:symbol_visibility_default" ]
}
+# On MIPS gcc_target_rpath and ldso_path might be needed for all builds.
+if (target_cpu == "mipsel" || target_cpu == "mips64el" ||
+ target_cpu == "mips" || target_cpu == "mips64") {
+ v8_add_configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+}
+
# All templates should be kept in sync.
template("v8_source_set") {
if (defined(invoker.split_count) && invoker.split_count > 1 &&
diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp
index 2f9cf858c03c74..5592ee1b36ca0f 100644
--- a/deps/v8/gypfiles/all.gyp
+++ b/deps/v8/gypfiles/all.gyp
@@ -8,46 +8,23 @@
'target_name': 'All',
'type': 'none',
'dependencies': [
- '../src/d8.gyp:d8',
- '../test/inspector/inspector.gyp:*',
- '../test/mkgrokdump/mkgrokdump.gyp:*',
+ 'd8.gyp:d8',
+ 'inspector-test.gyp:*',
+ 'mkgrokdump.gyp:*',
],
'conditions': [
['component!="shared_library"', {
'dependencies': [
- '../tools/parser-shell.gyp:parser-shell',
+ 'parser-shell.gyp:parser-shell',
],
}],
# These items don't compile for Android on Mac.
['host_os!="mac" or OS!="android"', {
'dependencies': [
- '../samples/samples.gyp:*',
- '../test/cctest/cctest.gyp:*',
- '../test/fuzzer/fuzzer.gyp:*',
- '../test/unittests/unittests.gyp:*',
- ],
- }],
- ['test_isolation_mode != "noop"', {
- 'dependencies': [
- '../test/bot_default.gyp:*',
- '../test/benchmarks/benchmarks.gyp:*',
- '../test/debugger/debugger.gyp:*',
- '../test/default.gyp:*',
- '../test/d8_default.gyp:*',
- '../test/intl/intl.gyp:*',
- '../test/message/message.gyp:*',
- '../test/mjsunit/mjsunit.gyp:*',
- '../test/mozilla/mozilla.gyp:*',
- '../test/optimize_for_size.gyp:*',
- '../test/perf.gyp:*',
- '../test/preparser/preparser.gyp:*',
- '../test/test262/test262.gyp:*',
- '../test/webkit/webkit.gyp:*',
- '../tools/check-static-initializers.gyp:*',
- '../tools/gcmole/run_gcmole.gyp:*',
- '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
- '../tools/run-deopt-fuzzer.gyp:*',
- '../tools/run-num-fuzzer.gyp:*',
+ 'samples.gyp:*',
+ 'cctest.gyp:*',
+ 'fuzzer.gyp:*',
+ 'unittests.gyp:*',
],
}],
]
diff --git a/deps/v8/gypfiles/cctest.gyp b/deps/v8/gypfiles/cctest.gyp
new file mode 100644
index 00000000000000..6e7fddae0bdb34
--- /dev/null
+++ b/deps/v8/gypfiles/cctest.gyp
@@ -0,0 +1,468 @@
+# Copyright 2012 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ 'generated_file': '<(SHARED_INTERMEDIATE_DIR)/resources.cc',
+ 'cctest_sources': [
+ '../test/cctest/compiler/c-signature.h',
+ '../test/cctest/compiler/call-tester.h',
+ '../test/cctest/compiler/codegen-tester.cc',
+ '../test/cctest/compiler/codegen-tester.h',
+ '../test/cctest/compiler/code-assembler-tester.h',
+ '../test/cctest/compiler/function-tester.cc',
+ '../test/cctest/compiler/function-tester.h',
+ '../test/cctest/compiler/graph-builder-tester.h',
+ '../test/cctest/compiler/test-basic-block-profiler.cc',
+ '../test/cctest/compiler/test-branch-combine.cc',
+ '../test/cctest/compiler/test-run-unwinding-info.cc',
+ '../test/cctest/compiler/test-gap-resolver.cc',
+ '../test/cctest/compiler/test-graph-visualizer.cc',
+ '../test/cctest/compiler/test-code-generator.cc',
+ '../test/cctest/compiler/test-code-assembler.cc',
+ '../test/cctest/compiler/test-instruction.cc',
+ '../test/cctest/compiler/test-js-context-specialization.cc',
+ '../test/cctest/compiler/test-js-constant-cache.cc',
+ '../test/cctest/compiler/test-js-typed-lowering.cc',
+ '../test/cctest/compiler/test-jump-threading.cc',
+ '../test/cctest/compiler/test-linkage.cc',
+ '../test/cctest/compiler/test-loop-analysis.cc',
+ '../test/cctest/compiler/test-machine-operator-reducer.cc',
+ '../test/cctest/compiler/test-multiple-return.cc',
+ '../test/cctest/compiler/test-node.cc',
+ '../test/cctest/compiler/test-operator.cc',
+ '../test/cctest/compiler/test-representation-change.cc',
+ '../test/cctest/compiler/test-run-bytecode-graph-builder.cc',
+ '../test/cctest/compiler/test-run-calls-to-external-references.cc',
+ '../test/cctest/compiler/test-run-deopt.cc',
+ '../test/cctest/compiler/test-run-intrinsics.cc',
+ '../test/cctest/compiler/test-run-jsbranches.cc',
+ '../test/cctest/compiler/test-run-jscalls.cc',
+ '../test/cctest/compiler/test-run-jsexceptions.cc',
+ '../test/cctest/compiler/test-run-jsobjects.cc',
+ '../test/cctest/compiler/test-run-jsops.cc',
+ '../test/cctest/compiler/test-run-load-store.cc',
+ '../test/cctest/compiler/test-run-machops.cc',
+ '../test/cctest/compiler/test-run-native-calls.cc',
+ '../test/cctest/compiler/test-run-retpoline.cc',
+ '../test/cctest/compiler/test-run-stackcheck.cc',
+ '../test/cctest/compiler/test-run-stubs.cc',
+ '../test/cctest/compiler/test-run-tail-calls.cc',
+ '../test/cctest/compiler/test-run-variables.cc',
+ '../test/cctest/compiler/test-run-wasm-machops.cc',
+ '../test/cctest/compiler/value-helper.cc',
+ '../test/cctest/compiler/value-helper.h',
+ '../test/cctest/cctest.cc',
+ '../test/cctest/cctest.h',
+ '../test/cctest/expression-type-collector-macros.h',
+ '../test/cctest/gay-fixed.cc',
+ '../test/cctest/gay-fixed.h',
+ '../test/cctest/gay-precision.cc',
+ '../test/cctest/gay-precision.h',
+ '../test/cctest/gay-shortest.cc',
+ '../test/cctest/gay-shortest.h',
+ '../test/cctest/heap/heap-tester.h',
+ '../test/cctest/heap/heap-utils.cc',
+ '../test/cctest/heap/heap-utils.h',
+ '../test/cctest/heap/test-alloc.cc',
+ '../test/cctest/heap/test-array-buffer-tracker.cc',
+ '../test/cctest/heap/test-compaction.cc',
+ '../test/cctest/heap/test-concurrent-marking.cc',
+ '../test/cctest/heap/test-embedder-tracing.cc',
+ '../test/cctest/heap/test-heap.cc',
+ '../test/cctest/heap/test-incremental-marking.cc',
+ '../test/cctest/heap/test-invalidated-slots.cc',
+ '../test/cctest/heap/test-lab.cc',
+ '../test/cctest/heap/test-mark-compact.cc',
+ '../test/cctest/heap/test-page-promotion.cc',
+ '../test/cctest/heap/test-spaces.cc',
+ '../test/cctest/interpreter/interpreter-tester.cc',
+ '../test/cctest/interpreter/interpreter-tester.h',
+ '../test/cctest/interpreter/source-position-matcher.cc',
+ '../test/cctest/interpreter/source-position-matcher.h',
+ '../test/cctest/interpreter/test-bytecode-generator.cc',
+ '../test/cctest/interpreter/test-interpreter.cc',
+ '../test/cctest/interpreter/test-interpreter-intrinsics.cc',
+ '../test/cctest/interpreter/test-source-positions.cc',
+ '../test/cctest/interpreter/bytecode-expectations-printer.cc',
+ '../test/cctest/interpreter/bytecode-expectations-printer.h',
+ '../test/cctest/libplatform/test-tracing.cc',
+ '../test/cctest/libsampler/test-sampler.cc',
+ '../test/cctest/parsing/test-parse-decision.cc',
+ '../test/cctest/parsing/test-preparser.cc',
+ '../test/cctest/parsing/test-scanner-streams.cc',
+ '../test/cctest/parsing/test-scanner.cc',
+ '../test/cctest/print-extension.cc',
+ '../test/cctest/print-extension.h',
+ '../test/cctest/profiler-extension.cc',
+ '../test/cctest/profiler-extension.h',
+ '../test/cctest/scope-test-helper.h',
+ '../test/cctest/setup-isolate-for-tests.cc',
+ '../test/cctest/setup-isolate-for-tests.h',
+ '../test/cctest/test-access-checks.cc',
+ '../test/cctest/test-accessor-assembler.cc',
+ '../test/cctest/test-accessors.cc',
+ '../test/cctest/test-allocation.cc',
+ '../test/cctest/test-api.cc',
+ '../test/cctest/test-api.h',
+ '../test/cctest/test-api-accessors.cc',
+ '../test/cctest/test-api-interceptors.cc',
+ '../test/cctest/test-array-list.cc',
+ '../test/cctest/test-atomicops.cc',
+ '../test/cctest/test-bignum.cc',
+ '../test/cctest/test-bignum-dtoa.cc',
+ '../test/cctest/test-bit-vector.cc',
+ '../test/cctest/test-circular-queue.cc',
+ '../test/cctest/test-code-layout.cc',
+ '../test/cctest/test-code-stub-assembler.cc',
+ '../test/cctest/test-compiler.cc',
+ '../test/cctest/test-constantpool.cc',
+ '../test/cctest/test-conversions.cc',
+ '../test/cctest/test-cpu-profiler.cc',
+ '../test/cctest/test-date.cc',
+ '../test/cctest/test-debug.cc',
+ '../test/cctest/test-decls.cc',
+ '../test/cctest/test-deoptimization.cc',
+ '../test/cctest/test-dictionary.cc',
+ '../test/cctest/test-diy-fp.cc',
+ '../test/cctest/test-double.cc',
+ '../test/cctest/test-dtoa.cc',
+ '../test/cctest/test-elements-kind.cc',
+ '../test/cctest/test-fast-dtoa.cc',
+ '../test/cctest/test-feedback-vector.cc',
+ '../test/cctest/test-feedback-vector.h',
+ '../test/cctest/test-field-type-tracking.cc',
+ '../test/cctest/test-fixed-dtoa.cc',
+ '../test/cctest/test-flags.cc',
+ '../test/cctest/test-func-name-inference.cc',
+ '../test/cctest/test-global-handles.cc',
+ '../test/cctest/test-global-object.cc',
+ '../test/cctest/test-hashcode.cc',
+ '../test/cctest/test-hashmap.cc',
+ '../test/cctest/test-heap-profiler.cc',
+ '../test/cctest/test-identity-map.cc',
+ '../test/cctest/test-intl.cc',
+ '../test/cctest/test-inobject-slack-tracking.cc',
+ '../test/cctest/test-isolate-independent-builtins.cc',
+ '../test/cctest/test-liveedit.cc',
+ '../test/cctest/test-lockers.cc',
+ '../test/cctest/test-log.cc',
+ '../test/cctest/test-managed.cc',
+ '../test/cctest/test-mementos.cc',
+ '../test/cctest/test-modules.cc',
+ '../test/cctest/test-object.cc',
+ '../test/cctest/test-orderedhashtable.cc',
+ '../test/cctest/test-parsing.cc',
+ '../test/cctest/test-platform.cc',
+ '../test/cctest/test-profile-generator.cc',
+ '../test/cctest/test-random-number-generator.cc',
+ '../test/cctest/test-regexp.cc',
+ '../test/cctest/test-representation.cc',
+ '../test/cctest/test-sampler-api.cc',
+ '../test/cctest/test-serialize.cc',
+ '../test/cctest/test-strings.cc',
+ '../test/cctest/test-symbols.cc',
+ '../test/cctest/test-strtod.cc',
+ '../test/cctest/test-thread-termination.cc',
+ '../test/cctest/test-threads.cc',
+ '../test/cctest/test-trace-event.cc',
+ '../test/cctest/test-traced-value.cc',
+ '../test/cctest/test-transitions.cc',
+ '../test/cctest/test-transitions.h',
+ '../test/cctest/test-typedarrays.cc',
+ '../test/cctest/test-types.cc',
+ '../test/cctest/test-unbound-queue.cc',
+ '../test/cctest/test-unboxed-doubles.cc',
+ '../test/cctest/test-unscopables-hidden-prototype.cc',
+ '../test/cctest/test-usecounters.cc',
+ '../test/cctest/test-utils.cc',
+ '../test/cctest/test-version.cc',
+ '../test/cctest/test-weakmaps.cc',
+ '../test/cctest/test-weaksets.cc',
+ '../test/cctest/trace-extension.cc',
+ '../test/cctest/trace-extension.h',
+ '../test/cctest/types-fuzz.h',
+ '../test/cctest/unicode-helpers.h',
+ '../test/cctest/wasm/test-c-wasm-entry.cc',
+ '../test/cctest/wasm/test-streaming-compilation.cc',
+ '../test/cctest/wasm/test-run-wasm.cc',
+ '../test/cctest/wasm/test-run-wasm-64.cc',
+ '../test/cctest/wasm/test-run-wasm-asmjs.cc',
+ '../test/cctest/wasm/test-run-wasm-atomics.cc',
+ '../test/cctest/wasm/test-run-wasm-interpreter.cc',
+ '../test/cctest/wasm/test-run-wasm-js.cc',
+ '../test/cctest/wasm/test-run-wasm-module.cc',
+ '../test/cctest/wasm/test-run-wasm-relocation.cc',
+ '../test/cctest/wasm/test-run-wasm-sign-extension.cc',
+ '../test/cctest/wasm/test-run-wasm-simd.cc',
+ '../test/cctest/wasm/test-wasm-breakpoints.cc',
+ "../test/cctest/wasm/test-wasm-codegen.cc",
+ '../test/cctest/wasm/test-wasm-interpreter-entry.cc',
+ '../test/cctest/wasm/test-wasm-stack.cc',
+ '../test/cctest/wasm/test-wasm-trap-position.cc',
+ '../test/cctest/wasm/wasm-run-utils.cc',
+ '../test/cctest/wasm/wasm-run-utils.h',
+ ],
+ 'cctest_sources_ia32': [
+ '../test/cctest/test-assembler-ia32.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-ia32.cc',
+ '../test/cctest/test-disasm-ia32.cc',
+ '../test/cctest/test-log-stack-tracer.cc',
+ '../test/cctest/test-run-wasm-relocation-ia32.cc',
+ ],
+ 'cctest_sources_x64': [
+ '../test/cctest/test-assembler-x64.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-x64.cc',
+ '../test/cctest/test-disasm-x64.cc',
+ '../test/cctest/test-macro-assembler-x64.cc',
+ '../test/cctest/test-log-stack-tracer.cc',
+ '../test/cctest/test-run-wasm-relocation-x64.cc',
+ ],
+ 'cctest_sources_arm': [
+ '../test/cctest/assembler-helper-arm.cc',
+ '../test/cctest/assembler-helper-arm.h',
+ '../test/cctest/test-assembler-arm.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-arm.cc',
+ '../test/cctest/test-disasm-arm.cc',
+ '../test/cctest/test-macro-assembler-arm.cc',
+ '../test/cctest/test-run-wasm-relocation-arm.cc',
+ '../test/cctest/test-sync-primitives-arm.cc',
+ ],
+ 'cctest_sources_arm64': [
+ '../test/cctest/test-utils-arm64.cc',
+ '../test/cctest/test-utils-arm64.h',
+ '../test/cctest/test-assembler-arm64.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-arm64.cc',
+ '../test/cctest/test-disasm-arm64.cc',
+ '../test/cctest/test-fuzz-arm64.cc',
+ '../test/cctest/test-javascript-arm64.cc',
+ '../test/cctest/test-js-arm64-variables.cc',
+ '../test/cctest/test-run-wasm-relocation-arm64.cc',
+ '../test/cctest/test-sync-primitives-arm64.cc',
+ ],
+ 'cctest_sources_s390': [
+ '../test/cctest/test-assembler-s390.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-disasm-s390.cc',
+ ],
+ 'cctest_sources_ppc': [
+ '../test/cctest/test-assembler-ppc.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-disasm-ppc.cc',
+ ],
+ 'cctest_sources_mips': [
+ '../test/cctest/test-assembler-mips.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-mips.cc',
+ '../test/cctest/test-disasm-mips.cc',
+ '../test/cctest/test-macro-assembler-mips.cc',
+ ],
+ 'cctest_sources_mipsel': [
+ '../test/cctest/test-assembler-mips.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-mips.cc',
+ '../test/cctest/test-disasm-mips.cc',
+ '../test/cctest/test-macro-assembler-mips.cc',
+ ],
+ 'cctest_sources_mips64': [
+ '../test/cctest/test-assembler-mips64.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-mips64.cc',
+ '../test/cctest/test-disasm-mips64.cc',
+ '../test/cctest/test-macro-assembler-mips64.cc',
+ ],
+ 'cctest_sources_mips64el': [
+ '../test/cctest/test-assembler-mips64.cc',
+ '../test/cctest/test-code-stubs.cc',
+ '../test/cctest/test-code-stubs.h',
+ '../test/cctest/test-code-stubs-mips64.cc',
+ '../test/cctest/test-disasm-mips64.cc',
+ '../test/cctest/test-macro-assembler-mips64.cc',
+ ],
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi'],
+ 'targets': [
+ {
+ 'target_name': 'cctest',
+ 'type': 'executable',
+ 'dependencies': [
+ 'resources',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ '../test/common/wasm/flag-utils.h',
+ '../test/common/wasm/test-signatures.h',
+ '../test/common/wasm/wasm-macro-gen.h',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '<@(cctest_sources)',
+ '<(generated_file)',
+ ],
+ 'conditions': [
+ ['v8_target_arch=="ia32"', {
+ 'sources': [
+ '<@(cctest_sources_ia32)',
+ ],
+ }],
+ ['v8_target_arch=="x64"', {
+ 'sources': [
+ '<@(cctest_sources_x64)',
+ ],
+ }],
+ ['v8_target_arch=="arm"', {
+ 'sources': [
+ '<@(cctest_sources_arm)',
+ ],
+ }],
+ ['v8_target_arch=="arm64"', {
+ 'sources': [
+ '<@(cctest_sources_arm64)',
+ ],
+ }],
+ ['v8_target_arch=="s390"', {
+ 'sources': [
+ '<@(cctest_sources_s390)',
+ ],
+ }],
+ ['v8_target_arch=="s390x"', {
+ 'sources': [
+ '<@(cctest_sources_s390)',
+ ],
+ }],
+ ['v8_target_arch=="ppc"', {
+ 'sources': [
+ '<@(cctest_sources_ppc)',
+ ],
+ }],
+ ['v8_target_arch=="ppc64"', {
+ 'sources': [
+ '<@(cctest_sources_ppc)',
+ ],
+ }],
+ ['v8_target_arch=="mips"', {
+ 'sources': [
+ '<@(cctest_sources_mips)',
+ ],
+ }],
+ ['v8_target_arch=="mipsel"', {
+ 'sources': [
+ '<@(cctest_sources_mipsel)',
+ ],
+ }],
+ ['v8_target_arch=="mips64"', {
+ 'sources': [
+ '<@(cctest_sources_mips64)',
+ ],
+ }],
+ ['v8_target_arch=="mips64el"', {
+ 'sources': [
+ '<@(cctest_sources_mips64el)',
+ ],
+ }],
+ [ 'OS=="win"', {
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ # MSVS wants this for gay-{precision,shortest}.cc.
+ 'AdditionalOptions': ['/bigobj'],
+ },
+ },
+ }],
+ ['v8_target_arch=="ppc" or v8_target_arch=="ppc64" \
+ or v8_target_arch=="arm" or v8_target_arch=="arm64" \
+ or v8_target_arch=="s390" or v8_target_arch=="s390x" \
+ or v8_target_arch=="mips" or v8_target_arch=="mips64" \
+ or v8_target_arch=="mipsel" or v8_target_arch=="mips64el"', {
+ # disable fmadd/fmsub so that expected results match generated code in
+ # RunFloat64MulAndFloat64Add1 and friends.
+ 'cflags': ['-ffp-contract=off'],
+ }],
+ ['OS=="aix"', {
+ 'ldflags': [ '-Wl,-bbigtoc' ],
+ }],
+ ['component=="shared_library"', {
+ # cctest can't be built against a shared library, so we need to
+ # depend on the underlying static target in that case.
+ 'dependencies': ['v8.gyp:v8_maybe_snapshot'],
+ 'defines': [ 'BUILDING_V8_SHARED', ]
+ }, {
+ 'dependencies': ['v8.gyp:v8'],
+ }],
+ ['v8_use_snapshot=="true"', {
+ 'dependencies': ['v8.gyp:v8_initializers'],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'resources',
+ 'type': 'none',
+ 'variables': {
+ 'file_list': [
+ '../tools/splaytree.js',
+ '../tools/codemap.js',
+ '../tools/csvparser.js',
+ '../tools/consarray.js',
+ '../tools/profile.js',
+ '../tools/profile_view.js',
+ '../tools/arguments.js',
+ '../tools/logreader.js',
+ '../test/cctest/log-eq-of-logging-and-traversal.js',
+ ],
+ },
+ 'actions': [
+ {
+ 'action_name': 'js2c',
+ 'inputs': [
+ '../tools/js2c.py',
+ '<@(file_list)',
+ ],
+ 'outputs': [
+ '<(generated_file)',
+ ],
+ 'action': [
+ 'python',
+ '../tools/js2c.py',
+ '<@(_outputs)',
+ 'TEST', # type
+ '<@(file_list)',
+ ],
+ }
+ ],
+ },
+ {
+ 'target_name': 'generate-bytecode-expectations',
+ 'type': 'executable',
+ 'dependencies': [
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
+ ],
+ 'include_dirs+': [
+ '..',
+ ],
+ 'sources': [
+ '../test/cctest/interpreter/bytecode-expectations-printer.cc',
+ '../test/cctest/interpreter/bytecode-expectations-printer.h',
+ '../test/cctest/interpreter/generate-bytecode-expectations.cc',
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/gypfiles/coverage_wrapper.py b/deps/v8/gypfiles/coverage_wrapper.py
old mode 100755
new mode 100644
diff --git a/deps/v8/src/d8.gyp b/deps/v8/gypfiles/d8.gyp
similarity index 52%
rename from deps/v8/src/d8.gyp
rename to deps/v8/gypfiles/d8.gyp
index e6a40212cd7236..f593a2b044ee4a 100644
--- a/deps/v8/src/d8.gyp
+++ b/deps/v8/gypfiles/d8.gyp
@@ -1,29 +1,6 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Copyright 2018 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
{
'variables': {
@@ -32,7 +9,7 @@
'v8_enable_vtunejit%': 0,
'v8_enable_i18n_support%': 1,
},
- 'includes': ['../gypfiles/toolchain.gypi', '../gypfiles/features.gypi'],
+ 'includes': ['toolchain.gypi', 'features.gypi'],
'targets': [
{
'target_name': 'd8',
@@ -48,10 +25,10 @@
'<(DEPTH)',
],
'sources': [
- 'd8.h',
- 'd8.cc',
- 'd8-console.h',
- 'd8-console.cc',
+ '../src/d8.h',
+ '../src/d8.cc',
+ '../src/d8-console.h',
+ '../src/d8-console.cc',
'<(SHARED_INTERMEDIATE_DIR)/d8-js.cc',
],
'conditions': [
@@ -68,10 +45,10 @@
['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \
or OS=="openbsd" or OS=="solaris" or OS=="android" \
or OS=="qnx" or OS=="aix")', {
- 'sources': [ 'd8-posix.cc', ]
+ 'sources': [ '../src/d8-posix.cc', ]
}],
[ 'OS=="win"', {
- 'sources': [ 'd8-windows.cc', ]
+ 'sources': [ '../src/d8-windows.cc', ]
}],
[ 'component!="shared_library"', {
'conditions': [
@@ -86,7 +63,7 @@
}],
['v8_enable_vtunejit==1', {
'dependencies': [
- '../src/third_party/vtune/v8vtune.gyp:v8_vtune',
+ 'v8vtune.gyp:v8_vtune',
],
}],
['v8_enable_i18n_support==1', {
@@ -107,8 +84,8 @@
'type': 'none',
'variables': {
'js_files': [
- 'd8.js',
- 'js/macros.py',
+ '../src/d8.js',
+ '../src/js/macros.py',
],
},
'conditions': [
@@ -139,23 +116,4 @@
],
},
],
- 'conditions': [
- ['test_isolation_mode != "noop"', {
- 'targets': [
- {
- 'target_name': 'd8_run',
- 'type': 'none',
- 'dependencies': [
- 'd8',
- ],
- 'includes': [
- '../gypfiles/isolate.gypi',
- ],
- 'sources': [
- 'd8.isolate',
- ],
- },
- ],
- }],
- ],
}
diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi
index 8c99b4f0866ce0..69ff763be04ab5 100644
--- a/deps/v8/gypfiles/features.gypi
+++ b/deps/v8/gypfiles/features.gypi
@@ -87,6 +87,9 @@
# Enable concurrent marking.
'v8_enable_concurrent_marking%': 1,
+ # Enables various testing features.
+ 'v8_enable_test_features%': 0,
+
# Controls the threshold for on-heap/off-heap Typed Arrays.
'v8_typed_array_max_size_in_heap%': 64,
@@ -119,6 +122,9 @@
['v8_trace_maps==1', {
'defines': ['V8_TRACE_MAPS',],
}],
+ ['v8_enable_test_features==1', {
+ 'defines': ['V8_ENABLE_ALLOCATION_TIMEOUT', 'V8_ENABLE_FORCE_SLOW_PATH'],
+ }],
['v8_enable_verify_predictable==1', {
'defines': ['VERIFY_PREDICTABLE',],
}],
@@ -164,7 +170,7 @@
}, # Debug
'Release': {
'variables': {
- 'v8_enable_handle_zapping%': 0,
+ 'v8_enable_handle_zapping%': 1,
},
'conditions': [
['v8_enable_handle_zapping==1', {
diff --git a/deps/v8/test/fuzzer/fuzzer.gyp b/deps/v8/gypfiles/fuzzer.gyp
similarity index 55%
rename from deps/v8/test/fuzzer/fuzzer.gyp
rename to deps/v8/gypfiles/fuzzer.gyp
index 0c54211290ea36..f65b7dc6d0fb25 100644
--- a/deps/v8/test/fuzzer/fuzzer.gyp
+++ b/deps/v8/gypfiles/fuzzer.gyp
@@ -6,7 +6,7 @@
'variables': {
'v8_code': 1,
},
- 'includes': ['../../gypfiles/toolchain.gypi', '../../gypfiles/features.gypi'],
+ 'includes': ['toolchain.gypi', 'features.gypi'],
'targets': [
{
'target_name': 'v8_simple_json_fuzzer',
@@ -15,24 +15,24 @@
'json_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'json_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'json.cc',
+ 'sources': [
+ '../test/fuzzer/json.cc',
],
},
{
@@ -42,175 +42,171 @@
'parser_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'parser_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'parser.cc',
+ 'sources': [
+ '../test/fuzzer/parser.cc',
],
},
{
- 'target_name': 'v8_simple_regexp_fuzzer',
+ 'target_name': 'v8_simple_regexp_builtins_fuzzer',
'type': 'executable',
'dependencies': [
- 'regexp_fuzzer_lib',
+ 'regexp_builtins_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
- 'target_name': 'regexp_fuzzer_lib',
+ 'target_name': 'regexp_builtins_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'regexp.cc',
+ 'sources': [
+ '../test/fuzzer/regexp-builtins.cc',
+ '../test/fuzzer/regexp_builtins/mjsunit.js.h',
],
},
{
- 'target_name': 'v8_simple_multi_return_fuzzer',
+ 'target_name': 'v8_simple_regexp_fuzzer',
'type': 'executable',
'dependencies': [
- 'multi_return_fuzzer_lib',
+ 'regexp_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
- 'target_name': 'multi_return_fuzzer_lib',
+ 'target_name': 'regexp_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- '../compiler/c-signature.h',
- '../compiler/call-helper.h',
- '../compiler/raw-machine-assembler-tester.h',
- 'multi-return.cc',
+ 'sources': [
+ '../test/fuzzer/regexp.cc',
],
},
{
- 'target_name': 'v8_simple_wasm_fuzzer',
+ 'target_name': 'v8_simple_multi_return_fuzzer',
'type': 'executable',
'dependencies': [
- 'wasm_fuzzer_lib',
+ 'multi_return_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
- 'target_name': 'wasm_fuzzer_lib',
+ 'target_name': 'multi_return_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/cctest/compiler/c-signature.h',
+ '../test/cctest/compiler/call-helper.h',
+ '../test/cctest/compiler/raw-machine-assembler-tester.h',
+ '../test/fuzzer/multi-return.cc',
],
},
{
- 'target_name': 'v8_simple_wasm_async_fuzzer',
+ 'target_name': 'v8_simple_wasm_fuzzer',
'type': 'executable',
'dependencies': [
- 'wasm_async_fuzzer_lib',
+ 'wasm_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
- 'target_name': 'wasm_async_fuzzer_lib',
+ 'target_name': 'wasm_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-async.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
- 'target_name': 'v8_simple_wasm_call_fuzzer',
+ 'target_name': 'v8_simple_wasm_async_fuzzer',
'type': 'executable',
'dependencies': [
- 'wasm_call_fuzzer_lib',
+ 'wasm_async_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
- 'target_name': 'wasm_call_fuzzer_lib',
+ 'target_name': 'wasm_async_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-call.cc',
- '../common/wasm/test-signatures.h',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-async.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -220,29 +216,29 @@
'wasm_code_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_code_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-code.cc',
- '../common/wasm/test-signatures.h',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-code.cc',
+ '../test/common/wasm/test-signatures.h',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -252,29 +248,29 @@
'wasm_compile_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_compile_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-compile.cc',
- '../common/wasm/test-signatures.h',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-compile.cc',
+ '../test/common/wasm/test-signatures.h',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -284,28 +280,28 @@
'wasm_data_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_data_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-data-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-data-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -315,28 +311,28 @@
'wasm_function_sigs_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_function_sigs_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-function-sigs-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-function-sigs-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -346,28 +342,28 @@
'wasm_globals_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_globals_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-globals-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-globals-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -377,28 +373,28 @@
'wasm_imports_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_imports_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-imports-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-imports-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -408,28 +404,28 @@
'wasm_memory_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_memory_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-memory-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-memory-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -439,28 +435,28 @@
'wasm_names_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_names_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-names-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-names-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
@@ -470,44 +466,44 @@
'wasm_types_section_fuzzer_lib',
],
'include_dirs': [
- '../..',
+ '..',
],
'sources': [
- 'fuzzer.cc',
+ '../test/fuzzer/fuzzer.cc',
],
},
{
'target_name': 'wasm_types_section_fuzzer_lib',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libplatform',
'fuzzer_support',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'wasm-types-section.cc',
- '../common/wasm/wasm-module-runner.cc',
- '../common/wasm/wasm-module-runner.h',
- 'wasm-fuzzer-common.cc',
- 'wasm-fuzzer-common.h',
+ 'sources': [
+ '../test/fuzzer/wasm-types-section.cc',
+ '../test/common/wasm/wasm-module-runner.cc',
+ '../test/common/wasm/wasm-module-runner.h',
+ '../test/fuzzer/wasm-fuzzer-common.cc',
+ '../test/fuzzer/wasm-fuzzer-common.h',
],
},
{
'target_name': 'fuzzer_support',
'type': 'static_library',
'dependencies': [
- '../../src/v8.gyp:v8',
- '../../src/v8.gyp:v8_libbase',
- '../../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
],
'include_dirs': [
- '../..',
+ '..',
],
- 'sources': [ ### gcmole(all) ###
- 'fuzzer-support.cc',
- 'fuzzer-support.h',
+ 'sources': [
+ '../test/fuzzer/fuzzer-support.cc',
+ '../test/fuzzer/fuzzer-support.h',
],
'conditions': [
['v8_enable_i18n_support==1', {
@@ -519,26 +515,4 @@
],
},
],
- 'conditions': [
- ['test_isolation_mode != "noop"', {
- 'targets': [
- {
- 'target_name': 'fuzzer_run',
- 'type': 'none',
- 'dependencies': [
- 'v8_simple_json_fuzzer',
- 'v8_simple_parser_fuzzer',
- 'v8_simple_regexp_fuzzer',
- 'v8_simple_wasm_fuzzer',
- ],
- 'includes': [
- '../../gypfiles/isolate.gypi',
- ],
- 'sources': [
- 'fuzzer.isolate',
- ],
- },
- ],
- }],
- ],
}
diff --git a/deps/v8/gypfiles/gmock.gyp b/deps/v8/gypfiles/gmock.gyp
new file mode 100644
index 00000000000000..a80387298b1503
--- /dev/null
+++ b/deps/v8/gypfiles/gmock.gyp
@@ -0,0 +1,72 @@
+# Copyright 2014 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'gmock',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'gtest.gyp:gtest',
+ ],
+ 'sources': [
+ # Sources based on files in r173 of gmock.
+ '../testing/gmock/include/gmock/gmock-actions.h',
+ '../testing/gmock/include/gmock/gmock-cardinalities.h',
+ '../testing/gmock/include/gmock/gmock-generated-actions.h',
+ '../testing/gmock/include/gmock/gmock-generated-function-mockers.h',
+ '../testing/gmock/include/gmock/gmock-generated-matchers.h',
+ '../testing/gmock/include/gmock/gmock-generated-nice-strict.h',
+ '../testing/gmock/include/gmock/gmock-matchers.h',
+ '../testing/gmock/include/gmock/gmock-spec-builders.h',
+ '../testing/gmock/include/gmock/gmock.h',
+ '../testing/gmock/include/gmock/internal/gmock-generated-internal-utils.h',
+ '../testing/gmock/include/gmock/internal/gmock-internal-utils.h',
+ '../testing/gmock/include/gmock/internal/gmock-port.h',
+ '../testing/gmock/src/gmock-all.cc',
+ '../testing/gmock/src/gmock-cardinalities.cc',
+ '../testing/gmock/src/gmock-internal-utils.cc',
+ '../testing/gmock/src/gmock-matchers.cc',
+ '../testing/gmock/src/gmock-spec-builders.cc',
+ '../testing/gmock/src/gmock.cc',
+ '../testing/gmock-support.h', # gMock helpers
+ '../testing/gmock_custom/gmock/internal/custom/gmock-port.h',
+ ],
+ 'sources!': [
+ '../testing/gmock/src/gmock-all.cc', # Not needed by our build.
+ ],
+ 'include_dirs': [
+ '../testing/gmock_custom',
+ '../testing/gmock',
+ '../testing/gmock/include',
+ ],
+ 'all_dependent_settings': {
+ 'include_dirs': [
+ '../testing/gmock_custom',
+ '../testing/gmock/include', # So that gmock headers can find themselves.
+ ],
+ },
+ 'export_dependent_settings': [
+ 'gtest.gyp:gtest',
+ ],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'gmock_main',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'gmock',
+ ],
+ 'sources': [
+ '../testing/gmock/src/gmock_main.cc',
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/testing/gtest.gyp b/deps/v8/gypfiles/gtest.gyp
similarity index 50%
rename from deps/v8/testing/gtest.gyp
rename to deps/v8/gypfiles/gtest.gyp
index a94ee884fe9f51..82ae105293fbfc 100644
--- a/deps/v8/testing/gtest.gyp
+++ b/deps/v8/gypfiles/gtest.gyp
@@ -9,42 +9,42 @@
'toolsets': ['host', 'target'],
'type': 'static_library',
'sources': [
- 'gtest/include/gtest/gtest-death-test.h',
- 'gtest/include/gtest/gtest-message.h',
- 'gtest/include/gtest/gtest-param-test.h',
- 'gtest/include/gtest/gtest-printers.h',
- 'gtest/include/gtest/gtest-spi.h',
- 'gtest/include/gtest/gtest-test-part.h',
- 'gtest/include/gtest/gtest-typed-test.h',
- 'gtest/include/gtest/gtest.h',
- 'gtest/include/gtest/gtest_pred_impl.h',
- 'gtest/include/gtest/internal/gtest-death-test-internal.h',
- 'gtest/include/gtest/internal/gtest-filepath.h',
- 'gtest/include/gtest/internal/gtest-internal.h',
- 'gtest/include/gtest/internal/gtest-linked_ptr.h',
- 'gtest/include/gtest/internal/gtest-param-util-generated.h',
- 'gtest/include/gtest/internal/gtest-param-util.h',
- 'gtest/include/gtest/internal/gtest-port.h',
- 'gtest/include/gtest/internal/gtest-string.h',
- 'gtest/include/gtest/internal/gtest-tuple.h',
- 'gtest/include/gtest/internal/gtest-type-util.h',
- 'gtest/src/gtest-all.cc',
- 'gtest/src/gtest-death-test.cc',
- 'gtest/src/gtest-filepath.cc',
- 'gtest/src/gtest-internal-inl.h',
- 'gtest/src/gtest-port.cc',
- 'gtest/src/gtest-printers.cc',
- 'gtest/src/gtest-test-part.cc',
- 'gtest/src/gtest-typed-test.cc',
- 'gtest/src/gtest.cc',
- 'gtest-support.h',
+ '../testing/gtest/include/gtest/gtest-death-test.h',
+ '../testing/gtest/include/gtest/gtest-message.h',
+ '../testing/gtest/include/gtest/gtest-param-test.h',
+ '../testing/gtest/include/gtest/gtest-printers.h',
+ '../testing/gtest/include/gtest/gtest-spi.h',
+ '../testing/gtest/include/gtest/gtest-test-part.h',
+ '../testing/gtest/include/gtest/gtest-typed-test.h',
+ '../testing/gtest/include/gtest/gtest.h',
+ '../testing/gtest/include/gtest/gtest_pred_impl.h',
+ '../testing/gtest/include/gtest/internal/gtest-death-test-internal.h',
+ '../testing/gtest/include/gtest/internal/gtest-filepath.h',
+ '../testing/gtest/include/gtest/internal/gtest-internal.h',
+ '../testing/gtest/include/gtest/internal/gtest-linked_ptr.h',
+ '../testing/gtest/include/gtest/internal/gtest-param-util-generated.h',
+ '../testing/gtest/include/gtest/internal/gtest-param-util.h',
+ '../testing/gtest/include/gtest/internal/gtest-port.h',
+ '../testing/gtest/include/gtest/internal/gtest-string.h',
+ '../testing/gtest/include/gtest/internal/gtest-tuple.h',
+ '../testing/gtest/include/gtest/internal/gtest-type-util.h',
+ '../testing/gtest/src/gtest-all.cc',
+ '../testing/gtest/src/gtest-death-test.cc',
+ '../testing/gtest/src/gtest-filepath.cc',
+ '../testing/gtest/src/gtest-internal-inl.h',
+ '../testing/gtest/src/gtest-port.cc',
+ '../testing/gtest/src/gtest-printers.cc',
+ '../testing/gtest/src/gtest-test-part.cc',
+ '../testing/gtest/src/gtest-typed-test.cc',
+ '../testing/gtest/src/gtest.cc',
+ '../testing/gtest-support.h',
],
'sources!': [
- 'gtest/src/gtest-all.cc', # Not needed by our build.
+ '../testing/gtest/src/gtest-all.cc', # Not needed by our build.
],
'include_dirs': [
- 'gtest',
- 'gtest/include',
+ '../testing/gtest',
+ '../testing/gtest/include',
],
'dependencies': [
'gtest_prod',
@@ -78,7 +78,7 @@
'UNIT_TEST',
],
'include_dirs': [
- 'gtest/include', # So that gtest headers can find themselves.
+ '../testing/gtest/include', # So that gtest headers can find themselves.
],
'target_conditions': [
['_type=="executable"', {
@@ -107,7 +107,7 @@
'gtest',
],
'sources': [
- 'gtest/src/gtest_main.cc',
+ '../testing/gtest/src/gtest_main.cc',
],
},
{
@@ -115,7 +115,7 @@
'toolsets': ['host', 'target'],
'type': 'none',
'sources': [
- 'gtest/include/gtest/gtest_prod.h',
+ '../testing/gtest/include/gtest/gtest_prod.h',
],
},
],
diff --git a/deps/v8/gypfiles/gyp_v8 b/deps/v8/gypfiles/gyp_v8
old mode 100755
new mode 100644
index 5215f513525479..62e13d86e6cc40
--- a/deps/v8/gypfiles/gyp_v8
+++ b/deps/v8/gypfiles/gyp_v8
@@ -48,7 +48,8 @@ import gyp
# Add paths so that pymod_do_main(...) can import files.
sys.path.insert(
1, os.path.abspath(os.path.join(v8_root, 'tools', 'generate_shim_headers')))
-
+sys.path.append(
+ os.path.abspath(os.path.join(v8_root, 'third_party', 'binutils')))
def GetOutputDirectory():
"""Returns the output directory that GYP will use."""
@@ -108,14 +109,19 @@ def run_gyp(args):
if __name__ == '__main__':
args = sys.argv[1:]
- gyp_chromium_no_action = os.environ.get('GYP_CHROMIUM_NO_ACTION', '1')
- if gyp_chromium_no_action != '0':
- print 'GYP is now disabled by default.\n'
- print 'If you really want to run this, set the environment variable '
- print 'GYP_CHROMIUM_NO_ACTION=0.'
+ gyp_chromium_no_action = os.environ.get('GYP_CHROMIUM_NO_ACTION')
+ if gyp_chromium_no_action == '1':
+ print 'Skipping gyp_v8 due to GYP_CHROMIUM_NO_ACTION env var.'
sys.exit(0)
running_as_hook = '--running-as-hook'
+ if running_as_hook in args and gyp_chromium_no_action != '0':
+ print 'GYP is now disabled by default in runhooks.\n'
+ print 'If you really want to run this, either run '
+ print '`python gypfiles/gyp_v8` explicitly by hand '
+ print 'or set the environment variable GYP_CHROMIUM_NO_ACTION=0.'
+ sys.exit(0)
+
if running_as_hook in args:
args.remove(running_as_hook)
diff --git a/deps/v8/gypfiles/inspector-test.gyp b/deps/v8/gypfiles/inspector-test.gyp
new file mode 100644
index 00000000000000..c8cc5561a4cf79
--- /dev/null
+++ b/deps/v8/gypfiles/inspector-test.gyp
@@ -0,0 +1,39 @@
+# Copyright 2016 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi'],
+ 'targets': [
+ {
+ 'target_name': 'inspector-test',
+ 'type': 'executable',
+ 'dependencies': [
+ 'v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ '../test/inspector/inspector-test.cc',
+ '../test/inspector/isolate-data.cc',
+ '../test/inspector/isolate-data.h',
+ '../test/inspector/task-runner.cc',
+ '../test/inspector/task-runner.h',
+ ],
+ 'conditions': [
+ ['v8_enable_i18n_support==1', {
+ 'dependencies': [
+ '<(icu_gyp_path):icui18n',
+ '<(icu_gyp_path):icuuc',
+ ],
+ }],
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/src/inspector/inspector.gyp b/deps/v8/gypfiles/inspector.gyp
similarity index 76%
rename from deps/v8/src/inspector/inspector.gyp
rename to deps/v8/gypfiles/inspector.gyp
index 3d59cc089df076..c0b503d9cec51f 100644
--- a/deps/v8/src/inspector/inspector.gyp
+++ b/deps/v8/gypfiles/inspector.gyp
@@ -4,11 +4,12 @@
{
'variables': {
- 'protocol_path': '../../third_party/inspector_protocol',
+ 'protocol_path': '../third_party/inspector_protocol',
+ 'inspector_path': '../src/inspector',
},
'includes': [
'inspector.gypi',
- '<(PRODUCT_DIR)/../../../third_party/inspector_protocol/inspector_protocol.gypi',
+ '../third_party/inspector_protocol/inspector_protocol.gypi',
],
'targets': [
{ 'target_name': 'inspector_injected_script',
@@ -18,7 +19,7 @@
{
'action_name': 'convert_js_to_cpp_char_array',
'inputs': [
- 'build/xxd.py',
+ '<(inspector_path)/build/xxd.py',
'<(inspector_injected_script_source)',
],
'outputs': [
@@ -26,9 +27,9 @@
],
'action': [
'python',
- 'build/xxd.py',
+ '<(inspector_path)/build/xxd.py',
'InjectedScriptSource_js',
- 'injected-script-source.js',
+ '<(inspector_path)/injected-script-source.js',
'<@(_outputs)'
],
},
@@ -43,7 +44,7 @@
{
'action_name': 'protocol_compatibility',
'inputs': [
- 'js_protocol.json',
+ '<(inspector_path)/js_protocol.json',
],
'outputs': [
'<@(SHARED_INTERMEDIATE_DIR)/src/js_protocol.stamp',
@@ -52,7 +53,7 @@
'python',
'<(protocol_path)/CheckProtocolCompatibility.py',
'--stamp', '<@(_outputs)',
- 'js_protocol.json',
+ '<(inspector_path)/js_protocol.json',
],
'message': 'Generating inspector protocol sources from protocol json definition',
},
@@ -66,8 +67,8 @@
{
'action_name': 'protocol_generated_sources',
'inputs': [
- 'js_protocol.json',
- 'inspector_protocol_config.json',
+ '<(inspector_path)/js_protocol.json',
+ '<(inspector_path)/inspector_protocol_config.json',
'<@(inspector_protocol_files)',
],
'outputs': [
@@ -76,9 +77,9 @@
'action': [
'python',
'<(protocol_path)/CodeGenerator.py',
- '--jinja_dir', '../../third_party',
+ '--jinja_dir', '../third_party',
'--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/inspector',
- '--config', 'inspector_protocol_config.json',
+ '--config', '<(inspector_path)/inspector_protocol_config.json',
],
'message': 'Generating inspector protocol sources from protocol json',
},
diff --git a/deps/v8/gypfiles/inspector.gypi b/deps/v8/gypfiles/inspector.gypi
new file mode 100644
index 00000000000000..00cbbfaecb7f28
--- /dev/null
+++ b/deps/v8/gypfiles/inspector.gypi
@@ -0,0 +1,90 @@
+# Copyright 2016 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'inspector_generated_sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Forward.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Protocol.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Protocol.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Console.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Console.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Debugger.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Debugger.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/HeapProfiler.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/HeapProfiler.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Profiler.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Profiler.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Runtime.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Runtime.h',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Schema.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Schema.h',
+ '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Debugger.h',
+ '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Runtime.h',
+ '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Schema.h',
+ ],
+
+ 'inspector_injected_script_source': '../src/inspector/injected-script-source.js',
+ 'inspector_generated_injected_script': '<(SHARED_INTERMEDIATE_DIR)/src/inspector/injected-script-source.h',
+
+ 'inspector_all_sources': [
+ '<@(inspector_generated_sources)',
+ '<(inspector_generated_injected_script)',
+ '../include/v8-inspector.h',
+ '../include/v8-inspector-protocol.h',
+ '../src/inspector/injected-script.cc',
+ '../src/inspector/injected-script.h',
+ '../src/inspector/inspected-context.cc',
+ '../src/inspector/inspected-context.h',
+ '../src/inspector/remote-object-id.cc',
+ '../src/inspector/remote-object-id.h',
+ '../src/inspector/search-util.cc',
+ '../src/inspector/search-util.h',
+ '../src/inspector/string-16.cc',
+ '../src/inspector/string-16.h',
+ '../src/inspector/string-util.cc',
+ '../src/inspector/string-util.h',
+ '../src/inspector/test-interface.cc',
+ '../src/inspector/test-interface.h',
+ '../src/inspector/v8-console.cc',
+ '../src/inspector/v8-console.h',
+ '../src/inspector/v8-console-agent-impl.cc',
+ '../src/inspector/v8-console-agent-impl.h',
+ '../src/inspector/v8-console-message.cc',
+ '../src/inspector/v8-console-message.h',
+ '../src/inspector/v8-debugger.cc',
+ '../src/inspector/v8-debugger.h',
+ '../src/inspector/v8-debugger-agent-impl.cc',
+ '../src/inspector/v8-debugger-agent-impl.h',
+ '../src/inspector/v8-debugger-script.cc',
+ '../src/inspector/v8-debugger-script.h',
+ '../src/inspector/v8-function-call.cc',
+ '../src/inspector/v8-function-call.h',
+ '../src/inspector/v8-heap-profiler-agent-impl.cc',
+ '../src/inspector/v8-heap-profiler-agent-impl.h',
+ '../src/inspector/v8-injected-script-host.cc',
+ '../src/inspector/v8-injected-script-host.h',
+ '../src/inspector/v8-inspector-impl.cc',
+ '../src/inspector/v8-inspector-impl.h',
+ '../src/inspector/v8-inspector-session-impl.cc',
+ '../src/inspector/v8-inspector-session-impl.h',
+ '../src/inspector/v8-internal-value-type.cc',
+ '../src/inspector/v8-internal-value-type.h',
+ '../src/inspector/v8-profiler-agent-impl.cc',
+ '../src/inspector/v8-profiler-agent-impl.h',
+ '../src/inspector/v8-regex.cc',
+ '../src/inspector/v8-regex.h',
+ '../src/inspector/v8-runtime-agent-impl.cc',
+ '../src/inspector/v8-runtime-agent-impl.h',
+ '../src/inspector/v8-schema-agent-impl.cc',
+ '../src/inspector/v8-schema-agent-impl.h',
+ '../src/inspector/v8-stack-trace-impl.cc',
+ '../src/inspector/v8-stack-trace-impl.h',
+ '../src/inspector/v8-value-utils.cc',
+ '../src/inspector/v8-value-utils.h',
+ '../src/inspector/wasm-translation.cc',
+ '../src/inspector/wasm-translation.h',
+ ]
+ }
+}
diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi
deleted file mode 100644
index 3e85b530e25952..00000000000000
--- a/deps/v8/gypfiles/isolate.gypi
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2015 the V8 project authors. All rights reserved.
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file is meant to be included into a target to provide a rule
-# to "build" .isolate files into a .isolated file.
-#
-# To use this, create a gyp target with the following form:
-# 'conditions': [
-# ['test_isolation_mode != "noop"', {
-# 'targets': [
-# {
-# 'target_name': 'foo_test_run',
-# 'type': 'none',
-# 'dependencies': [
-# 'foo_test',
-# ],
-# 'includes': [
-# '../gypfiles/isolate.gypi',
-# ],
-# 'sources': [
-# 'foo_test.isolate',
-# ],
-# },
-# ],
-# }],
-# ],
-#
-# Note: foo_test.isolate is included and a source file. It is an inherent
-# property of the .isolate format. This permits to define GYP variables but is
-# a stricter format than GYP so isolate.py can read it.
-#
-# The generated .isolated file will be:
-# <(PRODUCT_DIR)/foo_test.isolated
-#
-# See http://dev.chromium.org/developers/testing/isolated-testing/for-swes
-# for more information.
-
-{
- 'rules': [
- {
- 'rule_name': 'isolate',
- 'extension': 'isolate',
- 'inputs': [
- # Files that are known to be involved in this step.
- '<(DEPTH)/tools/isolate_driver.py',
- '<(DEPTH)/tools/swarming_client/isolate.py',
- '<(DEPTH)/tools/swarming_client/run_isolated.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated',
- ],
- 'action': [
- 'python',
- '<(DEPTH)/tools/isolate_driver.py',
- '<(test_isolation_mode)',
- '--isolated', '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated',
- '--isolate', '<(RULE_INPUT_PATH)',
-
- # Variables should use the -V FOO=<(FOO) form so frequent values,
- # like '0' or '1', aren't stripped out by GYP. Run 'isolate.py help'
- # for more details.
-
- # Path variables are used to replace file paths when loading a .isolate
- # file
- '--path-variable', 'DEPTH', '<(DEPTH)',
- '--path-variable', 'PRODUCT_DIR', '<(PRODUCT_DIR)',
-
- '--config-variable', 'CONFIGURATION_NAME=<(CONFIGURATION_NAME)',
- '--config-variable', 'OS=<(OS)',
- '--config-variable', 'asan=<(asan)',
- '--config-variable', 'cfi_vptr=<(cfi_vptr)',
- '--config-variable', 'gcmole=<(gcmole)',
- '--config-variable', 'has_valgrind=<(has_valgrind)',
- '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)',
- '--config-variable', 'msan=<(msan)',
- '--config-variable', 'tsan=<(tsan)',
- '--config-variable', 'coverage=<(coverage)',
- '--config-variable', 'sanitizer_coverage=<(sanitizer_coverage)',
- '--config-variable', 'component=<(component)',
- '--config-variable', 'target_arch=<(target_arch)',
- '--config-variable', 'ubsan_vptr=0',
- '--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)',
- '--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'action': [
- '--config-variable', 'msvs_version=2013',
- ],
- }, {
- 'action': [
- '--config-variable', 'msvs_version=0',
- ],
- }],
- ],
- },
- ],
-}
diff --git a/deps/v8/gypfiles/landmine_utils.py b/deps/v8/gypfiles/landmine_utils.py
deleted file mode 100644
index 8bdc2b648b32b9..00000000000000
--- a/deps/v8/gypfiles/landmine_utils.py
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 2014 the V8 project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-import functools
-import logging
-import os
-import shlex
-import sys
-
-
-def memoize(default=None):
- """This decorator caches the return value of a parameterless pure function"""
- def memoizer(func):
- val = []
- @functools.wraps(func)
- def inner():
- if not val:
- ret = func()
- val.append(ret if ret is not None else default)
- if logging.getLogger().isEnabledFor(logging.INFO):
- print '%s -> %r' % (func.__name__, val[0])
- return val[0]
- return inner
- return memoizer
-
-
-@memoize()
-def IsWindows():
- return sys.platform in ['win32', 'cygwin']
-
-
-@memoize()
-def IsLinux():
- return sys.platform.startswith(('linux', 'freebsd'))
-
-
-@memoize()
-def IsMac():
- return sys.platform == 'darwin'
-
-
-@memoize()
-def gyp_defines():
- """Parses and returns GYP_DEFINES env var as a dictionary."""
- return dict(arg.split('=', 1)
- for arg in shlex.split(os.environ.get('GYP_DEFINES', '')))
-
-
-@memoize()
-def gyp_generator_flags():
- """Parses and returns GYP_GENERATOR_FLAGS env var as a dictionary."""
- return dict(arg.split('=', 1)
- for arg in shlex.split(os.environ.get('GYP_GENERATOR_FLAGS', '')))
-
-
-@memoize()
-def gyp_msvs_version():
- return os.environ.get('GYP_MSVS_VERSION', '')
-
-
-@memoize()
-def distributor():
- """
- Returns a string which is the distributed build engine in use (if any).
- Possible values: 'goma', 'ib', ''
- """
- if 'goma' in gyp_defines():
- return 'goma'
- elif IsWindows():
- if 'CHROME_HEADLESS' in os.environ:
- return 'ib' # use (win and !goma and headless) as approximation of ib
-
-
-@memoize()
-def platform():
- """
- Returns a string representing the platform this build is targeted for.
- Possible values: 'win', 'mac', 'linux', 'ios', 'android'
- """
- if 'OS' in gyp_defines():
- if 'android' in gyp_defines()['OS']:
- return 'android'
- else:
- return gyp_defines()['OS']
- elif IsWindows():
- return 'win'
- elif IsLinux():
- return 'linux'
- else:
- return 'mac'
-
-
-@memoize()
-def builder():
- """
- Returns a string representing the build engine (not compiler) to use.
- Possible values: 'make', 'ninja', 'xcode', 'msvs', 'scons'
- """
- if 'GYP_GENERATORS' in os.environ:
- # for simplicity, only support the first explicit generator
- generator = os.environ['GYP_GENERATORS'].split(',')[0]
- if generator.endswith('-android'):
- return generator.split('-')[0]
- elif generator.endswith('-ninja'):
- return 'ninja'
- else:
- return generator
- else:
- if platform() == 'android':
- # Good enough for now? Do any android bots use make?
- return 'make'
- elif platform() == 'ios':
- return 'xcode'
- elif IsWindows():
- return 'msvs'
- elif IsLinux():
- return 'make'
- elif IsMac():
- return 'xcode'
- else:
- assert False, 'Don\'t know what builder we\'re using!'
diff --git a/deps/v8/gypfiles/landmines.py b/deps/v8/gypfiles/landmines.py
deleted file mode 100755
index 2a81c66d1a6529..00000000000000
--- a/deps/v8/gypfiles/landmines.py
+++ /dev/null
@@ -1,245 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2014 the V8 project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-This script runs every build as the first hook (See DEPS). If it detects that
-the build should be clobbered, it will delete the contents of the build
-directory.
-
-A landmine is tripped when a builder checks out a different revision, and the
-diff between the new landmines and the old ones is non-null. At this point, the
-build is clobbered.
-"""
-
-import difflib
-import errno
-import gyp_environment
-import logging
-import optparse
-import os
-import re
-import shutil
-import sys
-import subprocess
-import time
-
-import landmine_utils
-
-
-SRC_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-
-
-def get_build_dir(build_tool, is_iphone=False):
- """
- Returns output directory absolute path dependent on build and targets.
- Examples:
- r'c:\b\build\slave\win\build\src\out'
- '/mnt/data/b/build/slave/linux/build/src/out'
- '/b/build/slave/ios_rel_device/build/src/xcodebuild'
-
- Keep this function in sync with tools/build/scripts/slave/compile.py
- """
- ret = None
- if build_tool == 'xcode':
- ret = os.path.join(SRC_DIR, 'xcodebuild')
- elif build_tool in ['make', 'ninja', 'ninja-ios']: # TODO: Remove ninja-ios.
- if 'CHROMIUM_OUT_DIR' in os.environ:
- output_dir = os.environ.get('CHROMIUM_OUT_DIR').strip()
- if not output_dir:
- raise Error('CHROMIUM_OUT_DIR environment variable is set but blank!')
- else:
- output_dir = landmine_utils.gyp_generator_flags().get('output_dir', 'out')
- ret = os.path.join(SRC_DIR, output_dir)
- elif build_tool in ['msvs', 'vs', 'ib']:
- ret = os.path.join(SRC_DIR, 'build')
- else:
- raise NotImplementedError('Unexpected GYP_GENERATORS (%s)' % build_tool)
- return os.path.abspath(ret)
-
-
-def extract_gn_build_commands(build_ninja_file):
- """Extracts from a build.ninja the commands to run GN.
-
- The commands to run GN are the gn rule and build.ninja build step at the
- top of the build.ninja file. We want to keep these when deleting GN builds
- since we want to preserve the command-line flags to GN.
-
- On error, returns the empty string."""
- result = ""
- with open(build_ninja_file, 'r') as f:
- # Read until the second blank line. The first thing GN writes to the file
- # is the "rule gn" and the second is the section for "build build.ninja",
- # separated by blank lines.
- num_blank_lines = 0
- while num_blank_lines < 2:
- line = f.readline()
- if len(line) == 0:
- return '' # Unexpected EOF.
- result += line
- if line[0] == '\n':
- num_blank_lines = num_blank_lines + 1
- return result
-
-def delete_build_dir(build_dir):
- # GN writes a build.ninja.d file. Note that not all GN builds have args.gn.
- build_ninja_d_file = os.path.join(build_dir, 'build.ninja.d')
- if not os.path.exists(build_ninja_d_file):
- shutil.rmtree(build_dir)
- return
-
- # GN builds aren't automatically regenerated when you sync. To avoid
- # messing with the GN workflow, erase everything but the args file, and
- # write a dummy build.ninja file that will automatically rerun GN the next
- # time Ninja is run.
- build_ninja_file = os.path.join(build_dir, 'build.ninja')
- build_commands = extract_gn_build_commands(build_ninja_file)
-
- try:
- gn_args_file = os.path.join(build_dir, 'args.gn')
- with open(gn_args_file, 'r') as f:
- args_contents = f.read()
- except IOError:
- args_contents = ''
-
- shutil.rmtree(build_dir)
-
- # Put back the args file (if any).
- os.mkdir(build_dir)
- if args_contents != '':
- with open(gn_args_file, 'w') as f:
- f.write(args_contents)
-
- # Write the build.ninja file sufficiently to regenerate itself.
- with open(os.path.join(build_dir, 'build.ninja'), 'w') as f:
- if build_commands != '':
- f.write(build_commands)
- else:
- # Couldn't parse the build.ninja file, write a default thing.
- f.write('''rule gn
-command = gn -q gen //out/%s/
-description = Regenerating ninja files
-
-build build.ninja: gn
-generator = 1
-depfile = build.ninja.d
-''' % (os.path.split(build_dir)[1]))
-
- # Write a .d file for the build which references a nonexistant file. This
- # will make Ninja always mark the build as dirty.
- with open(build_ninja_d_file, 'w') as f:
- f.write('build.ninja: nonexistant_file.gn\n')
-
-
-def needs_clobber(landmines_path, new_landmines):
- if os.path.exists(landmines_path):
- with open(landmines_path, 'r') as f:
- old_landmines = f.readlines()
- if old_landmines != new_landmines:
- old_date = time.ctime(os.stat(landmines_path).st_ctime)
- diff = difflib.unified_diff(old_landmines, new_landmines,
- fromfile='old_landmines', tofile='new_landmines',
- fromfiledate=old_date, tofiledate=time.ctime(), n=0)
- sys.stdout.write('Clobbering due to:\n')
- sys.stdout.writelines(diff)
- return True
- else:
- sys.stdout.write('Clobbering due to missing landmines file.\n')
- return True
- return False
-
-
-def clobber_if_necessary(new_landmines):
- """Does the work of setting, planting, and triggering landmines."""
- out_dir = get_build_dir(landmine_utils.builder())
- landmines_path = os.path.normpath(os.path.join(out_dir, '..', '.landmines'))
- try:
- os.makedirs(out_dir)
- except OSError as e:
- if e.errno == errno.EEXIST:
- pass
-
- if needs_clobber(landmines_path, new_landmines):
- # Clobber contents of build directory but not directory itself: some
- # checkouts have the build directory mounted.
- for f in os.listdir(out_dir):
- path = os.path.join(out_dir, f)
- if os.path.basename(out_dir) == 'build':
- # Only delete build directories and files for MSVS builds as the folder
- # shares some checked out files and directories.
- if (os.path.isdir(path) and
- re.search(r'(?:[Rr]elease)|(?:[Dd]ebug)', f)):
- delete_build_dir(path)
- elif (os.path.isfile(path) and
- (path.endswith('.sln') or
- path.endswith('.vcxproj') or
- path.endswith('.vcxproj.user'))):
- os.unlink(path)
- else:
- if os.path.isfile(path):
- os.unlink(path)
- elif os.path.isdir(path):
- delete_build_dir(path)
- if os.path.basename(out_dir) == 'xcodebuild':
- # Xcodebuild puts an additional project file structure into build,
- # while the output folder is xcodebuild.
- project_dir = os.path.join(SRC_DIR, 'build', 'all.xcodeproj')
- if os.path.exists(project_dir) and os.path.isdir(project_dir):
- delete_build_dir(project_dir)
-
- # Save current set of landmines for next time.
- with open(landmines_path, 'w') as f:
- f.writelines(new_landmines)
-
-
-def process_options():
- """Returns a list of landmine emitting scripts."""
- parser = optparse.OptionParser()
- parser.add_option(
- '-s', '--landmine-scripts', action='append',
- default=[os.path.join(SRC_DIR, 'gypfiles', 'get_landmines.py')],
- help='Path to the script which emits landmines to stdout. The target '
- 'is passed to this script via option -t. Note that an extra '
- 'script can be specified via an env var EXTRA_LANDMINES_SCRIPT.')
- parser.add_option('-v', '--verbose', action='store_true',
- default=('LANDMINES_VERBOSE' in os.environ),
- help=('Emit some extra debugging information (default off). This option '
- 'is also enabled by the presence of a LANDMINES_VERBOSE environment '
- 'variable.'))
-
- options, args = parser.parse_args()
-
- if args:
- parser.error('Unknown arguments %s' % args)
-
- logging.basicConfig(
- level=logging.DEBUG if options.verbose else logging.ERROR)
-
- extra_script = os.environ.get('EXTRA_LANDMINES_SCRIPT')
- if extra_script:
- return options.landmine_scripts + [extra_script]
- else:
- return options.landmine_scripts
-
-
-def main():
- landmine_scripts = process_options()
-
- if landmine_utils.builder() in ('dump_dependency_json', 'eclipse'):
- return 0
-
- gyp_environment.set_environment()
-
- landmines = []
- for s in landmine_scripts:
- proc = subprocess.Popen([sys.executable, s], stdout=subprocess.PIPE)
- output, _ = proc.communicate()
- landmines.extend([('%s\n' % l.strip()) for l in output.splitlines()])
- clobber_if_necessary(landmines)
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/deps/v8/gypfiles/mkgrokdump.gyp b/deps/v8/gypfiles/mkgrokdump.gyp
new file mode 100644
index 00000000000000..75e8fc75cd6a98
--- /dev/null
+++ b/deps/v8/gypfiles/mkgrokdump.gyp
@@ -0,0 +1,27 @@
+# Copyright 2017 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi'],
+ 'targets': [
+ {
+ 'target_name': 'mkgrokdump',
+ 'type': 'executable',
+ 'dependencies': [
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ '../test/mkgrokdump/mkgrokdump.cc',
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/tools/parser-shell.gyp b/deps/v8/gypfiles/parser-shell.gyp
similarity index 89%
rename from deps/v8/tools/parser-shell.gyp
rename to deps/v8/gypfiles/parser-shell.gyp
index 9b94888edfd7a0..464e2676ac8bb6 100644
--- a/deps/v8/tools/parser-shell.gyp
+++ b/deps/v8/gypfiles/parser-shell.gyp
@@ -30,15 +30,15 @@
'v8_code': 1,
'v8_enable_i18n_support%': 1,
},
- 'includes': ['../gypfiles/toolchain.gypi', '../gypfiles/features.gypi'],
+ 'includes': ['toolchain.gypi', 'features.gypi'],
'targets': [
{
'target_name': 'parser-shell',
'type': 'executable',
'dependencies': [
- '../src/v8.gyp:v8',
- '../src/v8.gyp:v8_libbase',
- '../src/v8.gyp:v8_libplatform',
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
],
'conditions': [
['v8_enable_i18n_support==1', {
@@ -52,8 +52,8 @@
'..',
],
'sources': [
- 'parser-shell.cc',
- 'shell-utils.h',
+ '../tools/parser-shell.cc',
+ '../tools/shell-utils.h',
],
},
],
diff --git a/deps/v8/gypfiles/run-tests-legacy.py b/deps/v8/gypfiles/run-tests-legacy.py
old mode 100755
new mode 100644
diff --git a/deps/v8/gypfiles/samples.gyp b/deps/v8/gypfiles/samples.gyp
new file mode 100644
index 00000000000000..9080c0d445d24f
--- /dev/null
+++ b/deps/v8/gypfiles/samples.gyp
@@ -0,0 +1,61 @@
+# Copyright 2012 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ 'v8_enable_i18n_support%': 1,
+ 'v8_toolset_for_shell%': 'target',
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi'],
+ 'target_defaults': {
+ 'type': 'executable',
+ 'dependencies': [
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'conditions': [
+ ['v8_enable_i18n_support==1', {
+ 'dependencies': [
+ '<(icu_gyp_path):icui18n',
+ '<(icu_gyp_path):icuuc',
+ ],
+ }],
+ ['OS=="win" and v8_enable_i18n_support==1', {
+ 'dependencies': [
+ '<(icu_gyp_path):icudata',
+ ],
+ }],
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'v8_shell',
+ 'sources': [
+ '../samples/shell.cc',
+ ],
+ 'conditions': [
+ [ 'want_separate_host_toolset==1', {
+ 'toolsets': [ '<(v8_toolset_for_shell)', ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'hello-world',
+ 'sources': [
+ '../samples/hello-world.cc',
+ ],
+ },
+ {
+ 'target_name': 'process',
+ 'sources': [
+ '../samples/process.cc',
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/gypfiles/sysroot_ld_flags.sh b/deps/v8/gypfiles/sysroot_ld_flags.sh
old mode 100755
new mode 100644
diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi
index 80844cecc671ef..e67a5e22b96af9 100644
--- a/deps/v8/gypfiles/toolchain.gypi
+++ b/deps/v8/gypfiles/toolchain.gypi
@@ -58,6 +58,9 @@
# Similar to the ARM hard float ABI but on MIPS.
'v8_use_mips_abi_hardfloat%': 'true',
+ # MIPS MSA support
+ 'mips_use_msa%': 0,
+
# Print to stdout on Android.
'v8_android_log_stdout%': 0,
@@ -439,6 +442,9 @@
'cflags': ['-mips32r6'],
'ldflags': ['-mips32r6'],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
[ 'mips_fpu_mode=="fp64"', {
@@ -507,6 +513,9 @@
'FPU_MODE_FP64',
],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
[ 'mips_fpu_mode=="fp64"', {
@@ -558,6 +567,9 @@
'FPU_MODE_FP64',
],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
['mips_fpu_mode=="fp64"', {
@@ -640,6 +652,9 @@
'cflags': ['-mips32r6'],
'ldflags': ['-mips32r6'],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
[ 'mips_fpu_mode=="fp64"', {
@@ -721,6 +736,9 @@
'FPU_MODE_FP64',
],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
[ 'mips_fpu_mode=="fp64"', {
@@ -778,6 +796,9 @@
'FPU_MODE_FP64',
],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'conditions': [
['mips_fpu_mode=="fp64"', {
@@ -877,6 +898,9 @@
'cflags': ['-mips64r6', '-mabi=64'],
'ldflags': ['-mips64r6', '-mabi=64'],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'defines': ['_MIPS_ARCH_MIPS64R2',],
'conditions': [
@@ -895,6 +919,9 @@
['mips_arch_variant=="r6"', {
'defines': ['_MIPS_ARCH_MIPS64R6',],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'defines': ['_MIPS_ARCH_MIPS64R2',],
}],
@@ -907,6 +934,9 @@
['mips_arch_variant=="r6"', {
'defines': ['_MIPS_ARCH_MIPS64R6',],
}],
+ ['mips_arch_variant=="r6" and mips_use_msa==1', {
+ 'defines': [ '_MIPS_MSA' ],
+ }],
['mips_arch_variant=="r2"', {
'defines': ['_MIPS_ARCH_MIPS64R2',],
}],
@@ -1225,7 +1255,9 @@
'OBJECT_PRINT',
'VERIFY_HEAP',
'DEBUG',
- 'V8_TRACE_MAPS'
+ 'V8_TRACE_MAPS',
+ 'V8_ENABLE_ALLOCATION_TIMEOUT',
+ 'V8_ENABLE_FORCE_SLOW_PATH',
],
'conditions': [
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \
diff --git a/deps/v8/gypfiles/unittests.gyp b/deps/v8/gypfiles/unittests.gyp
new file mode 100644
index 00000000000000..c6d3713b0cf54e
--- /dev/null
+++ b/deps/v8/gypfiles/unittests.gyp
@@ -0,0 +1,287 @@
+# Copyright 2014 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# The sources are kept automatically in sync with BUILD.gn.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ 'unittests_sources': [
+ '../test/unittests/allocation-unittest.cc',
+ '../test/unittests/api/access-check-unittest.cc',
+ '../test/unittests/api/exception-unittest.cc',
+ '../test/unittests/api/interceptor-unittest.cc',
+ '../test/unittests/api/isolate-unittest.cc',
+ '../test/unittests/api/remote-object-unittest.cc',
+ '../test/unittests/api/v8-object-unittest.cc',
+ '../test/unittests/asmjs/asm-scanner-unittest.cc',
+ '../test/unittests/asmjs/asm-types-unittest.cc',
+ '../test/unittests/asmjs/switch-logic-unittest.cc',
+ '../test/unittests/base/atomic-utils-unittest.cc',
+ '../test/unittests/base/bits-unittest.cc',
+ '../test/unittests/base/cpu-unittest.cc',
+ '../test/unittests/base/division-by-constant-unittest.cc',
+ '../test/unittests/base/flags-unittest.cc',
+ '../test/unittests/base/functional-unittest.cc',
+ '../test/unittests/base/ieee754-unittest.cc',
+ '../test/unittests/base/logging-unittest.cc',
+ '../test/unittests/base/macros-unittest.cc',
+ '../test/unittests/base/iterator-unittest.cc',
+ '../test/unittests/base/ostreams-unittest.cc',
+ '../test/unittests/base/platform/condition-variable-unittest.cc',
+ '../test/unittests/base/platform/mutex-unittest.cc',
+ '../test/unittests/base/platform/platform-unittest.cc',
+ '../test/unittests/base/platform/semaphore-unittest.cc',
+ '../test/unittests/base/platform/time-unittest.cc',
+ '../test/unittests/base/sys-info-unittest.cc',
+ '../test/unittests/base/template-utils-unittest.cc',
+ '../test/unittests/base/utils/random-number-generator-unittest.cc',
+ '../test/unittests/bigint-unittest.cc',
+ '../test/unittests/cancelable-tasks-unittest.cc',
+ '../test/unittests/char-predicates-unittest.cc',
+ "../test/unittests/code-stub-assembler-unittest.cc",
+ "../test/unittests/code-stub-assembler-unittest.h",
+ '../test/unittests/compiler/branch-elimination-unittest.cc',
+ '../test/unittests/compiler/bytecode-analysis-unittest.cc',
+ '../test/unittests/compiler/checkpoint-elimination-unittest.cc',
+ "../test/unittests/compiler/code-assembler-unittest.cc",
+ "../test/unittests/compiler/code-assembler-unittest.h",
+ '../test/unittests/compiler/common-operator-reducer-unittest.cc',
+ '../test/unittests/compiler/common-operator-unittest.cc',
+ '../test/unittests/compiler/compiler-test-utils.h',
+ '../test/unittests/compiler/control-equivalence-unittest.cc',
+ '../test/unittests/compiler/control-flow-optimizer-unittest.cc',
+ '../test/unittests/compiler/dead-code-elimination-unittest.cc',
+ '../test/unittests/compiler/diamond-unittest.cc',
+ '../test/unittests/compiler/effect-control-linearizer-unittest.cc',
+ '../test/unittests/compiler/graph-reducer-unittest.cc',
+ '../test/unittests/compiler/graph-reducer-unittest.h',
+ '../test/unittests/compiler/graph-trimmer-unittest.cc',
+ '../test/unittests/compiler/graph-unittest.cc',
+ '../test/unittests/compiler/graph-unittest.h',
+ '../test/unittests/compiler/instruction-unittest.cc',
+ '../test/unittests/compiler/instruction-selector-unittest.cc',
+ '../test/unittests/compiler/instruction-selector-unittest.h',
+ '../test/unittests/compiler/instruction-sequence-unittest.cc',
+ '../test/unittests/compiler/instruction-sequence-unittest.h',
+ '../test/unittests/compiler/int64-lowering-unittest.cc',
+ '../test/unittests/compiler/js-builtin-reducer-unittest.cc',
+ '../test/unittests/compiler/js-create-lowering-unittest.cc',
+ '../test/unittests/compiler/js-intrinsic-lowering-unittest.cc',
+ '../test/unittests/compiler/js-operator-unittest.cc',
+ '../test/unittests/compiler/js-typed-lowering-unittest.cc',
+ '../test/unittests/compiler/linkage-tail-call-unittest.cc',
+ '../test/unittests/compiler/live-range-builder.h',
+ '../test/unittests/compiler/regalloc/live-range-unittest.cc',
+ '../test/unittests/compiler/load-elimination-unittest.cc',
+ '../test/unittests/compiler/loop-peeling-unittest.cc',
+ '../test/unittests/compiler/machine-operator-reducer-unittest.cc',
+ '../test/unittests/compiler/machine-operator-unittest.cc',
+ '../test/unittests/compiler/regalloc/move-optimizer-unittest.cc',
+ '../test/unittests/compiler/node-cache-unittest.cc',
+ '../test/unittests/compiler/node-matchers-unittest.cc',
+ '../test/unittests/compiler/node-properties-unittest.cc',
+ '../test/unittests/compiler/node-test-utils.cc',
+ '../test/unittests/compiler/node-test-utils.h',
+ '../test/unittests/compiler/node-unittest.cc',
+ '../test/unittests/compiler/opcodes-unittest.cc',
+ '../test/unittests/compiler/persistent-unittest.cc',
+ '../test/unittests/compiler/regalloc/register-allocator-unittest.cc',
+ '../test/unittests/compiler/schedule-unittest.cc',
+ '../test/unittests/compiler/scheduler-unittest.cc',
+ '../test/unittests/compiler/scheduler-rpo-unittest.cc',
+ '../test/unittests/compiler/simplified-lowering-unittest.cc',
+ '../test/unittests/compiler/simplified-operator-reducer-unittest.cc',
+ '../test/unittests/compiler/simplified-operator-unittest.cc',
+ '../test/unittests/compiler/state-values-utils-unittest.cc',
+ '../test/unittests/compiler/typed-optimization-unittest.cc',
+ '../test/unittests/compiler/typer-unittest.cc',
+ '../test/unittests/compiler/value-numbering-reducer-unittest.cc',
+ '../test/unittests/compiler/zone-stats-unittest.cc',
+ '../test/unittests/compiler-dispatcher/compiler-dispatcher-tracer-unittest.cc',
+ '../test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc',
+ '../test/unittests/compiler-dispatcher/optimizing-compile-dispatcher-unittest.cc',
+ '../test/unittests/compiler-dispatcher/unoptimized-compile-job-unittest.cc',
+ '../test/unittests/counters-unittest.cc',
+ '../test/unittests/detachable-vector-unittest.cc',
+ '../test/unittests/eh-frame-iterator-unittest.cc',
+ '../test/unittests/eh-frame-writer-unittest.cc',
+ '../test/unittests/heap/barrier-unittest.cc',
+ '../test/unittests/heap/bitmap-unittest.cc',
+ '../test/unittests/heap/embedder-tracing-unittest.cc',
+ '../test/unittests/heap/gc-idle-time-handler-unittest.cc',
+ '../test/unittests/heap/gc-tracer-unittest.cc',
+ '../test/unittests/heap/item-parallel-job-unittest.cc',
+ '../test/unittests/heap/marking-unittest.cc',
+ '../test/unittests/heap/memory-reducer-unittest.cc',
+ '../test/unittests/heap/object-stats-unittest.cc',
+ '../test/unittests/heap/heap-unittest.cc',
+ '../test/unittests/heap/scavenge-job-unittest.cc',
+ '../test/unittests/heap/slot-set-unittest.cc',
+ '../test/unittests/heap/spaces-unittest.cc',
+ '../test/unittests/heap/unmapper-unittest.cc',
+ '../test/unittests/heap/worklist-unittest.cc',
+ '../test/unittests/interpreter/bytecodes-unittest.cc',
+ '../test/unittests/interpreter/bytecode-array-builder-unittest.cc',
+ '../test/unittests/interpreter/bytecode-array-iterator-unittest.cc',
+ '../test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc',
+ '../test/unittests/interpreter/bytecode-array-writer-unittest.cc',
+ '../test/unittests/interpreter/bytecode-decoder-unittest.cc',
+ '../test/unittests/interpreter/bytecode-node-unittest.cc',
+ '../test/unittests/interpreter/bytecode-operands-unittest.cc',
+ '../test/unittests/interpreter/bytecode-register-allocator-unittest.cc',
+ '../test/unittests/interpreter/bytecode-register-optimizer-unittest.cc',
+ '../test/unittests/interpreter/bytecode-source-info-unittest.cc',
+ '../test/unittests/interpreter/bytecode-utils.h',
+ '../test/unittests/interpreter/constant-array-builder-unittest.cc',
+ '../test/unittests/interpreter/interpreter-assembler-unittest.cc',
+ '../test/unittests/interpreter/interpreter-assembler-unittest.h',
+ '../test/unittests/libplatform/default-platform-unittest.cc',
+ '../test/unittests/libplatform/task-queue-unittest.cc',
+ '../test/unittests/libplatform/worker-thread-unittest.cc',
+ '../test/unittests/locked-queue-unittest.cc',
+ '../test/unittests/object-unittest.cc',
+ '../test/unittests/parser/ast-value-unittest.cc',
+ '../test/unittests/parser/preparser-unittest.cc',
+ '../test/unittests/register-configuration-unittest.cc',
+ '../test/unittests/run-all-unittests.cc',
+ '../test/unittests/source-position-table-unittest.cc',
+ '../test/unittests/test-helpers.cc',
+ '../test/unittests/test-helpers.h',
+ '../test/unittests/test-utils.h',
+ '../test/unittests/test-utils.cc',
+ '../test/unittests/unicode-unittest.cc',
+ '../test/unittests/utils-unittest.cc',
+ '../test/unittests/value-serializer-unittest.cc',
+ '../test/unittests/zone/segmentpool-unittest.cc',
+ '../test/unittests/zone/zone-allocator-unittest.cc',
+ '../test/unittests/zone/zone-chunk-list-unittest.cc',
+ '../test/unittests/zone/zone-unittest.cc',
+ '../test/unittests/wasm/control-transfer-unittest.cc',
+ '../test/unittests/wasm/decoder-unittest.cc',
+ '../test/unittests/wasm/function-body-decoder-unittest.cc',
+ '../test/unittests/wasm/wasm-code-manager-unittest.cc',
+ '../test/unittests/wasm/leb-helper-unittest.cc',
+ '../test/unittests/wasm/loop-assignment-analysis-unittest.cc',
+ '../test/unittests/wasm/module-decoder-unittest.cc',
+ '../test/unittests/wasm/streaming-decoder-unittest.cc',
+ '../test/unittests/wasm/trap-handler-unittest.cc',
+ '../test/unittests/wasm/wasm-macro-gen-unittest.cc',
+ '../test/unittests/wasm/wasm-module-builder-unittest.cc',
+ '../test/unittests/wasm/wasm-opcodes-unittest.cc',
+ ],
+ 'unittests_sources_arm': [
+ '../test/unittests/compiler/arm/instruction-selector-arm-unittest.cc',
+ ],
+ 'unittests_sources_arm64': [
+ '../test/unittests/compiler/arm64/instruction-selector-arm64-unittest.cc',
+ ],
+ 'unittests_sources_ia32': [
+ '../test/unittests/compiler/ia32/instruction-selector-ia32-unittest.cc',
+ ],
+ 'unittests_sources_mips': [
+ '../test/unittests/compiler/mips/instruction-selector-mips-unittest.cc',
+ ],
+ 'unittests_sources_mips64': [
+ '../test/unittests/compiler/mips64/instruction-selector-mips64-unittest.cc',
+ ],
+ 'unittests_sources_x64': [
+ '../test/unittests/compiler/x64/instruction-selector-x64-unittest.cc',
+ ],
+ 'unittests_sources_ppc': [
+ '../test/unittests/compiler/ppc/instruction-selector-ppc-unittest.cc',
+ ],
+ 'unittests_sources_s390': [
+ '../test/unittests/compiler/s390/instruction-selector-s390-unittest.cc',
+ ],
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi'],
+ 'targets': [
+ {
+ 'target_name': 'unittests',
+ 'type': 'executable',
+ 'variables': {
+ 'optimize': 'max',
+ },
+ 'dependencies': [
+ 'gmock.gyp:gmock',
+ 'gtest.gyp:gtest',
+ 'v8.gyp:v8',
+ 'v8.gyp:v8_libbase',
+ 'v8.gyp:v8_libplatform',
+ 'v8.gyp:v8_maybe_snapshot',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ '<@(unittests_sources)',
+ ],
+ 'conditions': [
+ ['v8_target_arch=="arm"', {
+ 'sources': [
+ '<@(unittests_sources_arm)',
+ ],
+ }],
+ ['v8_target_arch=="arm64"', {
+ 'sources': [
+ '<@(unittests_sources_arm64)',
+ ],
+ }],
+ ['v8_target_arch=="ia32"', {
+ 'sources': [
+ '<@(unittests_sources_ia32)',
+ ],
+ }],
+ ['v8_target_arch=="mips"', {
+ 'sources': [
+ '<@(unittests_sources_mips)',
+ ],
+ }],
+ ['v8_target_arch=="mipsel"', {
+ 'sources': [
+ '<@(unittests_sources_mips)',
+ ],
+ }],
+ ['v8_target_arch=="mips64"', {
+ 'sources': [
+ '<@(unittests_sources_mips64)',
+ ],
+ }],
+ ['v8_target_arch=="mips64el"', {
+ 'sources': [
+ '<@(unittests_sources_mips64)',
+ ],
+ }],
+ ['v8_target_arch=="x64"', {
+ 'sources': [
+ '<@(unittests_sources_x64)',
+ ],
+ }],
+ ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
+ 'sources': [
+ '<@(unittests_sources_ppc)',
+ ],
+ }],
+ ['v8_target_arch=="s390" or v8_target_arch=="s390x"', {
+ 'sources': [
+ '<@(unittests_sources_s390)',
+ ],
+ }],
+ ['OS=="aix"', {
+ 'ldflags': [ '-Wl,-bbigtoc' ],
+ }],
+ ['v8_enable_i18n_support==1', {
+ 'dependencies': [
+ '<(icu_gyp_path):icui18n',
+ '<(icu_gyp_path):icuuc',
+ ],
+ }],
+ ['v8_use_snapshot=="true"', {
+ 'dependencies': ['v8.gyp:v8_initializers'],
+ }],
+ ],
+ },
+ ],
+}
diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp
new file mode 100644
index 00000000000000..433166290a9ed5
--- /dev/null
+++ b/deps/v8/gypfiles/v8.gyp
@@ -0,0 +1,2613 @@
+# Copyright 2012 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'variables': {
+ 'v8_code': 1,
+ 'v8_random_seed%': 314159265,
+ 'v8_vector_stores%': 0,
+ 'embed_script%': "",
+ 'warmup_script%': "",
+ 'v8_extra_library_files%': [],
+ 'v8_experimental_extra_library_files%': [],
+ 'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
+ 'v8_os_page_size%': 0,
+ },
+ 'includes': ['toolchain.gypi', 'features.gypi', 'inspector.gypi'],
+ 'targets': [
+ {
+ 'target_name': 'v8',
+ 'dependencies_traverse': 1,
+ 'dependencies': ['v8_maybe_snapshot', 'v8_dump_build_config#target'],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ['component=="shared_library"', {
+ 'type': '<(component)',
+ 'sources': [
+ # Note: on non-Windows we still build this file so that gyp
+ # has some sources to link into the component.
+ '../src/v8dll-main.cc',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'defines': [
+ 'BUILDING_V8_SHARED',
+ ],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'USING_V8_SHARED',
+ ],
+ },
+ 'conditions': [
+ ['OS=="mac"', {
+ 'xcode_settings': {
+ 'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
+ },
+ }],
+ ['soname_version!=""', {
+ 'product_extension': 'so.<(soname_version)',
+ }],
+ ],
+ },
+ {
+ 'type': 'none',
+ }],
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../include/',
+ ],
+ },
+ },
+ {
+ # This rule delegates to either v8_snapshot, v8_nosnapshot, or
+ # v8_external_snapshot, depending on the current variables.
+ # The intention is to make the 'calling' rules a bit simpler.
+ 'target_name': 'v8_maybe_snapshot',
+ 'type': 'none',
+ 'conditions': [
+ ['v8_use_snapshot!="true"', {
+ # The dependency on v8_base should come from a transitive
+ # dependency however the Android toolchain requires libv8_base.a
+ # to appear before libv8_snapshot.a so it's listed explicitly.
+ 'dependencies': ['v8_base', 'v8_init', 'v8_nosnapshot'],
+ }],
+ ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
+ # The dependency on v8_base should come from a transitive
+ # dependency however the Android toolchain requires libv8_base.a
+ # to appear before libv8_snapshot.a so it's listed explicitly.
+ 'dependencies': ['v8_base', 'v8_snapshot'],
+ }],
+ ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
+ 'dependencies': ['v8_base', 'v8_external_snapshot'],
+ 'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
+ }],
+ ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
+ 'dependencies': ['v8_base', 'v8_external_snapshot'],
+ 'target_conditions': [
+ ['_toolset=="host"', {
+ 'inputs': [
+ '<(PRODUCT_DIR)/snapshot_blob_host.bin',
+ ],
+ }, {
+ 'inputs': [
+ '<(PRODUCT_DIR)/snapshot_blob.bin',
+ ],
+ }],
+ ],
+ }],
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ]
+ },
+ {
+ 'target_name': 'v8_init',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'v8_initializers',
+ ],
+ 'variables': {
+ 'optimize': 'max',
+ },
+ 'include_dirs+': [
+ '..',
+ '../include/',
+ ],
+ 'sources': [
+ '../src/setup-isolate-full.cc',
+ ],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'v8_initializers',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'v8_base',
+ ],
+ 'variables': {
+ 'optimize': 'max',
+ },
+ 'include_dirs+': [
+ '..',
+ '../include/',
+ ],
+ 'sources': [
+ '../src/builtins/builtins-arguments-gen.cc',
+ '../src/builtins/builtins-arguments-gen.h',
+ '../src/builtins/builtins-array-gen.cc',
+ '../src/builtins/builtins-array-gen.h',
+ '../src/builtins/builtins-async-function-gen.cc',
+ '../src/builtins/builtins-async-gen.cc',
+ '../src/builtins/builtins-async-gen.h',
+ '../src/builtins/builtins-async-generator-gen.cc',
+ '../src/builtins/builtins-async-iterator-gen.cc',
+ '../src/builtins/builtins-boolean-gen.cc',
+ '../src/builtins/builtins-call-gen.cc',
+ '../src/builtins/builtins-call-gen.h',
+ '../src/builtins/builtins-collections-gen.cc',
+ '../src/builtins/builtins-console-gen.cc',
+ '../src/builtins/builtins-constructor-gen.cc',
+ '../src/builtins/builtins-constructor-gen.h',
+ '../src/builtins/builtins-constructor.h',
+ '../src/builtins/builtins-conversion-gen.cc',
+ '../src/builtins/builtins-date-gen.cc',
+ '../src/builtins/builtins-debug-gen.cc',
+ '../src/builtins/builtins-function-gen.cc',
+ '../src/builtins/builtins-generator-gen.cc',
+ '../src/builtins/builtins-global-gen.cc',
+ '../src/builtins/builtins-handler-gen.cc',
+ '../src/builtins/builtins-ic-gen.cc',
+ '../src/builtins/builtins-internal-gen.cc',
+ '../src/builtins/builtins-interpreter-gen.cc',
+ '../src/builtins/builtins-intl-gen.cc',
+ '../src/builtins/builtins-iterator-gen.h',
+ '../src/builtins/builtins-iterator-gen.cc',
+ '../src/builtins/builtins-math-gen.cc',
+ '../src/builtins/builtins-math-gen.h',
+ '../src/builtins/builtins-number-gen.cc',
+ '../src/builtins/builtins-object-gen.cc',
+ '../src/builtins/builtins-promise-gen.cc',
+ '../src/builtins/builtins-promise-gen.h',
+ '../src/builtins/builtins-proxy-gen.cc',
+ '../src/builtins/builtins-proxy-gen.h',
+ '../src/builtins/builtins-reflect-gen.cc',
+ '../src/builtins/builtins-regexp-gen.cc',
+ '../src/builtins/builtins-regexp-gen.h',
+ '../src/builtins/builtins-sharedarraybuffer-gen.cc',
+ '../src/builtins/builtins-string-gen.cc',
+ '../src/builtins/builtins-string-gen.h',
+ '../src/builtins/builtins-symbol-gen.cc',
+ '../src/builtins/builtins-typedarray-gen.cc',
+ '../src/builtins/builtins-typedarray-gen.h',
+ '../src/builtins/builtins-utils-gen.h',
+ '../src/builtins/builtins-wasm-gen.cc',
+ '../src/builtins/growable-fixed-array-gen.cc',
+ '../src/builtins/growable-fixed-array-gen.h',
+ '../src/builtins/setup-builtins-internal.cc',
+ '../src/heap/setup-heap-internal.cc',
+ '../src/ic/accessor-assembler.cc',
+ '../src/ic/accessor-assembler.h',
+ '../src/ic/binary-op-assembler.cc',
+ '../src/ic/binary-op-assembler.h',
+ '../src/ic/keyed-store-generic.cc',
+ '../src/ic/keyed-store-generic.h',
+ '../src/interpreter/interpreter-assembler.cc',
+ '../src/interpreter/interpreter-assembler.h',
+ '../src/interpreter/interpreter-generator.cc',
+ '../src/interpreter/interpreter-generator.h',
+ '../src/interpreter/interpreter-intrinsics-generator.cc',
+ '../src/interpreter/interpreter-intrinsics-generator.h',
+ '../src/interpreter/setup-interpreter-internal.cc',
+ '../src/interpreter/setup-interpreter.h',
+ ],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ['v8_target_arch=="ia32"', {
+ 'sources': [
+ '../src/builtins/ia32/builtins-ia32.cc',
+ ],
+ }],
+ ['v8_target_arch=="x64"', {
+ 'sources': [
+ '../src/builtins/x64/builtins-x64.cc',
+ ],
+ }],
+ ['v8_target_arch=="arm"', {
+ 'sources': [
+ '../src/builtins/arm/builtins-arm.cc',
+ ],
+ }],
+ ['v8_target_arch=="arm64"', {
+ 'sources': [
+ '../src/builtins/arm64/builtins-arm64.cc',
+ ],
+ }],
+ ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
+ 'sources': [
+ '../src/builtins/mips/builtins-mips.cc',
+ ],
+ }],
+ ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
+ 'sources': [
+ '../src/builtins/mips64/builtins-mips64.cc',
+ ],
+ }],
+ ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
+ 'sources': [
+ '../src/builtins/ppc/builtins-ppc.cc',
+ ],
+ }],
+ ['v8_target_arch=="s390" or v8_target_arch=="s390x"', {
+ 'sources': [
+ '../src/builtins/s390/builtins-s390.cc',
+ ],
+ }],
+ ['v8_enable_i18n_support==0', {
+ 'sources!': [
+ '../src/builtins/builtins-intl-gen.cc',
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'v8_snapshot',
+ 'type': 'static_library',
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ 'dependencies': [
+ 'mksnapshot#host',
+ 'js2c#host',
+ ],
+ }, {
+ 'toolsets': ['target'],
+ 'dependencies': [
+ 'mksnapshot',
+ 'js2c',
+ ],
+ }],
+ ['component=="shared_library"', {
+ 'defines': [
+ 'BUILDING_V8_SHARED',
+ ],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'USING_V8_SHARED',
+ ],
+ },
+ }],
+ ],
+ 'dependencies': [
+ 'v8_base',
+ ],
+ 'include_dirs+': [
+ '..',
+ '<(DEPTH)',
+ ],
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
+ '<(INTERMEDIATE_DIR)/snapshot.cc',
+ '../src/setup-isolate-deserialize.cc',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'run_mksnapshot',
+ 'inputs': [
+ '<(mksnapshot_exec)',
+ ],
+ 'conditions': [
+ ['embed_script!=""', {
+ 'inputs': [
+ '<(embed_script)',
+ ],
+ }],
+ ['warmup_script!=""', {
+ 'inputs': [
+ '<(warmup_script)',
+ ],
+ }],
+ ],
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/snapshot.cc',
+ ],
+ 'variables': {
+ 'mksnapshot_flags': [],
+ 'conditions': [
+ ['v8_random_seed!=0', {
+ 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
+ }],
+ ['v8_vector_stores!=0', {
+ 'mksnapshot_flags': ['--vector-stores'],
+ }],
+ ],
+ },
+ 'action': [
+ '<(mksnapshot_exec)',
+ '<@(mksnapshot_flags)',
+ '--startup_src', '<@(INTERMEDIATE_DIR)/snapshot.cc',
+ '<(embed_script)',
+ '<(warmup_script)',
+ ],
+ },
+ ],
+ },
+ {
+ 'target_name': 'v8_nosnapshot',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'v8_base',
+ ],
+ 'include_dirs+': [
+ '..',
+ '<(DEPTH)',
+ ],
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
+ '../src/snapshot/snapshot-empty.cc',
+ ],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ 'dependencies': ['js2c#host'],
+ }, {
+ 'toolsets': ['target'],
+ 'dependencies': ['js2c'],
+ }],
+ ['component=="shared_library"', {
+ 'defines': [
+ 'BUILDING_V8_SHARED',
+ ],
+ }],
+ ]
+ },
+ {
+ 'target_name': 'v8_external_snapshot',
+ 'type': 'static_library',
+ 'conditions': [
+ [ 'v8_use_external_startup_data==1', {
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ 'dependencies': [
+ 'mksnapshot#host',
+ 'js2c#host',
+ 'natives_blob',
+ ]}, {
+ 'toolsets': ['target'],
+ 'dependencies': [
+ 'mksnapshot',
+ 'js2c',
+ 'natives_blob',
+ ],
+ }],
+ ['component=="shared_library"', {
+ 'defines': [
+ 'BUILDING_V8_SHARED',
+ ],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'USING_V8_SHARED',
+ ],
+ },
+ }],
+ ],
+ 'dependencies': [
+ 'v8_base',
+ ],
+ 'include_dirs+': [
+ '..',
+ '<(DEPTH)',
+ ],
+ 'sources': [
+ '../src/setup-isolate-deserialize.cc',
+ '../src/snapshot/natives-external.cc',
+ '../src/snapshot/snapshot-external.cc',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'run_mksnapshot (external)',
+ 'inputs': [
+ '<(mksnapshot_exec)',
+ ],
+ 'variables': {
+ 'mksnapshot_flags': [],
+ 'conditions': [
+ ['v8_random_seed!=0', {
+ 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
+ }],
+ ['v8_vector_stores!=0', {
+ 'mksnapshot_flags': ['--vector-stores'],
+ }],
+ ['v8_os_page_size!=0', {
+ 'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'],
+ }],
+ ],
+ },
+ 'conditions': [
+ ['embed_script!=""', {
+ 'inputs': [
+ '<(embed_script)',
+ ],
+ }],
+ ['warmup_script!=""', {
+ 'inputs': [
+ '<(warmup_script)',
+ ],
+ }],
+ ['want_separate_host_toolset==1', {
+ 'target_conditions': [
+ ['_toolset=="host"', {
+ 'outputs': [
+ '<(PRODUCT_DIR)/snapshot_blob_host.bin',
+ ],
+ 'action': [
+ '<(mksnapshot_exec)',
+ '<@(mksnapshot_flags)',
+ '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin',
+ '<(embed_script)',
+ '<(warmup_script)',
+ ],
+ }, {
+ 'outputs': [
+ '<(PRODUCT_DIR)/snapshot_blob.bin',
+ ],
+ 'action': [
+ '<(mksnapshot_exec)',
+ '<@(mksnapshot_flags)',
+ '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
+ '<(embed_script)',
+ '<(warmup_script)',
+ ],
+ }],
+ ],
+ }, {
+ 'outputs': [
+ '<(PRODUCT_DIR)/snapshot_blob.bin',
+ ],
+ 'action': [
+ '<(mksnapshot_exec)',
+ '<@(mksnapshot_flags)',
+ '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
+ '<(embed_script)',
+ '<(warmup_script)',
+ ],
+ }],
+ ],
+ },
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'v8_base',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'v8_libbase',
+ 'v8_libsampler',
+ 'inspector.gyp:protocol_generated_sources#target',
+ 'inspector.gyp:inspector_injected_script#target',
+ ],
+ 'objs': ['foo.o'],
+ 'variables': {
+ 'optimize': 'max',
+ },
+ 'include_dirs+': [
+ '..',
+ '<(DEPTH)',
+ '<(SHARED_INTERMEDIATE_DIR)'
+ ],
+ 'sources': [
+ '<@(inspector_all_sources)',
+ '../include//v8-debug.h',
+ '../include//v8-platform.h',
+ '../include//v8-profiler.h',
+ '../include//v8-testing.h',
+ '../include//v8-util.h',
+ '../include//v8-value-serializer-version.h',
+ '../include//v8-version-string.h',
+ '../include//v8-version.h',
+ '../include//v8.h',
+ '../include//v8config.h',
+ '../src/accessors.cc',
+ '../src/accessors.h',
+ '../src/address-map.cc',
+ '../src/address-map.h',
+ '../src/allocation.cc',
+ '../src/allocation.h',
+ '../src/allocation-site-scopes.h',
+ '../src/api.cc',
+ '../src/api.h',
+ '../src/api-arguments-inl.h',
+ '../src/api-arguments.cc',
+ '../src/api-arguments.h',
+ '../src/api-natives.cc',
+ '../src/api-natives.h',
+ '../src/arguments.cc',
+ '../src/arguments.h',
+ '../src/asmjs/asm-js.cc',
+ '../src/asmjs/asm-js.h',
+ '../src/asmjs/asm-names.h',
+ '../src/asmjs/asm-parser.cc',
+ '../src/asmjs/asm-parser.h',
+ '../src/asmjs/asm-scanner.cc',
+ '../src/asmjs/asm-scanner.h',
+ '../src/asmjs/asm-types.cc',
+ '../src/asmjs/asm-types.h',
+ '../src/asmjs/switch-logic.h',
+ '../src/asmjs/switch-logic.cc',
+ '../src/assembler.cc',
+ '../src/assembler.h',
+ '../src/assembler-inl.h',
+ '../src/assert-scope.h',
+ '../src/assert-scope.cc',
+ '../src/ast/ast-function-literal-id-reindexer.cc',
+ '../src/ast/ast-function-literal-id-reindexer.h',
+ '../src/ast/ast-source-ranges.h',
+ '../src/ast/ast-traversal-visitor.h',
+ '../src/ast/ast-value-factory.cc',
+ '../src/ast/ast-value-factory.h',
+ '../src/ast/ast.cc',
+ '../src/ast/ast.h',
+ '../src/ast/compile-time-value.cc',
+ '../src/ast/compile-time-value.h',
+ '../src/ast/context-slot-cache.cc',
+ '../src/ast/context-slot-cache.h',
+ '../src/ast/modules.cc',
+ '../src/ast/modules.h',
+ '../src/ast/prettyprinter.cc',
+ '../src/ast/prettyprinter.h',
+ '../src/ast/scopes.cc',
+ '../src/ast/scopes.h',
+ '../src/ast/variables.cc',
+ '../src/ast/variables.h',
+ '../src/bailout-reason.cc',
+ '../src/bailout-reason.h',
+ '../src/basic-block-profiler.cc',
+ '../src/basic-block-profiler.h',
+ '../src/bignum-dtoa.cc',
+ '../src/bignum-dtoa.h',
+ '../src/bignum.cc',
+ '../src/bignum.h',
+ '../src/bit-vector.cc',
+ '../src/bit-vector.h',
+ '../src/bootstrapper.cc',
+ '../src/bootstrapper.h',
+ '../src/boxed-float.h',
+ '../src/builtins/builtins-api.cc',
+ '../src/builtins/builtins-arraybuffer.cc',
+ '../src/builtins/builtins-array.cc',
+ '../src/builtins/builtins-bigint.cc',
+ '../src/builtins/builtins-boolean.cc',
+ '../src/builtins/builtins-call.cc',
+ '../src/builtins/builtins-callsite.cc',
+ '../src/builtins/builtins-collections.cc',
+ '../src/builtins/builtins-console.cc',
+ '../src/builtins/builtins-constructor.h',
+ '../src/builtins/builtins-dataview.cc',
+ '../src/builtins/builtins-date.cc',
+ '../src/builtins/builtins-definitions.h',
+ '../src/builtins/builtins-descriptors.h',
+ '../src/builtins/builtins-error.cc',
+ '../src/builtins/builtins-function.cc',
+ '../src/builtins/builtins-global.cc',
+ '../src/builtins/builtins-internal.cc',
+ '../src/builtins/builtins-interpreter.cc',
+ '../src/builtins/builtins-json.cc',
+ '../src/builtins/builtins-math.cc',
+ '../src/builtins/builtins-number.cc',
+ '../src/builtins/builtins-object.cc',
+ '../src/builtins/builtins-promise.cc',
+ '../src/builtins/builtins-reflect.cc',
+ '../src/builtins/builtins-regexp.cc',
+ '../src/builtins/builtins-sharedarraybuffer.cc',
+ '../src/builtins/builtins-string.cc',
+ '../src/builtins/builtins-intl.cc',
+ '../src/builtins/builtins-intl.h',
+ '../src/builtins/builtins-symbol.cc',
+ '../src/builtins/builtins-typedarray.cc',
+ '../src/builtins/builtins-utils.h',
+ '../src/builtins/builtins.cc',
+ '../src/builtins/builtins.h',
+ '../src/cached-powers.cc',
+ '../src/cached-powers.h',
+ '../src/callable.h',
+ '../src/cancelable-task.cc',
+ '../src/cancelable-task.h',
+ '../src/char-predicates.cc',
+ '../src/char-predicates-inl.h',
+ '../src/char-predicates.h',
+ '../src/checks.h',
+ '../src/code-events.h',
+ '../src/code-factory.cc',
+ '../src/code-factory.h',
+ '../src/code-stub-assembler.cc',
+ '../src/code-stub-assembler.h',
+ '../src/code-stubs.cc',
+ '../src/code-stubs.h',
+ '../src/code-stubs-utils.h',
+ '../src/codegen.cc',
+ '../src/codegen.h',
+ '../src/collector.h',
+ '../src/compilation-cache.cc',
+ '../src/compilation-cache.h',
+ '../src/compilation-dependencies.cc',
+ '../src/compilation-dependencies.h',
+ '../src/compilation-info.cc',
+ '../src/compilation-info.h',
+ '../src/compilation-statistics.cc',
+ '../src/compilation-statistics.h',
+ '../src/compiler/access-builder.cc',
+ '../src/compiler/access-builder.h',
+ '../src/compiler/access-info.cc',
+ '../src/compiler/access-info.h',
+ '../src/compiler/all-nodes.cc',
+ '../src/compiler/all-nodes.h',
+ '../src/compiler/allocation-builder.h',
+ '../src/compiler/basic-block-instrumentor.cc',
+ '../src/compiler/basic-block-instrumentor.h',
+ '../src/compiler/branch-elimination.cc',
+ '../src/compiler/branch-elimination.h',
+ '../src/compiler/bytecode-analysis.cc',
+ '../src/compiler/bytecode-analysis.h',
+ '../src/compiler/bytecode-graph-builder.cc',
+ '../src/compiler/bytecode-graph-builder.h',
+ '../src/compiler/bytecode-liveness-map.cc',
+ '../src/compiler/bytecode-liveness-map.h',
+ '../src/compiler/c-linkage.cc',
+ '../src/compiler/checkpoint-elimination.cc',
+ '../src/compiler/checkpoint-elimination.h',
+ '../src/compiler/code-generator-impl.h',
+ '../src/compiler/code-generator.cc',
+ '../src/compiler/code-generator.h',
+ '../src/compiler/code-assembler.cc',
+ '../src/compiler/code-assembler.h',
+ '../src/compiler/common-node-cache.cc',
+ '../src/compiler/common-node-cache.h',
+ '../src/compiler/common-operator-reducer.cc',
+ '../src/compiler/common-operator-reducer.h',
+ '../src/compiler/common-operator.cc',
+ '../src/compiler/common-operator.h',
+ '../src/compiler/control-equivalence.cc',
+ '../src/compiler/control-equivalence.h',
+ '../src/compiler/control-flow-optimizer.cc',
+ '../src/compiler/control-flow-optimizer.h',
+ '../src/compiler/dead-code-elimination.cc',
+ '../src/compiler/dead-code-elimination.h',
+ '../src/compiler/diamond.h',
+ '../src/compiler/effect-control-linearizer.cc',
+ '../src/compiler/effect-control-linearizer.h',
+ '../src/compiler/escape-analysis.cc',
+ '../src/compiler/escape-analysis.h',
+ '../src/compiler/escape-analysis-reducer.cc',
+ '../src/compiler/escape-analysis-reducer.h',
+ '../src/compiler/frame.cc',
+ '../src/compiler/frame.h',
+ '../src/compiler/frame-elider.cc',
+ '../src/compiler/frame-elider.h',
+ '../src/compiler/frame-states.cc',
+ '../src/compiler/frame-states.h',
+ '../src/compiler/functional-list.h',
+ '../src/compiler/gap-resolver.cc',
+ '../src/compiler/gap-resolver.h',
+ '../src/compiler/graph-assembler.cc',
+ '../src/compiler/graph-assembler.h',
+ '../src/compiler/graph-reducer.cc',
+ '../src/compiler/graph-reducer.h',
+ '../src/compiler/graph-trimmer.cc',
+ '../src/compiler/graph-trimmer.h',
+ '../src/compiler/graph-visualizer.cc',
+ '../src/compiler/graph-visualizer.h',
+ '../src/compiler/graph.cc',
+ '../src/compiler/graph.h',
+ '../src/compiler/instruction-codes.h',
+ '../src/compiler/instruction-selector-impl.h',
+ '../src/compiler/instruction-selector.cc',
+ '../src/compiler/instruction-selector.h',
+ '../src/compiler/instruction-scheduler.cc',
+ '../src/compiler/instruction-scheduler.h',
+ '../src/compiler/instruction.cc',
+ '../src/compiler/instruction.h',
+ '../src/compiler/int64-lowering.cc',
+ '../src/compiler/int64-lowering.h',
+ '../src/compiler/js-builtin-reducer.cc',
+ '../src/compiler/js-builtin-reducer.h',
+ '../src/compiler/js-call-reducer.cc',
+ '../src/compiler/js-call-reducer.h',
+ '../src/compiler/js-context-specialization.cc',
+ '../src/compiler/js-context-specialization.h',
+ '../src/compiler/js-create-lowering.cc',
+ '../src/compiler/js-create-lowering.h',
+ '../src/compiler/js-generic-lowering.cc',
+ '../src/compiler/js-generic-lowering.h',
+ '../src/compiler/js-graph.cc',
+ '../src/compiler/js-graph.h',
+ '../src/compiler/js-inlining.cc',
+ '../src/compiler/js-inlining.h',
+ '../src/compiler/js-inlining-heuristic.cc',
+ '../src/compiler/js-inlining-heuristic.h',
+ '../src/compiler/js-intrinsic-lowering.cc',
+ '../src/compiler/js-intrinsic-lowering.h',
+ '../src/compiler/js-native-context-specialization.cc',
+ '../src/compiler/js-native-context-specialization.h',
+ '../src/compiler/js-operator.cc',
+ '../src/compiler/js-operator.h',
+ '../src/compiler/js-type-hint-lowering.cc',
+ '../src/compiler/js-type-hint-lowering.h',
+ '../src/compiler/js-typed-lowering.cc',
+ '../src/compiler/js-typed-lowering.h',
+ '../src/compiler/jump-threading.cc',
+ '../src/compiler/jump-threading.h',
+ '../src/compiler/linkage.cc',
+ '../src/compiler/linkage.h',
+ '../src/compiler/live-range-separator.cc',
+ '../src/compiler/live-range-separator.h',
+ '../src/compiler/load-elimination.cc',
+ '../src/compiler/load-elimination.h',
+ '../src/compiler/loop-analysis.cc',
+ '../src/compiler/loop-analysis.h',
+ '../src/compiler/loop-peeling.cc',
+ '../src/compiler/loop-peeling.h',
+ '../src/compiler/loop-variable-optimizer.cc',
+ '../src/compiler/loop-variable-optimizer.h',
+ '../src/compiler/machine-operator-reducer.cc',
+ '../src/compiler/machine-operator-reducer.h',
+ '../src/compiler/machine-operator.cc',
+ '../src/compiler/machine-operator.h',
+ '../src/compiler/machine-graph-verifier.cc',
+ '../src/compiler/machine-graph-verifier.h',
+ '../src/compiler/memory-optimizer.cc',
+ '../src/compiler/memory-optimizer.h',
+ '../src/compiler/move-optimizer.cc',
+ '../src/compiler/move-optimizer.h',
+ '../src/compiler/node-aux-data.h',
+ '../src/compiler/node-cache.cc',
+ '../src/compiler/node-cache.h',
+ '../src/compiler/node-marker.cc',
+ '../src/compiler/node-marker.h',
+ '../src/compiler/node-matchers.cc',
+ '../src/compiler/node-matchers.h',
+ '../src/compiler/node-properties.cc',
+ '../src/compiler/node-properties.h',
+ '../src/compiler/node.cc',
+ '../src/compiler/node.h',
+ '../src/compiler/opcodes.cc',
+ '../src/compiler/opcodes.h',
+ '../src/compiler/operation-typer.cc',
+ '../src/compiler/operation-typer.h',
+ '../src/compiler/operator-properties.cc',
+ '../src/compiler/operator-properties.h',
+ '../src/compiler/operator.cc',
+ '../src/compiler/operator.h',
+ '../src/compiler/osr.cc',
+ '../src/compiler/osr.h',
+ '../src/compiler/persistent-map.h',
+ '../src/compiler/pipeline.cc',
+ '../src/compiler/pipeline.h',
+ '../src/compiler/pipeline-statistics.cc',
+ '../src/compiler/pipeline-statistics.h',
+ '../src/compiler/property-access-builder.cc',
+ '../src/compiler/property-access-builder.h',
+ '../src/compiler/raw-machine-assembler.cc',
+ '../src/compiler/raw-machine-assembler.h',
+ '../src/compiler/redundancy-elimination.cc',
+ '../src/compiler/redundancy-elimination.h',
+ '../src/compiler/register-allocator.cc',
+ '../src/compiler/register-allocator.h',
+ '../src/compiler/register-allocator-verifier.cc',
+ '../src/compiler/register-allocator-verifier.h',
+ '../src/compiler/representation-change.cc',
+ '../src/compiler/representation-change.h',
+ '../src/compiler/schedule.cc',
+ '../src/compiler/schedule.h',
+ '../src/compiler/scheduler.cc',
+ '../src/compiler/scheduler.h',
+ '../src/compiler/select-lowering.cc',
+ '../src/compiler/select-lowering.h',
+ '../src/compiler/simd-scalar-lowering.cc',
+ '../src/compiler/simd-scalar-lowering.h',
+ '../src/compiler/simplified-lowering.cc',
+ '../src/compiler/simplified-lowering.h',
+ '../src/compiler/simplified-operator-reducer.cc',
+ '../src/compiler/simplified-operator-reducer.h',
+ '../src/compiler/simplified-operator.cc',
+ '../src/compiler/simplified-operator.h',
+ '../src/compiler/compiler-source-position-table.cc',
+ '../src/compiler/compiler-source-position-table.h',
+ '../src/compiler/state-values-utils.cc',
+ '../src/compiler/state-values-utils.h',
+ '../src/compiler/store-store-elimination.cc',
+ '../src/compiler/store-store-elimination.h',
+ '../src/compiler/types.cc',
+ '../src/compiler/types.h',
+ '../src/compiler/type-cache.cc',
+ '../src/compiler/type-cache.h',
+ '../src/compiler/typed-optimization.cc',
+ '../src/compiler/typed-optimization.h',
+ '../src/compiler/typer.cc',
+ '../src/compiler/typer.h',
+ '../src/compiler/unwinding-info-writer.h',
+ '../src/compiler/value-numbering-reducer.cc',
+ '../src/compiler/value-numbering-reducer.h',
+ '../src/compiler/verifier.cc',
+ '../src/compiler/verifier.h',
+ '../src/compiler/wasm-compiler.cc',
+ '../src/compiler/wasm-compiler.h',
+ '../src/compiler/wasm-linkage.cc',
+ '../src/compiler/zone-stats.cc',
+ '../src/compiler/zone-stats.h',
+ '../src/compiler-dispatcher/compiler-dispatcher.cc',
+ '../src/compiler-dispatcher/compiler-dispatcher.h',
+ '../src/compiler-dispatcher/compiler-dispatcher-job.cc',
+ '../src/compiler-dispatcher/compiler-dispatcher-job.h',
+ '../src/compiler-dispatcher/compiler-dispatcher-tracer.cc',
+ '../src/compiler-dispatcher/compiler-dispatcher-tracer.h',
+ '../src/compiler-dispatcher/optimizing-compile-dispatcher.cc',
+ '../src/compiler-dispatcher/optimizing-compile-dispatcher.h',
+ '../src/compiler-dispatcher/unoptimized-compile-job.cc',
+ '../src/compiler-dispatcher/unoptimized-compile-job.h',
+ '../src/compiler.cc',
+ '../src/compiler.h',
+ '../src/contexts-inl.h',
+ '../src/contexts.cc',
+ '../src/contexts.h',
+ '../src/conversions-inl.h',
+ '../src/conversions.cc',
+ '../src/conversions.h',
+ '../src/counters-inl.h',
+ '../src/counters.cc',
+ '../src/counters.h',
+ '../src/date.cc',
+ '../src/date.h',
+ '../src/dateparser-inl.h',
+ '../src/dateparser.cc',
+ '../src/dateparser.h',
+ '../src/debug/debug-coverage.cc',
+ '../src/debug/debug-coverage.h',
+ '../src/debug/debug-evaluate.cc',
+ '../src/debug/debug-evaluate.h',
+ '../src/debug/debug-interface.h',
+ '../src/debug/debug-frames.cc',
+ '../src/debug/debug-frames.h',
+ '../src/debug/debug-scope-iterator.cc',
+ '../src/debug/debug-scope-iterator.h',
+ '../src/debug/debug-scopes.cc',
+ '../src/debug/debug-scopes.h',
+ '../src/debug/debug-stack-trace-iterator.cc',
+ '../src/debug/debug-stack-trace-iterator.h',
+ '../src/debug/debug-type-profile.cc',
+ '../src/debug/debug-type-profile.h',
+ '../src/debug/debug.cc',
+ '../src/debug/debug.h',
+ '../src/debug/interface-types.h',
+ '../src/debug/liveedit.cc',
+ '../src/debug/liveedit.h',
+ '../src/deoptimize-reason.cc',
+ '../src/deoptimize-reason.h',
+ '../src/deoptimizer.cc',
+ '../src/deoptimizer.h',
+ '../src/detachable-vector.h',
+ '../src/disasm.h',
+ '../src/disassembler.cc',
+ '../src/disassembler.h',
+ '../src/diy-fp.cc',
+ '../src/diy-fp.h',
+ '../src/double.h',
+ '../src/dtoa.cc',
+ '../src/dtoa.h',
+ '../src/eh-frame.cc',
+ '../src/eh-frame.h',
+ '../src/elements-kind.cc',
+ '../src/elements-kind.h',
+ '../src/elements.cc',
+ '../src/elements.h',
+ '../src/execution.cc',
+ '../src/execution.h',
+ '../src/extensions/externalize-string-extension.cc',
+ '../src/extensions/externalize-string-extension.h',
+ '../src/extensions/free-buffer-extension.cc',
+ '../src/extensions/free-buffer-extension.h',
+ '../src/extensions/gc-extension.cc',
+ '../src/extensions/gc-extension.h',
+ '../src/extensions/ignition-statistics-extension.cc',
+ '../src/extensions/ignition-statistics-extension.h',
+ '../src/extensions/statistics-extension.cc',
+ '../src/extensions/statistics-extension.h',
+ '../src/extensions/trigger-failure-extension.cc',
+ '../src/extensions/trigger-failure-extension.h',
+ '../src/external-reference-table.cc',
+ '../src/external-reference-table.h',
+ '../src/factory-inl.h',
+ '../src/factory.cc',
+ '../src/factory.h',
+ '../src/fast-dtoa.cc',
+ '../src/fast-dtoa.h',
+ '../src/feedback-vector-inl.h',
+ '../src/feedback-vector.cc',
+ '../src/feedback-vector.h',
+ '../src/field-index.h',
+ '../src/field-index-inl.h',
+ '../src/field-type.cc',
+ '../src/field-type.h',
+ '../src/fixed-dtoa.cc',
+ '../src/fixed-dtoa.h',
+ '../src/flag-definitions.h',
+ '../src/flags.cc',
+ '../src/flags.h',
+ '../src/frame-constants.h',
+ '../src/frames-inl.h',
+ '../src/frames.cc',
+ '../src/frames.h',
+ '../src/futex-emulation.cc',
+ '../src/futex-emulation.h',
+ '../src/gdb-jit.cc',
+ '../src/gdb-jit.h',
+ '../src/global-handles.cc',
+ '../src/global-handles.h',
+ '../src/globals.h',
+ '../src/handles-inl.h',
+ '../src/handles.cc',
+ '../src/handles.h',
+ '../src/heap-symbols.h',
+ '../src/heap/array-buffer-collector.cc',
+ '../src/heap/array-buffer-collector.h',
+ '../src/heap/array-buffer-tracker-inl.h',
+ '../src/heap/array-buffer-tracker.cc',
+ '../src/heap/array-buffer-tracker.h',
+ '../src/heap/barrier.h',
+ '../src/heap/code-stats.cc',
+ '../src/heap/code-stats.h',
+ '../src/heap/concurrent-marking.cc',
+ '../src/heap/concurrent-marking.h',
+ '../src/heap/embedder-tracing.cc',
+ '../src/heap/embedder-tracing.h',
+ '../src/heap/memory-reducer.cc',
+ '../src/heap/memory-reducer.h',
+ '../src/heap/gc-idle-time-handler.cc',
+ '../src/heap/gc-idle-time-handler.h',
+ '../src/heap/gc-tracer.cc',
+ '../src/heap/gc-tracer.h',
+ '../src/heap/heap-inl.h',
+ '../src/heap/heap.cc',
+ '../src/heap/heap.h',
+ '../src/heap/incremental-marking-inl.h',
+ '../src/heap/incremental-marking-job.cc',
+ '../src/heap/incremental-marking-job.h',
+ '../src/heap/incremental-marking.cc',
+ '../src/heap/incremental-marking.h',
+ '../src/heap/invalidated-slots-inl.h',
+ '../src/heap/invalidated-slots.cc',
+ '../src/heap/invalidated-slots.h',
+ '../src/heap/item-parallel-job.cc',
+ '../src/heap/item-parallel-job.h',
+ '../src/heap/local-allocator.h',
+ '../src/heap/mark-compact-inl.h',
+ '../src/heap/mark-compact.cc',
+ '../src/heap/mark-compact.h',
+ '../src/heap/marking.cc',
+ '../src/heap/marking.h',
+ '../src/heap/object-stats.cc',
+ '../src/heap/object-stats.h',
+ '../src/heap/objects-visiting-inl.h',
+ '../src/heap/objects-visiting.cc',
+ '../src/heap/objects-visiting.h',
+ '../src/heap/remembered-set.h',
+ '../src/heap/scavenge-job.h',
+ '../src/heap/scavenge-job.cc',
+ '../src/heap/scavenger-inl.h',
+ '../src/heap/scavenger.cc',
+ '../src/heap/scavenger.h',
+ '../src/heap/slot-set.h',
+ '../src/heap/spaces-inl.h',
+ '../src/heap/spaces.cc',
+ '../src/heap/spaces.h',
+ '../src/heap/store-buffer.cc',
+ '../src/heap/store-buffer.h',
+ '../src/heap/stress-marking-observer.cc',
+ '../src/heap/stress-marking-observer.h',
+ '../src/heap/stress-scavenge-observer.cc',
+ '../src/heap/stress-scavenge-observer.h',
+ '../src/heap/sweeper.cc',
+ '../src/heap/sweeper.h',
+ '../src/heap/worklist.h',
+ '../src/intl.cc',
+ '../src/intl.h',
+ '../src/icu_util.cc',
+ '../src/icu_util.h',
+ '../src/ic/call-optimization.cc',
+ '../src/ic/call-optimization.h',
+ '../src/ic/handler-configuration.cc',
+ '../src/ic/handler-configuration-inl.h',
+ '../src/ic/handler-configuration.h',
+ '../src/ic/ic-inl.h',
+ '../src/ic/ic-stats.cc',
+ '../src/ic/ic-stats.h',
+ '../src/ic/ic.cc',
+ '../src/ic/ic.h',
+ '../src/identity-map.cc',
+ '../src/identity-map.h',
+ '../src/instruction-stream.cc',
+ '../src/instruction-stream.h',
+ '../src/interface-descriptors.cc',
+ '../src/interface-descriptors.h',
+ '../src/interpreter/block-coverage-builder.h',
+ '../src/interpreter/bytecodes.cc',
+ '../src/interpreter/bytecodes.h',
+ '../src/interpreter/bytecode-array-accessor.cc',
+ '../src/interpreter/bytecode-array-accessor.h',
+ '../src/interpreter/bytecode-array-builder.cc',
+ '../src/interpreter/bytecode-array-builder.h',
+ '../src/interpreter/bytecode-array-iterator.cc',
+ '../src/interpreter/bytecode-array-iterator.h',
+ '../src/interpreter/bytecode-array-random-iterator.cc',
+ '../src/interpreter/bytecode-array-random-iterator.h',
+ '../src/interpreter/bytecode-array-writer.cc',
+ '../src/interpreter/bytecode-array-writer.h',
+ '../src/interpreter/bytecode-decoder.cc',
+ '../src/interpreter/bytecode-decoder.h',
+ '../src/interpreter/bytecode-flags.cc',
+ '../src/interpreter/bytecode-flags.h',
+ '../src/interpreter/bytecode-generator.cc',
+ '../src/interpreter/bytecode-generator.h',
+ '../src/interpreter/bytecode-label.cc',
+ '../src/interpreter/bytecode-label.h',
+ '../src/interpreter/bytecode-node.cc',
+ '../src/interpreter/bytecode-node.h',
+ '../src/interpreter/bytecode-operands.cc',
+ '../src/interpreter/bytecode-operands.h',
+ '../src/interpreter/bytecode-register.cc',
+ '../src/interpreter/bytecode-register.h',
+ '../src/interpreter/bytecode-register-allocator.h',
+ '../src/interpreter/bytecode-register-optimizer.cc',
+ '../src/interpreter/bytecode-register-optimizer.h',
+ '../src/interpreter/bytecode-source-info.cc',
+ '../src/interpreter/bytecode-source-info.h',
+ '../src/interpreter/bytecode-jump-table.h',
+ '../src/interpreter/bytecode-traits.h',
+ '../src/interpreter/constant-array-builder.cc',
+ '../src/interpreter/constant-array-builder.h',
+ '../src/interpreter/control-flow-builders.cc',
+ '../src/interpreter/control-flow-builders.h',
+ '../src/interpreter/handler-table-builder.cc',
+ '../src/interpreter/handler-table-builder.h',
+ '../src/interpreter/interpreter.cc',
+ '../src/interpreter/interpreter.h',
+ '../src/interpreter/interpreter-generator.h',
+ '../src/interpreter/interpreter-intrinsics.cc',
+ '../src/interpreter/interpreter-intrinsics.h',
+ '../src/isolate-inl.h',
+ '../src/isolate.cc',
+ '../src/isolate.h',
+ '../src/json-parser.cc',
+ '../src/json-parser.h',
+ '../src/json-stringifier.cc',
+ '../src/json-stringifier.h',
+ '../src/keys.h',
+ '../src/keys.cc',
+ '../src/label.h',
+ '../src/layout-descriptor-inl.h',
+ '../src/layout-descriptor.cc',
+ '../src/layout-descriptor.h',
+ '../src/locked-queue-inl.h',
+ '../src/locked-queue.h',
+ '../src/log-inl.h',
+ '../src/log-utils.cc',
+ '../src/log-utils.h',
+ '../src/log.cc',
+ '../src/log.h',
+ '../src/lookup-cache-inl.h',
+ '../src/lookup-cache.cc',
+ '../src/lookup-cache.h',
+ '../src/lookup.cc',
+ '../src/lookup.h',
+ '../src/map-updater.cc',
+ '../src/map-updater.h',
+ '../src/macro-assembler-inl.h',
+ '../src/macro-assembler.h',
+ '../src/machine-type.cc',
+ '../src/machine-type.h',
+ '../src/managed.h',
+ '../src/messages.cc',
+ '../src/messages.h',
+ '../src/msan.h',
+ '../src/objects-body-descriptors-inl.h',
+ '../src/objects-body-descriptors.h',
+ '../src/objects-debug.cc',
+ '../src/objects-inl.h',
+ '../src/objects-printer.cc',
+ '../src/objects.cc',
+ '../src/objects.h',
+ '../src/objects/arguments-inl.h',
+ '../src/objects/arguments.h',
+ '../src/objects/bigint.cc',
+ '../src/objects/bigint.h',
+ '../src/objects/code-inl.h',
+ '../src/objects/code.h',
+ '../src/objects/compilation-cache.h',
+ '../src/objects/compilation-cache-inl.h',
+ '../src/objects/data-handler.h',
+ '../src/objects/data-handler-inl.h',
+ '../src/objects/debug-objects-inl.h',
+ '../src/objects/debug-objects.cc',
+ '../src/objects/debug-objects.h',
+ '../src/objects/descriptor-array.h',
+ '../src/objects/dictionary.h',
+ '../src/objects/fixed-array.h',
+ '../src/objects/fixed-array-inl.h',
+ '../src/objects/frame-array.h',
+ '../src/objects/frame-array-inl.h',
+ '../src/objects/hash-table-inl.h',
+ '../src/objects/hash-table.h',
+ '../src/objects/intl-objects.cc',
+ '../src/objects/intl-objects.h',
+ '../src/objects/js-array.h',
+ '../src/objects/js-array-inl.h',
+ '../src/objects/js-collection.h',
+ '../src/objects/js-collection-inl.h',
+ '../src/objects/js-regexp.h',
+ '../src/objects/js-regexp-inl.h',
+ '../src/objects/literal-objects.cc',
+ '../src/objects/literal-objects-inl.h',
+ '../src/objects/literal-objects.h',
+ '../src/objects/map-inl.h',
+ '../src/objects/map.h',
+ '../src/objects/name-inl.h',
+ '../src/objects/name.h',
+ '../src/objects/module-inl.h',
+ '../src/objects/module.cc',
+ '../src/objects/module.h',
+ '../src/objects/object-macros.h',
+ '../src/objects/object-macros-undef.h',
+ '../src/objects/property-descriptor-object.h',
+ '../src/objects/property-descriptor-object-inl.h',
+ '../src/objects/regexp-match-info.h',
+ '../src/objects/scope-info.cc',
+ '../src/objects/scope-info.h',
+ '../src/objects/script.h',
+ '../src/objects/script-inl.h',
+ '../src/objects/shared-function-info-inl.h',
+ '../src/objects/shared-function-info.h',
+ '../src/objects/string-inl.h',
+ '../src/objects/string.h',
+ '../src/objects/string-table.h',
+ '../src/objects/template-objects.cc',
+ '../src/objects/template-objects.h',
+ '../src/ostreams.cc',
+ '../src/ostreams.h',
+ '../src/parsing/background-parsing-task.cc',
+ '../src/parsing/background-parsing-task.h',
+ '../src/parsing/duplicate-finder.h',
+ '../src/parsing/expression-classifier.h',
+ '../src/parsing/expression-scope-reparenter.cc',
+ '../src/parsing/expression-scope-reparenter.h',
+ '../src/parsing/func-name-inferrer.cc',
+ '../src/parsing/func-name-inferrer.h',
+ '../src/parsing/parse-info.cc',
+ '../src/parsing/parse-info.h',
+ '../src/parsing/parser-base.h',
+ '../src/parsing/parser.cc',
+ '../src/parsing/parser.h',
+ '../src/parsing/parsing.cc',
+ '../src/parsing/parsing.h',
+ '../src/parsing/pattern-rewriter.cc',
+ '../src/parsing/preparse-data-format.h',
+ '../src/parsing/preparse-data.cc',
+ '../src/parsing/preparse-data.h',
+ '../src/parsing/preparsed-scope-data.cc',
+ '../src/parsing/preparsed-scope-data.h',
+ '../src/parsing/preparser.cc',
+ '../src/parsing/preparser.h',
+ '../src/parsing/rewriter.cc',
+ '../src/parsing/rewriter.h',
+ '../src/parsing/scanner-character-streams.cc',
+ '../src/parsing/scanner-character-streams.h',
+ '../src/parsing/scanner.cc',
+ '../src/parsing/scanner.h',
+ '../src/parsing/token.cc',
+ '../src/parsing/token.h',
+ '../src/pending-compilation-error-handler.cc',
+ '../src/pending-compilation-error-handler.h',
+ '../src/perf-jit.cc',
+ '../src/perf-jit.h',
+ '../src/profiler/allocation-tracker.cc',
+ '../src/profiler/allocation-tracker.h',
+ '../src/profiler/circular-queue-inl.h',
+ '../src/profiler/circular-queue.h',
+ '../src/profiler/cpu-profiler-inl.h',
+ '../src/profiler/cpu-profiler.cc',
+ '../src/profiler/cpu-profiler.h',
+ '../src/profiler/heap-profiler.cc',
+ '../src/profiler/heap-profiler.h',
+ '../src/profiler/heap-snapshot-generator-inl.h',
+ '../src/profiler/heap-snapshot-generator.cc',
+ '../src/profiler/heap-snapshot-generator.h',
+ '../src/profiler/profiler-listener.cc',
+ '../src/profiler/profiler-listener.h',
+ '../src/profiler/profile-generator-inl.h',
+ '../src/profiler/profile-generator.cc',
+ '../src/profiler/profile-generator.h',
+ '../src/profiler/sampling-heap-profiler.cc',
+ '../src/profiler/sampling-heap-profiler.h',
+ '../src/profiler/strings-storage.cc',
+ '../src/profiler/strings-storage.h',
+ '../src/profiler/tick-sample.cc',
+ '../src/profiler/tick-sample.h',
+ '../src/profiler/tracing-cpu-profiler.cc',
+ '../src/profiler/tracing-cpu-profiler.h',
+ '../src/profiler/unbound-queue-inl.h',
+ '../src/profiler/unbound-queue.h',
+ '../src/property-descriptor.cc',
+ '../src/property-descriptor.h',
+ '../src/property-details.h',
+ '../src/property.cc',
+ '../src/property.h',
+ '../src/prototype.h',
+ '../src/regexp/bytecodes-irregexp.h',
+ '../src/regexp/interpreter-irregexp.cc',
+ '../src/regexp/interpreter-irregexp.h',
+ '../src/regexp/jsregexp-inl.h',
+ '../src/regexp/jsregexp.cc',
+ '../src/regexp/jsregexp.h',
+ '../src/regexp/regexp-ast.cc',
+ '../src/regexp/regexp-ast.h',
+ '../src/regexp/regexp-macro-assembler-irregexp-inl.h',
+ '../src/regexp/regexp-macro-assembler-irregexp.cc',
+ '../src/regexp/regexp-macro-assembler-irregexp.h',
+ '../src/regexp/regexp-macro-assembler-tracer.cc',
+ '../src/regexp/regexp-macro-assembler-tracer.h',
+ '../src/regexp/regexp-macro-assembler.cc',
+ '../src/regexp/regexp-macro-assembler.h',
+ '../src/regexp/regexp-parser.cc',
+ '../src/regexp/regexp-parser.h',
+ '../src/regexp/regexp-stack.cc',
+ '../src/regexp/regexp-stack.h',
+ '../src/regexp/regexp-utils.cc',
+ '../src/regexp/regexp-utils.h',
+ '../src/register-configuration.cc',
+ '../src/register-configuration.h',
+ '../src/reglist.h',
+ '../src/runtime-profiler.cc',
+ '../src/runtime-profiler.h',
+ '../src/runtime/runtime-array.cc',
+ '../src/runtime/runtime-atomics.cc',
+ '../src/runtime/runtime-bigint.cc',
+ '../src/runtime/runtime-classes.cc',
+ '../src/runtime/runtime-collections.cc',
+ '../src/runtime/runtime-compiler.cc',
+ '../src/runtime/runtime-date.cc',
+ '../src/runtime/runtime-debug.cc',
+ '../src/runtime/runtime-forin.cc',
+ '../src/runtime/runtime-function.cc',
+ '../src/runtime/runtime-error.cc',
+ '../src/runtime/runtime-futex.cc',
+ '../src/runtime/runtime-generator.cc',
+ '../src/runtime/runtime-intl.cc',
+ '../src/runtime/runtime-internal.cc',
+ '../src/runtime/runtime-interpreter.cc',
+ '../src/runtime/runtime-literals.cc',
+ '../src/runtime/runtime-liveedit.cc',
+ '../src/runtime/runtime-maths.cc',
+ '../src/runtime/runtime-module.cc',
+ '../src/runtime/runtime-numbers.cc',
+ '../src/runtime/runtime-object.cc',
+ '../src/runtime/runtime-operators.cc',
+ '../src/runtime/runtime-promise.cc',
+ '../src/runtime/runtime-proxy.cc',
+ '../src/runtime/runtime-regexp.cc',
+ '../src/runtime/runtime-scopes.cc',
+ '../src/runtime/runtime-strings.cc',
+ '../src/runtime/runtime-symbol.cc',
+ '../src/runtime/runtime-test.cc',
+ '../src/runtime/runtime-typedarray.cc',
+ '../src/runtime/runtime-utils.h',
+ '../src/runtime/runtime-wasm.cc',
+ '../src/runtime/runtime.cc',
+ '../src/runtime/runtime.h',
+ '../src/safepoint-table.cc',
+ '../src/safepoint-table.h',
+ '../src/setup-isolate.h',
+ '../src/signature.h',
+ '../src/simulator-base.cc',
+ '../src/simulator-base.h',
+ '../src/simulator.h',
+ '../src/snapshot/builtin-deserializer-allocator.cc',
+ '../src/snapshot/builtin-deserializer-allocator.h',
+ '../src/snapshot/builtin-deserializer.cc',
+ '../src/snapshot/builtin-deserializer.h',
+ '../src/snapshot/builtin-serializer-allocator.cc',
+ '../src/snapshot/builtin-serializer-allocator.h',
+ '../src/snapshot/builtin-serializer.cc',
+ '../src/snapshot/builtin-serializer.h',
+ '../src/snapshot/builtin-snapshot-utils.cc',
+ '../src/snapshot/builtin-snapshot-utils.h',
+ '../src/snapshot/code-serializer.cc',
+ '../src/snapshot/code-serializer.h',
+ '../src/snapshot/default-deserializer-allocator.cc',
+ '../src/snapshot/default-deserializer-allocator.h',
+ '../src/snapshot/default-serializer-allocator.cc',
+ '../src/snapshot/default-serializer-allocator.h',
+ '../src/snapshot/deserializer.cc',
+ '../src/snapshot/deserializer.h',
+ '../src/snapshot/natives-common.cc',
+ '../src/snapshot/natives.h',
+ '../src/snapshot/object-deserializer.cc',
+ '../src/snapshot/object-deserializer.h',
+ '../src/snapshot/partial-deserializer.cc',
+ '../src/snapshot/partial-deserializer.h',
+ '../src/snapshot/partial-serializer.cc',
+ '../src/snapshot/partial-serializer.h',
+ '../src/snapshot/serializer.cc',
+ '../src/snapshot/serializer-common.cc',
+ '../src/snapshot/serializer-common.h',
+ '../src/snapshot/serializer.h',
+ '../src/snapshot/snapshot-common.cc',
+ '../src/snapshot/snapshot.h',
+ '../src/snapshot/snapshot-source-sink.cc',
+ '../src/snapshot/snapshot-source-sink.h',
+ '../src/snapshot/startup-deserializer.cc',
+ '../src/snapshot/startup-deserializer.h',
+ '../src/snapshot/startup-serializer.cc',
+ '../src/snapshot/startup-serializer.h',
+ '../src/source-position-table.cc',
+ '../src/source-position-table.h',
+ '../src/source-position.cc',
+ '../src/source-position.h',
+ '../src/splay-tree.h',
+ '../src/splay-tree-inl.h',
+ '../src/startup-data-util.cc',
+ '../src/startup-data-util.h',
+ '../src/string-builder.cc',
+ '../src/string-builder.h',
+ '../src/string-case.cc',
+ '../src/string-case.h',
+ '../src/string-hasher-inl.h',
+ '../src/string-hasher.h',
+ '../src/string-search.h',
+ '../src/string-stream.cc',
+ '../src/string-stream.h',
+ '../src/strtod.cc',
+ '../src/strtod.h',
+ '../src/ic/stub-cache.cc',
+ '../src/ic/stub-cache.h',
+ '../src/third_party/utf8-decoder/utf8-decoder.h',
+ '../src/tracing/trace-event.cc',
+ '../src/tracing/trace-event.h',
+ '../src/tracing/traced-value.cc',
+ '../src/tracing/traced-value.h',
+ '../src/tracing/tracing-category-observer.cc',
+ '../src/tracing/tracing-category-observer.h',
+ '../src/transitions-inl.h',
+ '../src/transitions.cc',
+ '../src/transitions.h',
+ '../src/trap-handler/handler-outside.cc',
+ '../src/trap-handler/handler-shared.cc',
+ '../src/trap-handler/trap-handler.h',
+ '../src/trap-handler/trap-handler-internal.h',
+ '../src/type-hints.cc',
+ '../src/type-hints.h',
+ '../src/unicode-inl.h',
+ '../src/unicode.cc',
+ '../src/unicode.h',
+ '../src/unicode-cache-inl.h',
+ '../src/unicode-cache.h',
+ '../src/unicode-decoder.cc',
+ '../src/unicode-decoder.h',
+ '../src/uri.cc',
+ '../src/uri.h',
+ '../src/utils-inl.h',
+ '../src/utils.cc',
+ '../src/utils.h',
+ '../src/v8.cc',
+ '../src/v8.h',
+ '../src/v8memory.h',
+ '../src/v8threads.cc',
+ '../src/v8threads.h',
+ '../src/value-serializer.cc',
+ '../src/value-serializer.h',
+ '../src/vector-slot-pair.cc',
+ '../src/vector-slot-pair.h',
+ '../src/vector.h',
+ '../src/version.cc',
+ '../src/version.h',
+ '../src/visitors.cc',
+ '../src/visitors.h',
+ '../src/vm-state-inl.h',
+ '../src/vm-state.h',
+ '../src/wasm/baseline/liftoff-assembler-defs.h',
+ '../src/wasm/baseline/liftoff-assembler.cc',
+ '../src/wasm/baseline/liftoff-assembler.h',
+ '../src/wasm/baseline/liftoff-compiler.cc',
+ '../src/wasm/baseline/liftoff-register.h',
+ '../src/wasm/compilation-manager.cc',
+ '../src/wasm/compilation-manager.h',
+ '../src/wasm/decoder.h',
+ '../src/wasm/function-body-decoder.cc',
+ '../src/wasm/function-body-decoder.h',
+ '../src/wasm/function-body-decoder-impl.h',
+ '../src/wasm/leb-helper.h',
+ '../src/wasm/local-decl-encoder.cc',
+ '../src/wasm/local-decl-encoder.h',
+ '../src/wasm/memory-tracing.cc',
+ '../src/wasm/memory-tracing.h',
+ '../src/wasm/module-compiler.cc',
+ '../src/wasm/module-compiler.h',
+ '../src/wasm/module-decoder.cc',
+ '../src/wasm/module-decoder.h',
+ '../src/wasm/signature-map.cc',
+ '../src/wasm/signature-map.h',
+ '../src/wasm/streaming-decoder.cc',
+ '../src/wasm/streaming-decoder.h',
+ '../src/wasm/wasm-code-manager.cc',
+ '../src/wasm/wasm-code-manager.h',
+ '../src/wasm/wasm-code-specialization.cc',
+ '../src/wasm/wasm-code-specialization.h',
+ '../src/wasm/wasm-code-wrapper.cc',
+ '../src/wasm/wasm-code-wrapper.h',
+ '../src/wasm/wasm-constants.h',
+ '../src/wasm/wasm-debug.cc',
+ '../src/wasm/wasm-engine.cc',
+ '../src/wasm/wasm-engine.h',
+ '../src/wasm/wasm-external-refs.cc',
+ '../src/wasm/wasm-external-refs.h',
+ '../src/wasm/wasm-js.cc',
+ '../src/wasm/wasm-js.h',
+ '../src/wasm/wasm-limits.h',
+ '../src/wasm/wasm-memory.cc',
+ '../src/wasm/wasm-memory.h',
+ '../src/wasm/wasm-module.cc',
+ '../src/wasm/wasm-module.h',
+ '../src/wasm/wasm-module-builder.cc',
+ '../src/wasm/wasm-module-builder.h',
+ '../src/wasm/wasm-interpreter.cc',
+ '../src/wasm/wasm-interpreter.h',
+ '../src/wasm/wasm-objects-inl.h',
+ '../src/wasm/wasm-objects.cc',
+ '../src/wasm/wasm-objects.h',
+ '../src/wasm/wasm-opcodes.cc',
+ '../src/wasm/wasm-opcodes.h',
+ '../src/wasm/wasm-result.cc',
+ '../src/wasm/wasm-result.h',
+ '../src/wasm/wasm-serialization.cc',
+ '../src/wasm/wasm-serialization.h',
+ '../src/wasm/wasm-text.cc',
+ '../src/wasm/wasm-text.h',
+ '../src/wasm/wasm-value.h',
+ '../src/zone/accounting-allocator.cc',
+ '../src/zone/accounting-allocator.h',
+ '../src/zone/zone-segment.cc',
+ '../src/zone/zone-segment.h',
+ '../src/zone/zone.cc',
+ '../src/zone/zone.h',
+ '../src/zone/zone-chunk-list.h',
+ '../src/zone/zone-segment.cc',
+ '../src/zone/zone-segment.h',
+ '../src/zone/zone-allocator.h',
+ '../src/zone/zone-containers.h',
+ '../src/zone/zone-handle-set.h',
+ '../src/zone/zone-list-inl.h',
+ ],
+ 'conditions': [
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ['v8_target_arch=="arm"', {
+ 'sources': [
+ '../src/arm/assembler-arm-inl.h',
+ '../src/arm/assembler-arm.cc',
+ '../src/arm/assembler-arm.h',
+ '../src/arm/code-stubs-arm.cc',
+ '../src/arm/code-stubs-arm.h',
+ '../src/arm/codegen-arm.cc',
+ '../src/arm/constants-arm.h',
+ '../src/arm/constants-arm.cc',
+ '../src/arm/cpu-arm.cc',
+ '../src/arm/deoptimizer-arm.cc',
+ '../src/arm/disasm-arm.cc',
+ '../src/arm/frame-constants-arm.cc',
+ '../src/arm/frame-constants-arm.h',
+ '../src/arm/interface-descriptors-arm.cc',
+ '../src/arm/interface-descriptors-arm.h',
+ '../src/arm/macro-assembler-arm.cc',
+ '../src/arm/macro-assembler-arm.h',
+ '../src/arm/simulator-arm.cc',
+ '../src/arm/simulator-arm.h',
+ '../src/arm/eh-frame-arm.cc',
+ '../src/compiler/arm/code-generator-arm.cc',
+ '../src/compiler/arm/instruction-codes-arm.h',
+ '../src/compiler/arm/instruction-scheduler-arm.cc',
+ '../src/compiler/arm/instruction-selector-arm.cc',
+ '../src/compiler/arm/unwinding-info-writer-arm.cc',
+ '../src/compiler/arm/unwinding-info-writer-arm.h',
+ '../src/debug/arm/debug-arm.cc',
+ '../src/regexp/arm/regexp-macro-assembler-arm.cc',
+ '../src/regexp/arm/regexp-macro-assembler-arm.h',
+ '../src/wasm/baseline/arm/liftoff-assembler-arm.h',
+ ],
+ }],
+ ['v8_target_arch=="arm64"', {
+ 'sources': [
+ '../src/arm64/assembler-arm64.cc',
+ '../src/arm64/assembler-arm64.h',
+ '../src/arm64/assembler-arm64-inl.h',
+ '../src/arm64/codegen-arm64.cc',
+ '../src/arm64/code-stubs-arm64.cc',
+ '../src/arm64/code-stubs-arm64.h',
+ '../src/arm64/constants-arm64.h',
+ '../src/arm64/cpu-arm64.cc',
+ '../src/arm64/decoder-arm64.cc',
+ '../src/arm64/decoder-arm64.h',
+ '../src/arm64/decoder-arm64-inl.h',
+ '../src/arm64/deoptimizer-arm64.cc',
+ '../src/arm64/disasm-arm64.cc',
+ '../src/arm64/disasm-arm64.h',
+ '../src/arm64/frame-constants-arm64.cc',
+ '../src/arm64/frame-constants-arm64.h',
+ '../src/arm64/instructions-arm64-constants.cc',
+ '../src/arm64/instructions-arm64.cc',
+ '../src/arm64/instructions-arm64.h',
+ '../src/arm64/instrument-arm64.cc',
+ '../src/arm64/instrument-arm64.h',
+ '../src/arm64/interface-descriptors-arm64.cc',
+ '../src/arm64/interface-descriptors-arm64.h',
+ '../src/arm64/macro-assembler-arm64.cc',
+ '../src/arm64/macro-assembler-arm64.h',
+ '../src/arm64/macro-assembler-arm64-inl.h',
+ '../src/arm64/simulator-arm64.cc',
+ '../src/arm64/simulator-arm64.h',
+ '../src/arm64/simulator-logic-arm64.cc',
+ '../src/arm64/utils-arm64.cc',
+ '../src/arm64/utils-arm64.h',
+ '../src/arm64/eh-frame-arm64.cc',
+ '../src/compiler/arm64/code-generator-arm64.cc',
+ '../src/compiler/arm64/instruction-codes-arm64.h',
+ '../src/compiler/arm64/instruction-scheduler-arm64.cc',
+ '../src/compiler/arm64/instruction-selector-arm64.cc',
+ '../src/compiler/arm64/unwinding-info-writer-arm64.cc',
+ '../src/compiler/arm64/unwinding-info-writer-arm64.h',
+ '../src/debug/arm64/debug-arm64.cc',
+ '../src/regexp/arm64/regexp-macro-assembler-arm64.cc',
+ '../src/regexp/arm64/regexp-macro-assembler-arm64.h',
+ '../src/wasm/baseline/arm64/liftoff-assembler-arm64.h',
+ ],
+ }],
+ ['v8_target_arch=="ia32"', {
+ 'sources': [
+ '../src/ia32/assembler-ia32-inl.h',
+ '../src/ia32/assembler-ia32.cc',
+ '../src/ia32/assembler-ia32.h',
+ '../src/ia32/code-stubs-ia32.cc',
+ '../src/ia32/codegen-ia32.cc',
+ '../src/ia32/cpu-ia32.cc',
+ '../src/ia32/deoptimizer-ia32.cc',
+ '../src/ia32/disasm-ia32.cc',
+ '../src/ia32/frame-constants-ia32.cc',
+ '../src/ia32/frame-constants-ia32.h',
+ '../src/ia32/interface-descriptors-ia32.cc',
+ '../src/ia32/macro-assembler-ia32.cc',
+ '../src/ia32/macro-assembler-ia32.h',
+ '../src/ia32/simulator-ia32.cc',
+ '../src/ia32/simulator-ia32.h',
+ '../src/ia32/sse-instr.h',
+ '../src/compiler/ia32/code-generator-ia32.cc',
+ '../src/compiler/ia32/instruction-codes-ia32.h',
+ '../src/compiler/ia32/instruction-scheduler-ia32.cc',
+ '../src/compiler/ia32/instruction-selector-ia32.cc',
+ '../src/debug/ia32/debug-ia32.cc',
+ '../src/regexp/ia32/regexp-macro-assembler-ia32.cc',
+ '../src/regexp/ia32/regexp-macro-assembler-ia32.h',
+ '../src/wasm/baseline/ia32/liftoff-assembler-ia32.h',
+ ],
+ }],
+ ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
+ 'sources': [
+ '../src/mips/assembler-mips.cc',
+ '../src/mips/assembler-mips.h',
+ '../src/mips/assembler-mips-inl.h',
+ '../src/mips/codegen-mips.cc',
+ '../src/mips/code-stubs-mips.cc',
+ '../src/mips/code-stubs-mips.h',
+ '../src/mips/constants-mips.cc',
+ '../src/mips/constants-mips.h',
+ '../src/mips/cpu-mips.cc',
+ '../src/mips/deoptimizer-mips.cc',
+ '../src/mips/disasm-mips.cc',
+ '../src/mips/frame-constants-mips.cc',
+ '../src/mips/frame-constants-mips.h',
+ '../src/mips/interface-descriptors-mips.cc',
+ '../src/mips/macro-assembler-mips.cc',
+ '../src/mips/macro-assembler-mips.h',
+ '../src/mips/simulator-mips.cc',
+ '../src/mips/simulator-mips.h',
+ '../src/compiler/mips/code-generator-mips.cc',
+ '../src/compiler/mips/instruction-codes-mips.h',
+ '../src/compiler/mips/instruction-scheduler-mips.cc',
+ '../src/compiler/mips/instruction-selector-mips.cc',
+ '../src/debug/mips/debug-mips.cc',
+ '../src/regexp/mips/regexp-macro-assembler-mips.cc',
+ '../src/regexp/mips/regexp-macro-assembler-mips.h',
+ '../src/wasm/baseline/mips/liftoff-assembler-mips.h',
+ ],
+ }],
+ ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
+ 'sources': [
+ '../src/mips64/assembler-mips64.cc',
+ '../src/mips64/assembler-mips64.h',
+ '../src/mips64/assembler-mips64-inl.h',
+ '../src/mips64/codegen-mips64.cc',
+ '../src/mips64/code-stubs-mips64.cc',
+ '../src/mips64/code-stubs-mips64.h',
+ '../src/mips64/constants-mips64.cc',
+ '../src/mips64/constants-mips64.h',
+ '../src/mips64/cpu-mips64.cc',
+ '../src/mips64/deoptimizer-mips64.cc',
+ '../src/mips64/disasm-mips64.cc',
+ '../src/mips64/frame-constants-mips64.cc',
+ '../src/mips64/frame-constants-mips64.h',
+ '../src/mips64/interface-descriptors-mips64.cc',
+ '../src/mips64/macro-assembler-mips64.cc',
+ '../src/mips64/macro-assembler-mips64.h',
+ '../src/mips64/simulator-mips64.cc',
+ '../src/mips64/simulator-mips64.h',
+ '../src/compiler/mips64/code-generator-mips64.cc',
+ '../src/compiler/mips64/instruction-codes-mips64.h',
+ '../src/compiler/mips64/instruction-scheduler-mips64.cc',
+ '../src/compiler/mips64/instruction-selector-mips64.cc',
+ '../src/debug/mips64/debug-mips64.cc',
+ '../src/regexp/mips64/regexp-macro-assembler-mips64.cc',
+ '../src/regexp/mips64/regexp-macro-assembler-mips64.h',
+ '../src/wasm/baseline/mips64/liftoff-assembler-mips64.h',
+ ],
+ }],
+ ['v8_target_arch=="x64"', {
+ 'sources': [
+ '../src/compiler/x64/code-generator-x64.cc',
+ '../src/compiler/x64/instruction-codes-x64.h',
+ '../src/compiler/x64/instruction-scheduler-x64.cc',
+ '../src/compiler/x64/instruction-selector-x64.cc',
+ '../src/compiler/x64/unwinding-info-writer-x64.cc',
+ '../src/compiler/x64/unwinding-info-writer-x64.h',
+ '../src/x64/assembler-x64-inl.h',
+ '../src/x64/assembler-x64.cc',
+ '../src/x64/assembler-x64.h',
+ '../src/x64/code-stubs-x64.cc',
+ '../src/x64/codegen-x64.cc',
+ '../src/x64/cpu-x64.cc',
+ '../src/x64/deoptimizer-x64.cc',
+ '../src/x64/disasm-x64.cc',
+ '../src/x64/eh-frame-x64.cc',
+ '../src/x64/frame-constants-x64.cc',
+ '../src/x64/frame-constants-x64.h',
+ '../src/x64/interface-descriptors-x64.cc',
+ '../src/x64/macro-assembler-x64.cc',
+ '../src/x64/macro-assembler-x64.h',
+ '../src/x64/simulator-x64.cc',
+ '../src/x64/simulator-x64.h',
+ '../src/x64/sse-instr.h',
+ '../src/debug/x64/debug-x64.cc',
+ '../src/regexp/x64/regexp-macro-assembler-x64.cc',
+ '../src/regexp/x64/regexp-macro-assembler-x64.h',
+ '../src/third_party/valgrind/valgrind.h',
+ '../src/wasm/baseline/x64/liftoff-assembler-x64.h',
+ ],
+ }],
+ ['v8_target_arch=="x64" and OS=="linux"', {
+ 'sources': ['../src/trap-handler/handler-inside.cc']
+ }],
+ ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
+ 'sources': [
+ '../src/compiler/ppc/code-generator-ppc.cc',
+ '../src/compiler/ppc/instruction-codes-ppc.h',
+ '../src/compiler/ppc/instruction-scheduler-ppc.cc',
+ '../src/compiler/ppc/instruction-selector-ppc.cc',
+ '../src/debug/ppc/debug-ppc.cc',
+ '../src/ppc/assembler-ppc-inl.h',
+ '../src/ppc/assembler-ppc.cc',
+ '../src/ppc/assembler-ppc.h',
+ '../src/ppc/code-stubs-ppc.cc',
+ '../src/ppc/code-stubs-ppc.h',
+ '../src/ppc/codegen-ppc.cc',
+ '../src/ppc/constants-ppc.h',
+ '../src/ppc/constants-ppc.cc',
+ '../src/ppc/cpu-ppc.cc',
+ '../src/ppc/deoptimizer-ppc.cc',
+ '../src/ppc/disasm-ppc.cc',
+ '../src/ppc/frame-constants-ppc.cc',
+ '../src/ppc/frame-constants-ppc.h',
+ '../src/ppc/interface-descriptors-ppc.cc',
+ '../src/ppc/macro-assembler-ppc.cc',
+ '../src/ppc/macro-assembler-ppc.h',
+ '../src/ppc/simulator-ppc.cc',
+ '../src/ppc/simulator-ppc.h',
+ '../src/regexp/ppc/regexp-macro-assembler-ppc.cc',
+ '../src/regexp/ppc/regexp-macro-assembler-ppc.h',
+ '../src/wasm/baseline/ppc/liftoff-assembler-ppc.h',
+ ],
+ }],
+ ['v8_target_arch=="s390" or v8_target_arch=="s390x"', {
+ 'sources': [
+ '../src/compiler/s390/code-generator-s390.cc',
+ '../src/compiler/s390/instruction-codes-s390.h',
+ '../src/compiler/s390/instruction-scheduler-s390.cc',
+ '../src/compiler/s390/instruction-selector-s390.cc',
+ '../src/debug/s390/debug-s390.cc',
+ '../src/regexp/s390/regexp-macro-assembler-s390.cc',
+ '../src/regexp/s390/regexp-macro-assembler-s390.h',
+ '../src/s390/assembler-s390.cc',
+ '../src/s390/assembler-s390.h',
+ '../src/s390/assembler-s390-inl.h',
+ '../src/s390/codegen-s390.cc',
+ '../src/s390/code-stubs-s390.cc',
+ '../src/s390/code-stubs-s390.h',
+ '../src/s390/constants-s390.cc',
+ '../src/s390/constants-s390.h',
+ '../src/s390/cpu-s390.cc',
+ '../src/s390/deoptimizer-s390.cc',
+ '../src/s390/disasm-s390.cc',
+ '../src/s390/frame-constants-s390.cc',
+ '../src/s390/frame-constants-s390.h',
+ '../src/s390/interface-descriptors-s390.cc',
+ '../src/s390/macro-assembler-s390.cc',
+ '../src/s390/macro-assembler-s390.h',
+ '../src/s390/simulator-s390.cc',
+ '../src/s390/simulator-s390.h',
+ '../src/wasm/baseline/s390/liftoff-assembler-s390.h',
+ ],
+ }],
+ ['OS=="win"', {
+ 'variables': {
+ 'gyp_generators': ' GetExecutionState() const = 0;
- virtual Local
-
-
-
diff --git a/deps/v8/tools/heap-stats/model.js b/deps/v8/tools/heap-stats/model.js
new file mode 100644
index 00000000000000..1afd10a56390f6
--- /dev/null
+++ b/deps/v8/tools/heap-stats/model.js
@@ -0,0 +1,77 @@
+// Copyright 2018 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+'use strict';
+
+class Isolate {
+ constructor(address) {
+ this.address = address;
+ this.start = null;
+ this.end = null;
+ this.samples = Object.create(null);
+ this.non_empty_instance_types = new Set();
+ this.gcs = Object.create(null);
+ this.zonetags = [];
+ this.samples = {zone: {}};
+ this.data_sets = new Set();
+ this.peakMemory = 0;
+ }
+
+ finalize() {
+ Object.values(this.gcs).forEach(gc => this.finalizeGC(gc));
+ }
+
+ getLabel() {
+ let label = `${this.address}: gc=#${Object.keys(this.gcs).length}`;
+ const peakSizeMB = Math.round(this.peakMemory / 1024 / 1024 * 100) / 100;
+ label += ` max=${peakSizeMB}MB`
+ return label;
+ }
+
+ finalizeGC(gc_data) {
+ this.data_sets.forEach(key => this.finalizeDataSet(gc_data[key]));
+ if ('live' in gc_data) {
+ this.peakMemory = Math.max(this.peakMemory, gc_data['live'].overall);
+ }
+ }
+
+ finalizeDataSet(data_set) {
+ // Create a ranked instance type array that sorts instance types by
+ // memory size (overall).
+ data_set.ranked_instance_types =
+ [...data_set.non_empty_instance_types].sort(function(a, b) {
+ if (data_set.instance_type_data[a].overall >
+ data_set.instance_type_data[b].overall) {
+ return 1;
+ } else if (
+ data_set.instance_type_data[a].overall <
+ data_set.instance_type_data[b].overall) {
+ return -1;
+ }
+ return 0;
+ });
+
+ Object.entries(data_set.instance_type_data).forEach(([name, entry]) => {
+ this.checkHistogram(
+ name, entry, data_set.bucket_sizes, 'histogram', ' overall');
+ this.checkHistogram(
+ name, entry, data_set.bucket_sizes, 'over_allocated_histogram',
+ ' over_allocated');
+ });
+ }
+
+ // Check that a lower bound for histogram memory does not exceed the
+ // overall counter.
+ checkHistogram(type, entry, bucket_sizes, histogram, overallProperty) {
+ let sum = 0;
+ for (let i = 1; i < entry[histogram].length; i++) {
+ sum += entry[histogram][i] * bucket_sizes[i - 1];
+ }
+ const overall = entry[overallProperty];
+ if (sum >= overall) {
+ console.error(
+ `${type}: sum('${histogram}') > overall (${sum} > ${overall})`);
+ }
+ }
+}
diff --git a/deps/v8/tools/heap-stats/trace-file-reader.html b/deps/v8/tools/heap-stats/trace-file-reader.html
index 98c2ef0c606dbe..73de98ab03f70e 100644
--- a/deps/v8/tools/heap-stats/trace-file-reader.html
+++ b/deps/v8/tools/heap-stats/trace-file-reader.html
@@ -10,17 +10,66 @@
text-align: center;
border: solid 1px #000000;
border-radius: 5px;
+ cursor: pointer;
+}
+
+.loading #fileReader {
+ cursor: wait;
}
#fileReader > input {
display: none;
}
+
+#loader {
+ display: none;
+}
+
+.loading #loader{
+ display: block;
+ position: fixed;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+#spinner {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 40%;
+ left: 50%;
+ margin-left: -50px;
+ border: 30px solid #000;
+ border-top: 30px solid #36E;
+ border-radius: 50%;
+ animation: spin 1s ease-in-out infinite;
+}
+
+@keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ };
+ 100% {
+ transform: rotate(360deg);
+ };
+}
-
-
- Drag and drop a trace file into this area, or click to choose from disk.
-
-
-
+
+
-
+
+
+
diff --git a/deps/v8/tools/heap-stats/trace-file-reader.js b/deps/v8/tools/heap-stats/trace-file-reader.js
index 59825fe514e936..ef563a43cb35ed 100644
--- a/deps/v8/tools/heap-stats/trace-file-reader.js
+++ b/deps/v8/tools/heap-stats/trace-file-reader.js
@@ -23,6 +23,10 @@ class TraceFileReader extends HTMLElement {
return this.shadowRoot.querySelector(id);
}
+ get section() {
+ return this.$('#fileReaderSection');
+ }
+
updateLabel(text) {
this.$('#label').innerText = text;
}
@@ -50,34 +54,42 @@ class TraceFileReader extends HTMLElement {
return;
}
- const result = new FileReader();
- result.onload = (e) => {
- let contents = e.target.result.split('\n');
- const return_data = (e.target.result.includes('V8.GC_Objects_Stats')) ?
- this.createModelFromChromeTraceFile(contents) :
- this.createModelFromV8TraceFile(contents);
- this.updateLabel('Finished loading \'' + file.name + '\'.');
- this.dispatchEvent(new CustomEvent(
- 'change', {bubbles: true, composed: true, detail: return_data}));
- };
- result.readAsText(file);
+ this.section.className = 'loading';
+ const reader = new FileReader();
+
+ if (['application/gzip', 'application/x-gzip'].includes(file.type)) {
+ reader.onload = (e) => {
+ try {
+ const textResult = pako.inflate(e.target.result, {to: 'string'});
+ this.processRawText(file, textResult);
+ this.section.className = 'success';
+ } catch (err) {
+ console.error(err);
+ this.section.className = 'failure';
+ }
+ };
+ reader.readAsArrayBuffer(file);
+ } else {
+ reader.onload = (e) => this.processRawText(file, e.target.result);
+ reader.readAsText(file);
+ }
}
- createOrUpdateEntryIfNeeded(data, keys, entry) {
+ processRawText(file, result) {
+ let contents = result.split('\n');
+ const return_data = (result.includes('V8.GC_Objects_Stats')) ?
+ this.createModelFromChromeTraceFile(contents) :
+ this.createModelFromV8TraceFile(contents);
+ this.extendAndSanitizeModel(return_data);
+ this.updateLabel('Finished loading \'' + file.name + '\'.');
+ this.dispatchEvent(new CustomEvent(
+ 'change', {bubbles: true, composed: true, detail: return_data}));
+ }
+
+ createOrUpdateEntryIfNeeded(data, entry) {
console.assert(entry.isolate, 'entry should have an isolate');
- if (!(entry.isolate in keys)) {
- keys[entry.isolate] = new Set();
- }
if (!(entry.isolate in data)) {
- data[entry.isolate] = {
- non_empty_instance_types: new Set(),
- gcs: {},
- zonetags: [],
- samples: {zone: {}},
- start: null,
- end: null,
- data_sets: new Set()
- };
+ data[entry.isolate] = new Isolate(entry.isolate);
}
const data_object = data[entry.isolate];
if (('id' in entry) && !(entry.id in data_object.gcs)) {
@@ -91,7 +103,7 @@ class TraceFileReader extends HTMLElement {
}
}
- createDatasetIfNeeded(data, keys, entry, data_set) {
+ createDatasetIfNeeded(data, entry, data_set) {
if (!(data_set in data[entry.isolate].gcs[entry.id])) {
data[entry.isolate].gcs[entry.id][data_set] = {
instance_type_data: {},
@@ -102,9 +114,7 @@ class TraceFileReader extends HTMLElement {
}
}
- addInstanceTypeData(
- data, keys, isolate, gc_id, data_set, instance_type, entry) {
- keys[isolate].add(data_set);
+ addInstanceTypeData(data, isolate, gc_id, data_set, instance_type, entry) {
data[isolate].gcs[gc_id][data_set].instance_type_data[instance_type] = {
overall: entry.overall,
count: entry.count,
@@ -121,117 +131,75 @@ class TraceFileReader extends HTMLElement {
}
}
- extendAndSanitizeModel(data, keys) {
+ extendAndSanitizeModel(data) {
const checkNonNegativeProperty = (obj, property) => {
console.assert(obj[property] >= 0, 'negative property', obj, property);
};
- for (const isolate of Object.keys(data)) {
- for (const gc of Object.keys(data[isolate].gcs)) {
- for (const data_set_key of keys[isolate]) {
- const data_set = data[isolate].gcs[gc][data_set_key];
- // 1. Create a ranked instance type array that sorts instance
- // types by memory size (overall).
- data_set.ranked_instance_types =
- [...data_set.non_empty_instance_types].sort(function(a, b) {
- if (data_set.instance_type_data[a].overall >
- data_set.instance_type_data[b].overall) {
- return 1;
- } else if (
- data_set.instance_type_data[a].overall <
- data_set.instance_type_data[b].overall) {
- return -1;
- }
- return 0;
- });
-
- let known_count = 0;
- let known_overall = 0;
- let known_histogram =
- Array(
- data_set.instance_type_data.FIXED_ARRAY_TYPE.histogram.length)
- .fill(0);
- for (const instance_type in data_set.instance_type_data) {
- if (!instance_type.startsWith('*FIXED_ARRAY')) continue;
- const subtype = data_set.instance_type_data[instance_type];
- known_count += subtype.count;
- known_overall += subtype.count;
- for (let i = 0; i < subtype.histogram.length; i++) {
- known_histogram[i] += subtype.histogram[i];
- }
- }
-
- const fixed_array_data = data_set.instance_type_data.FIXED_ARRAY_TYPE;
- const unknown_entry = {
- count: fixed_array_data.count - known_count,
- overall: fixed_array_data.overall - known_overall,
- histogram: fixed_array_data.histogram.map(
- (value, index) => value - known_histogram[index])
- };
-
- // Check for non-negative values.
- checkNonNegativeProperty(unknown_entry, 'count');
- checkNonNegativeProperty(unknown_entry, 'overall');
- for (let i = 0; i < unknown_entry.histogram.length; i++) {
- checkNonNegativeProperty(unknown_entry.histogram, i);
- }
-
- data_set.instance_type_data['*FIXED_ARRAY_UNKNOWN_SUB_TYPE'] =
- unknown_entry;
- data_set.non_empty_instance_types.add(
- '*FIXED_ARRAY_UNKNOWN_SUB_TYPE');
- }
- }
- }
+ Object.values(data).forEach(isolate => isolate.finalize());
}
createModelFromChromeTraceFile(contents) {
- console.log('Processing log as chrome trace file.');
- const data = Object.create(null); // Final data container.
- const keys = Object.create(null); // Collecting 'keys' per isolate.
+ // Trace files support two formats.
+ // {traceEvents: [ data ]}
+ const kObjectTraceFile = {
+ name: 'object',
+ endToken: ']}',
+ getDataArray: o => o.traceEvents
+ };
+ // [ data ]
+ const kArrayTraceFile = {
+ name: 'array',
+ endToken: ']',
+ getDataArray: o => o
+ };
+ const handler =
+ (contents[0][0] === '{') ? kObjectTraceFile : kArrayTraceFile;
+ console.log(`Processing log as chrome trace file (${handler.name}).`);
// Pop last line in log as it might be broken.
contents.pop();
// Remove trailing comma.
contents[contents.length - 1] = contents[contents.length - 1].slice(0, -1);
// Terminate JSON.
- const sanitized_contents = [...contents, ']}'].join('');
+ const sanitized_contents = [...contents, handler.endToken].join('');
+
+ const data = Object.create(null); // Final data container.
try {
const raw_data = JSON.parse(sanitized_contents);
- const objects_stats_data =
- raw_data.traceEvents.filter(e => e.name == 'V8.GC_Objects_Stats');
- objects_stats_data.forEach(trace_data => {
- const actual_data = trace_data.args;
- const data_sets = new Set(Object.keys(actual_data));
- Object.keys(actual_data).forEach(data_set => {
- const string_entry = actual_data[data_set];
- try {
- const entry = JSON.parse(string_entry);
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
- this.createDatasetIfNeeded(data, keys, entry, data_set);
- const isolate = entry.isolate;
- const time = entry.time;
- const gc_id = entry.id;
- data[isolate].gcs[gc_id].time = time;
- data[isolate].gcs[gc_id][data_set].bucket_sizes =
- entry.bucket_sizes;
- for (let [instance_type, value] of Object.entries(
- entry.type_data)) {
- // Trace file format uses markers that do not have actual
- // properties.
- if (!('overall' in value)) continue;
- this.addInstanceTypeData(
- data, keys, isolate, gc_id, data_set, instance_type, value);
- }
- } catch (e) {
- console.log('Unable to parse data set entry', e);
- }
- });
- });
+ const raw_array_data = handler.getDataArray(raw_data);
+ raw_array_data.filter(e => e.name === 'V8.GC_Objects_Stats')
+ .forEach(trace_data => {
+ const actual_data = trace_data.args;
+ const data_sets = new Set(Object.keys(actual_data));
+ Object.keys(actual_data).forEach(data_set => {
+ const string_entry = actual_data[data_set];
+ try {
+ const entry = JSON.parse(string_entry);
+ this.createOrUpdateEntryIfNeeded(data, entry);
+ this.createDatasetIfNeeded(data, entry, data_set);
+ const isolate = entry.isolate;
+ const time = entry.time;
+ const gc_id = entry.id;
+ data[isolate].gcs[gc_id].time = time;
+ data[isolate].gcs[gc_id][data_set].bucket_sizes =
+ entry.bucket_sizes;
+ for (let [instance_type, value] of Object.entries(
+ entry.type_data)) {
+ // Trace file format uses markers that do not have actual
+ // properties.
+ if (!('overall' in value)) continue;
+ this.addInstanceTypeData(
+ data, isolate, gc_id, data_set, instance_type, value);
+ }
+ } catch (e) {
+ console.log('Unable to parse data set entry', e);
+ }
+ });
+ });
} catch (e) {
- console.log('Unable to parse chrome trace file.', e);
+ console.error('Unable to parse chrome trace file.', e);
}
- this.extendAndSanitizeModel(data, keys);
return data;
}
@@ -249,14 +217,12 @@ class TraceFileReader extends HTMLElement {
});
const data = Object.create(null); // Final data container.
- const keys = Object.create(null); // Collecting 'keys' per isolate.
-
for (var entry of contents) {
if (entry === null || entry.type === undefined) {
continue;
}
if (entry.type === 'zone') {
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
+ this.createOrUpdateEntryIfNeeded(data, entry);
const stacktrace = ('stacktrace' in entry) ? entry.stacktrace : [];
data[entry.isolate].samples.zone[entry.time] = {
allocated: entry.allocated,
@@ -265,26 +231,26 @@ class TraceFileReader extends HTMLElement {
};
} else if (
entry.type === 'zonecreation' || entry.type === 'zonedestruction') {
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
+ this.createOrUpdateEntryIfNeeded(data, entry);
data[entry.isolate].zonetags.push(
Object.assign({opening: entry.type === 'zonecreation'}, entry));
} else if (entry.type === 'gc_descriptor') {
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
+ this.createOrUpdateEntryIfNeeded(data, entry);
data[entry.isolate].gcs[entry.id].time = entry.time;
if ('zone' in entry)
data[entry.isolate].gcs[entry.id].malloced = entry.zone;
} else if (entry.type === 'instance_type_data') {
if (entry.id in data[entry.isolate].gcs) {
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
- this.createDatasetIfNeeded(data, keys, entry, entry.key);
+ this.createOrUpdateEntryIfNeeded(data, entry);
+ this.createDatasetIfNeeded(data, entry, entry.key);
this.addInstanceTypeData(
- data, keys, entry.isolate, entry.id, entry.key,
+ data, entry.isolate, entry.id, entry.key,
entry.instance_type_name, entry);
}
} else if (entry.type === 'bucket_sizes') {
if (entry.id in data[entry.isolate].gcs) {
- this.createOrUpdateEntryIfNeeded(data, keys, entry);
- this.createDatasetIfNeeded(data, keys, entry, entry.key);
+ this.createOrUpdateEntryIfNeeded(data, entry);
+ this.createDatasetIfNeeded(data, entry, entry.key);
data[entry.isolate].gcs[entry.id][entry.key].bucket_sizes =
entry.sizes;
}
@@ -292,7 +258,6 @@ class TraceFileReader extends HTMLElement {
console.log('Unknown entry type: ' + entry.type);
}
}
- this.extendAndSanitizeModel(data, keys);
return data;
}
}
diff --git a/deps/v8/tools/isolate_driver.py b/deps/v8/tools/isolate_driver.py
index a6bcfbf71f9ea0..32077e236f5be1 100644
--- a/deps/v8/tools/isolate_driver.py
+++ b/deps/v8/tools/isolate_driver.py
@@ -4,7 +4,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-"""Adaptor script called through build/isolate.gypi.
+"""Adaptor script called through gni/isolate.gni.
Creates a wrapping .isolate which 'includes' the original one, that can be
consumed by tools/swarming_client/isolate.py. Path variables are determined
diff --git a/deps/v8/tools/jsfunfuzz/download_jsfunfuzz.py b/deps/v8/tools/jsfunfuzz/download_jsfunfuzz.py
deleted file mode 100644
index 2925213ced53a6..00000000000000
--- a/deps/v8/tools/jsfunfuzz/download_jsfunfuzz.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2016 the V8 project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import re
-import subprocess
-
-FUZZ_PATH = os.path.dirname(os.path.abspath(__file__))
-SHA1_PATH = os.path.join(FUZZ_PATH, 'jsfunfuzz.tar.gz.sha1')
-
-if re.search(r'\bjsfunfuzz=1', os.environ.get('GYP_DEFINES', '')):
- subprocess.check_call([
- 'download_from_google_storage',
- '-b', 'chrome-v8-jsfunfuzz',
- '-u', '--no_resume',
- '-s', SHA1_PATH,
- '--platform=linux*'
- ])
diff --git a/deps/v8/tools/jsfunfuzz/jsfunfuzz.gyp b/deps/v8/tools/jsfunfuzz/jsfunfuzz.gyp
deleted file mode 100644
index 8938e44538b3d5..00000000000000
--- a/deps/v8/tools/jsfunfuzz/jsfunfuzz.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2016 the V8 project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'conditions': [
- ['test_isolation_mode != "noop"', {
- 'targets': [
- {
- 'target_name': 'jsfunfuzz_run',
- 'type': 'none',
- 'dependencies': [
- '../../src/d8.gyp:d8_run',
- ],
- 'includes': [
- '../../gypfiles/features.gypi',
- '../../gypfiles/isolate.gypi',
- ],
- 'sources': [
- 'jsfunfuzz.isolate',
- ],
- },
- ],
- }],
- ],
-}
diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py
index 9a6600225b893e..b97ce455c2513f 100755
--- a/deps/v8/tools/mb/mb.py
+++ b/deps/v8/tools/mb/mb.py
@@ -4,16 +4,12 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-"""MB - the Meta-Build wrapper around GYP and GN
+"""MB - the Meta-Build wrapper around GN.
-MB is a wrapper script for GYP and GN that can be used to generate build files
+MB is a wrapper script for GN that can be used to generate build files
for sets of canned configurations and analyze them.
"""
-# TODO(thomasanderson): Remove this comment. It is added to
-# workaround https://crbug.com/736215 for CL
-# https://codereview.chromium.org/2974603002/
-
from __future__ import print_function
import argparse
@@ -22,6 +18,7 @@
import json
import os
import pipes
+import platform
import pprint
import re
import shutil
@@ -95,21 +92,17 @@ def AddCommonOptions(subp):
help='path to config file '
'(default is %(default)s)')
subp.add_argument('-i', '--isolate-map-file', metavar='PATH',
- default=self.default_isolate_map,
help='path to isolate map file '
- '(default is %(default)s)')
+ '(default is %(default)s)',
+ default=[],
+ action='append',
+ dest='isolate_map_files')
subp.add_argument('-g', '--goma-dir',
help='path to goma directory')
- subp.add_argument('--gyp-script', metavar='PATH',
- default=self.PathJoin('build', 'gyp_chromium'),
- help='path to gyp script relative to project root '
- '(default is %(default)s)')
subp.add_argument('--android-version-code',
- help='Sets GN arg android_default_version_code and '
- 'GYP_DEFINE app_manifest_version_code')
+ help='Sets GN arg android_default_version_code')
subp.add_argument('--android-version-name',
- help='Sets GN arg android_default_version_name and '
- 'GYP_DEFINE app_manifest_version_name')
+ help='Sets GN arg android_default_version_name')
subp.add_argument('-n', '--dryrun', action='store_true',
help='Do a dry run (i.e., do nothing, just print '
'the commands that will run)')
@@ -190,7 +183,6 @@ def AddCommonOptions(subp):
' --test-launcher-retry-limit=0'
'\n'
)
-
AddCommonOptions(subp)
subp.add_argument('-j', '--jobs', dest='jobs', type=int,
help='Number of jobs to pass to ninja')
@@ -202,6 +194,14 @@ def AddCommonOptions(subp):
' This can be either a regular path or a '
'GN-style source-relative path like '
'//out/Default.'))
+ subp.add_argument('-s', '--swarmed', action='store_true',
+ help='Run under swarming with the default dimensions')
+ subp.add_argument('-d', '--dimension', default=[], action='append', nargs=2,
+ dest='dimensions', metavar='FOO bar',
+ help='dimension to filter on')
+ subp.add_argument('--no-default-dimensions', action='store_false',
+ dest='default_dimensions', default=True,
+ help='Do not automatically add dimensions to the task')
subp.add_argument('target', nargs=1,
help='ninja target to build and run')
subp.add_argument('extra_args', nargs='*',
@@ -217,26 +217,6 @@ def AddCommonOptions(subp):
help='path to config file (default is %(default)s)')
subp.set_defaults(func=self.CmdValidate)
- subp = subps.add_parser('audit',
- help='Audit the config file to track progress')
- subp.add_argument('-f', '--config-file', metavar='PATH',
- default=self.default_config,
- help='path to config file (default is %(default)s)')
- subp.add_argument('-i', '--internal', action='store_true',
- help='check internal masters also')
- subp.add_argument('-m', '--master', action='append',
- help='master to audit (default is all non-internal '
- 'masters in file)')
- subp.add_argument('-u', '--url-template', action='store',
- default='https://build.chromium.org/p/'
- '{master}/json/builders',
- help='URL scheme for JSON APIs to buildbot '
- '(default: %(default)s) ')
- subp.add_argument('-c', '--check-compile', action='store_true',
- help='check whether tbd and master-only bots actually'
- ' do compiles')
- subp.set_defaults(func=self.CmdAudit)
-
subp = subps.add_parser('gerrit-buildbucket-config',
help='Print buildbucket.config for gerrit '
'(see MB user guide)')
@@ -276,11 +256,7 @@ def DumpContentsOfFilePassedTo(arg_name, path):
def CmdAnalyze(self):
vals = self.Lookup()
- self.ClobberIfNeeded(vals)
- if vals['type'] == 'gn':
- return self.RunGNAnalyze(vals)
- else:
- return self.RunGYPAnalyze(vals)
+ return self.RunGNAnalyze(vals)
def CmdExport(self):
self.ReadConfigFile()
@@ -312,11 +288,7 @@ def CmdExport(self):
def CmdGen(self):
vals = self.Lookup()
- self.ClobberIfNeeded(vals)
- if vals['type'] == 'gn':
- return self.RunGNGen(vals)
- else:
- return self.RunGYPGen(vals)
+ return self.RunGNGen(vals)
def CmdHelp(self):
if self.args.subcommand:
@@ -328,21 +300,14 @@ def CmdIsolate(self):
vals = self.GetConfig()
if not vals:
return 1
-
- if vals['type'] == 'gn':
- return self.RunGNIsolate()
- else:
- return self.Build('%s_run' % self.args.target[0])
+ return self.RunGNIsolate()
def CmdLookup(self):
vals = self.Lookup()
- if vals['type'] == 'gn':
- cmd = self.GNCmd('gen', '_path_')
- gn_args = self.GNArgs(vals)
- self.Print('\nWriting """\\\n%s""" to _path_/args.gn.\n' % gn_args)
- env = None
- else:
- cmd, env = self.GYPCmd('_path_', vals)
+ cmd = self.GNCmd('gen', '_path_')
+ gn_args = self.GNArgs(vals)
+ self.Print('\nWriting """\\\n%s""" to _path_/args.gn.\n' % gn_args)
+ env = None
self.PrintCmd(cmd, env)
return 0
@@ -355,32 +320,86 @@ def CmdRun(self):
build_dir = self.args.path[0]
target = self.args.target[0]
- if vals['type'] == 'gn':
- if self.args.build:
- ret = self.Build(target)
- if ret:
- return ret
- ret = self.RunGNIsolate()
+ if self.args.build:
+ ret = self.Build(target)
if ret:
return ret
+ ret = self.RunGNIsolate()
+ if ret:
+ return ret
+
+ if self.args.swarmed:
+ return self._RunUnderSwarming(build_dir, target)
else:
- ret = self.Build('%s_run' % target)
- if ret:
- return ret
+ return self._RunLocallyIsolated(build_dir, target)
+
+ def _RunUnderSwarming(self, build_dir, target):
+ # TODO(dpranke): Look up the information for the target in
+ # the //testing/buildbot.json file, if possible, so that we
+ # can determine the isolate target, command line, and additional
+ # swarming parameters, if possible.
+ #
+ # TODO(dpranke): Also, add support for sharding and merging results.
+ dimensions = []
+ for k, v in self._DefaultDimensions() + self.args.dimensions:
+ dimensions += ['-d', k, v]
+ cmd = [
+ self.executable,
+ self.PathJoin('tools', 'swarming_client', 'isolate.py'),
+ 'archive',
+ '-s',
+ self.ToSrcRelPath('%s/%s.isolated' % (build_dir, target)),
+ '-I', 'isolateserver.appspot.com',
+ ]
+ ret, out, _ = self.Run(cmd, force_verbose=False)
+ if ret:
+ return ret
+
+ isolated_hash = out.splitlines()[0].split()[0]
+ cmd = [
+ self.executable,
+ self.PathJoin('tools', 'swarming_client', 'swarming.py'),
+ 'run',
+ '-s', isolated_hash,
+ '-I', 'isolateserver.appspot.com',
+ '-S', 'chromium-swarm.appspot.com',
+ ] + dimensions
+ if self.args.extra_args:
+ cmd += ['--'] + self.args.extra_args
+ ret, _, _ = self.Run(cmd, force_verbose=True, buffer_output=False)
+ return ret
+
+ def _RunLocallyIsolated(self, build_dir, target):
cmd = [
self.executable,
self.PathJoin('tools', 'swarming_client', 'isolate.py'),
'run',
'-s',
self.ToSrcRelPath('%s/%s.isolated' % (build_dir, target)),
- ]
+ ]
if self.args.extra_args:
- cmd += ['--'] + self.args.extra_args
+ cmd += ['--'] + self.args.extra_args
+ ret, _, _ = self.Run(cmd, force_verbose=True, buffer_output=False)
+ return ret
- ret, _, _ = self.Run(cmd, force_verbose=False, buffer_output=False)
+ def _DefaultDimensions(self):
+ if not self.args.default_dimensions:
+ return []
+
+ # This code is naive and just picks reasonable defaults per platform.
+ if self.platform == 'darwin':
+ os_dim = ('os', 'Mac-10.12')
+ elif self.platform.startswith('linux'):
+ os_dim = ('os', 'Ubuntu-14.04')
+ elif self.platform == 'win32':
+ os_dim = ('os', 'Windows-10-14393')
+ else:
+ raise MBErr('unrecognized platform string "%s"' % self.platform)
- return ret
+ return [('pool', 'Chrome'),
+ ('cpu', 'x86-64'),
+ os_dim]
def CmdBuildbucket(self):
self.ReadConfigFile()
@@ -462,154 +481,26 @@ def CmdValidate(self, print_ok=True):
self.Print('mb config file %s looks ok.' % self.args.config_file)
return 0
- def CmdAudit(self):
- """Track the progress of the GYP->GN migration on the bots."""
-
- # First, make sure the config file is okay, but don't print anything
- # if it is (it will throw an error if it isn't).
- self.CmdValidate(print_ok=False)
-
- stats = OrderedDict()
- STAT_MASTER_ONLY = 'Master only'
- STAT_CONFIG_ONLY = 'Config only'
- STAT_TBD = 'Still TBD'
- STAT_GYP = 'Still GYP'
- STAT_DONE = 'Done (on GN)'
- stats[STAT_MASTER_ONLY] = 0
- stats[STAT_CONFIG_ONLY] = 0
- stats[STAT_TBD] = 0
- stats[STAT_GYP] = 0
- stats[STAT_DONE] = 0
-
- def PrintBuilders(heading, builders, notes):
- stats.setdefault(heading, 0)
- stats[heading] += len(builders)
- if builders:
- self.Print(' %s:' % heading)
- for builder in sorted(builders):
- self.Print(' %s%s' % (builder, notes[builder]))
-
- self.ReadConfigFile()
-
- masters = self.args.master or self.masters
- for master in sorted(masters):
- url = self.args.url_template.replace('{master}', master)
-
- self.Print('Auditing %s' % master)
-
- MASTERS_TO_SKIP = (
- 'client.skia',
- 'client.v8.fyi',
- 'tryserver.v8',
- )
- if master in MASTERS_TO_SKIP:
- # Skip these bots because converting them is the responsibility of
- # those teams and out of scope for the Chromium migration to GN.
- self.Print(' Skipped (out of scope)')
- self.Print('')
- continue
-
- INTERNAL_MASTERS = ('official.desktop', 'official.desktop.continuous',
- 'internal.client.kitchensync')
- if master in INTERNAL_MASTERS and not self.args.internal:
- # Skip these because the servers aren't accessible by default ...
- self.Print(' Skipped (internal)')
- self.Print('')
- continue
-
- try:
- # Fetch the /builders contents from the buildbot master. The
- # keys of the dict are the builder names themselves.
- json_contents = self.Fetch(url)
- d = json.loads(json_contents)
- except Exception as e:
- self.Print(str(e))
- return 1
-
- config_builders = set(self.masters[master])
- master_builders = set(d.keys())
- both = master_builders & config_builders
- master_only = master_builders - config_builders
- config_only = config_builders - master_builders
- tbd = set()
- gyp = set()
- done = set()
- notes = {builder: '' for builder in config_builders | master_builders}
-
- for builder in both:
- config = self.masters[master][builder]
- if config == 'tbd':
- tbd.add(builder)
- elif isinstance(config, dict):
- vals = self.FlattenConfig(config.values()[0])
- if vals['type'] == 'gyp':
- gyp.add(builder)
- else:
- done.add(builder)
- elif config.startswith('//'):
- done.add(builder)
- else:
- vals = self.FlattenConfig(config)
- if vals['type'] == 'gyp':
- gyp.add(builder)
- else:
- done.add(builder)
-
- if self.args.check_compile and (tbd or master_only):
- either = tbd | master_only
- for builder in either:
- notes[builder] = ' (' + self.CheckCompile(master, builder) +')'
-
- if master_only or config_only or tbd or gyp:
- PrintBuilders(STAT_MASTER_ONLY, master_only, notes)
- PrintBuilders(STAT_CONFIG_ONLY, config_only, notes)
- PrintBuilders(STAT_TBD, tbd, notes)
- PrintBuilders(STAT_GYP, gyp, notes)
- else:
- self.Print(' All GN!')
-
- stats[STAT_DONE] += len(done)
-
- self.Print('')
-
- fmt = '{:<27} {:>4}'
- self.Print(fmt.format('Totals', str(sum(int(v) for v in stats.values()))))
- self.Print(fmt.format('-' * 27, '----'))
- for stat, count in stats.items():
- self.Print(fmt.format(stat, str(count)))
-
- return 0
-
def GetConfig(self):
build_dir = self.args.path[0]
vals = self.DefaultVals()
if self.args.builder or self.args.master or self.args.config:
vals = self.Lookup()
- if vals['type'] == 'gn':
- # Re-run gn gen in order to ensure the config is consistent with the
- # build dir.
- self.RunGNGen(vals)
+ # Re-run gn gen in order to ensure the config is consistent with the
+ # build dir.
+ self.RunGNGen(vals)
return vals
- mb_type_path = self.PathJoin(self.ToAbsPath(build_dir), 'mb_type')
- if not self.Exists(mb_type_path):
- toolchain_path = self.PathJoin(self.ToAbsPath(build_dir),
- 'toolchain.ninja')
- if not self.Exists(toolchain_path):
- self.Print('Must either specify a path to an existing GN build dir '
- 'or pass in a -m/-b pair or a -c flag to specify the '
- 'configuration')
- return {}
- else:
- mb_type = 'gn'
- else:
- mb_type = self.ReadFile(mb_type_path).strip()
-
- if mb_type == 'gn':
- vals['gn_args'] = self.GNArgsFromDir(build_dir)
- vals['type'] = mb_type
+ toolchain_path = self.PathJoin(self.ToAbsPath(build_dir),
+ 'toolchain.ninja')
+ if not self.Exists(toolchain_path):
+ self.Print('Must either specify a path to an existing GN build dir '
+ 'or pass in a -m/-b pair or a -c flag to specify the '
+ 'configuration')
+ return {}
+ vals['gn_args'] = self.GNArgsFromDir(build_dir)
return vals
def GNArgsFromDir(self, build_dir):
@@ -641,14 +532,6 @@ def Lookup(self):
raise MBErr('Config "%s" not found in %s' %
(config, self.args.config_file))
vals = self.FlattenConfig(config)
-
- # Do some basic sanity checking on the config so that we
- # don't have to do this in every caller.
- if 'type' not in vals:
- vals['type'] = 'gn'
- assert vals['type'] in ('gn', 'gyp'), (
- 'Unknown meta-build type "%s"' % vals['gn_args'])
-
return vals
def ReadIOSBotConfig(self):
@@ -660,17 +543,10 @@ def ReadIOSBotConfig(self):
return {}
contents = json.loads(self.ReadFile(path))
- gyp_vals = contents.get('GYP_DEFINES', {})
- if isinstance(gyp_vals, dict):
- gyp_defines = ' '.join('%s=%s' % (k, v) for k, v in gyp_vals.items())
- else:
- gyp_defines = ' '.join(gyp_vals)
gn_args = ' '.join(contents.get('gn_args', []))
vals = self.DefaultVals()
vals['gn_args'] = gn_args
- vals['gyp_defines'] = gyp_defines
- vals['type'] = contents.get('mb_type', 'gn')
return vals
def ReadConfigFile(self):
@@ -689,14 +565,26 @@ def ReadConfigFile(self):
self.mixins = contents['mixins']
def ReadIsolateMap(self):
- if not self.Exists(self.args.isolate_map_file):
- raise MBErr('isolate map file not found at %s' %
- self.args.isolate_map_file)
- try:
- return ast.literal_eval(self.ReadFile(self.args.isolate_map_file))
- except SyntaxError as e:
- raise MBErr('Failed to parse isolate map file "%s": %s' %
- (self.args.isolate_map_file, e))
+ if not self.args.isolate_map_files:
+ self.args.isolate_map_files = [self.default_isolate_map]
+
+ for f in self.args.isolate_map_files:
+ if not self.Exists(f):
+ raise MBErr('isolate map file not found at %s' % f)
+ isolate_maps = {}
+ for isolate_map in self.args.isolate_map_files:
+ try:
+ isolate_map = ast.literal_eval(self.ReadFile(isolate_map))
+ duplicates = set(isolate_map).intersection(isolate_maps)
+ if duplicates:
+ raise MBErr(
+ 'Duplicate targets in isolate map files: %s.' %
+ ', '.join(duplicates))
+ isolate_maps.update(isolate_map)
+ except SyntaxError as e:
+ raise MBErr(
+ 'Failed to parse isolate map file "%s": %s' % (isolate_map, e))
+ return isolate_maps
def ConfigFromArgs(self):
if self.args.config:
@@ -747,9 +635,6 @@ def DefaultVals(self):
'args_file': '',
'cros_passthrough': False,
'gn_args': '',
- 'gyp_defines': '',
- 'gyp_crosscompile': False,
- 'type': 'gn',
}
def FlattenMixins(self, mixins, vals, visited):
@@ -773,50 +658,11 @@ def FlattenMixins(self, mixins, vals, visited):
vals['gn_args'] += ' ' + mixin_vals['gn_args']
else:
vals['gn_args'] = mixin_vals['gn_args']
- if 'gyp_crosscompile' in mixin_vals:
- vals['gyp_crosscompile'] = mixin_vals['gyp_crosscompile']
- if 'gyp_defines' in mixin_vals:
- if vals['gyp_defines']:
- vals['gyp_defines'] += ' ' + mixin_vals['gyp_defines']
- else:
- vals['gyp_defines'] = mixin_vals['gyp_defines']
- if 'type' in mixin_vals:
- vals['type'] = mixin_vals['type']
if 'mixins' in mixin_vals:
self.FlattenMixins(mixin_vals['mixins'], vals, visited)
return vals
- def ClobberIfNeeded(self, vals):
- path = self.args.path[0]
- build_dir = self.ToAbsPath(path)
- mb_type_path = self.PathJoin(build_dir, 'mb_type')
- needs_clobber = False
- new_mb_type = vals['type']
- if self.Exists(build_dir):
- if self.Exists(mb_type_path):
- old_mb_type = self.ReadFile(mb_type_path)
- if old_mb_type != new_mb_type:
- self.Print("Build type mismatch: was %s, will be %s, clobbering %s" %
- (old_mb_type, new_mb_type, path))
- needs_clobber = True
- else:
- # There is no 'mb_type' file in the build directory, so this probably
- # means that the prior build(s) were not done through mb, and we
- # have no idea if this was a GYP build or a GN build. Clobber it
- # to be safe.
- self.Print("%s/mb_type missing, clobbering to be safe" % path)
- needs_clobber = True
-
- if self.args.dryrun:
- return
-
- if needs_clobber:
- self.RemoveDirectory(build_dir)
-
- self.MaybeMakeDirectory(build_dir)
- self.WriteFile(mb_type_path, new_mb_type)
-
def RunGNGen(self, vals, compute_grit_inputs_for_analyze=False):
build_dir = self.args.path[0]
@@ -861,6 +707,7 @@ def RunGNGen(self, vals, compute_grit_inputs_for_analyze=False):
return ret
android = 'target_os="android"' in vals['gn_args']
+ fuchsia = 'target_os="fuchsia"' in vals['gn_args']
for target in swarming_targets:
if android:
# Android targets may be either android_apk or executable. The former
@@ -870,6 +717,11 @@ def RunGNGen(self, vals, compute_grit_inputs_for_analyze=False):
runtime_deps_targets = [
target + '.runtime_deps',
'obj/%s.stamp.runtime_deps' % label.replace(':', '/')]
+ elif fuchsia:
+ # Only emit a runtime deps file for the group() target on Fuchsia.
+ label = isolate_map[target]['label']
+ runtime_deps_targets = [
+ 'obj/%s.stamp.runtime_deps' % label.replace(':', '/')]
elif (isolate_map[target]['type'] == 'script' or
isolate_map[target].get('label_type') == 'group'):
# For script targets, the build target is usually a group,
@@ -1023,38 +875,6 @@ def GNArgs(self, vals):
gn_args = ('import("%s")\n' % vals['args_file']) + gn_args
return gn_args
- def RunGYPGen(self, vals):
- path = self.args.path[0]
-
- output_dir = self.ParseGYPConfigPath(path)
- cmd, env = self.GYPCmd(output_dir, vals)
- ret, _, _ = self.Run(cmd, env=env)
- return ret
-
- def RunGYPAnalyze(self, vals):
- output_dir = self.ParseGYPConfigPath(self.args.path[0])
- if self.args.verbose:
- inp = self.ReadInputJSON(['files', 'test_targets',
- 'additional_compile_targets'])
- self.Print()
- self.Print('analyze input:')
- self.PrintJSON(inp)
- self.Print()
-
- cmd, env = self.GYPCmd(output_dir, vals)
- cmd.extend(['-f', 'analyzer',
- '-G', 'config_path=%s' % self.args.input_path[0],
- '-G', 'analyzer_output_path=%s' % self.args.output_path[0]])
- ret, _, _ = self.Run(cmd, env=env)
- if not ret and self.args.verbose:
- outp = json.loads(self.ReadFile(self.args.output_path[0]))
- self.Print()
- self.Print('analyze output:')
- self.PrintJSON(outp)
- self.Print()
-
- return ret
-
def ToAbsPath(self, build_path, *comps):
return self.PathJoin(self.chromium_src_dir,
self.ToSrcRelPath(build_path),
@@ -1066,86 +886,6 @@ def ToSrcRelPath(self, path):
return path[2:].replace('/', self.sep)
return self.RelPath(path, self.chromium_src_dir)
- def ParseGYPConfigPath(self, path):
- rpath = self.ToSrcRelPath(path)
- output_dir, _, _ = rpath.rpartition(self.sep)
- return output_dir
-
- def GYPCmd(self, output_dir, vals):
- if vals['cros_passthrough']:
- if not 'GYP_DEFINES' in os.environ:
- raise MBErr('MB is expecting GYP_DEFINES to be in the environment')
- gyp_defines = os.environ['GYP_DEFINES']
- if not 'chromeos=1' in gyp_defines:
- raise MBErr('GYP_DEFINES is missing chromeos=1: (GYP_DEFINES=%s)' %
- gyp_defines)
- else:
- gyp_defines = vals['gyp_defines']
-
- goma_dir = self.args.goma_dir
-
- # GYP uses shlex.split() to split the gyp defines into separate arguments,
- # so we can support backslashes and and spaces in arguments by quoting
- # them, even on Windows, where this normally wouldn't work.
- if goma_dir and ('\\' in goma_dir or ' ' in goma_dir):
- goma_dir = "'%s'" % goma_dir
-
- if goma_dir:
- gyp_defines += ' gomadir=%s' % goma_dir
-
- android_version_code = self.args.android_version_code
- if android_version_code:
- gyp_defines += ' app_manifest_version_code=%s' % android_version_code
-
- android_version_name = self.args.android_version_name
- if android_version_name:
- gyp_defines += ' app_manifest_version_name=%s' % android_version_name
-
- cmd = [
- self.executable,
- self.args.gyp_script,
- '-G',
- 'output_dir=' + output_dir,
- ]
-
- # Ensure that we have an environment that only contains
- # the exact values of the GYP variables we need.
- env = os.environ.copy()
-
- # This is a terrible hack to work around the fact that
- # //tools/clang/scripts/update.py is invoked by GYP and GN but
- # currently relies on an environment variable to figure out
- # what revision to embed in the command line #defines.
- # For GN, we've made this work via a gn arg that will cause update.py
- # to get an additional command line arg, but getting that to work
- # via GYP_DEFINES has proven difficult, so we rewrite the GYP_DEFINES
- # to get rid of the arg and add the old var in, instead.
- # See crbug.com/582737 for more on this. This can hopefully all
- # go away with GYP.
- m = re.search('llvm_force_head_revision=1\s*', gyp_defines)
- if m:
- env['LLVM_FORCE_HEAD_REVISION'] = '1'
- gyp_defines = gyp_defines.replace(m.group(0), '')
-
- # This is another terrible hack to work around the fact that
- # GYP sets the link concurrency to use via the GYP_LINK_CONCURRENCY
- # environment variable, and not via a proper GYP_DEFINE. See
- # crbug.com/611491 for more on this.
- m = re.search('gyp_link_concurrency=(\d+)(\s*)', gyp_defines)
- if m:
- env['GYP_LINK_CONCURRENCY'] = m.group(1)
- gyp_defines = gyp_defines.replace(m.group(0), '')
-
- env['GYP_GENERATORS'] = 'ninja'
- if 'GYP_CHROMIUM_NO_ACTION' in env:
- del env['GYP_CHROMIUM_NO_ACTION']
- if 'GYP_CROSSCOMPILE' in env:
- del env['GYP_CROSSCOMPILE']
- env['GYP_DEFINES'] = gyp_defines
- if vals['gyp_crosscompile']:
- env['GYP_CROSSCOMPILE'] = '1'
- return cmd, env
-
def RunGNAnalyze(self, vals):
# Analyze runs before 'gn gen' now, so we need to run gn gen
# in order to ensure that we have a build directory.
@@ -1347,9 +1087,6 @@ def print_env(var):
if env and var in env:
self.Print('%s%s=%s' % (env_prefix, var, env_quoter(env[var])))
- print_env('GYP_CROSSCOMPILE')
- print_env('GYP_DEFINES')
- print_env('GYP_LINK_CONCURRENCY')
print_env('LLVM_FORCE_HEAD_REVISION')
if cmd[0] == self.executable:
@@ -1486,7 +1223,6 @@ def QuoteForSet(arg):
def QuoteForCmd(arg):
# First, escape the arg so that CommandLineToArgvW will parse it properly.
- # From //tools/gyp/pylib/gyp/msvs_emulation.py:23.
if arg == '' or ' ' in arg or '"' in arg:
quote_re = re.compile(r'(\\*)"')
arg = '"%s"' % (quote_re.sub(lambda mo: 2 * mo.group(1) + '\\"', arg))
diff --git a/deps/v8/tools/mb/mb_unittest.py b/deps/v8/tools/mb/mb_unittest.py
index 15763750da5fa9..0413457eab2999 100755
--- a/deps/v8/tools/mb/mb_unittest.py
+++ b/deps/v8/tools/mb/mb_unittest.py
@@ -65,8 +65,6 @@ def WriteFile(self, path, contents, force_verbose=False):
self.files[path] = contents
def Call(self, cmd, env=None, buffer_output=True):
- if env:
- self.cross_compile = env.get('GYP_CROSSCOMPILE')
self.calls.append(cmd)
if self.cmds:
return self.cmds.pop(0)
@@ -112,13 +110,10 @@ def close(self):
'masters': {
'chromium': {},
'fake_master': {
- 'fake_builder': 'gyp_rel_bot',
- 'fake_gn_builder': 'gn_rel_bot',
- 'fake_gyp_crosscompile_builder': 'gyp_crosscompile',
- 'fake_gn_debug_builder': 'gn_debug_goma',
- 'fake_gyp_builder': 'gyp_debug',
- 'fake_gn_args_bot': '//build/args/bots/fake_master/fake_gn_args_bot.gn',
- 'fake_multi_phase': { 'phase_1': 'gn_phase_1', 'phase_2': 'gn_phase_2'},
+ 'fake_builder': 'rel_bot',
+ 'fake_debug_builder': 'debug_goma',
+ 'fake_args_bot': '//build/args/bots/fake_master/fake_args_bot.gn',
+ 'fake_multi_phase': { 'phase_1': 'phase_1', 'phase_2': 'phase_2'},
'fake_args_file': 'args_file_goma',
'fake_args_file_twice': 'args_file_twice',
},
@@ -126,38 +121,26 @@ def close(self):
'configs': {
'args_file_goma': ['args_file', 'goma'],
'args_file_twice': ['args_file', 'args_file'],
- 'gyp_rel_bot': ['gyp', 'rel', 'goma'],
- 'gn_debug_goma': ['gn', 'debug', 'goma'],
- 'gyp_debug': ['gyp', 'debug', 'fake_feature1'],
- 'gn_rel_bot': ['gn', 'rel', 'goma'],
- 'gyp_crosscompile': ['gyp', 'crosscompile'],
- 'gn_phase_1': ['gn', 'phase_1'],
- 'gn_phase_2': ['gn', 'phase_2'],
+ 'rel_bot': ['rel', 'goma', 'fake_feature1'],
+ 'debug_goma': ['debug', 'goma'],
+ 'phase_1': ['phase_1'],
+ 'phase_2': ['phase_2'],
},
'mixins': {
- 'crosscompile': {
- 'gyp_crosscompile': True,
- },
'fake_feature1': {
'gn_args': 'enable_doom_melon=true',
- 'gyp_defines': 'doom_melon=1',
},
- 'gyp': {'type': 'gyp'},
- 'gn': {'type': 'gn'},
'goma': {
'gn_args': 'use_goma=true',
- 'gyp_defines': 'goma=1',
},
'args_file': {
'args_file': '//build/args/fake.gn',
},
'phase_1': {
'gn_args': 'phase=1',
- 'gyp_args': 'phase=1',
},
'phase_2': {
'gn_args': 'phase=2',
- 'gyp_args': 'phase=2',
},
'rel': {
'gn_args': 'is_debug=false',
@@ -169,28 +152,6 @@ def close(self):
}
"""
-GYP_HACKS_CONFIG = """\
-{
- 'masters': {
- 'chromium': {},
- 'fake_master': {
- 'fake_builder': 'fake_config',
- },
- },
- 'configs': {
- 'fake_config': ['fake_mixin'],
- },
- 'mixins': {
- 'fake_mixin': {
- 'type': 'gyp',
- 'gn_args': '',
- 'gyp_defines':
- ('foo=bar llvm_force_head_revision=1 '
- 'gyp_link_concurrency=1 baz=1'),
- },
- },
-}
-"""
TRYSERVER_CONFIG = """\
{
@@ -229,7 +190,7 @@ def fake_mbw(self, files=None, win32=False):
},
}''')
mbw.files.setdefault(
- mbw.ToAbsPath('//build/args/bots/fake_master/fake_gn_args_bot.gn'),
+ mbw.ToAbsPath('//build/args/bots/fake_master/fake_args_bot.gn'),
'is_debug = false\n')
if files:
for path, contents in files.items():
@@ -249,37 +210,6 @@ def check(self, args, mbw=None, files=None, out=None, err=None, ret=None):
self.assertEqual(mbw.err, err)
return mbw
- def test_clobber(self):
- files = {
- '/fake_src/out/Debug': None,
- '/fake_src/out/Debug/mb_type': None,
- }
- mbw = self.fake_mbw(files)
-
- # The first time we run this, the build dir doesn't exist, so no clobber.
- self.check(['gen', '-c', 'gn_debug_goma', '//out/Debug'], mbw=mbw, ret=0)
- self.assertEqual(mbw.rmdirs, [])
- self.assertEqual(mbw.files['/fake_src/out/Debug/mb_type'], 'gn')
-
- # The second time we run this, the build dir exists and matches, so no
- # clobber.
- self.check(['gen', '-c', 'gn_debug_goma', '//out/Debug'], mbw=mbw, ret=0)
- self.assertEqual(mbw.rmdirs, [])
- self.assertEqual(mbw.files['/fake_src/out/Debug/mb_type'], 'gn')
-
- # Now we switch build types; this should result in a clobber.
- self.check(['gen', '-c', 'gyp_debug', '//out/Debug'], mbw=mbw, ret=0)
- self.assertEqual(mbw.rmdirs, ['/fake_src/out/Debug'])
- self.assertEqual(mbw.files['/fake_src/out/Debug/mb_type'], 'gyp')
-
- # Now we delete mb_type; this checks the case where the build dir
- # exists but wasn't populated by mb; this should also result in a clobber.
- del mbw.files['/fake_src/out/Debug/mb_type']
- self.check(['gen', '-c', 'gyp_debug', '//out/Debug'], mbw=mbw, ret=0)
- self.assertEqual(mbw.rmdirs,
- ['/fake_src/out/Debug', '/fake_src/out/Debug'])
- self.assertEqual(mbw.files['/fake_src/out/Debug/mb_type'], 'gyp')
-
def test_analyze(self):
files = {'/tmp/in.json': '''{\
"files": ["foo/foo_unittest.cc"],
@@ -295,7 +225,7 @@ def test_analyze(self):
mbw = self.fake_mbw(files)
mbw.Call = lambda cmd, env=None, buffer_output=True: (0, '', '')
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['analyze', '-c', 'debug_goma', '//out/Default',
'/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
out = json.loads(mbw.files['/tmp/out.json'])
self.assertEqual(out, {
@@ -319,7 +249,7 @@ def test_analyze_optimizes_compile_for_all(self):
mbw = self.fake_mbw(files)
mbw.Call = lambda cmd, env=None, buffer_output=True: (0, '', '')
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['analyze', '-c', 'debug_goma', '//out/Default',
'/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
out = json.loads(mbw.files['/tmp/out.json'])
@@ -342,7 +272,7 @@ def test_analyze_handles_other_toolchains(self):
mbw = self.fake_mbw(files)
mbw.Call = lambda cmd, env=None, buffer_output=True: (0, '', '')
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['analyze', '-c', 'debug_goma', '//out/Default',
'/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
out = json.loads(mbw.files['/tmp/out.json'])
@@ -369,7 +299,7 @@ def test_analyze_handles_way_too_many_results(self):
mbw = self.fake_mbw(files)
mbw.Call = lambda cmd, env=None, buffer_output=True: (0, '', '')
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['analyze', '-c', 'debug_goma', '//out/Default',
'/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
out = json.loads(mbw.files['/tmp/out.json'])
@@ -379,9 +309,9 @@ def test_analyze_handles_way_too_many_results(self):
# test_targets and additional_compile_targets.
self.assertEqual(['all', 'foo_unittests'], out['compile_targets'])
- def test_gn_gen(self):
+ def test_gen(self):
mbw = self.fake_mbw()
- self.check(['gen', '-c', 'gn_debug_goma', '//out/Default', '-g', '/goma'],
+ self.check(['gen', '-c', 'debug_goma', '//out/Default', '-g', '/goma'],
mbw=mbw, ret=0)
self.assertMultiLineEqual(mbw.files['/fake_src/out/Default/args.gn'],
('goma_dir = "/goma"\n'
@@ -394,7 +324,7 @@ def test_gn_gen(self):
mbw.out)
mbw = self.fake_mbw(win32=True)
- self.check(['gen', '-c', 'gn_debug_goma', '-g', 'c:\\goma', '//out/Debug'],
+ self.check(['gen', '-c', 'debug_goma', '-g', 'c:\\goma', '//out/Debug'],
mbw=mbw, ret=0)
self.assertMultiLineEqual(mbw.files['c:\\fake_src\\out\\Debug\\args.gn'],
('goma_dir = "c:\\\\goma"\n'
@@ -404,14 +334,14 @@ def test_gn_gen(self):
'--check\n', mbw.out)
mbw = self.fake_mbw()
- self.check(['gen', '-m', 'fake_master', '-b', 'fake_gn_args_bot',
+ self.check(['gen', '-m', 'fake_master', '-b', 'fake_args_bot',
'//out/Debug'],
mbw=mbw, ret=0)
self.assertEqual(
mbw.files['/fake_src/out/Debug/args.gn'],
- 'import("//build/args/bots/fake_master/fake_gn_args_bot.gn")\n')
+ 'import("//build/args/bots/fake_master/fake_args_bot.gn")\n')
- def test_gn_gen_args_file_mixins(self):
+ def test_gen_args_file_mixins(self):
mbw = self.fake_mbw()
self.check(['gen', '-m', 'fake_master', '-b', 'fake_args_file',
'//out/Debug'], mbw=mbw, ret=0)
@@ -425,14 +355,14 @@ def test_gn_gen_args_file_mixins(self):
self.check(['gen', '-m', 'fake_master', '-b', 'fake_args_file_twice',
'//out/Debug'], mbw=mbw, ret=1)
- def test_gn_gen_fails(self):
+ def test_gen_fails(self):
mbw = self.fake_mbw()
mbw.Call = lambda cmd, env=None, buffer_output=True: (1, '', '')
- self.check(['gen', '-c', 'gn_debug_goma', '//out/Default'], mbw=mbw, ret=1)
+ self.check(['gen', '-c', 'debug_goma', '//out/Default'], mbw=mbw, ret=1)
# TODO(machenbach): Comment back in after swarming file parameter is used.
"""
- def test_gn_gen_swarming(self):
+ def test_gen_swarming(self):
files = {
'/tmp/swarming_targets': 'base_unittests\n',
'/fake_src/testing/buildbot/gn_isolate_map.pyl': (
@@ -448,7 +378,7 @@ def test_gn_gen_swarming(self):
}
mbw = self.fake_mbw(files)
self.check(['gen',
- '-c', 'gn_debug_goma',
+ '-c', 'debug_goma',
'--swarming-targets-file', '/tmp/swarming_targets',
'//out/Default'], mbw=mbw, ret=0)
self.assertIn('/fake_src/out/Default/base_unittests.isolate',
@@ -456,7 +386,7 @@ def test_gn_gen_swarming(self):
self.assertIn('/fake_src/out/Default/base_unittests.isolated.gen.json',
mbw.files)
- def test_gn_gen_swarming_script(self):
+ def test_gen_swarming_script(self):
files = {
'/tmp/swarming_targets': 'cc_perftests\n',
'/fake_src/testing/buildbot/gn_isolate_map.pyl': (
@@ -473,7 +403,7 @@ def test_gn_gen_swarming_script(self):
}
mbw = self.fake_mbw(files=files, win32=True)
self.check(['gen',
- '-c', 'gn_debug_goma',
+ '-c', 'debug_goma',
'--swarming-targets-file', '/tmp/swarming_targets',
'--isolate-map-file',
'/fake_src/testing/buildbot/gn_isolate_map.pyl',
@@ -482,9 +412,77 @@ def test_gn_gen_swarming_script(self):
mbw.files)
self.assertIn('c:\\fake_src\\out\\Default\\cc_perftests.isolated.gen.json',
mbw.files)
- """ # pylint: disable=pointless-string-statement
- def test_gn_isolate(self):
+
+ def test_multiple_isolate_maps(self):
+ files = {
+ '/tmp/swarming_targets': 'cc_perftests\n',
+ '/fake_src/testing/buildbot/gn_isolate_map.pyl': (
+ "{'cc_perftests': {"
+ " 'label': '//cc:cc_perftests',"
+ " 'type': 'raw',"
+ " 'args': [],"
+ "}}\n"
+ ),
+ '/fake_src/testing/buildbot/gn_isolate_map2.pyl': (
+ "{'cc_perftests2': {"
+ " 'label': '//cc:cc_perftests',"
+ " 'type': 'raw',"
+ " 'args': [],"
+ "}}\n"
+ ),
+ 'c:\\fake_src\out\Default\cc_perftests.exe.runtime_deps': (
+ "cc_perftests\n"
+ ),
+ }
+ mbw = self.fake_mbw(files=files, win32=True)
+ self.check(['gen',
+ '-c', 'debug_goma',
+ '--swarming-targets-file', '/tmp/swarming_targets',
+ '--isolate-map-file',
+ '/fake_src/testing/buildbot/gn_isolate_map.pyl',
+ '--isolate-map-file',
+ '/fake_src/testing/buildbot/gn_isolate_map2.pyl',
+ '//out/Default'], mbw=mbw, ret=0)
+ self.assertIn('c:\\fake_src\\out\\Default\\cc_perftests.isolate',
+ mbw.files)
+ self.assertIn('c:\\fake_src\\out\\Default\\cc_perftests.isolated.gen.json',
+ mbw.files)
+
+
+ def test_duplicate_isolate_maps(self):
+ files = {
+ '/tmp/swarming_targets': 'cc_perftests\n',
+ '/fake_src/testing/buildbot/gn_isolate_map.pyl': (
+ "{'cc_perftests': {"
+ " 'label': '//cc:cc_perftests',"
+ " 'type': 'raw',"
+ " 'args': [],"
+ "}}\n"
+ ),
+ '/fake_src/testing/buildbot/gn_isolate_map2.pyl': (
+ "{'cc_perftests': {"
+ " 'label': '//cc:cc_perftests',"
+ " 'type': 'raw',"
+ " 'args': [],"
+ "}}\n"
+ ),
+ 'c:\\fake_src\out\Default\cc_perftests.exe.runtime_deps': (
+ "cc_perftests\n"
+ ),
+ }
+ mbw = self.fake_mbw(files=files, win32=True)
+ # Check that passing duplicate targets into mb fails.
+ self.check(['gen',
+ '-c', 'debug_goma',
+ '--swarming-targets-file', '/tmp/swarming_targets',
+ '--isolate-map-file',
+ '/fake_src/testing/buildbot/gn_isolate_map.pyl',
+ '--isolate-map-file',
+ '/fake_src/testing/buildbot/gn_isolate_map2.pyl',
+ '//out/Default'], mbw=mbw, ret=1)
+
+ def test_isolate(self):
files = {
'/fake_src/out/Default/toolchain.ninja': "",
'/fake_src/testing/buildbot/gn_isolate_map.pyl': (
@@ -498,7 +496,7 @@ def test_gn_isolate(self):
"base_unittests\n"
),
}
- self.check(['isolate', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['isolate', '-c', 'debug_goma', '//out/Default',
'base_unittests'], files=files, ret=0)
# test running isolate on an existing build_dir
@@ -506,11 +504,10 @@ def test_gn_isolate(self):
self.check(['isolate', '//out/Default', 'base_unittests'],
files=files, ret=0)
- files['/fake_src/out/Default/mb_type'] = 'gn\n'
self.check(['isolate', '//out/Default', 'base_unittests'],
files=files, ret=0)
- def test_gn_run(self):
+ def test_run(self):
files = {
'/fake_src/testing/buildbot/gn_isolate_map.pyl': (
"{'base_unittests': {"
@@ -523,55 +520,51 @@ def test_gn_run(self):
"base_unittests\n"
),
}
- self.check(['run', '-c', 'gn_debug_goma', '//out/Default',
+ self.check(['run', '-c', 'debug_goma', '//out/Default',
'base_unittests'], files=files, ret=0)
- def test_gn_lookup(self):
- self.check(['lookup', '-c', 'gn_debug_goma'], ret=0)
+ def test_run_swarmed(self):
+ files = {
+ '/fake_src/testing/buildbot/gn_isolate_map.pyl': (
+ "{'base_unittests': {"
+ " 'label': '//base:base_unittests',"
+ " 'type': 'raw',"
+ " 'args': [],"
+ "}}\n"
+ ),
+ '/fake_src/out/Default/base_unittests.runtime_deps': (
+ "base_unittests\n"
+ ),
+ }
+
+ def run_stub(cmd, **_kwargs):
+ if 'isolate.py' in cmd[1]:
+ return 0, 'fake_hash base_unittests', ''
+ else:
+ return 0, '', ''
+
+ mbw = self.fake_mbw(files=files)
+ mbw.Run = run_stub
+ self.check(['run', '-s', '-c', 'debug_goma', '//out/Default',
+ 'base_unittests'], mbw=mbw, ret=0)
+ self.check(['run', '-s', '-c', 'debug_goma', '-d', 'os', 'Win7',
+ '//out/Default', 'base_unittests'], mbw=mbw, ret=0)
+ """ # pylint: disable=pointless-string-statement
- def test_gn_lookup_goma_dir_expansion(self):
- self.check(['lookup', '-c', 'gn_rel_bot', '-g', '/foo'], ret=0,
+ def test_lookup(self):
+ self.check(['lookup', '-c', 'debug_goma'], ret=0)
+
+ def test_lookup_goma_dir_expansion(self):
+ self.check(['lookup', '-c', 'rel_bot', '-g', '/foo'], ret=0,
out=('\n'
'Writing """\\\n'
+ 'enable_doom_melon = true\n'
'goma_dir = "/foo"\n'
'is_debug = false\n'
'use_goma = true\n'
'""" to _path_/args.gn.\n\n'
'/fake_src/buildtools/linux64/gn gen _path_\n'))
- def test_gyp_analyze(self):
- mbw = self.check(['analyze', '-c', 'gyp_rel_bot', '//out/Release',
- '/tmp/in.json', '/tmp/out.json'], ret=0)
- self.assertIn('analyzer', mbw.calls[0])
-
- def test_gyp_crosscompile(self):
- mbw = self.fake_mbw()
- self.check(['gen', '-c', 'gyp_crosscompile', '//out/Release'],
- mbw=mbw, ret=0)
- self.assertTrue(mbw.cross_compile)
-
- def test_gyp_gen(self):
- self.check(['gen', '-c', 'gyp_rel_bot', '-g', '/goma', '//out/Release'],
- ret=0,
- out=("GYP_DEFINES='goma=1 gomadir=/goma'\n"
- "python build/gyp_chromium -G output_dir=out\n"))
-
- mbw = self.fake_mbw(win32=True)
- self.check(['gen', '-c', 'gyp_rel_bot', '-g', 'c:\\goma', '//out/Release'],
- mbw=mbw, ret=0,
- out=("set GYP_DEFINES=goma=1 gomadir='c:\\goma'\n"
- "python build\\gyp_chromium -G output_dir=out\n"))
-
- def test_gyp_gen_fails(self):
- mbw = self.fake_mbw()
- mbw.Call = lambda cmd, env=None, buffer_output=True: (1, '', '')
- self.check(['gen', '-c', 'gyp_rel_bot', '//out/Release'], mbw=mbw, ret=1)
-
- def test_gyp_lookup_goma_dir_expansion(self):
- self.check(['lookup', '-c', 'gyp_rel_bot', '-g', '/foo'], ret=0,
- out=("GYP_DEFINES='goma=1 gomadir=/foo'\n"
- "python build/gyp_chromium -G output_dir=_path_\n"))
-
def test_help(self):
orig_stdout = sys.stdout
try:
@@ -589,7 +582,7 @@ def test_multiple_phases(self):
self.assertIn('Must specify a build --phase', mbw.out)
# Check that passing a --phase to a single-phase builder fails.
- mbw = self.check(['lookup', '-m', 'fake_master', '-b', 'fake_gn_builder',
+ mbw = self.check(['lookup', '-m', 'fake_master', '-b', 'fake_builder',
'--phase', 'phase_1'], ret=1)
self.assertIn('Must not specify a build --phase', mbw.out)
@@ -611,16 +604,6 @@ def test_validate(self):
mbw = self.fake_mbw()
self.check(['validate'], mbw=mbw, ret=0)
- def test_gyp_env_hacks(self):
- mbw = self.fake_mbw()
- mbw.files[mbw.default_config] = GYP_HACKS_CONFIG
- self.check(['lookup', '-c', 'fake_config'], mbw=mbw,
- ret=0,
- out=("GYP_DEFINES='foo=bar baz=1'\n"
- "GYP_LINK_CONCURRENCY=1\n"
- "LLVM_FORCE_HEAD_REVISION=1\n"
- "python build/gyp_chromium -G output_dir=_path_\n"))
-
def test_buildbucket(self):
mbw = self.fake_mbw()
mbw.files[mbw.default_config] = TRYSERVER_CONFIG
diff --git a/deps/v8/tools/mingw-generate-makefiles.sh b/deps/v8/tools/mingw-generate-makefiles.sh
deleted file mode 100755
index 67715fc15b0a47..00000000000000
--- a/deps/v8/tools/mingw-generate-makefiles.sh
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/sh
-# Copyright 2013 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Monkey-patch GYP.
-cat > tools/gyp/gyp.mingw << EOF
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-# TODO(mark): sys.path manipulation is some temporary testing stuff.
-try:
- import gyp
-except ImportError, e:
- import os.path
- sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), 'pylib'))
- import gyp
-
-def MonkeyBuildFileTargets(target_list, build_file):
- """From a target_list, returns the subset from the specified build_file.
- """
- build_file = build_file.replace('/', '\\\\')
- return [p for p in target_list if gyp.common.BuildFile(p) == build_file]
-gyp.common.BuildFileTargets = MonkeyBuildFileTargets
-
-import gyp.generator.make
-import os
-def Monkey_ITIP(self):
- """Returns the location of the final output for an installable target."""
- sep = os.path.sep
- # Xcode puts shared_library results into PRODUCT_DIR, and some gyp files
- # rely on this. Emulate this behavior for mac.
- if (self.type == 'shared_library' and
- (self.flavor != 'mac' or self.toolset != 'target')):
- # Install all shared libs into a common directory (per toolset) for
- # convenient access with LD_LIBRARY_PATH.
- return '\$(builddir)%slib.%s%s%s' % (sep, self.toolset, sep, self.alias)
- return '\$(builddir)' + sep + self.alias
-gyp.generator.make.MakefileWriter._InstallableTargetInstallPath = Monkey_ITIP
-
-if __name__ == '__main__':
- sys.exit(gyp.main(sys.argv[1:]))
-EOF
-
-# Delete old generated Makefiles.
-find out -name '*.mk' -or -name 'Makefile*' -exec rm {} \;
-
-# Generate fresh Makefiles.
-mv tools/gyp/gyp tools/gyp/gyp.original
-mv tools/gyp/gyp.mingw tools/gyp/gyp
-make out/Makefile.ia32
-mv tools/gyp/gyp tools/gyp/gyp.mingw
-mv tools/gyp/gyp.original tools/gyp/gyp
-
-# Patch generated Makefiles: replace most backslashes with forward slashes,
-# fix library names in linker flags.
-FILES=$(find out -name '*.mk' -or -name 'Makefile*')
-for F in $FILES ; do
- echo "Patching $F..."
- cp $F $F.orig
- cat $F.orig \
- | sed -e 's|\([)a-zA-Z0-9]\)\\\([a-zA-Z]\)|\1/\2|g' \
- -e 's|\([)a-zA-Z0-9]\)\\\\\([a-zA-Z]\)|\1/\2|g' \
- -e 's|'%s/n'|'%s\\\\n'|g' \
- -e 's|-lwinmm\.lib|-lwinmm|g' \
- -e 's|-lws2_32\.lib|-lws2_32|g' \
- > $F
- rm $F.orig
-done
diff --git a/deps/v8/tools/mips_toolchain.tar.gz.sha1 b/deps/v8/tools/mips_toolchain.tar.gz.sha1
new file mode 100644
index 00000000000000..8d4572336a8cbd
--- /dev/null
+++ b/deps/v8/tools/mips_toolchain.tar.gz.sha1
@@ -0,0 +1 @@
+d51b5d903340262d8d13ecd51054c16a901b3cf3
\ No newline at end of file
diff --git a/deps/v8/tools/node/build_gn.py b/deps/v8/tools/node/build_gn.py
index 8ab2a635ea2075..e95c3491e74802 100755
--- a/deps/v8/tools/node/build_gn.py
+++ b/deps/v8/tools/node/build_gn.py
@@ -17,6 +17,7 @@
v8_enable_disassembler=0
"""
+import argparse
import os
import subprocess
import sys
@@ -31,52 +32,71 @@
"use_sysroot = false",
]
-BUILD_SUBDIR = "gn"
+BUILD_TARGET = "v8_monolith"
-# TODO: make this cross-platform.
-GN_SUBDIR = ["buildtools", "linux64", "gn"]
+def FindGn(options):
+ if options.host_os == "linux":
+ os_path = "linux64"
+ elif options.host_os == "mac":
+ os_path = "mac"
+ elif options.host_os == "win":
+ os_path = "win"
+ else:
+ raise "Operating system not supported by GN"
+ return os.path.join(options.v8_path, "buildtools", os_path, "gn")
-def Build(v8_path, build_path, depot_tools, is_debug, build_flags):
+def GenerateBuildFiles(options):
print "Setting GN args."
- lines = []
- lines.extend(GN_ARGS)
- for flag in build_flags:
+ gn = FindGn(options)
+ gn_args = []
+ gn_args.extend(GN_ARGS)
+ for flag in options.flag:
flag = flag.replace("=1", "=true")
flag = flag.replace("=0", "=false")
flag = flag.replace("target_cpu=ia32", "target_cpu=\"x86\"")
- lines.append(flag)
- lines.append("is_debug = %s" % ("true" if is_debug else "false"))
- with open(os.path.join(build_path, "args.gn"), "w") as args_file:
- args_file.write("\n".join(lines))
- gn = os.path.join(v8_path, *GN_SUBDIR)
- subprocess.check_call([gn, "gen", "-C", build_path], cwd=v8_path)
- ninja = os.path.join(depot_tools, "ninja")
+ gn_args.append(flag)
+ if options.mode == "DEBUG":
+ gn_args.append("is_debug = true")
+ else:
+ gn_args.append("is_debug = false")
+
+ if not os.path.isdir(options.build_path):
+ os.makedirs(options.build_path)
+ with open(os.path.join(options.build_path, "args.gn"), "w") as args_file:
+ args_file.write("\n".join(gn_args))
+ subprocess.check_call([gn, "gen", "-C", options.build_path],
+ cwd=options.v8_path)
+
+def Build(options):
print "Building."
- subprocess.check_call([ninja, "-v", "-C", build_path, "v8_monolith"],
- cwd=v8_path)
+ depot_tools = node_common.EnsureDepotTools(options.v8_path, False)
+ ninja = os.path.join(depot_tools, "ninja")
+ subprocess.check_call([ninja, "-v", "-C", options.build_path, BUILD_TARGET],
+ cwd=options.v8_path)
+
+def ParseOptions(args):
+ parser = argparse.ArgumentParser(
+ description="Build %s with GN" % BUILD_TARGET)
+ parser.add_argument("--mode", help="Build mode (Release/Debug)")
+ parser.add_argument("--v8_path", help="Path to V8")
+ parser.add_argument("--build_path", help="Path to build result")
+ parser.add_argument("--flag", help="Translate GYP flag to GN",
+ action="append")
+ parser.add_argument("--host_os", help="Current operating system")
+ options = parser.parse_args(args)
-def Main(v8_path, build_path, is_debug, build_flags):
- # Verify paths.
- v8_path = os.path.abspath(v8_path)
- assert os.path.isdir(v8_path)
- build_path = os.path.abspath(build_path)
- build_path = os.path.join(build_path, BUILD_SUBDIR)
- if not os.path.isdir(build_path):
- os.makedirs(build_path)
+ assert options.host_os
+ assert options.mode == "Debug" or options.mode == "Release"
- # Check that we have depot tools.
- depot_tools = node_common.EnsureDepotTools(v8_path, False)
+ assert options.v8_path
+ options.v8_path = os.path.abspath(options.v8_path)
+ assert os.path.isdir(options.v8_path)
- # Build with GN.
- Build(v8_path, build_path, depot_tools, is_debug, build_flags)
+ assert options.build_path
+ options.build_path = os.path.abspath(options.build_path)
+ return options
if __name__ == "__main__":
- # TODO: use argparse to parse arguments.
- build_mode = sys.argv[1]
- v8_path = sys.argv[2]
- build_path = sys.argv[3]
- assert build_mode == "Debug" or build_mode == "Release"
- is_debug = build_mode == "Debug"
- # TODO: introduce "--" flag for pass-through flags.
- build_flags = sys.argv[4:]
- Main(v8_path, build_path, is_debug, build_flags)
+ options = ParseOptions(sys.argv[1:])
+ GenerateBuildFiles(options)
+ Build(options)
diff --git a/deps/v8/tools/node/fetch_deps.py b/deps/v8/tools/node/fetch_deps.py
index a3e6d749177668..09a4e6cb97c8aa 100755
--- a/deps/v8/tools/node/fetch_deps.py
+++ b/deps/v8/tools/node/fetch_deps.py
@@ -32,7 +32,6 @@
"v8/test/mozilla/data" : None,
"v8/test/test262/data" : None,
"v8/test/test262/harness" : None,
- "v8/test/wasm-js" : None,
"v8/third_party/android_tools" : None,
"v8/third_party/catapult" : None,
"v8/third_party/colorama/src" : None,
@@ -41,9 +40,6 @@
"v8/tools/luci-go" : None,
"v8/tools/swarming_client" : None,
},
- "custom_vars": {
- "build_for_node" : True,
- },
},
]
@@ -56,6 +52,8 @@ def EnsureGit(v8_path):
return False
print "Initializing temporary git repository in v8."
subprocess.check_call(["git", "init"], cwd=v8_path)
+ subprocess.check_call(["git", "config", "user.name", "\"Ada Lovelace\""], cwd=v8_path)
+ subprocess.check_call(["git", "config", "user.email", "\"ada@lovela.ce\""], cwd=v8_path)
subprocess.check_call(["git", "commit", "--allow-empty", "-m", "init"],
cwd=v8_path)
return True
diff --git a/deps/v8/tools/node/update_node.py b/deps/v8/tools/node/update_node.py
index ebd953a90359bf..5d7e4daff4eabf 100755
--- a/deps/v8/tools/node/update_node.py
+++ b/deps/v8/tools/node/update_node.py
@@ -54,6 +54,9 @@
"!/third_party/jinja2",
"!/third_party/markupsafe" ]
+# Node.js owns deps/v8/gypfiles in their downstream repository.
+FILES_TO_KEEP = [ "gypfiles" ]
+
def RunGclient(path):
assert os.path.isdir(path)
print ">> Running gclient sync"
@@ -73,7 +76,7 @@ def CommitPatch(options):
cwd=options.v8_path,
)
-def UpdateTarget(repository, options):
+def UpdateTarget(repository, options, files_to_keep):
source = os.path.join(options.v8_path, *repository)
target = os.path.join(options.node_path, TARGET_SUBDIR, *repository)
print ">> Updating target directory %s" % target
@@ -83,16 +86,24 @@ def UpdateTarget(repository, options):
# Remove possible remnants of previous incomplete runs.
node_common.UninitGit(target)
- git_commands = [
- ["git", "init"], # initialize target repo
- ["git", "remote", "add", "origin", source], # point to the source repo
- ["git", "fetch", "origin", "HEAD"], # sync to the current branch
- ["git", "reset", "--hard", "FETCH_HEAD"], # reset to the current branch
- ["git", "clean", "-fd"], # delete removed files
- ]
+ git_args = []
+ git_args.append(["init"]) # initialize target repo
+
+ if files_to_keep:
+ git_args.append(["add"] + files_to_keep) # add and commit
+ git_args.append(["commit", "-m", "keep files"]) # files we want to keep
+
+ git_args.append(["remote", "add", "source", source]) # point to source repo
+ git_args.append(["fetch", "source", "HEAD"]) # sync to current branch
+ git_args.append(["checkout", "-f", "FETCH_HEAD"]) # switch to that branch
+ git_args.append(["clean", "-fd"]) # delete removed files
+
+ if files_to_keep:
+ git_args.append(["cherry-pick", "master"]) # restore kept files
+
try:
- for command in git_commands:
- subprocess.check_call(command, cwd=target)
+ for args in git_args:
+ subprocess.check_call(["git"] + args, cwd=target)
except:
raise
finally:
@@ -155,11 +166,11 @@ def Main(args):
if options.with_patch:
CommitPatch(options)
# Update main V8 repository.
- UpdateTarget([""], options)
+ UpdateTarget([""], options, FILES_TO_KEEP)
# Patch .gitignore before updating sub-repositories.
UpdateGitIgnore(options)
for repo in SUB_REPOSITORIES:
- UpdateTarget(repo, options)
+ UpdateTarget(repo, options, None)
if options.commit:
CreateCommit(options)
diff --git a/deps/v8/tools/parser-shell.cc b/deps/v8/tools/parser-shell.cc
index 1a492239969c1a..bcee2b82582f1b 100644
--- a/deps/v8/tools/parser-shell.cc
+++ b/deps/v8/tools/parser-shell.cc
@@ -39,7 +39,6 @@
#include "src/objects-inl.h"
#include "src/parsing/parse-info.h"
#include "src/parsing/parsing.h"
-#include "src/parsing/preparse-data-format.h"
#include "src/parsing/preparse-data.h"
#include "src/parsing/preparser.h"
#include "src/parsing/scanner-character-streams.h"
@@ -59,9 +58,9 @@ class StringResource8 : public v8::String::ExternalOneByteStringResource {
int length_;
};
-std::pair RunBaselineParser(
- const char* fname, Encoding encoding, int repeat, v8::Isolate* isolate,
- v8::Local context) {
+v8::base::TimeDelta RunBaselineParser(const char* fname, Encoding encoding,
+ int repeat, v8::Isolate* isolate,
+ v8::Local context) {
int length = 0;
const byte* source = ReadFileAndRepeat(fname, &length, repeat);
v8::Local source_handle;
@@ -87,42 +86,21 @@ std::pair RunBaselineParser(
break;
}
}
- v8::base::TimeDelta parse_time1, parse_time2;
+ v8::base::TimeDelta parse_time1;
Handle