From c459d8ea5d402c702948c860d9497b2230ff7e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 21 Mar 2017 10:16:54 +0100 Subject: [PATCH] deps: update V8 to 5.7.492.69 PR-URL: https://github.com/nodejs/node/pull/11752 Reviewed-By: Ben Noordhuis Reviewed-By: Franziska Hinkelmann --- deps/v8/.clang-format | 1 + deps/v8/.gn | 31 +- deps/v8/AUTHORS | 2 + deps/v8/BUILD.gn | 197 +- deps/v8/ChangeLog | 2490 ++++++++++++ deps/v8/DEPS | 22 +- deps/v8/OWNERS | 7 + deps/v8/PRESUBMIT.py | 15 +- deps/v8/build_overrides/build.gni | 6 + deps/v8/build_overrides/v8.gni | 15 +- deps/v8/gni/isolate.gni | 5 +- deps/v8/gni/v8.gni | 26 +- deps/v8/gypfiles/all.gyp | 6 +- deps/v8/gypfiles/get_landmines.py | 1 + deps/v8/gypfiles/toolchain.gypi | 2 + .../v8/gypfiles/win/msvs_dependencies.isolate | 97 + deps/v8/include/libplatform/libplatform.h | 11 + deps/v8/include/v8-debug.h | 80 +- deps/v8/include/v8-inspector.h | 6 +- deps/v8/include/v8-version-string.h | 33 + deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 465 ++- deps/v8/infra/config/cq.cfg | 1 - deps/v8/infra/mb/mb_config.pyl | 15 +- deps/v8/src/DEPS | 2 + deps/v8/src/accessors.cc | 101 +- deps/v8/src/accessors.h | 1 - deps/v8/src/allocation.cc | 17 - deps/v8/src/allocation.h | 19 +- deps/v8/src/api-arguments-inl.h | 20 + deps/v8/src/api-arguments.cc | 15 + deps/v8/src/api-arguments.h | 2 + deps/v8/src/api-experimental.cc | 3 +- deps/v8/src/api-natives.cc | 67 +- deps/v8/src/api.cc | 727 ++-- deps/v8/src/api.h | 3 +- deps/v8/src/arguments.h | 3 +- deps/v8/src/arm/assembler-arm-inl.h | 2 +- deps/v8/src/arm/assembler-arm.cc | 786 +++- deps/v8/src/arm/assembler-arm.h | 131 +- deps/v8/src/arm/code-stubs-arm.cc | 486 +-- deps/v8/src/arm/code-stubs-arm.h | 19 - deps/v8/src/arm/codegen-arm.cc | 358 +- deps/v8/src/arm/constants-arm.h | 25 +- deps/v8/src/arm/disasm-arm.cc | 379 +- deps/v8/src/arm/interface-descriptors-arm.cc | 8 +- deps/v8/src/arm/macro-assembler-arm.cc | 430 +- deps/v8/src/arm/macro-assembler-arm.h | 104 +- deps/v8/src/arm/simulator-arm.cc | 1201 +++++- deps/v8/src/arm/simulator-arm.h | 11 +- deps/v8/src/arm64/assembler-arm64.cc | 15 +- deps/v8/src/arm64/assembler-arm64.h | 3 - deps/v8/src/arm64/code-stubs-arm64.cc | 452 +-- deps/v8/src/arm64/code-stubs-arm64.h | 8 - deps/v8/src/arm64/codegen-arm64.cc | 290 +- .../src/arm64/interface-descriptors-arm64.cc | 12 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 316 +- deps/v8/src/arm64/macro-assembler-arm64.h | 94 +- deps/v8/src/asmjs/OWNERS | 1 + deps/v8/src/asmjs/asm-js.cc | 129 +- deps/v8/src/asmjs/asm-js.h | 4 +- deps/v8/src/asmjs/asm-typer.cc | 407 +- deps/v8/src/asmjs/asm-typer.h | 80 +- deps/v8/src/asmjs/asm-types.cc | 1 + deps/v8/src/asmjs/asm-wasm-builder.cc | 465 ++- deps/v8/src/asmjs/asm-wasm-builder.h | 14 +- deps/v8/src/assembler-inl.h | 32 + deps/v8/src/assembler.cc | 74 +- deps/v8/src/assembler.h | 47 +- deps/v8/src/assert-scope.cc | 10 +- deps/v8/src/assert-scope.h | 23 +- deps/v8/src/ast/ast-expression-rewriter.cc | 6 +- .../ast/ast-function-literal-id-reindexer.cc | 29 + .../ast/ast-function-literal-id-reindexer.h | 36 + deps/v8/src/ast/ast-literal-reindexer.cc | 4 + deps/v8/src/ast/ast-numbering.cc | 119 +- deps/v8/src/ast/ast-numbering.h | 15 +- deps/v8/src/ast/ast-traversal-visitor.h | 8 +- deps/v8/src/ast/ast-types.cc | 7 +- deps/v8/src/ast/ast-value-factory.cc | 45 +- deps/v8/src/ast/ast-value-factory.h | 129 +- deps/v8/src/ast/ast.cc | 226 +- deps/v8/src/ast/ast.h | 353 +- deps/v8/src/ast/compile-time-value.cc | 4 +- deps/v8/src/ast/compile-time-value.h | 4 +- deps/v8/src/ast/modules.cc | 2 + deps/v8/src/ast/prettyprinter.cc | 53 +- deps/v8/src/ast/prettyprinter.h | 4 +- deps/v8/src/ast/scopes.cc | 511 ++- deps/v8/src/ast/scopes.h | 118 +- deps/v8/src/ast/variables.cc | 1 + deps/v8/src/bailout-reason.h | 9 +- deps/v8/src/base.isolate | 3 + deps/v8/src/base/cpu.cc | 10 +- deps/v8/src/base/cpu.h | 1 + deps/v8/src/base/hashmap.h | 17 +- deps/v8/src/base/iterator.h | 2 - deps/v8/src/base/logging.cc | 15 +- deps/v8/src/base/logging.h | 105 +- deps/v8/src/base/macros.h | 19 - deps/v8/src/base/platform/platform-linux.cc | 110 +- deps/v8/src/base/platform/platform-posix.cc | 23 + deps/v8/src/base/platform/platform-win32.cc | 7 + deps/v8/src/base/platform/platform.h | 8 + deps/v8/src/bit-vector.cc | 1 + deps/v8/src/bit-vector.h | 2 +- deps/v8/src/bootstrapper.cc | 981 +++-- deps/v8/src/bootstrapper.h | 1 + deps/v8/src/builtins/arm/builtins-arm.cc | 156 +- deps/v8/src/builtins/arm64/builtins-arm64.cc | 164 +- deps/v8/src/builtins/builtins-api.cc | 1 + deps/v8/src/builtins/builtins-array.cc | 1806 +++++---- deps/v8/src/builtins/builtins-boolean.cc | 29 +- deps/v8/src/builtins/builtins-constructor.cc | 772 ++++ deps/v8/src/builtins/builtins-constructor.h | 68 + deps/v8/src/builtins/builtins-conversion.cc | 321 +- deps/v8/src/builtins/builtins-date.cc | 308 +- deps/v8/src/builtins/builtins-function.cc | 208 +- deps/v8/src/builtins/builtins-generator.cc | 36 +- deps/v8/src/builtins/builtins-global.cc | 107 +- deps/v8/src/builtins/builtins-handler.cc | 239 +- deps/v8/src/builtins/builtins-ic.cc | 78 + deps/v8/src/builtins/builtins-internal.cc | 268 +- deps/v8/src/builtins/builtins-iterator.cc | 68 - deps/v8/src/builtins/builtins-math.cc | 515 ++- deps/v8/src/builtins/builtins-number.cc | 1663 ++++---- deps/v8/src/builtins/builtins-object.cc | 698 ++-- deps/v8/src/builtins/builtins-promise.cc | 1574 +++++++- deps/v8/src/builtins/builtins-promise.h | 120 + deps/v8/src/builtins/builtins-reflect.cc | 34 +- deps/v8/src/builtins/builtins-regexp.cc | 3214 ++++++++------- .../builtins/builtins-sharedarraybuffer.cc | 155 +- deps/v8/src/builtins/builtins-string.cc | 1451 +++---- deps/v8/src/builtins/builtins-symbol.cc | 76 +- deps/v8/src/builtins/builtins-typedarray.cc | 152 +- deps/v8/src/builtins/builtins-utils.h | 35 +- deps/v8/src/builtins/builtins.cc | 17 +- deps/v8/src/builtins/builtins.h | 1396 ++++--- deps/v8/src/builtins/ia32/builtins-ia32.cc | 160 +- deps/v8/src/builtins/mips/builtins-mips.cc | 171 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 469 +-- deps/v8/src/builtins/ppc/builtins-ppc.cc | 174 +- deps/v8/src/builtins/s390/builtins-s390.cc | 168 +- deps/v8/src/builtins/x64/builtins-x64.cc | 175 +- deps/v8/src/builtins/x87/OWNERS | 1 + deps/v8/src/builtins/x87/builtins-x87.cc | 168 +- deps/v8/src/cancelable-task.cc | 27 +- deps/v8/src/cancelable-task.h | 16 +- deps/v8/src/code-events.h | 2 +- deps/v8/src/code-factory.cc | 144 +- deps/v8/src/code-factory.h | 25 +- deps/v8/src/code-stub-assembler.cc | 3321 ++++++---------- deps/v8/src/code-stub-assembler.h | 1469 ++++--- deps/v8/src/code-stubs-hydrogen.cc | 460 +-- deps/v8/src/code-stubs.cc | 1828 ++------- deps/v8/src/code-stubs.h | 687 +--- deps/v8/src/codegen.cc | 92 + deps/v8/src/codegen.h | 37 - deps/v8/src/compilation-info.cc | 13 +- deps/v8/src/compilation-info.h | 12 +- deps/v8/src/compilation-statistics.cc | 10 +- deps/v8/src/compilation-statistics.h | 1 + .../compiler-dispatcher-job.cc | 213 +- .../compiler-dispatcher-job.h | 28 +- .../compiler-dispatcher-tracer.cc | 34 +- .../compiler-dispatcher-tracer.h | 11 +- .../compiler-dispatcher.cc | 631 +++ .../compiler-dispatcher/compiler-dispatcher.h | 175 + deps/v8/src/compiler.cc | 415 +- deps/v8/src/compiler.h | 26 +- deps/v8/src/compiler/OWNERS | 1 + deps/v8/src/compiler/access-builder.cc | 549 +-- deps/v8/src/compiler/access-builder.h | 24 +- deps/v8/src/compiler/access-info.cc | 48 +- deps/v8/src/compiler/access-info.h | 3 +- .../v8/src/compiler/arm/code-generator-arm.cc | 276 +- .../src/compiler/arm/instruction-codes-arm.h | 23 +- .../compiler/arm/instruction-scheduler-arm.cc | 21 + .../compiler/arm/instruction-selector-arm.cc | 180 +- .../compiler/arm64/code-generator-arm64.cc | 66 +- .../arm64/instruction-selector-arm64.cc | 44 +- deps/v8/src/compiler/ast-graph-builder.cc | 1361 +------ deps/v8/src/compiler/ast-graph-builder.h | 61 +- .../compiler/ast-loop-assignment-analyzer.cc | 2 + deps/v8/src/compiler/branch-elimination.cc | 21 +- deps/v8/src/compiler/bytecode-analysis.cc | 622 +++ deps/v8/src/compiler/bytecode-analysis.h | 126 + .../src/compiler/bytecode-branch-analysis.cc | 43 - .../src/compiler/bytecode-branch-analysis.h | 65 - .../v8/src/compiler/bytecode-graph-builder.cc | 541 +-- deps/v8/src/compiler/bytecode-graph-builder.h | 57 +- deps/v8/src/compiler/bytecode-liveness-map.cc | 42 + deps/v8/src/compiler/bytecode-liveness-map.h | 119 + .../v8/src/compiler/bytecode-loop-analysis.cc | 100 - deps/v8/src/compiler/bytecode-loop-analysis.h | 67 - deps/v8/src/compiler/code-assembler.cc | 1051 ++--- deps/v8/src/compiler/code-assembler.h | 369 +- deps/v8/src/compiler/code-generator.cc | 162 +- deps/v8/src/compiler/code-generator.h | 24 +- .../src/compiler/common-operator-reducer.cc | 69 +- deps/v8/src/compiler/common-operator.cc | 301 +- deps/v8/src/compiler/common-operator.h | 136 +- deps/v8/src/compiler/control-builders.cc | 61 +- deps/v8/src/compiler/control-builders.h | 53 - deps/v8/src/compiler/dead-code-elimination.cc | 31 +- .../src/compiler/effect-control-linearizer.cc | 3526 ++++++----------- .../src/compiler/effect-control-linearizer.h | 244 +- .../src/compiler/escape-analysis-reducer.cc | 42 +- .../v8/src/compiler/escape-analysis-reducer.h | 1 + deps/v8/src/compiler/escape-analysis.cc | 74 +- deps/v8/src/compiler/escape-analysis.h | 2 +- deps/v8/src/compiler/frame-elider.cc | 35 +- deps/v8/src/compiler/frame-states.cc | 1 + deps/v8/src/compiler/frame.h | 32 +- deps/v8/src/compiler/graph-assembler.cc | 287 ++ deps/v8/src/compiler/graph-assembler.h | 449 +++ deps/v8/src/compiler/graph-reducer.cc | 43 +- deps/v8/src/compiler/graph-visualizer.cc | 6 +- .../src/compiler/ia32/code-generator-ia32.cc | 196 +- .../ia32/instruction-selector-ia32.cc | 94 +- deps/v8/src/compiler/instruction-codes.h | 9 +- .../src/compiler/instruction-selector-impl.h | 23 +- deps/v8/src/compiler/instruction-selector.cc | 261 +- deps/v8/src/compiler/instruction-selector.h | 20 +- deps/v8/src/compiler/instruction.cc | 16 +- deps/v8/src/compiler/instruction.h | 146 +- deps/v8/src/compiler/int64-lowering.cc | 10 +- deps/v8/src/compiler/js-builtin-reducer.cc | 310 +- deps/v8/src/compiler/js-builtin-reducer.h | 3 +- deps/v8/src/compiler/js-call-reducer.cc | 200 +- deps/v8/src/compiler/js-call-reducer.h | 13 +- .../src/compiler/js-context-specialization.cc | 116 +- .../src/compiler/js-context-specialization.h | 6 +- deps/v8/src/compiler/js-create-lowering.cc | 227 +- .../src/compiler/js-frame-specialization.cc | 3 + deps/v8/src/compiler/js-generic-lowering.cc | 207 +- .../js-global-object-specialization.cc | 61 +- deps/v8/src/compiler/js-graph.cc | 26 +- deps/v8/src/compiler/js-graph.h | 6 +- deps/v8/src/compiler/js-inlining-heuristic.cc | 4 +- deps/v8/src/compiler/js-inlining.cc | 87 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 31 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 3 +- .../js-native-context-specialization.cc | 452 ++- .../js-native-context-specialization.h | 7 +- deps/v8/src/compiler/js-operator.cc | 196 +- deps/v8/src/compiler/js-operator.h | 90 +- deps/v8/src/compiler/js-typed-lowering.cc | 178 +- deps/v8/src/compiler/js-typed-lowering.h | 3 +- deps/v8/src/compiler/linkage.cc | 3 - deps/v8/src/compiler/load-elimination.cc | 270 +- deps/v8/src/compiler/load-elimination.h | 55 + .../v8/src/compiler/machine-graph-verifier.cc | 194 +- deps/v8/src/compiler/machine-graph-verifier.h | 3 +- .../src/compiler/machine-operator-reducer.cc | 80 +- .../src/compiler/machine-operator-reducer.h | 5 +- deps/v8/src/compiler/machine-operator.cc | 166 +- deps/v8/src/compiler/machine-operator.h | 14 +- deps/v8/src/compiler/memory-optimizer.cc | 185 +- deps/v8/src/compiler/memory-optimizer.h | 3 + .../src/compiler/mips/code-generator-mips.cc | 223 +- .../compiler/mips/instruction-codes-mips.h | 4 - .../mips/instruction-selector-mips.cc | 123 +- .../compiler/mips64/code-generator-mips64.cc | 383 +- .../mips64/instruction-codes-mips64.h | 4 - .../mips64/instruction-selector-mips64.cc | 202 +- deps/v8/src/compiler/node-marker.h | 13 +- deps/v8/src/compiler/node-properties.cc | 14 +- deps/v8/src/compiler/node-properties.h | 5 + deps/v8/src/compiler/node.cc | 6 - deps/v8/src/compiler/node.h | 167 +- deps/v8/src/compiler/opcodes.h | 67 +- deps/v8/src/compiler/operation-typer.cc | 84 +- deps/v8/src/compiler/operator-properties.cc | 3 + deps/v8/src/compiler/osr.cc | 23 +- deps/v8/src/compiler/pipeline.cc | 329 +- deps/v8/src/compiler/pipeline.h | 21 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 210 +- .../src/compiler/ppc/instruction-codes-ppc.h | 5 +- .../compiler/ppc/instruction-scheduler-ppc.cc | 3 +- .../compiler/ppc/instruction-selector-ppc.cc | 40 +- deps/v8/src/compiler/raw-machine-assembler.cc | 318 +- deps/v8/src/compiler/raw-machine-assembler.h | 64 +- .../v8/src/compiler/redundancy-elimination.cc | 58 +- deps/v8/src/compiler/redundancy-elimination.h | 3 + .../compiler/register-allocator-verifier.cc | 32 +- deps/v8/src/compiler/register-allocator.cc | 41 +- deps/v8/src/compiler/representation-change.cc | 65 +- deps/v8/src/compiler/representation-change.h | 1 + .../src/compiler/s390/code-generator-s390.cc | 176 +- .../compiler/s390/instruction-codes-s390.h | 1 - .../s390/instruction-scheduler-s390.cc | 1 - .../s390/instruction-selector-s390.cc | 139 +- deps/v8/src/compiler/schedule.cc | 2 +- deps/v8/src/compiler/simd-scalar-lowering.cc | 254 +- deps/v8/src/compiler/simd-scalar-lowering.h | 7 + deps/v8/src/compiler/simplified-lowering.cc | 185 +- .../compiler/simplified-operator-reducer.cc | 9 + deps/v8/src/compiler/simplified-operator.cc | 116 +- deps/v8/src/compiler/simplified-operator.h | 76 +- deps/v8/src/compiler/state-values-utils.cc | 323 +- deps/v8/src/compiler/state-values-utils.h | 49 +- deps/v8/src/compiler/type-cache.h | 16 +- deps/v8/src/compiler/type-hint-analyzer.cc | 128 - deps/v8/src/compiler/type-hint-analyzer.h | 57 - deps/v8/src/compiler/typed-optimization.cc | 37 +- deps/v8/src/compiler/typed-optimization.h | 1 + deps/v8/src/compiler/typer.cc | 105 +- deps/v8/src/compiler/types.cc | 27 +- deps/v8/src/compiler/types.h | 29 +- .../src/compiler/value-numbering-reducer.cc | 19 +- deps/v8/src/compiler/verifier.cc | 59 +- deps/v8/src/compiler/wasm-compiler.cc | 858 ++-- deps/v8/src/compiler/wasm-compiler.h | 81 +- deps/v8/src/compiler/wasm-linkage.cc | 28 +- .../v8/src/compiler/x64/code-generator-x64.cc | 311 +- .../src/compiler/x64/instruction-codes-x64.h | 8 +- .../compiler/x64/instruction-scheduler-x64.cc | 4 +- .../compiler/x64/instruction-selector-x64.cc | 266 +- .../v8/src/compiler/x87/code-generator-x87.cc | 8 +- .../compiler/x87/instruction-selector-x87.cc | 14 + deps/v8/src/contexts-inl.h | 7 + deps/v8/src/contexts.cc | 200 +- deps/v8/src/contexts.h | 203 +- deps/v8/src/conversions-inl.h | 54 +- deps/v8/src/conversions.cc | 144 +- deps/v8/src/conversions.h | 8 + deps/v8/src/counters-inl.h | 51 + deps/v8/src/counters.cc | 50 +- deps/v8/src/counters.h | 186 +- .../src/crankshaft/arm/lithium-codegen-arm.cc | 30 +- .../crankshaft/arm64/lithium-codegen-arm64.cc | 16 +- .../v8/src/crankshaft/hydrogen-instructions.h | 8 +- deps/v8/src/crankshaft/hydrogen-types.cc | 1 + deps/v8/src/crankshaft/hydrogen.cc | 204 +- deps/v8/src/crankshaft/hydrogen.h | 48 +- .../crankshaft/ia32/lithium-codegen-ia32.cc | 33 +- .../crankshaft/mips/lithium-codegen-mips.cc | 40 +- .../mips64/lithium-codegen-mips64.cc | 33 +- .../src/crankshaft/ppc/lithium-codegen-ppc.cc | 55 +- .../crankshaft/s390/lithium-codegen-s390.cc | 226 +- deps/v8/src/crankshaft/s390/lithium-s390.cc | 31 +- deps/v8/src/crankshaft/s390/lithium-s390.h | 16 - deps/v8/src/crankshaft/typing.cc | 1 + .../src/crankshaft/x64/lithium-codegen-x64.cc | 20 +- deps/v8/src/crankshaft/x87/OWNERS | 1 + .../src/crankshaft/x87/lithium-codegen-x87.cc | 33 +- deps/v8/src/d8.cc | 305 +- deps/v8/src/d8.h | 8 +- deps/v8/src/debug/arm/debug-arm.cc | 2 +- deps/v8/src/debug/arm64/debug-arm64.cc | 2 +- deps/v8/src/debug/debug-evaluate.cc | 316 +- deps/v8/src/debug/debug-evaluate.h | 11 +- deps/v8/src/debug/debug-frames.cc | 49 +- deps/v8/src/debug/debug-frames.h | 6 +- deps/v8/src/debug/debug-interface.h | 343 +- deps/v8/src/debug/debug-scopes.cc | 64 +- deps/v8/src/debug/debug-scopes.h | 8 +- deps/v8/src/debug/debug.cc | 571 +-- deps/v8/src/debug/debug.h | 145 +- deps/v8/src/debug/debug.js | 106 +- deps/v8/src/debug/ia32/debug-ia32.cc | 2 +- deps/v8/src/debug/interface-types.h | 75 + deps/v8/src/debug/liveedit.cc | 46 +- deps/v8/src/debug/liveedit.h | 10 +- deps/v8/src/debug/liveedit.js | 119 +- deps/v8/src/debug/mips/debug-mips.cc | 2 +- deps/v8/src/debug/mips64/debug-mips64.cc | 2 +- deps/v8/src/debug/mirrors.js | 36 +- deps/v8/src/debug/ppc/debug-ppc.cc | 2 +- deps/v8/src/debug/s390/debug-s390.cc | 2 +- deps/v8/src/debug/x64/debug-x64.cc | 2 +- deps/v8/src/debug/x87/OWNERS | 1 + deps/v8/src/debug/x87/debug-x87.cc | 2 +- deps/v8/src/deoptimizer.cc | 542 ++- deps/v8/src/deoptimizer.h | 10 +- deps/v8/src/elements-kind.cc | 1 + deps/v8/src/elements.cc | 200 +- deps/v8/src/elements.h | 3 + deps/v8/src/execution.cc | 70 +- deps/v8/src/execution.h | 33 +- .../externalize-string-extension.cc | 1 + deps/v8/src/external-reference-table.cc | 18 +- deps/v8/src/factory.cc | 247 +- deps/v8/src/factory.h | 53 +- deps/v8/src/fast-accessor-assembler.cc | 141 +- deps/v8/src/fast-accessor-assembler.h | 14 +- deps/v8/src/field-type.cc | 1 + deps/v8/src/flag-definitions.h | 119 +- deps/v8/src/frames-inl.h | 14 +- deps/v8/src/frames.cc | 471 ++- deps/v8/src/frames.h | 279 +- .../src/full-codegen/arm/full-codegen-arm.cc | 951 +---- .../full-codegen/arm64/full-codegen-arm64.cc | 954 +---- deps/v8/src/full-codegen/full-codegen.cc | 552 +-- deps/v8/src/full-codegen/full-codegen.h | 134 +- .../full-codegen/ia32/full-codegen-ia32.cc | 912 +---- .../full-codegen/mips/full-codegen-mips.cc | 937 +---- .../mips64/full-codegen-mips64.cc | 935 +---- .../src/full-codegen/ppc/full-codegen-ppc.cc | 944 +---- .../full-codegen/s390/full-codegen-s390.cc | 989 +---- .../src/full-codegen/x64/full-codegen-x64.cc | 918 +---- deps/v8/src/full-codegen/x87/OWNERS | 1 + .../src/full-codegen/x87/full-codegen-x87.cc | 912 +---- deps/v8/src/futex-emulation.cc | 1 + deps/v8/src/global-handles.cc | 31 +- deps/v8/src/global-handles.h | 11 +- deps/v8/src/globals.h | 75 +- deps/v8/src/handles.h | 9 +- deps/v8/src/heap-symbols.h | 39 +- deps/v8/src/heap/array-buffer-tracker.cc | 4 +- deps/v8/src/heap/embedder-tracing.cc | 72 + deps/v8/src/heap/embedder-tracing.h | 67 + deps/v8/src/heap/gc-idle-time-handler.cc | 1 + deps/v8/src/heap/gc-idle-time-handler.h | 2 + deps/v8/src/heap/gc-tracer.cc | 14 +- deps/v8/src/heap/gc-tracer.h | 6 + deps/v8/src/heap/heap-inl.h | 15 +- deps/v8/src/heap/heap.cc | 397 +- deps/v8/src/heap/heap.h | 129 +- deps/v8/src/heap/incremental-marking.cc | 126 +- deps/v8/src/heap/incremental-marking.h | 8 +- deps/v8/src/heap/mark-compact-inl.h | 9 +- deps/v8/src/heap/mark-compact.cc | 341 +- deps/v8/src/heap/mark-compact.h | 62 +- deps/v8/src/heap/memory-reducer.cc | 40 +- deps/v8/src/heap/memory-reducer.h | 15 +- deps/v8/src/heap/object-stats.cc | 13 +- deps/v8/src/heap/objects-visiting-inl.h | 38 +- deps/v8/src/heap/objects-visiting.cc | 2 +- deps/v8/src/heap/objects-visiting.h | 15 +- deps/v8/src/heap/remembered-set.h | 15 +- deps/v8/src/heap/scavenger.cc | 2 +- deps/v8/src/heap/slot-set.h | 12 + deps/v8/src/heap/spaces-inl.h | 67 +- deps/v8/src/heap/spaces.cc | 88 +- deps/v8/src/heap/spaces.h | 72 +- deps/v8/src/heap/store-buffer.cc | 34 +- deps/v8/src/heap/store-buffer.h | 93 +- deps/v8/src/i18n.cc | 84 +- deps/v8/src/i18n.h | 38 +- deps/v8/src/ia32/assembler-ia32.cc | 9 +- deps/v8/src/ia32/assembler-ia32.h | 3 - deps/v8/src/ia32/code-stubs-ia32.cc | 568 +-- deps/v8/src/ia32/code-stubs-ia32.h | 18 - deps/v8/src/ia32/codegen-ia32.cc | 331 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 3 +- .../v8/src/ia32/interface-descriptors-ia32.cc | 9 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 292 +- deps/v8/src/ia32/macro-assembler-ia32.h | 81 +- deps/v8/src/ic/accessor-assembler-impl.h | 203 + deps/v8/src/ic/accessor-assembler.cc | 1933 +++++++++ deps/v8/src/ic/accessor-assembler.h | 45 + deps/v8/src/ic/arm/handler-compiler-arm.cc | 79 - deps/v8/src/ic/arm/ic-arm.cc | 485 --- deps/v8/src/ic/arm/ic-compiler-arm.cc | 33 - deps/v8/src/ic/arm/stub-cache-arm.cc | 157 - .../v8/src/ic/arm64/handler-compiler-arm64.cc | 78 - deps/v8/src/ic/arm64/ic-arm64.cc | 450 --- deps/v8/src/ic/arm64/ic-compiler-arm64.cc | 33 - deps/v8/src/ic/arm64/stub-cache-arm64.cc | 156 - deps/v8/src/ic/handler-compiler.cc | 320 +- deps/v8/src/ic/handler-compiler.h | 43 - deps/v8/src/ic/handler-configuration-inl.h | 3 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 82 - deps/v8/src/ic/ia32/ic-compiler-ia32.cc | 45 - deps/v8/src/ic/ia32/ic-ia32.cc | 478 --- deps/v8/src/ic/ia32/stub-cache-ia32.cc | 185 - deps/v8/src/ic/ic-compiler.cc | 45 +- deps/v8/src/ic/ic-compiler.h | 15 +- deps/v8/src/ic/ic-inl.h | 4 +- deps/v8/src/ic/ic-state.cc | 17 + deps/v8/src/ic/ic-state.h | 8 + deps/v8/src/ic/ic-stats.cc | 144 + deps/v8/src/ic/ic-stats.h | 77 + deps/v8/src/ic/ic.cc | 523 ++- deps/v8/src/ic/ic.h | 23 +- deps/v8/src/ic/keyed-store-generic.cc | 355 +- deps/v8/src/ic/keyed-store-generic.h | 9 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 79 - deps/v8/src/ic/mips/ic-compiler-mips.cc | 33 - deps/v8/src/ic/mips/ic-mips.cc | 483 --- deps/v8/src/ic/mips/stub-cache-mips.cc | 157 - .../src/ic/mips64/handler-compiler-mips64.cc | 79 - deps/v8/src/ic/mips64/ic-compiler-mips64.cc | 33 - deps/v8/src/ic/mips64/ic-mips64.cc | 484 --- deps/v8/src/ic/mips64/stub-cache-mips64.cc | 161 - deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 80 - deps/v8/src/ic/ppc/ic-compiler-ppc.cc | 31 - deps/v8/src/ic/ppc/ic-ppc.cc | 482 --- deps/v8/src/ic/ppc/stub-cache-ppc.cc | 176 - deps/v8/src/ic/s390/handler-compiler-s390.cc | 72 - deps/v8/src/ic/s390/ic-compiler-s390.cc | 29 - deps/v8/src/ic/s390/ic-s390.cc | 477 +-- deps/v8/src/ic/s390/stub-cache-s390.cc | 173 - deps/v8/src/ic/stub-cache.h | 7 - deps/v8/src/ic/x64/handler-compiler-x64.cc | 82 - deps/v8/src/ic/x64/ic-compiler-x64.cc | 39 - deps/v8/src/ic/x64/ic-x64.cc | 476 --- deps/v8/src/ic/x64/stub-cache-x64.cc | 153 - deps/v8/src/ic/x87/OWNERS | 1 + deps/v8/src/ic/x87/handler-compiler-x87.cc | 82 - deps/v8/src/ic/x87/ic-compiler-x87.cc | 45 - deps/v8/src/ic/x87/ic-x87.cc | 478 --- deps/v8/src/ic/x87/stub-cache-x87.cc | 185 - deps/v8/src/inspector/BUILD.gn | 5 +- deps/v8/src/inspector/DEPS | 1 + deps/v8/src/inspector/debugger-script.js | 74 +- .../src/inspector/debugger_script_externs.js | 51 +- .../src/inspector/injected-script-native.cc | 6 +- .../v8/src/inspector/injected-script-native.h | 3 +- .../src/inspector/injected-script-source.js | 21 +- deps/v8/src/inspector/injected-script.cc | 28 +- deps/v8/src/inspector/injected-script.h | 6 +- deps/v8/src/inspector/inspected-context.cc | 12 +- deps/v8/src/inspector/inspected-context.h | 2 + deps/v8/src/inspector/inspector.gyp | 28 - deps/v8/src/inspector/inspector.gypi | 5 +- .../inspector/inspector_protocol_config.json | 29 +- .../src/inspector/java-script-call-frame.cc | 16 +- .../v8/src/inspector/java-script-call-frame.h | 7 +- deps/v8/src/inspector/js_protocol.json | 12 +- deps/v8/src/inspector/protocol-platform.h | 21 - deps/v8/src/inspector/remote-object-id.cc | 3 +- deps/v8/src/inspector/script-breakpoint.h | 21 +- deps/v8/src/inspector/search-util.cc | 3 +- deps/v8/src/inspector/string-16.cc | 27 +- deps/v8/src/inspector/string-16.h | 2 +- deps/v8/src/inspector/string-util.cc | 16 +- deps/v8/src/inspector/string-util.h | 8 +- deps/v8/src/inspector/test-interface.cc | 18 + deps/v8/src/inspector/test-interface.h | 18 + deps/v8/src/inspector/v8-console-message.cc | 43 +- deps/v8/src/inspector/v8-console-message.h | 8 +- deps/v8/src/inspector/v8-console.cc | 23 + .../src/inspector/v8-debugger-agent-impl.cc | 202 +- .../v8/src/inspector/v8-debugger-agent-impl.h | 3 +- deps/v8/src/inspector/v8-debugger-script.cc | 230 +- deps/v8/src/inspector/v8-debugger-script.h | 60 +- deps/v8/src/inspector/v8-debugger.cc | 428 +- deps/v8/src/inspector/v8-debugger.h | 49 +- deps/v8/src/inspector/v8-function-call.cc | 3 +- .../inspector/v8-heap-profiler-agent-impl.cc | 10 +- deps/v8/src/inspector/v8-inspector-impl.cc | 137 +- deps/v8/src/inspector/v8-inspector-impl.h | 22 +- .../inspector/v8-inspector-session-impl.cc | 69 +- .../src/inspector/v8-inspector-session-impl.h | 6 +- .../src/inspector/v8-internal-value-type.cc | 1 - .../src/inspector/v8-profiler-agent-impl.cc | 4 - .../v8/src/inspector/v8-profiler-agent-impl.h | 2 - .../v8/src/inspector/v8-runtime-agent-impl.cc | 32 +- deps/v8/src/inspector/v8-stack-trace-impl.cc | 38 +- deps/v8/src/inspector/wasm-translation.cc | 309 ++ deps/v8/src/inspector/wasm-translation.h | 75 + deps/v8/src/interface-descriptors.cc | 110 +- deps/v8/src/interface-descriptors.h | 74 +- deps/v8/src/interpreter/OWNERS | 1 + .../interpreter/bytecode-array-accessor.cc | 205 + .../src/interpreter/bytecode-array-accessor.h | 76 + .../src/interpreter/bytecode-array-builder.cc | 116 +- .../src/interpreter/bytecode-array-builder.h | 51 +- .../interpreter/bytecode-array-iterator.cc | 175 +- .../src/interpreter/bytecode-array-iterator.h | 49 +- .../bytecode-array-random-iterator.cc | 37 + .../bytecode-array-random-iterator.h | 78 + .../src/interpreter/bytecode-array-writer.cc | 11 +- deps/v8/src/interpreter/bytecode-flags.cc | 8 +- deps/v8/src/interpreter/bytecode-generator.cc | 459 ++- deps/v8/src/interpreter/bytecode-generator.h | 13 +- deps/v8/src/interpreter/bytecode-label.cc | 1 + deps/v8/src/interpreter/bytecode-label.h | 4 +- deps/v8/src/interpreter/bytecode-operands.h | 55 +- .../bytecode-peephole-optimizer.cc | 73 +- .../src/interpreter/bytecode-peephole-table.h | 21 +- deps/v8/src/interpreter/bytecode-pipeline.h | 138 +- .../bytecode-register-optimizer.cc | 34 +- .../interpreter/bytecode-register-optimizer.h | 27 +- deps/v8/src/interpreter/bytecodes.h | 221 +- .../src/interpreter/constant-array-builder.cc | 34 +- .../src/interpreter/constant-array-builder.h | 5 +- .../src/interpreter/control-flow-builders.cc | 7 +- .../src/interpreter/control-flow-builders.h | 19 +- .../src/interpreter/handler-table-builder.h | 2 +- .../src/interpreter/interpreter-assembler.cc | 217 +- .../src/interpreter/interpreter-assembler.h | 50 +- .../src/interpreter/interpreter-intrinsics.cc | 33 +- .../src/interpreter/interpreter-intrinsics.h | 37 +- deps/v8/src/interpreter/interpreter.cc | 1052 +++-- deps/v8/src/interpreter/interpreter.h | 9 + deps/v8/src/interpreter/mkpeephole.cc | 22 + deps/v8/src/isolate-inl.h | 5 + deps/v8/src/isolate.cc | 563 ++- deps/v8/src/isolate.h | 93 +- deps/v8/src/js/array.js | 23 +- deps/v8/src/js/arraybuffer.js | 8 - deps/v8/src/js/async-await.js | 61 +- deps/v8/src/js/collection.js | 16 - deps/v8/src/js/i18n.js | 385 +- deps/v8/src/js/macros.py | 1 - deps/v8/src/js/prologue.js | 26 +- deps/v8/src/js/promise.js | 524 +-- deps/v8/src/js/string.js | 2 +- deps/v8/src/js/symbol.js | 68 - deps/v8/src/js/typedarray.js | 8 +- deps/v8/src/json-parser.cc | 5 +- deps/v8/src/json-stringifier.cc | 3 +- deps/v8/src/keys.cc | 7 +- deps/v8/src/layout-descriptor-inl.h | 2 +- deps/v8/src/layout-descriptor.cc | 3 +- deps/v8/src/layout-descriptor.h | 1 + deps/v8/src/libplatform/default-platform.cc | 48 +- deps/v8/src/libplatform/default-platform.h | 6 +- .../src/libplatform/tracing/trace-config.cc | 9 +- deps/v8/src/list-inl.h | 3 +- deps/v8/src/list.h | 6 +- deps/v8/src/log-utils.h | 4 +- deps/v8/src/log.cc | 55 +- deps/v8/src/lookup.cc | 41 +- deps/v8/src/lookup.h | 2 +- deps/v8/src/machine-type.h | 30 +- deps/v8/src/macro-assembler.h | 21 +- deps/v8/src/map-updater.cc | 615 +++ deps/v8/src/map-updater.h | 173 + deps/v8/src/messages.cc | 359 +- deps/v8/src/messages.h | 79 +- deps/v8/src/mips/assembler-mips.cc | 44 +- deps/v8/src/mips/assembler-mips.h | 33 +- deps/v8/src/mips/code-stubs-mips.cc | 491 +-- deps/v8/src/mips/code-stubs-mips.h | 19 - deps/v8/src/mips/codegen-mips.cc | 373 +- .../v8/src/mips/interface-descriptors-mips.cc | 8 +- deps/v8/src/mips/macro-assembler-mips.cc | 675 ++-- deps/v8/src/mips/macro-assembler-mips.h | 146 +- deps/v8/src/mips/simulator-mips.cc | 8 +- deps/v8/src/mips64/assembler-mips64.cc | 134 +- deps/v8/src/mips64/assembler-mips64.h | 19 +- deps/v8/src/mips64/code-stubs-mips64.cc | 491 +-- deps/v8/src/mips64/code-stubs-mips64.h | 19 - deps/v8/src/mips64/codegen-mips64.cc | 370 +- .../mips64/interface-descriptors-mips64.cc | 8 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 666 +--- deps/v8/src/mips64/macro-assembler-mips64.h | 148 +- deps/v8/src/mips64/simulator-mips64.cc | 8 +- deps/v8/src/objects-body-descriptors-inl.h | 7 +- deps/v8/src/objects-debug.cc | 111 +- deps/v8/src/objects-inl.h | 1784 ++++----- deps/v8/src/objects-printer.cc | 300 +- deps/v8/src/objects.cc | 2428 +++++------- deps/v8/src/objects.h | 1282 +++--- deps/v8/src/objects/module-info.h | 129 + deps/v8/src/objects/object-macros-undef.h | 9 + deps/v8/src/objects/object-macros.h | 32 + .../scopeinfo.cc => objects/scope-info.cc} | 54 +- deps/v8/src/objects/scope-info.h | 345 ++ deps/v8/src/parsing/OWNERS | 1 + deps/v8/src/parsing/duplicate-finder.cc | 69 +- deps/v8/src/parsing/duplicate-finder.h | 28 +- deps/v8/src/parsing/func-name-inferrer.cc | 7 +- .../parsing/parameter-initializer-rewriter.cc | 3 +- deps/v8/src/parsing/parse-info.cc | 18 +- deps/v8/src/parsing/parse-info.h | 24 +- deps/v8/src/parsing/parser-base.h | 304 +- deps/v8/src/parsing/parser.cc | 875 ++-- deps/v8/src/parsing/parser.h | 122 +- deps/v8/src/parsing/parsing.cc | 62 + deps/v8/src/parsing/parsing.h | 34 + deps/v8/src/parsing/pattern-rewriter.cc | 15 +- deps/v8/src/parsing/preparse-data-format.h | 2 +- deps/v8/src/parsing/preparse-data.cc | 5 +- deps/v8/src/parsing/preparse-data.h | 12 +- deps/v8/src/parsing/preparser.cc | 89 +- deps/v8/src/parsing/preparser.h | 298 +- deps/v8/src/parsing/rewriter.cc | 36 +- .../src/parsing/scanner-character-streams.cc | 73 +- .../src/parsing/scanner-character-streams.h | 4 +- deps/v8/src/parsing/scanner.cc | 105 +- deps/v8/src/parsing/scanner.h | 90 +- deps/v8/src/perf-jit.cc | 98 +- deps/v8/src/ppc/assembler-ppc.cc | 56 +- deps/v8/src/ppc/assembler-ppc.h | 20 +- deps/v8/src/ppc/code-stubs-ppc.cc | 492 +-- deps/v8/src/ppc/code-stubs-ppc.h | 13 - deps/v8/src/ppc/codegen-ppc.cc | 324 +- deps/v8/src/ppc/constants-ppc.h | 53 +- deps/v8/src/ppc/disasm-ppc.cc | 45 + deps/v8/src/ppc/interface-descriptors-ppc.cc | 8 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 260 +- deps/v8/src/ppc/macro-assembler-ppc.h | 76 +- deps/v8/src/ppc/simulator-ppc.cc | 128 +- deps/v8/src/ppc/simulator-ppc.h | 1 + .../profiler/heap-snapshot-generator-inl.h | 14 +- .../src/profiler/heap-snapshot-generator.cc | 33 +- .../v8/src/profiler/heap-snapshot-generator.h | 17 +- deps/v8/src/profiler/profile-generator.cc | 26 +- deps/v8/src/profiler/profiler-listener.cc | 7 +- deps/v8/src/promise-utils.cc | 75 - deps/v8/src/promise-utils.h | 32 - deps/v8/src/property-descriptor.cc | 23 +- deps/v8/src/property-details.h | 62 +- deps/v8/src/property.cc | 77 +- deps/v8/src/property.h | 75 +- deps/v8/src/prototype.h | 4 +- deps/v8/src/regexp/interpreter-irregexp.cc | 1 + deps/v8/src/regexp/jsregexp.cc | 31 +- .../regexp/regexp-macro-assembler-irregexp.cc | 3 +- .../regexp/regexp-macro-assembler-tracer.cc | 1 + deps/v8/src/regexp/regexp-parser.cc | 56 +- deps/v8/src/regexp/regexp-utils.cc | 9 +- deps/v8/src/regexp/x87/OWNERS | 1 + deps/v8/src/runtime-profiler.cc | 6 +- deps/v8/src/runtime/runtime-array.cc | 99 +- deps/v8/src/runtime/runtime-atomics.cc | 16 +- deps/v8/src/runtime/runtime-classes.cc | 182 +- deps/v8/src/runtime/runtime-collections.cc | 54 +- deps/v8/src/runtime/runtime-compiler.cc | 35 +- deps/v8/src/runtime/runtime-debug.cc | 414 +- deps/v8/src/runtime/runtime-error.cc | 2 +- deps/v8/src/runtime/runtime-function.cc | 38 +- deps/v8/src/runtime/runtime-futex.cc | 6 +- deps/v8/src/runtime/runtime-generator.cc | 83 +- deps/v8/src/runtime/runtime-i18n.cc | 453 +-- deps/v8/src/runtime/runtime-internal.cc | 166 +- deps/v8/src/runtime/runtime-interpreter.cc | 20 +- deps/v8/src/runtime/runtime-literals.cc | 38 +- deps/v8/src/runtime/runtime-liveedit.cc | 40 +- deps/v8/src/runtime/runtime-maths.cc | 2 +- deps/v8/src/runtime/runtime-module.cc | 6 +- deps/v8/src/runtime/runtime-numbers.cc | 22 +- deps/v8/src/runtime/runtime-object.cc | 172 +- deps/v8/src/runtime/runtime-promise.cc | 270 +- deps/v8/src/runtime/runtime-proxy.cc | 12 +- deps/v8/src/runtime/runtime-regexp.cc | 263 +- deps/v8/src/runtime/runtime-scopes.cc | 95 +- deps/v8/src/runtime/runtime-simd.cc | 64 +- deps/v8/src/runtime/runtime-strings.cc | 170 +- deps/v8/src/runtime/runtime-symbol.cc | 15 +- deps/v8/src/runtime/runtime-test.cc | 218 +- deps/v8/src/runtime/runtime-typedarray.cc | 22 +- deps/v8/src/runtime/runtime-utils.h | 11 +- deps/v8/src/runtime/runtime-wasm.cc | 142 +- deps/v8/src/runtime/runtime.cc | 1 + deps/v8/src/runtime/runtime.h | 146 +- deps/v8/src/s390/assembler-s390.cc | 603 +-- deps/v8/src/s390/assembler-s390.h | 354 +- deps/v8/src/s390/code-stubs-s390.cc | 495 +-- deps/v8/src/s390/code-stubs-s390.h | 13 - deps/v8/src/s390/codegen-s390.cc | 326 +- deps/v8/src/s390/constants-s390.h | 2403 +++++++---- deps/v8/src/s390/disasm-s390.cc | 36 + .../v8/src/s390/interface-descriptors-s390.cc | 8 +- deps/v8/src/s390/macro-assembler-s390.cc | 471 +-- deps/v8/src/s390/macro-assembler-s390.h | 101 +- deps/v8/src/s390/simulator-s390.cc | 244 +- deps/v8/src/s390/simulator-s390.h | 9 + deps/v8/src/snapshot/code-serializer.cc | 27 +- deps/v8/src/snapshot/deserializer.cc | 22 +- deps/v8/src/snapshot/deserializer.h | 9 +- deps/v8/src/snapshot/partial-serializer.cc | 12 +- deps/v8/src/snapshot/partial-serializer.h | 2 +- deps/v8/src/snapshot/serializer-common.cc | 12 +- deps/v8/src/snapshot/serializer-common.h | 2 + deps/v8/src/snapshot/snapshot-common.cc | 8 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 2 +- deps/v8/src/snapshot/snapshot.h | 3 +- deps/v8/src/snapshot/startup-serializer.cc | 13 +- deps/v8/src/snapshot/startup-serializer.h | 1 + deps/v8/src/source-position.cc | 33 +- deps/v8/src/source-position.h | 9 +- deps/v8/src/string-case.cc | 130 + deps/v8/src/string-case.h | 17 + deps/v8/src/string-stream.cc | 56 +- deps/v8/src/string-stream.h | 116 +- deps/v8/src/tracing/traced-value.cc | 40 +- deps/v8/src/tracing/traced-value.h | 9 +- .../src/tracing/tracing-category-observer.cc | 7 + deps/v8/src/transitions.cc | 6 +- deps/v8/src/trap-handler/trap-handler.h | 26 + deps/v8/src/type-feedback-vector-inl.h | 23 +- deps/v8/src/type-feedback-vector.cc | 205 +- deps/v8/src/type-feedback-vector.h | 107 +- deps/v8/src/type-hints.cc | 51 + deps/v8/src/type-hints.h | 4 + deps/v8/src/type-info.cc | 4 + deps/v8/src/utils.h | 51 +- deps/v8/src/v8.cc | 2 +- deps/v8/src/v8.gyp | 79 +- deps/v8/src/value-serializer.cc | 70 +- deps/v8/src/value-serializer.h | 3 +- deps/v8/src/vector.h | 5 +- deps/v8/src/version.cc | 22 +- deps/v8/src/wasm/OWNERS | 1 + deps/v8/src/wasm/decoder.h | 43 +- ...st-decoder.cc => function-body-decoder.cc} | 936 ++--- ...{ast-decoder.h => function-body-decoder.h} | 166 +- deps/v8/src/wasm/module-decoder.cc | 389 +- deps/v8/src/wasm/module-decoder.h | 24 +- deps/v8/src/wasm/wasm-debug.cc | 341 +- deps/v8/src/wasm/wasm-external-refs.cc | 13 + deps/v8/src/wasm/wasm-external-refs.h | 6 + deps/v8/src/wasm/wasm-interpreter.cc | 199 +- deps/v8/src/wasm/wasm-interpreter.h | 36 +- deps/v8/src/wasm/wasm-js.cc | 719 +++- deps/v8/src/wasm/wasm-js.h | 11 +- deps/v8/src/wasm/wasm-limits.h | 45 + deps/v8/src/wasm/wasm-macro-gen.h | 62 +- deps/v8/src/wasm/wasm-module-builder.cc | 118 +- deps/v8/src/wasm/wasm-module-builder.h | 30 +- deps/v8/src/wasm/wasm-module.cc | 1913 +++++---- deps/v8/src/wasm/wasm-module.h | 234 +- deps/v8/src/wasm/wasm-objects.cc | 678 +++- deps/v8/src/wasm/wasm-objects.h | 321 +- deps/v8/src/wasm/wasm-opcodes.cc | 5 +- deps/v8/src/wasm/wasm-opcodes.h | 219 +- deps/v8/src/wasm/wasm-result.cc | 11 + deps/v8/src/wasm/wasm-result.h | 3 + deps/v8/src/wasm/wasm-text.cc | 312 ++ deps/v8/src/wasm/wasm-text.h | 38 + deps/v8/src/x64/assembler-x64-inl.h | 2 +- deps/v8/src/x64/assembler-x64.cc | 187 +- deps/v8/src/x64/assembler-x64.h | 3 - deps/v8/src/x64/code-stubs-x64.cc | 428 +- deps/v8/src/x64/code-stubs-x64.h | 17 - deps/v8/src/x64/codegen-x64.cc | 331 +- deps/v8/src/x64/interface-descriptors-x64.cc | 9 +- deps/v8/src/x64/macro-assembler-x64.cc | 282 +- deps/v8/src/x64/macro-assembler-x64.h | 85 +- deps/v8/src/x87/OWNERS | 1 + deps/v8/src/x87/assembler-x87.cc | 9 +- deps/v8/src/x87/assembler-x87.h | 3 - deps/v8/src/x87/code-stubs-x87.cc | 565 +-- deps/v8/src/x87/code-stubs-x87.h | 18 - deps/v8/src/x87/codegen-x87.cc | 296 +- deps/v8/src/x87/deoptimizer-x87.cc | 3 +- deps/v8/src/x87/interface-descriptors-x87.cc | 9 +- deps/v8/src/x87/macro-assembler-x87.cc | 290 +- deps/v8/src/x87/macro-assembler-x87.h | 80 +- deps/v8/src/zone/zone-chunk-list.h | 1 + deps/v8/src/zone/zone-containers.h | 7 + deps/v8/src/zone/zone-handle-set.h | 165 + deps/v8/src/zone/zone.cc | 1 + deps/v8/test/BUILD.gn | 6 +- deps/v8/test/cctest/BUILD.gn | 24 +- deps/v8/test/cctest/asmjs/OWNERS | 1 + deps/v8/test/cctest/asmjs/test-asm-typer.cc | 76 +- deps/v8/test/cctest/cctest.gyp | 39 +- deps/v8/test/cctest/cctest.h | 15 +- deps/v8/test/cctest/cctest.status | 100 +- .../cctest/compiler/code-assembler-tester.h | 57 +- .../test/cctest/compiler/function-tester.cc | 12 +- .../v8/test/cctest/compiler/function-tester.h | 3 +- .../cctest/compiler/test-code-assembler.cc | 312 +- .../test-js-context-specialization.cc | 472 ++- .../cctest/compiler/test-js-typed-lowering.cc | 9 +- .../compiler/test-loop-assignment-analysis.cc | 28 +- .../compiler/test-machine-operator-reducer.cc | 16 +- .../compiler/test-representation-change.cc | 2 +- .../test-run-bytecode-graph-builder.cc | 34 +- .../test/cctest/compiler/test-run-inlining.cc | 471 --- .../cctest/compiler/test-run-intrinsics.cc | 15 - .../test/cctest/compiler/test-run-jscalls.cc | 1 + .../test/cctest/compiler/test-run-machops.cc | 24 + .../cctest/compiler/test-run-native-calls.cc | 52 +- .../cctest/compiler/test-run-variables.cc | 1 + .../cctest/compiler/test-run-wasm-machops.cc | 44 +- deps/v8/test/cctest/heap/heap-tester.h | 1 + deps/v8/test/cctest/heap/heap-utils.cc | 1 + deps/v8/test/cctest/heap/test-alloc.cc | 6 +- .../cctest/heap/test-array-buffer-tracker.cc | 5 + deps/v8/test/cctest/heap/test-heap.cc | 211 +- .../cctest/heap/test-incremental-marking.cc | 28 +- deps/v8/test/cctest/heap/test-mark-compact.cc | 34 + .../test/cctest/heap/test-page-promotion.cc | 1 + .../bytecode-expectations-printer.cc | 25 +- .../ArrayLiterals.golden | 16 +- .../ArrayLiteralsWide.golden | 2 +- .../AssignmentsInBinaryExpression.golden | 42 +- .../bytecode_expectations/BasicLoops.golden | 166 +- .../BreakableBlocks.golden | 15 +- .../bytecode_expectations/CallGlobal.golden | 10 +- .../CallLookupSlot.golden | 12 +- .../bytecode_expectations/CallNew.golden | 15 +- .../bytecode_expectations/CallRuntime.golden | 4 +- .../ClassAndSuperClass.golden | 28 +- .../ClassDeclarations.golden | 177 +- .../CompoundExpressions.golden | 6 +- .../ConstVariableContextSlot.golden | 16 +- .../ContextParameters.golden | 16 +- .../ContextVariables.golden | 25 +- .../CountOperators.golden | 14 +- .../CreateRestParameter.golden | 2 +- .../DeclareGlobals.golden | 7 +- .../bytecode_expectations/Delete.golden | 4 +- .../bytecode_expectations/ForIn.golden | 8 +- .../bytecode_expectations/ForOf.golden | 199 +- .../FunctionLiterals.golden | 12 +- .../GenerateTestUndetectable.golden | 239 ++ .../bytecode_expectations/Generators.golden | 565 +-- .../GlobalCompoundExpressions.golden | 8 +- .../GlobalCountOperators.golden | 16 +- .../bytecode_expectations/GlobalDelete.golden | 12 +- .../LetVariableContextSlot.golden | 16 +- .../bytecode_expectations/LoadGlobal.golden | 20 +- .../bytecode_expectations/Modules.golden | 703 ++-- .../ObjectLiterals.golden | 98 +- .../OuterContextVariables.golden | 2 +- .../PrimitiveExpressions.golden | 40 +- .../bytecode_expectations/PropertyCall.golden | 2 +- .../RemoveRedundantLdar.golden | 6 +- .../SuperCallAndSpread.golden | 155 + .../bytecode_expectations/Switch.golden | 2 +- .../TopLevelObjectLiterals.golden | 6 +- .../bytecode_expectations/TryCatch.golden | 21 +- .../bytecode_expectations/TryFinally.golden | 45 +- .../bytecode_expectations/Typeof.golden | 5 +- .../UnaryOperators.golden | 21 +- .../cctest/interpreter/interpreter-tester.cc | 4 +- .../interpreter/test-bytecode-generator.cc | 95 +- .../test-interpreter-intrinsics.cc | 21 - .../cctest/interpreter/test-interpreter.cc | 25 +- .../interpreter/test-source-positions.cc | 4 +- .../test/cctest/libplatform/test-tracing.cc | 8 + .../cctest/parsing/test-parse-decision.cc | 107 + .../cctest/parsing/test-scanner-streams.cc | 31 +- deps/v8/test/cctest/parsing/test-scanner.cc | 37 +- deps/v8/test/cctest/test-access-checks.cc | 99 + .../v8/test/cctest/test-accessor-assembler.cc | 263 ++ deps/v8/test/cctest/test-api-accessors.cc | 31 + .../cctest/test-api-fast-accessor-builder.cc | 1 + deps/v8/test/cctest/test-api-interceptors.cc | 128 +- deps/v8/test/cctest/test-api.cc | 984 +++-- deps/v8/test/cctest/test-assembler-arm.cc | 700 +++- deps/v8/test/cctest/test-assembler-mips.cc | 6 +- deps/v8/test/cctest/test-assembler-mips64.cc | 6 +- deps/v8/test/cctest/test-assembler-s390.cc | 89 +- deps/v8/test/cctest/test-assembler-x64.cc | 183 + deps/v8/test/cctest/test-ast.cc | 48 +- .../test/cctest/test-code-stub-assembler.cc | 1534 ++++--- deps/v8/test/cctest/test-compiler.cc | 2 +- deps/v8/test/cctest/test-conversions.cc | 58 + deps/v8/test/cctest/test-cpu-profiler.cc | 12 +- deps/v8/test/cctest/test-debug.cc | 1933 +-------- deps/v8/test/cctest/test-disasm-arm.cc | 187 + deps/v8/test/cctest/test-extra.js | 3 +- deps/v8/test/cctest/test-feedback-vector.cc | 14 + .../test/cctest/test-field-type-tracking.cc | 186 +- deps/v8/test/cctest/test-flags.cc | 2 +- deps/v8/test/cctest/test-global-handles.cc | 1 + deps/v8/test/cctest/test-global-object.cc | 28 + deps/v8/test/cctest/test-heap-profiler.cc | 96 +- .../cctest/test-inobject-slack-tracking.cc | 5 +- deps/v8/test/cctest/test-javascript-arm64.cc | 1 + .../v8/test/cctest/test-js-arm64-variables.cc | 1 + deps/v8/test/cctest/test-liveedit.cc | 1 + deps/v8/test/cctest/test-lockers.cc | 4 +- deps/v8/test/cctest/test-log.cc | 1 + .../test/cctest/test-macro-assembler-arm.cc | 356 ++ .../test/cctest/test-macro-assembler-mips.cc | 609 ++- .../cctest/test-macro-assembler-mips64.cc | 791 +++- deps/v8/test/cctest/test-object.cc | 1 + deps/v8/test/cctest/test-parsing.cc | 1111 ++++-- deps/v8/test/cctest/test-profile-generator.cc | 1 + deps/v8/test/cctest/test-regexp.cc | 3 +- deps/v8/test/cctest/test-serialize.cc | 370 +- deps/v8/test/cctest/test-strings.cc | 36 + .../v8/test/cctest/test-thread-termination.cc | 5 +- deps/v8/test/cctest/test-transitions.cc | 19 - deps/v8/test/cctest/test-typedarrays.cc | 1 + deps/v8/test/cctest/test-unboxed-doubles.cc | 28 +- deps/v8/test/cctest/test-usecounters.cc | 43 + deps/v8/test/cctest/test-weakmaps.cc | 1 + deps/v8/test/cctest/wasm/OWNERS | 1 + deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 473 ++- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 177 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 102 +- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 98 +- .../test/cctest/wasm/test-run-wasm-module.cc | 168 +- .../cctest/wasm/test-run-wasm-relocation.cc | 28 +- .../wasm/test-run-wasm-simd-lowering.cc | 262 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 400 +- deps/v8/test/cctest/wasm/test-run-wasm.cc | 1431 ++++--- .../test/cctest/wasm/test-wasm-breakpoints.cc | 70 + deps/v8/test/cctest/wasm/test-wasm-stack.cc | 62 +- .../cctest/wasm/test-wasm-trap-position.cc | 54 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 675 ++-- deps/v8/test/common/wasm/test-signatures.h | 48 +- .../v8/test/common/wasm/wasm-module-runner.cc | 51 +- deps/v8/test/common/wasm/wasm-module-runner.h | 15 +- .../bugs/harmony/debug-blockscopes.js | 69 +- .../debug}/compiler/debug-catch-prediction.js | 1 - .../debug/compiler/osr-typing-debug-change.js | 6 +- .../debug/debug-backtrace.js} | 71 +- .../debug}/debug-break-native.js | 2 - .../debug}/debug-breakpoints.js | 105 - .../debug/debug-clearbreakpoint.js} | 45 +- .../debug}/debug-compile-event.js | 26 +- .../debug}/debug-conditional-breakpoints.js | 23 +- .../debug-enable-disable-breakpoints.js | 47 +- .../debug}/debug-eval-scope.js | 2 +- .../debug}/debug-evaluate-bool-constructor.js | 28 +- .../debug-evaluate-locals-optimized-double.js | 3 +- .../debug}/debug-evaluate-locals.js | 12 +- .../debug-evaluate-no-side-effect-builtins.js | 79 + .../debug/debug-evaluate-no-side-effect.js | 83 + .../debug}/debug-evaluate-shadowed-context.js | 2 +- .../debugger/debug/debug-evaluate-with.js | 2 + .../debug/debug-evaluate.js} | 79 +- .../debugger/debug/debug-function-scopes.js | 191 + .../debug}/debug-liveedit-1.js | 2 - .../debug}/debug-liveedit-2.js | 3 +- .../debug}/debug-liveedit-3.js | 2 - .../debug}/debug-liveedit-4.js | 3 +- .../debug}/debug-liveedit-check-stack.js | 2 - .../debug}/debug-liveedit-compile-error.js | 2 - .../debug}/debug-liveedit-diff.js | 2 - .../debug}/debug-liveedit-double-call.js | 2 - .../debug}/debug-liveedit-exceptions.js | 1 - .../debug}/debug-liveedit-literals.js | 2 - .../debug}/debug-liveedit-newsource.js | 2 - .../debug-liveedit-patch-positions-replace.js | 2 - .../debug}/debug-liveedit-restart-frame.js | 4 +- .../debug}/debug-liveedit-stack-padding.js | 2 - .../debug}/debug-liveedit-stepin.js | 1 - .../debug}/debug-liveedit-utils.js | 2 - .../debug}/debug-multiple-breakpoints.js | 35 +- .../debug}/debug-multiple-var-decl.js | 1 - .../debug}/debug-negative-break-points.js | 29 +- .../debug}/debug-receiver.js | 6 +- .../debug}/debug-return-value.js | 46 - .../debug-scopes-suspended-generators.js | 184 +- .../debug}/debug-scopes.js | 181 +- .../debug}/debug-script.js | 15 +- .../debug}/debug-scripts-throw.js | 6 +- .../debug}/debug-set-variable-value.js | 54 - .../debug}/debug-setbreakpoint.js | 102 +- .../debug}/debug-sourceinfo.js | 12 +- deps/v8/test/debugger/debug/debug-step.js | 38 +- .../debug}/debug-stepframe-clearing.js | 1 - .../debug}/debug-stepframe.js | 1 - .../debug}/es6/debug-blockscopes.js | 70 +- .../debug-evaluate-arrow-function-receiver.js | 3 +- .../debug}/es6/debug-evaluate-blockscopes.js | 2 - .../debug-evaluate-receiver-before-super.js | 3 +- .../debug}/es6/debug-exception-generators.js | 1 - .../debug}/es6/debug-function-scopes.js | 88 +- .../debug}/es6/debug-liveedit-new-target-1.js | 1 - .../debug}/es6/debug-liveedit-new-target-2.js | 1 - .../debug}/es6/debug-liveedit-new-target-3.js | 1 - .../es6/debug-promises/async-task-event.js | 62 - .../debug-promises/promise-all-uncaught.js | 3 - .../debug-promises/promise-race-uncaught.js | 3 - .../es6/debug-promises/reject-caught-all.js | 2 - ...reject-caught-by-default-reject-handler.js | 3 - .../debug-promises/reject-in-constructor.js | 2 - .../es6/debug-promises/reject-uncaught-all.js | 3 - .../debug-promises/reject-uncaught-late.js | 3 - .../reject-uncaught-uncaught.js | 3 - .../reject-with-invalid-reject.js | 1 - .../reject-with-throw-in-reject.js | 1 - .../reject-with-undefined-reject.js | 1 - .../es6/debug-promises/throw-caught-all.js | 2 - .../throw-caught-by-default-reject-handler.js | 3 - .../throw-finally-caught-all.js | 2 - .../debug-promises/throw-in-constructor.js | 2 - .../es6/debug-promises/throw-uncaught-all.js | 3 - .../debug-promises/throw-uncaught-uncaught.js | 4 - .../throw-with-throw-in-reject.js | 2 - .../try-reject-in-constructor.js | 2 - .../try-throw-reject-in-constructor.js | 2 - .../debug-scope-default-param-with-eval.js | 1 - .../es6/debug-stepin-default-parameters.js | 1 - .../debug/es6/debug-stepin-generators.js | 6 +- .../debug}/es6/debug-stepin-microtasks.js | 7 +- .../debug}/es6/debug-stepin-proxies.js | 1 - .../es6/debug-stepin-string-template.js | 1 - .../debug}/es6/debug-stepnext-for.js | 2 +- .../debug/es6/debug-stepnext-generators.js | 48 + .../debug}/es6/default-parameters-debug.js | 4 +- .../debug}/es6/generators-debug-liveedit.js | 1 - .../debug}/es6/generators-debug-scopes.js | 83 +- .../debug}/es6/regress/regress-468661.js | 1 - .../{harmony => es8}/async-debug-basic.js | 2 - .../async-debug-caught-exception-cases.js | 7 +- .../async-debug-caught-exception-cases0.js} | 5 +- .../async-debug-caught-exception-cases1.js | 3 +- .../async-debug-caught-exception-cases2.js | 3 +- .../async-debug-caught-exception-cases3.js | 3 +- .../async-debug-caught-exception.js | 2 - .../async-debug-step-abort-at-break.js | 2 - .../async-debug-step-continue-at-break.js | 2 - .../async-debug-step-in-and-out.js | 2 - .../async-debug-step-in-out-out.js | 2 - .../{harmony => es8}/async-debug-step-in.js | 2 - .../async-debug-step-nested.js | 2 - .../async-debug-step-next-constant.js | 2 - .../{harmony => es8}/async-debug-step-next.js | 2 - .../{harmony => es8}/async-debug-step-out.js | 2 - .../es8}/async-function-debug-evaluate.js | 2 - .../debug/es8}/async-function-debug-scopes.js | 78 +- .../debug-async-break-on-stack.js | 2 - .../{harmony => es8}/debug-async-break.js | 2 - .../debug/es8}/debug-async-liveedit.js | 3 - .../debug}/function-source.js | 2 - .../debug-async-function-async-task-event.js | 97 - .../debug/harmony}/modules-debug-scopes1.js | 160 +- .../debug/harmony}/modules-debug-scopes2.js | 70 +- .../ignition/debug-step-prefix-bytecodes.js | 3 +- .../debug}/ignition/elided-instruction.js | 1 - .../debug}/ignition/optimized-debug-frame.js | 1 - .../debug}/regress-5207.js | 3 +- .../debug}/regress/regress-102153.js | 1 - .../debug}/regress/regress-1081309.js | 58 +- .../debug}/regress/regress-109195.js | 2 +- .../debug}/regress/regress-119609.js | 7 +- .../debugger/debug/regress/regress-131994.js | 2 + .../debug}/regress/regress-1639.js | 18 +- .../debug}/regress/regress-1853.js | 40 +- .../debug}/regress/regress-2296.js | 1 - .../debug}/regress/regress-3960.js | 1 - .../debug}/regress/regress-419663.js | 11 +- .../debug}/regress/regress-4309-2.js | 1 - .../debugger/debug/regress/regress-5071.js | 2 + .../debug}/regress/regress-5164.js | 1 - .../debugger/debug/regress/regress-617882.js | 2 +- .../debugger/debug/regress/regress-94873.js | 76 - .../debug}/regress/regress-crbug-119800.js | 1 - .../debug}/regress/regress-crbug-171715.js | 1 - .../debug}/regress/regress-crbug-222893.js | 4 +- .../debug}/regress/regress-crbug-424142.js | 1 - .../debug}/regress/regress-crbug-432493.js | 1 - .../debug}/regress/regress-crbug-465298.js | 5 +- .../debug}/regress/regress-crbug-481896.js | 3 +- .../debug}/regress/regress-crbug-487289.js | 1 - .../debug}/regress/regress-crbug-491943.js | 1 - .../debug}/regress/regress-crbug-517592.js | 2 +- .../debug/regress/regress-crbug-568477-1.js | 5 +- .../debug}/regress/regress-crbug-568477-2.js | 8 +- .../debug/regress/regress-crbug-568477-3.js | 5 +- .../debug/regress/regress-crbug-568477-4.js | 8 +- .../debug}/regress/regress-crbug-605581.js | 1 - .../debug}/regress/regress-crbug-621361.js | 7 +- .../regress-debug-deopt-while-recompile.js | 1 - .../regress-frame-details-null-receiver.js | 1 - .../regress-prepare-break-while-recompile.js | 1 - .../debug}/wasm/frame-inspection.js | 25 +- deps/v8/test/debugger/debugger.status | 82 +- .../regress/regress-1639-2.js | 33 +- .../regress/regress-2318.js | 2 +- deps/v8/test/debugger/regress/regress-5610.js | 2 +- deps/v8/test/debugger/test-api.js | 583 ++- deps/v8/test/debugger/testcfg.py | 3 + deps/v8/test/fuzzer/fuzzer.gyp | 8 + deps/v8/test/fuzzer/parser.cc | 6 +- deps/v8/test/fuzzer/regexp.cc | 30 +- deps/v8/test/fuzzer/wasm-call.cc | 23 +- deps/v8/test/fuzzer/wasm-code.cc | 51 +- deps/v8/test/inspector/BUILD.gn | 3 +- deps/v8/test/inspector/DEPS | 1 + ...asm-js-breakpoint-before-exec-expected.txt | 30 +- .../debugger/asm-js-breakpoint-before-exec.js | 6 +- .../async-instrumentation-expected.txt | 43 + .../debugger/async-instrumentation.js | 68 + .../async-promise-late-then-expected.txt | 16 + .../debugger/async-promise-late-then.js | 48 + .../debugger/async-set-timeout-expected.txt | 11 + .../inspector/debugger/async-set-timeout.js | 48 + .../debugger/async-stack-await-expected.txt | 42 + .../inspector/debugger/async-stack-await.js | 46 + .../async-stack-for-promise-expected.txt | 155 + .../debugger/async-stack-for-promise.js | 265 ++ .../debugger/async-stacks-limit-expected.txt | 137 + .../inspector/debugger/async-stacks-limit.js | 156 + .../debugger/eval-scopes-expected.txt | 19 + .../v8/test/inspector/debugger/eval-scopes.js | 43 + ...t-preview-internal-properties-expected.txt | 9 +- ...t-parsed-for-runtime-evaluate-expected.txt | 101 + .../script-parsed-for-runtime-evaluate.js | 49 + .../set-script-source-exception-expected.txt | 23 + .../debugger/set-script-source-exception.js | 23 + .../step-into-nested-arrow-expected.txt | 17 + .../debugger/step-into-nested-arrow.js | 23 + .../suspended-generator-scopes-expected.txt | 63 + .../debugger/suspended-generator-scopes.js | 78 + .../debugger/wasm-scripts-expected.txt | 18 + .../test/inspector/debugger/wasm-scripts.js | 71 + .../debugger/wasm-source-expected.txt | 9 + .../v8/test/inspector/debugger/wasm-source.js | 79 + .../debugger/wasm-stack-expected.txt | 6 +- deps/v8/test/inspector/debugger/wasm-stack.js | 14 +- deps/v8/test/inspector/inspector-impl.cc | 13 +- deps/v8/test/inspector/inspector-test.cc | 59 +- deps/v8/test/inspector/inspector.status | 10 + deps/v8/test/inspector/protocol-test.js | 22 +- .../runtime/await-promise-expected.txt | 12 + .../runtime/call-function-on-async.js | 2 +- .../runtime/console-assert-expected.txt | 147 + .../test/inspector/runtime/console-assert.js | 24 + .../console-messages-limits-expected.txt | 7 + .../runtime/console-messages-limits.js | 44 + .../runtime/evaluate-empty-stack-expected.txt | 10 + .../inspector/runtime/evaluate-empty-stack.js | 13 + ...valuate-with-generate-preview-expected.txt | 102 + .../runtime/evaluate-with-generate-preview.js | 76 + .../length-or-size-description-expected.txt | 17 + .../runtime/length-or-size-description.js | 23 + .../runtime/set-or-map-entries-expected.txt | 8 +- deps/v8/test/inspector/task-runner.cc | 35 +- deps/v8/test/inspector/task-runner.h | 23 +- deps/v8/test/intl/assert.js | 6 +- deps/v8/test/intl/bad-target.js | 39 + .../intl/date-format/unmodified-options.js | 17 + deps/v8/test/intl/general/case-mapping.js | 58 +- deps/v8/test/intl/general/constructor.js | 44 + deps/v8/test/intl/intl.status | 4 + deps/v8/test/intl/not-constructors.js | 34 + deps/v8/test/intl/toStringTag.js | 29 + .../AsyncAwait/baseline-babel-es2017.js | 169 + .../AsyncAwait/baseline-naive-promises.js | 52 + .../v8/test/js-perf-test/AsyncAwait/native.js | 43 + deps/v8/test/js-perf-test/AsyncAwait/run.js | 28 + .../v8/test/js-perf-test/Closures/closures.js | 43 + deps/v8/test/js-perf-test/Closures/run.js | 26 + deps/v8/test/js-perf-test/JSTests.json | 39 + deps/v8/test/js-perf-test/RegExp.json | 61 + .../test/js-perf-test/RegExp/RegExpTests.json | 61 + deps/v8/test/js-perf-test/RegExp/base.js | 43 + deps/v8/test/js-perf-test/RegExp/base_ctor.js | 55 + deps/v8/test/js-perf-test/RegExp/base_exec.js | 57 + .../v8/test/js-perf-test/RegExp/base_flags.js | 21 + .../v8/test/js-perf-test/RegExp/base_match.js | 32 + .../test/js-perf-test/RegExp/base_replace.js | 54 + .../test/js-perf-test/RegExp/base_search.js | 33 + .../v8/test/js-perf-test/RegExp/base_split.js | 56 + deps/v8/test/js-perf-test/RegExp/base_test.js | 26 + deps/v8/test/js-perf-test/RegExp/ctor.js | 8 + deps/v8/test/js-perf-test/RegExp/exec.js | 8 + deps/v8/test/js-perf-test/RegExp/flags.js | 8 + deps/v8/test/js-perf-test/RegExp/match.js | 8 + deps/v8/test/js-perf-test/RegExp/replace.js | 8 + deps/v8/test/js-perf-test/RegExp/run.js | 41 + deps/v8/test/js-perf-test/RegExp/search.js | 8 + deps/v8/test/js-perf-test/RegExp/slow_exec.js | 8 + .../v8/test/js-perf-test/RegExp/slow_flags.js | 8 + .../v8/test/js-perf-test/RegExp/slow_match.js | 8 + .../test/js-perf-test/RegExp/slow_replace.js | 8 + .../test/js-perf-test/RegExp/slow_search.js | 8 + .../v8/test/js-perf-test/RegExp/slow_split.js | 8 + deps/v8/test/js-perf-test/RegExp/slow_test.js | 8 + deps/v8/test/js-perf-test/RegExp/split.js | 8 + deps/v8/test/js-perf-test/RegExp/test.js | 8 + deps/v8/test/js-perf-test/SixSpeed.json | 28 + .../array_destructuring.js | 38 + .../SixSpeed/array_destructuring/run.js | 25 + .../object_literals/object_literals.js | 41 + .../SixSpeed/object_literals/run.js | 25 + .../v8/test/message/call-non-constructable.js | 8 + .../test/message/call-non-constructable.out | 9 + .../message/call-primitive-constructor.js | 6 + .../message/call-primitive-constructor.out | 9 + .../test/message/call-primitive-function.js | 6 + .../test/message/call-primitive-function.out | 9 + .../test/message/call-undeclared-function.js | 5 + .../test/message/call-undeclared-function.out | 9 + deps/v8/test/message/for-loop-invalid-lhs.js | 4 - deps/v8/test/message/for-loop-invalid-lhs.out | 2 +- deps/v8/test/message/message.status | 6 - .../message/regress/regress-crbug-661579.js | 12 + .../message/regress/regress-crbug-661579.out | 11 + .../message/regress/regress-crbug-669017.js | 5 + .../message/regress/regress-crbug-669017.out | 8 + deps/v8/test/message/strict-octal-string.out | 4 +- .../message/strict-octal-use-strict-after.out | 4 +- .../strict-octal-use-strict-before.out | 4 +- deps/v8/test/message/tonumber-symbol.js | 9 + deps/v8/test/message/tonumber-symbol.out | 6 + deps/v8/test/message/wasm-trap.js | 15 + deps/v8/test/message/wasm-trap.out | 5 + deps/v8/test/mjsunit/array-length.js | 27 + .../v8/test/mjsunit/array-push-hole-double.js | 23 + deps/v8/test/mjsunit/array-push11.js | 19 +- deps/v8/test/mjsunit/array-push13.js | 22 + deps/v8/test/mjsunit/array-push14.js | 18 + deps/v8/test/mjsunit/asm/asm-validation.js | 144 +- deps/v8/test/mjsunit/asm/regress-641885.js | 13 + deps/v8/test/mjsunit/asm/regress-669899.js | 27 + deps/v8/test/mjsunit/asm/regress-672045.js | 13 + deps/v8/test/mjsunit/asm/regress-676573.js | 17 + deps/v8/test/mjsunit/big-array-literal.js | 5 + .../test/mjsunit/compiler/capture-context.js | 16 + .../mjsunit/compiler/escape-analysis-11.js | 19 + .../mjsunit/compiler/escape-analysis-12.js | 17 + .../compiler/escape-analysis-deopt-6.js | 16 + ...-analysis-framestate-use-at-branchpoint.js | 19 + .../escape-analysis-replacement.js} | 26 +- .../mjsunit/compiler/inline-context-deopt.js | 18 + .../compiler/inline-omit-arguments-deopt.js | 19 + .../compiler/inline-omit-arguments-object.js | 14 + .../mjsunit/compiler/inline-omit-arguments.js | 12 + .../inline-surplus-arguments-deopt.js | 20 + .../inline-surplus-arguments-object.js | 17 + .../compiler/inline-surplus-arguments.js | 12 + .../test/mjsunit/compiler/instanceof-opt1.js | 18 + .../test/mjsunit/compiler/instanceof-opt2.js | 16 + .../test/mjsunit/compiler/instanceof-opt3.js | 17 + .../test/mjsunit/compiler/regress-664117.js | 16 + .../test/mjsunit/compiler/regress-668760.js | 28 + .../test/mjsunit/compiler/regress-669517.js | 17 + .../test/mjsunit/compiler/regress-671574.js | 21 + .../test/mjsunit/compiler/regress-674469.js | 14 + .../mjsunit/compiler/regress-uint8-deopt.js | 17 - .../test/mjsunit/compiler/regress-v8-5756.js | 31 + .../constant-fold-control-instructions.js | 3 - deps/v8/test/mjsunit/cross-realm-filtering.js | 10 + deps/v8/test/mjsunit/debug-backtrace-text.js | 150 - deps/v8/test/mjsunit/debug-backtrace.js | 271 -- .../v8/test/mjsunit/debug-changebreakpoint.js | 102 - deps/v8/test/mjsunit/debug-clearbreakpoint.js | 100 - .../mjsunit/debug-clearbreakpointgroup.js | 127 - .../debug-compile-event-newfunction.js | 68 - deps/v8/test/mjsunit/debug-constructed-by.js | 60 - deps/v8/test/mjsunit/debug-continue.js | 115 - deps/v8/test/mjsunit/debug-evaluate-nested.js | 49 - .../test/mjsunit/debug-evaluate-recursive.js | 167 - .../mjsunit/debug-evaluate-with-context.js | 145 - deps/v8/test/mjsunit/debug-evaluate.js | 156 - deps/v8/test/mjsunit/debug-function-scopes.js | 156 - deps/v8/test/mjsunit/debug-handle.js | 252 -- deps/v8/test/mjsunit/debug-is-active.js | 28 - deps/v8/test/mjsunit/debug-listbreakpoints.js | 210 - .../mjsunit/debug-liveedit-breakpoints.js | 115 - deps/v8/test/mjsunit/debug-referenced-by.js | 112 - deps/v8/test/mjsunit/debug-references.js | 120 - .../debug-script-breakpoints-closure.js | 67 - .../debug-script-breakpoints-nested.js | 82 - .../test/mjsunit/debug-script-breakpoints.js | 125 - deps/v8/test/mjsunit/debug-scripts-request.js | 112 - .../test/mjsunit/debug-set-script-source.js | 64 - .../test/mjsunit/debug-setexceptionbreak.js | 119 - deps/v8/test/mjsunit/debugPrint.js | 29 + ...agerly-parsed-lazily-compiled-functions.js | 2 - deps/v8/test/mjsunit/element-accessor.js | 12 +- .../mjsunit/es6/array-iterator-detached.js | 47 + .../es6/arrow-rest-params-lazy-parsing.js | 2 - .../es6/block-scoping-top-level-sloppy.js | 2 - .../mjsunit/es6/block-scoping-top-level.js | 1 - .../test/mjsunit/es6/classes-lazy-parsing.js | 2 - deps/v8/test/mjsunit/es6/completion.js | 22 +- .../es6/computed-property-names-classes.js | 6 +- .../es6/destructuring-assignment-lazy.js | 2 - deps/v8/test/mjsunit/es6/destructuring.js | 9 +- deps/v8/test/mjsunit/es6/function-name.js | 49 + .../mjsunit/es6/generator-destructuring.js | 9 +- deps/v8/test/mjsunit/es6/generators-mirror.js | 112 - .../v8/test/mjsunit/es6/mirror-collections.js | 165 - deps/v8/test/mjsunit/es6/mirror-iterators.js | 103 - deps/v8/test/mjsunit/es6/mirror-promises.js | 90 - deps/v8/test/mjsunit/es6/mirror-symbols.js | 38 - .../es6/promise-lookup-getter-setter.js | 76 + deps/v8/test/mjsunit/es6/regexp-sticky.js | 7 + .../test/mjsunit/es6/regress/regress-4400.js | 2 - .../mjsunit/es6/regress/regress-594084.js | 1 - deps/v8/test/mjsunit/es6/string-startswith.js | 1 + .../test/mjsunit/es6/typedarray-neutered.js | 781 ++++ deps/v8/test/mjsunit/es6/typedarray.js | 25 + .../async-arrow-lexical-arguments.js | 2 +- .../async-arrow-lexical-new.target.js | 2 +- .../async-arrow-lexical-super.js | 2 +- .../async-arrow-lexical-this.js | 2 +- .../{harmony => es8}/async-await-basic.js | 32 +- .../async-await-no-constructor.js | 4 +- .../async-await-resolve-new.js | 2 - .../{harmony => es8}/async-await-species.js | 2 +- .../{harmony => es8}/async-destructuring.js | 11 +- .../async-function-stacktrace.js | 2 - .../regress/regress-618603.js | 2 - .../regress/regress-624300.js | 2 - .../sloppy-no-duplicate-async.js | 2 - deps/v8/test/mjsunit/fast-prototype.js | 3 +- .../fixed-context-shapes-when-recompiling.js | 264 +- deps/v8/test/mjsunit/for-in.js | 26 + .../mjsunit/harmony/harmony-string-pad-end.js | 2 - .../harmony/harmony-string-pad-start.js | 2 - .../harmony/mirror-async-function-promise.js | 93 - .../mjsunit/harmony/mirror-async-function.js | 76 - .../mjsunit/harmony/object-spread-basic.js | 111 + .../mjsunit/harmony/regexp-property-blocks.js | 36 - .../harmony/regexp-property-enumerated.js | 19 +- .../harmony/regexp-property-exact-match.js | 2 +- .../regexp-property-general-category.js | 4 + .../harmony/regexp-property-invalid.js | 38 + .../regexp-property-script-extensions.js | 2821 +++++++++++++ deps/v8/test/mjsunit/ignition/regress-5768.js | 16 + deps/v8/test/mjsunit/lazy-inner-functions.js | 19 +- deps/v8/test/mjsunit/mirror-array.js | 138 - deps/v8/test/mjsunit/mirror-boolean.js | 59 - deps/v8/test/mjsunit/mirror-date.js | 77 - deps/v8/test/mjsunit/mirror-error.js | 94 - deps/v8/test/mjsunit/mirror-function.js | 91 - deps/v8/test/mjsunit/mirror-null.js | 50 - deps/v8/test/mjsunit/mirror-number.js | 77 - deps/v8/test/mjsunit/mirror-object.js | 291 -- deps/v8/test/mjsunit/mirror-regexp.js | 101 - deps/v8/test/mjsunit/mirror-script.js | 88 - deps/v8/test/mjsunit/mirror-string.js | 89 - deps/v8/test/mjsunit/mirror-undefined.js | 50 - .../mjsunit/mirror-unresolved-function.js | 81 - deps/v8/test/mjsunit/mjsunit.js | 2 +- deps/v8/test/mjsunit/mjsunit.status | 141 +- deps/v8/test/mjsunit/modules-namespace1.js | 44 +- deps/v8/test/mjsunit/modules-namespace2.js | 4 +- deps/v8/test/mjsunit/modules-preparse.js | 1 - deps/v8/test/mjsunit/noopt.js | 17 + ...9300.js => number-tostring-big-integer.js} | 28 +- deps/v8/test/mjsunit/number-tostring.js | 7 + deps/v8/test/mjsunit/object-literal.js | 41 + .../mjsunit/preparse-toplevel-strict-eval.js | 2 - deps/v8/test/mjsunit/regress/regress-2263.js | 24 + .../mjsunit/{ => regress}/regress-3456.js | 2 - .../v8/test/mjsunit/regress/regress-353551.js | 2 +- .../{regress-4399.js => regress-4399-01.js} | 0 .../regress-4399-02.js} | 0 deps/v8/test/mjsunit/regress/regress-4870.js | 10 + deps/v8/test/mjsunit/regress/regress-4962.js | 11 + .../v8/test/mjsunit/regress/regress-5295-2.js | 20 + deps/v8/test/mjsunit/regress/regress-5295.js | 18 + deps/v8/test/mjsunit/regress/regress-5405.js | 2 +- .../regress/regress-5664.js} | 6 +- deps/v8/test/mjsunit/regress/regress-5669.js | 21 + deps/v8/test/mjsunit/regress/regress-5736.js | 34 + deps/v8/test/mjsunit/regress/regress-5749.js | 23 + .../v8/test/mjsunit/regress/regress-575364.js | 2 +- deps/v8/test/mjsunit/regress/regress-5767.js | 5 + deps/v8/test/mjsunit/regress/regress-5772.js | 42 + deps/v8/test/mjsunit/regress/regress-5780.js | 16 + deps/v8/test/mjsunit/regress/regress-5783.js | 8 + deps/v8/test/mjsunit/regress/regress-5836.js | 7 + .../v8/test/mjsunit/regress/regress-585775.js | 2 +- .../mjsunit/{ => regress}/regress-587004.js | 0 deps/v8/test/mjsunit/regress/regress-5943.js | 14 + .../v8/test/mjsunit/regress/regress-599825.js | 2 +- .../mjsunit/{ => regress}/regress-604044.js | 2 - .../v8/test/mjsunit/regress/regress-613928.js | 2 +- .../v8/test/mjsunit/regress/regress-617525.js | 2 +- .../v8/test/mjsunit/regress/regress-617529.js | 2 +- .../v8/test/mjsunit/regress/regress-618608.js | 4 +- .../v8/test/mjsunit/regress/regress-648719.js | 5 + .../v8/test/mjsunit/regress/regress-667603.js | 9 + .../v8/test/mjsunit/regress/regress-669024.js | 21 + .../v8/test/mjsunit/regress/regress-670671.js | 23 + .../v8/test/mjsunit/regress/regress-670808.js | 22 + .../regress/regress-670981-array-push.js | 8 + .../v8/test/mjsunit/regress/regress-672041.js | 23 + .../v8/test/mjsunit/regress/regress-673241.js | 13 + .../v8/test/mjsunit/regress/regress-673242.js | 31 + .../v8/test/mjsunit/regress/regress-673297.js | 13 + .../v8/test/mjsunit/regress/regress-674232.js | 16 + .../v8/test/mjsunit/regress/regress-677055.js | 11 + .../v8/test/mjsunit/regress/regress-677685.js | 32 + .../v8/test/mjsunit/regress/regress-678917.js | 24 + .../v8/test/mjsunit/regress/regress-679727.js | 6 + .../test/mjsunit/regress/regress-681171-1.js | 13 + .../test/mjsunit/regress/regress-681171-2.js | 12 + .../test/mjsunit/regress/regress-681171-3.js | 11 + .../v8/test/mjsunit/regress/regress-681383.js | 19 + .../v8/test/mjsunit/regress/regress-693500.js | 5 + .../mjsunit/regress/regress-builtinbust-7.js | 2 +- .../mjsunit/regress/regress-crbug-513507.js | 2 +- .../{ => regress}/regress-crbug-528379.js | 0 .../mjsunit/regress/regress-crbug-580934.js | 2 - .../{ => regress}/regress-crbug-619476.js | 0 .../mjsunit/regress/regress-crbug-627828.js | 35 +- .../mjsunit/regress/regress-crbug-629996.js | 9 - .../mjsunit/regress/regress-crbug-648740.js | 2 - .../mjsunit/regress/regress-crbug-659915a.js | 2 +- .../mjsunit/regress/regress-crbug-659915b.js | 2 +- .../mjsunit/regress/regress-crbug-662854.js | 10 + .../mjsunit/regress/regress-crbug-662907.js | 53 + .../mjsunit/regress/regress-crbug-663340.js | 32 + .../mjsunit/regress/regress-crbug-663410.js | 8 + .../mjsunit/regress/regress-crbug-663750.js | 10 +- .../mjsunit/regress/regress-crbug-665587.js | 16 + .../mjsunit/regress/regress-crbug-665793.js | 12 + .../mjsunit/regress/regress-crbug-666308.js | 9 + .../mjsunit/regress/regress-crbug-666742.js | 15 + .../mjsunit/regress/regress-crbug-668101.js | 21 + .../mjsunit/regress/regress-crbug-668414.js | 58 + .../mjsunit/regress/regress-crbug-668795.js | 21 + .../mjsunit/regress/regress-crbug-669411.js | 11 + .../mjsunit/regress/regress-crbug-669451.js | 15 + .../mjsunit/regress/regress-crbug-669540.js | 15 + .../mjsunit/regress/regress-crbug-669850.js | 11 + .../mjsunit/regress/regress-crbug-671576.js | 13 + .../mjsunit/regress/regress-crbug-672792.js | 18 + .../mjsunit/regress/regress-crbug-677757.js | 7 + .../mjsunit/regress/regress-crbug-679378.js | 19 + .../regress/regress-crbug-679841.js} | 4 +- .../mjsunit/regress/regress-crbug-683667.js | 14 + .../mjsunit/regress/regress-crbug-686102.js | 15 + .../mjsunit/regress/regress-crbug-686427.js | 15 + .../mjsunit/regress/regress-crbug-691323.js | 35 + ...egress-keyed-store-non-strict-arguments.js | 0 .../test/mjsunit/{ => regress}/regress-ntl.js | 0 .../regress/regress-private-enumerable.js | 23 + .../regress-sync-optimized-lists.js | 0 .../test/mjsunit/regress/regress-v8-5697.js | 26 + .../regress/regress-wasm-crbug-599413.js | 2 +- .../regress/regress-wasm-crbug-618602.js | 2 +- .../mjsunit/regress/wasm/regression-5531.js | 4 +- .../mjsunit/regress/wasm/regression-5800.js | 56 + .../mjsunit/regress/wasm/regression-5884.js | 20 + .../mjsunit/regress/wasm/regression-643595.js | 11 + .../mjsunit/regress/wasm/regression-663994.js | 14 + .../mjsunit/regress/wasm/regression-666741.js | 9 + .../mjsunit/regress/wasm/regression-667745.js | 389 ++ .../mjsunit/regress/wasm/regression-670683.js | 17 + .../mjsunit/regress/wasm/regression-674447.js | 10 + .../mjsunit/regress/wasm/regression-680938.js | 8 + .../mjsunit/regress/wasm/regression-684858.js | 34 + deps/v8/test/mjsunit/stack-traces.js | 3 - deps/v8/test/mjsunit/store-dictionary.js | 26 + deps/v8/test/mjsunit/string-indexof-1.js | 68 + deps/v8/test/mjsunit/string-split.js | 8 + deps/v8/test/mjsunit/wasm/OWNERS | 1 + deps/v8/test/mjsunit/wasm/adapter-frame.js | 42 +- deps/v8/test/mjsunit/wasm/add-getters.js | 75 + .../wasm/asm-wasm-exception-in-tonumber.js | 107 + deps/v8/test/mjsunit/wasm/asm-wasm-f32.js | 14 +- deps/v8/test/mjsunit/wasm/asm-wasm-names.js | 15 + deps/v8/test/mjsunit/wasm/asm-wasm-stack.js | 94 +- deps/v8/test/mjsunit/wasm/asm-wasm-stdlib.js | 8 +- deps/v8/test/mjsunit/wasm/asm-wasm.js | 86 +- .../v8/test/mjsunit/wasm/asm-with-wasm-off.js | 20 + .../wasm/compiled-module-management.js | 10 +- .../wasm/compiled-module-serialization.js | 19 +- deps/v8/test/mjsunit/wasm/data-segments.js | 8 +- deps/v8/test/mjsunit/wasm/divrem-trap.js | 22 +- deps/v8/test/mjsunit/wasm/errors.js | 81 +- deps/v8/test/mjsunit/wasm/exceptions.js | 42 +- deps/v8/test/mjsunit/wasm/export-table.js | 78 +- deps/v8/test/mjsunit/wasm/ffi-error.js | 20 +- deps/v8/test/mjsunit/wasm/ffi.js | 136 +- .../mjsunit/wasm/float-constant-folding.js | 220 + deps/v8/test/mjsunit/wasm/function-names.js | 2 +- .../test/mjsunit/wasm/function-prototype.js | 6 +- deps/v8/test/mjsunit/wasm/gc-buffer.js | 4 +- deps/v8/test/mjsunit/wasm/gc-frame.js | 10 +- deps/v8/test/mjsunit/wasm/gc-stress.js | 4 +- deps/v8/test/mjsunit/wasm/globals.js | 60 +- deps/v8/test/mjsunit/wasm/grow-memory.js | 6 + deps/v8/test/mjsunit/wasm/import-memory.js | 208 +- deps/v8/test/mjsunit/wasm/import-table.js | 72 +- deps/v8/test/mjsunit/wasm/incrementer.wasm | Bin 45 -> 46 bytes deps/v8/test/mjsunit/wasm/indirect-calls.js | 12 +- deps/v8/test/mjsunit/wasm/indirect-tables.js | 198 +- .../mjsunit/wasm/instance-memory-gc-stress.js | 124 + .../mjsunit/wasm/instantiate-module-basic.js | 88 +- .../mjsunit/wasm/instantiate-run-basic.js | 4 +- deps/v8/test/mjsunit/wasm/js-api.js | 709 ++++ .../wasm/memory-instance-validation.js | 103 + deps/v8/test/mjsunit/wasm/memory-size.js | 1 + deps/v8/test/mjsunit/wasm/memory.js | 10 + deps/v8/test/mjsunit/wasm/module-memory.js | 21 +- deps/v8/test/mjsunit/wasm/names.js | 51 + deps/v8/test/mjsunit/wasm/params.js | 20 +- deps/v8/test/mjsunit/wasm/receiver.js | 4 +- deps/v8/test/mjsunit/wasm/stack.js | 30 +- deps/v8/test/mjsunit/wasm/stackwalk.js | 4 +- deps/v8/test/mjsunit/wasm/start-function.js | 14 +- deps/v8/test/mjsunit/wasm/table.js | 71 +- .../wasm/test-import-export-wrapper.js | 20 +- .../wasm/test-wasm-compilation-control.js | 118 + .../mjsunit/wasm/test-wasm-module-builder.js | 22 +- .../wasm/trap-location-with-trap-if.js | 81 + deps/v8/test/mjsunit/wasm/trap-location.js | 8 +- .../test/mjsunit/wasm/unicode-validation.js | 2 +- .../mjsunit/wasm/unreachable-validation.js | 130 + deps/v8/test/mjsunit/wasm/wasm-constants.js | 55 +- deps/v8/test/mjsunit/wasm/wasm-default.js | 19 + .../test/mjsunit/wasm/wasm-module-builder.js | 48 +- deps/v8/test/mozilla/mozilla.status | 4 + deps/v8/test/test262/archive.py | 1 + deps/v8/test/test262/harness-adapt.js | 18 +- deps/v8/test/test262/list.py | 3 +- .../test/intl402/DateTimeFormat/12.1.1_1.js | 42 + .../test/intl402/NumberFormat/11.1.1_1.js | 42 + deps/v8/test/test262/prune-local-tests.sh | 15 + deps/v8/test/test262/test262.status | 248 +- deps/v8/test/test262/testcfg.py | 52 +- deps/v8/test/test262/upstream-local-tests.sh | 22 + deps/v8/test/unittests/BUILD.gn | 18 +- .../unittests/api/access-check-unittest.cc | 79 + .../test/unittests/base/logging-unittest.cc | 56 +- .../unittests/cancelable-tasks-unittest.cc | 45 + .../compiler-dispatcher-helper.cc | 28 + .../compiler-dispatcher-helper.h | 23 + .../compiler-dispatcher-job-unittest.cc | 104 +- .../compiler-dispatcher-tracer-unittest.cc | 12 +- .../compiler-dispatcher-unittest.cc | 806 ++++ .../compiler/bytecode-analysis-unittest.cc | 418 ++ .../common-operator-reducer-unittest.cc | 27 + .../compiler/escape-analysis-unittest.cc | 26 +- .../test/unittests/compiler/graph-unittest.cc | 6 +- .../test/unittests/compiler/graph-unittest.h | 1 + .../compiler/instruction-selector-unittest.cc | 90 +- .../compiler/instruction-sequence-unittest.cc | 20 +- .../compiler/int64-lowering-unittest.cc | 25 +- .../compiler/js-create-lowering-unittest.cc | 29 +- .../js-intrinsic-lowering-unittest.cc | 31 - .../compiler/js-typed-lowering-unittest.cc | 78 +- .../compiler/liveness-analyzer-unittest.cc | 6 +- .../compiler/load-elimination-unittest.cc | 96 +- .../machine-operator-reducer-unittest.cc | 45 +- .../instruction-selector-mips-unittest.cc | 164 +- .../instruction-selector-mips64-unittest.cc | 203 +- .../unittests/compiler/node-test-utils.cc | 55 +- .../test/unittests/compiler/node-test-utils.h | 8 +- .../test/unittests/compiler/regalloc/OWNERS | 5 + .../{ => regalloc}/live-range-unittest.cc | 30 - .../{ => regalloc}/move-optimizer-unittest.cc | 8 - .../register-allocator-unittest.cc | 34 +- .../simplified-operator-reducer-unittest.cc | 16 + .../compiler/state-values-utils-unittest.cc | 90 +- .../test/unittests/compiler/typer-unittest.cc | 4 +- deps/v8/test/unittests/counters-unittest.cc | 310 ++ .../heap/embedder-tracing-unittest.cc | 163 + .../heap/gc-idle-time-handler-unittest.cc | 13 + deps/v8/test/unittests/heap/heap-unittest.cc | 1 + .../unittests/heap/memory-reducer-unittest.cc | 67 +- .../test/unittests/heap/unmapper-unittest.cc | 88 + .../bytecode-array-builder-unittest.cc | 69 +- .../bytecode-array-iterator-unittest.cc | 7 +- ...bytecode-array-random-iterator-unittest.cc | 1011 +++++ .../bytecode-array-writer-unittest.cc | 1 + .../interpreter/bytecode-operands-unittest.cc | 47 + .../bytecode-peephole-optimizer-unittest.cc | 24 +- .../interpreter/bytecode-pipeline-unittest.cc | 37 +- .../bytecode-register-allocator-unittest.cc | 1 + .../bytecode-register-optimizer-unittest.cc | 19 +- .../interpreter/bytecodes-unittest.cc | 120 + .../constant-array-builder-unittest.cc | 1 + .../interpreter-assembler-unittest.cc | 189 +- .../interpreter-assembler-unittest.h | 16 +- .../libplatform/default-platform-unittest.cc | 34 + deps/v8/test/unittests/object-unittest.cc | 57 + deps/v8/test/unittests/run-all-unittests.cc | 3 + deps/v8/test/unittests/unittests.gyp | 18 +- deps/v8/test/unittests/unittests.status | 9 + .../unittests/value-serializer-unittest.cc | 107 +- deps/v8/test/unittests/wasm/OWNERS | 1 + .../wasm/control-transfer-unittest.cc | 146 +- ...t.cc => function-body-decoder-unittest.cc} | 1238 +++--- .../wasm/loop-assignment-analysis-unittest.cc | 12 +- .../unittests/wasm/module-decoder-unittest.cc | 166 +- .../unittests/wasm/wasm-macro-gen-unittest.cc | 7 +- .../wasm/wasm-module-builder-unittest.cc | 4 +- .../zone/zone-chunk-list-unittest.cc | 1 - .../webkit/class-syntax-call-expected.txt | 2 +- deps/v8/test/webkit/class-syntax-call.js | 2 +- .../webkit/class-syntax-extends-expected.txt | 2 +- deps/v8/test/webkit/class-syntax-extends.js | 2 +- .../webkit/class-syntax-super-expected.txt | 4 +- deps/v8/test/webkit/class-syntax-super.js | 4 +- .../fast/js/basic-strict-mode-expected.txt | 8 +- .../webkit/fast/js/deep-recursion-test.js | 2 +- .../webkit/fast/js/kde/parse-expected.txt | 4 - deps/v8/test/webkit/fast/js/kde/parse.js | 4 - .../fast/js/number-toString-expected.txt | 58 +- ...ic-escapes-in-string-literals-expected.txt | 28 +- .../fast/js/parser-syntax-check-expected.txt | 10 - .../webkit/fast/js/parser-syntax-check.js | 6 - .../fast/js/toString-number-expected.txt | 42 +- deps/v8/test/webkit/webkit.status | 19 +- .../inspector_protocol/CodeGenerator.py | 370 +- .../third_party/inspector_protocol/README.v8 | 2 +- .../inspector_protocol/inspector_protocol.gni | 9 + .../inspector_protocol/lib/Array_h.template | 20 +- .../lib/Collections_h.template | 2 +- .../lib/DispatcherBase_cpp.template | 169 +- .../lib/DispatcherBase_h.template | 54 +- .../lib/ErrorSupport_cpp.template | 2 +- .../inspector_protocol/lib/Forward_h.template | 1 - .../lib/FrontendChannel_h.template | 10 +- .../inspector_protocol/lib/Maybe_h.template | 2 +- .../lib/Object_cpp.template | 13 +- .../inspector_protocol/lib/Object_h.template | 4 +- .../lib/Parser_cpp.template | 4 +- .../inspector_protocol/lib/Parser_h.template | 4 +- .../lib/Protocol_cpp.template | 2 +- .../lib/ValueConversions_h.template | 46 +- .../lib/Values_cpp.template | 16 +- .../inspector_protocol/lib/Values_h.template | 28 +- .../templates/Exported_h.template | 6 +- .../templates/Imported_h.template | 20 +- .../templates/TypeBuilder_cpp.template | 171 +- .../templates/TypeBuilder_h.template | 105 +- deps/v8/tools/callstats.html | 114 +- deps/v8/tools/callstats.py | 55 +- deps/v8/tools/foozzie/BUILD.gn | 18 + .../tools/foozzie/testdata/failure_output.txt | 50 + deps/v8/tools/foozzie/testdata/fuzz-123.js | 5 + deps/v8/tools/foozzie/testdata/test_d8_1.py | 14 + deps/v8/tools/foozzie/testdata/test_d8_2.py | 14 + deps/v8/tools/foozzie/testdata/test_d8_3.py | 14 + deps/v8/tools/foozzie/v8_commands.py | 64 + deps/v8/tools/foozzie/v8_foozzie.py | 299 ++ deps/v8/tools/foozzie/v8_foozzie_test.py | 111 + deps/v8/tools/foozzie/v8_mock.js | 76 + deps/v8/tools/foozzie/v8_suppressions.js | 18 + deps/v8/tools/foozzie/v8_suppressions.py | 330 ++ deps/v8/tools/fuzz-harness.sh | 2 +- deps/v8/tools/gdbinit | 18 + deps/v8/tools/gen-postmortem-metadata.py | 15 +- deps/v8/tools/ignition/linux_perf_report.py | 17 +- deps/v8/tools/jsfunfuzz/fuzz-harness.sh | 2 +- deps/v8/tools/mb/mb.py | 9 +- deps/v8/tools/parser-shell.cc | 11 +- deps/v8/tools/presubmit.py | 102 +- deps/v8/tools/release/create_release.py | 50 +- deps/v8/tools/release/test_scripts.py | 15 +- deps/v8/tools/run-deopt-fuzzer.py | 3 +- deps/v8/tools/run-tests.py | 3 +- deps/v8/tools/run_perf.py | 2 +- deps/v8/tools/testrunner/local/statusfile.py | 18 +- deps/v8/tools/testrunner/local/variants.py | 6 +- deps/v8/tools/turbolizer/node.js | 2 +- deps/v8/tools/v8heapconst.py | 501 +-- deps/v8/tools/whitespace.txt | 3 +- 1726 files changed, 100857 insertions(+), 86452 deletions(-) create mode 100644 deps/v8/gypfiles/win/msvs_dependencies.isolate create mode 100644 deps/v8/include/v8-version-string.h create mode 100644 deps/v8/src/assembler-inl.h create mode 100644 deps/v8/src/ast/ast-function-literal-id-reindexer.cc create mode 100644 deps/v8/src/ast/ast-function-literal-id-reindexer.h create mode 100644 deps/v8/src/builtins/builtins-constructor.cc create mode 100644 deps/v8/src/builtins/builtins-constructor.h create mode 100644 deps/v8/src/builtins/builtins-ic.cc delete mode 100644 deps/v8/src/builtins/builtins-iterator.cc create mode 100644 deps/v8/src/builtins/builtins-promise.h create mode 100644 deps/v8/src/compiler-dispatcher/compiler-dispatcher.cc create mode 100644 deps/v8/src/compiler-dispatcher/compiler-dispatcher.h create mode 100644 deps/v8/src/compiler/bytecode-analysis.cc create mode 100644 deps/v8/src/compiler/bytecode-analysis.h delete mode 100644 deps/v8/src/compiler/bytecode-branch-analysis.cc delete mode 100644 deps/v8/src/compiler/bytecode-branch-analysis.h create mode 100644 deps/v8/src/compiler/bytecode-liveness-map.cc create mode 100644 deps/v8/src/compiler/bytecode-liveness-map.h delete mode 100644 deps/v8/src/compiler/bytecode-loop-analysis.cc delete mode 100644 deps/v8/src/compiler/bytecode-loop-analysis.h create mode 100644 deps/v8/src/compiler/graph-assembler.cc create mode 100644 deps/v8/src/compiler/graph-assembler.h delete mode 100644 deps/v8/src/compiler/type-hint-analyzer.cc delete mode 100644 deps/v8/src/compiler/type-hint-analyzer.h create mode 100644 deps/v8/src/debug/interface-types.h create mode 100644 deps/v8/src/heap/embedder-tracing.cc create mode 100644 deps/v8/src/heap/embedder-tracing.h create mode 100644 deps/v8/src/ic/accessor-assembler-impl.h create mode 100644 deps/v8/src/ic/accessor-assembler.cc create mode 100644 deps/v8/src/ic/accessor-assembler.h delete mode 100644 deps/v8/src/ic/arm/ic-compiler-arm.cc delete mode 100644 deps/v8/src/ic/arm/stub-cache-arm.cc delete mode 100644 deps/v8/src/ic/arm64/ic-compiler-arm64.cc delete mode 100644 deps/v8/src/ic/arm64/stub-cache-arm64.cc delete mode 100644 deps/v8/src/ic/ia32/ic-compiler-ia32.cc delete mode 100644 deps/v8/src/ic/ia32/stub-cache-ia32.cc create mode 100644 deps/v8/src/ic/ic-stats.cc create mode 100644 deps/v8/src/ic/ic-stats.h delete mode 100644 deps/v8/src/ic/mips/ic-compiler-mips.cc delete mode 100644 deps/v8/src/ic/mips/stub-cache-mips.cc delete mode 100644 deps/v8/src/ic/mips64/ic-compiler-mips64.cc delete mode 100644 deps/v8/src/ic/mips64/stub-cache-mips64.cc delete mode 100644 deps/v8/src/ic/ppc/ic-compiler-ppc.cc delete mode 100644 deps/v8/src/ic/ppc/stub-cache-ppc.cc delete mode 100644 deps/v8/src/ic/s390/ic-compiler-s390.cc delete mode 100644 deps/v8/src/ic/s390/stub-cache-s390.cc delete mode 100644 deps/v8/src/ic/x64/ic-compiler-x64.cc delete mode 100644 deps/v8/src/ic/x64/stub-cache-x64.cc delete mode 100644 deps/v8/src/ic/x87/ic-compiler-x87.cc delete mode 100644 deps/v8/src/ic/x87/stub-cache-x87.cc delete mode 100644 deps/v8/src/inspector/protocol-platform.h create mode 100644 deps/v8/src/inspector/test-interface.cc create mode 100644 deps/v8/src/inspector/test-interface.h create mode 100644 deps/v8/src/inspector/wasm-translation.cc create mode 100644 deps/v8/src/inspector/wasm-translation.h create mode 100644 deps/v8/src/interpreter/bytecode-array-accessor.cc create mode 100644 deps/v8/src/interpreter/bytecode-array-accessor.h create mode 100644 deps/v8/src/interpreter/bytecode-array-random-iterator.cc create mode 100644 deps/v8/src/interpreter/bytecode-array-random-iterator.h delete mode 100644 deps/v8/src/js/symbol.js create mode 100644 deps/v8/src/map-updater.cc create mode 100644 deps/v8/src/map-updater.h create mode 100644 deps/v8/src/objects/module-info.h create mode 100644 deps/v8/src/objects/object-macros-undef.h create mode 100644 deps/v8/src/objects/object-macros.h rename deps/v8/src/{ast/scopeinfo.cc => objects/scope-info.cc} (98%) create mode 100644 deps/v8/src/objects/scope-info.h create mode 100644 deps/v8/src/parsing/parsing.cc create mode 100644 deps/v8/src/parsing/parsing.h delete mode 100644 deps/v8/src/promise-utils.cc delete mode 100644 deps/v8/src/promise-utils.h create mode 100644 deps/v8/src/string-case.cc create mode 100644 deps/v8/src/string-case.h create mode 100644 deps/v8/src/trap-handler/trap-handler.h rename deps/v8/src/wasm/{ast-decoder.cc => function-body-decoder.cc} (72%) rename deps/v8/src/wasm/{ast-decoder.h => function-body-decoder.h} (74%) create mode 100644 deps/v8/src/wasm/wasm-limits.h create mode 100644 deps/v8/src/wasm/wasm-text.cc create mode 100644 deps/v8/src/wasm/wasm-text.h create mode 100644 deps/v8/src/zone/zone-handle-set.h delete mode 100644 deps/v8/test/cctest/compiler/test-run-inlining.cc create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden create mode 100644 deps/v8/test/cctest/parsing/test-parse-decision.cc create mode 100644 deps/v8/test/cctest/test-accessor-assembler.cc create mode 100644 deps/v8/test/cctest/wasm/test-wasm-breakpoints.cc rename deps/v8/test/{mjsunit => debugger}/bugs/harmony/debug-blockscopes.js (64%) rename deps/v8/test/{mjsunit => debugger/debug}/compiler/debug-catch-prediction.js (98%) rename deps/v8/test/{mjsunit/debug-mirror-cache.js => debugger/debug/debug-backtrace.js} (59%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-break-native.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-breakpoints.js (56%) rename deps/v8/test/{mjsunit/bugs/bug-2337.js => debugger/debug/debug-clearbreakpoint.js} (68%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-compile-event.js (80%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-conditional-breakpoints.js (86%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-enable-disable-breakpoints.js (71%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-eval-scope.js (99%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-evaluate-bool-constructor.js (76%) rename deps/v8/test/debugger/{ => debug}/debug-evaluate-locals-optimized-double.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-evaluate-locals.js (93%) create mode 100644 deps/v8/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js create mode 100644 deps/v8/test/debugger/debug/debug-evaluate-no-side-effect.js rename deps/v8/test/{mjsunit => debugger/debug}/debug-evaluate-shadowed-context.js (96%) rename deps/v8/test/{mjsunit/debug-suspend.js => debugger/debug/debug-evaluate.js} (60%) create mode 100644 deps/v8/test/debugger/debug/debug-function-scopes.js rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-1.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-2.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-3.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-4.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-check-stack.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-compile-error.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-diff.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-double-call.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-exceptions.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-literals.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-newsource.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-patch-positions-replace.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-restart-frame.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-stack-padding.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-stepin.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-liveedit-utils.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-multiple-breakpoints.js (80%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-multiple-var-decl.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-negative-break-points.js (77%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-receiver.js (94%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-return-value.js (77%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-scopes-suspended-generators.js (64%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-scopes.js (86%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-script.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-scripts-throw.js (61%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-set-variable-value.js (79%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-setbreakpoint.js (53%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-sourceinfo.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-stepframe-clearing.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/debug-stepframe.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-blockscopes.js (81%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-evaluate-arrow-function-receiver.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-evaluate-blockscopes.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-evaluate-receiver-before-super.js (88%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-exception-generators.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-function-scopes.js (59%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-liveedit-new-target-1.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-liveedit-new-target-2.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-liveedit-new-target-3.js (96%) delete mode 100644 deps/v8/test/debugger/debug/es6/debug-promises/async-task-event.js rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/promise-all-uncaught.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/promise-race-uncaught.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-caught-all.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-caught-by-default-reject-handler.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-in-constructor.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-uncaught-all.js (90%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-uncaught-late.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-uncaught-uncaught.js (90%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-with-invalid-reject.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-with-throw-in-reject.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/reject-with-undefined-reject.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-caught-all.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-caught-by-default-reject-handler.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-finally-caught-all.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-in-constructor.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-uncaught-all.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-uncaught-uncaught.js (88%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/throw-with-throw-in-reject.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/try-reject-in-constructor.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-promises/try-throw-reject-in-constructor.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-scope-default-param-with-eval.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-stepin-default-parameters.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-stepin-microtasks.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-stepin-proxies.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-stepin-string-template.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/debug-stepnext-for.js (98%) create mode 100644 deps/v8/test/debugger/debug/es6/debug-stepnext-generators.js rename deps/v8/test/{mjsunit => debugger/debug}/es6/default-parameters-debug.js (94%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/generators-debug-liveedit.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/generators-debug-scopes.js (74%) rename deps/v8/test/{mjsunit => debugger/debug}/es6/regress/regress-468661.js (98%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-basic.js (96%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-caught-exception-cases.js (96%) rename deps/v8/test/{mjsunit/wasm/no-wasm-by-default.js => debugger/debug/es8/async-debug-caught-exception-cases0.js} (63%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-caught-exception-cases1.js (62%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-caught-exception-cases2.js (62%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-caught-exception-cases3.js (62%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-caught-exception.js (99%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-abort-at-break.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-continue-at-break.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-in-and-out.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-in-out-out.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-in.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-nested.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-next-constant.js (96%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-next.js (97%) rename deps/v8/test/debugger/debug/{harmony => es8}/async-debug-step-out.js (96%) rename deps/v8/test/{mjsunit/harmony => debugger/debug/es8}/async-function-debug-evaluate.js (98%) rename deps/v8/test/{mjsunit/harmony => debugger/debug/es8}/async-function-debug-scopes.js (87%) rename deps/v8/test/debugger/debug/{harmony => es8}/debug-async-break-on-stack.js (98%) rename deps/v8/test/debugger/debug/{harmony => es8}/debug-async-break.js (98%) rename deps/v8/test/{mjsunit/harmony => debugger/debug/es8}/debug-async-liveedit.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/function-source.js (95%) delete mode 100644 deps/v8/test/debugger/debug/harmony/debug-async-function-async-task-event.js rename deps/v8/test/{mjsunit => debugger/debug/harmony}/modules-debug-scopes1.js (83%) rename deps/v8/test/{mjsunit => debugger/debug/harmony}/modules-debug-scopes2.js (65%) rename deps/v8/test/{mjsunit => debugger/debug}/ignition/debug-step-prefix-bytecodes.js (99%) rename deps/v8/test/{mjsunit => debugger/debug}/ignition/elided-instruction.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/ignition/optimized-debug-frame.js (93%) rename deps/v8/test/{mjsunit/regress => debugger/debug}/regress-5207.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-102153.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-1081309.js (64%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-109195.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-119609.js (92%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-1639.js (82%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-1853.js (82%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-2296.js (98%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-3960.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-419663.js (71%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-4309-2.js (91%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-5164.js (96%) delete mode 100644 deps/v8/test/debugger/debug/regress/regress-94873.js rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-119800.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-171715.js (99%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-222893.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-424142.js (96%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-432493.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-465298.js (87%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-481896.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-487289.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-491943.js (94%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-517592.js (93%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-568477-2.js (69%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-605581.js (95%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-crbug-621361.js (82%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-debug-deopt-while-recompile.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-frame-details-null-receiver.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/regress/regress-prepare-break-while-recompile.js (97%) rename deps/v8/test/{mjsunit => debugger/debug}/wasm/frame-inspection.js (63%) rename deps/v8/test/{mjsunit => debugger}/regress/regress-1639-2.js (76%) rename deps/v8/test/{mjsunit => debugger}/regress/regress-2318.js (98%) create mode 100644 deps/v8/test/inspector/debugger/async-instrumentation-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-instrumentation.js create mode 100644 deps/v8/test/inspector/debugger/async-promise-late-then-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-promise-late-then.js create mode 100644 deps/v8/test/inspector/debugger/async-set-timeout-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-set-timeout.js create mode 100644 deps/v8/test/inspector/debugger/async-stack-await-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-stack-await.js create mode 100644 deps/v8/test/inspector/debugger/async-stack-for-promise-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-stack-for-promise.js create mode 100644 deps/v8/test/inspector/debugger/async-stacks-limit-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-stacks-limit.js create mode 100644 deps/v8/test/inspector/debugger/eval-scopes-expected.txt create mode 100644 deps/v8/test/inspector/debugger/eval-scopes.js create mode 100644 deps/v8/test/inspector/debugger/script-parsed-for-runtime-evaluate-expected.txt create mode 100644 deps/v8/test/inspector/debugger/script-parsed-for-runtime-evaluate.js create mode 100644 deps/v8/test/inspector/debugger/set-script-source-exception-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-script-source-exception.js create mode 100644 deps/v8/test/inspector/debugger/step-into-nested-arrow-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-into-nested-arrow.js create mode 100644 deps/v8/test/inspector/debugger/suspended-generator-scopes-expected.txt create mode 100644 deps/v8/test/inspector/debugger/suspended-generator-scopes.js create mode 100644 deps/v8/test/inspector/debugger/wasm-scripts-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-scripts.js create mode 100644 deps/v8/test/inspector/debugger/wasm-source-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-source.js create mode 100644 deps/v8/test/inspector/runtime/console-assert-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-assert.js create mode 100644 deps/v8/test/inspector/runtime/console-messages-limits-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-messages-limits.js create mode 100644 deps/v8/test/inspector/runtime/evaluate-empty-stack-expected.txt create mode 100644 deps/v8/test/inspector/runtime/evaluate-empty-stack.js create mode 100644 deps/v8/test/inspector/runtime/evaluate-with-generate-preview-expected.txt create mode 100644 deps/v8/test/inspector/runtime/evaluate-with-generate-preview.js create mode 100644 deps/v8/test/inspector/runtime/length-or-size-description-expected.txt create mode 100644 deps/v8/test/inspector/runtime/length-or-size-description.js create mode 100644 deps/v8/test/intl/bad-target.js create mode 100644 deps/v8/test/intl/date-format/unmodified-options.js create mode 100644 deps/v8/test/intl/general/constructor.js create mode 100644 deps/v8/test/intl/not-constructors.js create mode 100644 deps/v8/test/intl/toStringTag.js create mode 100644 deps/v8/test/js-perf-test/AsyncAwait/baseline-babel-es2017.js create mode 100644 deps/v8/test/js-perf-test/AsyncAwait/baseline-naive-promises.js create mode 100644 deps/v8/test/js-perf-test/AsyncAwait/native.js create mode 100644 deps/v8/test/js-perf-test/AsyncAwait/run.js create mode 100644 deps/v8/test/js-perf-test/Closures/closures.js create mode 100644 deps/v8/test/js-perf-test/Closures/run.js create mode 100644 deps/v8/test/js-perf-test/RegExp.json create mode 100644 deps/v8/test/js-perf-test/RegExp/RegExpTests.json create mode 100644 deps/v8/test/js-perf-test/RegExp/base.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_ctor.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_exec.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_flags.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_match.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_replace.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_search.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_split.js create mode 100644 deps/v8/test/js-perf-test/RegExp/base_test.js create mode 100644 deps/v8/test/js-perf-test/RegExp/ctor.js create mode 100644 deps/v8/test/js-perf-test/RegExp/exec.js create mode 100644 deps/v8/test/js-perf-test/RegExp/flags.js create mode 100644 deps/v8/test/js-perf-test/RegExp/match.js create mode 100644 deps/v8/test/js-perf-test/RegExp/replace.js create mode 100644 deps/v8/test/js-perf-test/RegExp/run.js create mode 100644 deps/v8/test/js-perf-test/RegExp/search.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_exec.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_flags.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_match.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_replace.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_search.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_split.js create mode 100644 deps/v8/test/js-perf-test/RegExp/slow_test.js create mode 100644 deps/v8/test/js-perf-test/RegExp/split.js create mode 100644 deps/v8/test/js-perf-test/RegExp/test.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/array_destructuring/array_destructuring.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/array_destructuring/run.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/object_literals/object_literals.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/object_literals/run.js create mode 100644 deps/v8/test/message/call-non-constructable.js create mode 100644 deps/v8/test/message/call-non-constructable.out create mode 100644 deps/v8/test/message/call-primitive-constructor.js create mode 100644 deps/v8/test/message/call-primitive-constructor.out create mode 100644 deps/v8/test/message/call-primitive-function.js create mode 100644 deps/v8/test/message/call-primitive-function.out create mode 100644 deps/v8/test/message/call-undeclared-function.js create mode 100644 deps/v8/test/message/call-undeclared-function.out create mode 100644 deps/v8/test/message/regress/regress-crbug-661579.js create mode 100644 deps/v8/test/message/regress/regress-crbug-661579.out create mode 100644 deps/v8/test/message/regress/regress-crbug-669017.js create mode 100644 deps/v8/test/message/regress/regress-crbug-669017.out create mode 100644 deps/v8/test/message/tonumber-symbol.js create mode 100644 deps/v8/test/message/tonumber-symbol.out create mode 100644 deps/v8/test/message/wasm-trap.js create mode 100644 deps/v8/test/message/wasm-trap.out create mode 100644 deps/v8/test/mjsunit/array-push-hole-double.js create mode 100644 deps/v8/test/mjsunit/array-push13.js create mode 100644 deps/v8/test/mjsunit/array-push14.js create mode 100644 deps/v8/test/mjsunit/asm/regress-641885.js create mode 100644 deps/v8/test/mjsunit/asm/regress-669899.js create mode 100644 deps/v8/test/mjsunit/asm/regress-672045.js create mode 100644 deps/v8/test/mjsunit/asm/regress-676573.js create mode 100644 deps/v8/test/mjsunit/compiler/capture-context.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-11.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-12.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-6.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-framestate-use-at-branchpoint.js rename deps/v8/test/mjsunit/{debug-toggle-mirror-cache.js => compiler/escape-analysis-replacement.js} (75%) create mode 100644 deps/v8/test/mjsunit/compiler/inline-context-deopt.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-omit-arguments-deopt.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-omit-arguments-object.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-omit-arguments.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-surplus-arguments-deopt.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-surplus-arguments-object.js create mode 100644 deps/v8/test/mjsunit/compiler/inline-surplus-arguments.js create mode 100644 deps/v8/test/mjsunit/compiler/instanceof-opt1.js create mode 100644 deps/v8/test/mjsunit/compiler/instanceof-opt2.js create mode 100644 deps/v8/test/mjsunit/compiler/instanceof-opt3.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-664117.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-668760.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-669517.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-671574.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-674469.js delete mode 100644 deps/v8/test/mjsunit/compiler/regress-uint8-deopt.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-v8-5756.js delete mode 100644 deps/v8/test/mjsunit/debug-backtrace-text.js delete mode 100644 deps/v8/test/mjsunit/debug-backtrace.js delete mode 100644 deps/v8/test/mjsunit/debug-changebreakpoint.js delete mode 100644 deps/v8/test/mjsunit/debug-clearbreakpoint.js delete mode 100644 deps/v8/test/mjsunit/debug-clearbreakpointgroup.js delete mode 100644 deps/v8/test/mjsunit/debug-compile-event-newfunction.js delete mode 100644 deps/v8/test/mjsunit/debug-constructed-by.js delete mode 100644 deps/v8/test/mjsunit/debug-continue.js delete mode 100644 deps/v8/test/mjsunit/debug-evaluate-nested.js delete mode 100644 deps/v8/test/mjsunit/debug-evaluate-recursive.js delete mode 100644 deps/v8/test/mjsunit/debug-evaluate-with-context.js delete mode 100644 deps/v8/test/mjsunit/debug-evaluate.js delete mode 100644 deps/v8/test/mjsunit/debug-function-scopes.js delete mode 100644 deps/v8/test/mjsunit/debug-handle.js delete mode 100644 deps/v8/test/mjsunit/debug-is-active.js delete mode 100644 deps/v8/test/mjsunit/debug-listbreakpoints.js delete mode 100644 deps/v8/test/mjsunit/debug-liveedit-breakpoints.js delete mode 100644 deps/v8/test/mjsunit/debug-referenced-by.js delete mode 100644 deps/v8/test/mjsunit/debug-references.js delete mode 100644 deps/v8/test/mjsunit/debug-script-breakpoints-closure.js delete mode 100644 deps/v8/test/mjsunit/debug-script-breakpoints-nested.js delete mode 100644 deps/v8/test/mjsunit/debug-script-breakpoints.js delete mode 100644 deps/v8/test/mjsunit/debug-scripts-request.js delete mode 100644 deps/v8/test/mjsunit/debug-set-script-source.js delete mode 100644 deps/v8/test/mjsunit/debug-setexceptionbreak.js create mode 100644 deps/v8/test/mjsunit/debugPrint.js create mode 100644 deps/v8/test/mjsunit/es6/array-iterator-detached.js delete mode 100644 deps/v8/test/mjsunit/es6/generators-mirror.js delete mode 100644 deps/v8/test/mjsunit/es6/mirror-collections.js delete mode 100644 deps/v8/test/mjsunit/es6/mirror-iterators.js delete mode 100644 deps/v8/test/mjsunit/es6/mirror-promises.js delete mode 100644 deps/v8/test/mjsunit/es6/mirror-symbols.js create mode 100644 deps/v8/test/mjsunit/es6/promise-lookup-getter-setter.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-neutered.js rename deps/v8/test/mjsunit/{harmony => es8}/async-arrow-lexical-arguments.js (95%) rename deps/v8/test/mjsunit/{harmony => es8}/async-arrow-lexical-new.target.js (95%) rename deps/v8/test/mjsunit/{harmony => es8}/async-arrow-lexical-super.js (96%) rename deps/v8/test/mjsunit/{harmony => es8}/async-arrow-lexical-this.js (95%) rename deps/v8/test/mjsunit/{harmony => es8}/async-await-basic.js (92%) rename deps/v8/test/mjsunit/{harmony => es8}/async-await-no-constructor.js (85%) rename deps/v8/test/mjsunit/{harmony => es8}/async-await-resolve-new.js (88%) rename deps/v8/test/mjsunit/{harmony => es8}/async-await-species.js (98%) rename deps/v8/test/mjsunit/{harmony => es8}/async-destructuring.js (97%) rename deps/v8/test/mjsunit/{harmony => es8}/async-function-stacktrace.js (99%) rename deps/v8/test/mjsunit/{harmony => es8}/regress/regress-618603.js (91%) rename deps/v8/test/mjsunit/{harmony => es8}/regress/regress-624300.js (88%) rename deps/v8/test/mjsunit/{harmony => es8}/sloppy-no-duplicate-async.js (95%) delete mode 100644 deps/v8/test/mjsunit/harmony/mirror-async-function-promise.js delete mode 100644 deps/v8/test/mjsunit/harmony/mirror-async-function.js create mode 100644 deps/v8/test/mjsunit/harmony/object-spread-basic.js delete mode 100644 deps/v8/test/mjsunit/harmony/regexp-property-blocks.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-property-invalid.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-property-script-extensions.js create mode 100644 deps/v8/test/mjsunit/ignition/regress-5768.js delete mode 100644 deps/v8/test/mjsunit/mirror-array.js delete mode 100644 deps/v8/test/mjsunit/mirror-boolean.js delete mode 100644 deps/v8/test/mjsunit/mirror-date.js delete mode 100644 deps/v8/test/mjsunit/mirror-error.js delete mode 100644 deps/v8/test/mjsunit/mirror-function.js delete mode 100644 deps/v8/test/mjsunit/mirror-null.js delete mode 100644 deps/v8/test/mjsunit/mirror-number.js delete mode 100644 deps/v8/test/mjsunit/mirror-object.js delete mode 100644 deps/v8/test/mjsunit/mirror-regexp.js delete mode 100644 deps/v8/test/mjsunit/mirror-script.js delete mode 100644 deps/v8/test/mjsunit/mirror-string.js delete mode 100644 deps/v8/test/mjsunit/mirror-undefined.js delete mode 100644 deps/v8/test/mjsunit/mirror-unresolved-function.js create mode 100644 deps/v8/test/mjsunit/noopt.js rename deps/v8/test/mjsunit/{regress/regress-crbug-259300.js => number-tostring-big-integer.js} (72%) rename deps/v8/test/mjsunit/{ => regress}/regress-3456.js (94%) rename deps/v8/test/mjsunit/regress/{regress-4399.js => regress-4399-01.js} (100%) rename deps/v8/test/mjsunit/{regress-4399.js => regress/regress-4399-02.js} (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-4870.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4962.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5295-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5295.js rename deps/v8/test/{debugger/debug/harmony/async-debug-caught-exception-cases0.js => mjsunit/regress/regress-5664.js} (58%) create mode 100644 deps/v8/test/mjsunit/regress/regress-5669.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5736.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5749.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5767.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5772.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5780.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5783.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5836.js rename deps/v8/test/mjsunit/{ => regress}/regress-587004.js (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-5943.js rename deps/v8/test/mjsunit/{ => regress}/regress-604044.js (85%) create mode 100644 deps/v8/test/mjsunit/regress/regress-648719.js create mode 100644 deps/v8/test/mjsunit/regress/regress-667603.js create mode 100644 deps/v8/test/mjsunit/regress/regress-669024.js create mode 100644 deps/v8/test/mjsunit/regress/regress-670671.js create mode 100644 deps/v8/test/mjsunit/regress/regress-670808.js create mode 100644 deps/v8/test/mjsunit/regress/regress-670981-array-push.js create mode 100644 deps/v8/test/mjsunit/regress/regress-672041.js create mode 100644 deps/v8/test/mjsunit/regress/regress-673241.js create mode 100644 deps/v8/test/mjsunit/regress/regress-673242.js create mode 100644 deps/v8/test/mjsunit/regress/regress-673297.js create mode 100644 deps/v8/test/mjsunit/regress/regress-674232.js create mode 100644 deps/v8/test/mjsunit/regress/regress-677055.js create mode 100644 deps/v8/test/mjsunit/regress/regress-677685.js create mode 100644 deps/v8/test/mjsunit/regress/regress-678917.js create mode 100644 deps/v8/test/mjsunit/regress/regress-679727.js create mode 100644 deps/v8/test/mjsunit/regress/regress-681171-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-681171-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-681171-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-681383.js create mode 100644 deps/v8/test/mjsunit/regress/regress-693500.js rename deps/v8/test/mjsunit/{ => regress}/regress-crbug-528379.js (100%) rename deps/v8/test/mjsunit/{ => regress}/regress-crbug-619476.js (100%) delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-629996.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-662854.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-662907.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-663340.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-663410.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-665587.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-665793.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-666308.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-666742.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-668101.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-668414.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-668795.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-669411.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-669451.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-669540.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-669850.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-671576.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-672792.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-677757.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-679378.js rename deps/v8/test/{debugger/debug/regress/regress-crbug-405491.js => mjsunit/regress/regress-crbug-679841.js} (53%) create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-683667.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-686102.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-686427.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-691323.js rename deps/v8/test/mjsunit/{ => regress}/regress-keyed-store-non-strict-arguments.js (100%) rename deps/v8/test/mjsunit/{ => regress}/regress-ntl.js (100%) rename deps/v8/test/mjsunit/{ => regress}/regress-sync-optimized-lists.js (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-5697.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-5800.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-5884.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-643595.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-663994.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-666741.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-667745.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-670683.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-674447.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-680938.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-684858.js create mode 100644 deps/v8/test/mjsunit/wasm/add-getters.js create mode 100644 deps/v8/test/mjsunit/wasm/asm-wasm-exception-in-tonumber.js create mode 100644 deps/v8/test/mjsunit/wasm/asm-wasm-names.js create mode 100644 deps/v8/test/mjsunit/wasm/asm-with-wasm-off.js create mode 100644 deps/v8/test/mjsunit/wasm/float-constant-folding.js create mode 100644 deps/v8/test/mjsunit/wasm/instance-memory-gc-stress.js create mode 100644 deps/v8/test/mjsunit/wasm/js-api.js create mode 100644 deps/v8/test/mjsunit/wasm/memory-instance-validation.js create mode 100644 deps/v8/test/mjsunit/wasm/names.js create mode 100644 deps/v8/test/mjsunit/wasm/test-wasm-compilation-control.js create mode 100644 deps/v8/test/mjsunit/wasm/trap-location-with-trap-if.js create mode 100644 deps/v8/test/mjsunit/wasm/unreachable-validation.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-default.js create mode 100644 deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js create mode 100644 deps/v8/test/test262/local-tests/test/intl402/NumberFormat/11.1.1_1.js create mode 100755 deps/v8/test/test262/prune-local-tests.sh create mode 100755 deps/v8/test/test262/upstream-local-tests.sh create mode 100644 deps/v8/test/unittests/api/access-check-unittest.cc create mode 100644 deps/v8/test/unittests/compiler-dispatcher/compiler-dispatcher-helper.cc create mode 100644 deps/v8/test/unittests/compiler-dispatcher/compiler-dispatcher-helper.h create mode 100644 deps/v8/test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/bytecode-analysis-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/regalloc/OWNERS rename deps/v8/test/unittests/compiler/{ => regalloc}/live-range-unittest.cc (99%) rename deps/v8/test/unittests/compiler/{ => regalloc}/move-optimizer-unittest.cc (99%) rename deps/v8/test/unittests/compiler/{ => regalloc}/register-allocator-unittest.cc (99%) create mode 100644 deps/v8/test/unittests/heap/embedder-tracing-unittest.cc create mode 100644 deps/v8/test/unittests/heap/unmapper-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/bytecode-operands-unittest.cc create mode 100644 deps/v8/test/unittests/object-unittest.cc rename deps/v8/test/unittests/wasm/{ast-decoder-unittest.cc => function-body-decoder-unittest.cc} (69%) create mode 100644 deps/v8/tools/foozzie/BUILD.gn create mode 100644 deps/v8/tools/foozzie/testdata/failure_output.txt create mode 100644 deps/v8/tools/foozzie/testdata/fuzz-123.js create mode 100644 deps/v8/tools/foozzie/testdata/test_d8_1.py create mode 100644 deps/v8/tools/foozzie/testdata/test_d8_2.py create mode 100644 deps/v8/tools/foozzie/testdata/test_d8_3.py create mode 100644 deps/v8/tools/foozzie/v8_commands.py create mode 100755 deps/v8/tools/foozzie/v8_foozzie.py create mode 100644 deps/v8/tools/foozzie/v8_foozzie_test.py create mode 100644 deps/v8/tools/foozzie/v8_mock.js create mode 100644 deps/v8/tools/foozzie/v8_suppressions.js create mode 100644 deps/v8/tools/foozzie/v8_suppressions.py diff --git a/deps/v8/.clang-format b/deps/v8/.clang-format index ae160a0bcc9789..55479a2f760845 100644 --- a/deps/v8/.clang-format +++ b/deps/v8/.clang-format @@ -1,4 +1,5 @@ # Defines the Google C++ style for automatic reformatting. # http://clang.llvm.org/docs/ClangFormatStyleOptions.html BasedOnStyle: Google +DerivePointerAlignment: false MaxEmptyLinesToKeep: 1 diff --git a/deps/v8/.gn b/deps/v8/.gn index aee1752d4be65e..c80980ea092d05 100644 --- a/deps/v8/.gn +++ b/deps/v8/.gn @@ -2,6 +2,8 @@ # tree and to set startup options. For documentation on the values set in this # file, run "gn help dotfile" at the command line. +import("//build/dotfile_settings.gni") + # The location of the build configuration file. buildconfig = "//build/config/BUILDCONFIG.gn" @@ -19,30 +21,5 @@ check_targets = [] # These are the list of GN files that run exec_script. This whitelist exists # to force additional review for new uses of exec_script, which is strongly # discouraged except for gypi_to_gn calls. -exec_script_whitelist = [ - "//build/config/android/BUILD.gn", - "//build/config/android/config.gni", - "//build/config/android/internal_rules.gni", - "//build/config/android/rules.gni", - "//build/config/BUILD.gn", - "//build/config/compiler/BUILD.gn", - "//build/config/gcc/gcc_version.gni", - "//build/config/ios/ios_sdk.gni", - "//build/config/linux/atk/BUILD.gn", - "//build/config/linux/BUILD.gn", - "//build/config/linux/pkg_config.gni", - "//build/config/mac/mac_sdk.gni", - "//build/config/posix/BUILD.gn", - "//build/config/sysroot.gni", - "//build/config/win/BUILD.gn", - "//build/config/win/visual_studio_version.gni", - "//build/gn_helpers.py", - "//build/gypi_to_gn.py", - "//build/toolchain/concurrent_links.gni", - "//build/toolchain/gcc_toolchain.gni", - "//build/toolchain/mac/BUILD.gn", - "//build/toolchain/win/BUILD.gn", - "//build/util/branding.gni", - "//build/util/version.gni", - "//test/test262/BUILD.gn", -] +exec_script_whitelist = + build_dotfile_settings.exec_script_whitelist + [ "//test/test262/BUILD.gn" ] diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 476d0c36328c18..35edca97e5f105 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -81,6 +81,7 @@ Julien Brianceau JunHo Seo Kang-Hao (Kenny) Lu Karl Skomski +Kevin Gibbons Luis Reis Luke Zarko Maciej Małecki @@ -104,6 +105,7 @@ Patrick Gansterer Peter Rybin Peter Varga Paul Lind +Qiuyi Zhang Rafal Krypa Refael Ackermann Rene Rebe diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 8587356ddcca34..c1fa769dc0b042 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -14,8 +14,6 @@ if (is_android) { import("gni/v8.gni") import("gni/isolate.gni") -import("//build_overrides/v8.gni") - import("snapshot_toolchain.gni") declare_args() { @@ -23,7 +21,10 @@ declare_args() { v8_android_log_stdout = false # Sets -DVERIFY_HEAP. - v8_enable_verify_heap = false + v8_enable_verify_heap = "" + + # Sets -DVERIFY_PREDICTABLE + v8_enable_verify_predictable = false # Enable compiler warnings when using V8_DEPRECATED apis. v8_deprecation_warnings = false @@ -51,7 +52,13 @@ declare_args() { v8_interpreted_regexp = false # Sets -dOBJECT_PRINT. - v8_object_print = "" + v8_enable_object_print = "" + + # Sets -dTRACE_MAPS. + v8_enable_trace_maps = "" + + # Sets -dV8_ENABLE_CHECKS. + v8_enable_v8_checks = "" # With post mortem support enabled, metadata is embedded into libv8 that # describes various parameters of the VM for use by debuggers. See @@ -89,11 +96,20 @@ if (v8_enable_gdbjit == "") { } # Derived defaults. -if (v8_object_print == "") { - v8_object_print = is_debug && !v8_optimized_debug +if (v8_enable_verify_heap == "") { + v8_enable_verify_heap = is_debug +} +if (v8_enable_object_print == "") { + v8_enable_object_print = is_debug } if (v8_enable_disassembler == "") { - v8_enable_disassembler = is_debug && !v8_optimized_debug + v8_enable_disassembler = is_debug +} +if (v8_enable_trace_maps == "") { + v8_enable_trace_maps = is_debug +} +if (v8_enable_v8_checks == "") { + v8_enable_v8_checks = is_debug } # Specifies if the target build is a simulator build. Comparing target cpu @@ -155,7 +171,7 @@ config("external_config") { defines = [ "USING_V8_SHARED" ] } include_dirs = [ "include" ] - if (v8_enable_inspector_override) { + if (v8_enable_inspector) { include_dirs += [ "$target_gen_dir/include" ] } } @@ -179,12 +195,21 @@ config("features") { if (v8_enable_gdbjit) { defines += [ "ENABLE_GDB_JIT_INTERFACE" ] } - if (v8_object_print) { + if (v8_enable_object_print) { defines += [ "OBJECT_PRINT" ] } if (v8_enable_verify_heap) { defines += [ "VERIFY_HEAP" ] } + if (v8_enable_verify_predictable) { + defines += [ "VERIFY_PREDICTABLE" ] + } + if (v8_enable_trace_maps) { + defines += [ "TRACE_MAPS" ] + } + if (v8_enable_v8_checks) { + defines += [ "V8_ENABLE_CHECKS" ] + } if (v8_interpreted_regexp) { defines += [ "V8_INTERPRETED_REGEXP" ] } @@ -348,15 +373,7 @@ config("toolchain") { ldflags += [ "-rdynamic" ] } - # TODO(jochen): Add support for different debug optimization levels. - defines += [ - "ENABLE_DISASSEMBLER", - "V8_ENABLE_CHECKS", - "OBJECT_PRINT", - "VERIFY_HEAP", - "DEBUG", - "TRACE_MAPS", - ] + defines += [ "DEBUG" ] if (v8_enable_slow_dchecks) { defines += [ "ENABLE_SLOW_DCHECKS" ] } @@ -408,7 +425,6 @@ action("js2c") { "src/js/prologue.js", "src/js/runtime.js", "src/js/v8natives.js", - "src/js/symbol.js", "src/js/array.js", "src/js/string.js", "src/js/arraybuffer.js", @@ -422,6 +438,7 @@ action("js2c") { "src/js/spread.js", "src/js/proxy.js", "src/js/async-await.js", + "src/js/harmony-string-padding.js", "src/debug/mirrors.js", "src/debug/debug.js", "src/debug/liveedit.js", @@ -466,7 +483,6 @@ action("js2c_experimental") { "src/messages.h", "src/js/harmony-atomics.js", "src/js/harmony-simd.js", - "src/js/harmony-string-padding.js", ] outputs = [ @@ -742,7 +758,7 @@ action("v8_dump_build_config") { "is_tsan=$is_tsan", "target_cpu=\"$target_cpu\"", "v8_enable_i18n_support=$v8_enable_i18n_support", - "v8_enable_inspector=$v8_enable_inspector_override", + "v8_enable_inspector=$v8_enable_inspector", "v8_target_cpu=\"$v8_target_cpu\"", "v8_use_snapshot=$v8_use_snapshot", ] @@ -848,6 +864,17 @@ if (v8_use_external_startup_data) { } } +# This is split out to be a non-code containing target that the Chromium browser +# DLL can depend upon to get only a version string. +v8_source_set("v8_version") { + configs = [ ":internal_config" ] + + sources = [ + "include/v8-version-string.h", + "include/v8-version.h", + ] +} + v8_source_set("v8_base") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -861,7 +888,6 @@ v8_source_set("v8_base") { "include/v8-profiler.h", "include/v8-testing.h", "include/v8-util.h", - "include/v8-version.h", "include/v8.h", "include/v8config.h", "src/accessors.cc", @@ -893,12 +919,15 @@ v8_source_set("v8_base") { "src/asmjs/asm-wasm-builder.h", "src/asmjs/switch-logic.cc", "src/asmjs/switch-logic.h", + "src/assembler-inl.h", "src/assembler.cc", "src/assembler.h", "src/assert-scope.cc", "src/assert-scope.h", "src/ast/ast-expression-rewriter.cc", "src/ast/ast-expression-rewriter.h", + "src/ast/ast-function-literal-id-reindexer.cc", + "src/ast/ast-function-literal-id-reindexer.h", "src/ast/ast-literal-reindexer.cc", "src/ast/ast-literal-reindexer.h", "src/ast/ast-numbering.cc", @@ -919,7 +948,6 @@ v8_source_set("v8_base") { "src/ast/modules.h", "src/ast/prettyprinter.cc", "src/ast/prettyprinter.h", - "src/ast/scopeinfo.cc", "src/ast/scopes.cc", "src/ast/scopes.h", "src/ast/variables.cc", @@ -944,6 +972,8 @@ v8_source_set("v8_base") { "src/builtins/builtins-boolean.cc", "src/builtins/builtins-call.cc", "src/builtins/builtins-callsite.cc", + "src/builtins/builtins-constructor.cc", + "src/builtins/builtins-constructor.h", "src/builtins/builtins-conversion.cc", "src/builtins/builtins-dataview.cc", "src/builtins/builtins-date.cc", @@ -953,14 +983,15 @@ v8_source_set("v8_base") { "src/builtins/builtins-generator.cc", "src/builtins/builtins-global.cc", "src/builtins/builtins-handler.cc", + "src/builtins/builtins-ic.cc", "src/builtins/builtins-internal.cc", "src/builtins/builtins-interpreter.cc", - "src/builtins/builtins-iterator.cc", "src/builtins/builtins-json.cc", "src/builtins/builtins-math.cc", "src/builtins/builtins-number.cc", "src/builtins/builtins-object.cc", "src/builtins/builtins-promise.cc", + "src/builtins/builtins-promise.h", "src/builtins/builtins-proxy.cc", "src/builtins/builtins-reflect.cc", "src/builtins/builtins-regexp.cc", @@ -1002,6 +1033,8 @@ v8_source_set("v8_base") { "src/compiler-dispatcher/compiler-dispatcher-job.h", "src/compiler-dispatcher/compiler-dispatcher-tracer.cc", "src/compiler-dispatcher/compiler-dispatcher-tracer.h", + "src/compiler-dispatcher/compiler-dispatcher.cc", + "src/compiler-dispatcher/compiler-dispatcher.h", "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", "src/compiler-dispatcher/optimizing-compile-dispatcher.h", "src/compiler.cc", @@ -1020,12 +1053,12 @@ v8_source_set("v8_base") { "src/compiler/basic-block-instrumentor.h", "src/compiler/branch-elimination.cc", "src/compiler/branch-elimination.h", - "src/compiler/bytecode-branch-analysis.cc", - "src/compiler/bytecode-branch-analysis.h", + "src/compiler/bytecode-analysis.cc", + "src/compiler/bytecode-analysis.h", "src/compiler/bytecode-graph-builder.cc", "src/compiler/bytecode-graph-builder.h", - "src/compiler/bytecode-loop-analysis.cc", - "src/compiler/bytecode-loop-analysis.h", + "src/compiler/bytecode-liveness-map.cc", + "src/compiler/bytecode-liveness-map.h", "src/compiler/c-linkage.cc", "src/compiler/checkpoint-elimination.cc", "src/compiler/checkpoint-elimination.h", @@ -1065,6 +1098,8 @@ v8_source_set("v8_base") { "src/compiler/frame.h", "src/compiler/gap-resolver.cc", "src/compiler/gap-resolver.h", + "src/compiler/graph-assembler.cc", + "src/compiler/graph-assembler.h", "src/compiler/graph-reducer.cc", "src/compiler/graph-reducer.h", "src/compiler/graph-replay.cc", @@ -1196,8 +1231,6 @@ v8_source_set("v8_base") { "src/compiler/tail-call-optimization.h", "src/compiler/type-cache.cc", "src/compiler/type-cache.h", - "src/compiler/type-hint-analyzer.cc", - "src/compiler/type-hint-analyzer.h", "src/compiler/typed-optimization.cc", "src/compiler/typed-optimization.h", "src/compiler/typer.cc", @@ -1300,6 +1333,7 @@ v8_source_set("v8_base") { "src/debug/debug-scopes.h", "src/debug/debug.cc", "src/debug/debug.h", + "src/debug/interface-types.h", "src/debug/liveedit.cc", "src/debug/liveedit.h", "src/deoptimize-reason.cc", @@ -1373,6 +1407,8 @@ v8_source_set("v8_base") { "src/heap/array-buffer-tracker.h", "src/heap/code-stats.cc", "src/heap/code-stats.h", + "src/heap/embedder-tracing.cc", + "src/heap/embedder-tracing.h", "src/heap/gc-idle-time-handler.cc", "src/heap/gc-idle-time-handler.h", "src/heap/gc-tracer.cc", @@ -1414,6 +1450,9 @@ v8_source_set("v8_base") { "src/ic/access-compiler-data.h", "src/ic/access-compiler.cc", "src/ic/access-compiler.h", + "src/ic/accessor-assembler-impl.h", + "src/ic/accessor-assembler.cc", + "src/ic/accessor-assembler.h", "src/ic/call-optimization.cc", "src/ic/call-optimization.h", "src/ic/handler-compiler.cc", @@ -1425,6 +1464,8 @@ v8_source_set("v8_base") { "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", "src/ic/ic.h", "src/ic/keyed-store-generic.cc", @@ -1437,10 +1478,14 @@ v8_source_set("v8_base") { "src/identity-map.h", "src/interface-descriptors.cc", "src/interface-descriptors.h", + "src/interpreter/bytecode-array-accessor.cc", + "src/interpreter/bytecode-array-accessor.h", "src/interpreter/bytecode-array-builder.cc", "src/interpreter/bytecode-array-builder.h", "src/interpreter/bytecode-array-iterator.cc", "src/interpreter/bytecode-array-iterator.h", + "src/interpreter/bytecode-array-random-iterator.cc", + "src/interpreter/bytecode-array-random-iterator.h", "src/interpreter/bytecode-array-writer.cc", "src/interpreter/bytecode-array-writer.h", "src/interpreter/bytecode-dead-code-optimizer.cc", @@ -1509,6 +1554,8 @@ v8_source_set("v8_base") { "src/machine-type.cc", "src/machine-type.h", "src/macro-assembler.h", + "src/map-updater.cc", + "src/map-updater.h", "src/messages.cc", "src/messages.h", "src/msan.h", @@ -1519,6 +1566,11 @@ v8_source_set("v8_base") { "src/objects-printer.cc", "src/objects.cc", "src/objects.h", + "src/objects/module-info.h", + "src/objects/object-macros-undef.h", + "src/objects/object-macros.h", + "src/objects/scope-info.cc", + "src/objects/scope-info.h", "src/ostreams.cc", "src/ostreams.h", "src/parsing/duplicate-finder.cc", @@ -1533,6 +1585,8 @@ v8_source_set("v8_base") { "src/parsing/parser-base.h", "src/parsing/parser.cc", "src/parsing/parser.h", + "src/parsing/parsing.cc", + "src/parsing/parsing.h", "src/parsing/pattern-rewriter.cc", "src/parsing/preparse-data-format.h", "src/parsing/preparse-data.cc", @@ -1578,8 +1632,6 @@ v8_source_set("v8_base") { "src/profiler/tracing-cpu-profiler.h", "src/profiler/unbound-queue-inl.h", "src/profiler/unbound-queue.h", - "src/promise-utils.cc", - "src/promise-utils.h", "src/property-descriptor.cc", "src/property-descriptor.h", "src/property-details.h", @@ -1679,6 +1731,8 @@ v8_source_set("v8_base") { "src/startup-data-util.h", "src/string-builder.cc", "src/string-builder.h", + "src/string-case.cc", + "src/string-case.h", "src/string-search.h", "src/string-stream.cc", "src/string-stream.h", @@ -1693,6 +1747,7 @@ v8_source_set("v8_base") { "src/transitions-inl.h", "src/transitions.cc", "src/transitions.h", + "src/trap-handler/trap-handler.h", "src/type-feedback-vector-inl.h", "src/type-feedback-vector.cc", "src/type-feedback-vector.h", @@ -1724,9 +1779,9 @@ v8_source_set("v8_base") { "src/version.h", "src/vm-state-inl.h", "src/vm-state.h", - "src/wasm/ast-decoder.cc", - "src/wasm/ast-decoder.h", "src/wasm/decoder.h", + "src/wasm/function-body-decoder.cc", + "src/wasm/function-body-decoder.h", "src/wasm/leb-helper.h", "src/wasm/managed.h", "src/wasm/module-decoder.cc", @@ -1740,6 +1795,7 @@ v8_source_set("v8_base") { "src/wasm/wasm-interpreter.h", "src/wasm/wasm-js.cc", "src/wasm/wasm-js.h", + "src/wasm/wasm-limits.h", "src/wasm/wasm-macro-gen.h", "src/wasm/wasm-module-builder.cc", "src/wasm/wasm-module-builder.h", @@ -1751,12 +1807,15 @@ v8_source_set("v8_base") { "src/wasm/wasm-opcodes.h", "src/wasm/wasm-result.cc", "src/wasm/wasm-result.h", + "src/wasm/wasm-text.cc", + "src/wasm/wasm-text.h", "src/zone/accounting-allocator.cc", "src/zone/accounting-allocator.h", "src/zone/zone-allocator.h", "src/zone/zone-allocator.h", "src/zone/zone-chunk-list.h", "src/zone/zone-containers.h", + "src/zone/zone-handle-set.h", "src/zone/zone-segment.cc", "src/zone/zone-segment.h", "src/zone/zone.cc", @@ -1797,9 +1856,7 @@ v8_source_set("v8_base") { "src/ia32/simulator-ia32.h", "src/ic/ia32/access-compiler-ia32.cc", "src/ic/ia32/handler-compiler-ia32.cc", - "src/ic/ia32/ic-compiler-ia32.cc", "src/ic/ia32/ic-ia32.cc", - "src/ic/ia32/stub-cache-ia32.cc", "src/regexp/ia32/regexp-macro-assembler-ia32.cc", "src/regexp/ia32/regexp-macro-assembler-ia32.h", ] @@ -1822,9 +1879,7 @@ v8_source_set("v8_base") { "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-compiler-x64.cc", "src/ic/x64/ic-x64.cc", - "src/ic/x64/stub-cache-x64.cc", "src/regexp/x64/regexp-macro-assembler-x64.cc", "src/regexp/x64/regexp-macro-assembler-x64.h", "src/third_party/valgrind/valgrind.h", @@ -1889,8 +1944,6 @@ v8_source_set("v8_base") { "src/ic/arm/access-compiler-arm.cc", "src/ic/arm/handler-compiler-arm.cc", "src/ic/arm/ic-arm.cc", - "src/ic/arm/ic-compiler-arm.cc", - "src/ic/arm/stub-cache-arm.cc", "src/regexp/arm/regexp-macro-assembler-arm.cc", "src/regexp/arm/regexp-macro-assembler-arm.h", ] @@ -1948,8 +2001,6 @@ v8_source_set("v8_base") { "src/ic/arm64/access-compiler-arm64.cc", "src/ic/arm64/handler-compiler-arm64.cc", "src/ic/arm64/ic-arm64.cc", - "src/ic/arm64/ic-compiler-arm64.cc", - "src/ic/arm64/stub-cache-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.h", ] @@ -1970,9 +2021,7 @@ v8_source_set("v8_base") { "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-compiler-mips.cc", "src/ic/mips/ic-mips.cc", - "src/ic/mips/stub-cache-mips.cc", "src/mips/assembler-mips-inl.h", "src/mips/assembler-mips.cc", "src/mips/assembler-mips.h", @@ -2012,9 +2061,7 @@ v8_source_set("v8_base") { "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-compiler-mips64.cc", "src/ic/mips64/ic-mips64.cc", - "src/ic/mips64/stub-cache-mips64.cc", "src/mips64/assembler-mips64-inl.h", "src/mips64/assembler-mips64.cc", "src/mips64/assembler-mips64.h", @@ -2054,9 +2101,7 @@ v8_source_set("v8_base") { "src/full-codegen/ppc/full-codegen-ppc.cc", "src/ic/ppc/access-compiler-ppc.cc", "src/ic/ppc/handler-compiler-ppc.cc", - "src/ic/ppc/ic-compiler-ppc.cc", "src/ic/ppc/ic-ppc.cc", - "src/ic/ppc/stub-cache-ppc.cc", "src/ppc/assembler-ppc-inl.h", "src/ppc/assembler-ppc.cc", "src/ppc/assembler-ppc.h", @@ -2096,9 +2141,7 @@ v8_source_set("v8_base") { "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-compiler-s390.cc", "src/ic/s390/ic-s390.cc", - "src/ic/s390/stub-cache-s390.cc", "src/regexp/s390/regexp-macro-assembler-s390.cc", "src/regexp/s390/regexp-macro-assembler-s390.h", "src/s390/assembler-s390-inl.h", @@ -2138,9 +2181,7 @@ v8_source_set("v8_base") { "src/full-codegen/x87/full-codegen-x87.cc", "src/ic/x87/access-compiler-x87.cc", "src/ic/x87/handler-compiler-x87.cc", - "src/ic/x87/ic-compiler-x87.cc", "src/ic/x87/ic-x87.cc", - "src/ic/x87/stub-cache-x87.cc", "src/regexp/x87/regexp-macro-assembler-x87.cc", "src/regexp/x87/regexp-macro-assembler-x87.h", "src/x87/assembler-x87-inl.h", @@ -2169,6 +2210,7 @@ v8_source_set("v8_base") { deps = [ ":v8_libbase", ":v8_libsampler", + ":v8_version", ] sources += [ v8_generated_peephole_source ] @@ -2196,7 +2238,7 @@ v8_source_set("v8_base") { deps += [ ":postmortem-metadata" ] } - if (v8_enable_inspector_override) { + if (v8_enable_inspector) { deps += [ "src/inspector:inspector" ] } } @@ -2399,14 +2441,10 @@ v8_source_set("fuzzer_support") { ":v8_libbase", ":v8_libplatform", ] -} - -v8_source_set("simple_fuzzer") { - sources = [ - "test/fuzzer/fuzzer.cc", - ] - configs = [ ":internal_config_base" ] + if (v8_enable_i18n_support) { + deps += [ "//third_party/icu" ] + } } ############################################################################### @@ -2477,14 +2515,10 @@ group("gn_all") { deps = [ ":d8", + ":v8_fuzzers", ":v8_hello_world", ":v8_parser_shell", ":v8_sample_process", - ":v8_simple_json_fuzzer", - ":v8_simple_parser_fuzzer", - ":v8_simple_regexp_fuzzer", - ":v8_simple_wasm_asmjs_fuzzer", - ":v8_simple_wasm_fuzzer", "test:gn_all", "tools:gn_all", ] @@ -2498,6 +2532,26 @@ group("gn_all") { } } +group("v8_fuzzers") { + testonly = true + deps = [ + ":v8_simple_json_fuzzer", + ":v8_simple_parser_fuzzer", + ":v8_simple_regexp_fuzzer", + ":v8_simple_wasm_asmjs_fuzzer", + ":v8_simple_wasm_call_fuzzer", + ":v8_simple_wasm_code_fuzzer", + ":v8_simple_wasm_data_section_fuzzer", + ":v8_simple_wasm_function_sigs_section_fuzzer", + ":v8_simple_wasm_fuzzer", + ":v8_simple_wasm_globals_section_fuzzer", + ":v8_simple_wasm_imports_section_fuzzer", + ":v8_simple_wasm_memory_section_fuzzer", + ":v8_simple_wasm_names_section_fuzzer", + ":v8_simple_wasm_types_section_fuzzer", + ] +} + if (is_component_build) { v8_component("v8") { sources = [ @@ -2527,6 +2581,7 @@ if (is_component_build) { ":v8_base", ":v8_maybe_snapshot", ] + public_configs = [ ":external_config" ] } } @@ -2566,8 +2621,12 @@ v8_executable("d8") { deps += [ "//third_party/icu" ] } + if (v8_correctness_fuzzer) { + deps += [ "tools/foozzie:v8_correctness_fuzzer_resources" ] + } + defines = [] - if (v8_enable_inspector_override) { + if (v8_enable_inspector) { defines += [ "V8_INSPECTOR_ENABLED" ] } } @@ -2687,10 +2746,14 @@ template("v8_fuzzer") { v8_executable("v8_simple_" + name) { deps = [ ":" + name, - ":simple_fuzzer", + "//build/config/sanitizers:deps", "//build/win:default_exe_manifest", ] + sources = [ + "test/fuzzer/fuzzer.cc", + ] + configs = [ ":external_config" ] } } diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 2dc77568d4c9a3..1ff3b3bf8ca25c 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,2493 @@ +2017-01-17: Version 5.7.492 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.491 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.490 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.489 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.488 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.487 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.486 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.485 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.484 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.483 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.482 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.481 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.480 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.479 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.478 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.477 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.476 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.475 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.474 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.473 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.472 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.471 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.470 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.469 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.468 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.467 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.466 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.465 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.464 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.463 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.462 + + Performance and stability improvements on all platforms. + + +2017-01-16: Version 5.7.461 + + Performance and stability improvements on all platforms. + + +2017-01-15: Version 5.7.460 + + Performance and stability improvements on all platforms. + + +2017-01-15: Version 5.7.459 + + Performance and stability improvements on all platforms. + + +2017-01-15: Version 5.7.458 + + Performance and stability improvements on all platforms. + + +2017-01-15: Version 5.7.457 + + Performance and stability improvements on all platforms. + + +2017-01-14: Version 5.7.456 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.455 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.454 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.453 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.452 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.451 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.450 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.449 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.448 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.447 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.446 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.445 + + Performance and stability improvements on all platforms. + + +2017-01-13: Version 5.7.444 + + Performance and stability improvements on all platforms. + + +2017-01-12: Version 5.7.443 + + Performance and stability improvements on all platforms. + + +2017-01-12: Version 5.7.442 + + Performance and stability improvements on all platforms. + + +2017-01-11: Version 5.7.441 + + Performance and stability improvements on all platforms. + + +2017-01-11: Version 5.7.440 + + Performance and stability improvements on all platforms. + + +2017-01-11: Version 5.7.439 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.438 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.437 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.436 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.435 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.434 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.433 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.432 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.431 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.430 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.429 + + Performance and stability improvements on all platforms. + + +2017-01-10: Version 5.7.428 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.427 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.426 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.425 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.424 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.423 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.422 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.421 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.420 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.419 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.418 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.417 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.416 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.415 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.414 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.413 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.412 + + Performance and stability improvements on all platforms. + + +2017-01-09: Version 5.7.411 + + Performance and stability improvements on all platforms. + + +2017-01-08: Version 5.7.410 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.409 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.408 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.407 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.406 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.405 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.404 + + Performance and stability improvements on all platforms. + + +2017-01-06: Version 5.7.403 + + Performance and stability improvements on all platforms. + + +2017-01-05: Version 5.7.402 + + Performance and stability improvements on all platforms. + + +2017-01-05: Version 5.7.401 + + Performance and stability improvements on all platforms. + + +2017-01-05: Version 5.7.400 + + Performance and stability improvements on all platforms. + + +2017-01-05: Version 5.7.399 + + Performance and stability improvements on all platforms. + + +2017-01-05: Version 5.7.398 + + Performance and stability improvements on all platforms. + + +2017-01-04: Version 5.7.397 + + Performance and stability improvements on all platforms. + + +2017-01-04: Version 5.7.396 + + Performance and stability improvements on all platforms. + + +2017-01-04: Version 5.7.395 + + Performance and stability improvements on all platforms. + + +2017-01-04: Version 5.7.394 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.393 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.392 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.391 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.390 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.389 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.388 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.387 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.386 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.385 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.384 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.383 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.382 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.381 + + Performance and stability improvements on all platforms. + + +2017-01-03: Version 5.7.380 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.379 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.378 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.377 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.376 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.375 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.374 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.373 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.372 + + Performance and stability improvements on all platforms. + + +2017-01-02: Version 5.7.371 + + Performance and stability improvements on all platforms. + + +2016-12-30: Version 5.7.370 + + Performance and stability improvements on all platforms. + + +2016-12-30: Version 5.7.369 + + Performance and stability improvements on all platforms. + + +2016-12-30: Version 5.7.368 + + Performance and stability improvements on all platforms. + + +2016-12-30: Version 5.7.367 + + Performance and stability improvements on all platforms. + + +2016-12-30: Version 5.7.366 + + Performance and stability improvements on all platforms. + + +2016-12-28: Version 5.7.365 + + Performance and stability improvements on all platforms. + + +2016-12-28: Version 5.7.364 + + Performance and stability improvements on all platforms. + + +2016-12-28: Version 5.7.363 + + Performance and stability improvements on all platforms. + + +2016-12-28: Version 5.7.362 + + Performance and stability improvements on all platforms. + + +2016-12-28: Version 5.7.361 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.360 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.359 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.358 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.357 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.356 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.355 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.354 + + Performance and stability improvements on all platforms. + + +2016-12-27: Version 5.7.353 + + Performance and stability improvements on all platforms. + + +2016-12-26: Version 5.7.352 + + Performance and stability improvements on all platforms. + + +2016-12-24: Version 5.7.351 + + Performance and stability improvements on all platforms. + + +2016-12-24: Version 5.7.350 + + Performance and stability improvements on all platforms. + + +2016-12-24: Version 5.7.349 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.348 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.347 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.346 + + [intl] Add new semantics + compat fallback to Intl constructor (issues + 4360, 4870). + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.345 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.344 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.343 + + Performance and stability improvements on all platforms. + + +2016-12-23: Version 5.7.342 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.341 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.340 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.339 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.338 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.337 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.336 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.335 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.334 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.333 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.332 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.331 + + Performance and stability improvements on all platforms. + + +2016-12-22: Version 5.7.330 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.329 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.328 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.327 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.326 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.325 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.324 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.323 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.322 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.321 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.320 + + Performance and stability improvements on all platforms. + + +2016-12-21: Version 5.7.319 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.318 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.317 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.316 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.315 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.314 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.313 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.312 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.311 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.310 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.309 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.308 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.307 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.306 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.305 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.304 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.303 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.302 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.301 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.300 + + Performance and stability improvements on all platforms. + + +2016-12-20: Version 5.7.299 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.298 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.297 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.296 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.295 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.294 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.293 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.292 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.291 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.290 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.289 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.288 + + Performance and stability improvements on all platforms. + + +2016-12-19: Version 5.7.287 + + Performance and stability improvements on all platforms. + + +2016-12-18: Version 5.7.286 + + Performance and stability improvements on all platforms. + + +2016-12-18: Version 5.7.285 + + Performance and stability improvements on all platforms. + + +2016-12-17: Version 5.7.284 + + Performance and stability improvements on all platforms. + + +2016-12-17: Version 5.7.283 + + Performance and stability improvements on all platforms. + + +2016-12-17: Version 5.7.282 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.281 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.280 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.279 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.278 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.277 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.276 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.275 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.274 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.273 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.272 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.271 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.270 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.269 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.268 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.267 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.266 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.265 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.264 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.263 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.262 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.261 + + Performance and stability improvements on all platforms. + + +2016-12-16: Version 5.7.260 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.259 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.258 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.257 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.256 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.255 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.254 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.253 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.252 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.251 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.250 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.249 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.248 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.247 + + Performance and stability improvements on all platforms. + + +2016-12-15: Version 5.7.246 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.245 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.244 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.243 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.242 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.241 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.240 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.239 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.238 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.237 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.236 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.235 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.234 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.233 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.232 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.231 + + Performance and stability improvements on all platforms. + + +2016-12-14: Version 5.7.230 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.229 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.228 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.227 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.226 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.225 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.224 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.223 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.222 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.221 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.220 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.219 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.218 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.217 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.216 + + Performance and stability improvements on all platforms. + + +2016-12-13: Version 5.7.215 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.214 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.213 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.212 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.211 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.210 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.209 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.208 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.207 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.206 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.205 + + Performance and stability improvements on all platforms. + + +2016-12-12: Version 5.7.204 + + Performance and stability improvements on all platforms. + + +2016-12-11: Version 5.7.203 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.202 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.201 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.200 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.199 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.198 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.197 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.196 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.195 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.194 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.193 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.192 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.191 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.190 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.189 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.188 + + Performance and stability improvements on all platforms. + + +2016-12-09: Version 5.7.187 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.186 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.185 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.184 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.183 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.182 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.181 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.180 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.179 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.178 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.177 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.176 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.175 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.174 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.173 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.172 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.171 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.170 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.169 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.168 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.167 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.166 + + Performance and stability improvements on all platforms. + + +2016-12-08: Version 5.7.165 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.164 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.163 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.162 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.161 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.160 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.159 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.158 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.157 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.156 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.155 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.154 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.153 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.152 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.151 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.150 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.149 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.148 + + Performance and stability improvements on all platforms. + + +2016-12-07: Version 5.7.147 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.146 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.145 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.144 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.143 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.142 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.141 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.140 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.139 + + Performance and stability improvements on all platforms. + + +2016-12-06: Version 5.7.138 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.137 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.136 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.135 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.134 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.133 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.132 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.131 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.130 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.129 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.128 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.127 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.126 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.125 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.124 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.123 + + Performance and stability improvements on all platforms. + + +2016-12-05: Version 5.7.122 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.121 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.120 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.119 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.118 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.117 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.116 + + Performance and stability improvements on all platforms. + + +2016-12-02: Version 5.7.115 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.114 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.113 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.112 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.111 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.110 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.109 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.108 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.107 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.106 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.105 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.104 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.103 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.102 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.101 + + Performance and stability improvements on all platforms. + + +2016-12-01: Version 5.7.100 + + [build] Use MSVS 2015 by default (Chromium issue 603131). + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.99 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.98 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.97 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.96 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.95 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.94 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.93 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.92 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.91 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.90 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.89 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.88 + + Performance and stability improvements on all platforms. + + +2016-11-30: Version 5.7.87 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.86 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.85 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.84 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.83 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.82 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.81 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.80 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.79 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.78 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.77 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.76 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.75 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.74 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.73 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.72 + + Performance and stability improvements on all platforms. + + +2016-11-29: Version 5.7.71 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.70 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.69 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.68 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.67 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.66 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.65 + + Performance and stability improvements on all platforms. + + +2016-11-28: Version 5.7.64 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.63 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.62 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.61 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.60 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.59 + + Performance and stability improvements on all platforms. + + +2016-11-25: Version 5.7.58 + + Performance and stability improvements on all platforms. + + +2016-11-24: Version 5.7.57 + + Performance and stability improvements on all platforms. + + +2016-11-24: Version 5.7.56 + + Performance and stability improvements on all platforms. + + +2016-11-24: Version 5.7.55 + + Performance and stability improvements on all platforms. + + +2016-11-24: Version 5.7.54 + + Performance and stability improvements on all platforms. + + +2016-11-24: Version 5.7.53 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.52 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.51 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.50 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.49 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.48 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.47 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.46 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.45 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.44 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.43 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.42 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.41 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.40 + + Performance and stability improvements on all platforms. + + +2016-11-23: Version 5.7.39 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.38 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.37 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.36 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.35 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.34 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.33 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.32 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.31 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.30 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.29 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.28 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.27 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.26 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.25 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.24 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.23 + + Performance and stability improvements on all platforms. + + +2016-11-22: Version 5.7.22 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.21 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.20 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.19 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.18 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.17 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.16 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.15 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.14 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.13 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.12 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.11 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.10 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.9 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.8 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.7 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.6 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.5 + + Performance and stability improvements on all platforms. + + +2016-11-21: Version 5.7.4 + + Performance and stability improvements on all platforms. + + +2016-11-20: Version 5.7.3 + + Performance and stability improvements on all platforms. + + +2016-11-20: Version 5.7.2 + + Performance and stability improvements on all platforms. + + +2016-11-20: Version 5.7.1 + + Performance and stability improvements on all platforms. + + +2016-11-17: Version 5.6.331 + + Performance and stability improvements on all platforms. + + +2016-11-17: Version 5.6.330 + + Performance and stability improvements on all platforms. + + +2016-11-17: Version 5.6.329 + + Performance and stability improvements on all platforms. + + +2016-11-17: Version 5.6.328 + + Performance and stability improvements on all platforms. + + +2016-11-16: Version 5.6.327 + + Performance and stability improvements on all platforms. + + 2016-11-15: Version 5.6.326 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 161015d661a8d1..6f66ac36f7ef54 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,15 +8,15 @@ vars = { deps = { "v8/build": - Var("chromium_url") + "/chromium/src/build.git" + "@" + "a3b623a6eff6dc9d58a03251ae22bccf92f67cb2", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "f55127ddc3632dbd6fef285c71ab4cb103e08f0c", "v8/tools/gyp": Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563", "v8/third_party/icu": - Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "c1a237113f525a1561d4b322d7653e1083f79aaa", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "9cd2828740572ba6f694b9365236a8356fd06147", "v8/third_party/instrumented_libraries": - Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "45f5814b1543e41ea0be54c771e3840ea52cca4a", + Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "5b6f777da671be977f56f0e8fc3469a3ccbb4474", "v8/buildtools": - Var("chromium_url") + "/chromium/buildtools.git" + "@" + "39b1db2ab4aa4b2ccaa263c29bdf63e7c1ee28aa", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "cb12d6e8641f0c9b0fbbfa4bf17c55c6c0d3c38f", "v8/base/trace_event/common": Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "06294c8a4a6f744ef284cd63cfe54dbf61eea290", "v8/third_party/jinja2": @@ -24,7 +24,7 @@ deps = { "v8/third_party/markupsafe": Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "484a5661041cac13bfc688a26ec5434b05d18961", "v8/tools/swarming_client": - Var('chromium_url') + '/external/swarming.client.git' + '@' + "380e32662312eb107f06fcba6409b0409f8fef72", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "ebc8dab6f8b8d79ec221c94de39a921145abd404", "v8/testing/gtest": Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -35,19 +35,19 @@ deps = { Var("chromium_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", "v8/test/simdjs/data": Var("chromium_url") + "/external/github.com/tc39/ecmascript_simd.git" + "@" + "baf493985cb9ea7cdbd0d68704860a8156de9556", "v8/test/test262/data": - Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "fb61ab44eb1bbc2699d714fc00e33af2a19411ce", + Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "6a0f1189eb00d38ef9760cb65cbc41c066876cde", "v8/test/test262/harness": - Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "cbd968f54f7a95c6556d53ba852292a4c49d11d8", + Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "0f2acdd882c84cff43b9d60df7574a1901e2cdcd", "v8/tools/clang": - Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "75350a858c51ad69e2aae051a8727534542da29f", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "f7ce1a5678e5addc015aed5f1e7734bbd2caac7c", } deps_os = { "android": { "v8/third_party/android_tools": - Var("chromium_url") + "/android_tools.git" + "@" + "25d57ead05d3dfef26e9c19b13ed10b0a69829cf", + Var("chromium_url") + "/android_tools.git" + "@" + "b43a6a289a7588b1769814f04dd6c7d7176974cc", "v8/third_party/catapult": - Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "6962f5c0344a79b152bf84460a93e1b2e11ea0f4", + Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "143ba4ddeb05e6165fb8413c5f3f47d342922d24", }, "win": { "v8/third_party/cygwin": @@ -263,7 +263,7 @@ hooks = [ # Update the Windows toolchain if necessary. 'name': 'win_toolchain', 'pattern': '.', - 'action': ['python', 'v8/gypfiles/vs_toolchain.py', 'update'], + 'action': ['python', 'v8/build/vs_toolchain.py', 'update'], }, # Pull binutils for linux, enabled debug fission for faster linking / # debugging when used with clang on Ubuntu Precise. diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index 028f4ff12c5c89..e375fa65b73326 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -5,14 +5,19 @@ binji@chromium.org bmeurer@chromium.org bradnelson@chromium.org cbruni@chromium.org +clemensh@chromium.org danno@chromium.org epertoso@chromium.org +franzih@chromium.org +gsathya@chromium.org hablich@chromium.org hpayer@chromium.org ishell@chromium.org jarin@chromium.org +jgruber@chromium.org jkummerow@chromium.org jochen@chromium.org +leszeks@chromium.org littledan@chromium.org machenbach@chromium.org marja@chromium.org @@ -21,9 +26,11 @@ mstarzinger@chromium.org mtrofin@chromium.org mvstanton@chromium.org mythria@chromium.org +petermarshall@chromium.org neis@chromium.org rmcilroy@chromium.org rossberg@chromium.org +tebbi@chromium.org titzer@chromium.org ulan@chromium.org verwaest@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index ad218330b180a4..8321f5cedfd67e 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -67,19 +67,22 @@ def _V8PresubmitChecks(input_api, output_api): input_api.PresubmitLocalPath(), 'tools')) from presubmit import CppLintProcessor from presubmit import SourceProcessor - from presubmit import CheckAuthorizedAuthor - from presubmit import CheckStatusFiles + from presubmit import StatusFilesProcessor results = [] - if not CppLintProcessor().Run(input_api.PresubmitLocalPath()): + if not CppLintProcessor().RunOnFiles( + input_api.AffectedFiles(include_deletes=False)): results.append(output_api.PresubmitError("C++ lint check failed")) - if not SourceProcessor().Run(input_api.PresubmitLocalPath()): + if not SourceProcessor().RunOnFiles( + input_api.AffectedFiles(include_deletes=False)): results.append(output_api.PresubmitError( "Copyright header, trailing whitespaces and two empty lines " \ "between declarations check failed")) - if not CheckStatusFiles(input_api.PresubmitLocalPath()): + if not StatusFilesProcessor().RunOnFiles( + input_api.AffectedFiles(include_deletes=False)): results.append(output_api.PresubmitError("Status file check failed")) - results.extend(CheckAuthorizedAuthor(input_api, output_api)) + results.extend(input_api.canned_checks.CheckAuthorizedAuthor( + input_api, output_api)) return results diff --git a/deps/v8/build_overrides/build.gni b/deps/v8/build_overrides/build.gni index 6b8a4ff21921a1..8dcaf3a29d78f1 100644 --- a/deps/v8/build_overrides/build.gni +++ b/deps/v8/build_overrides/build.gni @@ -24,3 +24,9 @@ linux_use_bundled_binutils_override = true asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc" tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc" + +# Skip assertions about 4GiB file size limit. +ignore_elf32_limitations = true + +# Use the system install of Xcode for tools like ibtool, libtool, etc. +use_system_xcode = true diff --git a/deps/v8/build_overrides/v8.gni b/deps/v8/build_overrides/v8.gni index df8320d5d1746d..15a50558610fa0 100644 --- a/deps/v8/build_overrides/v8.gni +++ b/deps/v8/build_overrides/v8.gni @@ -2,14 +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/features.gni") -import("//build/config/ui.gni") import("//build/config/v8_target_cpu.gni") -import("//gni/v8.gni") - -if (is_android) { - import("//build/config/android/config.gni") -} if (((v8_current_cpu == "x86" || v8_current_cpu == "x64" || v8_current_cpu == "x87") && (is_linux || is_mac)) || @@ -24,9 +17,9 @@ v8_extra_library_files = [ "//test/cctest/test-extra.js" ] v8_experimental_extra_library_files = [ "//test/cctest/test-experimental-extra.js" ] +v8_enable_inspector_override = true + declare_args() { - # Enable inspector. See include/v8-inspector.h. - v8_enable_inspector = true + # Use static libraries instead of source_sets. + v8_static_library = false } - -v8_enable_inspector_override = v8_enable_inspector diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index 1cc3a38770439f..3906cf60ef9345 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -3,7 +3,6 @@ # found in the LICENSE file. import("//build/config/sanitizers/sanitizers.gni") -import("//build_overrides/v8.gni") import("//third_party/icu/config.gni") import("v8.gni") @@ -97,7 +96,7 @@ template("v8_isolate_run") { } else { icu_use_data_file_flag = "0" } - if (v8_enable_inspector_override) { + if (v8_enable_inspector) { enable_inspector = "1" } else { enable_inspector = "0" @@ -181,7 +180,7 @@ template("v8_isolate_run") { if (is_win) { args += [ "--config-variable", - "msvs_version=2013", + "msvs_version=2015", ] } else { args += [ diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index 3759572b935157..cb2bdf2cf5d9a5 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -4,8 +4,12 @@ import("//build/config/sanitizers/sanitizers.gni") import("//build/config/v8_target_cpu.gni") +import("//build_overrides/v8.gni") declare_args() { + # Includes files needed for correctness fuzzing. + v8_correctness_fuzzer = false + # Indicate if valgrind was fetched as a custom deps to make it available on # swarming. v8_has_valgrind = false @@ -30,6 +34,9 @@ declare_args() { # Enable ECMAScript Internationalization API. Enabling this feature will # add a dependency on the ICU library. v8_enable_i18n_support = true + + # Enable inspector. See include/v8-inspector.h. + v8_enable_inspector = v8_enable_inspector_override } if (v8_use_external_startup_data == "") { @@ -83,11 +90,20 @@ if (is_posix && v8_enable_backtrace) { # All templates should be kept in sync. template("v8_source_set") { - source_set(target_name) { - forward_variables_from(invoker, "*", [ "configs" ]) - configs += invoker.configs - configs -= v8_remove_configs - configs += v8_add_configs + if (defined(v8_static_library) && v8_static_library) { + static_library(target_name) { + forward_variables_from(invoker, "*", [ "configs" ]) + configs += invoker.configs + configs -= v8_remove_configs + configs += v8_add_configs + } + } else { + source_set(target_name) { + forward_variables_from(invoker, "*", [ "configs" ]) + configs += invoker.configs + configs -= v8_remove_configs + configs += v8_add_configs + } } } diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp index a3f2eedc77d3bd..12e1fdadb76936 100644 --- a/deps/v8/gypfiles/all.gyp +++ b/deps/v8/gypfiles/all.gyp @@ -27,10 +27,14 @@ }], ['v8_enable_inspector==1', { 'dependencies': [ - '../test/debugger/debugger.gyp:*', '../test/inspector/inspector.gyp:*', ], }], + ['v8_enable_inspector==1 and test_isolation_mode != "noop"', { + 'dependencies': [ + '../test/debugger/debugger.gyp:*', + ], + }], ['test_isolation_mode != "noop"', { 'dependencies': [ '../test/bot_default.gyp:*', diff --git a/deps/v8/gypfiles/get_landmines.py b/deps/v8/gypfiles/get_landmines.py index e6b6da6c48db4b..6137648e6dc991 100755 --- a/deps/v8/gypfiles/get_landmines.py +++ b/deps/v8/gypfiles/get_landmines.py @@ -31,6 +31,7 @@ def main(): print 'Clober to fix windows build problems.' print 'Clober again to fix windows build problems.' print 'Clobber to possibly resolve failure on win-32 bot.' + print 'Clobber for http://crbug.com/668958.' return 0 diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi index 5105fff0700199..95eb1d99cbff3f 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -989,6 +989,8 @@ # present in VS 2003 and earlier. 'msvs_disabled_warnings': [4351], 'msvs_configuration_attributes': { + 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', + 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 'CharacterSet': '1', }, }], diff --git a/deps/v8/gypfiles/win/msvs_dependencies.isolate b/deps/v8/gypfiles/win/msvs_dependencies.isolate new file mode 100644 index 00000000000000..79ae11a1ae9596 --- /dev/null +++ b/deps/v8/gypfiles/win/msvs_dependencies.isolate @@ -0,0 +1,97 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# TODO(machenbach): Remove this when crbug.com/669910 is resolved. +{ + 'conditions': [ + # Copy the VS runtime DLLs into the isolate so that they + # don't have to be preinstalled on the target machine. + # + # VS2013 runtimes + ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { + 'variables': { + 'files': [ + '<(PRODUCT_DIR)/msvcp120d.dll', + '<(PRODUCT_DIR)/msvcr120d.dll', + ], + }, + }], + ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { + 'variables': { + 'files': [ + '<(PRODUCT_DIR)/msvcp120.dll', + '<(PRODUCT_DIR)/msvcr120.dll', + ], + }, + }], + # VS2015 runtimes + ['OS=="win" and msvs_version==2015 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { + 'variables': { + 'files': [ + '<(PRODUCT_DIR)/msvcp140d.dll', + '<(PRODUCT_DIR)/vccorlib140d.dll', + '<(PRODUCT_DIR)/vcruntime140d.dll', + '<(PRODUCT_DIR)/ucrtbased.dll', + ], + }, + }], + ['OS=="win" and msvs_version==2015 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { + 'variables': { + 'files': [ + '<(PRODUCT_DIR)/msvcp140.dll', + '<(PRODUCT_DIR)/vccorlib140.dll', + '<(PRODUCT_DIR)/vcruntime140.dll', + '<(PRODUCT_DIR)/ucrtbase.dll', + ], + }, + }], + ['OS=="win" and msvs_version==2015 and component=="shared_library"', { + # Windows 10 Universal C Runtime binaries. + 'variables': { + 'files': [ + '<(PRODUCT_DIR)/api-ms-win-core-console-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-datetime-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-debug-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-errorhandling-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-file-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-file-l1-2-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-file-l2-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-handle-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-heap-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-interlocked-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-libraryloader-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-localization-l1-2-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-memory-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-namedpipe-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-processenvironment-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-1.dll', + '<(PRODUCT_DIR)/api-ms-win-core-profile-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-rtlsupport-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-string-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-2-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-sysinfo-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-timezone-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-core-util-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-conio-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-convert-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-environment-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-filesystem-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-heap-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-locale-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-math-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-multibyte-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-private-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-process-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-runtime-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-stdio-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-string-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-time-l1-1-0.dll', + '<(PRODUCT_DIR)/api-ms-win-crt-utility-l1-1-0.dll', + ], + }, + }], + ], +} diff --git a/deps/v8/include/libplatform/libplatform.h b/deps/v8/include/libplatform/libplatform.h index 40f3f668927f4e..cab467fd50704f 100644 --- a/deps/v8/include/libplatform/libplatform.h +++ b/deps/v8/include/libplatform/libplatform.h @@ -34,6 +34,17 @@ V8_PLATFORM_EXPORT v8::Platform* CreateDefaultPlatform( V8_PLATFORM_EXPORT bool PumpMessageLoop(v8::Platform* platform, v8::Isolate* isolate); +/** + * Runs pending idle tasks for at most |idle_time_in_seconds| seconds. + * + * The caller has to make sure that this is called from the right thread. + * This call does not block if no task is pending. The |platform| has to be + * created using |CreateDefaultPlatform|. + */ +V8_PLATFORM_EXPORT void RunIdleTasks(v8::Platform* platform, + v8::Isolate* isolate, + double idle_time_in_seconds); + /** * Attempts to set the tracing controller for the given platform. * diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index 6385a31d85e80f..777b8aaa3e645a 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -16,11 +16,9 @@ namespace v8 { enum DebugEvent { Break = 1, Exception = 2, - NewFunction = 3, - BeforeCompile = 4, - AfterCompile = 5, - CompileError = 6, - AsyncTaskEvent = 7, + AfterCompile = 3, + CompileError = 4, + AsyncTaskEvent = 5, }; class V8_EXPORT Debug { @@ -87,7 +85,6 @@ class V8_EXPORT Debug { virtual ~Message() {} }; - /** * An event details object passed to the debug event listener. */ @@ -145,7 +142,7 @@ class V8_EXPORT Debug { * * \param message the debug message handler message object * - * A MessageHandler2 does not take possession of the message data, + * A MessageHandler does not take possession of the message data, * and must not rely on the data persisting after the handler returns. */ typedef void (*MessageHandler)(const Message& message); @@ -167,33 +164,37 @@ class V8_EXPORT Debug { static void CancelDebugBreak(Isolate* isolate); // Check if a debugger break is scheduled in the given isolate. - static bool CheckDebugBreak(Isolate* isolate); + V8_DEPRECATED("No longer supported", + static bool CheckDebugBreak(Isolate* isolate)); // Message based interface. The message protocol is JSON. - static void SetMessageHandler(Isolate* isolate, MessageHandler handler); - - static void SendCommand(Isolate* isolate, - const uint16_t* command, int length, - ClientData* client_data = NULL); - - /** - * Run a JavaScript function in the debugger. - * \param fun the function to call - * \param data passed as second argument to the function - * With this call the debugger is entered and the function specified is called - * with the execution state as the first argument. This makes it possible to - * get access to information otherwise not available during normal JavaScript - * execution e.g. details on stack frames. Receiver of the function call will - * be the debugger context global object, however this is a subject to change. - * The following example shows a JavaScript function which when passed to - * v8::Debug::Call will return the current line of JavaScript execution. - * - * \code - * function frame_source_line(exec_state) { - * return exec_state.frame(0).sourceLine(); - * } - * \endcode - */ + V8_DEPRECATED("No longer supported", + static void SetMessageHandler(Isolate* isolate, + MessageHandler handler)); + + V8_DEPRECATED("No longer supported", + static void SendCommand(Isolate* isolate, + const uint16_t* command, int length, + ClientData* client_data = NULL)); + + /** + * Run a JavaScript function in the debugger. + * \param fun the function to call + * \param data passed as second argument to the function + * With this call the debugger is entered and the function specified is called + * with the execution state as the first argument. This makes it possible to + * get access to information otherwise not available during normal JavaScript + * execution e.g. details on stack frames. Receiver of the function call will + * be the debugger context global object, however this is a subject to change. + * The following example shows a JavaScript function which when passed to + * v8::Debug::Call will return the current line of JavaScript execution. + * + * \code + * function frame_source_line(exec_state) { + * return exec_state.frame(0).sourceLine(); + * } + * \endcode + */ // TODO(dcarney): data arg should be a MaybeLocal static MaybeLocal Call(Local context, v8::Local fun, @@ -202,8 +203,9 @@ class V8_EXPORT Debug { /** * Returns a mirror object for the given object. */ - static MaybeLocal GetMirror(Local context, - v8::Local obj); + V8_DEPRECATED("No longer supported", + static MaybeLocal GetMirror(Local context, + v8::Local obj)); /** * Makes V8 process all pending debug messages. @@ -236,7 +238,8 @@ class V8_EXPORT Debug { * "Evaluate" debug command behavior currently is not specified in scope * of this method. */ - static void ProcessDebugMessages(Isolate* isolate); + V8_DEPRECATED("No longer supported", + static void ProcessDebugMessages(Isolate* isolate)); /** * Debugger is running in its own context which is entered while debugger @@ -245,13 +248,16 @@ class V8_EXPORT Debug { * to change. The Context exists only when the debugger is active, i.e. at * least one DebugEventListener or MessageHandler is set. */ - static Local GetDebugContext(Isolate* isolate); + V8_DEPRECATED("Use v8-inspector", + static Local GetDebugContext(Isolate* isolate)); /** * While in the debug context, this method returns the top-most non-debug * context, if it exists. */ - static MaybeLocal GetDebuggedContext(Isolate* isolate); + V8_DEPRECATED( + "No longer supported", + static MaybeLocal GetDebuggedContext(Isolate* isolate)); /** * Enable/disable LiveEdit functionality for the given Isolate diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h index 0855ac101b74ef..d0925adba0460c 100644 --- a/deps/v8/include/v8-inspector.h +++ b/deps/v8/include/v8-inspector.h @@ -248,9 +248,9 @@ class V8_EXPORT V8Inspector { class V8_EXPORT Channel { public: virtual ~Channel() {} - virtual void sendProtocolResponse(int callId, - const StringView& message) = 0; - virtual void sendProtocolNotification(const StringView& message) = 0; + virtual void sendResponse(int callId, + std::unique_ptr message) = 0; + virtual void sendNotification(std::unique_ptr message) = 0; virtual void flushProtocolNotifications() = 0; }; virtual std::unique_ptr connect( diff --git a/deps/v8/include/v8-version-string.h b/deps/v8/include/v8-version-string.h new file mode 100644 index 00000000000000..075282de4ca0e2 --- /dev/null +++ b/deps/v8/include/v8-version-string.h @@ -0,0 +1,33 @@ +// 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. + +#ifndef V8_VERSION_STRING_H_ +#define V8_VERSION_STRING_H_ + +#include "v8-version.h" // NOLINT(build/include) + +// This is here rather than v8-version.h to keep that file simple and +// machine-processable. + +#if V8_IS_CANDIDATE_VERSION +#define V8_CANDIDATE_STRING " (candidate)" +#else +#define V8_CANDIDATE_STRING "" +#endif + +#define V8_SX(x) #x +#define V8_S(x) V8_SX(x) + +#if V8_PATCH_LEVEL > 0 +#define V8_VERSION_STRING \ + V8_S(V8_MAJOR_VERSION) \ + "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) "." V8_S( \ + V8_PATCH_LEVEL) V8_CANDIDATE_STRING +#else +#define V8_VERSION_STRING \ + V8_S(V8_MAJOR_VERSION) \ + "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) V8_CANDIDATE_STRING +#endif + +#endif // V8_VERSION_STRING_H_ diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 663964616f63e7..2301f219b36198 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 5 -#define V8_MINOR_VERSION 6 -#define V8_BUILD_NUMBER 326 -#define V8_PATCH_LEVEL 57 +#define V8_MINOR_VERSION 7 +#define V8_BUILD_NUMBER 492 +#define V8_PATCH_LEVEL 69 // 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 5348ba7e48b32b..b513c7f1f3741b 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -666,7 +666,7 @@ struct CopyablePersistentTraits { /** * A PersistentBase which allows copy and assignment. * - * Copy, assignment and destructor bevavior is controlled by the traits + * Copy, assignment and destructor behavior is controlled by the traits * class M. * * Note: Persistent class hierarchy is subject to future changes. @@ -867,8 +867,8 @@ class V8_EXPORT HandleScope { HandleScope(const HandleScope&) = delete; void operator=(const HandleScope&) = delete; - void* operator new(size_t size) = delete; - void operator delete(void*, size_t) = delete; + void* operator new(size_t size); + void operator delete(void*, size_t); protected: V8_INLINE HandleScope() {} @@ -919,8 +919,8 @@ class V8_EXPORT EscapableHandleScope : public HandleScope { EscapableHandleScope(const EscapableHandleScope&) = delete; void operator=(const EscapableHandleScope&) = delete; - void* operator new(size_t size) = delete; - void operator delete(void*, size_t) = delete; + void* operator new(size_t size); + void operator delete(void*, size_t); private: internal::Object** Escape(internal::Object** escape_value); @@ -934,8 +934,8 @@ class V8_EXPORT SealHandleScope { SealHandleScope(const SealHandleScope&) = delete; void operator=(const SealHandleScope&) = delete; - void* operator new(size_t size) = delete; - void operator delete(void*, size_t) = delete; + void* operator new(size_t size); + void operator delete(void*, size_t); private: internal::Isolate* const isolate_; @@ -961,30 +961,21 @@ class V8_EXPORT Data { */ class ScriptOriginOptions { public: - V8_INLINE ScriptOriginOptions(bool is_embedder_debug_script = false, - bool is_shared_cross_origin = false, - bool is_opaque = false) - : flags_((is_embedder_debug_script ? kIsEmbedderDebugScript : 0) | - (is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | - (is_opaque ? kIsOpaque : 0)) {} + V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false, + bool is_opaque = false, bool is_wasm = false) + : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | + (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0)) {} V8_INLINE ScriptOriginOptions(int flags) - : flags_(flags & - (kIsEmbedderDebugScript | kIsSharedCrossOrigin | kIsOpaque)) {} - bool IsEmbedderDebugScript() const { - return (flags_ & kIsEmbedderDebugScript) != 0; - } + : flags_(flags & (kIsSharedCrossOrigin | kIsOpaque | kIsWasm)) {} bool IsSharedCrossOrigin() const { return (flags_ & kIsSharedCrossOrigin) != 0; } bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } + bool IsWasm() const { return (flags_ & kIsWasm) != 0; } int Flags() const { return flags_; } private: - enum { - kIsEmbedderDebugScript = 1, - kIsSharedCrossOrigin = 1 << 1, - kIsOpaque = 1 << 2 - }; + enum { kIsSharedCrossOrigin = 1, kIsOpaque = 1 << 1, kIsWasm = 1 << 2 }; const int flags_; }; @@ -999,9 +990,10 @@ class ScriptOrigin { Local resource_column_offset = Local(), Local resource_is_shared_cross_origin = Local(), Local script_id = Local(), - Local resource_is_embedder_debug_script = Local(), Local source_map_url = Local(), - Local resource_is_opaque = Local()); + Local resource_is_opaque = Local(), + Local is_wasm = Local()); + V8_INLINE Local ResourceName() const; V8_INLINE Local ResourceLineOffset() const; V8_INLINE Local ResourceColumnOffset() const; @@ -1485,6 +1477,11 @@ class V8_EXPORT Message { */ int GetEndPosition() const; + /** + * Returns the error level of the message. + */ + int ErrorLevel() const; + /** * Returns the index within the line of the first character where * the error occurred. @@ -1712,6 +1709,19 @@ class V8_EXPORT ValueSerializer { */ virtual Maybe WriteHostObject(Isolate* isolate, Local object); + /* + * Called when the ValueSerializer is going to serialize a + * SharedArrayBuffer object. The embedder must return an ID for the + * object, using the same ID if this SharedArrayBuffer has already been + * serialized in this buffer. When deserializing, this ID will be passed to + * ValueDeserializer::TransferSharedArrayBuffer as |transfer_id|. + * + * If the object cannot be serialized, an + * exception should be thrown and Nothing() returned. + */ + virtual Maybe GetSharedArrayBufferId( + Isolate* isolate, Local shared_array_buffer); + /* * Allocates memory for the buffer of at least the size provided. The actual * size (which may be greater or equal) is written to |actual_size|. If no @@ -1766,8 +1776,10 @@ class V8_EXPORT ValueSerializer { /* * Similar to TransferArrayBuffer, but for SharedArrayBuffer. */ - void TransferSharedArrayBuffer(uint32_t transfer_id, - Local shared_array_buffer); + V8_DEPRECATE_SOON("Use Delegate::GetSharedArrayBufferId", + void TransferSharedArrayBuffer( + uint32_t transfer_id, + Local shared_array_buffer)); /* * Write raw data in various common formats to the buffer. @@ -1834,9 +1846,10 @@ class V8_EXPORT ValueDeserializer { /* * Similar to TransferArrayBuffer, but for SharedArrayBuffer. - * transfer_id exists in the same namespace as unshared ArrayBuffer objects. + * The id is not necessarily in the same namespace as unshared ArrayBuffer + * objects. */ - void TransferSharedArrayBuffer(uint32_t transfer_id, + void TransferSharedArrayBuffer(uint32_t id, Local shared_array_buffer); /* @@ -1908,9 +1921,16 @@ class V8_EXPORT Value : public Data { */ V8_INLINE bool IsNull() const; - /** - * Returns true if this value is true. + /** + * Returns true if this value is either the null or the undefined value. + * See ECMA-262 + * 4.3.11. and 4.3.12 */ + V8_INLINE bool IsNullOrUndefined() const; + + /** + * Returns true if this value is true. + */ bool IsTrue() const; /** @@ -1920,7 +1940,6 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is a symbol or a string. - * This is an experimental feature. */ bool IsName() const; @@ -1932,7 +1951,6 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is a symbol. - * This is an experimental feature. */ bool IsSymbol() const; @@ -2004,7 +2022,6 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is a Symbol object. - * This is an experimental feature. */ bool IsSymbolObject() const; @@ -2025,19 +2042,16 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is a Generator function. - * This is an experimental feature. */ bool IsGeneratorFunction() const; /** * Returns true if this value is a Generator object (iterator). - * This is an experimental feature. */ bool IsGeneratorObject() const; /** * Returns true if this value is a Promise. - * This is an experimental feature. */ bool IsPromise() const; @@ -2073,73 +2087,61 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is an ArrayBuffer. - * This is an experimental feature. */ bool IsArrayBuffer() const; /** * Returns true if this value is an ArrayBufferView. - * This is an experimental feature. */ bool IsArrayBufferView() const; /** * Returns true if this value is one of TypedArrays. - * This is an experimental feature. */ bool IsTypedArray() const; /** * Returns true if this value is an Uint8Array. - * This is an experimental feature. */ bool IsUint8Array() const; /** * Returns true if this value is an Uint8ClampedArray. - * This is an experimental feature. */ bool IsUint8ClampedArray() const; /** * Returns true if this value is an Int8Array. - * This is an experimental feature. */ bool IsInt8Array() const; /** * Returns true if this value is an Uint16Array. - * This is an experimental feature. */ bool IsUint16Array() const; /** * Returns true if this value is an Int16Array. - * This is an experimental feature. */ bool IsInt16Array() const; /** * Returns true if this value is an Uint32Array. - * This is an experimental feature. */ bool IsUint32Array() const; /** * Returns true if this value is an Int32Array. - * This is an experimental feature. */ bool IsInt32Array() const; /** * Returns true if this value is a Float32Array. - * This is an experimental feature. */ bool IsFloat32Array() const; /** * Returns true if this value is a Float64Array. - * This is an experimental feature. */ bool IsFloat64Array() const; @@ -2151,7 +2153,6 @@ class V8_EXPORT Value : public Data { /** * Returns true if this value is a DataView. - * This is an experimental feature. */ bool IsDataView() const; @@ -2244,11 +2245,12 @@ class V8_EXPORT Value : public Data { template V8_INLINE static Value* Cast(T* value); - Local TypeOf(v8::Isolate*); + Local TypeOf(Isolate*); private: V8_INLINE bool QuickIsUndefined() const; V8_INLINE bool QuickIsNull() const; + V8_INLINE bool QuickIsNullOrUndefined() const; V8_INLINE bool QuickIsString() const; bool FullIsUndefined() const; bool FullIsNull() const; @@ -2291,9 +2293,10 @@ class V8_EXPORT Name : public Primitive { */ int GetIdentityHash(); - V8_INLINE static Name* Cast(v8::Value* obj); + V8_INLINE static Name* Cast(Value* obj); + private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -2391,7 +2394,7 @@ class V8_EXPORT String : public Name { /** * A zero length string. */ - V8_INLINE static v8::Local Empty(Isolate* isolate); + V8_INLINE static Local Empty(Isolate* isolate); /** * Returns true if the string is external @@ -2425,7 +2428,7 @@ class V8_EXPORT String : public Name { void operator=(const ExternalStringResourceBase&) = delete; private: - friend class v8::internal::Heap; + friend class internal::Heap; }; /** @@ -2669,8 +2672,6 @@ class V8_EXPORT String : public Name { /** * A JavaScript symbol (ECMA-262 edition 6) - * - * This is an experimental feature. Use at your own risk. */ class V8_EXPORT Symbol : public Name { public: @@ -2695,14 +2696,15 @@ class V8_EXPORT Symbol : public Name { // Well-known symbols static Local GetIterator(Isolate* isolate); static Local GetUnscopables(Isolate* isolate); + static Local GetToPrimitive(Isolate* isolate); static Local GetToStringTag(Isolate* isolate); static Local GetIsConcatSpreadable(Isolate* isolate); - V8_INLINE static Symbol* Cast(v8::Value* obj); + V8_INLINE static Symbol* Cast(Value* obj); private: Symbol(); - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -3695,7 +3697,7 @@ class V8_EXPORT Function : public Object { /** * Tells whether this function is builtin. */ - bool IsBuiltin() const; + V8_DEPRECATED("this should no longer be used.", bool IsBuiltin() const); /** * Returns scriptId. @@ -3720,10 +3722,15 @@ class V8_EXPORT Function : public Object { /** * An instance of the built-in Promise constructor (ES6 draft). - * This API is experimental. Only works with --harmony flag. */ class V8_EXPORT Promise : public Object { public: + /** + * State of the promise. Each value corresponds to one of the possible values + * of the [[PromiseState]] field. + */ + enum PromiseState { kPending, kFulfilled, kRejected }; + class V8_EXPORT Resolver : public Object { public: /** @@ -3780,6 +3787,17 @@ class V8_EXPORT Promise : public Object { */ bool HasHandler(); + /** + * Returns the content of the [[PromiseResult]] field. The Promise must not + * be pending. + */ + Local Result(); + + /** + * Returns the value of the [[PromiseState]] field. + */ + PromiseState State(); + V8_INLINE static Promise* Cast(Value* obj); private: @@ -3926,7 +3944,6 @@ enum class ArrayBufferCreationMode { kInternalized, kExternalized }; /** * An instance of the built-in ArrayBuffer constructor (ES6 draft 15.13.5). - * This API is experimental and may change significantly. */ class V8_EXPORT ArrayBuffer : public Object { public: @@ -3982,8 +3999,6 @@ class V8_EXPORT ArrayBuffer : public Object { * * The Data pointer of ArrayBuffer::Contents is always allocated with * Allocator::Allocate that is set via Isolate::CreateParams. - * - * This API is experimental and may change significantly. */ class V8_EXPORT Contents { // NOLINT public: @@ -4084,8 +4099,6 @@ class V8_EXPORT ArrayBuffer : public Object { /** * A base class for an instance of one of "views" over ArrayBuffer, * including TypedArrays and DataView (ES6 draft 15.13). - * - * This API is experimental and may change significantly. */ class V8_EXPORT ArrayBufferView : public Object { public: @@ -4133,7 +4146,6 @@ class V8_EXPORT ArrayBufferView : public Object { /** * A base class for an instance of TypedArray series of constructors * (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT TypedArray : public ArrayBufferView { public: @@ -4153,7 +4165,6 @@ class V8_EXPORT TypedArray : public ArrayBufferView { /** * An instance of Uint8Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Uint8Array : public TypedArray { public: @@ -4171,7 +4182,6 @@ class V8_EXPORT Uint8Array : public TypedArray { /** * An instance of Uint8ClampedArray constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Uint8ClampedArray : public TypedArray { public: @@ -4189,7 +4199,6 @@ class V8_EXPORT Uint8ClampedArray : public TypedArray { /** * An instance of Int8Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Int8Array : public TypedArray { public: @@ -4207,7 +4216,6 @@ class V8_EXPORT Int8Array : public TypedArray { /** * An instance of Uint16Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Uint16Array : public TypedArray { public: @@ -4225,7 +4233,6 @@ class V8_EXPORT Uint16Array : public TypedArray { /** * An instance of Int16Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Int16Array : public TypedArray { public: @@ -4243,7 +4250,6 @@ class V8_EXPORT Int16Array : public TypedArray { /** * An instance of Uint32Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Uint32Array : public TypedArray { public: @@ -4261,7 +4267,6 @@ class V8_EXPORT Uint32Array : public TypedArray { /** * An instance of Int32Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Int32Array : public TypedArray { public: @@ -4279,7 +4284,6 @@ class V8_EXPORT Int32Array : public TypedArray { /** * An instance of Float32Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Float32Array : public TypedArray { public: @@ -4297,7 +4301,6 @@ class V8_EXPORT Float32Array : public TypedArray { /** * An instance of Float64Array constructor (ES6 draft 15.13.6). - * This API is experimental and may change significantly. */ class V8_EXPORT Float64Array : public TypedArray { public: @@ -4315,7 +4318,6 @@ class V8_EXPORT Float64Array : public TypedArray { /** * An instance of DataView constructor (ES6 draft 15.13.7). - * This API is experimental and may change significantly. */ class V8_EXPORT DataView : public ArrayBufferView { public: @@ -4446,7 +4448,7 @@ class V8_EXPORT Date : public Object { */ double ValueOf() const; - V8_INLINE static Date* Cast(v8::Value* obj); + V8_INLINE static Date* Cast(Value* obj); /** * Notification that the embedder has changed the time zone, @@ -4463,7 +4465,7 @@ class V8_EXPORT Date : public Object { static void DateTimeConfigurationChangeNotification(Isolate* isolate); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -4476,10 +4478,10 @@ class V8_EXPORT NumberObject : public Object { double ValueOf() const; - V8_INLINE static NumberObject* Cast(v8::Value* obj); + V8_INLINE static NumberObject* Cast(Value* obj); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -4493,10 +4495,10 @@ class V8_EXPORT BooleanObject : public Object { bool ValueOf() const; - V8_INLINE static BooleanObject* Cast(v8::Value* obj); + V8_INLINE static BooleanObject* Cast(Value* obj); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -4509,17 +4511,15 @@ class V8_EXPORT StringObject : public Object { Local ValueOf() const; - V8_INLINE static StringObject* Cast(v8::Value* obj); + V8_INLINE static StringObject* Cast(Value* obj); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; /** * A Symbol object (ECMA-262 edition 6). - * - * This is an experimental feature. Use at your own risk. */ class V8_EXPORT SymbolObject : public Object { public: @@ -4527,10 +4527,10 @@ class V8_EXPORT SymbolObject : public Object { Local ValueOf() const; - V8_INLINE static SymbolObject* Cast(v8::Value* obj); + V8_INLINE static SymbolObject* Cast(Value* obj); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -4580,10 +4580,10 @@ class V8_EXPORT RegExp : public Object { */ Flags GetFlags() const; - V8_INLINE static RegExp* Cast(v8::Value* obj); + V8_INLINE static RegExp* Cast(Value* obj); private: - static void CheckCast(v8::Value* obj); + static void CheckCast(Value* obj); }; @@ -5144,7 +5144,11 @@ class V8_EXPORT FunctionTemplate : public Template { /** Get the InstanceTemplate. */ Local InstanceTemplate(); - /** Causes the function template to inherit from a parent function template.*/ + /** + * Causes the function template to inherit from a parent function template. + * This means the the function's prototype.__proto__ is set to the parent + * function's prototype. + **/ void Inherit(Local parent); /** @@ -5153,6 +5157,14 @@ class V8_EXPORT FunctionTemplate : public Template { */ Local PrototypeTemplate(); + /** + * A PrototypeProviderTemplate is another function template whose prototype + * property is used for this template. This is mutually exclusive with setting + * a prototype template indirectly by calling PrototypeTemplate() or using + * Inherit(). + **/ + void SetPrototypeProviderTemplate(Local prototype_provider); + /** * Set the class name of the FunctionTemplate. This is used for * printing objects created with the function created from the @@ -5611,9 +5623,9 @@ class V8_EXPORT Extension { // NOLINT const char** deps = 0, int source_length = -1); virtual ~Extension() { } - virtual v8::Local GetNativeFunctionTemplate( - v8::Isolate* isolate, v8::Local name) { - return v8::Local(); + virtual Local GetNativeFunctionTemplate( + Isolate* isolate, Local name) { + return Local(); } const char* name() const { return name_; } @@ -5718,7 +5730,7 @@ typedef void (*FatalErrorCallback)(const char* location, const char* message); typedef void (*OOMErrorCallback)(const char* location, bool is_heap_oom); -typedef void (*MessageCallback)(Local message, Local error); +typedef void (*MessageCallback)(Local message, Local data); // --- Tracing --- @@ -5787,6 +5799,27 @@ typedef void (*BeforeCallEnteredCallback)(Isolate*); typedef void (*CallCompletedCallback)(Isolate*); typedef void (*DeprecatedCallCompletedCallback)(); +/** + * PromiseHook with type kInit is called when a new promise is + * created. When a new promise is created as part of the chain in the + * case of Promise.then or in the intermediate promises created by + * Promise.{race, all}/AsyncFunctionAwait, we pass the parent promise + * otherwise we pass undefined. + * + * PromiseHook with type kResolve is called at the beginning of + * resolve or reject function defined by CreateResolvingFunctions. + * + * PromiseHook with type kBefore is called at the beginning of the + * PromiseReactionJob. + * + * PromiseHook with type kAfter is called right at the end of the + * PromiseReactionJob. + */ +enum class PromiseHookType { kInit, kResolve, kBefore, kAfter }; + +typedef void (*PromiseHook)(PromiseHookType type, Local promise, + Local parent); + // --- Promise Reject Callback --- enum PromiseRejectEvent { kPromiseRejectWithNoHandler = 0, @@ -5889,6 +5922,21 @@ typedef void (*FailedAccessCheckCallback)(Local target, */ typedef bool (*AllowCodeGenerationFromStringsCallback)(Local context); +// --- WASM compilation callbacks --- + +/** + * Callback to check if a buffer source may be compiled to WASM, given + * the compilation is attempted as a promise or not. + */ + +typedef bool (*AllowWasmCompileCallback)(Isolate* isolate, Local source, + bool as_promise); + +typedef bool (*AllowWasmInstantiateCallback)(Isolate* isolate, + Local module_or_bytes, + MaybeLocal ffi, + bool as_promise); + // --- Garbage Collection Callbacks --- /** @@ -6249,17 +6297,33 @@ class V8_EXPORT EmbedderHeapTracer { }; /** - * Callback to the embedder used in SnapshotCreator to handle internal fields. + * Callback and supporting data used in SnapshotCreator to implement embedder + * logic to serialize internal fields. */ -typedef StartupData (*SerializeInternalFieldsCallback)(Local holder, - int index); +struct SerializeInternalFieldsCallback { + typedef StartupData (*CallbackFunction)(Local holder, int index, + void* data); + SerializeInternalFieldsCallback(CallbackFunction function = nullptr, + void* data_arg = nullptr) + : callback(function), data(data_arg) {} + CallbackFunction callback; + void* data; +}; /** - * Callback to the embedder used to deserialize internal fields. + * Callback and supporting data used to implement embedder logic to deserialize + * internal fields. */ -typedef void (*DeserializeInternalFieldsCallback)(Local holder, - int index, - StartupData payload); +struct DeserializeInternalFieldsCallback { + typedef void (*CallbackFunction)(Local holder, int index, + StartupData payload, void* data); + DeserializeInternalFieldsCallback(CallbackFunction function = nullptr, + void* data_arg = nullptr) + : callback(function), data(data_arg) {} + void (*callback)(Local holder, int index, StartupData payload, + void* data); + void* data; +}; /** * Isolate represents an isolated instance of the V8 engine. V8 isolates have @@ -6283,8 +6347,7 @@ class V8_EXPORT Isolate { create_histogram_callback(nullptr), add_histogram_sample_callback(nullptr), array_buffer_allocator(nullptr), - external_references(nullptr), - deserialize_internal_fields_callback(nullptr) {} + external_references(nullptr) {} /** * The optional entry_hook allows the host application to provide the @@ -6340,12 +6403,6 @@ class V8_EXPORT Isolate { * entire lifetime of the isolate. */ intptr_t* external_references; - - /** - * Specifies an optional callback to deserialize internal fields. It - * should match the SerializeInternalFieldCallback used to serialize. - */ - DeserializeInternalFieldsCallback deserialize_internal_fields_callback; }; @@ -6481,12 +6538,25 @@ class V8_EXPORT Isolate { kLegacyDateParser = 33, kDefineGetterOrSetterWouldThrow = 34, kFunctionConstructorReturnedUndefined = 35, + kAssigmentExpressionLHSIsCallInSloppy = 36, + kAssigmentExpressionLHSIsCallInStrict = 37, + kPromiseConstructorReturnedUndefined = 38, // If you add new values here, you'll also need to update Chromium's: // UseCounter.h, V8PerIsolateData.cpp, histograms.xml kUseCounterFeatureCount // This enum value must be last. }; + enum MessageErrorLevel { + kMessageLog = (1 << 0), + kMessageDebug = (1 << 1), + kMessageInfo = (1 << 2), + kMessageError = (1 << 3), + kMessageWarning = (1 << 4), + kMessageAll = kMessageLog | kMessageDebug | kMessageInfo | kMessageError | + kMessageWarning, + }; + typedef void (*UseCounterCallback)(Isolate* isolate, UseCounterFeature feature); @@ -6725,8 +6795,10 @@ class V8_EXPORT Isolate { * garbage collection types it is sufficient to provide object groups * for partially dependent handles only. */ - template void SetObjectGroupId(const Persistent& object, - UniqueId id); + template + V8_DEPRECATE_SOON("Use EmbedderHeapTracer", + void SetObjectGroupId(const Persistent& object, + UniqueId id)); /** * Allows the host application to declare implicit references from an object @@ -6735,8 +6807,10 @@ class V8_EXPORT Isolate { * are removed. It is intended to be used in the before-garbage-collection * callback function. */ - template void SetReferenceFromGroup(UniqueId id, - const Persistent& child); + template + V8_DEPRECATE_SOON("Use EmbedderHeapTracer", + void SetReferenceFromGroup(UniqueId id, + const Persistent& child)); /** * Allows the host application to declare implicit references from an object @@ -6744,8 +6818,10 @@ class V8_EXPORT Isolate { * too. After each garbage collection, all implicit references are removed. It * is intended to be used in the before-garbage-collection callback function. */ - template - void SetReference(const Persistent& parent, const Persistent& child); + template + V8_DEPRECATE_SOON("Use EmbedderHeapTracer", + void SetReference(const Persistent& parent, + const Persistent& child)); typedef void (*GCCallback)(Isolate* isolate, GCType type, GCCallbackFlags flags); @@ -6887,6 +6963,12 @@ class V8_EXPORT Isolate { void RemoveCallCompletedCallback( DeprecatedCallCompletedCallback callback)); + /** + * Experimental: Set the PromiseHook callback for various promise + * lifecycle events. + */ + void SetPromiseHook(PromiseHook hook); + /** * Set callback to notify about promise reject with no handler, or * revocation of such a previous notification once the handler is added. @@ -7020,6 +7102,23 @@ class V8_EXPORT Isolate { */ void SetRAILMode(RAILMode rail_mode); + /** + * Optional notification to tell V8 the current isolate is used for debugging + * and requires higher heap limit. + */ + void IncreaseHeapLimitForDebugging(); + + /** + * Restores the original heap limit after IncreaseHeapLimitForDebugging(). + */ + void RestoreOriginalHeapLimit(); + + /** + * Returns true if the heap limit was increased for debugging and the + * original heap limit was not restored yet. + */ + bool IsHeapLimitIncreasedForDebugging(); + /** * Allows the host application to provide the address of a function that is * notified each time code is added, moved or removed. @@ -7084,6 +7183,16 @@ class V8_EXPORT Isolate { void SetAllowCodeGenerationFromStringsCallback( AllowCodeGenerationFromStringsCallback callback); + /** + * Set the callback to invoke to check if wasm compilation from + * the specified object is allowed. By default, wasm compilation + * is allowed. + * + * Similar for instantiate. + */ + void SetAllowWasmCompileCallback(AllowWasmCompileCallback callback); + void SetAllowWasmInstantiateCallback(AllowWasmInstantiateCallback callback); + /** * Check if V8 is dead and therefore unusable. This is the case after * fatal errors such as out-of-memory situations. @@ -7091,7 +7200,7 @@ class V8_EXPORT Isolate { bool IsDead(); /** - * Adds a message listener. + * Adds a message listener (errors only). * * The same message listener can be added more than once and in that * case it will be called more than once for each message. @@ -7102,6 +7211,21 @@ class V8_EXPORT Isolate { bool AddMessageListener(MessageCallback that, Local data = Local()); + /** + * Adds a message listener. + * + * The same message listener can be added more than once and in that + * case it will be called more than once for each message. + * + * If data is specified, it will be passed to the callback when it is called. + * Otherwise, the exception object will be passed to the callback instead. + * + * A listener can listen for particular error levels by providing a mask. + */ + bool AddMessageListenerWithErrorLevel(MessageCallback that, + int message_levels, + Local data = Local()); + /** * Remove all message listeners from the specified callback function. */ @@ -7598,10 +7722,23 @@ class V8_EXPORT SnapshotCreator { Isolate* GetIsolate(); /** - * Add a context to be included in the snapshot blob. + * 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. + */ + void SetDefaultContext(Local context); + + /** + * Add additional context to be included in the snapshot blob. + * The snapshot will include the global proxy. + * + * \param callback optional callback to serialize internal fields. + * * \returns the index of the context in the snapshot blob. */ - size_t AddContext(Local context); + size_t AddContext(Local context, + SerializeInternalFieldsCallback callback = + SerializeInternalFieldsCallback()); /** * Add a template to be included in the snapshot blob. @@ -7614,12 +7751,10 @@ class V8_EXPORT SnapshotCreator { * This must not be called from within a handle scope. * \param function_code_handling whether to include compiled function code * in the snapshot. - * \param callback to serialize embedder-set internal fields. * \returns { nullptr, 0 } on failure, and a startup snapshot on success. The * caller acquires ownership of the data array in the return value. */ - StartupData CreateBlob(FunctionCodeHandling function_code_handling, - SerializeInternalFieldsCallback callback = nullptr); + StartupData CreateBlob(FunctionCodeHandling function_code_handling); // Disallow copying and assigning. SnapshotCreator(const SnapshotCreator&) = delete; @@ -7825,21 +7960,21 @@ class V8_EXPORT TryCatch { * UseAfterReturn is enabled, then the address returned will be the address * of the C++ try catch handler itself. */ - static void* JSStackComparableAddress(v8::TryCatch* handler) { + static void* JSStackComparableAddress(TryCatch* handler) { if (handler == NULL) return NULL; return handler->js_stack_comparable_address_; } TryCatch(const TryCatch&) = delete; void operator=(const TryCatch&) = delete; - void* operator new(size_t size) = delete; - void operator delete(void*, size_t) = delete; + void* operator new(size_t size); + void operator delete(void*, size_t); private: void ResetInternal(); - v8::internal::Isolate* isolate_; - v8::TryCatch* next_; + internal::Isolate* isolate_; + TryCatch* next_; void* exception_; void* message_obj_; void* js_stack_comparable_address_; @@ -7849,7 +7984,7 @@ class V8_EXPORT TryCatch { bool rethrow_ : 1; bool has_terminated_ : 1; - friend class v8::internal::Isolate; + friend class internal::Isolate; }; @@ -7922,10 +8057,30 @@ class V8_EXPORT Context { MaybeLocal global_template = MaybeLocal(), MaybeLocal global_object = MaybeLocal()); + /** + * Create a new context from a (non-default) context snapshot. There + * is no way to provide a global object template since we do not create + * a new global object from template, but we can reuse a global object. + * + * \param isolate See v8::Context::New. + * + * \param context_snapshot_index The index of the context snapshot to + * deserialize from. Use v8::Context::New for the default snapshot. + * + * \param internal_fields_deserializer Optional callback to deserialize + * internal fields. It should match the SerializeInternalFieldCallback used + * to serialize. + * + * \param extensions See v8::Context::New. + * + * \param global_object See v8::Context::New. + */ + static MaybeLocal FromSnapshot( Isolate* isolate, size_t context_snapshot_index, + DeserializeInternalFieldsCallback internal_fields_deserializer = + DeserializeInternalFieldsCallback(), ExtensionConfiguration* extensions = nullptr, - MaybeLocal global_template = MaybeLocal(), MaybeLocal global_object = MaybeLocal()); /** @@ -7976,7 +8131,7 @@ class V8_EXPORT Context { void Exit(); /** Returns an isolate associated with a current context. */ - v8::Isolate* GetIsolate(); + Isolate* GetIsolate(); /** * The field at kDebugIdIndex is reserved for V8 debugger implementation. @@ -8336,8 +8491,8 @@ class Internals { static const int kNodeIsIndependentShift = 3; static const int kNodeIsActiveShift = 4; - static const int kJSObjectType = 0xbc; static const int kJSApiObjectType = 0xbb; + static const int kJSObjectType = 0xbc; static const int kFirstNonstringType = 0x80; static const int kOddballType = 0x83; static const int kForeignType = 0x87; @@ -8856,17 +9011,16 @@ ScriptOrigin::ScriptOrigin(Local resource_name, Local resource_column_offset, Local resource_is_shared_cross_origin, Local script_id, - Local resource_is_embedder_debug_script, Local source_map_url, - Local resource_is_opaque) + Local resource_is_opaque, + Local is_wasm) : resource_name_(resource_name), resource_line_offset_(resource_line_offset), resource_column_offset_(resource_column_offset), - options_(!resource_is_embedder_debug_script.IsEmpty() && - resource_is_embedder_debug_script->IsTrue(), - !resource_is_shared_cross_origin.IsEmpty() && + options_(!resource_is_shared_cross_origin.IsEmpty() && resource_is_shared_cross_origin->IsTrue(), - !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue()), + !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue(), + !is_wasm.IsEmpty() && is_wasm->IsTrue()), script_id_(script_id), source_map_url_(source_map_url) {} @@ -8920,9 +9074,8 @@ Local Boolean::New(Isolate* isolate, bool value) { return value ? True(isolate) : False(isolate); } - -void Template::Set(Isolate* isolate, const char* name, v8::Local value) { - Set(v8::String::NewFromUtf8(isolate, name, NewStringType::kNormal) +void Template::Set(Isolate* isolate, const char* name, Local value) { + Set(String::NewFromUtf8(isolate, name, NewStringType::kNormal) .ToLocalChecked(), value); } @@ -9056,6 +9209,23 @@ bool Value::QuickIsNull() const { return (I::GetOddballKind(obj) == I::kNullOddballKind); } +bool Value::IsNullOrUndefined() const { +#ifdef V8_ENABLE_CHECKS + return FullIsNull() || FullIsUndefined(); +#else + return QuickIsNullOrUndefined(); +#endif +} + +bool Value::QuickIsNullOrUndefined() const { + typedef internal::Object O; + typedef internal::Internals I; + O* obj = *reinterpret_cast(this); + if (!I::HasHeapObjectTag(obj)) return false; + if (I::GetInstanceType(obj) != I::kOddballType) return false; + int kind = I::GetOddballKind(obj); + return kind == I::kNullOddballKind || kind == I::kUndefinedOddballKind; +} bool Value::IsString() const { #ifdef V8_ENABLE_CHECKS @@ -9531,7 +9701,7 @@ template void Isolate::SetObjectGroupId(const Persistent& object, UniqueId id) { TYPE_CHECK(Value, T); - SetObjectGroupId(reinterpret_cast(object.val_), id); + SetObjectGroupId(reinterpret_cast(object.val_), id); } @@ -9539,8 +9709,7 @@ template void Isolate::SetReferenceFromGroup(UniqueId id, const Persistent& object) { TYPE_CHECK(Value, T); - SetReferenceFromGroup(id, - reinterpret_cast(object.val_)); + SetReferenceFromGroup(id, reinterpret_cast(object.val_)); } @@ -9549,8 +9718,8 @@ void Isolate::SetReference(const Persistent& parent, const Persistent& child) { TYPE_CHECK(Object, T); TYPE_CHECK(Value, S); - SetReference(reinterpret_cast(parent.val_), - reinterpret_cast(child.val_)); + SetReference(reinterpret_cast(parent.val_), + reinterpret_cast(child.val_)); } @@ -9627,14 +9796,14 @@ void V8::SetFatalErrorHandler(FatalErrorCallback callback) { void V8::RemoveGCPrologueCallback(GCCallback callback) { Isolate* isolate = Isolate::GetCurrent(); isolate->RemoveGCPrologueCallback( - reinterpret_cast(callback)); + reinterpret_cast(callback)); } void V8::RemoveGCEpilogueCallback(GCCallback callback) { Isolate* isolate = Isolate::GetCurrent(); isolate->RemoveGCEpilogueCallback( - reinterpret_cast(callback)); + reinterpret_cast(callback)); } void V8::TerminateExecution(Isolate* isolate) { isolate->TerminateExecution(); } diff --git a/deps/v8/infra/config/cq.cfg b/deps/v8/infra/config/cq.cfg index e93895f3826335..6e6c725e6d53a4 100644 --- a/deps/v8/infra/config/cq.cfg +++ b/deps/v8/infra/config/cq.cfg @@ -4,7 +4,6 @@ version: 1 cq_name: "v8" cq_status_url: "https://chromium-cq-status.appspot.com" -hide_ref_in_committed_msg: true commit_burst_delay: 60 max_commit_burst: 1 target_ref: "refs/pending/heads/master" diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index d6a2a2dc4abe50..2ac80d00f579a6 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -66,6 +66,7 @@ 'V8 Linux64 TSAN': 'gn_release_x64_tsan', 'V8 Linux - arm64 - sim - MSAN': 'gn_release_simulate_arm64_msan', # Clusterfuzz. + 'V8 Linux64 - release builder': 'gn_release_x64_correctness_fuzzer', 'V8 Linux64 ASAN no inline - release builder': 'gn_release_x64_asan_symbolized_edge_verify_heap', 'V8 Linux64 ASAN - debug builder': 'gn_debug_x64_asan_edge', @@ -116,8 +117,7 @@ 'V8 Linux - s390 - sim': 'gyp_release_simulate_s390', 'V8 Linux - s390x - sim': 'gyp_release_simulate_s390x', # X87. - 'V8 Linux - x87 - nosnap - debug builder': - 'gyp_debug_simulate_x87_no_snap', + 'V8 Linux - x87 - nosnap - debug builder': 'gyp_debug_simulate_x87', }, 'client.v8.branches': { 'V8 Linux - beta branch': 'gn_release_x86', @@ -286,6 +286,8 @@ 'v8_verify_heap'], 'gn_release_x64_clang': [ 'gn', 'release_bot', 'x64', 'clang', 'swarming'], + 'gn_release_x64_correctness_fuzzer' : [ + 'gn', 'release_bot', 'x64', 'v8_correctness_fuzzer'], 'gn_release_x64_internal': [ 'gn', 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'], 'gn_release_x64_minimal_symbols': [ @@ -359,9 +361,8 @@ 'gn', 'release_trybot', 'x86', 'swarming'], # Gyp debug configs for simulators. - 'gyp_debug_simulate_x87_no_snap': [ - 'gyp', 'debug_bot_static', 'simulate_x87', 'swarming', - 'v8_snapshot_none'], + 'gyp_debug_simulate_x87': [ + 'gyp', 'debug_bot_static', 'simulate_x87', 'swarming'], # Gyp debug configs for x86. 'gyp_debug_x86': [ @@ -626,6 +627,10 @@ 'gyp_defines': 'v8_enable_i18n_support=0 icu_use_data_file_flag=0', }, + 'v8_correctness_fuzzer': { + 'gn_args': 'v8_correctness_fuzzer=true', + }, + 'v8_disable_inspector': { 'gn_args': 'v8_enable_inspector=false', 'gyp_defines': 'v8_enable_inspector=0 ', diff --git a/deps/v8/src/DEPS b/deps/v8/src/DEPS index 9114669a6d5e77..e9026b130d6bf3 100644 --- a/deps/v8/src/DEPS +++ b/deps/v8/src/DEPS @@ -10,7 +10,9 @@ include_rules = [ "+src/heap/heap-inl.h", "-src/inspector", "-src/interpreter", + "+src/interpreter/bytecode-array-accessor.h", "+src/interpreter/bytecode-array-iterator.h", + "+src/interpreter/bytecode-array-random-iterator.h", "+src/interpreter/bytecode-decoder.h", "+src/interpreter/bytecode-flags.h", "+src/interpreter/bytecode-register.h", diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 9ec24b84c7c586..1f2ce97240f5d1 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -167,16 +167,38 @@ void Accessors::ArrayLengthSetter( i::Isolate* isolate = reinterpret_cast(info.GetIsolate()); HandleScope scope(isolate); + DCHECK(Utils::OpenHandle(*name)->SameValue(isolate->heap()->length_string())); + Handle object = Utils::OpenHandle(*info.Holder()); Handle array = Handle::cast(object); Handle length_obj = Utils::OpenHandle(*val); + bool was_readonly = JSArray::HasReadOnlyLength(array); + uint32_t length = 0; if (!JSArray::AnythingToArrayLength(isolate, length_obj, &length)) { isolate->OptionalRescheduleException(false); return; } + if (!was_readonly && V8_UNLIKELY(JSArray::HasReadOnlyLength(array)) && + length != array->length()->Number()) { + // AnythingToArrayLength() may have called setter re-entrantly and modified + // its property descriptor. Don't perform this check if "length" was + // previously readonly, as this may have been called during + // DefineOwnPropertyIgnoreAttributes(). + if (info.ShouldThrowOnError()) { + Factory* factory = isolate->factory(); + isolate->Throw(*factory->NewTypeError( + MessageTemplate::kStrictReadOnlyProperty, Utils::OpenHandle(*name), + i::Object::TypeOf(isolate, object), object)); + isolate->OptionalRescheduleException(false); + } else { + info.GetReturnValue().Set(false); + } + return; + } + JSArray::SetLength(array, length); uint32_t actual_new_len = 0; @@ -517,34 +539,6 @@ Handle Accessors::ScriptSourceMappingUrlInfo( } -// -// Accessors::ScriptIsEmbedderDebugScript -// - - -void Accessors::ScriptIsEmbedderDebugScriptGetter( - v8::Local name, const v8::PropertyCallbackInfo& info) { - i::Isolate* isolate = reinterpret_cast(info.GetIsolate()); - DisallowHeapAllocation no_allocation; - HandleScope scope(isolate); - Object* object = *Utils::OpenHandle(*info.Holder()); - bool is_embedder_debug_script = Script::cast(JSValue::cast(object)->value()) - ->origin_options() - .IsEmbedderDebugScript(); - Object* res = *isolate->factory()->ToBoolean(is_embedder_debug_script); - info.GetReturnValue().Set(Utils::ToLocal(Handle(res, isolate))); -} - - -Handle Accessors::ScriptIsEmbedderDebugScriptInfo( - Isolate* isolate, PropertyAttributes attributes) { - Handle name(isolate->factory()->InternalizeOneByteString( - STATIC_CHAR_VECTOR("is_debugger_script"))); - return MakeAccessor(isolate, name, &ScriptIsEmbedderDebugScriptGetter, - nullptr, attributes); -} - - // // Accessors::ScriptGetContextData // @@ -829,8 +823,8 @@ static Handle ArgumentsForInlinedFunction( Handle array = factory->NewFixedArray(argument_count); bool should_deoptimize = false; for (int i = 0; i < argument_count; ++i) { - // If we materialize any object, we should deopt because we might alias - // an object that was eliminated by escape analysis. + // If we materialize any object, we should deoptimize the frame because we + // might alias an object that was eliminated by escape analysis. should_deoptimize = should_deoptimize || iter->IsMaterializedObject(); Handle value = iter->GetValue(); array->set(i, *value); @@ -839,7 +833,7 @@ static Handle ArgumentsForInlinedFunction( arguments->set_elements(*array); if (should_deoptimize) { - translated_values.StoreMaterializedValuesAndDeopt(); + translated_values.StoreMaterializedValuesAndDeopt(frame); } // Return the freshly allocated arguments object. @@ -850,10 +844,10 @@ static Handle ArgumentsForInlinedFunction( static int FindFunctionInFrame(JavaScriptFrame* frame, Handle function) { DisallowHeapAllocation no_allocation; - List functions(2); - frame->GetFunctions(&functions); - for (int i = functions.length() - 1; i >= 0; i--) { - if (functions[i] == *function) return i; + List frames(2); + frame->Summarize(&frames); + for (int i = frames.length() - 1; i >= 0; i--) { + if (*frames[i].AsJavaScript().function() == *function) return i; } return -1; } @@ -957,19 +951,16 @@ static inline bool AllowAccessToFunction(Context* current_context, class FrameFunctionIterator { public: FrameFunctionIterator(Isolate* isolate, const DisallowHeapAllocation& promise) - : isolate_(isolate), - frame_iterator_(isolate), - functions_(2), - index_(0) { - GetFunctions(); + : isolate_(isolate), frame_iterator_(isolate), frames_(2), index_(0) { + GetFrames(); } JSFunction* next() { while (true) { - if (functions_.length() == 0) return NULL; - JSFunction* next_function = functions_[index_]; + if (frames_.length() == 0) return NULL; + JSFunction* next_function = *frames_[index_].AsJavaScript().function(); index_--; if (index_ < 0) { - GetFunctions(); + GetFrames(); } // Skip functions from other origins. if (!AllowAccessToFunction(isolate_->context(), next_function)) continue; @@ -990,18 +981,18 @@ class FrameFunctionIterator { } private: - void GetFunctions() { - functions_.Rewind(0); + void GetFrames() { + frames_.Rewind(0); if (frame_iterator_.done()) return; JavaScriptFrame* frame = frame_iterator_.frame(); - frame->GetFunctions(&functions_); - DCHECK(functions_.length() > 0); + frame->Summarize(&frames_); + DCHECK(frames_.length() > 0); frame_iterator_.Advance(); - index_ = functions_.length() - 1; + index_ = frames_.length() - 1; } Isolate* isolate_; JavaScriptFrameIterator frame_iterator_; - List functions_; + List frames_; int index_; }; @@ -1025,10 +1016,11 @@ MaybeHandle FindCaller(Isolate* isolate, if (caller == NULL) return MaybeHandle(); } while (caller->shared()->is_toplevel()); - // If caller is a built-in function and caller's caller is also built-in, + // If caller is not user code and caller's caller is also not user code, // use that instead. JSFunction* potential_caller = caller; - while (potential_caller != NULL && potential_caller->shared()->IsBuiltin()) { + while (potential_caller != NULL && + !potential_caller->shared()->IsUserJavaScript()) { caller = potential_caller; potential_caller = it.next(); } @@ -1210,7 +1202,8 @@ void Accessors::ErrorStackGetter( // If stack is still an accessor (this could have changed in the meantime // since FormatStackTrace can execute arbitrary JS), replace it with a data // property. - Handle receiver = Utils::OpenHandle(*info.This()); + Handle receiver = + Utils::OpenHandle(*v8::Local(info.This())); Handle name = Utils::OpenHandle(*key); if (IsAccessor(receiver, name, holder)) { result = ReplaceAccessorWithDataProperty(isolate, receiver, holder, name, @@ -1236,8 +1229,8 @@ void Accessors::ErrorStackSetter( const v8::PropertyCallbackInfo& info) { i::Isolate* isolate = reinterpret_cast(info.GetIsolate()); HandleScope scope(isolate); - Handle obj = - Handle::cast(Utils::OpenHandle(*info.This())); + Handle obj = Handle::cast( + Utils::OpenHandle(*v8::Local(info.This()))); // Clear internal properties to avoid memory leaks. Handle stack_trace_symbol = isolate->factory()->stack_trace_symbol(); diff --git a/deps/v8/src/accessors.h b/deps/v8/src/accessors.h index f53d30986cf73a..218fb3572ff75e 100644 --- a/deps/v8/src/accessors.h +++ b/deps/v8/src/accessors.h @@ -43,7 +43,6 @@ class AccessorInfo; V(ScriptType) \ V(ScriptSourceUrl) \ V(ScriptSourceMappingUrl) \ - V(ScriptIsEmbedderDebugScript) \ V(StringLength) #define ACCESSOR_SETTER_LIST(V) \ diff --git a/deps/v8/src/allocation.cc b/deps/v8/src/allocation.cc index 195a5443c8ad51..fde01f6447b41f 100644 --- a/deps/v8/src/allocation.cc +++ b/deps/v8/src/allocation.cc @@ -32,23 +32,6 @@ void Malloced::Delete(void* p) { } -#ifdef DEBUG - -static void* invalid = static_cast(NULL); - -void* Embedded::operator new(size_t size) { - UNREACHABLE(); - return invalid; -} - - -void Embedded::operator delete(void* p) { - UNREACHABLE(); -} - -#endif - - char* StrDup(const char* str) { int length = StrLength(str); char* result = NewArray(length + 1); diff --git a/deps/v8/src/allocation.h b/deps/v8/src/allocation.h index e87a3f1b1c18ce..36019d9ab304df 100644 --- a/deps/v8/src/allocation.h +++ b/deps/v8/src/allocation.h @@ -26,24 +26,9 @@ class V8_EXPORT_PRIVATE Malloced { static void Delete(void* p); }; - -// A macro is used for defining the base class used for embedded instances. -// The reason is some compilers allocate a minimum of one word for the -// superclass. The macro prevents the use of new & delete in debug mode. -// In release mode we are not willing to pay this overhead. - -#ifdef DEBUG -// Superclass for classes with instances allocated inside stack -// activations or inside other objects. -class Embedded { - public: - void* operator new(size_t size); - void operator delete(void* p); -}; -#define BASE_EMBEDDED : public NON_EXPORTED_BASE(Embedded) -#else +// DEPRECATED +// TODO(leszeks): Delete this during a quiet period #define BASE_EMBEDDED -#endif // Superclass for classes only using static method functions. diff --git a/deps/v8/src/api-arguments-inl.h b/deps/v8/src/api-arguments-inl.h index bf72fc4e6f44f5..91ac2533960346 100644 --- a/deps/v8/src/api-arguments-inl.h +++ b/deps/v8/src/api-arguments-inl.h @@ -10,6 +10,14 @@ namespace v8 { namespace internal { +#define SIDE_EFFECT_CHECK(ISOLATE, F, RETURN_TYPE) \ + do { \ + if (ISOLATE->needs_side_effect_check() && \ + !PerformSideEffectCheck(ISOLATE, FUNCTION_ADDR(F))) { \ + return Handle(); \ + } \ + } while (false) + #define FOR_EACH_CALLBACK_TABLE_MAPPING_1_NAME(F) \ F(AccessorNameGetterCallback, "get", v8::Value, Object) \ F(GenericNamedPropertyQueryCallback, "has", v8::Integer, Object) \ @@ -19,6 +27,7 @@ namespace internal { Handle PropertyCallbackArguments::Call(Function f, \ Handle name) { \ Isolate* isolate = this->isolate(); \ + SIDE_EFFECT_CHECK(isolate, f, InternalReturn); \ RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::Function); \ VMState state(isolate); \ ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \ @@ -43,6 +52,7 @@ FOR_EACH_CALLBACK_TABLE_MAPPING_1_NAME(WRITE_CALL_1_NAME) Handle PropertyCallbackArguments::Call(Function f, \ uint32_t index) { \ Isolate* isolate = this->isolate(); \ + SIDE_EFFECT_CHECK(isolate, f, InternalReturn); \ RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::Function); \ VMState state(isolate); \ ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \ @@ -62,6 +72,7 @@ Handle PropertyCallbackArguments::Call( GenericNamedPropertySetterCallback f, Handle name, Handle value) { Isolate* isolate = this->isolate(); + SIDE_EFFECT_CHECK(isolate, f, Object); RuntimeCallTimerScope timer( isolate, &RuntimeCallStats::GenericNamedPropertySetterCallback); VMState state(isolate); @@ -77,6 +88,7 @@ Handle PropertyCallbackArguments::Call( GenericNamedPropertyDefinerCallback f, Handle name, const v8::PropertyDescriptor& desc) { Isolate* isolate = this->isolate(); + SIDE_EFFECT_CHECK(isolate, f, Object); RuntimeCallTimerScope timer( isolate, &RuntimeCallStats::GenericNamedPropertyDefinerCallback); VMState state(isolate); @@ -92,6 +104,7 @@ Handle PropertyCallbackArguments::Call(IndexedPropertySetterCallback f, uint32_t index, Handle value) { Isolate* isolate = this->isolate(); + SIDE_EFFECT_CHECK(isolate, f, Object); RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::IndexedPropertySetterCallback); VMState state(isolate); @@ -107,6 +120,7 @@ Handle PropertyCallbackArguments::Call( IndexedPropertyDefinerCallback f, uint32_t index, const v8::PropertyDescriptor& desc) { Isolate* isolate = this->isolate(); + SIDE_EFFECT_CHECK(isolate, f, Object); RuntimeCallTimerScope timer( isolate, &RuntimeCallStats::IndexedPropertyDefinerCallback); VMState state(isolate); @@ -121,6 +135,10 @@ Handle PropertyCallbackArguments::Call( void PropertyCallbackArguments::Call(AccessorNameSetterCallback f, Handle name, Handle value) { Isolate* isolate = this->isolate(); + if (isolate->needs_side_effect_check() && + !PerformSideEffectCheck(isolate, FUNCTION_ADDR(f))) { + return; + } RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::AccessorNameSetterCallback); VMState state(isolate); @@ -131,5 +149,7 @@ void PropertyCallbackArguments::Call(AccessorNameSetterCallback f, f(v8::Utils::ToLocal(name), v8::Utils::ToLocal(value), info); } +#undef SIDE_EFFECT_CHECK + } // namespace internal } // namespace v8 diff --git a/deps/v8/src/api-arguments.cc b/deps/v8/src/api-arguments.cc index f8d6c8fcc3ddda..c7c54e5de1c37f 100644 --- a/deps/v8/src/api-arguments.cc +++ b/deps/v8/src/api-arguments.cc @@ -4,6 +4,8 @@ #include "src/api-arguments.h" +#include "src/debug/debug.h" +#include "src/objects-inl.h" #include "src/tracing/trace-event.h" #include "src/vm-state-inl.h" @@ -12,6 +14,10 @@ namespace internal { Handle FunctionCallbackArguments::Call(FunctionCallback f) { Isolate* isolate = this->isolate(); + if (isolate->needs_side_effect_check() && + !isolate->debug()->PerformSideEffectCheckForCallback(FUNCTION_ADDR(f))) { + return Handle(); + } RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::FunctionCallback); VMState state(isolate); ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); @@ -23,6 +29,10 @@ Handle FunctionCallbackArguments::Call(FunctionCallback f) { Handle PropertyCallbackArguments::Call( IndexedPropertyEnumeratorCallback f) { Isolate* isolate = this->isolate(); + if (isolate->needs_side_effect_check() && + !isolate->debug()->PerformSideEffectCheckForCallback(FUNCTION_ADDR(f))) { + return Handle(); + } RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::PropertyCallback); VMState state(isolate); ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); @@ -31,5 +41,10 @@ Handle PropertyCallbackArguments::Call( return GetReturnValue(isolate); } +bool PropertyCallbackArguments::PerformSideEffectCheck(Isolate* isolate, + Address function) { + return isolate->debug()->PerformSideEffectCheckForCallback(function); +} + } // namespace internal } // namespace v8 diff --git a/deps/v8/src/api-arguments.h b/deps/v8/src/api-arguments.h index d6d1b951aff278..6c9ad7ad6b93f2 100644 --- a/deps/v8/src/api-arguments.h +++ b/deps/v8/src/api-arguments.h @@ -136,6 +136,8 @@ class PropertyCallbackArguments inline JSObject* holder() { return JSObject::cast(this->begin()[T::kHolderIndex]); } + + bool PerformSideEffectCheck(Isolate* isolate, Address function); }; class FunctionCallbackArguments diff --git a/deps/v8/src/api-experimental.cc b/deps/v8/src/api-experimental.cc index 934b27aa5d8f96..a9b5bd043b8997 100644 --- a/deps/v8/src/api-experimental.cc +++ b/deps/v8/src/api-experimental.cc @@ -8,10 +8,11 @@ #include "src/api-experimental.h" -#include "include/v8.h" #include "include/v8-experimental.h" +#include "include/v8.h" #include "src/api.h" #include "src/fast-accessor-assembler.h" +#include "src/objects-inl.h" namespace { diff --git a/deps/v8/src/api-natives.cc b/deps/v8/src/api-natives.cc index 3fe59e293d3ff2..87138bd5cf7d2c 100644 --- a/deps/v8/src/api-natives.cc +++ b/deps/v8/src/api-natives.cc @@ -395,6 +395,28 @@ MaybeHandle InstantiateObject(Isolate* isolate, return result; } +namespace { +MaybeHandle GetInstancePrototype(Isolate* isolate, + Object* function_template) { + // Enter a new scope. Recursion could otherwise create a lot of handles. + HandleScope scope(isolate); + Handle parent_instance; + ASSIGN_RETURN_ON_EXCEPTION( + isolate, parent_instance, + InstantiateFunction( + isolate, + handle(FunctionTemplateInfo::cast(function_template), isolate)), + JSFunction); + Handle instance_prototype; + // TODO(cbruni): decide what to do here. + ASSIGN_RETURN_ON_EXCEPTION( + isolate, instance_prototype, + JSObject::GetProperty(parent_instance, + isolate->factory()->prototype_string()), + JSFunction); + return scope.CloseAndEscape(instance_prototype); +} +} // namespace MaybeHandle InstantiateFunction(Isolate* isolate, Handle data, @@ -406,11 +428,18 @@ MaybeHandle InstantiateFunction(Isolate* isolate, return Handle::cast(result); } } - Handle prototype; + Handle prototype; if (!data->remove_prototype()) { Object* prototype_templ = data->prototype_template(); if (prototype_templ->IsUndefined(isolate)) { - prototype = isolate->factory()->NewJSObject(isolate->object_function()); + Object* protoype_provider_templ = data->prototype_provider_template(); + if (protoype_provider_templ->IsUndefined(isolate)) { + prototype = isolate->factory()->NewJSObject(isolate->object_function()); + } else { + ASSIGN_RETURN_ON_EXCEPTION( + isolate, prototype, + GetInstancePrototype(isolate, protoype_provider_templ), JSFunction); + } } else { ASSIGN_RETURN_ON_EXCEPTION( isolate, prototype, @@ -422,22 +451,12 @@ MaybeHandle InstantiateFunction(Isolate* isolate, } Object* parent = data->parent_template(); if (!parent->IsUndefined(isolate)) { - // Enter a new scope. Recursion could otherwise create a lot of handles. - HandleScope scope(isolate); - Handle parent_instance; - ASSIGN_RETURN_ON_EXCEPTION( - isolate, parent_instance, - InstantiateFunction( - isolate, handle(FunctionTemplateInfo::cast(parent), isolate)), - JSFunction); - // TODO(dcarney): decide what to do here. Handle parent_prototype; - ASSIGN_RETURN_ON_EXCEPTION( - isolate, parent_prototype, - JSObject::GetProperty(parent_instance, - isolate->factory()->prototype_string()), - JSFunction); - JSObject::ForceSetPrototype(prototype, parent_prototype); + ASSIGN_RETURN_ON_EXCEPTION(isolate, parent_prototype, + GetInstancePrototype(isolate, parent), + JSFunction); + JSObject::ForceSetPrototype(Handle::cast(prototype), + parent_prototype); } } Handle function = ApiNatives::CreateApiFunction( @@ -531,7 +550,7 @@ MaybeHandle ApiNatives::InstantiateRemoteObject( void ApiNatives::AddDataProperty(Isolate* isolate, Handle info, Handle name, Handle value, PropertyAttributes attributes) { - PropertyDetails details(attributes, DATA, 0, PropertyCellType::kNoCell); + PropertyDetails details(kData, attributes, 0, PropertyCellType::kNoCell); auto details_handle = handle(details.AsSmi(), isolate); Handle data[] = {name, details_handle, value}; AddPropertyToPropertyList(isolate, info, arraysize(data), data); @@ -543,7 +562,7 @@ void ApiNatives::AddDataProperty(Isolate* isolate, Handle info, PropertyAttributes attributes) { auto value = handle(Smi::FromInt(intrinsic), isolate); auto intrinsic_marker = isolate->factory()->true_value(); - PropertyDetails details(attributes, DATA, 0, PropertyCellType::kNoCell); + PropertyDetails details(kData, attributes, 0, PropertyCellType::kNoCell); auto details_handle = handle(details.AsSmi(), isolate); Handle data[] = {name, intrinsic_marker, details_handle, value}; AddPropertyToPropertyList(isolate, info, arraysize(data), data); @@ -556,7 +575,7 @@ void ApiNatives::AddAccessorProperty(Isolate* isolate, Handle getter, Handle setter, PropertyAttributes attributes) { - PropertyDetails details(attributes, ACCESSOR, 0, PropertyCellType::kNoCell); + PropertyDetails details(kAccessor, attributes, 0, PropertyCellType::kNoCell); auto details_handle = handle(details.AsSmi(), isolate); Handle data[] = {name, details_handle, getter, setter}; AddPropertyToPropertyList(isolate, info, arraysize(data), data); @@ -606,7 +625,7 @@ Handle ApiNatives::CreateApiFunction( if (prototype->IsTheHole(isolate)) { prototype = isolate->factory()->NewFunctionPrototype(result); - } else { + } else if (obj->prototype_provider_template()->IsUndefined(isolate)) { JSObject::AddProperty(Handle::cast(prototype), isolate->factory()->constructor_string(), result, DONT_ENUM); @@ -656,6 +675,12 @@ Handle ApiNatives::CreateApiFunction( // Mark as undetectable if needed. if (obj->undetectable()) { + // We only allow callable undetectable receivers here, since this whole + // undetectable business is only to support document.all, which is both + // undetectable and callable. If we ever see the need to have an object + // that is undetectable but not callable, we need to update the types.h + // to allow encoding this. + CHECK(!obj->instance_call_handler()->IsUndefined(isolate)); map->set_is_undetectable(); } diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index da7f2ef4141460..04ba55c1ddecd7 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -29,6 +29,7 @@ #include "src/bootstrapper.h" #include "src/char-predicates-inl.h" #include "src/code-stubs.h" +#include "src/compiler-dispatcher/compiler-dispatcher.h" #include "src/compiler.h" #include "src/context-measure.h" #include "src/contexts.h" @@ -97,6 +98,15 @@ namespace v8 { ENTER_V8(isolate); \ bool has_pending_exception = false +#define PREPARE_FOR_DEBUG_INTERFACE_EXECUTION_WITH_ISOLATE(isolate, T) \ + if (IsExecutionTerminatingCheck(isolate)) { \ + return MaybeLocal(); \ + } \ + InternalEscapableScope handle_scope(isolate); \ + CallDepthScope call_depth_scope(isolate, v8::Local()); \ + ENTER_V8(isolate); \ + bool has_pending_exception = false + #define PREPARE_FOR_EXECUTION_WITH_CONTEXT(context, class_name, function_name, \ bailout_value, HandleScopeClass, \ do_callback) \ @@ -141,6 +151,23 @@ namespace v8 { PREPARE_FOR_EXECUTION_WITH_CONTEXT(context, class_name, function_name, \ false, i::HandleScope, false) +#ifdef DEBUG +#define ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate) \ + i::VMState __state__((isolate)); \ + i::DisallowJavascriptExecutionDebugOnly __no_script__((isolate)); \ + i::DisallowExceptions __no_exceptions__((isolate)) + +#define ENTER_V8_FOR_NEW_CONTEXT(isolate) \ + i::VMState __state__((isolate)); \ + i::DisallowExceptions __no_exceptions__((isolate)) +#else +#define ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate) \ + i::VMState __state__((isolate)); + +#define ENTER_V8_FOR_NEW_CONTEXT(isolate) \ + i::VMState __state__((isolate)); +#endif // DEBUG + #define EXCEPTION_BAILOUT_CHECK_SCOPED(isolate, value) \ do { \ if (has_pending_exception) { \ @@ -243,7 +270,7 @@ class CallDepthScope { static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, i::Handle script) { - i::Handle scriptName(i::Script::GetNameOrSourceURL(script)); + i::Handle scriptName(script->GetNameOrSourceURL(), isolate); i::Handle source_map_url(script->source_mapping_url(), isolate); v8::Isolate* v8_isolate = reinterpret_cast(script->GetIsolate()); @@ -254,9 +281,9 @@ static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, v8::Integer::New(v8_isolate, script->column_offset()), v8::Boolean::New(v8_isolate, options.IsSharedCrossOrigin()), v8::Integer::New(v8_isolate, script->id()), - v8::Boolean::New(v8_isolate, options.IsEmbedderDebugScript()), Utils::ToLocal(source_map_url), - v8::Boolean::New(v8_isolate, options.IsOpaque())); + v8::Boolean::New(v8_isolate, options.IsOpaque()), + v8::Boolean::New(v8_isolate, script->type() == i::Script::TYPE_WASM)); return origin; } @@ -452,6 +479,7 @@ bool RunExtraCode(Isolate* isolate, Local context, struct SnapshotCreatorData { explicit SnapshotCreatorData(Isolate* isolate) : isolate_(isolate), + default_context_(), contexts_(isolate), templates_(isolate), created_(false) {} @@ -462,8 +490,10 @@ struct SnapshotCreatorData { ArrayBufferAllocator allocator_; Isolate* isolate_; + Persistent default_context_; PersistentValueVector contexts_; PersistentValueVector