diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index ac9b0bd9ac59c4..29fd9226dee7b0 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -85,12 +85,13 @@ shell_g /tools/luci-go/linux64/isolate /tools/luci-go/mac64/isolate /tools/luci-go/win64/isolate.exe -/tools/mb /tools/oom_dump/oom_dump /tools/oom_dump/oom_dump.o /tools/swarming_client /tools/visual_studio/Debug /tools/visual_studio/Release +/test/fuzzer/wasm +/test/fuzzer/wasm_asmjs /v8.log.ll /xcodebuild TAGS @@ -105,3 +106,7 @@ turbo*.cfg turbo*.dot turbo*.json v8.ignition_dispatches_table.json +/test/fuzzer/wasm.tar.gz +/test/fuzzer/wasm_asmjs.tar.gz +/src/inspector/build/closure-compiler.tar.gz +/src/inspector/build/closure-compiler \ No newline at end of file diff --git a/deps/v8/.gn b/deps/v8/.gn index a1c0ff8dceba56..aee1752d4be65e 100644 --- a/deps/v8/.gn +++ b/deps/v8/.gn @@ -14,8 +14,7 @@ secondary_source = "//build/secondary/" # matching these patterns (see "gn help label_pattern" for format) will have # their includes checked for proper dependencies when you run either # "gn check" or "gn gen --check". -check_targets = [ -] +check_targets = [] # These are the list of GN files that run exec_script. This whitelist exists # to force additional review for new uses of exec_script, which is strongly @@ -45,7 +44,5 @@ exec_script_whitelist = [ "//build/toolchain/win/BUILD.gn", "//build/util/branding.gni", "//build/util/version.gni", - "//test/cctest/BUILD.gn", "//test/test262/BUILD.gn", - "//test/unittests/BUILD.gn", ] diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index d70be77d86dccc..0229c9259e5c73 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -63,6 +63,7 @@ Felix Geisendörfer Filipe David Manana Franziska Hinkelmann Geoffrey Garside +Gwang Yoon Hwang Han Choongwoo Hirofumi Mako Honggyu Kim @@ -95,14 +96,17 @@ Mike Pennisi Milton Chiang Myeong-bo Shim Nicolas Antonius Ernst Leopold Maria Kaiser +Noj Vek Oleksandr Chekhovskyi Paolo Giarrusso Patrick Gansterer +Peter Rybin Peter Varga Paul Lind Rafal Krypa Refael Ackermann Rene Rebe +Rob Wu Robert Mustacchi Robert Nagy Ryan Dahl diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index dcefe3706b84c1..06870b6039f2b0 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -62,6 +62,9 @@ declare_args() { # tools/gen-postmortem-metadata.py for details. v8_postmortem_support = false + # Switches off inlining in V8. + v8_no_inline = false + # Similar to vfp but on MIPS. v8_can_use_fpu_instructions = true @@ -94,6 +97,11 @@ if (v8_enable_disassembler == "") { v8_enable_disassembler = is_debug && !v8_optimized_debug } +# Specifies if the target build is a simulator build. Comparing target cpu +# with v8 target cpu to not affect simulator builds for making cross-compile +# snapshots. +is_target_simulator = target_cpu != v8_target_cpu + v8_generated_peephole_source = "$target_gen_dir/bytecode-peephole-table.cc" v8_random_seed = "314159265" v8_toolset_for_shell = "host" @@ -107,10 +115,7 @@ config("internal_config") { include_dirs = [ "." ] if (is_component_build) { - defines = [ - "V8_SHARED", - "BUILDING_V8_SHARED", - ] + defines = [ "BUILDING_V8_SHARED" ] } } @@ -134,12 +139,12 @@ config("libsampler_config") { # itself. config("external_config") { if (is_component_build) { - defines = [ - "V8_SHARED", - "USING_V8_SHARED", - ] + defines = [ "USING_V8_SHARED" ] } include_dirs = [ "include" ] + if (v8_enable_inspector_override) { + include_dirs += [ "$target_gen_dir/include" ] + } libs = [] if (is_android && current_toolchain != host_toolchain) { libs += [ "log" ] @@ -200,7 +205,7 @@ config("toolchain") { if (v8_current_cpu == "arm") { defines += [ "V8_TARGET_ARCH_ARM" ] - if (arm_version == 7) { + if (arm_version >= 7) { defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ] } if (arm_fpu == "vfpv3-d16") { @@ -233,6 +238,12 @@ config("toolchain") { defines += [ "V8_TARGET_ARCH_ARM64" ] } + # Mips64el/mipsel simulators. + if (is_target_simulator && + (v8_current_cpu == "mipsel" || v8_current_cpu == "mips64el")) { + defines += [ "_MIPS_TARGET_SIMULATOR" ] + } + # TODO(jochen): Add support for mips. if (v8_current_cpu == "mipsel") { defines += [ "V8_TARGET_ARCH_MIPS" ] @@ -343,6 +354,13 @@ config("toolchain") { } else if (dcheck_always_on) { defines += [ "DEBUG" ] } + + if (v8_no_inline) { + cflags += [ + "-fno-inline-functions", + "-fno-inline", + ] + } } ############################################################################### @@ -374,17 +392,16 @@ action("js2c") { "src/js/regexp.js", "src/js/arraybuffer.js", "src/js/typedarray.js", - "src/js/iterator-prototype.js", "src/js/collection.js", "src/js/weak-collection.js", "src/js/collection-iterator.js", "src/js/promise.js", "src/js/messages.js", "src/js/array-iterator.js", - "src/js/string-iterator.js", "src/js/templates.js", "src/js/spread.js", "src/js/proxy.js", + "src/js/async-await.js", "src/debug/mirrors.js", "src/debug/debug.js", "src/debug/liveedit.js", @@ -427,7 +444,6 @@ action("js2c_experimental") { sources = [ "src/js/macros.py", "src/messages.h", - "src/js/harmony-async-await.js", "src/js/harmony-atomics.js", "src/js/harmony-simd.js", "src/js/harmony-string-padding.js", @@ -439,8 +455,8 @@ action("js2c_experimental") { if (v8_enable_i18n_support) { sources += [ + "src/js/datetime-format-to-parts.js", "src/js/icu-case-mapping.js", - "src/js/intl-extra.js", ] } @@ -809,6 +825,8 @@ v8_source_set("v8_base") { sources = [ "//base/trace_event/common/trace_event_common.h", + + ### gcmole(all) ### "include/v8-debug.h", "include/v8-experimental.h", "include/v8-platform.h", @@ -857,10 +875,14 @@ v8_source_set("v8_base") { "src/ast/ast-numbering.h", "src/ast/ast-traversal-visitor.h", "src/ast/ast-type-bounds.h", + "src/ast/ast-types.cc", + "src/ast/ast-types.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", @@ -868,7 +890,6 @@ v8_source_set("v8_base") { "src/ast/prettyprinter.cc", "src/ast/prettyprinter.h", "src/ast/scopeinfo.cc", - "src/ast/scopeinfo.h", "src/ast/scopes.cc", "src/ast/scopes.h", "src/ast/variables.cc", @@ -904,12 +925,14 @@ v8_source_set("v8_base") { "src/builtins/builtins-handler.cc", "src/builtins/builtins-internal.cc", "src/builtins/builtins-interpreter.cc", + "src/builtins/builtins-iterator.cc", "src/builtins/builtins-json.cc", "src/builtins/builtins-math.cc", "src/builtins/builtins-number.cc", "src/builtins/builtins-object.cc", "src/builtins/builtins-proxy.cc", "src/builtins/builtins-reflect.cc", + "src/builtins/builtins-regexp.cc", "src/builtins/builtins-sharedarraybuffer.cc", "src/builtins/builtins-string.cc", "src/builtins/builtins-symbol.cc", @@ -940,6 +963,8 @@ v8_source_set("v8_base") { "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-dispatcher/compiler-dispatcher-job.cc", @@ -1069,6 +1094,8 @@ v8_source_set("v8_base") { "src/compiler/loop-peeling.h", "src/compiler/loop-variable-optimizer.cc", "src/compiler/loop-variable-optimizer.h", + "src/compiler/machine-graph-verifier.cc", + "src/compiler/machine-graph-verifier.h", "src/compiler/machine-operator-reducer.cc", "src/compiler/machine-operator-reducer.h", "src/compiler/machine-operator.cc", @@ -1132,12 +1159,16 @@ v8_source_set("v8_base") { "src/compiler/store-store-elimination.h", "src/compiler/tail-call-optimization.cc", "src/compiler/tail-call-optimization.h", + "src/compiler/type-cache.cc", + "src/compiler/type-cache.h", "src/compiler/type-hint-analyzer.cc", "src/compiler/type-hint-analyzer.h", - "src/compiler/type-hints.cc", - "src/compiler/type-hints.h", + "src/compiler/typed-optimization.cc", + "src/compiler/typed-optimization.h", "src/compiler/typer.cc", "src/compiler/typer.h", + "src/compiler/types.cc", + "src/compiler/types.h", "src/compiler/unwinding-info-writer.h", "src/compiler/value-numbering-reducer.cc", "src/compiler/value-numbering-reducer.h", @@ -1216,6 +1247,7 @@ v8_source_set("v8_base") { "src/crankshaft/lithium-allocator.h", "src/crankshaft/lithium-codegen.cc", "src/crankshaft/lithium-codegen.h", + "src/crankshaft/lithium-inl.h", "src/crankshaft/lithium.cc", "src/crankshaft/lithium.h", "src/crankshaft/typing.cc", @@ -1314,6 +1346,7 @@ v8_source_set("v8_base") { "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", @@ -1351,6 +1384,7 @@ v8_source_set("v8_base") { "src/ic/call-optimization.h", "src/ic/handler-compiler.cc", "src/ic/handler-compiler.h", + "src/ic/handler-configuration.h", "src/ic/ic-compiler.cc", "src/ic/ic-compiler.h", "src/ic/ic-inl.h", @@ -1382,12 +1416,13 @@ v8_source_set("v8_base") { "src/interpreter/bytecode-generator.h", "src/interpreter/bytecode-label.cc", "src/interpreter/bytecode-label.h", + "src/interpreter/bytecode-operands.cc", + "src/interpreter/bytecode-operands.h", "src/interpreter/bytecode-peephole-optimizer.cc", "src/interpreter/bytecode-peephole-optimizer.h", "src/interpreter/bytecode-peephole-table.h", "src/interpreter/bytecode-pipeline.cc", "src/interpreter/bytecode-pipeline.h", - "src/interpreter/bytecode-register-allocator.cc", "src/interpreter/bytecode-register-allocator.h", "src/interpreter/bytecode-register-optimizer.cc", "src/interpreter/bytecode-register-optimizer.h", @@ -1422,11 +1457,16 @@ v8_source_set("v8_base") { "src/layout-descriptor.h", "src/list-inl.h", "src/list.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/machine-type.cc", @@ -1444,6 +1484,8 @@ v8_source_set("v8_base") { "src/objects.h", "src/ostreams.cc", "src/ostreams.h", + "src/parsing/duplicate-finder.cc", + "src/parsing/duplicate-finder.h", "src/parsing/expression-classifier.h", "src/parsing/func-name-inferrer.cc", "src/parsing/func-name-inferrer.h", @@ -1495,6 +1537,8 @@ v8_source_set("v8_base") { "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", @@ -1601,15 +1645,13 @@ v8_source_set("v8_base") { "src/transitions-inl.h", "src/transitions.cc", "src/transitions.h", - "src/type-cache.cc", - "src/type-cache.h", "src/type-feedback-vector-inl.h", "src/type-feedback-vector.cc", "src/type-feedback-vector.h", + "src/type-hints.cc", + "src/type-hints.h", "src/type-info.cc", "src/type-info.h", - "src/types.cc", - "src/types.h", "src/unicode-cache-inl.h", "src/unicode-cache.h", "src/unicode-decoder.cc", @@ -1629,6 +1671,7 @@ v8_source_set("v8_base") { "src/v8threads.h", "src/value-serializer.cc", "src/value-serializer.h", + "src/vector.h", "src/version.cc", "src/version.h", "src/vm-state-inl.h", @@ -1636,8 +1679,6 @@ v8_source_set("v8_base") { "src/wasm/ast-decoder.cc", "src/wasm/ast-decoder.h", "src/wasm/decoder.h", - "src/wasm/encoder.cc", - "src/wasm/encoder.h", "src/wasm/leb-helper.h", "src/wasm/module-decoder.cc", "src/wasm/module-decoder.h", @@ -1654,20 +1695,27 @@ v8_source_set("v8_base") { "src/wasm/wasm-js.cc", "src/wasm/wasm-js.h", "src/wasm/wasm-macro-gen.h", + "src/wasm/wasm-module-builder.cc", + "src/wasm/wasm-module-builder.h", "src/wasm/wasm-module.cc", "src/wasm/wasm-module.h", "src/wasm/wasm-opcodes.cc", "src/wasm/wasm-opcodes.h", "src/wasm/wasm-result.cc", "src/wasm/wasm-result.h", - "src/zone-allocator.h", - "src/zone-containers.h", - "src/zone.cc", - "src/zone.h", + "src/zone/accounting-allocator.cc", + "src/zone/accounting-allocator.h", + "src/zone/zone-allocator.h", + "src/zone/zone-allocator.h", + "src/zone/zone-containers.h", + "src/zone/zone-segment.cc", + "src/zone/zone-segment.h", + "src/zone/zone.cc", + "src/zone/zone.h", ] if (v8_current_cpu == "x86") { - sources += [ + sources += [ ### gcmole(arch:ia32) ### "src/builtins/ia32/builtins-ia32.cc", "src/compiler/ia32/code-generator-ia32.cc", "src/compiler/ia32/instruction-codes-ia32.h", @@ -1696,6 +1744,8 @@ v8_source_set("v8_base") { "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/ic/ia32/access-compiler-ia32.cc", "src/ic/ia32/handler-compiler-ia32.cc", "src/ic/ia32/ic-compiler-ia32.cc", @@ -1705,7 +1755,7 @@ v8_source_set("v8_base") { "src/regexp/ia32/regexp-macro-assembler-ia32.h", ] } else if (v8_current_cpu == "x64") { - sources += [ + sources += [ ### gcmole(arch:x64) ### "src/builtins/x64/builtins-x64.cc", "src/compiler/x64/code-generator-x64.cc", "src/compiler/x64/instruction-codes-x64.h", @@ -1728,6 +1778,7 @@ v8_source_set("v8_base") { "src/ic/x64/stub-cache-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/x64/assembler-x64-inl.h", "src/x64/assembler-x64.cc", "src/x64/assembler-x64.h", @@ -1744,9 +1795,12 @@ v8_source_set("v8_base") { "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", ] } else if (v8_current_cpu == "arm") { - sources += [ + sources += [ ### gcmole(arch:arm) ### "src/arm/assembler-arm-inl.h", "src/arm/assembler-arm.cc", "src/arm/assembler-arm.h", @@ -1792,7 +1846,7 @@ v8_source_set("v8_base") { "src/regexp/arm/regexp-macro-assembler-arm.h", ] } else if (v8_current_cpu == "arm64") { - sources += [ + sources += [ ### gcmole(arch:arm64) ### "src/arm64/assembler-arm64-inl.h", "src/arm64/assembler-arm64.cc", "src/arm64/assembler-arm64.h", @@ -1850,8 +1904,8 @@ v8_source_set("v8_base") { "src/regexp/arm64/regexp-macro-assembler-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.h", ] - } else if (v8_current_cpu == "mipsel") { - sources += [ + } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { + sources += [ ### gcmole(arch:mipsel) ### "src/builtins/mips/builtins-mips.cc", "src/compiler/mips/code-generator-mips.cc", "src/compiler/mips/instruction-codes-mips.h", @@ -1892,8 +1946,8 @@ v8_source_set("v8_base") { "src/regexp/mips/regexp-macro-assembler-mips.cc", "src/regexp/mips/regexp-macro-assembler-mips.h", ] - } else if (v8_current_cpu == "mips64el") { - sources += [ + } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { + sources += [ ### gcmole(arch:mips64el) ### "src/builtins/mips64/builtins-mips64.cc", "src/compiler/mips64/code-generator-mips64.cc", "src/compiler/mips64/instruction-codes-mips64.h", @@ -1934,8 +1988,50 @@ v8_source_set("v8_base") { "src/regexp/mips64/regexp-macro-assembler-mips64.cc", "src/regexp/mips64/regexp-macro-assembler-mips64.h", ] + } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { + sources += [ ### gcmole(arch:ppc) ### + "src/builtins/ppc/builtins-ppc.cc", + "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/crankshaft/ppc/lithium-codegen-ppc.cc", + "src/crankshaft/ppc/lithium-codegen-ppc.h", + "src/crankshaft/ppc/lithium-gap-resolver-ppc.cc", + "src/crankshaft/ppc/lithium-gap-resolver-ppc.h", + "src/crankshaft/ppc/lithium-ppc.cc", + "src/crankshaft/ppc/lithium-ppc.h", + "src/debug/ppc/debug-ppc.cc", + "src/full-codegen/ppc/full-codegen-ppc.cc", + "src/ic/ppc/access-compiler-ppc.cc", + "src/ic/ppc/handler-compiler-ppc.cc", + "src/ic/ppc/ic-compiler-ppc.cc", + "src/ic/ppc/ic-ppc.cc", + "src/ic/ppc/stub-cache-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/codegen-ppc.h", + "src/ppc/constants-ppc.cc", + "src/ppc/constants-ppc.h", + "src/ppc/cpu-ppc.cc", + "src/ppc/deoptimizer-ppc.cc", + "src/ppc/disasm-ppc.cc", + "src/ppc/frames-ppc.cc", + "src/ppc/frames-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", + ] } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { - sources += [ + sources += [ ### gcmole(arch:s390) ### "src/builtins/s390/builtins-s390.cc", "src/compiler/s390/code-generator-s390.cc", "src/compiler/s390/instruction-codes-s390.h", @@ -1976,6 +2072,46 @@ v8_source_set("v8_base") { "src/s390/simulator-s390.cc", "src/s390/simulator-s390.h", ] + } else if (v8_current_cpu == "x87") { + sources += [ ### gcmole(arch:x87) ### + "src/builtins/x87/builtins-x87.cc", + "src/compiler/x87/code-generator-x87.cc", + "src/compiler/x87/instruction-codes-x87.h", + "src/compiler/x87/instruction-scheduler-x87.cc", + "src/compiler/x87/instruction-selector-x87.cc", + "src/crankshaft/x87/lithium-codegen-x87.cc", + "src/crankshaft/x87/lithium-codegen-x87.h", + "src/crankshaft/x87/lithium-gap-resolver-x87.cc", + "src/crankshaft/x87/lithium-gap-resolver-x87.h", + "src/crankshaft/x87/lithium-x87.cc", + "src/crankshaft/x87/lithium-x87.h", + "src/debug/x87/debug-x87.cc", + "src/full-codegen/x87/full-codegen-x87.cc", + "src/ic/x87/access-compiler-x87.cc", + "src/ic/x87/handler-compiler-x87.cc", + "src/ic/x87/ic-compiler-x87.cc", + "src/ic/x87/ic-x87.cc", + "src/ic/x87/stub-cache-x87.cc", + "src/regexp/x87/regexp-macro-assembler-x87.cc", + "src/regexp/x87/regexp-macro-assembler-x87.h", + "src/x87/assembler-x87-inl.h", + "src/x87/assembler-x87.cc", + "src/x87/assembler-x87.h", + "src/x87/code-stubs-x87.cc", + "src/x87/code-stubs-x87.h", + "src/x87/codegen-x87.cc", + "src/x87/codegen-x87.h", + "src/x87/cpu-x87.cc", + "src/x87/deoptimizer-x87.cc", + "src/x87/disasm-x87.cc", + "src/x87/frames-x87.cc", + "src/x87/frames-x87.h", + "src/x87/interface-descriptors-x87.cc", + "src/x87/macro-assembler-x87.cc", + "src/x87/macro-assembler-x87.h", + "src/x87/simulator-x87.cc", + "src/x87/simulator-x87.h", + ] } configs = [ ":internal_config" ] @@ -2010,14 +2146,16 @@ v8_source_set("v8_base") { sources += [ "$target_gen_dir/debug-support.cc" ] deps += [ ":postmortem-metadata" ] } + + if (v8_enable_inspector_override) { + deps += [ "src/inspector:inspector" ] + } } v8_source_set("v8_libbase") { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = [ - "src/base/accounting-allocator.cc", - "src/base/accounting-allocator.h", "src/base/adapters.h", "src/base/atomic-utils.h", "src/base/atomicops.h", @@ -2035,6 +2173,7 @@ v8_source_set("v8_libbase") { "src/base/bits.cc", "src/base/bits.h", "src/base/build_config.h", + "src/base/compiler-specific.h", "src/base/cpu.cc", "src/base/cpu.h", "src/base/debug/stack_trace.cc", @@ -2048,6 +2187,7 @@ v8_source_set("v8_libbase") { "src/base/free_deleter.h", "src/base/functional.cc", "src/base/functional.h", + "src/base/hashmap-entry.h", "src/base/hashmap.h", "src/base/ieee754.cc", "src/base/ieee754.h", @@ -2199,6 +2339,27 @@ v8_source_set("fuzzer_support") { configs = [ ":internal_config_base" ] + deps = [ + ":v8", + ] + + public_deps = [ + ":v8_libplatform", + ] +} + +# Used by fuzzers that would require exposing too many symbols for a proper +# component build. +v8_source_set("fuzzer_support_nocomponent") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = [ + "test/fuzzer/fuzzer-support.cc", + "test/fuzzer/fuzzer-support.h", + ] + + configs = [ ":internal_config_base" ] + deps = [ ":v8_maybe_snapshot", ] @@ -2247,7 +2408,10 @@ v8_executable("mkpeephole") { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = [ + "src/interpreter/bytecode-operands.cc", + "src/interpreter/bytecode-operands.h", "src/interpreter/bytecode-peephole-optimizer.h", + "src/interpreter/bytecode-traits.h", "src/interpreter/bytecodes.cc", "src/interpreter/bytecodes.h", "src/interpreter/mkpeephole.cc", @@ -2336,6 +2500,7 @@ if (is_component_build) { v8_executable("d8") { sources = [ + "$target_gen_dir/d8-js.cc", "src/d8.cc", "src/d8.h", ] @@ -2363,9 +2528,6 @@ v8_executable("d8") { sources += [ "src/d8-windows.cc" ] } - if (!is_component_build) { - sources += [ "$target_gen_dir/d8-js.cc" ] - } if (v8_enable_i18n_support) { deps += [ "//third_party/icu" ] } @@ -2516,7 +2678,10 @@ v8_source_set("json_fuzzer") { ":fuzzer_support", ] - configs = [ ":internal_config" ] + configs = [ + ":external_config", + ":internal_config_base", + ] } v8_fuzzer("json_fuzzer") { @@ -2528,10 +2693,13 @@ v8_source_set("parser_fuzzer") { ] deps = [ - ":fuzzer_support", + ":fuzzer_support_nocomponent", ] - configs = [ ":internal_config" ] + configs = [ + ":external_config", + ":internal_config_base", + ] } v8_fuzzer("parser_fuzzer") { @@ -2546,12 +2714,38 @@ v8_source_set("regexp_fuzzer") { ":fuzzer_support", ] - configs = [ ":internal_config" ] + configs = [ + ":external_config", + ":internal_config_base", + ] } v8_fuzzer("regexp_fuzzer") { } +v8_source_set("wasm_module_runner") { + sources = [ + "test/common/wasm/wasm-module-runner.cc", + "test/common/wasm/wasm-module-runner.h", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_source_set("wasm_test_signatures") { + sources = [ + "test/common/wasm/test-signatures.h", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + v8_source_set("wasm_fuzzer") { sources = [ "test/fuzzer/wasm.cc", @@ -2559,9 +2753,13 @@ v8_source_set("wasm_fuzzer") { deps = [ ":fuzzer_support", + ":wasm_module_runner", ] - configs = [ ":internal_config" ] + configs = [ + ":external_config", + ":internal_config_base", + ] } v8_fuzzer("wasm_fuzzer") { @@ -2574,10 +2772,186 @@ v8_source_set("wasm_asmjs_fuzzer") { deps = [ ":fuzzer_support", + ":wasm_module_runner", ] - configs = [ ":internal_config" ] + configs = [ + ":external_config", + ":internal_config_base", + ] } v8_fuzzer("wasm_asmjs_fuzzer") { } + +v8_source_set("wasm_code_fuzzer") { + sources = [ + "test/fuzzer/wasm-code.cc", + ] + + deps = [ + ":fuzzer_support", + ":wasm_module_runner", + ":wasm_test_signatures", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_code_fuzzer") { +} + +v8_source_set("lib_wasm_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-section-fuzzers.cc", + "test/fuzzer/wasm-section-fuzzers.h", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_source_set("wasm_types_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-types-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_types_section_fuzzer") { +} + +v8_source_set("wasm_names_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-names-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_names_section_fuzzer") { +} + +v8_source_set("wasm_globals_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-globals-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_globals_section_fuzzer") { +} + +v8_source_set("wasm_imports_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-imports-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_imports_section_fuzzer") { +} + +v8_source_set("wasm_function_sigs_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-function-sigs-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_function_sigs_section_fuzzer") { +} + +v8_source_set("wasm_memory_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-memory-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_memory_section_fuzzer") { +} + +v8_source_set("wasm_data_section_fuzzer") { + sources = [ + "test/fuzzer/wasm-data-section.cc", + ] + + deps = [ + ":fuzzer_support", + ":lib_wasm_section_fuzzer", + ":wasm_module_runner", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_data_section_fuzzer") { +} diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index b2a43a11213240..40c8537022d79d 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,1987 @@ +2016-10-05: Version 5.5.372 + + Performance and stability improvements on all platforms. + + +2016-10-05: Version 5.5.371 + + Performance and stability improvements on all platforms. + + +2016-10-05: Version 5.5.370 + + Performance and stability improvements on all platforms. + + +2016-10-05: Version 5.5.369 + + Performance and stability improvements on all platforms. + + +2016-10-05: Version 5.5.368 + + Performance and stability improvements on all platforms. + + +2016-10-05: Version 5.5.367 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.366 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.365 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.364 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.363 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.362 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.361 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.360 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.359 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.358 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.357 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.356 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.355 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.354 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.353 + + Performance and stability improvements on all platforms. + + +2016-10-04: Version 5.5.352 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.351 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.350 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.349 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.348 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.347 + + Performance and stability improvements on all platforms. + + +2016-10-03: Version 5.5.346 + + Performance and stability improvements on all platforms. + + +2016-10-02: Version 5.5.345 + + Performance and stability improvements on all platforms. + + +2016-10-02: Version 5.5.344 + + Performance and stability improvements on all platforms. + + +2016-10-02: Version 5.5.343 + + Performance and stability improvements on all platforms. + + +2016-10-02: Version 5.5.342 + + Performance and stability improvements on all platforms. + + +2016-10-01: Version 5.5.341 + + Performance and stability improvements on all platforms. + + +2016-10-01: Version 5.5.340 + + Performance and stability improvements on all platforms. + + +2016-09-30: Version 5.5.339 + + Performance and stability improvements on all platforms. + + +2016-09-30: Version 5.5.338 + + Performance and stability improvements on all platforms. + + +2016-09-30: Version 5.5.337 + + Performance and stability improvements on all platforms. + + +2016-09-30: Version 5.5.336 + + Performance and stability improvements on all platforms. + + +2016-09-30: Version 5.5.335 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.334 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.333 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.332 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.331 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.330 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.329 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.328 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.327 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.326 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.325 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.324 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.323 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.322 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.321 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.320 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.319 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.318 + + Performance and stability improvements on all platforms. + + +2016-09-29: Version 5.5.317 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.316 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.315 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.314 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.313 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.312 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.311 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.310 + + Performance and stability improvements on all platforms. + + +2016-09-28: Version 5.5.309 + + [wasm] Master CL for Binary 0xC changes (Chromium issue 575167). + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.308 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.307 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.306 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.305 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.304 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.303 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.302 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.301 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.300 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.299 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.298 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.297 + + Performance and stability improvements on all platforms. + + +2016-09-27: Version 5.5.296 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.295 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.294 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.293 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.292 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.291 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.290 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.289 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.288 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.287 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.286 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.285 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.284 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.283 + + Performance and stability improvements on all platforms. + + +2016-09-26: Version 5.5.282 + + Performance and stability improvements on all platforms. + + +2016-09-24: Version 5.5.281 + + Performance and stability improvements on all platforms. + + +2016-09-24: Version 5.5.280 + + Performance and stability improvements on all platforms. + + +2016-09-24: Version 5.5.279 + + Performance and stability improvements on all platforms. + + +2016-09-24: Version 5.5.278 + + Performance and stability improvements on all platforms. + + +2016-09-23: Version 5.5.277 + + Performance and stability improvements on all platforms. + + +2016-09-23: Version 5.5.276 + + [wasm] Master CL for Binary 0xC changes (Chromium issue 575167). + + Performance and stability improvements on all platforms. + + +2016-09-23: Version 5.5.275 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.274 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.273 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.272 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.271 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.270 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.269 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.268 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.267 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.266 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.265 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.264 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.263 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.262 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.261 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.260 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.259 + + Performance and stability improvements on all platforms. + + +2016-09-22: Version 5.5.258 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.257 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.256 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.255 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.254 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.253 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.252 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.251 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.250 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.249 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.248 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.247 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.246 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.245 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.244 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.243 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.242 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.241 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.240 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.239 + + Performance and stability improvements on all platforms. + + +2016-09-21: Version 5.5.238 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.237 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.236 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.235 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.234 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.233 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.232 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.231 + + Performance and stability improvements on all platforms. + + +2016-09-20: Version 5.5.230 + + Performance and stability improvements on all platforms. + + +2016-09-19: Version 5.5.229 + + Performance and stability improvements on all platforms. + + +2016-09-19: Version 5.5.228 + + Performance and stability improvements on all platforms. + + +2016-09-19: Version 5.5.227 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.226 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.225 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.224 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.223 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.222 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.221 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.220 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.219 + + Performance and stability improvements on all platforms. + + +2016-09-16: Version 5.5.218 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.217 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.216 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.215 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.214 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.213 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.212 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.211 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.210 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.209 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.208 + + Performance and stability improvements on all platforms. + + +2016-09-15: Version 5.5.207 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.206 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.205 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.204 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.203 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.202 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.201 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.200 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.199 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.198 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.197 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.196 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.195 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.194 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.193 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.192 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.191 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.190 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.189 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.188 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.187 + + Performance and stability improvements on all platforms. + + +2016-09-14: Version 5.5.186 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.185 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.184 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.183 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.182 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.181 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.180 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.179 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.178 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.177 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.176 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.175 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.174 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.173 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.172 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.171 + + Performance and stability improvements on all platforms. + + +2016-09-13: Version 5.5.170 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.169 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.168 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.167 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.166 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.165 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.164 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.163 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.162 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.161 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.160 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.159 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.158 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.157 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.156 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.155 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.154 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.153 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.152 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.151 + + Performance and stability improvements on all platforms. + + +2016-09-12: Version 5.5.150 + + Performance and stability improvements on all platforms. + + +2016-09-10: Version 5.5.149 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.148 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.147 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.146 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.145 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.144 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.143 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.142 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.141 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.140 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.139 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.138 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.137 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.136 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.135 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.134 + + Performance and stability improvements on all platforms. + + +2016-09-09: Version 5.5.133 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.132 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.131 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.130 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.129 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.128 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.127 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.126 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.125 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.124 + + Performance and stability improvements on all platforms. + + +2016-09-08: Version 5.5.123 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.122 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.121 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.120 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.119 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.118 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.117 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.116 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.115 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.114 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.113 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.112 + + Performance and stability improvements on all platforms. + + +2016-09-07: Version 5.5.111 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.110 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.109 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.108 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.107 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.106 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.105 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.104 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.103 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.102 + + Performance and stability improvements on all platforms. + + +2016-09-06: Version 5.5.101 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.100 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.99 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.98 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.97 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.96 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.95 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.94 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.93 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.92 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.91 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.90 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.89 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.88 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.87 + + Performance and stability improvements on all platforms. + + +2016-09-05: Version 5.5.86 + + Performance and stability improvements on all platforms. + + +2016-09-04: Version 5.5.85 + + Performance and stability improvements on all platforms. + + +2016-09-04: Version 5.5.84 + + Performance and stability improvements on all platforms. + + +2016-09-04: Version 5.5.83 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.82 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.81 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.80 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.79 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.78 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.77 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.76 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.75 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.74 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.73 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.72 + + Performance and stability improvements on all platforms. + + +2016-09-02: Version 5.5.71 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.70 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.69 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.68 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.67 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.66 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.65 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.64 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.63 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.62 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.61 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.60 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.59 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.58 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.57 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.56 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.55 + + Performance and stability improvements on all platforms. + + +2016-09-01: Version 5.5.54 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.53 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.52 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.51 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.50 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.49 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.48 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.47 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.46 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.45 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.44 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.43 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.42 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.41 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.40 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.39 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.38 + + Performance and stability improvements on all platforms. + + +2016-08-31: Version 5.5.37 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.36 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.35 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.34 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.33 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.32 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.31 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.30 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.29 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.28 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.27 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.26 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.25 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.24 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.23 + + Performance and stability improvements on all platforms. + + +2016-08-30: Version 5.5.22 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.21 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.20 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.19 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.18 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.17 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.16 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.15 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.14 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.13 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.12 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.11 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.10 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.9 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.8 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.7 + + Performance and stability improvements on all platforms. + + +2016-08-29: Version 5.5.6 + + Performance and stability improvements on all platforms. + + +2016-08-28: Version 5.5.5 + + Performance and stability improvements on all platforms. + + +2016-08-28: Version 5.5.4 + + Performance and stability improvements on all platforms. + + +2016-08-28: Version 5.5.3 + + Performance and stability improvements on all platforms. + + +2016-08-28: Version 5.5.2 + + Performance and stability improvements on all platforms. + + +2016-08-26: Version 5.5.1 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.524 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.523 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.522 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.521 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.520 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.519 + + Performance and stability improvements on all platforms. + + +2016-08-25: Version 5.4.518 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.517 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.516 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.515 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.514 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.513 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.512 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.511 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.510 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.509 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.508 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.507 + + Performance and stability improvements on all platforms. + + +2016-08-24: Version 5.4.506 + + Performance and stability improvements on all platforms. + + +2016-08-23: Version 5.4.505 + + Performance and stability improvements on all platforms. + + +2016-08-23: Version 5.4.504 + + Performance and stability improvements on all platforms. + + +2016-08-23: Version 5.4.503 + + Performance and stability improvements on all platforms. + + +2016-08-23: Version 5.4.502 + + Performance and stability improvements on all platforms. + + +2016-08-23: Version 5.4.501 + + Performance and stability improvements on all platforms. + + 2016-08-23: Version 5.4.500 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 6cac01d5974c44..058cd8bea632e2 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -3,61 +3,62 @@ # all paths in here must match this assumption. vars = { - "git_url": "https://chromium.googlesource.com", + "chromium_url": "https://chromium.googlesource.com", } deps = { "v8/build": - Var("git_url") + "/chromium/src/build.git" + "@" + "59daf502c36f20b5c9292f4bd9af85791f8a5884", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "475d5b37ded6589c9f8a0d19ced54ddf2e6d14a0", "v8/tools/gyp": - Var("git_url") + "/external/gyp.git" + "@" + "702ac58e477214c635d9b541932e75a95d349352", + Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563", "v8/third_party/icu": - Var("git_url") + "/chromium/deps/icu.git" + "@" + "2341038bf72869a5683a893a2b319a48ffec7f62", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "b0bd3ee50bc2e768d7a17cbc60d87f517f024dbe", "v8/third_party/instrumented_libraries": - Var("git_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "f15768d7fdf68c0748d20738184120c8ab2e6db7", + Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "45f5814b1543e41ea0be54c771e3840ea52cca4a", "v8/buildtools": - Var("git_url") + "/chromium/buildtools.git" + "@" + "adb8bf4e8fc92aa1717bf151b862d58e6f27c4f2", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "5fd66957f08bb752dca714a591c84587c9d70762", "v8/base/trace_event/common": - Var("git_url") + "/chromium/src/base/trace_event/common.git" + "@" + "315bf1e2d45be7d53346c31cfcc37424a32c30c8", + Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "e0fa02a02f61430dae2bddfd89a334ea4389f495", "v8/third_party/WebKit/Source/platform/inspector_protocol": - Var("git_url") + "/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git" + "@" + "547960151fb364dd9a382fa79ffc9abfb184e3d1", + Var("chromium_url") + "/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git" + "@" + "3280c57c4c575ce82ccd13e4a403492fb4ca624b", "v8/third_party/jinja2": - Var("git_url") + "/chromium/src/third_party/jinja2.git" + "@" + "2222b31554f03e62600cd7e383376a7c187967a1", + Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "b61a2c009a579593a259c1b300e0ad02bf48fd78", "v8/third_party/markupsafe": - Var("git_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "484a5661041cac13bfc688a26ec5434b05d18961", - "v8/tools/mb": - Var('git_url') + '/chromium/src/tools/mb.git' + '@' + "99788b8b516c44d7db25cfb68695bc234fdee5ed", + Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "484a5661041cac13bfc688a26ec5434b05d18961", "v8/tools/swarming_client": - Var('git_url') + '/external/swarming.client.git' + '@' + "e4288c3040a32f2e7ad92f957668f2ee3d36e5a6", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "380e32662312eb107f06fcba6409b0409f8fef72", "v8/testing/gtest": - Var("git_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", + Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": - Var("git_url") + "/external/googlemock.git" + "@" + "0421b6f358139f02e102c9c332ce19a33faf75be", + Var("chromium_url") + "/external/googlemock.git" + "@" + "0421b6f358139f02e102c9c332ce19a33faf75be", "v8/test/benchmarks/data": - Var("git_url") + "/v8/deps/third_party/benchmarks.git" + "@" + "05d7188267b4560491ff9155c5ee13e207ecd65f", + Var("chromium_url") + "/v8/deps/third_party/benchmarks.git" + "@" + "05d7188267b4560491ff9155c5ee13e207ecd65f", "v8/test/mozilla/data": - Var("git_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", - "v8/test/simdjs/data": Var("git_url") + "/external/github.com/tc39/ecmascript_simd.git" + "@" + "baf493985cb9ea7cdbd0d68704860a8156de9556", + Var("chromium_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", + "v8/test/simdjs/data": Var("chromium_url") + "/external/github.com/tc39/ecmascript_simd.git" + "@" + "baf493985cb9ea7cdbd0d68704860a8156de9556", "v8/test/test262/data": - Var("git_url") + "/external/github.com/tc39/test262.git" + "@" + "88bc7fe7586f161201c5f14f55c9c489f82b1b67", + Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "29c23844494a7cc2fbebc6948d2cb0bcaddb24e7", "v8/test/test262/harness": - Var("git_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "cbd968f54f7a95c6556d53ba852292a4c49d11d8", + Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "cbd968f54f7a95c6556d53ba852292a4c49d11d8", "v8/tools/clang": - Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "3afb04a8153e40ff00f9eaa14337851c3ab4a368", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "1f92f999fc374a479e98a189ebdfe25c09484486", } deps_os = { "android": { "v8/third_party/android_tools": - Var("git_url") + "/android_tools.git" + "@" + "af1c5a4cd6329ccdcf8c2bc93d9eea02f9d74869", + Var("chromium_url") + "/android_tools.git" + "@" + "25d57ead05d3dfef26e9c19b13ed10b0a69829cf", }, "win": { "v8/third_party/cygwin": - Var("git_url") + "/chromium/deps/cygwin.git" + "@" + "c89e446b273697fadf3a10ff1007a97c0b7de6df", + Var("chromium_url") + "/chromium/deps/cygwin.git" + "@" + "c89e446b273697fadf3a10ff1007a97c0b7de6df", } } -recursedeps = [ 'v8/third_party/android_tools' ] +recursedeps = [ + "v8/buildtools", + "v8/third_party/android_tools", +] include_rules = [ # Everybody can use some things. @@ -203,6 +204,39 @@ hooks = [ "-s", "v8/buildtools/linux64/gn.sha1", ], }, + { + "name": "wasm_fuzzer", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--no_auth", + "-u", + "--bucket", "v8-wasm-fuzzer", + "-s", "v8/test/fuzzer/wasm.tar.gz.sha1", + ], + }, + { + "name": "wasm_asmjs_fuzzer", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--no_auth", + "-u", + "--bucket", "v8-wasm-asmjs-fuzzer", + "-s", "v8/test/fuzzer/wasm_asmjs.tar.gz.sha1", + ], + }, + { + "name": "closure_compiler", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--no_auth", + "-u", + "--bucket", "chromium-v8-closure-compiler", + "-s", "v8/src/inspector/build/closure-compiler.tar.gz.sha1", + ], + }, { # Downloads the current stable linux sysroot to build/linux/ if needed. # This sysroot updates at about the same rate that the chrome build deps @@ -259,6 +293,6 @@ hooks = [ { # A change to a .gyp, .gypi, or to GYP itself should run the generator. "pattern": ".", - "action": ["python", "v8/gypfiles/gyp_v8"], + "action": ["python", "v8/gypfiles/gyp_v8", "--running-as-hook"], }, ] diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index 26701eef59b1b3..028f4ff12c5c89 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -22,7 +22,6 @@ mtrofin@chromium.org mvstanton@chromium.org mythria@chromium.org neis@chromium.org -oth@chromium.org rmcilroy@chromium.org rossberg@chromium.org titzer@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 5255ca11fa257b..78e7482efbab5d 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -216,6 +216,38 @@ 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 = [] @@ -231,6 +263,7 @@ def _CommonChecks(input_api, output_api): _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) results.extend( _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api)) + results.extend(_CheckMissingFiles(input_api, output_api)) return results diff --git a/deps/v8/base/trace_event/common/trace_event_common.h b/deps/v8/base/trace_event/common/trace_event_common.h index 0c16e7b72382d3..0db92692a0fe2a 100644 --- a/deps/v8/base/trace_event/common/trace_event_common.h +++ b/deps/v8/base/trace_event/common/trace_event_common.h @@ -297,8 +297,8 @@ #define TRACE_EVENT_INSTANT_WITH_TIMESTAMP0(category_group, name, scope, \ timestamp) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ - TRACE_EVENT_PHASE_INSTANT, category_group, name, 0, 0, timestamp, \ + INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ + TRACE_EVENT_PHASE_INSTANT, category_group, name, timestamp, \ TRACE_EVENT_FLAG_NONE | scope) // Syntactic sugars for the sampling tracing in the main thread. @@ -308,8 +308,8 @@ TRACE_EVENT_GET_SAMPLING_STATE_FOR_BUCKET(0) #define TRACE_EVENT_SET_SAMPLING_STATE(category, name) \ TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(0, category, name) -#define TRACE_EVENT_SET_NONCONST_SAMPLING_STATE(categoryAndName) \ - TRACE_EVENT_SET_NONCONST_SAMPLING_STATE_FOR_BUCKET(0, categoryAndName) +#define TRACE_EVENT_SET_NONCONST_SAMPLING_STATE(category_and_name) \ + TRACE_EVENT_SET_NONCONST_SAMPLING_STATE_FOR_BUCKET(0, category_and_name) // Records a single BEGIN event called "name" immediately, with 0, 1 or 2 // associated arguments. If the category is not enabled, then this @@ -395,10 +395,15 @@ TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, \ arg2_name, arg2_val) +#define TRACE_EVENT_MARK_WITH_TIMESTAMP0(category_group, name, timestamp) \ + INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ + TRACE_EVENT_PHASE_MARK, category_group, name, timestamp, \ + TRACE_EVENT_FLAG_NONE) + #define TRACE_EVENT_MARK_WITH_TIMESTAMP1(category_group, name, timestamp, \ arg1_name, arg1_val) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ - TRACE_EVENT_PHASE_MARK, category_group, name, 0, 0, timestamp, \ + INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ + TRACE_EVENT_PHASE_MARK, category_group, name, timestamp, \ TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) #define TRACE_EVENT_COPY_MARK(category_group, name) \ @@ -406,8 +411,8 @@ TRACE_EVENT_FLAG_COPY) #define TRACE_EVENT_COPY_MARK_WITH_TIMESTAMP(category_group, name, timestamp) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ - TRACE_EVENT_PHASE_MARK, category_group, name, 0, 0, timestamp, \ + INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ + TRACE_EVENT_PHASE_MARK, category_group, name, timestamp, \ TRACE_EVENT_FLAG_COPY) // Similar to TRACE_EVENT_ENDx but with a custom |at| timestamp provided. @@ -544,6 +549,12 @@ TRACE_EVENT_PHASE_SAMPLE, category_group, name, 0, thread_id, timestamp, \ TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val) +#define TRACE_EVENT_SAMPLE_WITH_ID1(category_group, name, id, arg1_name, \ + arg1_val) \ + INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_SAMPLE, category_group, \ + name, id, TRACE_EVENT_FLAG_NONE, arg1_name, \ + arg1_val) + // ASYNC_STEP_* APIs should be only used by legacy code. New code should // consider using NESTABLE_ASYNC_* APIs to describe substeps within an async // event. @@ -774,16 +785,19 @@ TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val) // Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately, -// with one associated argument. If the category is not enabled, then this -// does nothing. +// with none, one or two associated argument. If the category is not enabled, +// then this does nothing. +#define TRACE_EVENT_NESTABLE_ASYNC_INSTANT0(category_group, name, id) \ + INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT, \ + category_group, name, id, \ + TRACE_EVENT_FLAG_NONE) + #define TRACE_EVENT_NESTABLE_ASYNC_INSTANT1(category_group, name, id, \ arg1_name, arg1_val) \ INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT, \ category_group, name, id, \ TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) -// Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately, -// with 2 associated arguments. If the category is not enabled, then this -// does nothing. + #define TRACE_EVENT_NESTABLE_ASYNC_INSTANT2( \ category_group, name, id, arg1_name, arg1_val, arg2_name, arg2_val) \ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ @@ -828,15 +842,6 @@ TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id, \ TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_COPY) -// Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately, -// with 2 associated arguments. If the category is not enabled, then this -// does nothing. -#define TRACE_EVENT_NESTABLE_ASYNC_INSTANT2( \ - category_group, name, id, arg1_name, arg1_val, arg2_name, arg2_val) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ - TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT, category_group, name, id, \ - TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val) - // Records a single FLOW_BEGIN event called "name" immediately, with 0, 1 or 2 // associated arguments. If the category is not enabled, then this // does nothing. @@ -958,48 +963,47 @@ #define TRACE_EVENT_CLOCK_SYNC_ISSUER(sync_id, issue_ts, issue_end_ts) \ INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ TRACE_EVENT_PHASE_CLOCK_SYNC, "__metadata", "clock_sync", \ - issue_end_ts.ToInternalValue(), TRACE_EVENT_FLAG_NONE, \ - "sync_id", sync_id, "issue_ts", issue_ts.ToInternalValue()) + issue_end_ts, TRACE_EVENT_FLAG_NONE, \ + "sync_id", sync_id, "issue_ts", issue_ts) // Macros to track the life time and value of arbitrary client objects. // See also TraceTrackableObject. #define TRACE_EVENT_OBJECT_CREATED_WITH_ID(category_group, name, id) \ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ - TRACE_EVENT_PHASE_CREATE_OBJECT, category_group, name, \ - TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) + TRACE_EVENT_PHASE_CREATE_OBJECT, category_group, name, id, \ + TRACE_EVENT_FLAG_NONE) #define TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(category_group, name, id, \ snapshot) \ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ TRACE_EVENT_PHASE_SNAPSHOT_OBJECT, category_group, name, \ - TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE, "snapshot", snapshot) + id, TRACE_EVENT_FLAG_NONE, "snapshot", snapshot) -#define TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID_AND_TIMESTAMP( \ - category_group, name, id, timestamp, snapshot) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ - TRACE_EVENT_PHASE_SNAPSHOT_OBJECT, category_group, name, \ - TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, \ - TRACE_EVENT_FLAG_NONE, "snapshot", snapshot) +#define TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID_AND_TIMESTAMP( \ + category_group, name, id, timestamp, snapshot) \ + INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ + TRACE_EVENT_PHASE_SNAPSHOT_OBJECT, category_group, name, \ + id, TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \ + "snapshot", snapshot) #define TRACE_EVENT_OBJECT_DELETED_WITH_ID(category_group, name, id) \ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ - TRACE_EVENT_PHASE_DELETE_OBJECT, category_group, name, \ - TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) + TRACE_EVENT_PHASE_DELETE_OBJECT, category_group, name, id, \ + TRACE_EVENT_FLAG_NONE) // Records entering and leaving trace event contexts. |category_group| and // |name| specify the context category and type. |context| is a // snapshotted context object id. -#define TRACE_EVENT_ENTER_CONTEXT(category_group, name, context) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ - TRACE_EVENT_PHASE_ENTER_CONTEXT, category_group, name, \ - TRACE_ID_DONT_MANGLE(context), TRACE_EVENT_FLAG_NONE) -#define TRACE_EVENT_LEAVE_CONTEXT(category_group, name, context) \ - INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ - TRACE_EVENT_PHASE_LEAVE_CONTEXT, category_group, name, \ - TRACE_ID_DONT_MANGLE(context), TRACE_EVENT_FLAG_NONE) +#define TRACE_EVENT_ENTER_CONTEXT(category_group, name, context) \ + INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ + TRACE_EVENT_PHASE_ENTER_CONTEXT, category_group, name, context, \ + TRACE_EVENT_FLAG_NONE) +#define TRACE_EVENT_LEAVE_CONTEXT(category_group, name, context) \ + INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ + TRACE_EVENT_PHASE_LEAVE_CONTEXT, category_group, name, context, \ + TRACE_EVENT_FLAG_NONE) #define TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) \ - INTERNAL_TRACE_EVENT_SCOPED_CONTEXT(category_group, name, \ - TRACE_ID_DONT_MANGLE(context)) + INTERNAL_TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) // Macro to specify that two trace IDs are identical. For example, // TRACE_BIND_IDS( @@ -1083,6 +1087,7 @@ #define TRACE_EVENT_FLAG_NONE (static_cast(0)) #define TRACE_EVENT_FLAG_COPY (static_cast(1 << 0)) #define TRACE_EVENT_FLAG_HAS_ID (static_cast(1 << 1)) +// TODO(crbug.com/639003): Free this bit after ID mangling is deprecated. #define TRACE_EVENT_FLAG_MANGLE_ID (static_cast(1 << 2)) #define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast(1 << 3)) #define TRACE_EVENT_FLAG_SCOPE_EXTRA (static_cast(1 << 4)) @@ -1093,6 +1098,8 @@ #define TRACE_EVENT_FLAG_FLOW_OUT (static_cast(1 << 9)) #define TRACE_EVENT_FLAG_HAS_CONTEXT_ID (static_cast(1 << 10)) #define TRACE_EVENT_FLAG_HAS_PROCESS_ID (static_cast(1 << 11)) +#define TRACE_EVENT_FLAG_HAS_LOCAL_ID (static_cast(1 << 12)) +#define TRACE_EVENT_FLAG_HAS_GLOBAL_ID (static_cast(1 << 13)) #define TRACE_EVENT_FLAG_SCOPE_MASK \ (static_cast(TRACE_EVENT_FLAG_SCOPE_OFFSET | \ diff --git a/deps/v8/build_overrides/build.gni b/deps/v8/build_overrides/build.gni index da6d3e0ded6e6e..6b8a4ff21921a1 100644 --- a/deps/v8/build_overrides/build.gni +++ b/deps/v8/build_overrides/build.gni @@ -16,3 +16,11 @@ build_with_chromium = false # Some non-Chromium builds don't support building java targets. enable_java_templates = false + +# Some non-Chromium builds don't use Chromium's third_party/binutils. +linux_use_bundled_binutils_override = true + +# Allows different projects to specify their own suppressions files. +asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" +lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc" +tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc" diff --git a/deps/v8/build_overrides/v8.gni b/deps/v8/build_overrides/v8.gni index fc4a70e579b78d..09ea4570b02032 100644 --- a/deps/v8/build_overrides/v8.gni +++ b/deps/v8/build_overrides/v8.gni @@ -11,10 +11,8 @@ if (is_android) { import("//build/config/android/config.gni") } -if (((v8_current_cpu == "x86" || - v8_current_cpu == "x64" || - v8_current_cpu=="x87") && - (is_linux || is_mac)) || +if (((v8_current_cpu == "x86" || v8_current_cpu == "x64" || + v8_current_cpu == "x87") && (is_linux || is_mac)) || (v8_current_cpu == "ppc64" && is_linux)) { v8_enable_gdbjit_default = true } @@ -23,4 +21,12 @@ v8_imminent_deprecation_warnings_default = true # Add simple extras solely for the purpose of the cctests. v8_extra_library_files = [ "//test/cctest/test-extra.js" ] -v8_experimental_extra_library_files = [ "//test/cctest/test-experimental-extra.js" ] +v8_experimental_extra_library_files = + [ "//test/cctest/test-experimental-extra.js" ] + +declare_args() { + # Enable inspector. See include/v8-inspector.h. + v8_enable_inspector = false +} + +v8_enable_inspector_override = v8_enable_inspector diff --git a/deps/v8/gypfiles/config/win/msvs_dependencies.isolate b/deps/v8/gypfiles/config/win/msvs_dependencies.isolate deleted file mode 100644 index ff922273634a9f..00000000000000 --- a/deps/v8/gypfiles/config/win/msvs_dependencies.isolate +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2015 the V8 project authors. All rights reserved. -# Copyright 2015 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. -{ - 'conditions': [ - # Copy the VS runtime DLLs into the isolate so that they - # don't have to be preinstalled on the target machine. - # - # VS2013 runtimes - ['OS=="win" and msvs_version==2013 and component=="shared_library" and CONFIGURATION_NAME=="Debug"', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/x64/msvcp120d.dll', - '<(PRODUCT_DIR)/x64/msvcr120d.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2013 and component=="shared_library" and CONFIGURATION_NAME=="Release"', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/x64/msvcp120.dll', - '<(PRODUCT_DIR)/x64/msvcr120.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp120d.dll', - '<(PRODUCT_DIR)/msvcr120d.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp120.dll', - '<(PRODUCT_DIR)/msvcr120.dll', - ], - }, - }], - # VS2015 runtimes - ['OS=="win" and msvs_version==2015 and component=="shared_library" and CONFIGURATION_NAME=="Debug"', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/x64/msvcp140d.dll', - '<(PRODUCT_DIR)/x64/vccorlib140d.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2015 and component=="shared_library" and CONFIGURATION_NAME=="Release"', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/x64/msvcp140.dll', - '<(PRODUCT_DIR)/x64/vccorlib140.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2015 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp140d.dll', - '<(PRODUCT_DIR)/vccorlib140d.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2015 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp140.dll', - '<(PRODUCT_DIR)/vccorlib140.dll', - ], - }, - }], - ], -} \ No newline at end of file diff --git a/deps/v8/gypfiles/get_landmines.py b/deps/v8/gypfiles/get_landmines.py index 9fcca4b968a888..432dfd7ae5d8a8 100755 --- a/deps/v8/gypfiles/get_landmines.py +++ b/deps/v8/gypfiles/get_landmines.py @@ -28,6 +28,8 @@ def main(): print 'Clobbering to hopefully resolve problem with mksnapshot' print 'Clobber after ICU roll.' print 'Clobber after Android NDK update.' + print 'Clober to fix windows build problems.' + print 'Clober again to fix windows build problems.' return 0 diff --git a/deps/v8/gypfiles/gyp_v8 b/deps/v8/gypfiles/gyp_v8 index 8be39d961536f1..b8b5f742b1e27d 100755 --- a/deps/v8/gypfiles/gyp_v8 +++ b/deps/v8/gypfiles/gyp_v8 @@ -118,10 +118,22 @@ def run_gyp(args): if __name__ == '__main__': args = sys.argv[1:] - if int(os.environ.get('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) + gyp_environment.set_environment() # This could give false positives since it doesn't actually do real option diff --git a/deps/v8/gypfiles/standalone.gypi b/deps/v8/gypfiles/standalone.gypi index 6599bb83512173..7e41ce84aef96d 100644 --- a/deps/v8/gypfiles/standalone.gypi +++ b/deps/v8/gypfiles/standalone.gypi @@ -46,6 +46,7 @@ 'msvs_multi_core_compile%': '1', 'mac_deployment_target%': '10.7', 'release_extra_cflags%': '', + 'v8_enable_inspector%': 0, 'variables': { 'variables': { 'variables': { @@ -319,7 +320,7 @@ 'android_ndk_root%': '<(base_dir)/third_party/android_tools/ndk/', 'android_host_arch%': " #include +#include #include +#include "v8-platform.h" // NOLINT(build/include) + namespace v8 { + +namespace base { +class Mutex; +} // namespace base + namespace platform { namespace tracing { @@ -217,7 +225,8 @@ class TracingController { ENABLED_FOR_ETW_EXPORT = 1 << 3 }; - TracingController() {} + TracingController(); + ~TracingController(); void Initialize(TraceBuffer* trace_buffer); const uint8_t* GetCategoryGroupEnabled(const char* category_group); static const char* GetCategoryGroupName(const uint8_t* category_enabled_flag); @@ -232,6 +241,9 @@ class TracingController { void StartTracing(TraceConfig* trace_config); void StopTracing(); + void AddTraceStateObserver(Platform::TraceStateObserver* observer); + void RemoveTraceStateObserver(Platform::TraceStateObserver* observer); + private: const uint8_t* GetCategoryGroupEnabledInternal(const char* category_group); void UpdateCategoryGroupEnabledFlag(size_t category_index); @@ -239,6 +251,8 @@ class TracingController { std::unique_ptr trace_buffer_; std::unique_ptr trace_config_; + std::unique_ptr mutex_; + std::unordered_set observers_; Mode mode_ = DISABLED; // Disallow copy and assign diff --git a/deps/v8/include/v8-inspector-protocol.h b/deps/v8/include/v8-inspector-protocol.h new file mode 100644 index 00000000000000..612a2ebc3911f5 --- /dev/null +++ b/deps/v8/include/v8-inspector-protocol.h @@ -0,0 +1,13 @@ +// 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. + +#ifndef V8_V8_INSPECTOR_PROTOCOL_H_ +#define V8_V8_INSPECTOR_PROTOCOL_H_ + +#include "inspector/Debugger.h" // NOLINT(build/include) +#include "inspector/Runtime.h" // NOLINT(build/include) +#include "inspector/Schema.h" // NOLINT(build/include) +#include "v8-inspector.h" // NOLINT(build/include) + +#endif // V8_V8_INSPECTOR_PROTOCOL_H_ diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h new file mode 100644 index 00000000000000..0855ac101b74ef --- /dev/null +++ b/deps/v8/include/v8-inspector.h @@ -0,0 +1,267 @@ +// 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. + +#ifndef V8_V8_INSPECTOR_H_ +#define V8_V8_INSPECTOR_H_ + +#include +#include + +#include + +#include "v8.h" // NOLINT(build/include) + +namespace v8_inspector { + +namespace protocol { +namespace Debugger { +namespace API { +class SearchMatch; +} +} +namespace Runtime { +namespace API { +class RemoteObject; +class StackTrace; +} +} +namespace Schema { +namespace API { +class Domain; +} +} +} // namespace protocol + +class V8_EXPORT StringView { + public: + StringView() : m_is8Bit(true), m_length(0), m_characters8(nullptr) {} + + StringView(const uint8_t* characters, size_t length) + : m_is8Bit(true), m_length(length), m_characters8(characters) {} + + StringView(const uint16_t* characters, size_t length) + : m_is8Bit(false), m_length(length), m_characters16(characters) {} + + bool is8Bit() const { return m_is8Bit; } + size_t length() const { return m_length; } + + // TODO(dgozman): add DCHECK(m_is8Bit) to accessors once platform can be used + // here. + const uint8_t* characters8() const { return m_characters8; } + const uint16_t* characters16() const { return m_characters16; } + + private: + bool m_is8Bit; + size_t m_length; + union { + const uint8_t* m_characters8; + const uint16_t* m_characters16; + }; +}; + +class V8_EXPORT StringBuffer { + public: + virtual ~StringBuffer() {} + virtual const StringView& string() = 0; + // This method copies contents. + static std::unique_ptr create(const StringView&); +}; + +class V8_EXPORT V8ContextInfo { + public: + V8ContextInfo(v8::Local context, int contextGroupId, + const StringView& humanReadableName) + : context(context), + contextGroupId(contextGroupId), + humanReadableName(humanReadableName), + hasMemoryOnConsole(false) {} + + v8::Local context; + // Each v8::Context is a part of a group. The group id must be non-zero. + int contextGroupId; + StringView humanReadableName; + StringView origin; + StringView auxData; + bool hasMemoryOnConsole; + + private: + // Disallow copying and allocating this one. + enum NotNullTagEnum { NotNullLiteral }; + void* operator new(size_t) = delete; + void* operator new(size_t, NotNullTagEnum, void*) = delete; + void* operator new(size_t, void*) = delete; + V8ContextInfo(const V8ContextInfo&) = delete; + V8ContextInfo& operator=(const V8ContextInfo&) = delete; +}; + +class V8_EXPORT V8StackTrace { + public: + virtual bool isEmpty() const = 0; + virtual StringView topSourceURL() const = 0; + virtual int topLineNumber() const = 0; + virtual int topColumnNumber() const = 0; + virtual StringView topScriptId() const = 0; + virtual StringView topFunctionName() const = 0; + + virtual ~V8StackTrace() {} + virtual std::unique_ptr + buildInspectorObject() const = 0; + virtual std::unique_ptr toString() const = 0; + + // Safe to pass between threads, drops async chain. + virtual std::unique_ptr clone() = 0; +}; + +class V8_EXPORT V8InspectorSession { + public: + virtual ~V8InspectorSession() {} + + // Cross-context inspectable values (DOM nodes in different worlds, etc.). + class V8_EXPORT Inspectable { + public: + virtual v8::Local get(v8::Local) = 0; + virtual ~Inspectable() {} + }; + virtual void addInspectedObject(std::unique_ptr) = 0; + + // Dispatching protocol messages. + static bool canDispatchMethod(const StringView& method); + virtual void dispatchProtocolMessage(const StringView& message) = 0; + virtual std::unique_ptr stateJSON() = 0; + virtual std::vector> + supportedDomains() = 0; + + // Debugger actions. + virtual void schedulePauseOnNextStatement(const StringView& breakReason, + const StringView& breakDetails) = 0; + virtual void cancelPauseOnNextStatement() = 0; + virtual void breakProgram(const StringView& breakReason, + const StringView& breakDetails) = 0; + virtual void setSkipAllPauses(bool) = 0; + virtual void resume() = 0; + virtual void stepOver() = 0; + virtual std::vector> + searchInTextByLines(const StringView& text, const StringView& query, + bool caseSensitive, bool isRegex) = 0; + + // Remote objects. + virtual std::unique_ptr wrapObject( + v8::Local, v8::Local, + const StringView& groupName) = 0; + virtual bool unwrapObject(std::unique_ptr* error, + const StringView& objectId, v8::Local*, + v8::Local*, + std::unique_ptr* objectGroup) = 0; + virtual void releaseObjectGroup(const StringView&) = 0; +}; + +enum class V8ConsoleAPIType { kClear, kDebug, kLog, kInfo, kWarning, kError }; + +class V8_EXPORT V8InspectorClient { + public: + virtual ~V8InspectorClient() {} + + virtual void runMessageLoopOnPause(int contextGroupId) {} + virtual void quitMessageLoopOnPause() {} + virtual void runIfWaitingForDebugger(int contextGroupId) {} + + virtual void muteMetrics(int contextGroupId) {} + virtual void unmuteMetrics(int contextGroupId) {} + + virtual void beginUserGesture() {} + virtual void endUserGesture() {} + + virtual std::unique_ptr valueSubtype(v8::Local) { + return nullptr; + } + virtual bool formatAccessorsAsProperties(v8::Local) { + return false; + } + virtual bool isInspectableHeapObject(v8::Local) { return true; } + + virtual v8::Local ensureDefaultContextInGroup( + int contextGroupId) { + return v8::Local(); + } + virtual void beginEnsureAllContextsInGroup(int contextGroupId) {} + virtual void endEnsureAllContextsInGroup(int contextGroupId) {} + + virtual void installAdditionalCommandLineAPI(v8::Local, + v8::Local) {} + virtual void consoleAPIMessage(int contextGroupId, V8ConsoleAPIType, + const StringView& message, + const StringView& url, unsigned lineNumber, + unsigned columnNumber, V8StackTrace*) {} + virtual v8::MaybeLocal memoryInfo(v8::Isolate*, + v8::Local) { + return v8::MaybeLocal(); + } + + virtual void consoleTime(const StringView& title) {} + virtual void consoleTimeEnd(const StringView& title) {} + virtual void consoleTimeStamp(const StringView& title) {} + virtual double currentTimeMS() { return 0; } + typedef void (*TimerCallback)(void*); + virtual void startRepeatingTimer(double, TimerCallback, void* data) {} + virtual void cancelTimer(void* data) {} + + // TODO(dgozman): this was added to support service worker shadow page. We + // should not connect at all. + virtual bool canExecuteScripts(int contextGroupId) { return true; } +}; + +class V8_EXPORT V8Inspector { + public: + static std::unique_ptr create(v8::Isolate*, V8InspectorClient*); + virtual ~V8Inspector() {} + + // Contexts instrumentation. + virtual void contextCreated(const V8ContextInfo&) = 0; + virtual void contextDestroyed(v8::Local) = 0; + virtual void resetContextGroup(int contextGroupId) = 0; + + // Various instrumentation. + virtual void willExecuteScript(v8::Local, int scriptId) = 0; + virtual void didExecuteScript(v8::Local) = 0; + virtual void idleStarted() = 0; + virtual void idleFinished() = 0; + + // Async stack traces instrumentation. + virtual void asyncTaskScheduled(const StringView& taskName, void* task, + bool recurring) = 0; + virtual void asyncTaskCanceled(void* task) = 0; + virtual void asyncTaskStarted(void* task) = 0; + virtual void asyncTaskFinished(void* task) = 0; + virtual void allAsyncTasksCanceled() = 0; + + // Exceptions instrumentation. + virtual unsigned exceptionThrown( + v8::Local, const StringView& message, + v8::Local exception, const StringView& detailedMessage, + const StringView& url, unsigned lineNumber, unsigned columnNumber, + std::unique_ptr, int scriptId) = 0; + virtual void exceptionRevoked(v8::Local, unsigned exceptionId, + const StringView& message) = 0; + + // Connection. + class V8_EXPORT Channel { + public: + virtual ~Channel() {} + virtual void sendProtocolResponse(int callId, + const StringView& message) = 0; + virtual void sendProtocolNotification(const StringView& message) = 0; + virtual void flushProtocolNotifications() = 0; + }; + virtual std::unique_ptr connect( + int contextGroupId, Channel*, const StringView& state) = 0; + + // API methods. + virtual std::unique_ptr createStackTrace( + v8::Local) = 0; + virtual std::unique_ptr captureStackTrace(bool fullStack) = 0; +}; + +} // namespace v8_inspector + +#endif // V8_V8_INSPECTOR_H_ diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 4023a5b234fd4b..d0b7aed8fc5a33 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -164,6 +164,19 @@ class Platform { **/ virtual void UpdateTraceEventDuration(const uint8_t* category_enabled_flag, const char* name, uint64_t handle) {} + + class TraceStateObserver { + public: + virtual ~TraceStateObserver() = default; + virtual void OnTraceEnabled() = 0; + virtual void OnTraceDisabled() = 0; + }; + + /** Adds tracing state change observer. */ + virtual void AddTraceStateObserver(TraceStateObserver*) {} + + /** Removes tracing state change observer. */ + virtual void RemoveTraceStateObserver(TraceStateObserver*) {} }; } // namespace v8 diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index bcb69f3763e1b7..6ee0340f3c3d7c 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -46,6 +46,20 @@ template class V8_EXPORT std::vector; namespace v8 { +/** + * TracingCpuProfiler monitors tracing being enabled/disabled + * and emits CpuProfile trace events once v8.cpu_profile2 tracing category + * is enabled. It has no overhead unless the category is enabled. + */ +class V8_EXPORT TracingCpuProfiler { + public: + static std::unique_ptr Create(Isolate*); + virtual ~TracingCpuProfiler() = default; + + protected: + TracingCpuProfiler() = default; +}; + // TickSample captures the information collected for each sample. struct TickSample { // Internal profiling (with --prof + tools/$OS-tick-processor) wants to @@ -131,12 +145,26 @@ class V8_EXPORT CpuProfileNode { /** Returns function name (empty string for anonymous functions.) */ Local GetFunctionName() const; + /** + * Returns function name (empty string for anonymous functions.) + * The string ownership is *not* passed to the caller. It stays valid until + * profile is deleted. The function is thread safe. + */ + const char* GetFunctionNameStr() const; + /** Returns id of the script where function is located. */ int GetScriptId() const; /** Returns resource name for script from where the function originates. */ Local GetScriptResourceName() const; + /** + * Returns resource name for script from where the function originates. + * The string ownership is *not* passed to the caller. It stays valid until + * profile is deleted. The function is thread safe. + */ + const char* GetScriptResourceNameStr() const; + /** * Returns the number, 1-based, of the line where the function originates. * kNoLineNumberInfo if no line number information is available. diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 8133fdd49dcf4f..99c59fe302963d 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -206,14 +206,19 @@ class PersistentValueMapBase { } /** - * Call V8::RegisterExternallyReferencedObject with the map value for given - * key. + * Deprecated. Call V8::RegisterExternallyReferencedObject with the map value + * for given key. + * TODO(hlopko) Remove once migration to reporter is finished. */ - void RegisterExternallyReferencedObject(K& key) { + void RegisterExternallyReferencedObject(K& key) {} + + /** + * Use EmbedderReachableReferenceReporter with the map value for given key. + */ + void RegisterExternallyReferencedObject( + EmbedderReachableReferenceReporter* reporter, K& key) { DCHECK(Contains(key)); - V8::RegisterExternallyReferencedObject( - reinterpret_cast(FromVal(Traits::Get(&impl_, key))), - reinterpret_cast(GetIsolate())); + reporter->ReportExternalReference(FromVal(Traits::Get(&impl_, key))); } /** diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index bb16d9543b8564..b216cf04c30a00 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 5 -#define V8_MINOR_VERSION 4 -#define V8_BUILD_NUMBER 500 -#define V8_PATCH_LEVEL 48 +#define V8_MINOR_VERSION 5 +#define V8_BUILD_NUMBER 372 +#define V8_PATCH_LEVEL 40 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index d7e39adbaee349..8189c7cf3bf345 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -51,7 +51,7 @@ #else // V8_OS_WIN // Setup for Linux shared library export. -#if V8_HAS_ATTRIBUTE_VISIBILITY && defined(V8_SHARED) +#if V8_HAS_ATTRIBUTE_VISIBILITY # ifdef BUILDING_V8_SHARED # define V8_EXPORT __attribute__ ((visibility("default"))) # else @@ -70,6 +70,7 @@ namespace v8 { class AccessorSignature; class Array; +class ArrayBuffer; class Boolean; class BooleanObject; class Context; @@ -95,6 +96,7 @@ class ObjectTemplate; class Platform; class Primitive; class Promise; +class PropertyDescriptor; class Proxy; class RawOperationDescriptor; class Script; @@ -341,7 +343,7 @@ class Local { #if !defined(V8_IMMINENT_DEPRECATION_WARNINGS) -// Local is an alias for Local for historical reasons. +// Handle is an alias for Local for historical reasons. template using Handle = Local; #endif @@ -465,6 +467,16 @@ class WeakCallbackInfo { // possible to request a second pass callback. enum class WeakCallbackType { kParameter, kInternalFields, kFinalizer }; +/** + * A reporter class that embedder will use to report reachable references found + * by EmbedderHeapTracer. + */ +class V8_EXPORT EmbedderReachableReferenceReporter { + public: + virtual void ReportExternalReference(Value* object) = 0; + virtual ~EmbedderReachableReferenceReporter() = default; +}; + /** * An object reference that is independent of any handle scope. Where * a Local handle only lives as long as the HandleScope in which it was @@ -561,12 +573,19 @@ template class PersistentBase { // TODO(dcarney): remove this. V8_INLINE void ClearWeak() { ClearWeak(); } + /** + * Deprecated. + * TODO(hlopko): remove once migration to reporter is finished. + */ + V8_INLINE void RegisterExternalReference(Isolate* isolate) const {} + /** * Allows the embedder to tell the v8 garbage collector that a certain object * is alive. Only allowed when the embedder is asked to trace its heap by * EmbedderHeapTracer. */ - V8_INLINE void RegisterExternalReference(Isolate* isolate) const; + V8_INLINE void RegisterExternalReference( + EmbedderReachableReferenceReporter* reporter) const; /** * Marks the reference to this object independent. Garbage collector is free @@ -615,6 +634,9 @@ template class PersistentBase { */ V8_INLINE uint16_t WrapperClassId() const; + PersistentBase(const PersistentBase& other) = delete; // NOLINT + void operator=(const PersistentBase&) = delete; + private: friend class Isolate; friend class Utils; @@ -630,8 +652,6 @@ template class PersistentBase { friend class Object; explicit V8_INLINE PersistentBase(T* val) : val_(val) {} - PersistentBase(const PersistentBase& other) = delete; // NOLINT - void operator=(const PersistentBase&) = delete; V8_INLINE static T* New(Isolate* isolate, T* that); T* val_; @@ -835,11 +855,12 @@ class Global : public PersistentBase { */ typedef void MoveOnlyTypeForCPP03; + Global(const Global&) = delete; + void operator=(const Global&) = delete; + private: template friend class ReturnValue; - Global(const Global&) = delete; - void operator=(const Global&) = delete; V8_INLINE T* operator*() const { return this->val_; } }; @@ -878,6 +899,11 @@ class V8_EXPORT HandleScope { return reinterpret_cast(isolate_); } + HandleScope(const HandleScope&) = delete; + void operator=(const HandleScope&) = delete; + void* operator new(size_t size) = delete; + void operator delete(void*, size_t) = delete; + protected: V8_INLINE HandleScope() {} @@ -891,13 +917,6 @@ class V8_EXPORT HandleScope { static internal::Object** CreateHandle(internal::HeapObject* heap_object, internal::Object* value); - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - HandleScope(const HandleScope&); - void operator=(const HandleScope&); - void* operator new(size_t size); - void operator delete(void*, size_t); - internal::Isolate* isolate_; internal::Object** prev_next_; internal::Object** prev_limit_; @@ -932,16 +951,13 @@ class V8_EXPORT EscapableHandleScope : public HandleScope { return Local(reinterpret_cast(slot)); } + EscapableHandleScope(const EscapableHandleScope&) = delete; + void operator=(const EscapableHandleScope&) = delete; + void* operator new(size_t size) = delete; + void operator delete(void*, size_t) = delete; + private: internal::Object** Escape(internal::Object** escape_value); - - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - EscapableHandleScope(const EscapableHandleScope&); - void operator=(const EscapableHandleScope&); - void* operator new(size_t size); - void operator delete(void*, size_t); - internal::Object** escape_slot_; }; @@ -950,14 +966,12 @@ class V8_EXPORT SealHandleScope { SealHandleScope(Isolate* isolate); ~SealHandleScope(); - private: - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - SealHandleScope(const SealHandleScope&); - void operator=(const SealHandleScope&); - void* operator new(size_t size); - void operator delete(void*, size_t); + SealHandleScope(const SealHandleScope&) = delete; + void operator=(const SealHandleScope&) = delete; + void* operator new(size_t size) = delete; + void operator delete(void*, size_t) = delete; + private: internal::Isolate* const isolate_; internal::Object** prev_limit_; int prev_sealed_level_; @@ -1073,6 +1087,47 @@ class V8_EXPORT UnboundScript { static const int kNoScriptId = 0; }; +/** + * This is an unfinished experimental feature, and is only exposed + * here for internal testing purposes. DO NOT USE. + * + * A compiled JavaScript module. + */ +class V8_EXPORT Module { + public: + /** + * Returns the number of modules requested by this module. + */ + int GetModuleRequestsLength() const; + + /** + * Returns the ith module specifier in this module. + * i must be < GetModuleRequestsLength() and >= 0. + */ + Local GetModuleRequest(int i) const; + + void SetEmbedderData(Local data); + Local GetEmbedderData() const; + + typedef MaybeLocal (*ResolveCallback)(Local context, + Local specifier, + Local referrer, + Local data); + + /** + * ModuleDeclarationInstantiation + * + * Returns false if an exception occurred during instantiation. + */ + V8_WARN_UNUSED_RESULT bool Instantiate( + Local context, ResolveCallback callback, + Local callback_data = Local()); + + /** + * ModuleEvaluation + */ + V8_WARN_UNUSED_RESULT MaybeLocal Evaluate(Local context); +}; /** * A compiled JavaScript script, tied to a Context which was active when the @@ -1148,10 +1203,9 @@ class V8_EXPORT ScriptCompiler { bool rejected; BufferPolicy buffer_policy; - private: - // Prevent copying. Not implemented. - CachedData(const CachedData&); - CachedData& operator=(const CachedData&); + // Prevent copying. + CachedData(const CachedData&) = delete; + CachedData& operator=(const CachedData&) = delete; }; /** @@ -1171,11 +1225,12 @@ class V8_EXPORT ScriptCompiler { // alive. V8_INLINE const CachedData* GetCachedData() const; + // Prevent copying. + Source(const Source&) = delete; + Source& operator=(const Source&) = delete; + private: friend class ScriptCompiler; - // Prevent copying. Not implemented. - Source(const Source&); - Source& operator=(const Source&); Local source_string; @@ -1258,11 +1313,11 @@ class V8_EXPORT ScriptCompiler { internal::StreamedSource* impl() const { return impl_; } - private: - // Prevent copying. Not implemented. - StreamedSource(const StreamedSource&); - StreamedSource& operator=(const StreamedSource&); + // Prevent copying. + StreamedSource(const StreamedSource&) = delete; + StreamedSource& operator=(const StreamedSource&) = delete; + private: internal::StreamedSource* impl_; }; @@ -1376,18 +1431,17 @@ class V8_EXPORT ScriptCompiler { static uint32_t CachedDataVersionTag(); /** - * Compile an ES6 module. - * * This is an unfinished experimental feature, and is only exposed - * here for internal testing purposes. - * Only parsing works at the moment. Do not use. + * here for internal testing purposes. DO NOT USE. + * + * Compile an ES module, returning a Module that encapsulates + * the compiled code. * - * TODO(adamk): Script is likely the wrong return value for this; - * should return some new Module type. + * Corresponds to the ParseModule abstract operation in the + * ECMAScript specification. */ - static V8_WARN_UNUSED_RESULT MaybeLocal