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