From bede7a3cfa884c67cbb5d804a1a4f130bea4ac38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 15 Jan 2018 10:17:34 +0100 Subject: [PATCH] deps: update V8 to 6.2.414.46 PR-URL: https://github.com/nodejs/node/pull/16413 --- deps/v8/.editorconfig | 9 + deps/v8/.gitignore | 1 + deps/v8/AUTHORS | 7 +- deps/v8/BUILD.gn | 159 +- deps/v8/ChangeLog | 2205 +++++++++++++ deps/v8/DEPS | 16 +- deps/v8/Makefile | 30 +- deps/v8/OWNERS | 2 + deps/v8/benchmarks/deltablue.js | 2 +- deps/v8/gni/isolate.gni | 2 - deps/v8/gni/v8.gni | 16 +- deps/v8/gypfiles/features.gypi | 10 + deps/v8/gypfiles/isolate.gypi | 1 - deps/v8/gypfiles/landmine_utils.py | 2 +- deps/v8/gypfiles/run-tests-legacy.py | 50 + deps/v8/gypfiles/standalone.gypi | 2 +- deps/v8/gypfiles/toolchain.gypi | 1 + deps/v8/include/v8-inspector.h | 2 - deps/v8/include/v8-platform.h | 95 +- deps/v8/include/v8-profiler.h | 7 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 274 +- deps/v8/infra/mb/mb_config.pyl | 45 +- deps/v8/samples/hello-world.cc | 2 +- deps/v8/samples/process.cc | 27 +- deps/v8/samples/shell.cc | 19 +- deps/v8/src/accessors.cc | 100 +- deps/v8/src/address-map.h | 25 +- deps/v8/src/allocation.cc | 72 +- deps/v8/src/allocation.h | 40 +- deps/v8/src/api-arguments-inl.h | 5 + deps/v8/src/api-natives.cc | 4 + deps/v8/src/api.cc | 390 +-- deps/v8/src/arm/assembler-arm-inl.h | 99 - deps/v8/src/arm/assembler-arm.cc | 31 +- deps/v8/src/arm/assembler-arm.h | 74 +- deps/v8/src/arm/code-stubs-arm.cc | 1163 +------ deps/v8/src/arm/code-stubs-arm.h | 5 - deps/v8/src/arm/codegen-arm.cc | 79 - deps/v8/src/arm/deoptimizer-arm.cc | 75 +- deps/v8/src/arm/disasm-arm.cc | 6 +- .../{frames-arm.cc => frame-constants-arm.cc} | 10 +- deps/v8/src/arm/frame-constants-arm.h | 48 + deps/v8/src/arm/frames-arm.h | 117 - deps/v8/src/arm/interface-descriptors-arm.cc | 94 +- deps/v8/src/arm/macro-assembler-arm.cc | 796 +---- deps/v8/src/arm/macro-assembler-arm.h | 328 +- deps/v8/src/arm/simulator-arm.cc | 7 +- deps/v8/src/arm/simulator-arm.h | 2 +- deps/v8/src/arm64/assembler-arm64-inl.h | 98 +- deps/v8/src/arm64/assembler-arm64.cc | 41 +- deps/v8/src/arm64/assembler-arm64.h | 49 +- deps/v8/src/arm64/code-stubs-arm64.cc | 1214 +------ deps/v8/src/arm64/code-stubs-arm64.h | 31 - deps/v8/src/arm64/codegen-arm64.cc | 71 - deps/v8/src/arm64/constants-arm64.h | 2 +- deps/v8/src/arm64/deoptimizer-arm64.cc | 78 +- deps/v8/src/arm64/disasm-arm64.cc | 57 +- ...ames-arm64.cc => frame-constants-arm64.cc} | 11 +- ...frames-arm64.h => frame-constants-arm64.h} | 26 +- .../src/arm64/interface-descriptors-arm64.cc | 101 +- deps/v8/src/arm64/macro-assembler-arm64-inl.h | 27 - deps/v8/src/arm64/macro-assembler-arm64.cc | 622 +--- deps/v8/src/arm64/macro-assembler-arm64.h | 161 +- deps/v8/src/asmjs/OWNERS | 1 + deps/v8/src/asmjs/asm-js.cc | 346 +- deps/v8/src/asmjs/asm-js.h | 7 +- deps/v8/src/asmjs/asm-parser.cc | 72 +- deps/v8/src/asmjs/asm-parser.h | 12 +- deps/v8/src/asmjs/asm-scanner.cc | 13 +- deps/v8/src/asmjs/asm-scanner.h | 8 +- deps/v8/src/asmjs/asm-types.cc | 45 - deps/v8/src/asmjs/asm-types.h | 108 +- deps/v8/src/assembler.cc | 254 +- deps/v8/src/assembler.h | 174 +- deps/v8/src/assert-scope.cc | 3 +- deps/v8/src/ast/ast-expression-rewriter.cc | 4 + deps/v8/src/ast/ast-numbering.cc | 150 +- deps/v8/src/ast/ast-source-ranges.h | 33 +- deps/v8/src/ast/ast-traversal-visitor.h | 6 + deps/v8/src/ast/ast.cc | 74 +- deps/v8/src/ast/ast.h | 356 ++- deps/v8/src/ast/modules.cc | 2 +- deps/v8/src/ast/prettyprinter.cc | 65 +- deps/v8/src/ast/prettyprinter.h | 15 +- deps/v8/src/ast/scopes.cc | 218 +- deps/v8/src/ast/scopes.h | 40 +- deps/v8/src/background-parsing-task.cc | 24 +- deps/v8/src/bailout-reason.h | 105 - deps/v8/src/base.isolate | 8 - deps/v8/src/base/DEPS | 1 - deps/v8/src/base/atomic-utils.h | 265 +- deps/v8/src/base/atomicops.h | 21 +- .../src/base/atomicops_internals_portable.h | 11 +- deps/v8/src/base/atomicops_internals_std.h | 184 ++ .../src/base/atomicops_internals_x86_msvc.h | 153 - deps/v8/src/base/bits.h | 2 +- deps/v8/src/base/cpu.cc | 4 +- deps/v8/src/base/debug/stack_trace_fuchsia.cc | 5 +- deps/v8/src/base/functional.h | 3 +- deps/v8/src/base/ieee754.cc | 2 +- deps/v8/src/base/lazy-instance.h | 8 +- deps/v8/src/base/logging.h | 70 +- deps/v8/src/base/macros.h | 59 +- deps/v8/src/base/platform/platform-aix.cc | 1 + deps/v8/src/base/platform/platform-cygwin.cc | 1 + deps/v8/src/base/platform/platform-freebsd.cc | 1 + deps/v8/src/base/platform/platform-fuchsia.cc | 126 +- deps/v8/src/base/platform/platform-linux.cc | 1 + deps/v8/src/base/platform/platform-macos.cc | 1 + deps/v8/src/base/platform/platform-openbsd.cc | 1 + .../src/base/platform/platform-posix-time.h | 5 + deps/v8/src/base/platform/platform-posix.cc | 5 +- deps/v8/src/base/platform/platform-qnx.cc | 1 + deps/v8/src/base/platform/platform-solaris.cc | 1 + deps/v8/src/base/platform/platform-win32.cc | 1 + deps/v8/src/base/platform/platform.h | 7 +- deps/v8/src/base/template-utils.h | 28 + deps/v8/src/bootstrapper.cc | 194 +- deps/v8/src/{float.h => boxed-float.h} | 13 +- deps/v8/src/builtins/arm/builtins-arm.cc | 478 +-- deps/v8/src/builtins/arm64/builtins-arm64.cc | 500 ++- .../v8/src/builtins/builtins-arguments-gen.cc | 19 +- deps/v8/src/builtins/builtins-arguments-gen.h | 5 + deps/v8/src/builtins/builtins-array-gen.cc | 130 +- deps/v8/src/builtins/builtins-array.cc | 61 +- deps/v8/src/builtins/builtins-async-gen.cc | 19 +- deps/v8/src/builtins/builtins-async-gen.h | 24 +- .../builtins/builtins-async-generator-gen.cc | 249 +- deps/v8/src/builtins/builtins-call-gen.cc | 5 +- deps/v8/src/builtins/builtins-call.cc | 12 +- .../src/builtins/builtins-collections-gen.cc | 552 +++- deps/v8/src/builtins/builtins-console-gen.cc | 1 + deps/v8/src/builtins/builtins-console.cc | 4 +- .../src/builtins/builtins-constructor-gen.cc | 132 +- .../src/builtins/builtins-constructor-gen.h | 4 +- .../src/builtins/builtins-conversion-gen.cc | 66 +- .../v8/src/builtins/builtins-conversion-gen.h | 32 - deps/v8/src/builtins/builtins-debug-gen.cc | 10 - deps/v8/src/builtins/builtins-definitions.h | 153 +- deps/v8/src/builtins/builtins-descriptors.h | 2 +- deps/v8/src/builtins/builtins-forin-gen.cc | 12 +- deps/v8/src/builtins/builtins-forin-gen.h | 6 +- deps/v8/src/builtins/builtins-function-gen.cc | 6 +- deps/v8/src/builtins/builtins-function.cc | 8 +- deps/v8/src/builtins/builtins-internal-gen.cc | 213 +- deps/v8/src/builtins/builtins-interpreter.cc | 17 +- deps/v8/src/builtins/builtins-intl-gen.cc | 2 +- deps/v8/src/builtins/builtins-iterator-gen.h | 5 + deps/v8/src/builtins/builtins-math-gen.cc | 23 +- deps/v8/src/builtins/builtins-math.cc | 7 +- deps/v8/src/builtins/builtins-number.cc | 8 +- deps/v8/src/builtins/builtins-object-gen.cc | 361 ++- deps/v8/src/builtins/builtins-promise-gen.cc | 106 +- deps/v8/src/builtins/builtins-promise-gen.h | 33 +- deps/v8/src/builtins/builtins-proxy-gen.cc | 378 ++- deps/v8/src/builtins/builtins-proxy-gen.h | 32 + .../builtins/builtins-proxy-helpers-gen.cc | 160 + .../src/builtins/builtins-proxy-helpers-gen.h | 38 + deps/v8/src/builtins/builtins-regexp-gen.cc | 174 +- deps/v8/src/builtins/builtins-regexp-gen.h | 7 + .../builtins-sharedarraybuffer-gen.cc | 3 +- deps/v8/src/builtins/builtins-string-gen.cc | 495 +-- deps/v8/src/builtins/builtins-string-gen.h | 36 +- deps/v8/src/builtins/builtins-string.cc | 62 +- .../src/builtins/builtins-typedarray-gen.cc | 6 +- deps/v8/src/builtins/builtins.cc | 227 +- deps/v8/src/builtins/builtins.h | 26 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 488 ++- deps/v8/src/builtins/mips/builtins-mips.cc | 488 ++- .../v8/src/builtins/mips64/builtins-mips64.cc | 485 ++- deps/v8/src/builtins/ppc/builtins-ppc.cc | 506 ++- deps/v8/src/builtins/s390/builtins-s390.cc | 506 ++- .../src/builtins/setup-builtins-internal.cc | 94 +- deps/v8/src/builtins/x64/builtins-x64.cc | 490 ++- deps/v8/src/code-factory.cc | 113 +- deps/v8/src/code-factory.h | 9 +- deps/v8/src/code-stub-assembler.cc | 1020 +++--- deps/v8/src/code-stub-assembler.h | 559 ++-- deps/v8/src/code-stubs.cc | 260 -- deps/v8/src/code-stubs.h | 254 +- deps/v8/src/codegen.cc | 49 +- deps/v8/src/codegen.h | 33 +- deps/v8/src/compilation-info.cc | 132 +- deps/v8/src/compilation-info.h | 179 +- deps/v8/src/compilation-statistics.cc | 2 +- .../compiler-dispatcher-job.cc | 574 +--- .../compiler-dispatcher-job.h | 162 +- .../compiler-dispatcher-tracer.cc | 14 +- .../compiler-dispatcher-tracer.h | 6 +- .../compiler-dispatcher.cc | 183 +- .../compiler-dispatcher/compiler-dispatcher.h | 34 +- .../optimizing-compile-dispatcher.cc | 5 +- .../optimizing-compile-dispatcher.h | 2 +- .../unoptimized-compile-job.cc | 492 +++ .../unoptimized-compile-job.h | 145 + deps/v8/src/compiler.cc | 1084 +++---- deps/v8/src/compiler.h | 36 +- deps/v8/src/compiler/access-builder.cc | 59 +- deps/v8/src/compiler/access-builder.h | 17 +- deps/v8/src/compiler/access-info.cc | 100 +- .../v8/src/compiler/arm/code-generator-arm.cc | 155 +- .../src/compiler/arm/instruction-codes-arm.h | 1 + .../compiler/arm/instruction-scheduler-arm.cc | 1 + .../compiler/arm/instruction-selector-arm.cc | 112 +- .../compiler/arm64/code-generator-arm64.cc | 140 +- .../compiler/arm64/instruction-codes-arm64.h | 1 + .../arm64/instruction-scheduler-arm64.cc | 4 +- .../arm64/instruction-selector-arm64.cc | 115 +- deps/v8/src/compiler/ast-graph-builder.cc | 2841 ----------------- deps/v8/src/compiler/ast-graph-builder.h | 540 ---- .../compiler/ast-loop-assignment-analyzer.cc | 322 -- .../compiler/ast-loop-assignment-analyzer.h | 80 - deps/v8/src/compiler/bytecode-analysis.cc | 92 +- deps/v8/src/compiler/bytecode-analysis.h | 8 +- .../v8/src/compiler/bytecode-graph-builder.cc | 703 ++-- deps/v8/src/compiler/bytecode-graph-builder.h | 66 +- deps/v8/src/compiler/c-linkage.cc | 17 +- deps/v8/src/compiler/check-elimination.cc | 76 - deps/v8/src/compiler/check-elimination.h | 46 - deps/v8/src/compiler/code-assembler.cc | 292 +- deps/v8/src/compiler/code-assembler.h | 766 +++-- deps/v8/src/compiler/code-generator.cc | 94 +- deps/v8/src/compiler/code-generator.h | 26 +- deps/v8/src/compiler/common-operator.cc | 114 +- deps/v8/src/compiler/common-operator.h | 31 +- deps/v8/src/compiler/control-builders.cc | 187 -- deps/v8/src/compiler/control-builders.h | 152 - deps/v8/src/compiler/control-equivalence.cc | 2 + .../src/compiler/effect-control-linearizer.cc | 464 +-- .../src/compiler/effect-control-linearizer.h | 4 +- .../src/compiler/escape-analysis-reducer.cc | 1 + deps/v8/src/compiler/escape-analysis.cc | 19 +- deps/v8/src/compiler/escape-analysis.h | 22 +- deps/v8/src/compiler/frame-states.cc | 7 +- deps/v8/src/compiler/frame.h | 2 +- deps/v8/src/compiler/gap-resolver.cc | 2 +- deps/v8/src/compiler/graph-assembler.cc | 84 +- deps/v8/src/compiler/graph-assembler.h | 282 +- deps/v8/src/compiler/graph-visualizer.cc | 21 +- .../src/compiler/ia32/code-generator-ia32.cc | 308 +- .../compiler/ia32/instruction-codes-ia32.h | 29 + .../ia32/instruction-scheduler-ia32.cc | 29 + .../ia32/instruction-selector-ia32.cc | 47 +- deps/v8/src/compiler/instruction-codes.h | 4 +- deps/v8/src/compiler/instruction-scheduler.cc | 26 +- deps/v8/src/compiler/instruction-selector.cc | 134 +- deps/v8/src/compiler/instruction-selector.h | 47 + deps/v8/src/compiler/instruction.cc | 4 +- deps/v8/src/compiler/instruction.h | 1 - deps/v8/src/compiler/js-builtin-reducer.cc | 35 +- deps/v8/src/compiler/js-builtin-reducer.h | 14 +- deps/v8/src/compiler/js-call-reducer.cc | 443 ++- deps/v8/src/compiler/js-call-reducer.h | 5 +- deps/v8/src/compiler/js-create-lowering.cc | 326 +- deps/v8/src/compiler/js-create-lowering.h | 7 +- .../src/compiler/js-frame-specialization.cc | 76 - .../v8/src/compiler/js-frame-specialization.h | 50 - deps/v8/src/compiler/js-generic-lowering.cc | 32 +- deps/v8/src/compiler/js-graph.cc | 6 +- deps/v8/src/compiler/js-inlining-heuristic.cc | 63 +- deps/v8/src/compiler/js-inlining-heuristic.h | 1 + deps/v8/src/compiler/js-inlining.cc | 66 +- deps/v8/src/compiler/js-inlining.h | 1 + deps/v8/src/compiler/js-intrinsic-lowering.cc | 74 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 13 +- .../js-native-context-specialization.cc | 187 +- .../js-native-context-specialization.h | 1 - deps/v8/src/compiler/js-operator.cc | 106 +- deps/v8/src/compiler/js-operator.h | 63 +- deps/v8/src/compiler/js-type-hint-lowering.cc | 65 +- deps/v8/src/compiler/js-type-hint-lowering.h | 11 +- deps/v8/src/compiler/js-typed-lowering.cc | 667 +--- deps/v8/src/compiler/js-typed-lowering.h | 28 +- deps/v8/src/compiler/jump-threading.cc | 2 + deps/v8/src/compiler/linkage.cc | 4 +- deps/v8/src/compiler/linkage.h | 19 +- deps/v8/src/compiler/live-range-separator.cc | 1 + deps/v8/src/compiler/load-elimination.cc | 303 +- deps/v8/src/compiler/load-elimination.h | 110 +- deps/v8/src/compiler/loop-analysis.cc | 20 +- .../src/compiler/loop-variable-optimizer.cc | 5 +- .../v8/src/compiler/machine-graph-verifier.cc | 10 +- deps/v8/src/compiler/machine-operator.cc | 25 +- deps/v8/src/compiler/machine-operator.h | 68 +- deps/v8/src/compiler/memory-optimizer.cc | 25 +- deps/v8/src/compiler/memory-optimizer.h | 1 + .../src/compiler/mips/code-generator-mips.cc | 246 +- .../mips/instruction-selector-mips.cc | 138 +- .../compiler/mips64/code-generator-mips64.cc | 296 +- .../mips64/instruction-selector-mips64.cc | 138 +- deps/v8/src/compiler/move-optimizer.cc | 2 +- deps/v8/src/compiler/move-optimizer.h | 2 +- .../compiler/new-escape-analysis-reducer.cc | 411 +++ .../compiler/new-escape-analysis-reducer.h | 122 + deps/v8/src/compiler/new-escape-analysis.cc | 739 +++++ deps/v8/src/compiler/new-escape-analysis.h | 181 ++ deps/v8/src/compiler/node-properties.cc | 40 + deps/v8/src/compiler/node-properties.h | 6 + deps/v8/src/compiler/node.h | 29 +- deps/v8/src/compiler/opcodes.h | 66 +- deps/v8/src/compiler/operation-typer.cc | 21 + deps/v8/src/compiler/operation-typer.h | 1 + deps/v8/src/compiler/operator-properties.cc | 2 - deps/v8/src/compiler/osr.cc | 320 +- deps/v8/src/compiler/osr.h | 78 +- deps/v8/src/compiler/persistent-map.h | 514 +++ deps/v8/src/compiler/pipeline.cc | 428 ++- deps/v8/src/compiler/pipeline.h | 4 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 130 +- .../compiler/ppc/instruction-selector-ppc.cc | 7 +- .../src/compiler/property-access-builder.cc | 14 +- .../v8/src/compiler/property-access-builder.h | 2 + deps/v8/src/compiler/raw-machine-assembler.cc | 31 + deps/v8/src/compiler/raw-machine-assembler.h | 33 +- .../v8/src/compiler/redundancy-elimination.cc | 9 +- .../compiler/register-allocator-verifier.cc | 69 +- .../compiler/register-allocator-verifier.h | 43 +- deps/v8/src/compiler/register-allocator.cc | 7 +- deps/v8/src/compiler/representation-change.cc | 8 +- deps/v8/src/compiler/representation-change.h | 4 +- .../src/compiler/s390/code-generator-s390.cc | 124 +- .../s390/instruction-selector-s390.cc | 7 +- deps/v8/src/compiler/schedule.cc | 1 + deps/v8/src/compiler/scheduler.cc | 6 +- deps/v8/src/compiler/simd-scalar-lowering.cc | 15 +- deps/v8/src/compiler/simplified-lowering.cc | 323 +- deps/v8/src/compiler/simplified-lowering.h | 5 - deps/v8/src/compiler/simplified-operator.cc | 153 +- deps/v8/src/compiler/simplified-operator.h | 50 +- deps/v8/src/compiler/type-cache.cc | 4 +- deps/v8/src/compiler/typed-optimization.cc | 28 +- deps/v8/src/compiler/typed-optimization.h | 15 +- deps/v8/src/compiler/typer.cc | 79 +- deps/v8/src/compiler/types.cc | 58 +- deps/v8/src/compiler/types.h | 59 +- .../src/compiler/value-numbering-reducer.cc | 44 +- deps/v8/src/compiler/verifier.cc | 47 +- deps/v8/src/compiler/wasm-compiler.cc | 691 ++-- deps/v8/src/compiler/wasm-compiler.h | 118 +- deps/v8/src/compiler/wasm-linkage.cc | 104 +- .../v8/src/compiler/x64/code-generator-x64.cc | 148 +- .../compiler/x64/instruction-selector-x64.cc | 5 + deps/v8/src/contexts-inl.h | 42 +- deps/v8/src/contexts.cc | 10 +- deps/v8/src/contexts.h | 43 +- deps/v8/src/conversions-inl.h | 12 +- deps/v8/src/conversions.cc | 19 +- deps/v8/src/conversions.h | 3 + deps/v8/src/counters-inl.h | 21 +- deps/v8/src/counters.cc | 52 +- deps/v8/src/counters.h | 117 +- deps/v8/src/d8-console.cc | 6 +- deps/v8/src/d8-posix.cc | 129 +- deps/v8/src/d8-windows.cc | 5 + deps/v8/src/d8.cc | 89 +- deps/v8/src/d8.h | 10 +- deps/v8/src/debug/arm/debug-arm.cc | 103 +- deps/v8/src/debug/arm64/debug-arm64.cc | 112 +- deps/v8/src/debug/debug-coverage.cc | 51 +- deps/v8/src/debug/debug-evaluate.cc | 22 +- deps/v8/src/debug/debug-frames.cc | 50 +- deps/v8/src/debug/debug-frames.h | 30 +- deps/v8/src/debug/debug-interface.h | 94 +- deps/v8/src/debug/debug-scope-iterator.cc | 203 ++ deps/v8/src/debug/debug-scope-iterator.h | 64 + deps/v8/src/debug/debug-scopes.cc | 98 +- deps/v8/src/debug/debug-scopes.h | 8 + .../src/debug/debug-stack-trace-iterator.cc | 157 + .../v8/src/debug/debug-stack-trace-iterator.h | 46 + deps/v8/src/debug/debug.cc | 575 ++-- deps/v8/src/debug/debug.h | 121 +- deps/v8/src/debug/debug.js | 2 +- deps/v8/src/debug/ia32/debug-ia32.cc | 89 +- deps/v8/src/debug/interface-types.h | 3 + deps/v8/src/debug/liveedit.cc | 48 +- deps/v8/src/debug/liveedit.h | 2 + deps/v8/src/debug/liveedit.js | 5 + deps/v8/src/debug/mips/debug-mips.cc | 101 +- deps/v8/src/debug/mips64/debug-mips64.cc | 96 +- deps/v8/src/debug/ppc/debug-ppc.cc | 102 +- deps/v8/src/debug/s390/debug-s390.cc | 104 +- deps/v8/src/debug/x64/debug-x64.cc | 83 +- deps/v8/src/deoptimize-reason.h | 135 +- deps/v8/src/deoptimizer.cc | 220 +- deps/v8/src/deoptimizer.h | 27 +- deps/v8/src/disassembler.cc | 4 - deps/v8/src/elements-kind.cc | 5 +- deps/v8/src/elements.cc | 3 +- .../externalize-string-extension.cc | 5 +- .../ignition-statistics-extension.cc | 3 +- .../v8/src/extensions/statistics-extension.cc | 2 +- .../extensions/trigger-failure-extension.cc | 8 +- deps/v8/src/external-reference-table.cc | 94 +- deps/v8/src/external-reference-table.h | 27 +- deps/v8/src/factory.cc | 71 +- deps/v8/src/factory.h | 20 +- deps/v8/src/feedback-vector-inl.h | 76 +- deps/v8/src/feedback-vector.cc | 60 +- deps/v8/src/feedback-vector.h | 311 +- deps/v8/src/field-index-inl.h | 1 + deps/v8/src/flag-definitions.h | 210 +- deps/v8/src/frame-constants.h | 338 ++ deps/v8/src/frames-inl.h | 44 +- deps/v8/src/frames.cc | 305 +- deps/v8/src/frames.h | 395 +-- deps/v8/src/full-codegen/OWNERS | 12 - .../src/full-codegen/arm/full-codegen-arm.cc | 2553 --------------- .../full-codegen/arm64/full-codegen-arm64.cc | 2538 --------------- deps/v8/src/full-codegen/full-codegen.cc | 1524 --------- deps/v8/src/full-codegen/full-codegen.h | 854 ----- .../full-codegen/ia32/full-codegen-ia32.cc | 2417 -------------- deps/v8/src/full-codegen/mips/OWNERS | 3 - .../full-codegen/mips/full-codegen-mips.cc | 2527 --------------- deps/v8/src/full-codegen/mips64/OWNERS | 3 - .../mips64/full-codegen-mips64.cc | 2537 --------------- deps/v8/src/full-codegen/ppc/OWNERS | 6 - .../src/full-codegen/ppc/full-codegen-ppc.cc | 2475 -------------- deps/v8/src/full-codegen/s390/OWNERS | 6 - .../full-codegen/s390/full-codegen-s390.cc | 2418 -------------- .../src/full-codegen/x64/full-codegen-x64.cc | 2438 -------------- deps/v8/src/futex-emulation.cc | 2 +- deps/v8/src/globals.h | 31 +- deps/v8/src/heap-symbols.h | 96 +- deps/v8/src/heap/array-buffer-tracker-inl.h | 42 + deps/v8/src/heap/array-buffer-tracker.cc | 37 - deps/v8/src/heap/array-buffer-tracker.h | 3 +- deps/v8/src/heap/code-stats.h | 5 + deps/v8/src/heap/concurrent-marking.cc | 253 +- deps/v8/src/heap/concurrent-marking.h | 31 +- deps/v8/src/heap/gc-idle-time-handler.cc | 2 +- deps/v8/src/heap/gc-tracer.cc | 87 +- deps/v8/src/heap/gc-tracer.h | 95 +- deps/v8/src/heap/heap-inl.h | 86 +- deps/v8/src/heap/heap.cc | 885 +++-- deps/v8/src/heap/heap.h | 256 +- deps/v8/src/heap/incremental-marking-inl.h | 10 +- deps/v8/src/heap/incremental-marking-job.cc | 3 +- deps/v8/src/heap/incremental-marking.cc | 251 +- deps/v8/src/heap/incremental-marking.h | 96 +- deps/v8/src/heap/invalidated-slots-inl.h | 70 + deps/v8/src/heap/invalidated-slots.cc | 35 + deps/v8/src/heap/invalidated-slots.h | 54 + deps/v8/src/heap/local-allocator.h | 62 +- deps/v8/src/heap/mark-compact-inl.h | 56 +- deps/v8/src/heap/mark-compact.cc | 1500 ++++----- deps/v8/src/heap/mark-compact.h | 358 ++- deps/v8/src/heap/marking.cc | 6 +- deps/v8/src/heap/object-stats.cc | 52 +- deps/v8/src/heap/object-stats.h | 28 +- deps/v8/src/heap/objects-visiting-inl.h | 93 +- deps/v8/src/heap/objects-visiting.cc | 6 +- deps/v8/src/heap/objects-visiting.h | 13 +- deps/v8/src/heap/remembered-set.h | 50 +- deps/v8/src/heap/scavenge-job.cc | 4 + deps/v8/src/heap/scavenge-job.h | 2 - deps/v8/src/heap/scavenger-inl.h | 114 +- deps/v8/src/heap/scavenger.cc | 58 +- deps/v8/src/heap/scavenger.h | 122 +- deps/v8/src/heap/sequential-marking-deque.cc | 20 +- deps/v8/src/heap/sequential-marking-deque.h | 5 +- deps/v8/src/heap/slot-set.h | 18 +- deps/v8/src/heap/spaces-inl.h | 36 +- deps/v8/src/heap/spaces.cc | 667 ++-- deps/v8/src/heap/spaces.h | 444 ++- deps/v8/src/heap/store-buffer.cc | 47 +- deps/v8/src/heap/store-buffer.h | 6 +- deps/v8/src/heap/worklist.h | 35 +- deps/v8/src/ia32/assembler-ia32-inl.h | 119 +- deps/v8/src/ia32/assembler-ia32.cc | 139 +- deps/v8/src/ia32/assembler-ia32.h | 75 +- deps/v8/src/ia32/code-stubs-ia32.cc | 1040 +----- deps/v8/src/ia32/code-stubs-ia32.h | 7 +- deps/v8/src/ia32/codegen-ia32.cc | 68 - deps/v8/src/ia32/deoptimizer-ia32.cc | 155 +- deps/v8/src/ia32/disasm-ia32.cc | 25 +- ...frames-ia32.cc => frame-constants-ia32.cc} | 11 +- .../{frames-ia32.h => frame-constants-ia32.h} | 43 +- .../v8/src/ia32/interface-descriptors-ia32.cc | 93 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 872 +---- deps/v8/src/ia32/macro-assembler-ia32.h | 218 +- deps/v8/src/ia32/sse-instr.h | 6 + deps/v8/src/ic/accessor-assembler.cc | 231 +- deps/v8/src/ic/arm/handler-compiler-arm.cc | 1 + deps/v8/src/ic/arm/ic-arm.cc | 110 - .../v8/src/ic/arm64/handler-compiler-arm64.cc | 1 + deps/v8/src/ic/arm64/ic-arm64.cc | 104 - deps/v8/src/ic/binary-op-assembler.cc | 3 +- deps/v8/src/ic/handler-compiler.h | 1 - deps/v8/src/ic/handler-configuration-inl.h | 27 + deps/v8/src/ic/handler-configuration.cc | 82 + deps/v8/src/ic/handler-configuration.h | 29 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 5 +- deps/v8/src/ic/ia32/ic-ia32.cc | 84 - deps/v8/src/ic/ic-inl.h | 43 - deps/v8/src/ic/ic-state.cc | 166 - deps/v8/src/ic/ic-state.h | 59 - deps/v8/src/ic/ic.cc | 353 +- deps/v8/src/ic/ic.h | 68 +- deps/v8/src/ic/keyed-store-generic.cc | 90 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 1 + deps/v8/src/ic/mips/ic-mips.cc | 138 - .../src/ic/mips64/handler-compiler-mips64.cc | 1 + deps/v8/src/ic/mips64/ic-mips64.cc | 138 - deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 1 + deps/v8/src/ic/ppc/ic-ppc.cc | 112 - deps/v8/src/ic/s390/handler-compiler-s390.cc | 1 + deps/v8/src/ic/s390/ic-s390.cc | 136 - deps/v8/src/ic/x64/handler-compiler-x64.cc | 7 +- deps/v8/src/ic/x64/ic-x64.cc | 85 - deps/v8/src/inspector/BUILD.gn | 24 +- deps/v8/src/inspector/OWNERS | 2 +- deps/v8/src/inspector/PRESUBMIT.py | 4 +- .../v8/src/inspector/build/compile-scripts.py | 19 - deps/v8/src/inspector/debugger-script.js | 497 --- .../src/inspector/debugger_script_externs.js | 382 --- .../src/inspector/injected-script-source.js | 29 +- deps/v8/src/inspector/injected-script.cc | 243 +- deps/v8/src/inspector/injected-script.h | 24 + deps/v8/src/inspector/inspected-context.cc | 1 - deps/v8/src/inspector/inspector.gyp | 25 - deps/v8/src/inspector/inspector.gypi | 9 +- .../src/inspector/java-script-call-frame.cc | 157 - .../v8/src/inspector/java-script-call-frame.h | 81 - deps/v8/src/inspector/js_protocol.json | 21 +- deps/v8/src/inspector/v8-console.cc | 52 +- deps/v8/src/inspector/v8-console.h | 2 + .../src/inspector/v8-debugger-agent-impl.cc | 443 ++- .../v8/src/inspector/v8-debugger-agent-impl.h | 12 +- deps/v8/src/inspector/v8-debugger-script.cc | 30 + deps/v8/src/inspector/v8-debugger-script.h | 11 +- deps/v8/src/inspector/v8-debugger.cc | 467 +-- deps/v8/src/inspector/v8-debugger.h | 51 +- .../src/inspector/v8-injected-script-host.cc | 18 +- deps/v8/src/inspector/v8-inspector-impl.cc | 11 +- deps/v8/src/inspector/v8-inspector-impl.h | 9 +- .../inspector/v8-inspector-session-impl.cc | 3 +- .../src/inspector/v8-profiler-agent-impl.cc | 27 +- .../v8/src/inspector/v8-profiler-agent-impl.h | 3 +- .../v8/src/inspector/v8-runtime-agent-impl.cc | 250 +- deps/v8/src/inspector/v8-runtime-agent-impl.h | 3 + .../{v8-value-copier.cc => v8-value-utils.cc} | 78 +- .../{v8-value-copier.h => v8-value-utils.h} | 9 +- deps/v8/src/inspector/wasm-translation.cc | 11 + deps/v8/src/interface-descriptors.cc | 89 +- deps/v8/src/interface-descriptors.h | 254 +- .../src/interpreter/bytecode-array-builder.cc | 46 +- .../src/interpreter/bytecode-array-builder.h | 23 +- deps/v8/src/interpreter/bytecode-generator.cc | 801 +++-- deps/v8/src/interpreter/bytecode-generator.h | 32 +- deps/v8/src/interpreter/bytecode-operands.h | 3 + .../interpreter/bytecode-register-allocator.h | 16 - deps/v8/src/interpreter/bytecode-register.cc | 12 - deps/v8/src/interpreter/bytecode-register.h | 11 +- deps/v8/src/interpreter/bytecodes.cc | 63 +- deps/v8/src/interpreter/bytecodes.h | 38 +- .../src/interpreter/control-flow-builders.cc | 64 +- .../src/interpreter/control-flow-builders.h | 103 +- .../src/interpreter/handler-table-builder.h | 1 + .../src/interpreter/interpreter-assembler.cc | 673 ++-- .../src/interpreter/interpreter-assembler.h | 69 +- .../src/interpreter/interpreter-generator.cc | 242 +- .../interpreter-intrinsics-generator.cc | 32 +- .../src/interpreter/interpreter-intrinsics.h | 1 + deps/v8/src/interpreter/interpreter.cc | 79 +- deps/v8/src/interpreter/interpreter.h | 8 +- .../interpreter/setup-interpreter-internal.cc | 11 + deps/v8/src/isolate-inl.h | 22 +- deps/v8/src/isolate.cc | 106 +- deps/v8/src/isolate.h | 71 +- deps/v8/src/js/array.js | 10 +- deps/v8/src/js/collection.js | 281 -- deps/v8/src/js/intl.js | 113 +- deps/v8/src/js/macros.py | 33 - deps/v8/src/js/string.js | 23 +- deps/v8/src/js/typedarray.js | 77 +- deps/v8/src/js/weak-collection.js | 16 +- deps/v8/src/json-parser.cc | 15 +- deps/v8/src/json-stringifier.cc | 10 +- deps/v8/src/layout-descriptor-inl.h | 2 +- deps/v8/src/list.h | 7 - deps/v8/src/log-utils.cc | 49 +- deps/v8/src/log-utils.h | 10 +- deps/v8/src/log.cc | 194 +- deps/v8/src/log.h | 8 +- deps/v8/src/lookup-cache-inl.h | 5 + deps/v8/src/lookup.cc | 109 +- deps/v8/src/lookup.h | 20 +- deps/v8/src/machine-type.cc | 12 + deps/v8/src/machine-type.h | 8 + deps/v8/src/macro-assembler.h | 24 - deps/v8/src/map-updater.cc | 24 +- deps/v8/src/messages.cc | 44 +- deps/v8/src/messages.h | 20 +- deps/v8/src/mips/assembler-mips-inl.h | 107 +- deps/v8/src/mips/assembler-mips.cc | 136 +- deps/v8/src/mips/assembler-mips.h | 144 +- deps/v8/src/mips/code-stubs-mips.cc | 1213 +------ deps/v8/src/mips/code-stubs-mips.h | 5 - deps/v8/src/mips/codegen-mips.cc | 91 +- deps/v8/src/mips/constants-mips.h | 26 + deps/v8/src/mips/deoptimizer-mips.cc | 68 +- deps/v8/src/mips/disasm-mips.cc | 63 + ...frames-mips.cc => frame-constants-mips.cc} | 11 +- deps/v8/src/mips/frame-constants-mips.h | 52 + deps/v8/src/mips/frames-mips.h | 173 - .../v8/src/mips/interface-descriptors-mips.cc | 93 +- deps/v8/src/mips/macro-assembler-mips.cc | 1803 ++++------- deps/v8/src/mips/macro-assembler-mips.h | 422 +-- deps/v8/src/mips/simulator-mips.cc | 343 +- deps/v8/src/mips/simulator-mips.h | 12 + deps/v8/src/mips64/assembler-mips64-inl.h | 107 +- deps/v8/src/mips64/assembler-mips64.cc | 143 +- deps/v8/src/mips64/assembler-mips64.h | 145 +- deps/v8/src/mips64/code-stubs-mips64.cc | 1222 +------ deps/v8/src/mips64/code-stubs-mips64.h | 5 - deps/v8/src/mips64/codegen-mips64.cc | 93 +- deps/v8/src/mips64/constants-mips64.h | 30 + deps/v8/src/mips64/deoptimizer-mips64.cc | 69 +- deps/v8/src/mips64/disasm-mips64.cc | 95 +- ...es-mips64.cc => frame-constants-mips64.cc} | 11 +- deps/v8/src/mips64/frame-constants-mips64.h | 52 + deps/v8/src/mips64/frames-mips64.h | 173 - .../mips64/interface-descriptors-mips64.cc | 92 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 2204 ++++--------- deps/v8/src/mips64/macro-assembler-mips64.h | 501 +-- deps/v8/src/mips64/simulator-mips64.cc | 374 ++- deps/v8/src/mips64/simulator-mips64.h | 11 + deps/v8/src/objects-body-descriptors-inl.h | 236 +- deps/v8/src/objects-body-descriptors.h | 36 - deps/v8/src/objects-debug.cc | 157 +- deps/v8/src/objects-inl.h | 427 ++- deps/v8/src/objects-printer.cc | 250 +- deps/v8/src/objects.cc | 1715 +++------- deps/v8/src/objects.h | 1213 +++---- deps/v8/src/objects/arguments-inl.h | 4 - deps/v8/src/objects/arguments.h | 20 +- deps/v8/src/objects/debug-objects-inl.h | 16 +- deps/v8/src/objects/debug-objects.cc | 62 +- deps/v8/src/objects/debug-objects.h | 25 +- deps/v8/src/objects/descriptor-array.h | 3 - deps/v8/src/objects/dictionary.h | 16 +- deps/v8/src/objects/hash-table.h | 11 +- deps/v8/src/objects/intl-objects.cc | 336 +- deps/v8/src/objects/intl-objects.h | 38 + deps/v8/src/objects/literal-objects.h | 2 + deps/v8/src/objects/map.h | 28 +- deps/v8/src/objects/module-info.h | 133 - deps/v8/src/objects/module-inl.h | 67 + deps/v8/src/objects/module.cc | 873 +++++ deps/v8/src/objects/module.h | 329 ++ deps/v8/src/objects/name-inl.h | 5 + deps/v8/src/objects/name.h | 14 + deps/v8/src/objects/object-macros-undef.h | 2 + deps/v8/src/objects/object-macros.h | 40 +- deps/v8/src/objects/scope-info.cc | 40 +- deps/v8/src/objects/scope-info.h | 17 +- .../v8/src/objects/shared-function-info-inl.h | 63 +- deps/v8/src/objects/shared-function-info.h | 142 +- deps/v8/src/objects/string-inl.h | 3 +- deps/v8/src/objects/string.h | 22 +- deps/v8/src/ostreams.cc | 21 +- deps/v8/src/ostreams.h | 27 +- deps/v8/src/parsing/OWNERS | 2 +- ...iter.cc => expression-scope-reparenter.cc} | 64 +- ...writer.h => expression-scope-reparenter.h} | 9 +- deps/v8/src/parsing/parse-info.cc | 90 +- deps/v8/src/parsing/parse-info.h | 90 +- deps/v8/src/parsing/parser-base.h | 882 ++--- deps/v8/src/parsing/parser.cc | 895 +----- deps/v8/src/parsing/parser.h | 209 +- deps/v8/src/parsing/parsing.cc | 46 +- deps/v8/src/parsing/parsing.h | 23 +- deps/v8/src/parsing/pattern-rewriter.cc | 386 ++- deps/v8/src/parsing/preparsed-scope-data.cc | 61 +- deps/v8/src/parsing/preparsed-scope-data.h | 51 +- deps/v8/src/parsing/preparser.cc | 55 +- deps/v8/src/parsing/preparser.h | 554 ++-- deps/v8/src/parsing/rewriter.cc | 13 +- deps/v8/src/parsing/rewriter.h | 2 +- .../src/parsing/scanner-character-streams.cc | 14 + deps/v8/src/parsing/scanner.cc | 2 +- deps/v8/src/parsing/scanner.h | 3 + deps/v8/src/parsing/token.h | 35 +- deps/v8/src/perf-jit.cc | 11 +- deps/v8/src/ppc/assembler-ppc-inl.h | 111 - deps/v8/src/ppc/assembler-ppc.cc | 25 +- deps/v8/src/ppc/assembler-ppc.h | 157 +- deps/v8/src/ppc/code-stubs-ppc.cc | 1212 +------ deps/v8/src/ppc/code-stubs-ppc.h | 5 - deps/v8/src/ppc/codegen-ppc.cc | 83 - deps/v8/src/ppc/deoptimizer-ppc.cc | 75 +- deps/v8/src/ppc/disasm-ppc.cc | 4 +- .../{frames-ppc.cc => frame-constants-ppc.cc} | 10 +- deps/v8/src/ppc/frame-constants-ppc.h | 50 + deps/v8/src/ppc/frames-ppc.h | 188 -- deps/v8/src/ppc/interface-descriptors-ppc.cc | 94 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 1019 +----- deps/v8/src/ppc/macro-assembler-ppc.h | 401 +-- deps/v8/src/ppc/simulator-ppc.cc | 6 +- deps/v8/src/ppc/simulator-ppc.h | 2 +- deps/v8/src/profiler/circular-queue-inl.h | 4 +- deps/v8/src/profiler/heap-profiler.cc | 38 +- deps/v8/src/profiler/heap-profiler.h | 6 +- .../profiler/heap-snapshot-generator-inl.h | 2 +- .../src/profiler/heap-snapshot-generator.cc | 496 +-- .../v8/src/profiler/heap-snapshot-generator.h | 37 +- deps/v8/src/profiler/profile-generator.cc | 4 +- deps/v8/src/profiler/profile-generator.h | 4 +- deps/v8/src/profiler/profiler-listener.cc | 29 +- deps/v8/src/profiler/profiler-listener.h | 3 +- .../v8/src/profiler/sampling-heap-profiler.cc | 6 + deps/v8/src/profiler/sampling-heap-profiler.h | 7 +- deps/v8/src/profiler/strings-storage.cc | 15 +- deps/v8/src/profiler/strings-storage.h | 2 +- deps/v8/src/regexp/jsregexp.cc | 65 +- .../regexp/ppc/regexp-macro-assembler-ppc.h | 1 - deps/v8/src/regexp/regexp-ast.h | 6 +- deps/v8/src/regexp/regexp-parser.cc | 113 +- deps/v8/src/regexp/regexp-parser.h | 10 +- deps/v8/src/regexp/regexp-utils.cc | 7 +- .../regexp/s390/regexp-macro-assembler-s390.h | 1 - deps/v8/src/register-configuration.cc | 162 +- deps/v8/src/register-configuration.h | 14 +- deps/v8/src/reglist.h | 24 + deps/v8/src/runtime-profiler.cc | 199 +- deps/v8/src/runtime-profiler.h | 13 +- deps/v8/src/runtime/runtime-array.cc | 57 +- deps/v8/src/runtime/runtime-classes.cc | 1 - deps/v8/src/runtime/runtime-collections.cc | 41 +- deps/v8/src/runtime/runtime-compiler.cc | 31 +- deps/v8/src/runtime/runtime-debug.cc | 39 +- deps/v8/src/runtime/runtime-function.cc | 7 +- deps/v8/src/runtime/runtime-generator.cc | 34 +- deps/v8/src/runtime/runtime-internal.cc | 53 +- deps/v8/src/runtime/runtime-interpreter.cc | 15 - deps/v8/src/runtime/runtime-intl.cc | 201 +- deps/v8/src/runtime/runtime-literals.cc | 10 +- deps/v8/src/runtime/runtime-liveedit.cc | 9 +- deps/v8/src/runtime/runtime-module.cc | 11 +- deps/v8/src/runtime/runtime-object.cc | 17 +- deps/v8/src/runtime/runtime-proxy.cc | 108 +- deps/v8/src/runtime/runtime-regexp.cc | 74 +- deps/v8/src/runtime/runtime-scopes.cc | 30 +- deps/v8/src/runtime/runtime-strings.cc | 73 +- deps/v8/src/runtime/runtime-test.cc | 94 +- deps/v8/src/runtime/runtime-typedarray.cc | 123 +- deps/v8/src/runtime/runtime-wasm.cc | 56 +- deps/v8/src/runtime/runtime.h | 84 +- deps/v8/src/s390/assembler-s390-inl.h | 109 - deps/v8/src/s390/assembler-s390.cc | 29 +- deps/v8/src/s390/assembler-s390.h | 167 +- deps/v8/src/s390/code-stubs-s390.cc | 1176 +------ deps/v8/src/s390/code-stubs-s390.h | 6 +- deps/v8/src/s390/codegen-s390.cc | 82 - deps/v8/src/s390/deoptimizer-s390.cc | 71 +- deps/v8/src/s390/disasm-s390.cc | 4 +- ...frames-s390.cc => frame-constants-s390.cc} | 9 +- deps/v8/src/s390/frame-constants-s390.h | 48 + deps/v8/src/s390/frames-s390.h | 189 -- .../v8/src/s390/interface-descriptors-s390.cc | 87 +- deps/v8/src/s390/macro-assembler-s390.cc | 798 +---- deps/v8/src/s390/macro-assembler-s390.h | 368 +-- deps/v8/src/s390/simulator-s390.cc | 20 +- deps/v8/src/safepoint-table.cc | 38 +- deps/v8/src/safepoint-table.h | 51 +- deps/v8/src/setup-isolate.h | 7 + deps/v8/src/snapshot/OWNERS | 2 +- deps/v8/src/snapshot/code-serializer.cc | 93 +- deps/v8/src/snapshot/code-serializer.h | 29 +- deps/v8/src/snapshot/deserializer.cc | 560 ++-- deps/v8/src/snapshot/deserializer.h | 140 +- deps/v8/src/snapshot/mksnapshot.cc | 5 - deps/v8/src/snapshot/natives-external.cc | 30 +- deps/v8/src/snapshot/object-deserializer.cc | 121 + deps/v8/src/snapshot/object-deserializer.h | 41 + deps/v8/src/snapshot/partial-deserializer.cc | 93 + deps/v8/src/snapshot/partial-deserializer.h | 44 + deps/v8/src/snapshot/partial-serializer.cc | 59 +- deps/v8/src/snapshot/partial-serializer.h | 2 +- deps/v8/src/snapshot/serializer-common.cc | 64 +- deps/v8/src/snapshot/serializer-common.h | 69 +- deps/v8/src/snapshot/serializer.cc | 238 +- deps/v8/src/snapshot/serializer.h | 39 +- deps/v8/src/snapshot/snapshot-common.cc | 151 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 2 +- deps/v8/src/snapshot/snapshot-source-sink.h | 8 +- deps/v8/src/snapshot/snapshot.h | 39 +- deps/v8/src/snapshot/startup-deserializer.cc | 100 + deps/v8/src/snapshot/startup-deserializer.h | 34 + deps/v8/src/snapshot/startup-serializer.cc | 36 +- deps/v8/src/snapshot/startup-serializer.h | 3 +- deps/v8/src/source-position-table.cc | 2 +- deps/v8/src/source-position-table.h | 13 + deps/v8/src/string-builder.h | 13 + deps/v8/src/third_party/valgrind/valgrind.h | 2 +- deps/v8/src/third_party/vtune/jitprofiling.h | 10 +- deps/v8/src/third_party/vtune/vtune-jit.cc | 2 +- deps/v8/src/transitions-inl.h | 154 +- deps/v8/src/transitions.cc | 583 ++-- deps/v8/src/transitions.h | 373 ++- deps/v8/src/trap-handler/OWNERS | 1 + deps/v8/src/trap-handler/handler-inside.cc | 2 +- deps/v8/src/trap-handler/trap-handler.h | 5 + deps/v8/src/type-hints.cc | 4 +- deps/v8/src/type-hints.h | 2 +- deps/v8/src/utils.h | 24 +- deps/v8/src/v8.cc | 5 + deps/v8/src/v8.gyp | 150 +- deps/v8/src/v8.h | 1 - deps/v8/src/value-serializer.cc | 13 +- deps/v8/src/visitors.h | 6 +- deps/v8/src/vm-state-inl.h | 4 + deps/v8/src/wasm/OWNERS | 1 + deps/v8/src/wasm/decoder.h | 12 +- deps/v8/src/wasm/function-body-decoder-impl.h | 1844 ++++++++++- deps/v8/src/wasm/function-body-decoder.cc | 2197 +++---------- deps/v8/src/wasm/function-body-decoder.h | 9 + deps/v8/src/wasm/local-decl-encoder.cc | 11 + deps/v8/src/wasm/module-compiler.cc | 679 ++-- deps/v8/src/wasm/module-compiler.h | 52 +- deps/v8/src/wasm/module-decoder.cc | 174 +- deps/v8/src/wasm/module-decoder.h | 20 +- deps/v8/src/wasm/signature-map.h | 1 + deps/v8/src/wasm/streaming-decoder.cc | 11 + deps/v8/src/wasm/wasm-api.cc | 31 + deps/v8/src/wasm/wasm-api.h | 35 + deps/v8/src/wasm/wasm-code-specialization.cc | 62 +- deps/v8/src/wasm/wasm-code-specialization.h | 8 +- deps/v8/src/wasm/wasm-debug.cc | 224 +- deps/v8/src/wasm/wasm-interpreter.cc | 313 +- deps/v8/src/wasm/wasm-interpreter.h | 14 +- deps/v8/src/wasm/wasm-js.cc | 162 +- deps/v8/src/wasm/wasm-module-builder.cc | 23 +- deps/v8/src/wasm/wasm-module-builder.h | 5 + deps/v8/src/wasm/wasm-module.cc | 140 +- deps/v8/src/wasm/wasm-module.h | 185 +- deps/v8/src/wasm/wasm-objects.cc | 229 +- deps/v8/src/wasm/wasm-objects.h | 148 +- deps/v8/src/wasm/wasm-opcodes.h | 47 +- deps/v8/src/wasm/wasm-text.cc | 21 +- deps/v8/src/x64/assembler-x64-inl.h | 115 +- deps/v8/src/x64/assembler-x64.cc | 166 +- deps/v8/src/x64/assembler-x64.h | 35 +- deps/v8/src/x64/code-stubs-x64.cc | 1015 +----- deps/v8/src/x64/code-stubs-x64.h | 5 +- deps/v8/src/x64/codegen-x64.cc | 72 - deps/v8/src/x64/deoptimizer-x64.cc | 72 +- .../{frames-x64.cc => frame-constants-x64.cc} | 11 +- .../{frames-x64.h => frame-constants-x64.h} | 27 +- deps/v8/src/x64/interface-descriptors-x64.cc | 97 +- deps/v8/src/x64/macro-assembler-x64.cc | 1479 +-------- deps/v8/src/x64/macro-assembler-x64.h | 383 +-- deps/v8/src/zone/accounting-allocator.cc | 6 +- deps/v8/src/zone/zone-chunk-list.h | 2 +- deps/v8/src/zone/zone-containers.h | 32 + deps/v8/src/zone/zone-handle-set.h | 9 + deps/v8/src/zone/zone.cc | 2 +- deps/v8/test/cctest/BUILD.gn | 11 +- deps/v8/test/cctest/cctest.gyp | 11 +- deps/v8/test/cctest/cctest.h | 70 +- deps/v8/test/cctest/cctest.status | 8 + .../test/cctest/compiler/function-tester.cc | 30 +- .../cctest/compiler/test-code-assembler.cc | 9 +- .../cctest/compiler/test-code-generator.cc | 199 ++ .../test/cctest/compiler/test-gap-resolver.cc | 8 +- .../cctest/compiler/test-js-typed-lowering.cc | 195 +- deps/v8/test/cctest/compiler/test-linkage.cc | 21 +- .../compiler/test-loop-assignment-analysis.cc | 286 -- .../cctest/compiler/test-multiple-return.cc | 2 +- deps/v8/test/cctest/compiler/test-node.cc | 6 + deps/v8/test/cctest/compiler/test-operator.cc | 3 + .../test-run-bytecode-graph-builder.cc | 116 +- .../v8/test/cctest/compiler/test-run-deopt.cc | 5 - .../cctest/compiler/test-run-jsexceptions.cc | 14 - .../v8/test/cctest/compiler/test-run-jsops.cc | 2 - .../cctest/compiler/test-run-load-store.cc | 1 - .../test/cctest/compiler/test-run-machops.cc | 165 +- .../cctest/compiler/test-run-native-calls.cc | 2 +- .../cctest/compiler/test-run-stackcheck.cc | 1 - .../v8/test/cctest/compiler/test-run-stubs.cc | 128 +- .../cctest/compiler/test-run-variables.cc | 5 - .../cctest/compiler/test-run-wasm-machops.cc | 9 +- deps/v8/test/cctest/compiler/value-helper.h | 12 + deps/v8/test/cctest/heap/heap-tester.h | 40 +- deps/v8/test/cctest/heap/heap-utils.cc | 1 - deps/v8/test/cctest/heap/test-alloc.cc | 34 +- .../cctest/heap/test-array-buffer-tracker.cc | 10 +- deps/v8/test/cctest/heap/test-compaction.cc | 8 +- .../cctest/heap/test-concurrent-marking.cc | 11 +- deps/v8/test/cctest/heap/test-heap.cc | 722 ++--- .../cctest/heap/test-incremental-marking.cc | 40 +- .../cctest/heap/test-invalidated-slots.cc | 187 ++ deps/v8/test/cctest/heap/test-lab.cc | 2 + deps/v8/test/cctest/heap/test-mark-compact.cc | 13 +- .../test/cctest/heap/test-page-promotion.cc | 8 +- deps/v8/test/cctest/heap/test-spaces.cc | 114 +- .../bytecode-expectations-printer.cc | 4 +- .../ArrayLiterals.golden | 28 +- .../ArrayLiteralsWide.golden | 2 +- .../AssignmentsInBinaryExpression.golden | 50 +- .../AsyncGenerators.golden | 1175 +++---- .../BasicBlockToBoolean.golden | 6 +- .../bytecode_expectations/BasicLoops.golden | 108 +- .../BreakableBlocks.golden | 20 +- .../CallAndSpread.golden | 30 +- .../bytecode_expectations/CallGlobal.golden | 8 +- .../CallLookupSlot.golden | 36 +- .../bytecode_expectations/CallNew.golden | 12 +- .../bytecode_expectations/CallRuntime.golden | 2 +- .../ClassAndSuperClass.golden | 26 +- .../ClassDeclarations.golden | 34 +- .../bytecode_expectations/CompareNil.golden | 2 +- .../CompoundExpressions.golden | 24 +- .../bytecode_expectations/Conditional.golden | 2 +- .../ConstVariableContextSlot.golden | 8 +- .../ContextParameters.golden | 8 +- .../ContextVariables.golden | 24 +- .../CountOperators.golden | 66 +- .../CreateArguments.golden | 4 +- .../CreateRestParameter.golden | 8 +- .../DeclareGlobals.golden | 10 +- .../bytecode_expectations/Delete.golden | 10 +- .../bytecode_expectations/DoExpression.golden | 2 +- .../bytecode_expectations/Eval.golden | 28 +- .../bytecode_expectations/ForAwaitOf.golden | 1086 +++---- .../bytecode_expectations/ForIn.golden | 34 +- .../bytecode_expectations/ForOf.golden | 136 +- .../bytecode_expectations/ForOfLoop.golden | 885 +++-- .../FunctionLiterals.golden | 10 +- .../GenerateTestUndetectable.golden | 16 +- .../bytecode_expectations/Generators.golden | 462 ++- .../GlobalCompoundExpressions.golden | 12 +- .../GlobalCountOperators.golden | 28 +- .../bytecode_expectations/GlobalDelete.golden | 26 +- .../bytecode_expectations/IfConditions.golden | 26 +- .../JumpsRequiringConstantWideOperands.golden | 8 +- .../LetVariableContextSlot.golden | 8 +- .../bytecode_expectations/LoadGlobal.golden | 266 +- .../LogicalExpressions.golden | 8 +- .../bytecode_expectations/LookupSlot.golden | 146 +- .../LookupSlotInEval.golden | 4 +- .../LookupSlotWideInEval.golden | 4 +- .../bytecode_expectations/Modules.golden | 384 +-- .../bytecode_expectations/NewAndSpread.golden | 24 +- .../bytecode_expectations/NewTarget.golden | 8 +- .../ObjectLiterals.golden | 80 +- .../ObjectLiteralsWide.golden | 2 +- .../OuterContextVariables.golden | 2 +- .../PrimitiveExpressions.golden | 44 +- .../bytecode_expectations/PropertyCall.golden | 288 +- .../PropertyLoads.golden | 532 +-- .../PropertyStores.golden | 1056 +++--- .../RegExpLiterals.golden | 10 +- .../RegExpLiteralsWide.golden | 2 +- .../RemoveRedundantLdar.golden | 10 +- .../StandardForLoop.golden | 401 ++- .../bytecode_expectations/StoreGlobal.golden | 528 +-- .../bytecode_expectations/StringConcat.golden | 38 +- .../SuperCallAndSpread.golden | 24 +- .../bytecode_expectations/Switch.golden | 34 +- .../TopLevelObjectLiterals.golden | 8 +- .../bytecode_expectations/TryFinally.golden | 15 +- .../bytecode_expectations/Typeof.golden | 2 +- .../UnaryOperators.golden | 18 +- .../WideRegisters.golden | 16 +- .../WithStatement.golden | 2 +- .../generate-bytecode-expectations.cc | 5 +- .../cctest/interpreter/interpreter-tester.cc | 1 - .../cctest/interpreter/interpreter-tester.h | 2 +- .../interpreter/test-bytecode-generator.cc | 1 - .../cctest/interpreter/test-interpreter.cc | 157 +- .../interpreter/test-source-positions.cc | 4 - .../cctest/parsing/test-parse-decision.cc | 6 +- deps/v8/test/cctest/parsing/test-preparser.cc | 127 +- deps/v8/test/cctest/parsing/test-scanner.cc | 6 +- deps/v8/test/cctest/print-extension.cc | 2 +- deps/v8/test/cctest/test-allocation.cc | 154 + deps/v8/test/cctest/test-api-interceptors.cc | 10 +- deps/v8/test/cctest/test-api.cc | 482 +-- deps/v8/test/cctest/test-api.h | 5 + deps/v8/test/cctest/test-assembler-arm64.cc | 90 +- deps/v8/test/cctest/test-assembler-ia32.cc | 57 - deps/v8/test/cctest/test-assembler-mips.cc | 652 ++++ deps/v8/test/cctest/test-assembler-mips64.cc | 659 +++- deps/v8/test/cctest/test-assembler-x64.cc | 6 +- deps/v8/test/cctest/test-ast.cc | 67 - deps/v8/test/cctest/test-bignum-dtoa.cc | 7 +- deps/v8/test/cctest/test-bignum.cc | 7 +- deps/v8/test/cctest/test-bit-vector.cc | 6 +- deps/v8/test/cctest/test-code-cache.cc | 11 +- deps/v8/test/cctest/test-code-layout.cc | 6 +- .../test/cctest/test-code-stub-assembler.cc | 96 +- deps/v8/test/cctest/test-code-stubs-arm.cc | 6 +- deps/v8/test/cctest/test-code-stubs-arm64.cc | 6 +- deps/v8/test/cctest/test-code-stubs-ia32.cc | 6 +- deps/v8/test/cctest/test-code-stubs-mips.cc | 6 +- deps/v8/test/cctest/test-code-stubs-mips64.cc | 2 +- deps/v8/test/cctest/test-code-stubs-x64.cc | 2 +- deps/v8/test/cctest/test-compiler.cc | 7 +- deps/v8/test/cctest/test-constantpool.cc | 6 +- deps/v8/test/cctest/test-conversions.cc | 7 +- deps/v8/test/cctest/test-cpu-profiler.cc | 63 +- deps/v8/test/cctest/test-date.cc | 6 +- deps/v8/test/cctest/test-debug.cc | 251 +- deps/v8/test/cctest/test-decls.cc | 4 +- deps/v8/test/cctest/test-deoptimization.cc | 2 +- deps/v8/test/cctest/test-dictionary.cc | 34 +- deps/v8/test/cctest/test-disasm-arm.cc | 3 +- deps/v8/test/cctest/test-disasm-arm64.cc | 13 + deps/v8/test/cctest/test-disasm-ia32.cc | 32 +- deps/v8/test/cctest/test-disasm-mips.cc | 13 + deps/v8/test/cctest/test-disasm-mips64.cc | 17 + deps/v8/test/cctest/test-disasm-ppc.cc | 1 + deps/v8/test/cctest/test-disasm-s390.cc | 1 + deps/v8/test/cctest/test-disasm-x64.cc | 10 +- deps/v8/test/cctest/test-diy-fp.cc | 8 +- deps/v8/test/cctest/test-double.cc | 8 +- deps/v8/test/cctest/test-dtoa.cc | 8 +- deps/v8/test/cctest/test-elements-kind.cc | 7 +- deps/v8/test/cctest/test-fast-dtoa.cc | 6 +- deps/v8/test/cctest/test-feedback-vector.cc | 48 +- deps/v8/test/cctest/test-feedback-vector.h | 2 +- .../test/cctest/test-field-type-tracking.cc | 27 +- deps/v8/test/cctest/test-fixed-dtoa.cc | 6 +- deps/v8/test/cctest/test-flags.cc | 6 +- deps/v8/test/cctest/test-global-handles.cc | 6 +- deps/v8/test/cctest/test-global-object.cc | 2 +- deps/v8/test/cctest/test-hashcode.cc | 231 ++ deps/v8/test/cctest/test-hashing.cc | 173 - deps/v8/test/cctest/test-heap-profiler.cc | 632 ++-- deps/v8/test/cctest/test-identity-map.cc | 4 +- .../cctest/test-inobject-slack-tracking.cc | 13 +- deps/v8/test/cctest/test-list.cc | 6 +- deps/v8/test/cctest/test-liveedit.cc | 7 +- deps/v8/test/cctest/test-lockers.cc | 61 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 18 +- deps/v8/test/cctest/test-log.cc | 4 +- .../test/cctest/test-macro-assembler-ia32.cc | 161 - .../test/cctest/test-macro-assembler-mips.cc | 4 +- .../cctest/test-macro-assembler-mips64.cc | 339 +- .../test/cctest/test-macro-assembler-x64.cc | 1231 +------ deps/v8/test/cctest/test-managed.cc | 7 +- deps/v8/test/cctest/test-mementos.cc | 7 +- deps/v8/test/cctest/test-object.cc | 6 +- deps/v8/test/cctest/test-orderedhashtable.cc | 47 +- deps/v8/test/cctest/test-parsing.cc | 370 +-- deps/v8/test/cctest/test-platform-linux.cc | 7 +- deps/v8/test/cctest/test-profile-generator.cc | 29 +- .../cctest/test-random-number-generator.cc | 7 +- deps/v8/test/cctest/test-regexp.cc | 11 +- deps/v8/test/cctest/test-representation.cc | 7 +- .../cctest/test-run-wasm-relocation-ia32.cc | 2 +- .../cctest/test-run-wasm-relocation-x64.cc | 9 +- deps/v8/test/cctest/test-serialize.cc | 631 ++-- deps/v8/test/cctest/test-strings.cc | 13 +- deps/v8/test/cctest/test-strtod.cc | 6 +- deps/v8/test/cctest/test-symbols.cc | 7 +- deps/v8/test/cctest/test-threads.cc | 16 +- deps/v8/test/cctest/test-trace-event.cc | 112 +- deps/v8/test/cctest/test-transitions.cc | 163 +- deps/v8/test/cctest/test-transitions.h | 31 + deps/v8/test/cctest/test-typedarrays.cc | 6 +- deps/v8/test/cctest/test-types.cc | 9 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 15 +- deps/v8/test/cctest/test-usecounters.cc | 26 + deps/v8/test/cctest/test-utils.cc | 7 +- deps/v8/test/cctest/test-version.cc | 9 +- deps/v8/test/cctest/test-weakmaps.cc | 16 +- deps/v8/test/cctest/test-weaksets.cc | 14 +- deps/v8/test/cctest/wasm/OWNERS | 1 + deps/v8/test/cctest/wasm/test-c-wasm-entry.cc | 197 ++ deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 74 +- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 82 +- .../test/cctest/wasm/test-run-wasm-atomics.cc | 188 ++ .../cctest/wasm/test-run-wasm-interpreter.cc | 18 +- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 29 +- .../cctest/wasm/test-run-wasm-relocation.cc | 10 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 66 +- deps/v8/test/cctest/wasm/test-run-wasm.cc | 284 +- .../test/cctest/wasm/test-wasm-breakpoints.cc | 20 +- .../wasm/test-wasm-interpreter-entry.cc | 4 +- deps/v8/test/cctest/wasm/test-wasm-stack.cc | 36 +- .../cctest/wasm/test-wasm-trap-position.cc | 27 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 315 +- .../v8/test/common/wasm/wasm-module-runner.cc | 7 +- .../debug/debug-evaluate-locals-capturing.js | 1 + .../debug-evaluate-locals-optimized-double.js | 1 - .../debug/debug-evaluate-locals-optimized.js | 1 - ...debug-evaluate-modify-catch-block-scope.js | 1 + .../debug-evaluate-no-side-effect-async.js | 2 - ...ebug-evaluate-no-side-effect-builtins-2.js | 2 - .../debug-evaluate-no-side-effect-builtins.js | 2 - .../debug-evaluate-no-side-effect-control.js | 2 - .../debug-evaluate-no-side-effect-iife.js | 2 - .../debug-evaluate-no-side-effect-ops.js | 2 - .../debug/debug-evaluate-no-side-effect.js | 2 - deps/v8/test/debugger/debug/debug-optimize.js | 2 +- deps/v8/test/debugger/debug/debug-receiver.js | 2 +- .../debug-scopes-suspended-generators.js | 6 +- deps/v8/test/debugger/debug/debug-script.js | 2 +- .../debugger/debug/debug-stepin-accessor.js | 2 +- .../debug-stepin-property-function-call.js | 2 +- .../debug/regress/regress-crbug-171715.js | 1 + .../regress-debug-code-recompilation.js | 2 - deps/v8/test/debugger/debugger.status | 20 - .../test/debugger/regress/regress-5901-1.js | 2 - deps/v8/test/fuzzer/regexp.cc | 14 +- deps/v8/test/fuzzer/wasm-async.cc | 14 +- deps/v8/test/fuzzer/wasm-call.cc | 12 + deps/v8/test/fuzzer/wasm-code.cc | 12 + deps/v8/test/fuzzer/wasm-compile.cc | 12 + deps/v8/test/fuzzer/wasm-data-section.cc | 5 +- .../test/fuzzer/wasm-function-sigs-section.cc | 5 +- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 11 + deps/v8/test/fuzzer/wasm-globals-section.cc | 5 +- deps/v8/test/fuzzer/wasm-imports-section.cc | 5 +- deps/v8/test/fuzzer/wasm-memory-section.cc | 5 +- deps/v8/test/fuzzer/wasm-names-section.cc | 5 +- deps/v8/test/fuzzer/wasm-types-section.cc | 5 +- deps/v8/test/fuzzer/wasm_async/valid.wasm | Bin 0 -> 99 bytes .../console/let-const-with-api-expected.txt | 20 - .../inspector/console/let-const-with-api.js | 54 - .../console/scoped-variables-expected.txt | 41 + .../inspector/console/scoped-variables.js | 26 + .../cpu-profiler/coverage-block-expected.txt | 121 +- .../inspector/cpu-profiler/coverage-block.js | 20 +- .../cpu-profiler/coverage-expected.txt | 67 - .../test/inspector/cpu-profiler/coverage.js | 16 +- ...stop-without-preceeding-start-expected.txt | 2 +- .../stop-without-preceeding-start.js | 2 +- ...asm-js-breakpoint-before-exec-expected.txt | 38 +- ...asm-js-breakpoint-during-exec-expected.txt | 27 +- .../clear-breakpoints-on-disable-expected.txt | 5 + .../debugger/clear-breakpoints-on-disable.js | 28 + .../get-possible-breakpoints-master.js | 2 - ...sync-call-stack-depth-changed-expected.txt | 5 - .../max-async-call-stack-depth-changed.js | 16 - ...t-preview-internal-properties-expected.txt | 60 +- .../object-preview-internal-properties.js | 8 +- .../pause-at-negative-offset-expected.txt | 2 + .../debugger/pause-at-negative-offset.js | 15 + .../debugger/script-parsed-hash-expected.txt | 48 +- .../inspector/debugger/script-parsed-hash.js | 50 +- .../script-with-negative-offset-expected.txt | 19 - .../debugger/script-with-negative-offset.js | 31 - .../debugger/set-script-source-2-expected.txt | 73 + .../inspector/debugger/set-script-source-2.js | 97 + .../side-effect-free-debug-evaluate.js | 1 - deps/v8/test/inspector/debugger/step-into.js | 2 - deps/v8/test/inspector/inspector-test.cc | 42 +- deps/v8/test/inspector/inspector.isolate | 2 + deps/v8/test/inspector/inspector.status | 17 - deps/v8/test/inspector/isolate-data.cc | 28 +- deps/v8/test/inspector/isolate-data.h | 5 +- deps/v8/test/inspector/protocol-test.js | 20 +- .../call-function-on-async-expected.txt | 23 +- .../runtime/call-function-on-async.js | 205 +- .../runtime/command-line-api-expected.txt | 71 + .../inspector/runtime/command-line-api.js | 34 + .../runtime/evaluate-async-expected.txt | 82 +- .../test/inspector/runtime/evaluate-async.js | 125 +- .../length-or-size-description-expected.txt | 12 + .../runtime/length-or-size-description.js | 10 +- .../runtime/query-objects-expected.txt | 96 + .../test/inspector/runtime/query-objects.js | 139 + .../runtime/run-script-async-expected.txt | 12 +- .../inspector/runtime/run-script-async.js | 2 +- ...able-preserve-injected-script-expected.txt | 26 + ...untime-disable-preserve-injected-script.js | 25 + .../sessions/create-session-expected.txt | 8 +- ...gger-stepping-and-breakpoints-expected.txt | 105 +- .../debugger-stepping-and-breakpoints.js | 22 +- .../pause-on-console-assert-expected.txt | 10 +- .../runtime-console-api-called-expected.txt | 16 +- .../runtime-evaluate-exception-expected.txt | 24 +- deps/v8/test/inspector/task-runner.cc | 11 +- deps/v8/test/intl/general/case-mapping.js | 2 +- deps/v8/test/intl/general/invalid-locale.js | 39 + deps/v8/test/js-perf-test/Array/join.js | 52 + deps/v8/test/js-perf-test/Array/run.js | 2 + deps/v8/test/js-perf-test/Array/to-string.js | 52 + .../js-perf-test/Classes/leaf-constructors.js | 31 + deps/v8/test/js-perf-test/Classes/run.js | 1 + .../test/js-perf-test/Inspector/debugger.js | 41 +- deps/v8/test/js-perf-test/Inspector/run.js | 8 + deps/v8/test/js-perf-test/JSTests.json | 77 +- .../ManyClosures/create-many-closures.js | 51 + deps/v8/test/js-perf-test/ManyClosures/run.js | 26 + .../test/js-perf-test/Modules/basic-export.js | 55 +- .../test/js-perf-test/Modules/basic-import.js | 57 +- .../js-perf-test/Modules/basic-namespace.js | 34 +- deps/v8/test/js-perf-test/Modules/run.js | 10 +- deps/v8/test/js-perf-test/Modules/value.js | 21 + deps/v8/test/js-perf-test/Proxies/proxies.js | 314 +- .../TypedArrays/set-from-arraylike.js | 16 + .../TypedArrays/set-from-different-type.js | 42 + .../TypedArrays/set-from-same-type.js | 17 + ...e-inferrer-arg-1.js => await-non-async.js} | 7 +- deps/v8/test/message/await-non-async.out | 4 + .../message/call-undeclared-constructor.js | 5 + .../message/call-undeclared-constructor.out | 9 + .../destructuring-function-non-iterable.js | 6 + .../destructuring-function-non-iterable.out | 5 + ...destructuring-new-callable-non-iterable.js | 6 + ...estructuring-new-callable-non-iterable.out | 5 + ...destructuring-non-function-non-iterable.js | 6 + ...estructuring-non-function-non-iterable.out | 5 + .../message/fail/func-name-inferrer-arg-1.out | 8 - .../message/fail/func-name-inferrer-arg.out | 7 - deps/v8/test/message/get-iterator1.out | 4 +- .../v8/test/message/regress/regress-4829-1.js | 2 + .../test/message/regress/regress-4829-1.out | 2 +- .../v8/test/message/regress/regress-4829-2.js | 2 + .../test/message/regress/regress-4829-2.out | 2 +- deps/v8/test/message/testcfg.py | 2 +- deps/v8/test/message/typedarray.js | 6 + deps/v8/test/message/typedarray.out | 9 + deps/v8/test/message/var-conflict-in-with.js | 5 + deps/v8/test/message/var-conflict-in-with.out | 4 + .../mjsunit/accessors-on-global-object.js | 8 +- deps/v8/test/mjsunit/allocation-site-info.js | 3 +- deps/v8/test/mjsunit/arguments.js | 10 +- .../mjsunit/array-constructor-feedback.js | 3 +- deps/v8/test/mjsunit/array-feedback.js | 161 +- .../v8/test/mjsunit/array-literal-feedback.js | 146 +- .../test/mjsunit/array-literal-transitions.js | 9 +- deps/v8/test/mjsunit/array-push5.js | 2 +- deps/v8/test/mjsunit/array-shift5.js | 15 + deps/v8/test/mjsunit/array-store-and-grow.js | 2 +- deps/v8/test/mjsunit/asm/poppler/poppler.js | 4 +- deps/v8/test/mjsunit/asm/regress-674089.js | 2 +- deps/v8/test/mjsunit/assert-opt-and-deopt.js | 164 - deps/v8/test/mjsunit/code-coverage-ad-hoc.js | 25 +- .../test/mjsunit/code-coverage-block-noopt.js | 43 + .../test/mjsunit/code-coverage-block-opt.js | 46 + deps/v8/test/mjsunit/code-coverage-block.js | 221 +- deps/v8/test/mjsunit/code-coverage-precise.js | 20 +- deps/v8/test/mjsunit/code-coverage-utils.js | 49 + .../mjsunit/compiler/alloc-object-huge.js | 4 +- ...-no-harmony-restrict-constructor-return.js | 2 +- .../mjsunit/compiler/constructor-inlining.js | 2 +- .../mjsunit/compiler/deopt-eager-and-lazy.js | 27 + .../compiler/deopt-eager-var-mutation-ite.js | 28 + .../compiler/deopt-eager-with-freeze.js | 20 + .../mjsunit/compiler/deopt-followed-by-gc.js | 23 + .../compiler/deopt-inlined-from-call.js | 2 +- .../mjsunit/compiler/deopt-lazy-freeze.js | 28 + .../compiler/deopt-lazy-shape-mutation.js | 23 + .../compiler/deopt-lazy-var-mutation.js | 26 + .../test/mjsunit/compiler/deopt-many-lazy.js | 33 + .../test/mjsunit/compiler/deopt-now-lazy.js | 12 + .../mjsunit/compiler/deopt-simple-eager.js | 17 + .../mjsunit/compiler/deopt-simple-lazy.js | 19 + .../mjsunit/compiler/deopt-soft-simple.js | 21 + .../mjsunit/compiler/deopt-twice-on-call.js | 22 + deps/v8/test/mjsunit/compiler/deopt-twice.js | 18 + .../mjsunit/compiler/deoptimize-lazy-weak.js | 47 + .../mjsunit/compiler/escape-analysis-cycle.js | 22 + ...cape-analysis-type-none-in-object-state.js | 23 + .../compiler/escape-analysis-typeguard.js | 23 + ...ative-context-specialization-hole-check.js | 2 +- ...ve-context-specialization-string-concat.js | 4 +- .../v8/test/mjsunit/compiler/osr-try-catch.js | 59 + .../test/mjsunit/compiler/regress-758983.js | 19 + .../test/mjsunit/compiler/regress-v8-6631.js | 22 + .../mjsunit/compiler/string-add-try-catch.js | 2 +- .../compiler/string-concat-try-catch.js | 2 +- deps/v8/test/mjsunit/count-based-osr.js | 38 - deps/v8/test/mjsunit/cyrillic.js | 2 +- deps/v8/test/mjsunit/d8-worker.js | 9 + deps/v8/test/mjsunit/date-parse.js | 2 +- .../mjsunit/deopt-recursive-eager-once.js | 5 +- .../test/mjsunit/deopt-recursive-lazy-once.js | 5 +- .../test/mjsunit/deopt-recursive-soft-once.js | 5 +- deps/v8/test/mjsunit/deopt-unlinked.js | 6 +- deps/v8/test/mjsunit/deopt-with-fp-regs.js | 2 +- .../mjsunit/ensure-growing-store-learns.js | 2 +- deps/v8/test/mjsunit/es6/array-species.js | 5 +- deps/v8/test/mjsunit/es6/new-target.js | 62 + deps/v8/test/mjsunit/es6/proxies-construct.js | 14 + deps/v8/test/mjsunit/es6/proxies-get.js | 86 + deps/v8/test/mjsunit/es6/proxies-has.js | 67 +- .../mjsunit/es6/reflect-define-property.js | 2 +- deps/v8/test/mjsunit/es6/templates.js | 2 + deps/v8/test/mjsunit/es6/typedarray-slice.js | 2 +- deps/v8/test/mjsunit/es6/typedarray.js | 5 + deps/v8/test/mjsunit/es8/async-await-basic.js | 39 + deps/v8/test/mjsunit/field-type-tracking.js | 2 +- deps/v8/test/mjsunit/getters-on-elements.js | 2 +- .../harmony/async-generators-resume-return.js | 150 + .../harmony/async-generators-return.js | 119 + .../mjsunit/harmony/async-generators-yield.js | 68 + .../do-expressions-arrow-param-scope.js | 95 + .../v8/test/mjsunit/harmony/do-expressions.js | 3 +- .../harmony/intl-pluralrules-select.js | 52 + .../test/mjsunit/harmony/modules-import-16.js | 36 + .../test/mjsunit/harmony/private-symbols.js | 3 +- .../harmony/promise-prototype-finally.js | 659 ++-- .../mjsunit/harmony/regexp-dotall-disabled.js | 71 - deps/v8/test/mjsunit/harmony/regexp-dotall.js | 2 - .../harmony/regexp-property-char-class.js | 3 +- deps/v8/test/mjsunit/hash-code.js | 25 + .../ignition/ignition-statistics-extension.js | 2 +- .../mjsunit/ignition/osr-from-bytecode.js | 2 +- deps/v8/test/mjsunit/ignition/print-ast.js | 13 + .../ignition/regress-599001-verifyheap.js | 2 +- .../test/mjsunit/ignition/regress-616064.js | 2 - .../v8/test/mjsunit/ignition/throw-if-hole.js | 2 +- .../mjsunit/keyed-load-hole-to-undefined.js | 3 +- .../mjsunit/keyed-load-with-symbol-key.js | 2 +- deps/v8/test/mjsunit/large-object-literal.js | 2 +- deps/v8/test/mjsunit/messages.js | 21 +- deps/v8/test/mjsunit/migrations.js | 2 +- deps/v8/test/mjsunit/mjsunit.js | 131 +- deps/v8/test/mjsunit/mjsunit.status | 31 +- deps/v8/test/mjsunit/modules-init4.js | 8 + deps/v8/test/mjsunit/modules-skip-init4a.js | 8 + deps/v8/test/mjsunit/modules-skip-init4b.js | 7 + deps/v8/test/mjsunit/never-baseline.js | 24 - .../v8/test/mjsunit/object-define-property.js | 2 +- deps/v8/test/mjsunit/object-seal.js | 2 +- deps/v8/test/mjsunit/optimized-foreach.js | 36 +- deps/v8/test/mjsunit/optimized-map.js | 73 +- deps/v8/test/mjsunit/parse-tasks.js | 55 - deps/v8/test/mjsunit/regress/regress-1708.js | 2 +- deps/v8/test/mjsunit/regress/regress-2595.js | 2 +- deps/v8/test/mjsunit/regress/regress-2618.js | 15 +- .../v8/test/mjsunit/regress/regress-336820.js | 2 +- .../v8/test/mjsunit/regress/regress-347914.js | 3 +- .../v8/test/mjsunit/regress/regress-3650-3.js | 2 +- deps/v8/test/mjsunit/regress/regress-3709.js | 2 +- deps/v8/test/mjsunit/regress/regress-3718.js | 1 + .../v8/test/mjsunit/regress/regress-385565.js | 2 +- deps/v8/test/mjsunit/regress/regress-394.js | 4 +- deps/v8/test/mjsunit/regress/regress-5252.js | 2 +- deps/v8/test/mjsunit/regress/regress-5262.js | 2 +- deps/v8/test/mjsunit/regress/regress-5404.js | 6 +- .../v8/test/mjsunit/regress/regress-605470.js | 2 - .../v8/test/mjsunit/regress/regress-618657.js | 2 - deps/v8/test/mjsunit/regress/regress-6288.js | 2 +- .../v8/test/mjsunit/regress/regress-632289.js | 2 +- .../v8/test/mjsunit/regress/regress-639270.js | 2 +- .../v8/test/mjsunit/regress/regress-653407.js | 2 +- .../v8/test/mjsunit/regress/regress-655573.js | 2 + deps/v8/test/mjsunit/regress/regress-6677.js | 27 + deps/v8/test/mjsunit/regress/regress-6681.js | 10 + deps/v8/test/mjsunit/regress/regress-6700.js | 90 + deps/v8/test/mjsunit/regress/regress-6707.js | 13 + deps/v8/test/mjsunit/regress/regress-6708.js | 12 + deps/v8/test/mjsunit/regress/regress-6733.js | 22 + .../v8/test/mjsunit/regress/regress-677685.js | 2 +- .../v8/test/mjsunit/regress/regress-678917.js | 2 +- .../v8/test/mjsunit/regress/regress-718891.js | 2 +- .../v8/test/mjsunit/regress/regress-746909.js | 8 + .../v8/test/mjsunit/regress/regress-748069.js | 12 + .../v8/test/mjsunit/regress/regress-751789.js | 5 + .../v8/test/mjsunit/regress/regress-752764.js | 8 + .../v8/test/mjsunit/regress/regress-756608.js | 7 + .../v8/test/mjsunit/regress/regress-758763.js | 7 + .../v8/test/mjsunit/regress/regress-761831.js | 13 + .../v8/test/mjsunit/regress/regress-776338.js | 44 + .../mjsunit/regress/regress-crbug-632800.js | 2 +- .../mjsunit/regress/regress-crbug-635923.js | 2 +- .../mjsunit/regress/regress-crbug-638551.js | 2 +- .../mjsunit/regress/regress-crbug-644111.js | 2 +- .../mjsunit/regress/regress-crbug-645103.js | 2 +- .../mjsunit/regress/regress-crbug-645888.js | 2 +- .../mjsunit/regress/regress-crbug-647217.js | 2 +- .../mjsunit/regress/regress-crbug-651403.js | 2 +- .../mjsunit/regress/regress-crbug-658691.js | 2 +- .../mjsunit/regress/regress-crbug-668795.js | 2 +- .../mjsunit/regress/regress-crbug-702798.js | 2 +- .../mjsunit/regress/regress-crbug-722783.js | 21 + .../mjsunit/regress/regress-crbug-740398.js | 8 +- .../mjsunit/regress/regress-crbug-740591.js | 32 + .../mjsunit/regress/regress-crbug-743154.js | 22 + .../mjsunit/regress/regress-crbug-746835.js | 112 + .../mjsunit/regress/regress-crbug-747062.js | 37 + .../regress/regress-crbug-751109.js} | 7 +- .../mjsunit/regress/regress-crbug-751715.js | 16 + .../mjsunit/regress/regress-crbug-752481.js | 32 + .../mjsunit/regress/regress-crbug-752712.js | 24 + .../mjsunit/regress/regress-crbug-752826.js | 22 + .../mjsunit/regress/regress-crbug-752846.js | 21 + .../mjsunit/regress/regress-crbug-754175.js | 19 + .../mjsunit/regress/regress-crbug-754177.js | 12 + .../mjsunit/regress/regress-crbug-755044.js | 15 + .../mjsunit/regress/regress-crbug-756332.js | 13 + .../mjsunit/regress/regress-crbug-757199.js | 31 + .../mjsunit/regress/regress-crbug-758773.js | 6 + .../mjsunit/regress/regress-crbug-759327.js | 23 + .../mjsunit/regress/regress-crbug-762472.js | 26 + .../mjsunit/regress/regress-crbug-762874-1.js | 2 +- .../mjsunit/regress/regress-crbug-762874-2.js | 2 +- .../mjsunit/regress/regress-crbug-763683.js | 22 + .../mjsunit/regress/regress-crbug-768158.js | 23 + .../mjsunit/regress/regress-crbug-771428.js | 24 + .../regress/regress-regexp-codeflush.js | 2 +- .../test/mjsunit/regress/regress-v8-6706.js | 37 + .../test/mjsunit/regress/regress-v8-6712.js | 16 + .../mjsunit/regress/wasm/regress-776677.js | 30 + .../mjsunit/regress/wasm/regression-648079.js | 5 + .../mjsunit/regress/wasm/regression-702460.js | 5 + .../mjsunit/regress/wasm/regression-739768.js | 2 +- .../mjsunit/regress/wasm/regression-753496.js | 17 + .../mjsunit/regress/wasm/regression-757217.js | 20 + .../mjsunit/regress/wasm/regression-763439.js | 22 + .../mjsunit/shared-function-tier-up-turbo.js | 2 +- .../skipping-inner-functions-bailout.js | 78 + .../test/mjsunit/skipping-inner-functions.js | 96 +- deps/v8/test/mjsunit/smi-mul-const.js | 2 +- deps/v8/test/mjsunit/smi-mul.js | 2 +- deps/v8/test/mjsunit/stack-traces-custom.js | 25 + deps/v8/test/mjsunit/string-oom-array-join.js | 7 +- ...g-oom-replace-global-regexp-with-string.js | 11 +- ...oom-replace-regexp-global-with-function.js | 8 +- .../type-profile/collect-type-profile.js | 14 +- deps/v8/test/mjsunit/unicode-test.js | 6 +- deps/v8/test/mjsunit/wasm/OWNERS | 1 + deps/v8/test/mjsunit/wasm/async-compile.js | 2 +- deps/v8/test/mjsunit/wasm/atomics.js | 257 ++ .../test/mjsunit/wasm/bounds-check-64bit.js | 33 + .../wasm/compiled-module-management.js | 2 + .../wasm/compiled-module-serialization.js | 2 +- deps/v8/test/mjsunit/wasm/errors.js | 105 +- deps/v8/test/mjsunit/wasm/exceptions.js | 80 +- deps/v8/test/mjsunit/wasm/export-global.js | 17 + .../mjsunit/wasm/grow-memory-in-branch.js | 292 ++ .../test/mjsunit/wasm/grow-memory-in-call.js | 437 +++ .../test/mjsunit/wasm/grow-memory-in-loop.js | 253 ++ deps/v8/test/mjsunit/wasm/grow-memory.js | 5 +- deps/v8/test/mjsunit/wasm/import-memory.js | 64 +- deps/v8/test/mjsunit/wasm/indirect-calls.js | 4 +- deps/v8/test/mjsunit/wasm/indirect-tables.js | 51 +- .../v8/test/mjsunit/wasm/interpreter-mixed.js | 117 + deps/v8/test/mjsunit/wasm/js-api.js | 34 +- deps/v8/test/mjsunit/wasm/jsapi-harness.js | 43 +- deps/v8/test/mjsunit/wasm/many-parameters.js | 55 + deps/v8/test/mjsunit/wasm/memory.js | 3 +- deps/v8/test/mjsunit/wasm/table-grow.js | 302 ++ deps/v8/test/mjsunit/wasm/table.js | 4 + .../mjsunit/wasm/test-wasm-module-builder.js | 9 + deps/v8/test/mjsunit/wasm/trap-location.js | 46 +- deps/v8/test/mjsunit/wasm/wasm-constants.js | 87 +- .../test/mjsunit/wasm/wasm-module-builder.js | 61 +- deps/v8/test/mozilla/mozilla.status | 8 +- deps/v8/test/promises-aplus/lib/require.js | 2 +- deps/v8/test/test262/test262.status | 80 +- deps/v8/test/test262/testcfg.py | 1 - deps/v8/test/unittests/BUILD.gn | 6 +- .../unittests/api/remote-object-unittest.cc | 6 +- .../test/unittests/api/v8-object-unittest.cc | 194 ++ .../unittests/asmjs/asm-scanner-unittest.cc | 144 +- .../unittests/asmjs/asm-types-unittest.cc | 198 -- .../unittests/base/atomic-utils-unittest.cc | 272 +- .../v8/test/unittests/base/macros-unittest.cc | 25 + .../test/unittests/base/ostreams-unittest.cc | 67 + .../unittests/base/platform/time-unittest.cc | 4 +- .../unittests/base/template-utils-unittest.cc | 84 + .../compiler-dispatcher-tracer-unittest.cc | 4 +- .../compiler-dispatcher-unittest.cc | 377 +-- .../optimizing-compile-dispatcher-unittest.cc | 10 +- ...cc => unoptimized-compile-job-unittest.cc} | 255 +- .../compiler/bytecode-analysis-unittest.cc | 74 +- .../compiler/graph-reducer-unittest.cc | 12 +- .../compiler/instruction-selector-unittest.cc | 2 +- .../compiler/js-builtin-reducer-unittest.cc | 3 +- .../js-intrinsic-lowering-unittest.cc | 3 +- .../compiler/js-operator-unittest.cc | 1 - .../compiler/js-typed-lowering-unittest.cc | 240 +- .../compiler/load-elimination-unittest.cc | 17 +- .../instruction-selector-mips-unittest.cc | 4 +- .../instruction-selector-mips64-unittest.cc | 4 +- .../unittests/compiler/node-test-utils.cc | 152 - .../unittests/compiler/persistent-unittest.cc | 126 + .../compiler/simplified-operator-unittest.cc | 75 - .../compiler/typed-optimization-unittest.cc | 4 +- deps/v8/test/unittests/heap/heap-unittest.cc | 21 +- .../test/unittests/heap/unmapper-unittest.cc | 2 - .../bytecode-array-builder-unittest.cc | 13 +- .../interpreter-assembler-unittest.cc | 21 - deps/v8/test/unittests/test-helpers.cc | 2 +- deps/v8/test/unittests/test-helpers.h | 11 - deps/v8/test/unittests/unittests.gyp | 6 +- .../unittests/value-serializer-unittest.cc | 28 +- deps/v8/test/unittests/wasm/OWNERS | 1 + .../wasm/function-body-decoder-unittest.cc | 350 +- .../unittests/wasm/module-decoder-unittest.cc | 196 +- .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 2 +- .../array-reset-large-index-expected.txt | 2 +- .../v8/test/webkit/array-reset-large-index.js | 2 +- deps/v8/test/webkit/dfg-inline-unused-this.js | 2 +- .../test/webkit/dfg-intrinsic-unused-this.js | 2 +- .../webkit/fast/js/kde/Number-expected.txt | 18 +- deps/v8/test/webkit/fast/js/kde/operators.js | 2 +- .../fast/js/number-tofixed-expected.txt | 20 +- .../fast/js/number-toprecision-expected.txt | 22 +- .../test/webkit/fast/js/read-modify-eval.js | 2 +- .../webkit/number-toExponential-expected.txt | 12 +- .../webkit/regexp-compile-crash-expected.txt | 2 +- deps/v8/test/webkit/regexp-compile-crash.js | 2 +- deps/v8/test/webkit/webkit.status | 4 +- deps/v8/tools/adb-d8.py | 241 ++ deps/v8/tools/callstats.html | 3 +- deps/v8/tools/callstats.py | 3 +- deps/v8/tools/check-unused-bailouts.sh | 23 +- deps/v8/tools/concatenate-files.py | 6 +- .../tools/foozzie/testdata/failure_output.txt | 4 +- deps/v8/tools/foozzie/v8_foozzie.py | 19 +- deps/v8/tools/gcmole/gcmole.lua | 11 +- deps/v8/tools/grokdump.py | 3 +- deps/v8/tools/ic-explorer.html | 13 +- deps/v8/tools/ic-processor.js | 29 - deps/v8/tools/js2c.py | 4 +- deps/v8/tools/linux-tick-processor | 3 +- deps/v8/tools/luci-go/linux64/isolate.sha1 | 2 +- deps/v8/tools/luci-go/mac64/isolate.sha1 | 2 +- deps/v8/tools/luci-go/win64/isolate.exe.sha1 | 2 +- deps/v8/tools/mb/docs/design_spec.md | 4 +- deps/v8/tools/mb/docs/user_guide.md | 27 +- deps/v8/tools/mb/mb.py | 592 ++-- deps/v8/tools/mb/mb_unittest.py | 274 +- deps/v8/tools/presubmit.py | 24 + deps/v8/tools/profile.js | 105 +- deps/v8/tools/profview/profile-utils.js | 19 +- deps/v8/tools/profview/profview.js | 12 + .../tools/profviz/gnuplot-4.6.3-emscripten.js | 4 +- deps/v8/tools/release/backport_node.py | 4 +- deps/v8/tools/release/test_backport_node.py | 2 +- deps/v8/tools/release/update_node.py | 2 +- deps/v8/tools/run-deopt-fuzzer.py | 1 + deps/v8/tools/run-tests.py | 22 +- deps/v8/tools/stats-viewer.py | 4 +- deps/v8/tools/testrunner/local/testsuite.py | 21 +- deps/v8/tools/testrunner/local/variants.py | 10 +- deps/v8/tools/testrunner/testrunner.isolate | 8 +- .../testrunner/utils/dump_build_config.py | 4 +- .../testrunner/utils/dump_build_config_gyp.py | 54 + deps/v8/tools/tickprocessor.js | 31 +- deps/v8/tools/ubsan/vptr_blacklist.txt | 12 + deps/v8/tools/v8heapconst.py | 317 +- deps/v8/tools/whitespace.txt | 2 +- 1543 files changed, 66262 insertions(+), 101544 deletions(-) create mode 100644 deps/v8/.editorconfig create mode 100755 deps/v8/gypfiles/run-tests-legacy.py rename deps/v8/src/arm/{frames-arm.cc => frame-constants-arm.cc} (80%) create mode 100644 deps/v8/src/arm/frame-constants-arm.h delete mode 100644 deps/v8/src/arm/frames-arm.h rename deps/v8/src/arm64/{frames-arm64.cc => frame-constants-arm64.cc} (77%) rename deps/v8/src/arm64/{frames-arm64.h => frame-constants-arm64.h} (56%) create mode 100644 deps/v8/src/base/atomicops_internals_std.h delete mode 100644 deps/v8/src/base/atomicops_internals_x86_msvc.h rename deps/v8/src/{float.h => boxed-float.h} (85%) delete mode 100644 deps/v8/src/builtins/builtins-conversion-gen.h create mode 100644 deps/v8/src/builtins/builtins-proxy-gen.h create mode 100644 deps/v8/src/builtins/builtins-proxy-helpers-gen.cc create mode 100644 deps/v8/src/builtins/builtins-proxy-helpers-gen.h create mode 100644 deps/v8/src/compiler-dispatcher/unoptimized-compile-job.cc create mode 100644 deps/v8/src/compiler-dispatcher/unoptimized-compile-job.h delete mode 100644 deps/v8/src/compiler/ast-graph-builder.cc delete mode 100644 deps/v8/src/compiler/ast-graph-builder.h delete mode 100644 deps/v8/src/compiler/ast-loop-assignment-analyzer.cc delete mode 100644 deps/v8/src/compiler/ast-loop-assignment-analyzer.h delete mode 100644 deps/v8/src/compiler/check-elimination.cc delete mode 100644 deps/v8/src/compiler/check-elimination.h delete mode 100644 deps/v8/src/compiler/control-builders.cc delete mode 100644 deps/v8/src/compiler/control-builders.h delete mode 100644 deps/v8/src/compiler/js-frame-specialization.cc delete mode 100644 deps/v8/src/compiler/js-frame-specialization.h create mode 100644 deps/v8/src/compiler/new-escape-analysis-reducer.cc create mode 100644 deps/v8/src/compiler/new-escape-analysis-reducer.h create mode 100644 deps/v8/src/compiler/new-escape-analysis.cc create mode 100644 deps/v8/src/compiler/new-escape-analysis.h create mode 100644 deps/v8/src/compiler/persistent-map.h create mode 100644 deps/v8/src/debug/debug-scope-iterator.cc create mode 100644 deps/v8/src/debug/debug-scope-iterator.h create mode 100644 deps/v8/src/debug/debug-stack-trace-iterator.cc create mode 100644 deps/v8/src/debug/debug-stack-trace-iterator.h create mode 100644 deps/v8/src/frame-constants.h delete mode 100644 deps/v8/src/full-codegen/OWNERS delete mode 100644 deps/v8/src/full-codegen/arm/full-codegen-arm.cc delete mode 100644 deps/v8/src/full-codegen/arm64/full-codegen-arm64.cc delete mode 100644 deps/v8/src/full-codegen/full-codegen.cc delete mode 100644 deps/v8/src/full-codegen/full-codegen.h delete mode 100644 deps/v8/src/full-codegen/ia32/full-codegen-ia32.cc delete mode 100644 deps/v8/src/full-codegen/mips/OWNERS delete mode 100644 deps/v8/src/full-codegen/mips/full-codegen-mips.cc delete mode 100644 deps/v8/src/full-codegen/mips64/OWNERS delete mode 100644 deps/v8/src/full-codegen/mips64/full-codegen-mips64.cc delete mode 100644 deps/v8/src/full-codegen/ppc/OWNERS delete mode 100644 deps/v8/src/full-codegen/ppc/full-codegen-ppc.cc delete mode 100644 deps/v8/src/full-codegen/s390/OWNERS delete mode 100644 deps/v8/src/full-codegen/s390/full-codegen-s390.cc delete mode 100644 deps/v8/src/full-codegen/x64/full-codegen-x64.cc create mode 100644 deps/v8/src/heap/invalidated-slots-inl.h create mode 100644 deps/v8/src/heap/invalidated-slots.cc create mode 100644 deps/v8/src/heap/invalidated-slots.h rename deps/v8/src/ia32/{frames-ia32.cc => frame-constants-ia32.cc} (77%) rename deps/v8/src/ia32/{frames-ia32.h => frame-constants-ia32.h} (53%) delete mode 100644 deps/v8/src/ic/arm/ic-arm.cc delete mode 100644 deps/v8/src/ic/arm64/ic-arm64.cc create mode 100644 deps/v8/src/ic/handler-configuration.cc delete mode 100644 deps/v8/src/ic/ia32/ic-ia32.cc delete mode 100644 deps/v8/src/ic/ic-state.cc delete mode 100644 deps/v8/src/ic/ic-state.h delete mode 100644 deps/v8/src/ic/mips/ic-mips.cc delete mode 100644 deps/v8/src/ic/mips64/ic-mips64.cc delete mode 100644 deps/v8/src/ic/ppc/ic-ppc.cc delete mode 100644 deps/v8/src/ic/s390/ic-s390.cc delete mode 100644 deps/v8/src/ic/x64/ic-x64.cc delete mode 100644 deps/v8/src/inspector/debugger-script.js delete mode 100644 deps/v8/src/inspector/debugger_script_externs.js delete mode 100644 deps/v8/src/inspector/java-script-call-frame.cc delete mode 100644 deps/v8/src/inspector/java-script-call-frame.h rename deps/v8/src/inspector/{v8-value-copier.cc => v8-value-utils.cc} (62%) rename deps/v8/src/inspector/{v8-value-copier.h => v8-value-utils.h} (74%) delete mode 100644 deps/v8/src/js/collection.js rename deps/v8/src/mips/{frames-mips.cc => frame-constants-mips.cc} (77%) create mode 100644 deps/v8/src/mips/frame-constants-mips.h delete mode 100644 deps/v8/src/mips/frames-mips.h rename deps/v8/src/mips64/{frames-mips64.cc => frame-constants-mips64.cc} (77%) create mode 100644 deps/v8/src/mips64/frame-constants-mips64.h delete mode 100644 deps/v8/src/mips64/frames-mips64.h delete mode 100644 deps/v8/src/objects/module-info.h create mode 100644 deps/v8/src/objects/module-inl.h create mode 100644 deps/v8/src/objects/module.cc create mode 100644 deps/v8/src/objects/module.h rename deps/v8/src/parsing/{parameter-initializer-rewriter.cc => expression-scope-reparenter.cc} (60%) rename deps/v8/src/parsing/{parameter-initializer-rewriter.h => expression-scope-reparenter.h} (73%) rename deps/v8/src/ppc/{frames-ppc.cc => frame-constants-ppc.cc} (91%) create mode 100644 deps/v8/src/ppc/frame-constants-ppc.h delete mode 100644 deps/v8/src/ppc/frames-ppc.h create mode 100644 deps/v8/src/reglist.h rename deps/v8/src/s390/{frames-s390.cc => frame-constants-s390.cc} (79%) create mode 100644 deps/v8/src/s390/frame-constants-s390.h delete mode 100644 deps/v8/src/s390/frames-s390.h create mode 100644 deps/v8/src/snapshot/object-deserializer.cc create mode 100644 deps/v8/src/snapshot/object-deserializer.h create mode 100644 deps/v8/src/snapshot/partial-deserializer.cc create mode 100644 deps/v8/src/snapshot/partial-deserializer.h create mode 100644 deps/v8/src/snapshot/startup-deserializer.cc create mode 100644 deps/v8/src/snapshot/startup-deserializer.h create mode 100644 deps/v8/src/wasm/wasm-api.cc create mode 100644 deps/v8/src/wasm/wasm-api.h rename deps/v8/src/x64/{frames-x64.cc => frame-constants-x64.cc} (77%) rename deps/v8/src/x64/{frames-x64.h => frame-constants-x64.h} (70%) create mode 100644 deps/v8/test/cctest/compiler/test-code-generator.cc delete mode 100644 deps/v8/test/cctest/compiler/test-loop-assignment-analysis.cc create mode 100644 deps/v8/test/cctest/heap/test-invalidated-slots.cc create mode 100644 deps/v8/test/cctest/test-allocation.cc delete mode 100644 deps/v8/test/cctest/test-ast.cc create mode 100644 deps/v8/test/cctest/test-hashcode.cc delete mode 100644 deps/v8/test/cctest/test-hashing.cc delete mode 100644 deps/v8/test/cctest/test-macro-assembler-ia32.cc create mode 100644 deps/v8/test/cctest/test-transitions.h create mode 100644 deps/v8/test/cctest/wasm/test-c-wasm-entry.cc create mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-atomics.cc create mode 100644 deps/v8/test/fuzzer/wasm_async/valid.wasm delete mode 100644 deps/v8/test/inspector/console/let-const-with-api-expected.txt delete mode 100644 deps/v8/test/inspector/console/let-const-with-api.js create mode 100644 deps/v8/test/inspector/console/scoped-variables-expected.txt create mode 100644 deps/v8/test/inspector/console/scoped-variables.js create mode 100644 deps/v8/test/inspector/debugger/clear-breakpoints-on-disable-expected.txt create mode 100644 deps/v8/test/inspector/debugger/clear-breakpoints-on-disable.js delete mode 100644 deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed-expected.txt delete mode 100644 deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed.js create mode 100644 deps/v8/test/inspector/debugger/pause-at-negative-offset-expected.txt create mode 100644 deps/v8/test/inspector/debugger/pause-at-negative-offset.js delete mode 100644 deps/v8/test/inspector/debugger/script-with-negative-offset-expected.txt delete mode 100644 deps/v8/test/inspector/debugger/script-with-negative-offset.js create mode 100644 deps/v8/test/inspector/debugger/set-script-source-2-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-script-source-2.js create mode 100644 deps/v8/test/inspector/runtime/query-objects-expected.txt create mode 100644 deps/v8/test/inspector/runtime/query-objects.js create mode 100644 deps/v8/test/inspector/runtime/runtime-disable-preserve-injected-script-expected.txt create mode 100644 deps/v8/test/inspector/runtime/runtime-disable-preserve-injected-script.js create mode 100644 deps/v8/test/intl/general/invalid-locale.js create mode 100644 deps/v8/test/js-perf-test/Array/join.js create mode 100644 deps/v8/test/js-perf-test/Array/to-string.js create mode 100644 deps/v8/test/js-perf-test/Classes/leaf-constructors.js create mode 100644 deps/v8/test/js-perf-test/ManyClosures/create-many-closures.js create mode 100644 deps/v8/test/js-perf-test/ManyClosures/run.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/set-from-arraylike.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/set-from-different-type.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/set-from-same-type.js rename deps/v8/test/message/{fail/func-name-inferrer-arg-1.js => await-non-async.js} (62%) create mode 100644 deps/v8/test/message/await-non-async.out create mode 100644 deps/v8/test/message/call-undeclared-constructor.js create mode 100644 deps/v8/test/message/call-undeclared-constructor.out create mode 100644 deps/v8/test/message/destructuring-function-non-iterable.js create mode 100644 deps/v8/test/message/destructuring-function-non-iterable.out create mode 100644 deps/v8/test/message/destructuring-new-callable-non-iterable.js create mode 100644 deps/v8/test/message/destructuring-new-callable-non-iterable.out create mode 100644 deps/v8/test/message/destructuring-non-function-non-iterable.js create mode 100644 deps/v8/test/message/destructuring-non-function-non-iterable.out delete mode 100644 deps/v8/test/message/fail/func-name-inferrer-arg-1.out delete mode 100644 deps/v8/test/message/fail/func-name-inferrer-arg.out create mode 100644 deps/v8/test/message/typedarray.js create mode 100644 deps/v8/test/message/typedarray.out create mode 100644 deps/v8/test/message/var-conflict-in-with.js create mode 100644 deps/v8/test/message/var-conflict-in-with.out delete mode 100644 deps/v8/test/mjsunit/assert-opt-and-deopt.js create mode 100644 deps/v8/test/mjsunit/code-coverage-block-noopt.js create mode 100644 deps/v8/test/mjsunit/code-coverage-block-opt.js create mode 100644 deps/v8/test/mjsunit/code-coverage-utils.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-eager-and-lazy.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-eager-var-mutation-ite.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-eager-with-freeze.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-followed-by-gc.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-lazy-freeze.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-lazy-shape-mutation.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-lazy-var-mutation.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-many-lazy.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-now-lazy.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-simple-eager.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-simple-lazy.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-soft-simple.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-twice-on-call.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-twice.js create mode 100644 deps/v8/test/mjsunit/compiler/deoptimize-lazy-weak.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-cycle.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-type-none-in-object-state.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-typeguard.js create mode 100644 deps/v8/test/mjsunit/compiler/osr-try-catch.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-758983.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-v8-6631.js delete mode 100644 deps/v8/test/mjsunit/count-based-osr.js create mode 100644 deps/v8/test/mjsunit/harmony/async-generators-resume-return.js create mode 100644 deps/v8/test/mjsunit/harmony/async-generators-return.js create mode 100644 deps/v8/test/mjsunit/harmony/async-generators-yield.js create mode 100644 deps/v8/test/mjsunit/harmony/do-expressions-arrow-param-scope.js create mode 100644 deps/v8/test/mjsunit/harmony/intl-pluralrules-select.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-16.js delete mode 100644 deps/v8/test/mjsunit/harmony/regexp-dotall-disabled.js create mode 100644 deps/v8/test/mjsunit/hash-code.js create mode 100644 deps/v8/test/mjsunit/ignition/print-ast.js create mode 100644 deps/v8/test/mjsunit/modules-init4.js create mode 100644 deps/v8/test/mjsunit/modules-skip-init4a.js create mode 100644 deps/v8/test/mjsunit/modules-skip-init4b.js delete mode 100644 deps/v8/test/mjsunit/never-baseline.js delete mode 100644 deps/v8/test/mjsunit/parse-tasks.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6677.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6681.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6700.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6707.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6708.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6733.js create mode 100644 deps/v8/test/mjsunit/regress/regress-746909.js create mode 100644 deps/v8/test/mjsunit/regress/regress-748069.js create mode 100644 deps/v8/test/mjsunit/regress/regress-751789.js create mode 100644 deps/v8/test/mjsunit/regress/regress-752764.js create mode 100644 deps/v8/test/mjsunit/regress/regress-756608.js create mode 100644 deps/v8/test/mjsunit/regress/regress-758763.js create mode 100644 deps/v8/test/mjsunit/regress/regress-761831.js create mode 100644 deps/v8/test/mjsunit/regress/regress-776338.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-722783.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-743154.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-746835.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-747062.js rename deps/v8/test/{message/fail/func-name-inferrer-arg.js => mjsunit/regress/regress-crbug-751109.js} (69%) create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-751715.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-752481.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-752712.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-752826.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-752846.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-754175.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-754177.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-755044.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-756332.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-757199.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-758773.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-759327.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-762472.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-763683.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-768158.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-771428.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-6706.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-6712.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-776677.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-753496.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-757217.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-763439.js create mode 100644 deps/v8/test/mjsunit/skipping-inner-functions-bailout.js create mode 100644 deps/v8/test/mjsunit/wasm/atomics.js create mode 100644 deps/v8/test/mjsunit/wasm/bounds-check-64bit.js create mode 100644 deps/v8/test/mjsunit/wasm/grow-memory-in-branch.js create mode 100644 deps/v8/test/mjsunit/wasm/grow-memory-in-call.js create mode 100644 deps/v8/test/mjsunit/wasm/grow-memory-in-loop.js create mode 100644 deps/v8/test/mjsunit/wasm/many-parameters.js create mode 100644 deps/v8/test/mjsunit/wasm/table-grow.js create mode 100644 deps/v8/test/unittests/base/macros-unittest.cc create mode 100644 deps/v8/test/unittests/base/ostreams-unittest.cc create mode 100644 deps/v8/test/unittests/base/template-utils-unittest.cc rename deps/v8/test/unittests/compiler-dispatcher/{compiler-dispatcher-job-unittest.cc => unoptimized-compile-job-unittest.cc} (51%) create mode 100644 deps/v8/test/unittests/compiler/persistent-unittest.cc create mode 100755 deps/v8/tools/adb-d8.py create mode 100644 deps/v8/tools/testrunner/utils/dump_build_config_gyp.py create mode 100644 deps/v8/tools/ubsan/vptr_blacklist.txt diff --git a/deps/v8/.editorconfig b/deps/v8/.editorconfig new file mode 100644 index 00000000000000..9d08a1a828a3bd --- /dev/null +++ b/deps/v8/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index b1f61ed6fcf908..cf459308893968 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -32,6 +32,7 @@ .project .pydevproject .settings +.vscode /_* /build /buildtools diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 048702701c4211..c54cad02b2d15e 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -28,6 +28,8 @@ Amazon, Inc <*@amazon.com> ST Microelectronics <*@st.com> Yandex LLC <*@yandex-team.ru> StrongLoop, Inc. <*@strongloop.com> +Facebook, Inc. <*@fb.com> +Facebook, Inc. <*@oculus.com> Aaron Bieber Abdulla Kamar @@ -88,6 +90,7 @@ Luis Reis Luke Zarko Maciej Małecki Marcin Cieślak +Mateusz Czeladka Mathias Bynens Matt Hanselman Matthew Sporleder @@ -100,12 +103,14 @@ Mike Pennisi Milton Chiang Myeong-bo Shim Nicolas Antonius Ernst Leopold Maria Kaiser +Niklas Hambüchen Noj Vek Oleksandr Chekhovskyi Paolo Giarrusso Patrick Gansterer Peter Rybin Peter Varga +Peter Wong Paul Lind Qiuyi Zhang Rafal Krypa @@ -130,4 +135,4 @@ Wiktor Garbacz Yu Yin Zac Hansen Zhongping Wang -柳荣一 +柳荣一 \ No newline at end of file diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 494ba22f2934d6..9d95036a958fc8 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -6,6 +6,7 @@ import("//build/config/android/config.gni") import("//build/config/arm.gni") import("//build/config/dcheck_always_on.gni") import("//build/config/host_byteorder.gni") +import("//build/config/jumbo.gni") import("//build/config/mips.gni") import("//build/config/sanitizers/sanitizers.gni") @@ -57,6 +58,9 @@ declare_args() { # Enable slow dchecks. v8_enable_slow_dchecks = false + # Enable fast mksnapshot runs. + v8_enable_fast_mksnapshot = false + # Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_csa = false @@ -79,6 +83,9 @@ declare_args() { # Sets -dV8_CONCURRENT_MARKING v8_enable_concurrent_marking = false + # Sets -dV8_CSA_WRITE_BARRIER + v8_enable_csa_write_barrier = false + # Build the snapshot with unwinding information for perf. # Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO. v8_perf_prof_unwinding_info = false @@ -278,6 +285,9 @@ config("features") { if (v8_enable_concurrent_marking) { defines += [ "V8_CONCURRENT_MARKING" ] } + if (v8_enable_csa_write_barrier) { + defines += [ "V8_CSA_WRITE_BARRIER" ] + } if (v8_check_microtasks_scopes_consistency) { defines += [ "V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY" ] } @@ -546,7 +556,6 @@ action("js2c") { "src/js/array.js", "src/js/string.js", "src/js/typedarray.js", - "src/js/collection.js", "src/js/weak-collection.js", "src/js/messages.js", "src/js/templates.js", @@ -795,6 +804,13 @@ action("run_mksnapshot") { sources += [ v8_embed_script ] args += [ rebase_path(v8_embed_script, root_build_dir) ] } + + if (v8_enable_fast_mksnapshot) { + args += [ + "--no-turbo-rewrite-far-jumps", + "--no-turbo-verify-allocation", + ] + } } action("v8_dump_build_config") { @@ -805,7 +821,6 @@ action("v8_dump_build_config") { is_gcov_coverage = v8_code_coverage && !is_clang args = [ rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), - "current_cpu=\"$current_cpu\"", "dcheck_always_on=$dcheck_always_on", "is_asan=$is_asan", "is_cfi=$is_cfi", @@ -814,8 +829,8 @@ action("v8_dump_build_config") { "is_gcov_coverage=$is_gcov_coverage", "is_msan=$is_msan", "is_tsan=$is_tsan", + "is_ubsan_vptr=$is_ubsan_vptr", "target_cpu=\"$target_cpu\"", - "v8_current_cpu=\"$v8_current_cpu\"", "v8_enable_i18n_support=$v8_enable_i18n_support", "v8_target_cpu=\"$v8_target_cpu\"", "v8_use_snapshot=$v8_use_snapshot", @@ -861,6 +876,15 @@ v8_source_set("v8_nosnapshot") { "src/snapshot/snapshot-empty.cc", ] + if (use_jumbo_build == true) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428 + # Generated source, contains same variable names as libraries.cc + "$target_gen_dir/experimental-extras-libraries.cc", + "$target_gen_dir/libraries.cc", + ] + } + configs = [ ":internal_config" ] } @@ -892,6 +916,15 @@ v8_source_set("v8_snapshot") { "src/setup-isolate-deserialize.cc", ] + if (use_jumbo_build == true) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428 + # Generated source, contains same variable names as libraries.cc + "$target_gen_dir/experimental-extras-libraries.cc", + "$target_gen_dir/libraries.cc", + ] + } + configs = [ ":internal_config" ] } @@ -949,7 +982,6 @@ v8_source_set("v8_builtins_generators") { "src/builtins/builtins-constructor-gen.h", "src/builtins/builtins-constructor.h", "src/builtins/builtins-conversion-gen.cc", - "src/builtins/builtins-conversion-gen.h", "src/builtins/builtins-date-gen.cc", "src/builtins/builtins-debug-gen.cc", "src/builtins/builtins-forin-gen.cc", @@ -970,6 +1002,9 @@ v8_source_set("v8_builtins_generators") { "src/builtins/builtins-promise-gen.cc", "src/builtins/builtins-promise-gen.h", "src/builtins/builtins-proxy-gen.cc", + "src/builtins/builtins-proxy-gen.h", + "src/builtins/builtins-proxy-helpers-gen.cc", + "src/builtins/builtins-proxy-helpers-gen.h", "src/builtins/builtins-regexp-gen.cc", "src/builtins/builtins-regexp-gen.h", "src/builtins/builtins-sharedarraybuffer-gen.cc", @@ -996,6 +1031,14 @@ v8_source_set("v8_builtins_generators") { "src/interpreter/setup-interpreter.h", ] + if (use_jumbo_build == true) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428 + "src/builtins/builtins-async-iterator-gen.cc", + "src/builtins/builtins-async-generator-gen.cc", + ] + } + if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### @@ -1176,6 +1219,7 @@ v8_source_set("v8_base") { "src/bit-vector.h", "src/bootstrapper.cc", "src/bootstrapper.h", + "src/boxed-float.h", "src/builtins/builtins-api.cc", "src/builtins/builtins-array.cc", "src/builtins/builtins-arraybuffer.cc", @@ -1246,6 +1290,8 @@ v8_source_set("v8_base") { "src/compiler-dispatcher/compiler-dispatcher.h", "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", "src/compiler-dispatcher/optimizing-compile-dispatcher.h", + "src/compiler-dispatcher/unoptimized-compile-job.cc", + "src/compiler-dispatcher/unoptimized-compile-job.h", "src/compiler.cc", "src/compiler.h", "src/compiler/access-builder.cc", @@ -1254,10 +1300,6 @@ v8_source_set("v8_base") { "src/compiler/access-info.h", "src/compiler/all-nodes.cc", "src/compiler/all-nodes.h", - "src/compiler/ast-graph-builder.cc", - "src/compiler/ast-graph-builder.h", - "src/compiler/ast-loop-assignment-analyzer.cc", - "src/compiler/ast-loop-assignment-analyzer.h", "src/compiler/basic-block-instrumentor.cc", "src/compiler/basic-block-instrumentor.h", "src/compiler/branch-elimination.cc", @@ -1269,8 +1311,6 @@ v8_source_set("v8_base") { "src/compiler/bytecode-liveness-map.cc", "src/compiler/bytecode-liveness-map.h", "src/compiler/c-linkage.cc", - "src/compiler/check-elimination.cc", - "src/compiler/check-elimination.h", "src/compiler/checkpoint-elimination.cc", "src/compiler/checkpoint-elimination.h", "src/compiler/code-assembler.cc", @@ -1286,8 +1326,6 @@ v8_source_set("v8_base") { "src/compiler/common-operator.h", "src/compiler/compiler-source-position-table.cc", "src/compiler/compiler-source-position-table.h", - "src/compiler/control-builders.cc", - "src/compiler/control-builders.h", "src/compiler/control-equivalence.cc", "src/compiler/control-equivalence.h", "src/compiler/control-flow-optimizer.cc", @@ -1337,8 +1375,6 @@ v8_source_set("v8_base") { "src/compiler/js-context-specialization.h", "src/compiler/js-create-lowering.cc", "src/compiler/js-create-lowering.h", - "src/compiler/js-frame-specialization.cc", - "src/compiler/js-frame-specialization.h", "src/compiler/js-generic-lowering.cc", "src/compiler/js-generic-lowering.h", "src/compiler/js-graph.cc", @@ -1381,6 +1417,10 @@ v8_source_set("v8_base") { "src/compiler/memory-optimizer.h", "src/compiler/move-optimizer.cc", "src/compiler/move-optimizer.h", + "src/compiler/new-escape-analysis-reducer.cc", + "src/compiler/new-escape-analysis-reducer.h", + "src/compiler/new-escape-analysis.cc", + "src/compiler/new-escape-analysis.h", "src/compiler/node-aux-data.h", "src/compiler/node-cache.cc", "src/compiler/node-cache.h", @@ -1402,6 +1442,7 @@ v8_source_set("v8_base") { "src/compiler/operator.h", "src/compiler/osr.cc", "src/compiler/osr.h", + "src/compiler/persistent-map.h", "src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.h", "src/compiler/pipeline.cc", @@ -1475,8 +1516,12 @@ v8_source_set("v8_base") { "src/debug/debug-frames.cc", "src/debug/debug-frames.h", "src/debug/debug-interface.h", + "src/debug/debug-scope-iterator.cc", + "src/debug/debug-scope-iterator.h", "src/debug/debug-scopes.cc", "src/debug/debug-scopes.h", + "src/debug/debug-stack-trace-iterator.cc", + "src/debug/debug-stack-trace-iterator.h", "src/debug/debug.cc", "src/debug/debug.h", "src/debug/interface-types.h", @@ -1535,12 +1580,10 @@ v8_source_set("v8_base") { "src/flag-definitions.h", "src/flags.cc", "src/flags.h", - "src/float.h", + "src/frame-constants.h", "src/frames-inl.h", "src/frames.cc", "src/frames.h", - "src/full-codegen/full-codegen.cc", - "src/full-codegen/full-codegen.h", "src/futex-emulation.cc", "src/futex-emulation.h", "src/gdb-jit.cc", @@ -1573,6 +1616,9 @@ v8_source_set("v8_base") { "src/heap/incremental-marking-job.h", "src/heap/incremental-marking.cc", "src/heap/incremental-marking.h", + "src/heap/invalidated-slots-inl.h", + "src/heap/invalidated-slots.cc", + "src/heap/invalidated-slots.h", "src/heap/item-parallel-job.h", "src/heap/local-allocator.h", "src/heap/mark-compact-inl.h", @@ -1610,10 +1656,9 @@ v8_source_set("v8_base") { "src/ic/handler-compiler.cc", "src/ic/handler-compiler.h", "src/ic/handler-configuration-inl.h", + "src/ic/handler-configuration.cc", "src/ic/handler-configuration.h", "src/ic/ic-inl.h", - "src/ic/ic-state.cc", - "src/ic/ic-state.h", "src/ic/ic-stats.cc", "src/ic/ic-stats.h", "src/ic/ic.cc", @@ -1738,7 +1783,9 @@ v8_source_set("v8_base") { "src/objects/literal-objects.h", "src/objects/map-inl.h", "src/objects/map.h", - "src/objects/module-info.h", + "src/objects/module-inl.h", + "src/objects/module.cc", + "src/objects/module.h", "src/objects/name-inl.h", "src/objects/name.h", "src/objects/object-macros-undef.h", @@ -1757,10 +1804,10 @@ v8_source_set("v8_base") { "src/ostreams.h", "src/parsing/duplicate-finder.h", "src/parsing/expression-classifier.h", + "src/parsing/expression-scope-reparenter.cc", + "src/parsing/expression-scope-reparenter.h", "src/parsing/func-name-inferrer.cc", "src/parsing/func-name-inferrer.h", - "src/parsing/parameter-initializer-rewriter.cc", - "src/parsing/parameter-initializer-rewriter.h", "src/parsing/parse-info.cc", "src/parsing/parse-info.h", "src/parsing/parser-base.h", @@ -1844,6 +1891,7 @@ v8_source_set("v8_base") { "src/regexp/regexp-utils.h", "src/register-configuration.cc", "src/register-configuration.h", + "src/reglist.h", "src/runtime-profiler.cc", "src/runtime-profiler.h", "src/runtime/runtime-array.cc", @@ -1892,6 +1940,10 @@ v8_source_set("v8_base") { "src/snapshot/deserializer.h", "src/snapshot/natives-common.cc", "src/snapshot/natives.h", + "src/snapshot/object-deserializer.cc", + "src/snapshot/object-deserializer.h", + "src/snapshot/partial-deserializer.cc", + "src/snapshot/partial-deserializer.h", "src/snapshot/partial-serializer.cc", "src/snapshot/partial-serializer.h", "src/snapshot/serializer-common.cc", @@ -1902,6 +1954,8 @@ v8_source_set("v8_base") { "src/snapshot/snapshot-source-sink.cc", "src/snapshot/snapshot-source-sink.h", "src/snapshot/snapshot.h", + "src/snapshot/startup-deserializer.cc", + "src/snapshot/startup-deserializer.h", "src/snapshot/startup-serializer.cc", "src/snapshot/startup-serializer.h", "src/source-position-table.cc", @@ -1981,6 +2035,8 @@ v8_source_set("v8_base") { "src/wasm/signature-map.h", "src/wasm/streaming-decoder.cc", "src/wasm/streaming-decoder.h", + "src/wasm/wasm-api.cc", + "src/wasm/wasm-api.h", "src/wasm/wasm-code-specialization.cc", "src/wasm/wasm-code-specialization.h", "src/wasm/wasm-debug.cc", @@ -2017,6 +2073,15 @@ v8_source_set("v8_base") { "src/zone/zone.h", ] + if (use_jumbo_build == true) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428 + "src/profiler/heap-snapshot-generator.cc", # Macro clash in mman-linux.h + "src/compiler/escape-analysis.cc", # Symbol clashes with new-escape-analysis.cc + "src/compiler/escape-analysis-reducer.cc", # Symbol clashes with new-escape-analysis-reducer.cc + ] + } + if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### "src/compiler/ia32/code-generator-ia32.cc", @@ -2024,7 +2089,6 @@ v8_source_set("v8_base") { "src/compiler/ia32/instruction-scheduler-ia32.cc", "src/compiler/ia32/instruction-selector-ia32.cc", "src/debug/ia32/debug-ia32.cc", - "src/full-codegen/ia32/full-codegen-ia32.cc", "src/ia32/assembler-ia32-inl.h", "src/ia32/assembler-ia32.cc", "src/ia32/assembler-ia32.h", @@ -2035,8 +2099,8 @@ v8_source_set("v8_base") { "src/ia32/cpu-ia32.cc", "src/ia32/deoptimizer-ia32.cc", "src/ia32/disasm-ia32.cc", - "src/ia32/frames-ia32.cc", - "src/ia32/frames-ia32.h", + "src/ia32/frame-constants-ia32.cc", + "src/ia32/frame-constants-ia32.h", "src/ia32/interface-descriptors-ia32.cc", "src/ia32/macro-assembler-ia32.cc", "src/ia32/macro-assembler-ia32.h", @@ -2045,7 +2109,6 @@ v8_source_set("v8_base") { "src/ia32/sse-instr.h", "src/ic/ia32/access-compiler-ia32.cc", "src/ic/ia32/handler-compiler-ia32.cc", - "src/ic/ia32/ic-ia32.cc", "src/regexp/ia32/regexp-macro-assembler-ia32.cc", "src/regexp/ia32/regexp-macro-assembler-ia32.h", ] @@ -2058,10 +2121,8 @@ v8_source_set("v8_base") { "src/compiler/x64/unwinding-info-writer-x64.cc", "src/compiler/x64/unwinding-info-writer-x64.h", "src/debug/x64/debug-x64.cc", - "src/full-codegen/x64/full-codegen-x64.cc", "src/ic/x64/access-compiler-x64.cc", "src/ic/x64/handler-compiler-x64.cc", - "src/ic/x64/ic-x64.cc", "src/regexp/x64/regexp-macro-assembler-x64.cc", "src/regexp/x64/regexp-macro-assembler-x64.h", "src/third_party/valgrind/valgrind.h", @@ -2076,8 +2137,8 @@ v8_source_set("v8_base") { "src/x64/deoptimizer-x64.cc", "src/x64/disasm-x64.cc", "src/x64/eh-frame-x64.cc", - "src/x64/frames-x64.cc", - "src/x64/frames-x64.h", + "src/x64/frame-constants-x64.cc", + "src/x64/frame-constants-x64.h", "src/x64/interface-descriptors-x64.cc", "src/x64/macro-assembler-x64.cc", "src/x64/macro-assembler-x64.h", @@ -2103,8 +2164,8 @@ v8_source_set("v8_base") { "src/arm/deoptimizer-arm.cc", "src/arm/disasm-arm.cc", "src/arm/eh-frame-arm.cc", - "src/arm/frames-arm.cc", - "src/arm/frames-arm.h", + "src/arm/frame-constants-arm.cc", + "src/arm/frame-constants-arm.h", "src/arm/interface-descriptors-arm.cc", "src/arm/interface-descriptors-arm.h", "src/arm/macro-assembler-arm.cc", @@ -2118,10 +2179,8 @@ v8_source_set("v8_base") { "src/compiler/arm/unwinding-info-writer-arm.cc", "src/compiler/arm/unwinding-info-writer-arm.h", "src/debug/arm/debug-arm.cc", - "src/full-codegen/arm/full-codegen-arm.cc", "src/ic/arm/access-compiler-arm.cc", "src/ic/arm/handler-compiler-arm.cc", - "src/ic/arm/ic-arm.cc", "src/regexp/arm/regexp-macro-assembler-arm.cc", "src/regexp/arm/regexp-macro-assembler-arm.h", ] @@ -2143,8 +2202,8 @@ v8_source_set("v8_base") { "src/arm64/disasm-arm64.cc", "src/arm64/disasm-arm64.h", "src/arm64/eh-frame-arm64.cc", - "src/arm64/frames-arm64.cc", - "src/arm64/frames-arm64.h", + "src/arm64/frame-constants-arm64.cc", + "src/arm64/frame-constants-arm64.h", "src/arm64/instructions-arm64.cc", "src/arm64/instructions-arm64.h", "src/arm64/instrument-arm64.cc", @@ -2166,10 +2225,8 @@ v8_source_set("v8_base") { "src/compiler/arm64/unwinding-info-writer-arm64.cc", "src/compiler/arm64/unwinding-info-writer-arm64.h", "src/debug/arm64/debug-arm64.cc", - "src/full-codegen/arm64/full-codegen-arm64.cc", "src/ic/arm64/access-compiler-arm64.cc", "src/ic/arm64/handler-compiler-arm64.cc", - "src/ic/arm64/ic-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.h", ] @@ -2180,10 +2237,8 @@ v8_source_set("v8_base") { "src/compiler/mips/instruction-scheduler-mips.cc", "src/compiler/mips/instruction-selector-mips.cc", "src/debug/mips/debug-mips.cc", - "src/full-codegen/mips/full-codegen-mips.cc", "src/ic/mips/access-compiler-mips.cc", "src/ic/mips/handler-compiler-mips.cc", - "src/ic/mips/ic-mips.cc", "src/mips/assembler-mips-inl.h", "src/mips/assembler-mips.cc", "src/mips/assembler-mips.h", @@ -2196,8 +2251,8 @@ v8_source_set("v8_base") { "src/mips/cpu-mips.cc", "src/mips/deoptimizer-mips.cc", "src/mips/disasm-mips.cc", - "src/mips/frames-mips.cc", - "src/mips/frames-mips.h", + "src/mips/frame-constants-mips.cc", + "src/mips/frame-constants-mips.h", "src/mips/interface-descriptors-mips.cc", "src/mips/macro-assembler-mips.cc", "src/mips/macro-assembler-mips.h", @@ -2213,10 +2268,8 @@ v8_source_set("v8_base") { "src/compiler/mips64/instruction-scheduler-mips64.cc", "src/compiler/mips64/instruction-selector-mips64.cc", "src/debug/mips64/debug-mips64.cc", - "src/full-codegen/mips64/full-codegen-mips64.cc", "src/ic/mips64/access-compiler-mips64.cc", "src/ic/mips64/handler-compiler-mips64.cc", - "src/ic/mips64/ic-mips64.cc", "src/mips64/assembler-mips64-inl.h", "src/mips64/assembler-mips64.cc", "src/mips64/assembler-mips64.h", @@ -2229,8 +2282,8 @@ v8_source_set("v8_base") { "src/mips64/cpu-mips64.cc", "src/mips64/deoptimizer-mips64.cc", "src/mips64/disasm-mips64.cc", - "src/mips64/frames-mips64.cc", - "src/mips64/frames-mips64.h", + "src/mips64/frame-constants-mips64.cc", + "src/mips64/frame-constants-mips64.h", "src/mips64/interface-descriptors-mips64.cc", "src/mips64/macro-assembler-mips64.cc", "src/mips64/macro-assembler-mips64.h", @@ -2246,10 +2299,8 @@ v8_source_set("v8_base") { "src/compiler/ppc/instruction-scheduler-ppc.cc", "src/compiler/ppc/instruction-selector-ppc.cc", "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-ppc.cc", "src/ppc/assembler-ppc-inl.h", "src/ppc/assembler-ppc.cc", "src/ppc/assembler-ppc.h", @@ -2262,8 +2313,8 @@ v8_source_set("v8_base") { "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/frame-constants-ppc.cc", + "src/ppc/frame-constants-ppc.h", "src/ppc/interface-descriptors-ppc.cc", "src/ppc/macro-assembler-ppc.cc", "src/ppc/macro-assembler-ppc.h", @@ -2279,10 +2330,8 @@ v8_source_set("v8_base") { "src/compiler/s390/instruction-scheduler-s390.cc", "src/compiler/s390/instruction-selector-s390.cc", "src/debug/s390/debug-s390.cc", - "src/full-codegen/s390/full-codegen-s390.cc", "src/ic/s390/access-compiler-s390.cc", "src/ic/s390/handler-compiler-s390.cc", - "src/ic/s390/ic-s390.cc", "src/regexp/s390/regexp-macro-assembler-s390.cc", "src/regexp/s390/regexp-macro-assembler-s390.h", "src/s390/assembler-s390-inl.h", @@ -2297,8 +2346,8 @@ v8_source_set("v8_base") { "src/s390/cpu-s390.cc", "src/s390/deoptimizer-s390.cc", "src/s390/disasm-s390.cc", - "src/s390/frames-s390.cc", - "src/s390/frames-s390.h", + "src/s390/frame-constants-s390.cc", + "src/s390/frame-constants-s390.h", "src/s390/interface-descriptors-s390.cc", "src/s390/macro-assembler-s390.cc", "src/s390/macro-assembler-s390.h", @@ -2350,7 +2399,7 @@ v8_component("v8_libbase") { "src/base/atomicops.h", "src/base/atomicops_internals_atomicword_compat.h", "src/base/atomicops_internals_portable.h", - "src/base/atomicops_internals_x86_msvc.h", + "src/base/atomicops_internals_std.h", "src/base/base-export.h", "src/base/bits.cc", "src/base/bits.h", diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index f3e2941fddd5aa..ffd5fb388dfab5 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,2208 @@ +2017-08-29: Version 6.2.414 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.413 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.412 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.411 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.410 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.409 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.408 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.407 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.406 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.405 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.404 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.403 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.402 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.401 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.400 + + Performance and stability improvements on all platforms. + + +2017-08-29: Version 6.2.399 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.398 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.397 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.396 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.395 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.394 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.393 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.392 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.391 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.390 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.389 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.388 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.387 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.386 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.385 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.384 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.383 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.382 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.381 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.380 + + Performance and stability improvements on all platforms. + + +2017-08-28: Version 6.2.379 + + Performance and stability improvements on all platforms. + + +2017-08-27: Version 6.2.378 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.377 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.376 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.375 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.374 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.373 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.372 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.371 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.370 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.369 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.368 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.367 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.366 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.365 + + Performance and stability improvements on all platforms. + + +2017-08-25: Version 6.2.364 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.363 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.362 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.361 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.360 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.359 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.358 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.357 + + Performance and stability improvements on all platforms. + + +2017-08-24: Version 6.2.356 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.355 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.354 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.353 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.352 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.351 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.350 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.349 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.348 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.347 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.346 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.345 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.344 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.343 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.342 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.341 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.340 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.339 + + Performance and stability improvements on all platforms. + + +2017-08-23: Version 6.2.338 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.337 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.336 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.335 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.334 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.333 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.332 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.331 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.330 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.329 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.328 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.327 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.326 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.325 + + Performance and stability improvements on all platforms. + + +2017-08-22: Version 6.2.324 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.323 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.322 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.321 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.320 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.319 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.318 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.317 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.316 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.315 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.314 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.313 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.312 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.311 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.310 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.309 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.308 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.307 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.306 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.305 + + Performance and stability improvements on all platforms. + + +2017-08-21: Version 6.2.304 + + Performance and stability improvements on all platforms. + + +2017-08-20: Version 6.2.303 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.302 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.301 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.300 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.299 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.298 + + Performance and stability improvements on all platforms. + + +2017-08-19: Version 6.2.297 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.296 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.295 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.294 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.293 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.292 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.291 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.290 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.289 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.288 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.287 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.286 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.285 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.284 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.283 + + Performance and stability improvements on all platforms. + + +2017-08-18: Version 6.2.282 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.281 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.280 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.279 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.278 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.277 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.276 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.275 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.274 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.273 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.272 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.271 + + Performance and stability improvements on all platforms. + + +2017-08-17: Version 6.2.270 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.269 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.268 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.267 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.266 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.265 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.264 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.263 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.262 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.261 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.260 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.259 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.258 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.257 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.256 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.255 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.254 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.253 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.252 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.251 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.250 + + Performance and stability improvements on all platforms. + + +2017-08-16: Version 6.2.249 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.248 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.247 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.246 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.245 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.244 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.243 + + Performance and stability improvements on all platforms. + + +2017-08-15: Version 6.2.242 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.241 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.240 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.239 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.238 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.237 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.236 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.235 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.234 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.233 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.232 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.231 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.230 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.229 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.228 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.227 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.226 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.225 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.224 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.223 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.222 + + Performance and stability improvements on all platforms. + + +2017-08-14: Version 6.2.221 + + Performance and stability improvements on all platforms. + + +2017-08-13: Version 6.2.220 + + Performance and stability improvements on all platforms. + + +2017-08-12: Version 6.2.219 + + Performance and stability improvements on all platforms. + + +2017-08-12: Version 6.2.218 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.217 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.216 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.215 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.214 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.213 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.212 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.211 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.210 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.209 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.208 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.207 + + Performance and stability improvements on all platforms. + + +2017-08-11: Version 6.2.206 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.205 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.204 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.203 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.202 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.201 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.200 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.199 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.198 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.197 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.196 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.195 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.194 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.193 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.192 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.191 + + Performance and stability improvements on all platforms. + + +2017-08-10: Version 6.2.190 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.189 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.188 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.187 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.186 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.185 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.184 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.183 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.182 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.181 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.180 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.179 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.178 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.177 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.176 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.175 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.174 + + Performance and stability improvements on all platforms. + + +2017-08-09: Version 6.2.173 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.172 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.171 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.170 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.169 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.168 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.167 + + Performance and stability improvements on all platforms. + + +2017-08-08: Version 6.2.166 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.165 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.164 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.163 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.162 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.161 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.160 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.159 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.158 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.157 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.156 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.155 + + Performance and stability improvements on all platforms. + + +2017-08-07: Version 6.2.154 + + Performance and stability improvements on all platforms. + + +2017-08-06: Version 6.2.153 + + Performance and stability improvements on all platforms. + + +2017-08-05: Version 6.2.152 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.151 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.150 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.149 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.148 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.147 + + Performance and stability improvements on all platforms. + + +2017-08-04: Version 6.2.146 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.145 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.144 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.143 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.142 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.141 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.140 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.139 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.138 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.137 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.136 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.135 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.134 + + Performance and stability improvements on all platforms. + + +2017-08-03: Version 6.2.133 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.132 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.131 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.130 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.129 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.128 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.127 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.126 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.125 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.124 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.123 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.122 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.121 + + Performance and stability improvements on all platforms. + + +2017-08-02: Version 6.2.120 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.119 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.118 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.117 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.116 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.115 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.114 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.113 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.112 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.111 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.110 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.109 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.108 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.107 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.106 + + Performance and stability improvements on all platforms. + + +2017-08-01: Version 6.2.105 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.104 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.103 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.102 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.101 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.100 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.99 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.98 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.97 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.96 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.95 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.94 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.93 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.92 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.91 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.90 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.89 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.88 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.87 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.86 + + Performance and stability improvements on all platforms. + + +2017-07-31: Version 6.2.85 + + Performance and stability improvements on all platforms. + + +2017-07-29: Version 6.2.84 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.83 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.82 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.81 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.80 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.79 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.78 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.77 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.76 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.75 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.74 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.73 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.72 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.71 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.70 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.69 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.68 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.67 + + Performance and stability improvements on all platforms. + + +2017-07-28: Version 6.2.66 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.65 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.64 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.63 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.62 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.61 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.60 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.59 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.58 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.57 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.56 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.55 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.54 + + Performance and stability improvements on all platforms. + + +2017-07-27: Version 6.2.53 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.52 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.51 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.50 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.49 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.48 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.47 + + Performance and stability improvements on all platforms. + + +2017-07-26: Version 6.2.46 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.45 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.44 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.43 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.42 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.41 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.40 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.39 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.38 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.37 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.36 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.35 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.34 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.33 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.32 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.31 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.30 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.29 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.28 + + Performance and stability improvements on all platforms. + + +2017-07-25: Version 6.2.27 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.26 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.25 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.24 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.23 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.22 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.21 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.20 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.19 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.18 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.17 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.16 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.15 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.14 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.13 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.12 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.11 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.10 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.9 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.8 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.7 + + Performance and stability improvements on all platforms. + + +2017-07-24: Version 6.2.6 + + Performance and stability improvements on all platforms. + + +2017-07-23: Version 6.2.5 + + Performance and stability improvements on all platforms. + + +2017-07-23: Version 6.2.4 + + Performance and stability improvements on all platforms. + + +2017-07-22: Version 6.2.3 + + Performance and stability improvements on all platforms. + + +2017-07-21: Version 6.2.2 + + Performance and stability improvements on all platforms. + + +2017-07-21: Version 6.2.1 + + Performance and stability improvements on all platforms. + + +2017-07-20: Version 6.1.561 + + Performance and stability improvements on all platforms. + + +2017-07-20: Version 6.1.560 + + Performance and stability improvements on all platforms. + + +2017-07-20: Version 6.1.559 + + Performance and stability improvements on all platforms. + + +2017-07-20: Version 6.1.558 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.557 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.556 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.555 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.554 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.553 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.552 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.551 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.550 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.549 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.548 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.547 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.546 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.545 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.544 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.543 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.542 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.541 + + Performance and stability improvements on all platforms. + + +2017-07-19: Version 6.1.540 + + Performance and stability improvements on all platforms. + + +2017-07-18: Version 6.1.539 + + Performance and stability improvements on all platforms. + + +2017-07-18: Version 6.1.538 + + Performance and stability improvements on all platforms. + + +2017-07-18: Version 6.1.537 + + Performance and stability improvements on all platforms. + + +2017-07-18: Version 6.1.536 + + Performance and stability improvements on all platforms. + + +2017-07-18: Version 6.1.535 + + Performance and stability improvements on all platforms. + + 2017-07-18: Version 6.1.534 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 7752da2f40f817..4b64895ced3a6e 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,15 +8,15 @@ vars = { deps = { "v8/build": - Var("chromium_url") + "/chromium/src/build.git" + "@" + "1808a907ce42f13b224c263e9843d718fc6d9c39", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "48a2b7b39debc7c77c868c9ddb0a360af1ebc367", "v8/tools/gyp": - Var("chromium_url") + "/external/gyp.git" + "@" + "eb296f67da078ec01f5e3a9ea9cdc6d26d680161", + Var("chromium_url") + "/external/gyp.git" + "@" + "d61a9397e668fa9843c4aa7da9e79460fe590bfb", "v8/third_party/icu": - Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "dfa798fe694702b43a3debc3290761f22b1acaf8", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "21d33b1a09a77f033478ea4ffffb61e6970f83bd", "v8/third_party/instrumented_libraries": Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "644afd349826cb68204226a16c38bde13abe9c3c", "v8/buildtools": - Var("chromium_url") + "/chromium/buildtools.git" + "@" + "5ad14542a6a74dd914f067b948c5d3e8d170396b", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "5af0a3a8b89827a8634132080a39ab4b63dee489", "v8/base/trace_event/common": Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "65d1d42a5df6c0a563a6fdfa58a135679185e5d9", "v8/third_party/jinja2": @@ -24,7 +24,7 @@ deps = { "v8/third_party/markupsafe": Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "8f45f5cfa0009d2a70589bcda0349b8cb2b72783", "v8/tools/swarming_client": - Var('chromium_url') + '/external/swarming.client.git' + '@' + "a56c2b39ca23bdf41458421a7f825ddbf3f43f28", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "42721e128da760b345ab60d7cf34e300269112d7", "v8/testing/gtest": Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -38,9 +38,9 @@ deps = { "v8/test/test262/harness": Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "0f2acdd882c84cff43b9d60df7574a1901e2cdcd", "v8/tools/clang": - Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "844603c1fcd47f578931b3ccd583e19f816a3842", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "40f69660bf3cd407e72b8ae240fdd6c513dddbfe", "v8/test/wasm-js": - Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "aadd3a340c78e53078a7bb6c17cc30f105c2960c", + Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "17b4a4d98c80b1ec736649d5a73496a0e6d12d4c", } deps_os = { @@ -48,7 +48,7 @@ deps_os = { "v8/third_party/android_tools": Var("chromium_url") + "/android_tools.git" + "@" + "e9d4018e149d50172ed462a7c21137aa915940ec", "v8/third_party/catapult": - Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "44b022b2a09508ec025ae76a26308e89deb2cf69", + Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "7149cbfdfd26a5dd8e5d96cbb1da9356e2813a5d", }, } diff --git a/deps/v8/Makefile b/deps/v8/Makefile index b381918355602d..167ebf8c082015 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -63,6 +63,10 @@ endif ifeq ($(tracemaps), on) GYPFLAGS += -Dv8_trace_maps=1 endif +# concurrentmarking=on +ifeq ($(concurrentmarking), on) + GYPFLAGS += -Dv8_enable_concurrent_marking=1 +endif # backtrace=off ifeq ($(backtrace), off) GYPFLAGS += -Dv8_enable_backtrace=0 @@ -334,32 +338,32 @@ $(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) Makefile.android # Test targets. check: all - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch=$(shell echo $(DEFAULT_ARCHES) | sed -e 's/ /,/g') \ $(TESTFLAGS) $(addsuffix .check,$(MODES)): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --mode=$(basename $@) $(TESTFLAGS) $(addsuffix .check,$(ARCHES)): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch=$(basename $@) $(TESTFLAGS) $(CHECKS): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(basename $@) $(TESTFLAGS) $(addsuffix .quickcheck,$(MODES)): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --mode=$(basename $@) $(TESTFLAGS) --quickcheck $(addsuffix .quickcheck,$(ARCHES)): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch=$(basename $@) $(TESTFLAGS) --quickcheck $(QUICKCHECKS): $$(basename $$@) - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(basename $@) $(TESTFLAGS) --quickcheck $(addsuffix .sync, $(ANDROID_BUILDS)): $$(basename $$@) @@ -367,7 +371,7 @@ $(addsuffix .sync, $(ANDROID_BUILDS)): $$(basename $$@) $(shell pwd) $(ANDROID_V8) $(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(basename $@) \ --timeout=600 \ --command-prefix="tools/android-run.py" $(TESTFLAGS) @@ -376,7 +380,7 @@ $(addsuffix .check, $(ANDROID_ARCHES)): \ $(addprefix $$(basename $$@).,$(MODES)).check native.check: native - @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \ + @gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR)/native \ --arch-and-mode=. $(TESTFLAGS) SUPERFASTTESTMODES = ia32.release @@ -387,18 +391,18 @@ COMMA = , EMPTY = SPACE = $(EMPTY) $(EMPTY) quickcheck: $(subst $(COMMA),$(SPACE),$(FASTCOMPILEMODES)) - tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(SUPERFASTTESTMODES) $(TESTFLAGS) --quickcheck \ --download-data mozilla webkit - tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) --quickcheck qc: quickcheck turbocheck: $(subst $(COMMA),$(SPACE),$(FASTCOMPILEMODES)) - tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(SUPERFASTTESTMODES) $(TESTFLAGS) \ --quickcheck --variants=turbofan --download-data mozilla webkit - tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \ + gypfiles/run-tests-legacy.py $(TESTJOBS) --outdir=$(OUTDIR) \ --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) \ --quickcheck --variants=turbofan tc: turbocheck diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index dd96fa6b5fe586..621f375e336d0c 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -7,7 +7,9 @@ bradnelson@chromium.org cbruni@chromium.org clemensh@chromium.org danno@chromium.org +eholk@chromium.org franzih@chromium.org +gdeepti@chromium.org gsathya@chromium.org hablich@chromium.org hpayer@chromium.org diff --git a/deps/v8/benchmarks/deltablue.js b/deps/v8/benchmarks/deltablue.js index dacee3f13ff0de..f44973cb9f8762 100644 --- a/deps/v8/benchmarks/deltablue.js +++ b/deps/v8/benchmarks/deltablue.js @@ -790,7 +790,7 @@ Plan.prototype.execute = function () { * In case 1, the added constraint is stronger than the stay * constraint and values must propagate down the entire length of the * chain. In case 2, the added constraint is weaker than the stay - * constraint so it cannot be accomodated. The cost in this case is, + * constraint so it cannot be accommodated. The cost in this case is, * of course, very low. Typical situations lie somewhere between these * two extremes. */ diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index 82dc8cf3fbc005..f5453e560653e6 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -156,8 +156,6 @@ template("v8_isolate_run") { "--config-variable", "icu_use_data_file_flag=$icu_use_data_file_flag", "--config-variable", - "is_gn=1", - "--config-variable", "msan=$msan", "--config-variable", "tsan=$tsan", diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index 9a2bb3dff4ffa6..0467720f456680 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/sanitizers/sanitizers.gni") import("//build/config/v8_target_cpu.gni") import("//build/split_static_library.gni") @@ -109,7 +110,11 @@ template("v8_source_set") { } else if (defined(v8_static_library) && v8_static_library) { link_target_type = "static_library" } else { - link_target_type = "source_set" + if (use_jumbo_build) { + link_target_type = "jumbo_source_set" + } else { + link_target_type = "source_set" + } } target(link_target_type, target_name) { forward_variables_from(invoker, "*", [ "configs" ]) @@ -120,7 +125,7 @@ template("v8_source_set") { } template("v8_header_set") { - source_set(target_name) { + jumbo_source_set(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) configs += invoker.configs configs -= v8_remove_configs @@ -151,14 +156,13 @@ template("v8_executable") { # reasons. if (is_clang) { configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ] - configs += [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ] + configs += + [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ] } else { configs -= [ v8_path_prefix + ":v8_gcov_coverage_cflags" ] } } - deps += [ - v8_path_prefix + ":v8_dump_build_config", - ] + deps += [ v8_path_prefix + ":v8_dump_build_config" ] } } diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi index 0eeec2466ebc51..55b250ddc143e5 100644 --- a/deps/v8/gypfiles/features.gypi +++ b/deps/v8/gypfiles/features.gypi @@ -29,6 +29,10 @@ { 'variables': { + 'variables': { + 'v8_target_arch%': '<(target_arch)', + }, + 'v8_enable_disassembler%': 0, 'v8_promise_internal_field_count%': 0, @@ -76,6 +80,9 @@ # Temporary flag to allow embedders to update their microtasks scopes. 'v8_check_microtasks_scopes_consistency%': 'false', + + # Enable concurrent marking. + 'v8_enable_concurrent_marking%': 0, }, 'target_defaults': { 'conditions': [ @@ -124,6 +131,9 @@ ['v8_check_microtasks_scopes_consistency=="true"', { 'defines': ['V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY',], }], + ['v8_enable_concurrent_marking==1', { + 'defines': ['V8_CONCURRENT_MARKING',], + }], ], # conditions 'configurations': { 'DebugBaseCommon': { diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi index 11b05705307625..149818c8d0636f 100644 --- a/deps/v8/gypfiles/isolate.gypi +++ b/deps/v8/gypfiles/isolate.gypi @@ -74,7 +74,6 @@ '--config-variable', 'gcmole=<(gcmole)', '--config-variable', 'has_valgrind=<(has_valgrind)', '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)', - '--config-variable', 'is_gn=0', '--config-variable', 'msan=<(msan)', '--config-variable', 'tsan=<(tsan)', '--config-variable', 'coverage=<(coverage)', diff --git a/deps/v8/gypfiles/landmine_utils.py b/deps/v8/gypfiles/landmine_utils.py index cb3499132a3c2f..8bdc2b648b32b9 100644 --- a/deps/v8/gypfiles/landmine_utils.py +++ b/deps/v8/gypfiles/landmine_utils.py @@ -76,7 +76,7 @@ def distributor(): @memoize() def platform(): """ - Returns a string representing the platform this build is targetted for. + Returns a string representing the platform this build is targeted for. Possible values: 'win', 'mac', 'linux', 'ios', 'android' """ if 'OS' in gyp_defines(): diff --git a/deps/v8/gypfiles/run-tests-legacy.py b/deps/v8/gypfiles/run-tests-legacy.py new file mode 100755 index 00000000000000..f1ea478c62d62e --- /dev/null +++ b/deps/v8/gypfiles/run-tests-legacy.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# Copyright 2017 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Legacy test-runner wrapper supporting a product of multiple architectures and +modes. +""" + +import argparse +import itertools +from os.path import abspath, dirname, join +import subprocess +import sys + +BASE_DIR = dirname(dirname(abspath(__file__))) +RUN_TESTS = join(BASE_DIR, 'tools', 'run-tests.py') + +def main(): + parser = argparse.ArgumentParser(description='Legacy test-runner wrapper') + parser.add_argument( + '--arch', help='Comma-separated architectures to run tests on') + parser.add_argument( + '--mode', help='Comma-separated modes to run tests on') + parser.add_argument( + '--arch-and-mode', + help='Architecture and mode in the format \'arch.mode\'', + ) + + args, remaining_args = parser.parse_known_args(sys.argv) + if (args.arch or args.mode) and args.arch_and_mode: + parser.error('The flags --arch-and-mode and --arch/--mode are exclusive.') + arch = (args.arch or 'ia32,x64,arm').split(',') + mode = (args.mode or 'release,debug').split(',') + if args.arch_and_mode: + arch_and_mode = map( + lambda am: am.split('.'), + args.arch_and_mode.split(',')) + arch = map(lambda am: am[0], arch_and_mode) + mode = map(lambda am: am[1], arch_and_mode) + + ret_code = 0 + for a, m in itertools.product(arch, mode): + ret_code |= subprocess.check_call( + [RUN_TESTS] + remaining_args[1:] + ['--arch', a, '--mode', m]) + return ret_code + +if __name__ == '__main__': + sys.exit(main()) diff --git a/deps/v8/gypfiles/standalone.gypi b/deps/v8/gypfiles/standalone.gypi index a30373be6129e1..63930d8aef10b1 100644 --- a/deps/v8/gypfiles/standalone.gypi +++ b/deps/v8/gypfiles/standalone.gypi @@ -754,7 +754,7 @@ '-Wno-unused-parameter', '-pthread', '-pedantic', - '-Wmissing-field-initializers', + '-Wno-missing-field-initializers', '-Wno-gnu-zero-variadic-macro-arguments', ], 'cflags_cc': [ diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi index 5733d2d54ca130..80844cecc671ef 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -32,6 +32,7 @@ 'msvs_use_common_release': 0, 'clang%': 0, 'asan%': 0, + 'cfi_vptr%': 0, 'lsan%': 0, 'msan%': 0, 'tsan%': 0, diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h index d0bb9b47fe4d69..43bf3b4f60b1c8 100644 --- a/deps/v8/include/v8-inspector.h +++ b/deps/v8/include/v8-inspector.h @@ -211,8 +211,6 @@ class V8_EXPORT V8InspectorClient { // TODO(dgozman): this was added to support service worker shadow page. We // should not connect at all. virtual bool canExecuteScripts(int contextGroupId) { return true; } - - virtual void maxAsyncCallStackDepthChanged(int depth) {} }; class V8_EXPORT V8Inspector { diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 3df78a81c0a837..ed2acc3a74e16c 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -132,6 +132,15 @@ class Platform { virtual ~Platform() = default; + /** + * Enables the embedder to respond in cases where V8 can't allocate large + * blocks of memory. V8 retries the failed allocation once after calling this + * method. On success, execution continues; otherwise V8 exits with a fatal + * error. + * Embedder overrides of this function must NOT call back into V8. + */ + virtual void OnCriticalMemoryPressure() {} + /** * Gets the number of threads that are used to execute background tasks. Is * used to estimate the number of tasks a work package should be split into. @@ -195,6 +204,16 @@ class Platform { * the epoch. **/ virtual double MonotonicallyIncreasingTime() = 0; + + /** + * Current wall-clock time in milliseconds since epoch. + * This function is expected to return at least millisecond-precision values. + */ + virtual double CurrentClockTimeMillis() { + // TODO(dats): Make pure virtual after V8 roll in Chromium. + return 0.0; + } + typedef void (*StackTracePrinter)(); /** @@ -208,79 +227,13 @@ class Platform { */ virtual TracingController* GetTracingController() = 0; - // DEPRECATED methods, use TracingController interface instead. - - /** - * Called by TRACE_EVENT* macros, don't call this directly. - * The name parameter is a category group for example: - * TRACE_EVENT0("v8,parse", "V8.Parse") - * The pointer returned points to a value with zero or more of the bits - * defined in CategoryGroupEnabledFlags. - **/ - virtual const uint8_t* GetCategoryGroupEnabled(const char* name) { - static uint8_t no = 0; - return &no; - } - - /** - * Gets the category group name of the given category_enabled_flag pointer. - * Usually used while serliazing TRACE_EVENTs. - **/ - virtual const char* GetCategoryGroupName( - const uint8_t* category_enabled_flag) { - static const char dummy[] = "dummy"; - return dummy; - } - - /** - * Adds a trace event to the platform tracing system. This function call is - * usually the result of a TRACE_* macro from trace_event_common.h when - * tracing and the category of the particular trace are enabled. It is not - * advisable to call this function on its own; it is really only meant to be - * used by the trace macros. The returned handle can be used by - * UpdateTraceEventDuration to update the duration of COMPLETE events. - */ - virtual uint64_t AddTraceEvent( - char phase, const uint8_t* category_enabled_flag, const char* name, - const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, - const char** arg_names, const uint8_t* arg_types, - const uint64_t* arg_values, unsigned int flags) { - return 0; - } - + protected: /** - * Adds a trace event to the platform tracing system. This function call is - * usually the result of a TRACE_* macro from trace_event_common.h when - * tracing and the category of the particular trace are enabled. It is not - * advisable to call this function on its own; it is really only meant to be - * used by the trace macros. The returned handle can be used by - * UpdateTraceEventDuration to update the duration of COMPLETE events. + * Default implementation of current wall-clock time in milliseconds + * since epoch. Useful for implementing |CurrentClockTimeMillis| if + * nothing special needed. */ - virtual uint64_t AddTraceEvent( - char phase, const uint8_t* category_enabled_flag, const char* name, - const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, - const char** arg_names, const uint8_t* arg_types, - const uint64_t* arg_values, - std::unique_ptr* arg_convertables, - unsigned int flags) { - return AddTraceEvent(phase, category_enabled_flag, name, scope, id, bind_id, - num_args, arg_names, arg_types, arg_values, flags); - } - - /** - * Sets the duration field of a COMPLETE trace event. It must be called with - * the handle returned from AddTraceEvent(). - **/ - virtual void UpdateTraceEventDuration(const uint8_t* category_enabled_flag, - const char* name, uint64_t handle) {} - - typedef v8::TracingController::TraceStateObserver TraceStateObserver; - - /** Adds tracing state change observer. */ - virtual void AddTraceStateObserver(TraceStateObserver*) {} - - /** Removes tracing state change observer. */ - virtual void RemoveTraceStateObserver(TraceStateObserver*) {} + static double SystemClockTimeMillis(); }; } // namespace v8 diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index b60d137f4479e6..621ca8b215762d 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -389,7 +389,7 @@ class V8_EXPORT HeapGraphNode { kRegExp = 6, // RegExp. kHeapNumber = 7, // Number stored in the heap. kNative = 8, // Native object (not from V8 heap). - kSynthetic = 9, // Synthetic object, usualy used for grouping + kSynthetic = 9, // Synthetic object, usually used for grouping // snapshot items together. kConsString = 10, // Concatenated string. A pair of pointers to strings. kSlicedString = 11, // Sliced string. A fragment of another string. @@ -784,7 +784,7 @@ class V8_EXPORT HeapProfiler { /** * Returns the sampled profile of allocations allocated (and still live) since * StartSamplingHeapProfiler was called. The ownership of the pointer is - * transfered to the caller. Returns nullptr if sampling heap profiler is not + * transferred to the caller. Returns nullptr if sampling heap profiler is not * active. */ AllocationProfile* GetAllocationProfile(); @@ -809,9 +809,6 @@ class V8_EXPORT HeapProfiler { */ static const uint16_t kPersistentHandleNoClassId = 0; - /** Returns memory used for profiler internal data and snapshots. */ - size_t GetProfilerMemorySize(); - private: HeapProfiler(); ~HeapProfiler(); diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 3d24701f5ef608..2760fe3f297be8 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 6 -#define V8_MINOR_VERSION 1 -#define V8_BUILD_NUMBER 534 -#define V8_PATCH_LEVEL 51 +#define V8_MINOR_VERSION 2 +#define V8_BUILD_NUMBER 414 +#define V8_PATCH_LEVEL 46 // 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 931dd9a6280c29..eec2256aeab025 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -139,6 +139,7 @@ template class ReturnValue; namespace internal { class Arguments; +class DeferredHandles; class Heap; class HeapObject; class Isolate; @@ -1169,8 +1170,8 @@ class V8_EXPORT Module { V8_WARN_UNUSED_RESULT MaybeLocal Evaluate(Local context); /** - * Returns the namespace object of this module. The module must have - * been successfully instantiated before and must not be errored. + * Returns the namespace object of this module. + * The module's status must be kEvaluated. */ Local GetModuleNamespace(); }; @@ -1725,7 +1726,16 @@ class V8_EXPORT StackFrame { // A StateTag represents a possible state of the VM. -enum StateTag { JS, GC, COMPILER, OTHER, EXTERNAL, IDLE }; +enum StateTag { + JS, + GC, + PARSER, + BYTECODE_COMPILER, + COMPILER, + OTHER, + EXTERNAL, + IDLE +}; // A RegisterState represents the current state of registers used // by the sampling profiler API. @@ -2442,7 +2452,8 @@ enum class NewStringType { */ class V8_EXPORT String : public Name { public: - static const int kMaxLength = (1 << 28) - 16; + static constexpr int kMaxLength = + sizeof(void*) == 4 ? (1 << 28) - 16 : (1 << 30) - 1 - 24; enum Encoding { UNKNOWN_ENCODING = 0x1, @@ -2761,7 +2772,9 @@ class V8_EXPORT String : public Name { */ class V8_EXPORT Utf8Value { public: - explicit Utf8Value(Local obj); + V8_DEPRECATE_SOON("Use Isolate version", + explicit Utf8Value(Local obj)); + Utf8Value(Isolate* isolate, Local obj); ~Utf8Value(); char* operator*() { return str_; } const char* operator*() const { return str_; } @@ -2784,7 +2797,9 @@ class V8_EXPORT String : public Name { */ class V8_EXPORT Value { public: - explicit Value(Local obj); + V8_DEPRECATE_SOON("Use Isolate version", + explicit Value(Local obj)); + Value(Isolate* isolate, Local obj); ~Value(); uint16_t* operator*() { return str_; } const uint16_t* operator*() const { return str_; } @@ -3097,12 +3112,9 @@ class V8_EXPORT Object : public Value { // // Note also that this only works for named properties. V8_DEPRECATED("Use CreateDataProperty / DefineOwnProperty", - bool ForceSet(Local key, Local value, - PropertyAttribute attribs = None)); - V8_DEPRECATE_SOON("Use CreateDataProperty / DefineOwnProperty", - Maybe ForceSet(Local context, - Local key, Local value, - PropertyAttribute attribs = None)); + Maybe ForceSet(Local context, Local key, + Local value, + PropertyAttribute attribs = None)); V8_DEPRECATE_SOON("Use maybe version", Local Get(Local key)); V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, @@ -4107,12 +4119,10 @@ class V8_EXPORT WasmCompiledModule : public Object { // supports move semantics, and does not support copy semantics. class TransferrableModule final { public: - TransferrableModule(TransferrableModule&& src) - : compiled_code(std::move(src.compiled_code)), - wire_bytes(std::move(src.wire_bytes)) {} + TransferrableModule(TransferrableModule&& src) = default; TransferrableModule(const TransferrableModule& src) = delete; - TransferrableModule& operator=(TransferrableModule&& src); + TransferrableModule& operator=(TransferrableModule&& src) = default; TransferrableModule& operator=(const TransferrableModule& src) = delete; private: @@ -4169,6 +4179,46 @@ class V8_EXPORT WasmCompiledModule : public Object { static void CheckCast(Value* obj); }; +// TODO(mtrofin): when streaming compilation is done, we can rename this +// to simply WasmModuleObjectBuilder +class V8_EXPORT WasmModuleObjectBuilderStreaming final { + public: + WasmModuleObjectBuilderStreaming(Isolate* isolate); + // The buffer passed into OnBytesReceived is owned by the caller. + void OnBytesReceived(const uint8_t*, size_t size); + void Finish(); + void Abort(Local exception); + Local GetPromise(); + + ~WasmModuleObjectBuilderStreaming(); + + private: + typedef std::pair, size_t> Buffer; + + WasmModuleObjectBuilderStreaming(const WasmModuleObjectBuilderStreaming&) = + delete; + WasmModuleObjectBuilderStreaming(WasmModuleObjectBuilderStreaming&&) = + default; + WasmModuleObjectBuilderStreaming& operator=( + const WasmModuleObjectBuilderStreaming&) = delete; + WasmModuleObjectBuilderStreaming& operator=( + WasmModuleObjectBuilderStreaming&&) = default; + Isolate* isolate_ = nullptr; + +#if V8_CC_MSVC + // We don't need the static Copy API, so the default + // NonCopyablePersistentTraits would be sufficient, however, + // MSVC eagerly instantiates the Copy. + // We ensure we don't use Copy, however, by compiling with the + // defaults everywhere else. + Persistent> promise_; +#else + Persistent promise_; +#endif + std::vector received_buffers_; + size_t total_size_ = 0; +}; + class V8_EXPORT WasmModuleObjectBuilder final { public: WasmModuleObjectBuilder(Isolate* isolate) : isolate_(isolate) {} @@ -4185,11 +4235,9 @@ class V8_EXPORT WasmModuleObjectBuilder final { // Disable copy semantics *in this implementation*. We can choose to // relax this, albeit it's not clear why. WasmModuleObjectBuilder(const WasmModuleObjectBuilder&) = delete; - WasmModuleObjectBuilder(WasmModuleObjectBuilder&& src) - : received_buffers_(std::move(src.received_buffers_)), - total_size_(src.total_size_) {} + WasmModuleObjectBuilder(WasmModuleObjectBuilder&&) = default; WasmModuleObjectBuilder& operator=(const WasmModuleObjectBuilder&) = delete; - WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&); + WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&) = default; std::vector received_buffers_; size_t total_size_ = 0; @@ -4295,7 +4343,18 @@ class V8_EXPORT ArrayBuffer : public Object { */ class V8_EXPORT Contents { // NOLINT public: - Contents() : data_(NULL), byte_length_(0) {} + Contents() + : data_(nullptr), + byte_length_(0), + allocation_base_(nullptr), + allocation_length_(0), + allocation_mode_(Allocator::AllocationMode::kNormal) {} + + void* AllocationBase() const { return allocation_base_; } + size_t AllocationLength() const { return allocation_length_; } + Allocator::AllocationMode AllocationMode() const { + return allocation_mode_; + } void* Data() const { return data_; } size_t ByteLength() const { return byte_length_; } @@ -4303,6 +4362,9 @@ class V8_EXPORT ArrayBuffer : public Object { private: void* data_; size_t byte_length_; + void* allocation_base_; + size_t allocation_length_; + Allocator::AllocationMode allocation_mode_; friend class ArrayBuffer; }; @@ -4448,6 +4510,12 @@ class V8_EXPORT ArrayBufferView : public Object { */ class V8_EXPORT TypedArray : public ArrayBufferView { public: + /* + * The largest typed array size that can be constructed using New. + */ + static constexpr size_t kMaxLength = + sizeof(void*) == 4 ? (1u << 30) - 1 : (1u << 31) - 1; + /** * Number of elements in this typed array * (e.g. for Int16Array, |ByteLength|/2). @@ -4651,7 +4719,18 @@ class V8_EXPORT SharedArrayBuffer : public Object { */ class V8_EXPORT Contents { // NOLINT public: - Contents() : data_(NULL), byte_length_(0) {} + Contents() + : data_(nullptr), + byte_length_(0), + allocation_base_(nullptr), + allocation_length_(0), + allocation_mode_(ArrayBuffer::Allocator::AllocationMode::kNormal) {} + + void* AllocationBase() const { return allocation_base_; } + size_t AllocationLength() const { return allocation_length_; } + ArrayBuffer::Allocator::AllocationMode AllocationMode() const { + return allocation_mode_; + } void* Data() const { return data_; } size_t ByteLength() const { return byte_length_; } @@ -4659,6 +4738,9 @@ class V8_EXPORT SharedArrayBuffer : public Object { private: void* data_; size_t byte_length_; + void* allocation_base_; + size_t allocation_length_; + ArrayBuffer::Allocator::AllocationMode allocation_mode_; friend class SharedArrayBuffer; }; @@ -4905,8 +4987,8 @@ class V8_EXPORT External : public Value { F(ArrayProto_forEach, array_for_each_iterator) \ F(ArrayProto_keys, array_keys_iterator) \ F(ArrayProto_values, array_values_iterator) \ - F(IteratorPrototype, initial_iterator_prototype) \ F(ErrorPrototype, initial_error_prototype) \ + F(IteratorPrototype, initial_iterator_prototype) enum Intrinsic { #define V8_DECL_INTRINSIC(name, iname) k##name, @@ -5044,7 +5126,6 @@ typedef void (*NamedPropertyDeleterCallback)( Local property, const PropertyCallbackInfo& info); - /** * Returns an array containing the names of the properties the named * property getter intercepts. @@ -5168,7 +5249,6 @@ typedef void (*GenericNamedPropertyQueryCallback)( typedef void (*GenericNamedPropertyDeleterCallback)( Local property, const PropertyCallbackInfo& info); - /** * Returns an array containing the names of the properties the named * property getter intercepts. @@ -5970,6 +6050,8 @@ V8_INLINE Local False(Isolate* isolate); * * The arguments for set_max_semi_space_size, set_max_old_space_size, * set_max_executable_size, set_code_range_size specify limits in MB. + * + * The argument for set_max_semi_space_size_in_kb is in KB. */ class V8_EXPORT ResourceConstraints { public: @@ -5987,10 +6069,28 @@ class V8_EXPORT ResourceConstraints { void ConfigureDefaults(uint64_t physical_memory, uint64_t virtual_memory_limit); - int max_semi_space_size() const { return max_semi_space_size_; } - void set_max_semi_space_size(int limit_in_mb) { - max_semi_space_size_ = limit_in_mb; + // Returns the max semi-space size in MB. + V8_DEPRECATE_SOON("Use max_semi_space_size_in_kb()", + int max_semi_space_size()) { + return static_cast(max_semi_space_size_in_kb_ / 1024); + } + + // Sets the max semi-space size in MB. + V8_DEPRECATE_SOON("Use set_max_semi_space_size_in_kb(size_t limit_in_kb)", + void set_max_semi_space_size(int limit_in_mb)) { + max_semi_space_size_in_kb_ = limit_in_mb * 1024; + } + + // Returns the max semi-space size in KB. + size_t max_semi_space_size_in_kb() const { + return max_semi_space_size_in_kb_; } + + // Sets the max semi-space size in KB. + void set_max_semi_space_size_in_kb(size_t limit_in_kb) { + max_semi_space_size_in_kb_ = limit_in_kb; + } + int max_old_space_size() const { return max_old_space_size_; } void set_max_old_space_size(int limit_in_mb) { max_old_space_size_ = limit_in_mb; @@ -6016,7 +6116,10 @@ class V8_EXPORT ResourceConstraints { } private: - int max_semi_space_size_; + // max_semi_space_size_ is in KB + size_t max_semi_space_size_in_kb_; + + // The remaining limits are in MB int max_old_space_size_; int max_executable_size_; uint32_t* stack_limit_; @@ -6117,7 +6220,9 @@ typedef void (*DeprecatedCallCompletedCallback)(); * The Promise returned from this function is forwarded to userland * JavaScript. The embedder must resolve this promise with the module * namespace object. In case of an exception, the embedder must reject - * this promise with the exception. + * this promise with the exception. If the promise creation itself + * fails (e.g. due to stack overflow), the embedder must propagate + * that exception by returning an empty MaybeLocal. */ typedef MaybeLocal (*HostImportModuleDynamicallyCallback)( Local context, Local referrer, Local specifier); @@ -6243,24 +6348,8 @@ typedef void (*FailedAccessCheckCallback)(Local target, * Callback to check if code generation from strings is allowed. See * Context::AllowCodeGenerationFromStrings. */ -typedef bool (*DeprecatedAllowCodeGenerationFromStringsCallback)( - Local context); -// The naming of this alias is for **Node v8.x releases only** -// plain V8 >= 6.1 just calls it AllowCodeGenerationFromStringsCallback -typedef bool (*FreshNewAllowCodeGenerationFromStringsCallback)( - Local context, Local source); - -// a) no addon uses this anyway -// b) this is sufficient because c++ type mangling takes care of resolving -// the typedefs -// c) doing it this way allows people to use the Fresh New variant -#ifdef USING_V8_SHARED -typedef DeprecatedAllowCodeGenerationFromStringsCallback - AllowCodeGenerationFromStringsCallback; -#else -typedef FreshNewAllowCodeGenerationFromStringsCallback - AllowCodeGenerationFromStringsCallback; -#endif +typedef bool (*AllowCodeGenerationFromStringsCallback)(Local context, + Local source); // --- WebAssembly compilation callbacks --- typedef bool (*ExtensionCallback)(const FunctionCallbackInfo&); @@ -6469,7 +6558,7 @@ struct JitCodeEvent { struct line_info_t { // PC offset size_t offset; - // Code postion + // Code position size_t pos; // The position type. PositionType position_type; @@ -6748,7 +6837,7 @@ class V8_EXPORT Isolate { * deserialization. This array and its content must stay valid for the * entire lifetime of the isolate. */ - intptr_t* external_references; + const intptr_t* external_references; /** * Whether calling Atomics.wait (a function that may block) is allowed in @@ -6894,6 +6983,7 @@ class V8_EXPORT Isolate { kAssigmentExpressionLHSIsCallInStrict = 37, kPromiseConstructorReturnedUndefined = 38, kConstructorNonUndefinedPrimitiveReturn = 39, + kLabeledExpressionStatement = 40, // If you add new values here, you'll also need to update Chromium's: // UseCounter.h, V8PerIsolateData.cpp, histograms.xml @@ -7169,8 +7259,6 @@ class V8_EXPORT Isolate { typedef void (*GCCallback)(Isolate* isolate, GCType type, GCCallbackFlags flags); - typedef void (*GCCallbackWithData)(Isolate* isolate, GCType type, - GCCallbackFlags flags, void* data); /** * Enables the host application to receive a notification before a @@ -7181,8 +7269,6 @@ class V8_EXPORT Isolate { * not possible to register the same callback function two times with * different GCType filters. */ - void AddGCPrologueCallback(GCCallbackWithData callback, void* data = nullptr, - GCType gc_type_filter = kGCTypeAll); void AddGCPrologueCallback(GCCallback callback, GCType gc_type_filter = kGCTypeAll); @@ -7190,7 +7276,6 @@ class V8_EXPORT Isolate { * This function removes callback which was installed by * AddGCPrologueCallback function. */ - void RemoveGCPrologueCallback(GCCallbackWithData, void* data = nullptr); void RemoveGCPrologueCallback(GCCallback callback); /** @@ -7207,8 +7292,6 @@ class V8_EXPORT Isolate { * not possible to register the same callback function two times with * different GCType filters. */ - void AddGCEpilogueCallback(GCCallbackWithData callback, void* data = nullptr, - GCType gc_type_filter = kGCTypeAll); void AddGCEpilogueCallback(GCCallback callback, GCType gc_type_filter = kGCTypeAll); @@ -7216,8 +7299,6 @@ class V8_EXPORT Isolate { * This function removes callback which was installed by * AddGCEpilogueCallback function. */ - void RemoveGCEpilogueCallback(GCCallbackWithData callback, - void* data = nullptr); void RemoveGCEpilogueCallback(GCCallback callback); typedef size_t (*GetExternallyAllocatedMemoryInBytesCallback)(); @@ -7328,8 +7409,8 @@ class V8_EXPORT Isolate { DeprecatedCallCompletedCallback callback)); /** - * Experimental: Set the PromiseHook callback for various promise - * lifecycle events. + * Set the PromiseHook callback for various promise lifecycle + * events. */ void SetPromiseHook(PromiseHook hook); @@ -7545,10 +7626,7 @@ class V8_EXPORT Isolate { * strings should be allowed. */ void SetAllowCodeGenerationFromStringsCallback( - FreshNewAllowCodeGenerationFromStringsCallback callback); - V8_DEPRECATED("Use callback with source parameter.", - void SetAllowCodeGenerationFromStringsCallback( - DeprecatedAllowCodeGenerationFromStringsCallback callback)); + AllowCodeGenerationFromStringsCallback callback); /** * Embedder over{ride|load} injection points for wasm APIs. The expectation @@ -7666,6 +7744,7 @@ class V8_EXPORT Isolate { friend class PersistentValueMapBase; void ReportExternalAllocationLimitReached(); + void CheckMemoryPressure(); }; class V8_EXPORT StartupData { @@ -7685,7 +7764,7 @@ typedef bool (*EntropySource)(unsigned char* buffer, size_t length); * ReturnAddressLocationResolver is used as a callback function when v8 is * resolving the location of a return address on the stack. Profilers that * change the return address on the stack can use this to resolve the stack - * location to whereever the profiler stashed the original return address. + * location to wherever the profiler stashed the original return address. * * \param return_addr_location A location on stack where a machine * return address resides. @@ -7708,15 +7787,6 @@ class V8_EXPORT V8 { "Use isolate version", void SetFatalErrorHandler(FatalErrorCallback that)); - /** - * Set the callback to invoke to check if code generation from - * strings should be allowed. - */ - V8_INLINE static V8_DEPRECATED( - "Use isolate version", - void SetAllowCodeGenerationFromStringsCallback( - DeprecatedAllowCodeGenerationFromStringsCallback that)); - /** * Check if V8 is dead and therefore unusable. This is the case after * fatal errors such as out-of-memory situations. @@ -8026,7 +8096,7 @@ class V8_EXPORT V8 { */ static void ShutdownPlatform(); -#if V8_OS_LINUX && V8_TARGET_ARCH_X64 && !V8_OS_ANDROID +#if V8_OS_POSIX /** * Give the V8 signal handler a chance to handle a fault. * @@ -8047,7 +8117,7 @@ class V8_EXPORT V8 { * points to a ucontext_t structure. */ static bool TryHandleSignal(int signal_number, void* info, void* context); -#endif // V8_OS_LINUX && V8_TARGET_ARCH_X64 && !V8_OS_ANDROID +#endif // V8_OS_POSIX /** * Enable the default signal handler rather than using one provided by the @@ -8112,7 +8182,7 @@ class V8_EXPORT SnapshotCreator { * \param external_references a null-terminated array of external references * that must be equivalent to CreateParams::external_references. */ - SnapshotCreator(intptr_t* external_references = nullptr, + SnapshotCreator(const intptr_t* external_references = nullptr, StartupData* existing_blob = nullptr); ~SnapshotCreator(); @@ -8126,8 +8196,12 @@ class V8_EXPORT SnapshotCreator { * Set the default context to be included in the snapshot blob. * The snapshot will not contain the global proxy, and we expect one or a * global object template to create one, to be provided upon deserialization. + * + * \param callback optional callback to serialize internal fields. */ - void SetDefaultContext(Local context); + void SetDefaultContext(Local context, + SerializeInternalFieldsCallback callback = + SerializeInternalFieldsCallback()); /** * Add additional context to be included in the snapshot blob. @@ -8479,7 +8553,9 @@ class V8_EXPORT Context { static Local New( Isolate* isolate, ExtensionConfiguration* extensions = NULL, MaybeLocal global_template = MaybeLocal(), - MaybeLocal global_object = MaybeLocal()); + MaybeLocal global_object = MaybeLocal(), + DeserializeInternalFieldsCallback internal_fields_deserializer = + DeserializeInternalFieldsCallback()); /** * Create a new context from a (non-default) context snapshot. There @@ -8915,6 +8991,8 @@ class Internals { static const int kExternalMemoryOffset = 4 * kApiPointerSize; static const int kExternalMemoryLimitOffset = kExternalMemoryOffset + kApiInt64Size; + static const int kExternalMemoryAtLastMarkCompactOffset = + kExternalMemoryLimitOffset + kApiInt64Size; static const int kIsolateRootsOffset = kExternalMemoryLimitOffset + kApiInt64Size + kApiInt64Size + kApiPointerSize + kApiPointerSize; @@ -8934,8 +9012,8 @@ class Internals { static const int kNodeIsIndependentShift = 3; static const int kNodeIsActiveShift = 4; - static const int kJSApiObjectType = 0xbb; - static const int kJSObjectType = 0xbc; + static const int kJSApiObjectType = 0xbd; + static const int kJSObjectType = 0xbe; static const int kFirstNonstringType = 0x80; static const int kOddballType = 0x82; static const int kForeignType = 0x86; @@ -10133,13 +10211,32 @@ uint32_t Isolate::GetNumberOfDataSlots() { int64_t Isolate::AdjustAmountOfExternalAllocatedMemory( int64_t change_in_bytes) { typedef internal::Internals I; + const int64_t kMemoryReducerActivationLimit = 32 * 1024 * 1024; int64_t* external_memory = reinterpret_cast( reinterpret_cast(this) + I::kExternalMemoryOffset); - const int64_t external_memory_limit = *reinterpret_cast( + int64_t* external_memory_limit = reinterpret_cast( reinterpret_cast(this) + I::kExternalMemoryLimitOffset); + int64_t* external_memory_at_last_mc = + reinterpret_cast(reinterpret_cast(this) + + I::kExternalMemoryAtLastMarkCompactOffset); const int64_t amount = *external_memory + change_in_bytes; + *external_memory = amount; - if (change_in_bytes > 0 && amount > external_memory_limit) { + + int64_t allocation_diff_since_last_mc = + *external_memory_at_last_mc - *external_memory; + allocation_diff_since_last_mc = allocation_diff_since_last_mc < 0 + ? -allocation_diff_since_last_mc + : allocation_diff_since_last_mc; + if (allocation_diff_since_last_mc > kMemoryReducerActivationLimit) { + CheckMemoryPressure(); + } + + if (change_in_bytes < 0) { + *external_memory_limit += change_in_bytes; + } + + if (change_in_bytes > 0 && amount > *external_memory_limit) { ReportExternalAllocationLimitReached(); } return *external_memory; @@ -10169,15 +10266,6 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) { #endif } -void V8::SetAllowCodeGenerationFromStringsCallback( - DeprecatedAllowCodeGenerationFromStringsCallback callback) { - Isolate* isolate = Isolate::GetCurrent(); - isolate->SetAllowCodeGenerationFromStringsCallback( - reinterpret_cast( - callback)); -} - - bool V8::IsDead() { Isolate* isolate = Isolate::GetCurrent(); return isolate->IsDead(); diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index adb436219a9463..62bae4bfdca483 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -78,6 +78,7 @@ 'V8 Win64 - debug': 'gn_debug_x64_minimal_symbols', # TODO(machenbach): Switch plugins on when errors are fixed. 'V8 Win64 - clang': 'gn_release_x64_clang', + 'V8 Win64 ASAN': 'gn_release_x64_asan_no_lsan', # Mac. 'V8 Mac': 'gn_release_x86', 'V8 Mac - debug': 'gn_debug_x86', @@ -106,6 +107,10 @@ 'V8 Random Deopt Fuzzer - debug': 'gn_debug_x86', }, 'client.v8.clusterfuzz': { + 'V8 Mac64 ASAN - release builder': + 'gn_release_x64_asan_no_lsan_edge_verify_heap', + 'V8 Mac64 ASAN - debug builder': + 'gn_debug_x64_asan_no_lsan_static_edge', 'V8 Linux64 - release builder': 'gn_release_x64_correctness_fuzzer', 'V8 Linux64 - debug builder': 'gn_debug_x64', 'V8 Linux64 ASAN no inline - release builder': @@ -122,6 +127,9 @@ 'gn_release_simulate_arm64_msan_no_origins_edge', 'V8 Linux MSAN chained origins': 'gn_release_simulate_arm64_msan_edge', + 'V8 Linux64 UBSan - release builder': 'gn_release_x64_ubsan_recover', + 'V8 Linux64 UBSanVptr - release builder': + 'gn_release_x64_ubsan_vptr_recover_edge', }, 'client.v8.ports': { # Arm. @@ -205,6 +213,7 @@ 'v8_win_rel_ng': 'gn_release_x86_trybot', 'v8_win_nosnap_shared_rel_ng': 'gn_release_x86_no_snap_shared_minimal_symbols', + 'v8_win64_asan_rel_ng': 'gn_release_x64_asan_no_lsan', 'v8_win64_dbg': 'gn_debug_x64_minimal_symbols', 'v8_win64_rel_ng': 'gn_release_x64_trybot', 'v8_mac_rel_ng': 'gn_release_x86_trybot', @@ -375,6 +384,9 @@ 'minimal_symbols', 'swarming'], 'gn_release_x64_asan_no_lsan': [ 'gn', 'release_bot', 'x64', 'asan', 'swarming'], + 'gn_release_x64_asan_no_lsan_edge_verify_heap': [ + 'gn', 'release_bot', 'x64', 'asan', 'edge', 'swarming', + 'v8_verify_heap'], 'gn_release_x64_asan_symbolized_edge_verify_heap': [ 'gn', 'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized', 'v8_verify_heap'], @@ -389,7 +401,7 @@ 'gn_release_x64_correctness_fuzzer' : [ 'gn', 'release_bot', 'x64', 'v8_correctness_fuzzer'], 'gn_release_x64_gcc_coverage': [ - 'gn', 'release_bot', 'x64', 'coverage', 'gcc', 'no_custom_libcxx'], + 'gn', 'release_bot', 'x64', 'coverage', 'gcc'], 'gn_release_x64_internal': [ 'gn', 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'], 'gn_release_x64_minimal_symbols': [ @@ -406,10 +418,14 @@ 'minimal_symbols', 'swarming'], 'gn_release_x64_tsan_minimal_symbols': [ 'gn', 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'], + 'gn_release_x64_ubsan_recover': [ + 'gn', 'release_bot', 'x64', 'ubsan_recover', 'swarming'], 'gn_release_x64_ubsan_vptr': [ - 'gn', 'release_bot', 'x64', 'ubsan_vptr'], + 'gn', 'release_bot', 'x64', 'ubsan_vptr', 'swarming'], + 'gn_release_x64_ubsan_vptr_recover_edge': [ + 'gn', 'release_bot', 'x64', 'edge', 'ubsan_vptr_recover', 'swarming'], 'gn_release_x64_ubsan_vptr_minimal_symbols': [ - 'gn', 'release_bot', 'x64', 'ubsan_vptr', 'minimal_symbols'], + 'gn', 'release_bot', 'x64', 'ubsan_vptr', 'minimal_symbols', 'swarming'], 'gn_release_x64_valgrind': [ 'gn', 'release_bot', 'x64', 'swarming', 'valgrind', 'no_custom_libcxx'], @@ -425,10 +441,13 @@ 'gn', 'debug_bot', 'x64', 'swarming'], 'gn_debug_x64_asan_edge': [ 'gn', 'debug_bot', 'x64', 'asan', 'lsan', 'edge'], + 'gn_debug_x64_asan_no_lsan_static_edge': [ + 'gn', 'debug', 'static', 'goma', 'v8_enable_slow_dchecks', + 'v8_optimized_debug', 'x64', 'asan', 'edge', 'swarming'], 'gn_debug_x64_custom': [ 'gn', 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'], 'gn_debug_x64_gcc': [ - 'gn', 'debug_bot', 'x64', 'gcc', 'no_custom_libcxx'], + 'gn', 'debug_bot', 'x64', 'gcc'], 'gn_debug_x64_minimal_symbols': [ 'gn', 'debug_bot', 'x64', 'minimal_symbols', 'swarming'], 'gn_debug_x64_trybot': [ @@ -462,10 +481,9 @@ 'gn_release_x86_disassembler': [ 'gn', 'release_bot', 'x86', 'v8_enable_disassembler'], 'gn_release_x86_gcc': [ - 'gn', 'release_bot', 'x86', 'gcc', 'no_custom_libcxx'], + 'gn', 'release_bot', 'x86', 'gcc'], 'gn_release_x86_gcc_minimal_symbols': [ - 'gn', 'release_bot', 'x86', 'gcc', 'minimal_symbols', - 'no_custom_libcxx'], + 'gn', 'release_bot', 'x86', 'gcc', 'minimal_symbols'], 'gn_release_x86_gcmole': [ 'gn', 'release_bot', 'x86', 'gcmole', 'swarming'], 'gn_release_x86_gcmole_trybot': [ @@ -591,7 +609,8 @@ }, 'gcc': { - 'gn_args': 'is_clang=false use_sysroot=false', + # TODO(machenbach): Remove cxx11 restriction when updating gcc version. + 'gn_args': 'is_clang=false use_cxx11=true', 'gyp_defines': 'clang=0', }, @@ -726,6 +745,11 @@ 'gyp_defines': 'clang=1 tsan=1', }, + 'ubsan_recover': { + # Ubsan with recovery. + 'gn_args': 'is_ubsan=true is_ubsan_no_recover=false', + }, + 'ubsan_vptr': { # TODO(krasin): Remove is_ubsan_no_recover=true when # https://llvm.org/bugs/show_bug.cgi?id=25569 is fixed and just use @@ -733,6 +757,11 @@ 'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=true', }, + 'ubsan_vptr_recover': { + # Ubsan vptr with recovery. + 'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=false', + }, + 'valgrind': { 'gn_args': 'v8_has_valgrind=true', 'gyp_defines': 'has_valgrind=1', diff --git a/deps/v8/samples/hello-world.cc b/deps/v8/samples/hello-world.cc index 9e5188f4792ca8..8a2122c96bfbf0 100644 --- a/deps/v8/samples/hello-world.cc +++ b/deps/v8/samples/hello-world.cc @@ -48,7 +48,7 @@ int main(int argc, char* argv[]) { Local result = script->Run(context).ToLocalChecked(); // Convert the result to an UTF8 string and print it. - String::Utf8Value utf8(result); + String::Utf8Value utf8(isolate, result); printf("%s\n", *utf8); } diff --git a/deps/v8/samples/process.cc b/deps/v8/samples/process.cc index 29ddb5cf2f187c..5ebe1dbfc4fac4 100644 --- a/deps/v8/samples/process.cc +++ b/deps/v8/samples/process.cc @@ -144,9 +144,10 @@ class JsHttpRequestProcessor : public HttpRequestProcessor { static void LogCallback(const v8::FunctionCallbackInfo& args) { if (args.Length() < 1) return; - HandleScope scope(args.GetIsolate()); + Isolate* isolate = args.GetIsolate(); + HandleScope scope(isolate); Local arg = args[0]; - String::Utf8Value value(arg); + String::Utf8Value value(isolate, arg); HttpRequestProcessor::Log(*value); } @@ -221,7 +222,7 @@ bool JsHttpRequestProcessor::ExecuteScript(Local script) { // Compile the script and check for errors. Local