From 60d1aac8d225e844e68ae48e8f3d58802e635fbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 2 May 2017 10:50:00 +0200 Subject: [PATCH] deps: update V8 to 5.8.283.38 PR-URL: https://github.com/nodejs/node/pull/12784 Reviewed-By: Ben Noordhuis Reviewed-By: Gibson Fahnestock --- deps/v8/.gitignore | 2 +- deps/v8/AUTHORS | 2 +- deps/v8/BUILD.gn | 144 +- deps/v8/ChangeLog | 1531 +++++++++ deps/v8/DEPS | 21 +- deps/v8/Makefile | 4 + deps/v8/PRESUBMIT.py | 2 +- deps/v8/build_overrides/v8.gni | 25 - deps/v8/gni/isolate.gni | 7 + deps/v8/gni/v8.gni | 18 +- deps/v8/gypfiles/all.gyp | 1 - deps/v8/gypfiles/features.gypi | 5 + deps/v8/gypfiles/isolate.gypi | 1 + deps/v8/gypfiles/toolchain.gypi | 2 + deps/v8/include/v8-debug.h | 57 +- deps/v8/include/v8-inspector.h | 8 +- deps/v8/include/v8-profiler.h | 24 +- deps/v8/include/v8-util.h | 3 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 103 +- deps/v8/infra/config/cq.cfg | 18 +- deps/v8/infra/mb/mb_config.pyl | 36 +- deps/v8/src/accessors.h | 3 +- deps/v8/src/api-experimental.h | 4 +- deps/v8/src/api-natives.cc | 2 - deps/v8/src/api.cc | 543 ++-- deps/v8/src/api.h | 87 +- deps/v8/src/arguments.cc | 1 + deps/v8/src/arguments.h | 2 +- deps/v8/src/arm/assembler-arm-inl.h | 13 +- deps/v8/src/arm/assembler-arm.cc | 436 +-- deps/v8/src/arm/assembler-arm.h | 89 +- deps/v8/src/arm/code-stubs-arm.cc | 804 +---- deps/v8/src/arm/codegen-arm.cc | 21 +- deps/v8/src/arm/constants-arm.h | 18 +- deps/v8/src/arm/deoptimizer-arm.cc | 2 +- deps/v8/src/arm/disasm-arm.cc | 472 +-- deps/v8/src/arm/interface-descriptors-arm.cc | 57 +- deps/v8/src/arm/macro-assembler-arm.cc | 107 +- deps/v8/src/arm/macro-assembler-arm.h | 30 +- deps/v8/src/arm/simulator-arm.cc | 1574 +++++++--- deps/v8/src/arm/simulator-arm.h | 98 + deps/v8/src/arm64/assembler-arm64-inl.h | 2 +- deps/v8/src/arm64/assembler-arm64.h | 1 + deps/v8/src/arm64/code-stubs-arm64.cc | 911 +----- deps/v8/src/arm64/codegen-arm64.cc | 22 +- deps/v8/src/arm64/deoptimizer-arm64.cc | 2 +- .../src/arm64/interface-descriptors-arm64.cc | 60 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 116 +- deps/v8/src/arm64/macro-assembler-arm64.h | 19 +- deps/v8/src/asmjs/asm-js.cc | 37 +- deps/v8/src/asmjs/asm-typer.cc | 60 +- deps/v8/src/asmjs/asm-typer.h | 4 +- deps/v8/src/asmjs/asm-wasm-builder.cc | 166 +- deps/v8/src/assembler.cc | 76 +- deps/v8/src/assembler.h | 95 +- deps/v8/src/assert-scope.cc | 1 - deps/v8/src/ast/OWNERS | 1 + deps/v8/src/ast/ast-literal-reindexer.cc | 322 -- deps/v8/src/ast/ast-literal-reindexer.h | 43 - deps/v8/src/ast/ast-numbering.cc | 91 +- deps/v8/src/ast/ast-types.cc | 13 +- deps/v8/src/ast/ast-types.h | 33 +- deps/v8/src/ast/ast-value-factory.cc | 80 +- deps/v8/src/ast/ast-value-factory.h | 66 +- deps/v8/src/ast/ast.cc | 186 +- deps/v8/src/ast/ast.h | 411 ++- deps/v8/src/ast/modules.cc | 1 + deps/v8/src/ast/modules.h | 2 +- deps/v8/src/ast/prettyprinter.cc | 10 +- deps/v8/src/ast/scopes.cc | 163 +- deps/v8/src/ast/scopes.h | 26 +- deps/v8/src/ast/variables.cc | 5 +- deps/v8/src/background-parsing-task.cc | 7 +- deps/v8/src/background-parsing-task.h | 1 - deps/v8/src/bailout-reason.h | 7 +- deps/v8/src/base/atomic-utils.h | 4 +- deps/v8/src/base/hashmap.h | 28 + deps/v8/src/base/logging.h | 22 +- deps/v8/src/base/platform/platform-posix.cc | 9 +- deps/v8/src/bootstrapper.cc | 543 +++- deps/v8/src/bootstrapper.h | 2 - deps/v8/src/builtins/arm/builtins-arm.cc | 341 +- deps/v8/src/builtins/arm64/builtins-arm64.cc | 332 +- deps/v8/src/builtins/builtins-api.cc | 4 + deps/v8/src/builtins/builtins-arguments.cc | 425 +++ deps/v8/src/builtins/builtins-arguments.h | 55 + deps/v8/src/builtins/builtins-array.cc | 919 +++--- deps/v8/src/builtins/builtins-arraybuffer.cc | 5 +- .../src/builtins/builtins-async-function.cc | 208 ++ .../src/builtins/builtins-async-iterator.cc | 326 ++ deps/v8/src/builtins/builtins-async.cc | 92 + deps/v8/src/builtins/builtins-async.h | 35 + deps/v8/src/builtins/builtins-boolean.cc | 2 + deps/v8/src/builtins/builtins-call.cc | 14 +- deps/v8/src/builtins/builtins-callsite.cc | 2 + deps/v8/src/builtins/builtins-constructor.cc | 69 +- deps/v8/src/builtins/builtins-conversion.cc | 39 +- deps/v8/src/builtins/builtins-dataview.cc | 13 +- deps/v8/src/builtins/builtins-date.cc | 24 +- deps/v8/src/builtins/builtins-debug.cc | 11 +- deps/v8/src/builtins/builtins-error.cc | 2 + deps/v8/src/builtins/builtins-function.cc | 62 +- deps/v8/src/builtins/builtins-generator.cc | 127 +- deps/v8/src/builtins/builtins-global.cc | 9 +- deps/v8/src/builtins/builtins-handler.cc | 243 +- deps/v8/src/builtins/builtins-ic.cc | 101 +- deps/v8/src/builtins/builtins-internal.cc | 15 +- deps/v8/src/builtins/builtins-interpreter.cc | 67 +- deps/v8/src/builtins/builtins-json.cc | 2 + deps/v8/src/builtins/builtins-math.cc | 2 + deps/v8/src/builtins/builtins-number.cc | 17 +- deps/v8/src/builtins/builtins-object.cc | 119 +- deps/v8/src/builtins/builtins-object.h | 26 + deps/v8/src/builtins/builtins-promise.cc | 410 ++- deps/v8/src/builtins/builtins-promise.h | 27 + deps/v8/src/builtins/builtins-proxy.cc | 3 + deps/v8/src/builtins/builtins-reflect.cc | 4 + deps/v8/src/builtins/builtins-regexp.cc | 767 +++-- deps/v8/src/builtins/builtins-regexp.h | 99 + .../builtins/builtins-sharedarraybuffer.cc | 10 +- deps/v8/src/builtins/builtins-string.cc | 1000 +++++- deps/v8/src/builtins/builtins-symbol.cc | 2 + deps/v8/src/builtins/builtins-typedarray.cc | 272 +- deps/v8/src/builtins/builtins-utils.h | 8 +- deps/v8/src/builtins/builtins-wasm.cc | 30 + deps/v8/src/builtins/builtins.cc | 13 +- deps/v8/src/builtins/builtins.h | 331 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 364 ++- deps/v8/src/builtins/mips/builtins-mips.cc | 330 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 331 +- deps/v8/src/builtins/ppc/builtins-ppc.cc | 346 ++- deps/v8/src/builtins/s390/builtins-s390.cc | 333 +- deps/v8/src/builtins/x64/builtins-x64.cc | 366 ++- deps/v8/src/builtins/x87/builtins-x87.cc | 261 +- deps/v8/src/code-factory.cc | 264 +- deps/v8/src/code-factory.h | 47 +- deps/v8/src/code-stub-assembler.cc | 1664 +++++----- deps/v8/src/code-stub-assembler.h | 217 +- deps/v8/src/code-stubs-hydrogen.cc | 207 +- deps/v8/src/code-stubs.cc | 407 ++- deps/v8/src/code-stubs.h | 404 +-- deps/v8/src/codegen.cc | 7 +- deps/v8/src/compilation-cache.cc | 158 +- deps/v8/src/compilation-cache.h | 64 +- deps/v8/src/compilation-info.cc | 21 +- deps/v8/src/compilation-info.h | 16 +- .../compiler-dispatcher-job.cc | 147 +- .../compiler-dispatcher-job.h | 35 +- .../compiler-dispatcher-tracer.cc | 24 +- .../compiler-dispatcher-tracer.h | 4 + .../compiler-dispatcher.cc | 95 +- .../compiler-dispatcher/compiler-dispatcher.h | 32 +- .../optimizing-compile-dispatcher.cc | 30 +- .../optimizing-compile-dispatcher.h | 5 +- deps/v8/src/compiler.cc | 571 ++-- deps/v8/src/compiler.h | 14 +- deps/v8/src/compiler/access-builder.cc | 28 +- deps/v8/src/compiler/access-builder.h | 10 +- deps/v8/src/compiler/access-info.cc | 45 +- deps/v8/src/compiler/access-info.h | 12 +- .../v8/src/compiler/arm/code-generator-arm.cc | 394 ++- .../src/compiler/arm/instruction-codes-arm.h | 77 +- .../compiler/arm/instruction-scheduler-arm.cc | 75 +- .../compiler/arm/instruction-selector-arm.cc | 607 ++-- .../compiler/arm64/code-generator-arm64.cc | 53 +- .../arm64/instruction-selector-arm64.cc | 438 +-- deps/v8/src/compiler/ast-graph-builder.cc | 220 +- deps/v8/src/compiler/ast-graph-builder.h | 13 +- deps/v8/src/compiler/branch-elimination.cc | 7 +- deps/v8/src/compiler/bytecode-analysis.cc | 5 +- .../v8/src/compiler/bytecode-graph-builder.cc | 402 ++- deps/v8/src/compiler/bytecode-graph-builder.h | 40 +- deps/v8/src/compiler/code-assembler.cc | 42 +- deps/v8/src/compiler/code-assembler.h | 14 +- deps/v8/src/compiler/code-generator-impl.h | 8 + deps/v8/src/compiler/code-generator.cc | 91 +- deps/v8/src/compiler/code-generator.h | 14 +- .../src/compiler/common-operator-reducer.cc | 96 +- deps/v8/src/compiler/common-operator.cc | 201 +- deps/v8/src/compiler/common-operator.h | 22 +- .../src/compiler/effect-control-linearizer.cc | 221 +- .../src/compiler/effect-control-linearizer.h | 6 +- .../src/compiler/escape-analysis-reducer.cc | 4 - .../v8/src/compiler/escape-analysis-reducer.h | 1 - deps/v8/src/compiler/escape-analysis.cc | 25 +- deps/v8/src/compiler/escape-analysis.h | 4 +- deps/v8/src/compiler/frame-elider.cc | 3 +- deps/v8/src/compiler/graph-assembler.cc | 20 +- deps/v8/src/compiler/graph-assembler.h | 2 + deps/v8/src/compiler/graph-visualizer.cc | 11 +- deps/v8/src/compiler/graph.h | 53 + .../src/compiler/ia32/code-generator-ia32.cc | 527 +++- .../ia32/instruction-selector-ia32.cc | 394 +-- deps/v8/src/compiler/instruction-codes.h | 10 +- .../src/compiler/instruction-selector-impl.h | 30 +- deps/v8/src/compiler/instruction-selector.cc | 407 ++- deps/v8/src/compiler/instruction-selector.h | 30 +- deps/v8/src/compiler/instruction.cc | 22 +- deps/v8/src/compiler/instruction.h | 27 +- deps/v8/src/compiler/int64-lowering.cc | 7 +- deps/v8/src/compiler/int64-lowering.h | 2 +- deps/v8/src/compiler/js-builtin-reducer.cc | 139 +- deps/v8/src/compiler/js-builtin-reducer.h | 1 + deps/v8/src/compiler/js-call-reducer.cc | 342 +- deps/v8/src/compiler/js-call-reducer.h | 23 +- deps/v8/src/compiler/js-create-lowering.cc | 63 +- deps/v8/src/compiler/js-create-lowering.h | 12 +- deps/v8/src/compiler/js-generic-lowering.cc | 110 +- deps/v8/src/compiler/js-generic-lowering.h | 3 +- .../js-global-object-specialization.cc | 294 -- .../js-global-object-specialization.h | 65 - deps/v8/src/compiler/js-graph.cc | 9 +- deps/v8/src/compiler/js-graph.h | 2 - deps/v8/src/compiler/js-inlining-heuristic.cc | 61 +- deps/v8/src/compiler/js-inlining-heuristic.h | 5 + deps/v8/src/compiler/js-inlining.cc | 332 +- deps/v8/src/compiler/js-inlining.h | 11 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 105 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 18 +- .../js-native-context-specialization.cc | 610 +++- .../js-native-context-specialization.h | 33 +- deps/v8/src/compiler/js-operator.cc | 261 +- deps/v8/src/compiler/js-operator.h | 199 +- deps/v8/src/compiler/js-type-hint-lowering.cc | 153 + deps/v8/src/compiler/js-type-hint-lowering.h | 54 + deps/v8/src/compiler/js-typed-lowering.cc | 406 ++- deps/v8/src/compiler/js-typed-lowering.h | 8 +- deps/v8/src/compiler/jump-threading.cc | 1 + deps/v8/src/compiler/linkage.cc | 11 +- deps/v8/src/compiler/load-elimination.cc | 6 + .../src/compiler/loop-variable-optimizer.cc | 6 +- .../v8/src/compiler/machine-graph-verifier.cc | 10 + .../src/compiler/machine-operator-reducer.cc | 31 +- deps/v8/src/compiler/machine-operator.cc | 146 +- deps/v8/src/compiler/machine-operator.h | 72 +- .../src/compiler/mips/code-generator-mips.cc | 47 +- .../mips/instruction-selector-mips.cc | 46 +- .../compiler/mips64/code-generator-mips64.cc | 47 +- .../mips64/instruction-selector-mips64.cc | 49 +- deps/v8/src/compiler/node-matchers.h | 48 +- deps/v8/src/compiler/node-properties.cc | 107 + deps/v8/src/compiler/node-properties.h | 15 + deps/v8/src/compiler/node.cc | 51 +- deps/v8/src/compiler/node.h | 4 + deps/v8/src/compiler/opcodes.h | 73 +- deps/v8/src/compiler/operation-typer.cc | 23 +- deps/v8/src/compiler/operator-properties.cc | 11 +- deps/v8/src/compiler/pipeline.cc | 58 +- deps/v8/src/compiler/pipeline.h | 3 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 48 +- .../compiler/ppc/instruction-selector-ppc.cc | 24 +- deps/v8/src/compiler/raw-machine-assembler.cc | 13 +- deps/v8/src/compiler/raw-machine-assembler.h | 9 + .../v8/src/compiler/redundancy-elimination.cc | 1 + .../compiler/register-allocator-verifier.cc | 4 +- .../compiler/register-allocator-verifier.h | 3 +- deps/v8/src/compiler/register-allocator.cc | 17 +- deps/v8/src/compiler/representation-change.cc | 20 +- .../src/compiler/s390/code-generator-s390.cc | 596 +++- .../compiler/s390/instruction-codes-s390.h | 7 +- .../s390/instruction-scheduler-s390.cc | 7 +- .../s390/instruction-selector-s390.cc | 992 ++++-- deps/v8/src/compiler/simd-scalar-lowering.cc | 1 + deps/v8/src/compiler/simplified-lowering.cc | 138 +- deps/v8/src/compiler/simplified-operator.cc | 6 +- deps/v8/src/compiler/simplified-operator.h | 6 +- deps/v8/src/compiler/state-values-utils.cc | 36 +- deps/v8/src/compiler/state-values-utils.h | 8 +- deps/v8/src/compiler/typed-optimization.cc | 14 + deps/v8/src/compiler/typed-optimization.h | 1 + deps/v8/src/compiler/typer.cc | 132 +- deps/v8/src/compiler/typer.h | 2 +- deps/v8/src/compiler/types.cc | 21 +- deps/v8/src/compiler/types.h | 130 +- deps/v8/src/compiler/verifier.cc | 50 +- deps/v8/src/compiler/wasm-compiler.cc | 599 +++- deps/v8/src/compiler/wasm-compiler.h | 10 +- deps/v8/src/compiler/wasm-linkage.cc | 1 + .../v8/src/compiler/x64/code-generator-x64.cc | 97 +- .../compiler/x64/instruction-selector-x64.cc | 359 +-- .../v8/src/compiler/x87/code-generator-x87.cc | 220 +- .../compiler/x87/instruction-selector-x87.cc | 127 +- deps/v8/src/contexts-inl.h | 1 + deps/v8/src/contexts.cc | 36 +- deps/v8/src/contexts.h | 59 +- deps/v8/src/conversions.cc | 1 + deps/v8/src/conversions.h | 3 +- deps/v8/src/counters.h | 10 +- .../src/crankshaft/arm/lithium-codegen-arm.cc | 44 +- .../crankshaft/arm64/lithium-codegen-arm64.cc | 44 +- deps/v8/src/crankshaft/compilation-phase.cc | 1 + deps/v8/src/crankshaft/hydrogen-bce.cc | 1 + .../src/crankshaft/hydrogen-canonicalize.cc | 2 + .../crankshaft/hydrogen-check-elimination.cc | 1 + deps/v8/src/crankshaft/hydrogen-dce.cc | 1 + deps/v8/src/crankshaft/hydrogen-dehoist.cc | 1 + .../hydrogen-environment-liveness.cc | 2 +- .../crankshaft/hydrogen-escape-analysis.cc | 4 +- deps/v8/src/crankshaft/hydrogen-gvn.cc | 29 +- .../hydrogen-infer-representation.cc | 1 + .../v8/src/crankshaft/hydrogen-infer-types.cc | 1 + .../src/crankshaft/hydrogen-instructions.cc | 23 +- .../v8/src/crankshaft/hydrogen-instructions.h | 9 +- .../crankshaft/hydrogen-load-elimination.cc | 1 + .../crankshaft/hydrogen-mark-unreachable.cc | 1 + deps/v8/src/crankshaft/hydrogen-osr.cc | 1 + .../src/crankshaft/hydrogen-range-analysis.cc | 1 + .../src/crankshaft/hydrogen-redundant-phi.cc | 1 + .../hydrogen-removable-simulates.cc | 1 + .../hydrogen-representation-changes.cc | 1 + deps/v8/src/crankshaft/hydrogen-sce.cc | 1 + .../crankshaft/hydrogen-store-elimination.cc | 1 + .../crankshaft/hydrogen-uint32-analysis.cc | 1 + deps/v8/src/crankshaft/hydrogen.cc | 226 +- deps/v8/src/crankshaft/hydrogen.h | 66 +- .../crankshaft/ia32/lithium-codegen-ia32.cc | 42 +- deps/v8/src/crankshaft/lithium-allocator.cc | 3 +- deps/v8/src/crankshaft/lithium-codegen.cc | 5 +- deps/v8/src/crankshaft/lithium.cc | 1 + .../crankshaft/mips/lithium-codegen-mips.cc | 46 +- .../mips64/lithium-codegen-mips64.cc | 47 +- .../src/crankshaft/ppc/lithium-codegen-ppc.cc | 50 +- .../crankshaft/s390/lithium-codegen-s390.cc | 58 +- deps/v8/src/crankshaft/typing.cc | 13 +- .../src/crankshaft/x64/lithium-codegen-x64.cc | 48 +- .../x64/lithium-gap-resolver-x64.cc | 1 + deps/v8/src/crankshaft/x64/lithium-x64.cc | 1 + .../src/crankshaft/x87/lithium-codegen-x87.cc | 33 +- deps/v8/src/d8.cc | 155 +- deps/v8/src/d8.h | 68 +- deps/v8/src/dateparser-inl.h | 9 +- deps/v8/src/debug/arm/debug-arm.cc | 71 +- deps/v8/src/debug/arm64/debug-arm64.cc | 70 +- deps/v8/src/debug/debug-coverage.cc | 169 + deps/v8/src/debug/debug-coverage.h | 53 + deps/v8/src/debug/debug-evaluate.cc | 74 +- deps/v8/src/debug/debug-evaluate.h | 6 +- deps/v8/src/debug/debug-frames.cc | 29 +- deps/v8/src/debug/debug-frames.h | 8 +- deps/v8/src/debug/debug-interface.h | 176 +- deps/v8/src/debug/debug-scopes.cc | 8 +- deps/v8/src/debug/debug.cc | 1375 ++++----- deps/v8/src/debug/debug.h | 385 +-- deps/v8/src/debug/debug.js | 1367 +------- deps/v8/src/debug/ia32/debug-ia32.cc | 69 +- deps/v8/src/debug/interface-types.h | 6 +- deps/v8/src/debug/liveedit.cc | 381 +-- deps/v8/src/debug/liveedit.h | 49 +- deps/v8/src/debug/liveedit.js | 2 +- deps/v8/src/debug/mips/debug-mips.cc | 70 +- deps/v8/src/debug/mips64/debug-mips64.cc | 71 +- deps/v8/src/debug/mirrors.js | 695 +---- deps/v8/src/debug/ppc/debug-ppc.cc | 73 +- deps/v8/src/debug/s390/debug-s390.cc | 70 +- deps/v8/src/debug/x64/debug-x64.cc | 79 +- deps/v8/src/deoptimizer.cc | 184 +- deps/v8/src/deoptimizer.h | 72 +- deps/v8/src/disassembler.cc | 7 +- deps/v8/src/eh-frame.h | 1 + deps/v8/src/elements.cc | 13 +- deps/v8/src/execution.cc | 3 +- deps/v8/src/execution.h | 18 +- deps/v8/src/external-reference-table.cc | 11 +- deps/v8/src/external-reference-table.h | 2 + deps/v8/src/factory.cc | 198 +- deps/v8/src/factory.h | 67 +- deps/v8/src/fast-accessor-assembler.cc | 10 +- deps/v8/src/fast-accessor-assembler.h | 5 +- deps/v8/src/feedback-vector-inl.h | 172 +- deps/v8/src/feedback-vector.cc | 385 +-- deps/v8/src/feedback-vector.h | 427 +-- deps/v8/src/ffi/OWNERS | 2 + deps/v8/src/ffi/ffi-compiler.cc | 128 + deps/v8/src/ffi/ffi-compiler.h | 37 + deps/v8/src/field-type.h | 4 +- deps/v8/src/find-and-replace-pattern.h | 37 + deps/v8/src/flag-definitions.h | 352 +-- deps/v8/src/flags.cc | 50 +- deps/v8/src/frames-inl.h | 12 +- deps/v8/src/frames.cc | 138 +- deps/v8/src/frames.h | 58 +- .../src/full-codegen/arm/full-codegen-arm.cc | 84 +- .../full-codegen/arm64/full-codegen-arm64.cc | 81 +- deps/v8/src/full-codegen/full-codegen.cc | 75 +- deps/v8/src/full-codegen/full-codegen.h | 37 +- .../full-codegen/ia32/full-codegen-ia32.cc | 86 +- .../full-codegen/mips/full-codegen-mips.cc | 74 +- .../mips64/full-codegen-mips64.cc | 74 +- .../src/full-codegen/ppc/full-codegen-ppc.cc | 80 +- .../full-codegen/s390/full-codegen-s390.cc | 77 +- .../src/full-codegen/x64/full-codegen-x64.cc | 81 +- .../src/full-codegen/x87/full-codegen-x87.cc | 66 +- deps/v8/src/futex-emulation.cc | 7 +- deps/v8/src/futex-emulation.h | 13 +- deps/v8/src/globals.h | 84 +- deps/v8/src/handles-inl.h | 1 - deps/v8/src/handles.cc | 3 +- deps/v8/src/handles.h | 7 +- deps/v8/src/heap-symbols.h | 110 +- deps/v8/src/heap/array-buffer-tracker-inl.h | 4 +- deps/v8/src/heap/array-buffer-tracker.cc | 5 +- deps/v8/src/heap/gc-tracer.cc | 15 + deps/v8/src/heap/gc-tracer.h | 7 + deps/v8/src/heap/heap-inl.h | 20 +- deps/v8/src/heap/heap.cc | 557 +--- deps/v8/src/heap/heap.h | 138 +- deps/v8/src/heap/incremental-marking.cc | 99 +- deps/v8/src/heap/incremental-marking.h | 2 +- deps/v8/src/heap/mark-compact-inl.h | 42 +- deps/v8/src/heap/mark-compact.cc | 268 +- deps/v8/src/heap/mark-compact.h | 91 +- deps/v8/src/heap/object-stats.cc | 31 +- deps/v8/src/heap/objects-visiting-inl.h | 30 +- deps/v8/src/heap/objects-visiting.cc | 6 +- deps/v8/src/heap/objects-visiting.h | 1 + deps/v8/src/heap/remembered-set.h | 18 +- deps/v8/src/heap/scavenger.cc | 39 +- deps/v8/src/heap/spaces-inl.h | 3 +- deps/v8/src/heap/spaces.cc | 40 +- deps/v8/src/heap/spaces.h | 59 +- deps/v8/src/heap/store-buffer.cc | 1 - deps/v8/src/heap/store-buffer.h | 4 +- deps/v8/src/i18n.cc | 12 +- deps/v8/src/i18n.h | 4 +- deps/v8/src/ia32/assembler-ia32-inl.h | 12 + deps/v8/src/ia32/assembler-ia32.cc | 2 +- deps/v8/src/ia32/assembler-ia32.h | 11 +- deps/v8/src/ia32/code-stubs-ia32.cc | 882 +----- deps/v8/src/ia32/codegen-ia32.cc | 25 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 2 +- .../v8/src/ia32/interface-descriptors-ia32.cc | 57 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 61 +- deps/v8/src/ia32/macro-assembler-ia32.h | 21 +- deps/v8/src/ic/access-compiler.cc | 1 + deps/v8/src/ic/accessor-assembler-impl.h | 203 -- deps/v8/src/ic/accessor-assembler.cc | 833 ++--- deps/v8/src/ic/accessor-assembler.h | 285 +- deps/v8/src/ic/arm/handler-compiler-arm.cc | 39 +- deps/v8/src/ic/arm/ic-arm.cc | 37 +- .../v8/src/ic/arm64/handler-compiler-arm64.cc | 44 +- deps/v8/src/ic/arm64/ic-arm64.cc | 31 +- deps/v8/src/ic/call-optimization.cc | 2 +- deps/v8/src/ic/handler-compiler.cc | 5 +- deps/v8/src/ic/handler-compiler.h | 6 - deps/v8/src/ic/handler-configuration-inl.h | 11 +- deps/v8/src/ic/handler-configuration.h | 5 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 49 +- deps/v8/src/ic/ia32/ic-ia32.cc | 47 +- deps/v8/src/ic/ic-compiler.cc | 121 - deps/v8/src/ic/ic-compiler.h | 40 - deps/v8/src/ic/ic-inl.h | 34 +- deps/v8/src/ic/ic-state.cc | 8 +- deps/v8/src/ic/ic-state.h | 94 +- deps/v8/src/ic/ic.cc | 898 +++--- deps/v8/src/ic/ic.h | 144 +- deps/v8/src/ic/keyed-store-generic.cc | 255 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 39 +- deps/v8/src/ic/mips/ic-mips.cc | 37 +- .../src/ic/mips64/handler-compiler-mips64.cc | 39 +- deps/v8/src/ic/mips64/ic-mips64.cc | 37 +- deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 44 +- deps/v8/src/ic/ppc/ic-ppc.cc | 37 +- deps/v8/src/ic/s390/handler-compiler-s390.cc | 42 +- deps/v8/src/ic/s390/ic-s390.cc | 34 +- deps/v8/src/ic/stub-cache.cc | 14 +- deps/v8/src/ic/stub-cache.h | 4 +- deps/v8/src/ic/x64/access-compiler-x64.cc | 1 + deps/v8/src/ic/x64/handler-compiler-x64.cc | 48 +- deps/v8/src/ic/x64/ic-x64.cc | 48 +- deps/v8/src/ic/x87/handler-compiler-x87.cc | 49 +- deps/v8/src/ic/x87/ic-x87.cc | 47 +- deps/v8/src/identity-map.cc | 232 +- deps/v8/src/identity-map.h | 119 +- deps/v8/src/inspector/DEPS | 3 +- deps/v8/src/inspector/debugger-script.js | 101 +- .../src/inspector/debugger_script_externs.js | 111 +- .../src/inspector/injected-script-source.js | 11 +- .../src/inspector/injected_script_externs.js | 5 + .../src/inspector/java-script-call-frame.cc | 18 +- .../v8/src/inspector/java-script-call-frame.h | 6 +- deps/v8/src/inspector/js_protocol.json | 74 +- deps/v8/src/inspector/string-util.h | 18 + deps/v8/src/inspector/v8-console-message.cc | 37 +- deps/v8/src/inspector/v8-console.cc | 18 +- .../src/inspector/v8-debugger-agent-impl.cc | 364 +-- .../v8/src/inspector/v8-debugger-agent-impl.h | 54 +- deps/v8/src/inspector/v8-debugger-script.cc | 83 +- deps/v8/src/inspector/v8-debugger-script.h | 10 +- deps/v8/src/inspector/v8-debugger.cc | 544 ++-- deps/v8/src/inspector/v8-debugger.h | 42 +- .../src/inspector/v8-injected-script-host.cc | 13 + .../src/inspector/v8-injected-script-host.h | 2 + deps/v8/src/inspector/v8-inspector-impl.h | 1 - .../inspector/v8-inspector-session-impl.cc | 5 + .../src/inspector/v8-profiler-agent-impl.cc | 142 +- .../v8/src/inspector/v8-profiler-agent-impl.h | 19 +- .../v8/src/inspector/v8-runtime-agent-impl.cc | 1 + deps/v8/src/inspector/v8-stack-trace-impl.cc | 31 +- deps/v8/src/inspector/v8-stack-trace-impl.h | 3 + deps/v8/src/inspector/wasm-translation.cc | 96 +- deps/v8/src/interface-descriptors.cc | 62 +- deps/v8/src/interface-descriptors.h | 176 +- .../interpreter/bytecode-array-accessor.cc | 5 +- .../src/interpreter/bytecode-array-builder.cc | 240 +- .../src/interpreter/bytecode-array-builder.h | 115 +- .../src/interpreter/bytecode-array-writer.cc | 24 +- deps/v8/src/interpreter/bytecode-decoder.cc | 32 +- deps/v8/src/interpreter/bytecode-flags.cc | 1 + deps/v8/src/interpreter/bytecode-generator.cc | 533 ++-- deps/v8/src/interpreter/bytecode-generator.h | 40 +- deps/v8/src/interpreter/bytecodes.cc | 16 +- deps/v8/src/interpreter/bytecodes.h | 54 +- .../src/interpreter/constant-array-builder.cc | 163 +- .../src/interpreter/constant-array-builder.h | 119 +- .../src/interpreter/handler-table-builder.h | 3 +- .../src/interpreter/interpreter-assembler.cc | 210 +- .../src/interpreter/interpreter-assembler.h | 70 +- .../src/interpreter/interpreter-intrinsics.cc | 106 +- .../src/interpreter/interpreter-intrinsics.h | 36 +- deps/v8/src/interpreter/interpreter.cc | 418 ++- deps/v8/src/interpreter/interpreter.h | 6 +- deps/v8/src/isolate-inl.h | 19 +- deps/v8/src/isolate.cc | 138 +- deps/v8/src/isolate.h | 68 +- deps/v8/src/js/array.js | 52 +- deps/v8/src/js/async-await.js | 143 - deps/v8/src/js/datetime-format-to-parts.js | 16 - deps/v8/src/js/harmony-atomics.js | 11 +- deps/v8/src/js/harmony-simd.js | 923 ------ deps/v8/src/js/i18n.js | 71 +- deps/v8/src/js/icu-case-mapping.js | 24 - deps/v8/src/js/macros.py | 11 +- deps/v8/src/js/prologue.js | 3 - deps/v8/src/js/promise.js | 13 - deps/v8/src/js/string.js | 240 -- deps/v8/src/js/typedarray.js | 38 +- deps/v8/src/json-parser.cc | 8 +- deps/v8/src/json-stringifier.cc | 1 - deps/v8/src/keys.cc | 53 +- deps/v8/src/keys.h | 5 +- deps/v8/src/label.h | 92 + deps/v8/src/log-utils.h | 2 +- deps/v8/src/log.cc | 113 +- deps/v8/src/log.h | 21 +- deps/v8/src/lookup.cc | 82 +- deps/v8/src/lookup.h | 6 +- deps/v8/src/machine-type.cc | 6 + deps/v8/src/machine-type.h | 35 +- deps/v8/src/managed.h | 81 + deps/v8/src/map-updater.cc | 97 +- deps/v8/src/map-updater.h | 7 + deps/v8/src/messages.h | 22 +- deps/v8/src/mips/assembler-mips-inl.h | 13 +- deps/v8/src/mips/assembler-mips.h | 12 +- deps/v8/src/mips/code-stubs-mips.cc | 806 +---- deps/v8/src/mips/codegen-mips.cc | 21 +- deps/v8/src/mips/deoptimizer-mips.cc | 2 +- .../v8/src/mips/interface-descriptors-mips.cc | 57 +- deps/v8/src/mips/macro-assembler-mips.cc | 68 +- deps/v8/src/mips/macro-assembler-mips.h | 21 +- deps/v8/src/mips/simulator-mips.cc | 502 +-- deps/v8/src/mips/simulator-mips.h | 43 +- deps/v8/src/mips64/assembler-mips64-inl.h | 13 +- deps/v8/src/mips64/assembler-mips64.h | 12 +- deps/v8/src/mips64/code-stubs-mips64.cc | 818 +---- deps/v8/src/mips64/codegen-mips64.cc | 21 +- deps/v8/src/mips64/deoptimizer-mips64.cc | 2 +- .../mips64/interface-descriptors-mips64.cc | 57 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 69 +- deps/v8/src/mips64/macro-assembler-mips64.h | 21 +- deps/v8/src/mips64/simulator-mips64.cc | 455 +-- deps/v8/src/mips64/simulator-mips64.h | 57 +- deps/v8/src/objects-body-descriptors-inl.h | 8 +- deps/v8/src/objects-body-descriptors.h | 2 +- deps/v8/src/objects-debug.cc | 51 +- deps/v8/src/objects-inl.h | 526 ++-- deps/v8/src/objects-printer.cc | 217 +- deps/v8/src/objects.cc | 1021 +++--- deps/v8/src/objects.h | 732 ++--- deps/v8/src/objects/literal-objects.cc | 55 + deps/v8/src/objects/literal-objects.h | 67 + deps/v8/src/objects/regexp-match-info.h | 76 + deps/v8/src/objects/scope-info.h | 5 +- deps/v8/src/parsing/OWNERS | 1 + deps/v8/src/parsing/func-name-inferrer.h | 1 - deps/v8/src/parsing/parse-info.cc | 76 +- deps/v8/src/parsing/parse-info.h | 47 +- deps/v8/src/parsing/parser-base.h | 1236 +++++--- deps/v8/src/parsing/parser.cc | 629 ++-- deps/v8/src/parsing/parser.h | 130 +- deps/v8/src/parsing/parsing.cc | 26 +- deps/v8/src/parsing/parsing.h | 14 +- deps/v8/src/parsing/pattern-rewriter.cc | 145 +- deps/v8/src/parsing/preparse-data.cc | 5 +- deps/v8/src/parsing/preparse-data.h | 9 +- deps/v8/src/parsing/preparsed-scope-data.cc | 86 + deps/v8/src/parsing/preparsed-scope-data.h | 57 + deps/v8/src/parsing/preparser.cc | 94 +- deps/v8/src/parsing/preparser.h | 236 +- .../src/parsing/scanner-character-streams.h | 4 +- deps/v8/src/parsing/scanner.cc | 69 +- deps/v8/src/parsing/scanner.h | 21 + .../src/pending-compilation-error-handler.cc | 2 +- .../src/pending-compilation-error-handler.h | 15 - deps/v8/src/ppc/assembler-ppc-inl.h | 21 +- deps/v8/src/ppc/assembler-ppc.cc | 17 +- deps/v8/src/ppc/assembler-ppc.h | 12 +- deps/v8/src/ppc/code-stubs-ppc.cc | 856 +----- deps/v8/src/ppc/codegen-ppc.cc | 26 +- deps/v8/src/ppc/constants-ppc.h | 2739 +++++++++++++++-- deps/v8/src/ppc/deoptimizer-ppc.cc | 2 +- deps/v8/src/ppc/disasm-ppc.cc | 35 +- deps/v8/src/ppc/interface-descriptors-ppc.cc | 55 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 69 +- deps/v8/src/ppc/macro-assembler-ppc.h | 18 +- deps/v8/src/ppc/simulator-ppc.cc | 37 +- deps/v8/src/profiler/cpu-profiler.cc | 18 +- deps/v8/src/profiler/cpu-profiler.h | 2 + deps/v8/src/profiler/heap-profiler.cc | 19 +- deps/v8/src/profiler/heap-profiler.h | 6 + .../src/profiler/heap-snapshot-generator.cc | 118 +- .../v8/src/profiler/heap-snapshot-generator.h | 7 +- deps/v8/src/profiler/profile-generator.cc | 15 +- deps/v8/src/profiler/profile-generator.h | 3 +- deps/v8/src/profiler/profiler-listener.cc | 1 + deps/v8/src/profiler/tracing-cpu-profiler.cc | 19 +- deps/v8/src/property-details.h | 66 +- deps/v8/src/property.cc | 31 +- deps/v8/src/property.h | 27 +- deps/v8/src/regexp/jsregexp-inl.h | 1 - deps/v8/src/regexp/jsregexp.cc | 14 +- deps/v8/src/regexp/jsregexp.h | 2 +- deps/v8/src/regexp/regexp-ast.cc | 6 + deps/v8/src/regexp/regexp-ast.h | 22 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 7 + deps/v8/src/regexp/regexp-parser.cc | 4 +- deps/v8/src/regexp/regexp-utils.cc | 9 +- deps/v8/src/regexp/regexp-utils.h | 2 + .../regexp/x64/regexp-macro-assembler-x64.cc | 2 + deps/v8/src/runtime-profiler.cc | 6 +- deps/v8/src/runtime/runtime-array.cc | 69 +- deps/v8/src/runtime/runtime-classes.cc | 43 - deps/v8/src/runtime/runtime-collections.cc | 48 +- deps/v8/src/runtime/runtime-compiler.cc | 11 +- deps/v8/src/runtime/runtime-debug.cc | 160 +- deps/v8/src/runtime/runtime-forin.cc | 17 - deps/v8/src/runtime/runtime-function.cc | 1 - deps/v8/src/runtime/runtime-futex.cc | 16 +- deps/v8/src/runtime/runtime-i18n.cc | 14 +- deps/v8/src/runtime/runtime-internal.cc | 61 +- deps/v8/src/runtime/runtime-interpreter.cc | 7 +- deps/v8/src/runtime/runtime-literals.cc | 132 +- deps/v8/src/runtime/runtime-maths.cc | 3 + deps/v8/src/runtime/runtime-module.cc | 9 + deps/v8/src/runtime/runtime-object.cc | 51 +- deps/v8/src/runtime/runtime-promise.cc | 110 +- deps/v8/src/runtime/runtime-regexp.cc | 53 +- deps/v8/src/runtime/runtime-scopes.cc | 64 +- deps/v8/src/runtime/runtime-simd.cc | 1016 ------ deps/v8/src/runtime/runtime-strings.cc | 221 +- deps/v8/src/runtime/runtime-test.cc | 36 +- deps/v8/src/runtime/runtime-typedarray.cc | 61 + deps/v8/src/runtime/runtime-wasm.cc | 69 +- deps/v8/src/runtime/runtime.h | 524 +--- deps/v8/src/s390/assembler-s390-inl.h | 13 + deps/v8/src/s390/assembler-s390.cc | 547 +--- deps/v8/src/s390/assembler-s390.h | 205 +- deps/v8/src/s390/code-stubs-s390.cc | 841 +---- deps/v8/src/s390/codegen-s390.cc | 28 +- deps/v8/src/s390/constants-s390.h | 16 +- deps/v8/src/s390/deoptimizer-s390.cc | 2 +- deps/v8/src/s390/disasm-s390.cc | 35 +- .../v8/src/s390/interface-descriptors-s390.cc | 53 +- deps/v8/src/s390/macro-assembler-s390.cc | 292 +- deps/v8/src/s390/macro-assembler-s390.h | 51 +- deps/v8/src/s390/simulator-s390.cc | 144 +- deps/v8/src/s390/simulator-s390.h | 1 + deps/v8/src/signature.h | 2 +- deps/v8/src/snapshot/code-serializer.cc | 42 +- deps/v8/src/snapshot/code-serializer.h | 20 +- deps/v8/src/snapshot/deserializer.cc | 6 +- deps/v8/src/snapshot/deserializer.h | 2 +- deps/v8/src/snapshot/partial-serializer.cc | 4 - deps/v8/src/snapshot/serializer-common.cc | 3 + deps/v8/src/snapshot/serializer.cc | 2 + deps/v8/src/snapshot/snapshot-common.cc | 1 + deps/v8/src/source-position-table.h | 3 +- deps/v8/src/source-position.cc | 37 +- deps/v8/src/string-builder.h | 2 + deps/v8/src/third_party/vtune/BUILD.gn | 20 + deps/v8/src/trap-handler/trap-handler.h | 4 +- deps/v8/src/type-hints.cc | 6 +- deps/v8/src/type-hints.h | 6 +- deps/v8/src/type-info.cc | 93 +- deps/v8/src/type-info.h | 45 +- deps/v8/src/utils.cc | 3 +- deps/v8/src/utils.h | 65 +- deps/v8/src/v8.cc | 3 +- deps/v8/src/v8.gyp | 43 +- deps/v8/src/value-serializer.cc | 26 +- deps/v8/src/value-serializer.h | 4 +- deps/v8/src/wasm/decoder.h | 2 + deps/v8/src/wasm/function-body-decoder-impl.h | 325 ++ deps/v8/src/wasm/function-body-decoder.cc | 163 +- deps/v8/src/wasm/function-body-decoder.h | 287 +- deps/v8/src/wasm/managed.h | 56 - deps/v8/src/wasm/module-decoder.cc | 97 +- deps/v8/src/wasm/module-decoder.h | 28 + deps/v8/src/wasm/wasm-code-specialization.cc | 263 ++ deps/v8/src/wasm/wasm-code-specialization.h | 70 + deps/v8/src/wasm/wasm-debug.cc | 270 +- deps/v8/src/wasm/wasm-interpreter.cc | 421 ++- deps/v8/src/wasm/wasm-interpreter.h | 71 +- deps/v8/src/wasm/wasm-js.cc | 475 +-- deps/v8/src/wasm/wasm-limits.h | 2 + deps/v8/src/wasm/wasm-macro-gen.h | 73 +- deps/v8/src/wasm/wasm-module-builder.cc | 42 +- deps/v8/src/wasm/wasm-module-builder.h | 6 +- deps/v8/src/wasm/wasm-module.cc | 1694 +++++----- deps/v8/src/wasm/wasm-module.h | 125 +- deps/v8/src/wasm/wasm-objects.cc | 356 ++- deps/v8/src/wasm/wasm-objects.h | 91 +- deps/v8/src/wasm/wasm-opcodes.cc | 231 +- deps/v8/src/wasm/wasm-opcodes.h | 233 +- deps/v8/src/wasm/wasm-text.cc | 120 +- deps/v8/src/x64/assembler-x64-inl.h | 24 +- deps/v8/src/x64/assembler-x64.cc | 19 +- deps/v8/src/x64/assembler-x64.h | 27 +- deps/v8/src/x64/code-stubs-x64.cc | 851 +---- deps/v8/src/x64/code-stubs-x64.h | 4 +- deps/v8/src/x64/codegen-x64.cc | 26 +- deps/v8/src/x64/deoptimizer-x64.cc | 3 +- deps/v8/src/x64/eh-frame-x64.cc | 1 + deps/v8/src/x64/interface-descriptors-x64.cc | 55 +- deps/v8/src/x64/macro-assembler-x64.cc | 91 +- deps/v8/src/x64/macro-assembler-x64.h | 18 +- deps/v8/src/x87/assembler-x87-inl.h | 12 + deps/v8/src/x87/assembler-x87.h | 11 +- deps/v8/src/x87/code-stubs-x87.cc | 120 +- deps/v8/src/x87/codegen-x87.cc | 25 +- deps/v8/src/x87/deoptimizer-x87.cc | 2 +- deps/v8/src/x87/interface-descriptors-x87.cc | 16 +- deps/v8/src/x87/macro-assembler-x87.cc | 38 +- deps/v8/src/x87/macro-assembler-x87.h | 15 +- deps/v8/src/zone/accounting-allocator.cc | 4 +- deps/v8/src/zone/zone-allocator.h | 15 +- deps/v8/src/zone/zone.cc | 9 +- deps/v8/src/zone/zone.h | 4 + deps/v8/test/BUILD.gn | 9 - deps/v8/test/cctest/BUILD.gn | 16 +- deps/v8/test/cctest/asmjs/test-asm-typer.cc | 61 +- deps/v8/test/cctest/ast-types-fuzz.h | 14 +- deps/v8/test/cctest/cctest.cc | 1 + deps/v8/test/cctest/cctest.gyp | 9 +- deps/v8/test/cctest/cctest.status | 26 +- .../v8/test/cctest/compiler/codegen-tester.cc | 3 +- deps/v8/test/cctest/compiler/codegen-tester.h | 1 + .../test/cctest/compiler/function-tester.cc | 10 +- .../compiler/test-basic-block-profiler.cc | 1 + .../cctest/compiler/test-branch-combine.cc | 1 + .../cctest/compiler/test-code-assembler.cc | 1 + .../test/cctest/compiler/test-instruction.cc | 1 + .../test-js-context-specialization.cc | 3 + .../cctest/compiler/test-js-typed-lowering.cc | 40 +- .../cctest/compiler/test-jump-threading.cc | 3 +- deps/v8/test/cctest/compiler/test-linkage.cc | 16 +- .../compiler/test-loop-assignment-analysis.cc | 4 +- .../compiler/test-machine-operator-reducer.cc | 1 + .../cctest/compiler/test-multiple-return.cc | 1 + .../compiler/test-representation-change.cc | 6 +- .../test-run-bytecode-graph-builder.cc | 205 +- .../test-run-calls-to-external-references.cc | 1 + .../cctest/compiler/test-run-jsbranches.cc | 64 - .../cctest/compiler/test-run-load-store.cc | 1 + .../test/cctest/compiler/test-run-machops.cc | 32 + .../cctest/compiler/test-run-native-calls.cc | 1 + .../v8/test/cctest/compiler/test-run-stubs.cc | 1 + .../cctest/compiler/test-run-wasm-machops.cc | 13 +- deps/v8/test/cctest/compiler/value-helper.h | 14 + deps/v8/test/cctest/ffi/OWNERS | 2 + deps/v8/test/cctest/ffi/test-ffi.cc | 222 ++ deps/v8/test/cctest/heap/heap-tester.h | 4 +- deps/v8/test/cctest/heap/test-alloc.cc | 2 +- deps/v8/test/cctest/heap/test-heap.cc | 668 +--- .../cctest/heap/test-incremental-marking.cc | 3 + deps/v8/test/cctest/heap/test-mark-compact.cc | 1 + .../test/cctest/heap/test-page-promotion.cc | 2 +- .../bytecode-expectations-printer.cc | 17 +- .../ArrayLiterals.golden | 36 +- .../ArrayLiteralsWide.golden | 2 +- .../AssignmentsInBinaryExpression.golden | 62 +- .../BasicBlockToBoolean.golden | 14 +- .../bytecode_expectations/BasicLoops.golden | 150 +- .../BreakableBlocks.golden | 22 +- .../CallAndSpread.golden | 107 + .../bytecode_expectations/CallGlobal.golden | 6 +- .../CallLookupSlot.golden | 4 +- .../bytecode_expectations/CallNew.golden | 14 +- .../bytecode_expectations/CallRuntime.golden | 6 +- .../ClassAndSuperClass.golden | 14 +- .../ClassDeclarations.golden | 38 +- .../CompoundExpressions.golden | 34 +- .../bytecode_expectations/Conditional.golden | 14 +- .../ConstVariable.golden | 10 +- .../ConstVariableContextSlot.golden | 12 +- .../ContextVariables.golden | 12 +- .../CountOperators.golden | 54 +- .../DeadCodeRemoval.golden | 10 +- .../DeclareGlobals.golden | 6 +- .../bytecode_expectations/Delete.golden | 18 +- .../bytecode_expectations/DoExpression.golden | 4 +- .../bytecode_expectations/Eval.golden | 4 +- .../bytecode_expectations/ForAwaitOf.golden | 1803 +++++++++++ .../bytecode_expectations/ForIn.golden | 46 +- .../bytecode_expectations/ForOf.golden | 154 +- .../FunctionLiterals.golden | 2 +- .../GenerateTestUndetectable.golden | 48 +- .../bytecode_expectations/Generators.golden | 202 +- .../GlobalCompoundExpressions.golden | 4 +- .../bytecode_expectations/GlobalDelete.golden | 2 +- .../bytecode_expectations/IfConditions.golden | 50 +- .../IntegerConstants.golden | 10 +- .../JumpsRequiringConstantWideOperands.golden | 10 +- .../bytecode_expectations/LetVariable.golden | 10 +- .../LetVariableContextSlot.golden | 12 +- .../LogicalExpressions.golden | 574 ++-- .../bytecode_expectations/LookupSlot.golden | 22 +- .../LookupSlotInEval.golden | 4 +- .../LookupSlotWideInEval.golden | 4 +- .../bytecode_expectations/Modules.golden | 194 +- .../bytecode_expectations/NewAndSpread.golden | 157 + .../ObjectLiterals.golden | 66 +- .../ObjectLiteralsWide.golden | 2 +- .../OuterContextVariables.golden | 6 +- .../bytecode_expectations/Parameters.golden | 4 +- .../PrimitiveExpressions.golden | 42 +- .../PrimitiveReturnStatements.golden | 10 +- .../bytecode_expectations/PropertyCall.golden | 6 +- .../PropertyLoads.golden | 4 +- .../PropertyStores.golden | 1036 +++---- .../RegExpLiterals.golden | 8 +- .../RegExpLiteralsWide.golden | 2 +- .../RemoveRedundantLdar.golden | 12 +- .../bytecode_expectations/StoreGlobal.golden | 10 +- .../SuperCallAndSpread.golden | 29 +- .../bytecode_expectations/Switch.golden | 208 +- .../bytecode_expectations/Throw.golden | 4 +- .../TopLevelObjectLiterals.golden | 4 +- .../bytecode_expectations/TryCatch.golden | 10 +- .../bytecode_expectations/TryFinally.golden | 28 +- .../bytecode_expectations/Typeof.golden | 2 +- .../UnaryOperators.golden | 28 +- .../WideRegisters.golden | 14 +- .../WithStatement.golden | 2 +- .../generate-bytecode-expectations.cc | 11 + .../cctest/interpreter/interpreter-tester.cc | 11 +- .../cctest/interpreter/interpreter-tester.h | 17 +- .../interpreter/test-bytecode-generator.cc | 67 + .../test-interpreter-intrinsics.cc | 22 +- .../cctest/interpreter/test-interpreter.cc | 1000 +++--- deps/v8/test/cctest/parsing/test-preparser.cc | 567 ++++ deps/v8/test/cctest/scope-test-helper.h | 79 + deps/v8/test/cctest/test-access-checks.cc | 55 + .../v8/test/cctest/test-accessor-assembler.cc | 7 +- deps/v8/test/cctest/test-accessors.cc | 4 +- deps/v8/test/cctest/test-api-accessors.cc | 83 + deps/v8/test/cctest/test-api-interceptors.cc | 239 +- deps/v8/test/cctest/test-api.cc | 213 +- deps/v8/test/cctest/test-assembler-arm.cc | 87 + deps/v8/test/cctest/test-assembler-ia32.cc | 2 +- deps/v8/test/cctest/test-assembler-mips.cc | 81 +- deps/v8/test/cctest/test-assembler-mips64.cc | 81 +- deps/v8/test/cctest/test-assembler-x64.cc | 2 + deps/v8/test/cctest/test-assembler-x87.cc | 2 +- deps/v8/test/cctest/test-code-layout.cc | 4 +- .../test/cctest/test-code-stub-assembler.cc | 115 +- deps/v8/test/cctest/test-code-stubs-x64.cc | 1 + deps/v8/test/cctest/test-code-stubs.cc | 2 + deps/v8/test/cctest/test-compiler.cc | 9 +- deps/v8/test/cctest/test-cpu-profiler.cc | 12 +- deps/v8/test/cctest/test-debug.cc | 115 +- deps/v8/test/cctest/test-deoptimization.cc | 1 + deps/v8/test/cctest/test-dictionary.cc | 19 +- deps/v8/test/cctest/test-disasm-arm.cc | 24 + deps/v8/test/cctest/test-disasm-ia32.cc | 3 - deps/v8/test/cctest/test-disasm-x64.cc | 5 +- deps/v8/test/cctest/test-elements-kind.cc | 70 +- deps/v8/test/cctest/test-feedback-vector.cc | 193 +- deps/v8/test/cctest/test-feedback-vector.h | 15 +- .../test/cctest/test-field-type-tracking.cc | 888 ++++-- deps/v8/test/cctest/test-flags.cc | 2 +- .../test/cctest/test-func-name-inference.cc | 1 + deps/v8/test/cctest/test-hashing.cc | 2 +- deps/v8/test/cctest/test-heap-profiler.cc | 91 +- deps/v8/test/cctest/test-identity-map.cc | 356 ++- .../cctest/test-inobject-slack-tracking.cc | 126 + deps/v8/test/cctest/test-log-stack-tracer.cc | 1 + .../cctest/test-macro-assembler-mips64.cc | 2 +- .../test/cctest/test-macro-assembler-x64.cc | 1 + deps/v8/test/cctest/test-managed.cc | 78 + deps/v8/test/cctest/test-modules.cc | 16 +- deps/v8/test/cctest/test-object.cc | 3 - deps/v8/test/cctest/test-parsing.cc | 1463 +++++++-- deps/v8/test/cctest/test-profile-generator.cc | 35 +- deps/v8/test/cctest/test-regexp.cc | 6 +- .../cctest/test-run-wasm-relocation-arm.cc | 24 +- .../cctest/test-run-wasm-relocation-arm64.cc | 24 +- .../cctest/test-run-wasm-relocation-ia32.cc | 24 +- .../cctest/test-run-wasm-relocation-x64.cc | 26 +- .../cctest/test-run-wasm-relocation-x87.cc | 23 +- deps/v8/test/cctest/test-serialize.cc | 122 +- deps/v8/test/cctest/test-simd.cc | 129 - deps/v8/test/cctest/test-simulator-arm.cc | 387 +++ deps/v8/test/cctest/test-strings.cc | 27 + deps/v8/test/cctest/test-transitions.cc | 40 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 241 +- deps/v8/test/cctest/test-utils.cc | 10 +- deps/v8/test/cctest/test-weakmaps.cc | 11 +- deps/v8/test/cctest/test-weaksets.cc | 11 +- deps/v8/test/cctest/unicode-helpers.h | 32 + deps/v8/test/cctest/wasm/test-managed.cc | 59 - deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 6 + .../test/cctest/wasm/test-run-wasm-asmjs.cc | 1 + .../cctest/wasm/test-run-wasm-interpreter.cc | 69 +- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 2 +- .../test/cctest/wasm/test-run-wasm-module.cc | 39 +- .../cctest/wasm/test-run-wasm-relocation.cc | 3 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 922 +++++- deps/v8/test/cctest/wasm/test-run-wasm.cc | 7 +- .../test/cctest/wasm/test-wasm-breakpoints.cc | 221 +- .../wasm/test-wasm-interpreter-entry.cc | 232 ++ deps/v8/test/cctest/wasm/test-wasm-stack.cc | 2 +- .../cctest/wasm/test-wasm-trap-position.cc | 3 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 97 +- .../v8/test/common/wasm/wasm-module-runner.cc | 11 +- deps/v8/test/common/wasm/wasm-module-runner.h | 5 +- .../debugger/debug/debug-compile-optimized.js | 1 + .../debugger/debug/debug-evaluate-closure.js | 1 + .../debug/debug-evaluate-nested-let.js | 1 + .../debug-evaluate-no-side-effect-builtins.js | 46 +- .../debug-evaluate-no-side-effect-control.js | 109 + .../debug/debug-evaluate-no-side-effect.js | 8 +- .../debug/debug-liveedit-check-stack.js | 21 +- .../debug/debug-liveedit-double-call.js | 2 +- .../debug/debug-liveedit-replace-code.js | 33 + deps/v8/test/debugger/debug/debug-optimize.js | 1 + .../debugger/debug/debug-scripts-throw.js | 12 - .../debug/debug-set-variable-value.js | 3 + .../debug/debug-stepframe-clearing.js | 96 - .../v8/test/debugger/debug/debug-stepframe.js | 109 - .../debugger/debug/es6/debug-blockscopes.js | 2 +- .../debug/es6/debug-evaluate-blockscopes.js | 2 + .../debug/es6/debug-liveedit-new-target-1.js | 21 +- .../debug/es6/debug-liveedit-new-target-2.js | 21 +- .../debug/es6/debug-liveedit-new-target-3.js | 21 +- .../debug/es6/generators-debug-liveedit.js | 21 +- .../debug/es8/debug-async-liveedit.js | 21 +- .../ignition/debug-step-prefix-bytecodes.js | 2 - .../debug/ignition/debugger-statement.js | 2 - .../debug/regress/regress-crbug-323936.js | 1 + .../debug/regress/regress-crbug-633999.js | 2 +- .../regress/regress-opt-after-debug-deopt.js | 1 + .../regress-prepare-break-while-recompile.js | 1 + deps/v8/test/debugger/debugger.status | 26 +- .../test/debugger/regress/regress-5901-1.js | 50 + .../test/debugger/regress/regress-5901-2.js | 45 + deps/v8/test/debugger/regress/regress-5950.js | 37 + deps/v8/test/debugger/test-api.js | 26 +- deps/v8/test/fuzzer/README.md | 91 + deps/v8/test/fuzzer/fuzzer.gyp | 29 + deps/v8/test/fuzzer/fuzzer.isolate | 2 + deps/v8/test/fuzzer/parser.cc | 3 +- deps/v8/test/fuzzer/testcfg.py | 7 +- deps/v8/test/fuzzer/wasm-asmjs.cc | 6 + deps/v8/test/fuzzer/wasm-call.cc | 15 +- deps/v8/test/fuzzer/wasm-code.cc | 13 +- deps/v8/test/fuzzer/wasm-compile.cc | 447 +++ deps/v8/test/fuzzer/wasm-data-section.cc | 1 + .../test/fuzzer/wasm-function-sigs-section.cc | 1 + deps/v8/test/fuzzer/wasm-globals-section.cc | 1 + deps/v8/test/fuzzer/wasm-imports-section.cc | 1 + deps/v8/test/fuzzer/wasm-memory-section.cc | 1 + deps/v8/test/fuzzer/wasm-names-section.cc | 1 + deps/v8/test/fuzzer/wasm-section-fuzzers.cc | 1 + deps/v8/test/fuzzer/wasm-section-fuzzers.h | 2 +- deps/v8/test/fuzzer/wasm-types-section.cc | 1 + deps/v8/test/fuzzer/wasm.cc | 6 + deps/v8/test/fuzzer/wasm_compile/foo | 0 .../console/destroy-context-during-log.js | 2 + .../cpu-profiler/coverage-expected.txt | 333 ++ .../test/inspector/cpu-profiler/coverage.js | 100 + .../async-instrumentation-expected.txt | 6 +- .../debugger/async-instrumentation.js | 2 +- .../debugger/async-stack-await-expected.txt | 13 +- .../inspector/debugger/async-stack-await.js | 7 +- .../async-stack-created-frame-expected.txt | 100 + .../debugger/async-stack-created-frame.js | 178 ++ .../async-stack-for-promise-expected.txt | 79 +- .../debugger/async-stack-for-promise.js | 7 +- .../debugger/async-stacks-limit-expected.txt | 35 +- .../inspector/debugger/async-stacks-limit.js | 60 +- .../es6-module-script-parsed-expected.txt | 55 + .../debugger/es6-module-script-parsed.js | 28 + .../es6-module-set-script-source-expected.txt | 8 + .../debugger/es6-module-set-script-source.js | 33 + .../debugger/framework-break-expected.txt | 70 + .../inspector/debugger/framework-break.js | 234 ++ ...mework-nested-scheduled-break-expected.txt | 41 + .../framework-nested-scheduled-break.js | 49 + .../framework-precise-ranges-expected.txt | 140 + .../debugger/framework-precise-ranges.js | 78 + .../debugger/framework-stepping-expected.txt | 100 + .../inspector/debugger/framework-stepping.js | 113 + .../get-possible-breakpoints-array-literal.js | 2 +- .../get-possible-breakpoints-expected.txt | 1238 ++------ .../debugger/get-possible-breakpoints.js | 214 +- .../debugger/inspector-break-api-expected.txt | 38 + .../inspector/debugger/inspector-break-api.js | 50 + ...t-preview-internal-properties-expected.txt | 32 +- .../debugger/pause-on-oom-expected.txt | 2 + .../test/inspector/debugger/pause-on-oom.js | 28 + .../script-on-after-compile-expected.txt | 39 + ...t-parsed-for-runtime-evaluate-expected.txt | 6 + .../set-script-source-exception-expected.txt | 2 +- ...de-effect-free-debug-evaluate-expected.txt | 5 + .../side-effect-free-debug-evaluate.js | 56 + .../step-into-next-script-expected.txt | 83 + .../debugger/step-into-next-script.js | 51 + .../stepping-with-blackboxed-ranges.js | 13 +- .../wasm-get-breakable-locations-expected.txt | 87 + .../debugger/wasm-get-breakable-locations.js | 208 ++ .../debugger/wasm-stepping-expected.txt | 83 + .../test/inspector/debugger/wasm-stepping.js | 160 + .../take-heap-snapshot-on-pause-expected.txt | 2 + .../take-heap-snapshot-on-pause.js | 24 + deps/v8/test/inspector/inspector-impl.cc | 6 + deps/v8/test/inspector/inspector-impl.h | 12 +- deps/v8/test/inspector/inspector-test.cc | 176 +- deps/v8/test/inspector/inspector.status | 5 + deps/v8/test/inspector/protocol-test.js | 34 +- .../runtime/console-methods-expected.txt | 648 ++++ .../test/inspector/runtime/console-methods.js | 36 + .../console-time-end-format-expected.txt | 29 + .../runtime/console-time-end-format.js | 45 + .../inspector/runtime/es6-module-expected.txt | 240 ++ deps/v8/test/inspector/runtime/es6-module.js | 61 + .../internal-properties-entries-expected.txt | 691 +++++ .../runtime/internal-properties-entries.js | 65 + .../runtime/internal-properties-expected.txt | 576 ++++ .../inspector/runtime/internal-properties.js | 70 + ...l-works-with-different-locale-expected.txt | 13 +- .../protocol-works-with-different-locale.js | 20 +- deps/v8/test/inspector/task-runner.cc | 82 +- deps/v8/test/inspector/task-runner.h | 32 +- deps/v8/test/inspector/testcfg.py | 2 +- .../intl/number-format/check-digit-ranges.js | 2 + deps/v8/test/js-perf-test/JSTests.json | 53 + deps/v8/test/js-perf-test/SixSpeed.json | 129 +- .../array_destructuring.js | 38 - .../SixSpeed/array_destructuring/es5.js | 17 + .../SixSpeed/array_destructuring/es6.js | 17 + .../SixSpeed/array_destructuring/run.js | 25 - .../js-perf-test/SixSpeed/defaults/es5.js | 23 + .../js-perf-test/SixSpeed/defaults/es6.js | 21 + .../SixSpeed/object_literals/es5.js | 18 + .../SixSpeed/object_literals/es6.js | 19 + .../object_literals/object_literals.js | 41 - .../js-perf-test/SixSpeed/{spread => }/run.js | 13 +- .../js-perf-test/SixSpeed/spread/babel.js | 15 + .../test/js-perf-test/SixSpeed/spread/es5.js | 15 + .../test/js-perf-test/SixSpeed/spread/es6.js | 15 + .../js-perf-test/SixSpeed/spread/spread.js | 73 - .../SixSpeed/spread_literal/babel.js | 14 + .../SixSpeed/spread_literal/es5.js | 16 + .../SixSpeed/spread_literal/es6.js | 14 + .../SixSpeed/super_spread/babel.js | 75 + .../js-perf-test/SixSpeed/super_spread/es5.js | 28 + .../js-perf-test/SixSpeed/super_spread/es6.js | 28 + .../TypedArrays/construct-arraylike.js | 13 + .../TypedArrays/construct-buffer.js | 13 + .../js-perf-test/TypedArrays/constructor.js | 11 + .../js-perf-test/TypedArrays/copywithin.js | 32 + .../object_literals => TypedArrays}/run.js | 9 +- deps/v8/test/js-perf-test/TypedArrays/sort.js | 33 + .../formal-parameters-trailing-comma.js | 2 +- .../formal-parameters-trailing-comma.out | 6 +- ...destructuring-brace-in-single-statement.js | 5 + ...estructuring-brace-in-single-statement.out | 4 + ...ation-destructuring-in-single-statement.js | 5 + ...tion-destructuring-in-single-statement.out | 4 + ...lexical-declaration-in-single-statement.js | 5 + ...exical-declaration-in-single-statement.out | 4 + deps/v8/test/mjsunit/allocation-site-info.js | 4 +- deps/v8/test/mjsunit/arguments-deopt.js | 90 + .../mjsunit/array-bounds-check-removal.js | 4 +- .../mjsunit/array-constructor-feedback.js | 54 +- deps/v8/test/mjsunit/array-feedback.js | 2 +- .../mjsunit/array-functions-prototype-misc.js | 2 +- .../v8/test/mjsunit/array-literal-feedback.js | 2 +- .../test/mjsunit/array-literal-transitions.js | 9 +- .../mjsunit/array-methods-read-only-length.js | 6 +- deps/v8/test/mjsunit/array-push5.js | 2 +- deps/v8/test/mjsunit/array-shift4.js | 2 +- deps/v8/test/mjsunit/array-sort.js | 23 + deps/v8/test/mjsunit/array-store-and-grow.js | 8 +- deps/v8/test/mjsunit/asm/asm-validation.js | 83 + deps/v8/test/mjsunit/asm/do-while-false.js | 10 +- deps/v8/test/mjsunit/asm/do-while.js | 8 +- .../asm/float32array-negative-offset.js | 6 +- .../mjsunit/asm/float32array-outofbounds.js | 3 +- .../mjsunit/asm/float32array-store-div.js | 5 +- .../asm/float64array-negative-offset.js | 6 +- .../mjsunit/asm/float64array-outofbounds.js | 3 +- .../mjsunit/asm/float64array-store-div.js | 5 +- deps/v8/test/mjsunit/asm/float64mul.js | 2 +- deps/v8/test/mjsunit/asm/if-cloning.js | 4 +- deps/v8/test/mjsunit/asm/if-folding.js | 64 +- deps/v8/test/mjsunit/asm/if-reduction.js | 112 +- deps/v8/test/mjsunit/asm/if-tonumber.js | 4 +- .../test/mjsunit/asm/infinite-loops-taken.js | 1 + .../mjsunit/asm/int16array-negative-offset.js | 4 +- .../mjsunit/asm/int16array-outofbounds.js | 15 +- deps/v8/test/mjsunit/asm/int32-div.js | 8 +- deps/v8/test/mjsunit/asm/int32-mod.js | 16 +- deps/v8/test/mjsunit/asm/int32-mul.js | 10 +- deps/v8/test/mjsunit/asm/int32-tmod.js | 10 +- deps/v8/test/mjsunit/asm/int32-udiv.js | 16 +- deps/v8/test/mjsunit/asm/int32-umod.js | 16 +- .../mjsunit/asm/int32array-constant-key.js | 40 +- .../mjsunit/asm/int32array-negative-offset.js | 4 +- .../mjsunit/asm/int32array-outofbounds.js | 2 +- .../test/mjsunit/asm/int32array-unaligned.js | 2 +- deps/v8/test/mjsunit/asm/int32div.js | 16 +- deps/v8/test/mjsunit/asm/int32mod-constant.js | 16 +- deps/v8/test/mjsunit/asm/int32mod.js | 2 +- deps/v8/test/mjsunit/asm/int32modb.js | 2 +- .../mjsunit/asm/int8array-negative-offset.js | 4 +- deps/v8/test/mjsunit/asm/load-elimination.js | 9 +- deps/v8/test/mjsunit/asm/math-abs.js | 6 +- deps/v8/test/mjsunit/asm/math-ceil.js | 2 +- deps/v8/test/mjsunit/asm/math-clz32.js | 4 +- deps/v8/test/mjsunit/asm/math-floor.js | 4 +- deps/v8/test/mjsunit/asm/redundancy1.js | 8 +- deps/v8/test/mjsunit/asm/redundancy2.js | 8 +- deps/v8/test/mjsunit/asm/regress-674089.js | 16 + deps/v8/test/mjsunit/asm/regress-681707.js | 18 + deps/v8/test/mjsunit/asm/switch.js | 10 +- .../mjsunit/asm/uint32-less-than-shift.js | 9 +- deps/v8/test/mjsunit/asm/uint32div.js | 20 +- .../v8/test/mjsunit/asm/uint32mod-constant.js | 18 +- deps/v8/test/mjsunit/asm/uint32mod.js | 8 +- .../mjsunit/asm/uint8array-outofbounds.js | 2 +- deps/v8/test/mjsunit/asm/word32and.js | 16 +- deps/v8/test/mjsunit/asm/word32ror.js | 4 +- deps/v8/test/mjsunit/asm/zero-extend.js | 8 +- deps/v8/test/mjsunit/assert-opt-and-deopt.js | 37 +- deps/v8/test/mjsunit/code-coverage-ad-hoc.js | 74 + deps/v8/test/mjsunit/code-coverage-precise.js | 68 + deps/v8/test/mjsunit/compiler/alloc-object.js | 2 +- .../concurrent-invalidate-transition-map.js | 6 +- .../compiler/concurrent-proto-change.js | 5 +- .../compiler/deopt-inlined-from-call.js | 2 +- .../compiler/deopt-numberoroddball-binop.js | 2 +- .../compiler/deopt-string-outofbounds.js | 2 +- .../mjsunit/compiler/escape-analysis-15.js | 19 + .../escape-analysis-representation.js | 2 +- .../compiler/increment-typefeedback.js | 2 +- .../test/mjsunit/compiler/inline-accessors.js | 8 +- .../test/mjsunit/compiler/inline-arguments.js | 6 +- .../test/mjsunit/compiler/inline-construct.js | 4 +- .../mjsunit/compiler/inline-function-apply.js | 6 +- .../mjsunit/compiler/inlined-array-pop-opt.js | 2 +- deps/v8/test/mjsunit/compiler/inlined-call.js | 2 +- .../mjsunit/compiler/integral32-add-sub.js | 2 +- deps/v8/test/mjsunit/compiler/literals.js | 4 + .../compiler/manual-concurrent-recompile.js | 1 + .../mjsunit/compiler/opt-next-call-turbo.js | 2 +- .../v8/test/mjsunit/compiler/opt-next-call.js | 2 +- .../compiler/optimized-float32array-length.js | 2 +- .../compiler/optimized-float64array-length.js | 2 +- .../compiler/optimized-int32array-length.js | 2 +- .../compiler/optimized-uint32array-length.js | 2 +- deps/v8/test/mjsunit/compiler/regress-5320.js | 2 +- .../test/mjsunit/compiler/regress-675704.js | 26 + .../regress-strict-equals-mixed-feedback.js | 2 +- deps/v8/test/mjsunit/compiler/shift-shr.js | 29 + .../mjsunit/compiler/uint8-clamped-array.js | 2 +- .../concurrent-initial-prototype-change.js | 4 +- deps/v8/test/mjsunit/const-field-tracking.js | 268 ++ deps/v8/test/mjsunit/constant-folding-2.js | 3 +- deps/v8/test/mjsunit/date-parse.js | 32 +- deps/v8/test/mjsunit/date.js | 110 +- deps/v8/test/mjsunit/deopt-minus-zero.js | 2 +- deps/v8/test/mjsunit/deopt-with-fp-regs.js | 6 +- .../mjsunit/deserialize-optimize-inner.js | 1 + deps/v8/test/mjsunit/div-mul-minus-one.js | 2 +- deps/v8/test/mjsunit/double-equals.js | 8 - deps/v8/test/mjsunit/elements-kind.js | 2 +- .../mjsunit/elements-transition-hoisting.js | 18 +- deps/v8/test/mjsunit/elements-transition.js | 2 +- .../mjsunit/ensure-growing-store-learns.js | 52 +- .../test/mjsunit/es6/array-iterator-turbo.js | 45 +- .../es6/block-let-crankshaft-sloppy.js | 6 +- .../test/mjsunit/es6/block-let-crankshaft.js | 6 +- .../test/mjsunit/es6/block-scoping-sloppy.js | 4 +- deps/v8/test/mjsunit/es6/block-scoping.js | 4 +- .../call-with-spread-modify-array-iterator.js | 37 + .../es6/call-with-spread-modify-next.js | 42 + deps/v8/test/mjsunit/es6/call-with-spread.js | 113 + deps/v8/test/mjsunit/es6/promises.js | 5 +- deps/v8/test/mjsunit/es6/reflect-construct.js | 24 + .../mjsunit/es6/regress/regress-5929-1.js | 14 + .../test/mjsunit/es6/spread-call-new-class.js | 79 + deps/v8/test/mjsunit/es6/spread-call.js | 6 + ...super-with-spread-modify-array-iterator.js | 51 + .../es6/super-with-spread-modify-next.js | 56 + deps/v8/test/mjsunit/es6/super-with-spread.js | 88 + .../test/mjsunit/es6/typedarray-copywithin.js | 74 + deps/v8/test/mjsunit/es6/typedarray-sort.js | 8 + deps/v8/test/mjsunit/es7/array-includes.js | 1 + .../test/mjsunit/es7/regress/regress-5986.js | 29 + deps/v8/test/mjsunit/es8/async-await-basic.js | 172 ++ .../mjsunit/es8/async-await-no-constructor.js | 2 +- deps/v8/test/mjsunit/external-array.js | 18 +- deps/v8/test/mjsunit/extra-commas.js | 8 +- .../v8/test/mjsunit/fast-element-smi-check.js | 4 +- deps/v8/test/mjsunit/field-type-tracking.js | 9 + deps/v8/test/mjsunit/getters-on-elements.js | 4 +- .../harmony/async-from-sync-iterator.js | 670 ++++ deps/v8/test/mjsunit/harmony/atomics.js | 9 + .../v8/test/mjsunit/harmony/do-expressions.js | 3 +- deps/v8/test/mjsunit/harmony/for-await-of.js | 1264 ++++++++ .../test/mjsunit/harmony/function-tostring.js | 124 + deps/v8/test/mjsunit/harmony/futex.js | 14 + .../test/mjsunit/harmony/object-rest-basic.js | 159 + .../mjsunit/harmony/object-spread-basic.js | 2 +- .../harmony/promise-prototype-finally.js | 661 ++++ .../mjsunit/harmony/regexp-named-captures.js | 40 +- deps/v8/test/mjsunit/harmony/simd.js | 636 ---- .../mjsunit/harmony/symbol-async-iterator.js | 14 + .../test/mjsunit/harmony/template-escapes.js | 785 +++++ .../ignition/stack-trace-source-position.js | 7 +- .../immutable-context-slot-inlining.js | 30 + .../mjsunit/keyed-load-hole-to-undefined.js | 2 +- .../mjsunit/keyed-load-with-string-key.js | 2 +- .../mjsunit/keyed-load-with-symbol-key.js | 3 +- .../mjsunit/math-floor-of-div-minus-zero.js | 2 +- deps/v8/test/mjsunit/math-imul.js | 4 +- deps/v8/test/mjsunit/messages.js | 15 +- deps/v8/test/mjsunit/mjsunit.isolate | 7 +- deps/v8/test/mjsunit/mjsunit.js | 111 +- deps/v8/test/mjsunit/mjsunit.status | 47 +- deps/v8/test/mjsunit/modules-namespace1.js | 4 +- .../{modules-turbo.js => modules-turbo1.js} | 2 +- deps/v8/test/mjsunit/modules-turbo2.js | 17 + deps/v8/test/mjsunit/never-optimize.js | 46 +- deps/v8/test/mjsunit/object-seal.js | 2 +- deps/v8/test/mjsunit/opt-elements-kind.js | 6 +- .../mjsunit/parallel-optimize-disabled.js | 2 +- .../proto-elements-add-during-foreach.js | 12 + deps/v8/test/mjsunit/readonly.js | 4 +- deps/v8/test/mjsunit/regexp.js | 6 +- .../test/mjsunit/regress/compare-map-elim1.js | 2 +- deps/v8/test/mjsunit/regress/regress-2132.js | 2 +- deps/v8/test/mjsunit/regress/regress-2250.js | 2 +- deps/v8/test/mjsunit/regress/regress-2315.js | 2 +- deps/v8/test/mjsunit/regress/regress-2339.js | 2 +- deps/v8/test/mjsunit/regress/regress-2437.js | 24 +- deps/v8/test/mjsunit/regress/regress-2438.js | 8 +- deps/v8/test/mjsunit/regress/regress-2451.js | 2 +- deps/v8/test/mjsunit/regress/regress-2470.js | 6 +- .../v8/test/mjsunit/regress/regress-252797.js | 2 +- deps/v8/test/mjsunit/regress/regress-2618.js | 6 +- deps/v8/test/mjsunit/regress/regress-3176.js | 2 +- deps/v8/test/mjsunit/regress/regress-3281.js | 14 - .../v8/test/mjsunit/regress/regress-347914.js | 1 + .../v8/test/mjsunit/regress/regress-3650-3.js | 2 +- deps/v8/test/mjsunit/regress/regress-3709.js | 4 +- .../v8/test/mjsunit/regress/regress-385565.js | 2 +- .../v8/test/mjsunit/regress/regress-410912.js | 2 +- deps/v8/test/mjsunit/regress/regress-4121.js | 10 +- deps/v8/test/mjsunit/regress/regress-4173.js | 4 +- deps/v8/test/mjsunit/regress/regress-4380.js | 2 +- deps/v8/test/mjsunit/regress/regress-5404.js | 2 +- .../v8/test/mjsunit/regress/regress-5636-1.js | 22 + .../v8/test/mjsunit/regress/regress-5636-2.js | 23 + deps/v8/test/mjsunit/regress/regress-5638.js | 32 + deps/v8/test/mjsunit/regress/regress-5638b.js | 44 + deps/v8/test/mjsunit/regress/regress-5692.js | 16 + deps/v8/test/mjsunit/regress/regress-5790.js | 2 +- deps/v8/test/mjsunit/regress/regress-5802.js | 2 +- deps/v8/test/mjsunit/regress/regress-5845.js | 6 + deps/v8/test/mjsunit/regress/regress-5888.js | 76 + deps/v8/test/mjsunit/regress/regress-5902.js | 63 + deps/v8/test/mjsunit/regress/regress-5911.js | 32 + deps/v8/test/mjsunit/regress/regress-5927.js | 7 + deps/v8/test/mjsunit/regress/regress-5938.js | 14 + deps/v8/test/mjsunit/regress/regress-5972.js | 17 + deps/v8/test/mjsunit/regress/regress-5974.js | 9 + deps/v8/test/mjsunit/regress/regress-6063.js | 17 + deps/v8/test/mjsunit/regress/regress-6121.js | 23 + .../v8/test/mjsunit/regress/regress-618608.js | 38 +- .../v8/test/mjsunit/regress/regress-618657.js | 2 +- deps/v8/test/mjsunit/regress/regress-6209.js | 25 + deps/v8/test/mjsunit/regress/regress-6210.js | 34 + .../v8/test/mjsunit/regress/regress-681984.js | 13 + .../v8/test/mjsunit/regress/regress-682242.js | 18 + .../v8/test/mjsunit/regress/regress-682349.js | 13 + .../v8/test/mjsunit/regress/regress-683617.js | 17 + .../v8/test/mjsunit/regress/regress-685086.js | 8 + .../v8/test/mjsunit/regress/regress-688690.js | 16 + .../v8/test/mjsunit/regress/regress-689016.js | 12 + .../v8/test/mjsunit/regress/regress-696251.js | 7 + .../v8/test/mjsunit/regress/regress-696651.js | 22 + .../v8/test/mjsunit/regress/regress-704811.js | 88 + .../test/mjsunit/regress/regress-706234-2.js | 37 + .../v8/test/mjsunit/regress/regress-706234.js | 8 + .../v8/test/mjsunit/regress/regress-708247.js | 26 + .../mjsunit/regress/regress-crbug-471702.js | 7 - .../mjsunit/regress/regress-crbug-500497.js | 2 +- .../mjsunit/regress/regress-crbug-505007-2.js | 20 - .../mjsunit/regress/regress-crbug-506443.js | 2 +- .../mjsunit/regress/regress-crbug-514081.js | 16 +- .../mjsunit/regress/regress-crbug-554831.js | 2 +- .../mjsunit/regress/regress-crbug-587068.js | 2 +- .../mjsunit/regress/regress-crbug-594183.js | 8 +- .../mjsunit/regress/regress-crbug-681983.js | 18 + .../mjsunit/regress/regress-crbug-683581.js | 13 + .../mjsunit/regress/regress-crbug-684208.js | 15 + .../mjsunit/regress/regress-crbug-685050.js | 19 + .../mjsunit/regress/regress-crbug-685504.js | 18 + .../mjsunit/regress/regress-crbug-685506.js | 26 + .../mjsunit/regress/regress-crbug-685634.js | 14 + .../mjsunit/regress/regress-crbug-685680.js | 15 + .../mjsunit/regress/regress-crbug-685965.js | 13 + .../mjsunit/regress/regress-crbug-686737.js | 13 + .../mjsunit/regress/regress-crbug-687029.js | 14 + .../mjsunit/regress/regress-crbug-687990.js | 16 + .../mjsunit/regress/regress-crbug-694416.js | 17 + .../mjsunit/regress/regress-crbug-694709.js | 13 + .../mjsunit/regress/regress-crbug-702058-1.js | 10 + .../mjsunit/regress/regress-crbug-702058-2.js | 10 + .../mjsunit/regress/regress-crbug-702058-3.js | 10 + .../mjsunit/regress/regress-crbug-706642.js | 37 + .../regress/regress-embedded-cons-string.js | 1 + .../regress/regress-map-invalidation-2.js | 4 +- .../regress/regress-param-local-type.js | 2 +- .../regress/regress-store-uncacheable.js | 2 +- .../test/mjsunit/regress/regress-v8-5697.js | 4 +- .../test/mjsunit/regress/regress-v8-5958.js | 16 + .../test/mjsunit/regress/wasm/regress-5860.js | 30 + .../mjsunit/regress/wasm/regression-02256.js | 1 + .../mjsunit/regress/wasm/regression-02256b.js | 1 + .../mjsunit/regress/wasm/regression-6054.js | 342 ++ .../mjsunit/regress/wasm/regression-688876.js | 42 + .../mjsunit/regress/wasm/regression-689450.js | 25 + .../mjsunit/regress/wasm/regression-694433.js | 6 + .../mjsunit/regress/wasm/regression-698587.js | 10 + .../mjsunit/regress/wasm/regression-699485.js | 22 + deps/v8/test/mjsunit/setters-on-elements.js | 3 +- .../shared-function-tier-up-default.js | 17 +- .../shared-function-tier-up-ignition.js | 41 - .../mjsunit/shared-function-tier-up-turbo.js | 16 +- deps/v8/test/mjsunit/shift-for-integer-div.js | 2 +- deps/v8/test/mjsunit/sin-cos.js | 2 +- deps/v8/test/mjsunit/smi-mul-const.js | 2 +- deps/v8/test/mjsunit/smi-mul.js | 2 +- deps/v8/test/mjsunit/smi-representation.js | 6 +- deps/v8/test/mjsunit/string-indexof-1.js | 96 + deps/v8/test/mjsunit/string-replace.js | 13 + .../v8/test/mjsunit/strong-rooted-literals.js | 55 + deps/v8/test/mjsunit/thin-strings.js | 90 + .../tools/tickprocessor-test.func-info | 10 +- deps/v8/test/mjsunit/track-fields.js | 3 + deps/v8/test/mjsunit/typed-array-slice.js | 2 +- deps/v8/test/mjsunit/unary-minus-deopt.js | 2 +- deps/v8/test/mjsunit/unbox-double-arrays.js | 4 +- deps/v8/test/mjsunit/wasm/asm-wasm.js | 16 + .../mjsunit/wasm/float-constant-folding.js | 249 +- deps/v8/test/mjsunit/wasm/import-memory.js | 14 + deps/v8/test/mjsunit/wasm/js-api.js | 36 +- deps/v8/test/mjsunit/wasm/jsapi-harness.js | 83 + .../test/mjsunit/wasm/wasm-module-builder.js | 16 + deps/v8/test/mozilla/mozilla.status | 5 - deps/v8/test/perf.isolate | 1 - deps/v8/test/simdjs/SimdJs.json | 244 -- deps/v8/test/simdjs/generate.py | 60 - deps/v8/test/simdjs/harness-adapt.js | 40 - deps/v8/test/simdjs/harness-finish.js | 26 - deps/v8/test/simdjs/simdjs.gyp | 26 - deps/v8/test/simdjs/simdjs.isolate | 14 - deps/v8/test/simdjs/simdjs.status | 34 - deps/v8/test/simdjs/testcfg.py | 57 - deps/v8/test/test262/harness-agent.js | 106 + ...efault-currency-maximum-fraction-digits.js | 17 + .../fraction-digit-options-read-once.js | 18 + deps/v8/test/test262/prune-local-tests.sh | 8 +- deps/v8/test/test262/test262.isolate | 1 + deps/v8/test/test262/test262.status | 234 +- deps/v8/test/test262/testcfg.py | 2 + deps/v8/test/unittests/BUILD.gn | 6 + .../test/unittests/api/exception-unittest.cc | 45 + .../v8/test/unittests/api/isolate-unittest.cc | 73 + .../unittests/api/remote-object-unittest.cc | 97 + .../test/unittests/api/v8-object-unittest.cc | 37 + .../test/unittests/base/logging-unittest.cc | 19 + .../compiler-dispatcher-job-unittest.cc | 13 +- .../compiler-dispatcher-unittest.cc | 322 +- .../optimizing-compile-dispatcher-unittest.cc | 95 + .../instruction-selector-arm64-unittest.cc | 18 +- .../compiler/instruction-selector-unittest.cc | 1 + .../compiler/int64-lowering-unittest.cc | 33 + .../compiler/js-builtin-reducer-unittest.cc | 444 +-- .../compiler/js-create-lowering-unittest.cc | 43 +- .../compiler/js-operator-unittest.cc | 2 +- .../compiler/js-typed-lowering-unittest.cc | 348 +-- .../compiler/node-matchers-unittest.cc | 1241 +++++++- .../regalloc/move-optimizer-unittest.cc | 1 + .../test/unittests/compiler/typer-unittest.cc | 33 +- .../x64/instruction-selector-x64-unittest.cc | 1 + .../test/unittests/heap/slot-set-unittest.cc | 11 +- .../bytecode-array-builder-unittest.cc | 114 +- .../bytecode-array-iterator-unittest.cc | 17 +- ...bytecode-array-random-iterator-unittest.cc | 94 +- .../bytecode-array-writer-unittest.cc | 4 +- .../interpreter/bytecode-decoder-unittest.cc | 5 +- .../constant-array-builder-unittest.cc | 176 +- .../interpreter-assembler-unittest.cc | 192 +- deps/v8/test/unittests/test-utils.cc | 2 +- deps/v8/test/unittests/test-utils.h | 8 +- deps/v8/test/unittests/unittests.gyp | 6 + .../unittests/value-serializer-unittest.cc | 26 +- .../wasm/function-body-decoder-unittest.cc | 13 +- .../wasm/loop-assignment-analysis-unittest.cc | 1 + .../unittests/wasm/module-decoder-unittest.cc | 19 + .../wasm/wasm-module-builder-unittest.cc | 1 + .../unittests/wasm/wasm-opcodes-unittest.cc | 34 + .../fast/js/parser-syntax-check-expected.txt | 8 +- .../js/string-capitalization-expected.txt | 4 +- .../webkit/preventExtensions-expected.txt | 2 +- deps/v8/test/webkit/webkit.status | 5 + .../third_party/inspector_protocol/README.v8 | 2 +- .../lib/DispatcherBase_cpp.template | 2 +- .../lib/ErrorSupport_cpp.template | 16 +- .../lib/Parser_cpp.template | 6 +- .../lib/Values_cpp.template | 54 +- deps/v8/third_party/jinja2/OWNERS | 3 + deps/v8/third_party/markupsafe/OWNERS | 2 + deps/v8/tools/callstats.html | 190 +- deps/v8/tools/callstats.py | 2 +- deps/v8/tools/dev/gm.py | 302 ++ deps/v8/tools/foozzie/BUILD.gn | 1 + .../tools/foozzie/testdata/failure_output.txt | 14 +- .../foozzie/testdata/v8_build_config.json | 1 + deps/v8/tools/foozzie/v8_foozzie.py | 98 +- deps/v8/tools/foozzie/v8_foozzie_test.py | 9 +- deps/v8/tools/foozzie/v8_mock.js | 136 +- deps/v8/tools/foozzie/v8_mock_archs.js | 45 + deps/v8/tools/foozzie/v8_suppressions.js | 16 +- deps/v8/tools/foozzie/v8_suppressions.py | 68 +- deps/v8/tools/gcmole/gcmole-tools.tar.gz.sha1 | 2 +- deps/v8/tools/gcmole/gcmole.cc | 108 +- deps/v8/tools/gdbinit | 10 + deps/v8/tools/gen-postmortem-metadata.py | 26 +- deps/v8/tools/ic-processor | 41 + deps/v8/tools/ic-processor-driver.js | 33 + deps/v8/tools/ic-processor.js | 282 ++ deps/v8/tools/lldb_commands.py | 72 - deps/v8/tools/lldbinit | 26 - deps/v8/tools/luci-go/linux64/isolate.sha1 | 2 +- deps/v8/tools/luci-go/mac64/isolate.sha1 | 2 +- deps/v8/tools/luci-go/win64/isolate.exe.sha1 | 2 +- deps/v8/tools/memory/lsan/suppressions.txt | 19 + deps/v8/tools/parser-shell.cc | 6 +- deps/v8/tools/presubmit.py | 46 +- deps/v8/tools/run-tests.py | 23 +- deps/v8/tools/run_perf.py | 49 +- deps/v8/tools/testrunner/local/commands.py | 9 + deps/v8/tools/testrunner/local/execution.py | 9 +- .../tools/testrunner/local/pool_unittest.py | 7 +- deps/v8/tools/testrunner/testrunner.isolate | 7 + deps/v8/tools/tickprocessor.js | 3 +- deps/v8/tools/try_perf.py | 1 - deps/v8/tools/unittests/run_perf_test.py | 86 +- .../v8/tools/unittests/testdata/d8_mocked1.py | 7 + .../v8/tools/unittests/testdata/d8_mocked2.py | 10 + .../unittests/testdata/results_processor.py | 25 + deps/v8/tools/unittests/testdata/test1.json | 11 + deps/v8/tools/unittests/testdata/test2.json | 12 + deps/v8/tools/unittests/testdata/test3.json | 16 + deps/v8/tools/whitespace.txt | 2 +- 1492 files changed, 76810 insertions(+), 49614 deletions(-) delete mode 100644 deps/v8/build_overrides/v8.gni delete mode 100644 deps/v8/src/ast/ast-literal-reindexer.cc delete mode 100644 deps/v8/src/ast/ast-literal-reindexer.h create mode 100644 deps/v8/src/builtins/builtins-arguments.cc create mode 100644 deps/v8/src/builtins/builtins-arguments.h create mode 100644 deps/v8/src/builtins/builtins-async-function.cc create mode 100644 deps/v8/src/builtins/builtins-async-iterator.cc create mode 100644 deps/v8/src/builtins/builtins-async.cc create mode 100644 deps/v8/src/builtins/builtins-async.h create mode 100644 deps/v8/src/builtins/builtins-object.h create mode 100644 deps/v8/src/builtins/builtins-regexp.h create mode 100644 deps/v8/src/builtins/builtins-wasm.cc delete mode 100644 deps/v8/src/compiler/js-global-object-specialization.cc delete mode 100644 deps/v8/src/compiler/js-global-object-specialization.h create mode 100644 deps/v8/src/compiler/js-type-hint-lowering.cc create mode 100644 deps/v8/src/compiler/js-type-hint-lowering.h create mode 100644 deps/v8/src/debug/debug-coverage.cc create mode 100644 deps/v8/src/debug/debug-coverage.h create mode 100644 deps/v8/src/ffi/OWNERS create mode 100644 deps/v8/src/ffi/ffi-compiler.cc create mode 100644 deps/v8/src/ffi/ffi-compiler.h create mode 100644 deps/v8/src/find-and-replace-pattern.h delete mode 100644 deps/v8/src/ic/accessor-assembler-impl.h delete mode 100644 deps/v8/src/ic/ic-compiler.cc delete mode 100644 deps/v8/src/ic/ic-compiler.h delete mode 100644 deps/v8/src/js/async-await.js delete mode 100644 deps/v8/src/js/datetime-format-to-parts.js delete mode 100644 deps/v8/src/js/harmony-simd.js delete mode 100644 deps/v8/src/js/icu-case-mapping.js create mode 100644 deps/v8/src/label.h create mode 100644 deps/v8/src/managed.h create mode 100644 deps/v8/src/objects/literal-objects.cc create mode 100644 deps/v8/src/objects/literal-objects.h create mode 100644 deps/v8/src/objects/regexp-match-info.h create mode 100644 deps/v8/src/parsing/preparsed-scope-data.cc create mode 100644 deps/v8/src/parsing/preparsed-scope-data.h delete mode 100644 deps/v8/src/runtime/runtime-simd.cc create mode 100644 deps/v8/src/third_party/vtune/BUILD.gn create mode 100644 deps/v8/src/wasm/function-body-decoder-impl.h delete mode 100644 deps/v8/src/wasm/managed.h create mode 100644 deps/v8/src/wasm/wasm-code-specialization.cc create mode 100644 deps/v8/src/wasm/wasm-code-specialization.h create mode 100644 deps/v8/test/cctest/ffi/OWNERS create mode 100644 deps/v8/test/cctest/ffi/test-ffi.cc create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden create mode 100644 deps/v8/test/cctest/parsing/test-preparser.cc create mode 100644 deps/v8/test/cctest/scope-test-helper.h create mode 100644 deps/v8/test/cctest/test-managed.cc delete mode 100644 deps/v8/test/cctest/test-simd.cc create mode 100644 deps/v8/test/cctest/test-simulator-arm.cc create mode 100644 deps/v8/test/cctest/unicode-helpers.h delete mode 100644 deps/v8/test/cctest/wasm/test-managed.cc create mode 100644 deps/v8/test/cctest/wasm/test-wasm-interpreter-entry.cc create mode 100644 deps/v8/test/debugger/debug/debug-evaluate-no-side-effect-control.js create mode 100644 deps/v8/test/debugger/debug/debug-liveedit-replace-code.js delete mode 100644 deps/v8/test/debugger/debug/debug-scripts-throw.js delete mode 100644 deps/v8/test/debugger/debug/debug-stepframe-clearing.js delete mode 100644 deps/v8/test/debugger/debug/debug-stepframe.js create mode 100644 deps/v8/test/debugger/regress/regress-5901-1.js create mode 100644 deps/v8/test/debugger/regress/regress-5901-2.js create mode 100644 deps/v8/test/debugger/regress/regress-5950.js create mode 100644 deps/v8/test/fuzzer/README.md create mode 100644 deps/v8/test/fuzzer/wasm-compile.cc create mode 100644 deps/v8/test/fuzzer/wasm_compile/foo create mode 100644 deps/v8/test/inspector/cpu-profiler/coverage-expected.txt create mode 100644 deps/v8/test/inspector/cpu-profiler/coverage.js create mode 100644 deps/v8/test/inspector/debugger/async-stack-created-frame-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-stack-created-frame.js create mode 100644 deps/v8/test/inspector/debugger/es6-module-script-parsed-expected.txt create mode 100644 deps/v8/test/inspector/debugger/es6-module-script-parsed.js create mode 100644 deps/v8/test/inspector/debugger/es6-module-set-script-source-expected.txt create mode 100644 deps/v8/test/inspector/debugger/es6-module-set-script-source.js create mode 100644 deps/v8/test/inspector/debugger/framework-break-expected.txt create mode 100644 deps/v8/test/inspector/debugger/framework-break.js create mode 100644 deps/v8/test/inspector/debugger/framework-nested-scheduled-break-expected.txt create mode 100644 deps/v8/test/inspector/debugger/framework-nested-scheduled-break.js create mode 100644 deps/v8/test/inspector/debugger/framework-precise-ranges-expected.txt create mode 100644 deps/v8/test/inspector/debugger/framework-precise-ranges.js create mode 100644 deps/v8/test/inspector/debugger/framework-stepping-expected.txt create mode 100644 deps/v8/test/inspector/debugger/framework-stepping.js create mode 100644 deps/v8/test/inspector/debugger/inspector-break-api-expected.txt create mode 100644 deps/v8/test/inspector/debugger/inspector-break-api.js create mode 100644 deps/v8/test/inspector/debugger/pause-on-oom-expected.txt create mode 100644 deps/v8/test/inspector/debugger/pause-on-oom.js create mode 100644 deps/v8/test/inspector/debugger/side-effect-free-debug-evaluate-expected.txt create mode 100644 deps/v8/test/inspector/debugger/side-effect-free-debug-evaluate.js create mode 100644 deps/v8/test/inspector/debugger/step-into-next-script-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-into-next-script.js create mode 100644 deps/v8/test/inspector/debugger/wasm-get-breakable-locations-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-get-breakable-locations.js create mode 100644 deps/v8/test/inspector/debugger/wasm-stepping-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-stepping.js create mode 100644 deps/v8/test/inspector/heap-profiler/take-heap-snapshot-on-pause-expected.txt create mode 100644 deps/v8/test/inspector/heap-profiler/take-heap-snapshot-on-pause.js create mode 100644 deps/v8/test/inspector/runtime/console-methods-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-methods.js create mode 100644 deps/v8/test/inspector/runtime/console-time-end-format-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-time-end-format.js create mode 100644 deps/v8/test/inspector/runtime/es6-module-expected.txt create mode 100644 deps/v8/test/inspector/runtime/es6-module.js create mode 100644 deps/v8/test/inspector/runtime/internal-properties-entries-expected.txt create mode 100644 deps/v8/test/inspector/runtime/internal-properties-entries.js create mode 100644 deps/v8/test/inspector/runtime/internal-properties-expected.txt create mode 100644 deps/v8/test/inspector/runtime/internal-properties.js delete 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/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/array_destructuring/es6.js delete mode 100644 deps/v8/test/js-perf-test/SixSpeed/array_destructuring/run.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/defaults/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/defaults/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/object_literals/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/object_literals/es6.js delete mode 100644 deps/v8/test/js-perf-test/SixSpeed/object_literals/object_literals.js rename deps/v8/test/js-perf-test/SixSpeed/{spread => }/run.js (56%) create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread/babel.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread/es6.js delete mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread/spread.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread_literal/babel.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread_literal/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/spread_literal/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super_spread/babel.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super_spread/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super_spread/es6.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/construct-arraylike.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/construct-buffer.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/constructor.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/copywithin.js rename deps/v8/test/js-perf-test/{SixSpeed/object_literals => TypedArrays}/run.js (73%) create mode 100644 deps/v8/test/js-perf-test/TypedArrays/sort.js create mode 100644 deps/v8/test/message/let-lexical-declaration-destructuring-brace-in-single-statement.js create mode 100644 deps/v8/test/message/let-lexical-declaration-destructuring-brace-in-single-statement.out create mode 100644 deps/v8/test/message/let-lexical-declaration-destructuring-in-single-statement.js create mode 100644 deps/v8/test/message/let-lexical-declaration-destructuring-in-single-statement.out create mode 100644 deps/v8/test/message/let-lexical-declaration-in-single-statement.js create mode 100644 deps/v8/test/message/let-lexical-declaration-in-single-statement.out create mode 100644 deps/v8/test/mjsunit/arguments-deopt.js create mode 100644 deps/v8/test/mjsunit/asm/regress-674089.js create mode 100644 deps/v8/test/mjsunit/asm/regress-681707.js create mode 100644 deps/v8/test/mjsunit/code-coverage-ad-hoc.js create mode 100644 deps/v8/test/mjsunit/code-coverage-precise.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-15.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-675704.js create mode 100644 deps/v8/test/mjsunit/const-field-tracking.js create mode 100644 deps/v8/test/mjsunit/es6/call-with-spread-modify-array-iterator.js create mode 100644 deps/v8/test/mjsunit/es6/call-with-spread-modify-next.js create mode 100644 deps/v8/test/mjsunit/es6/call-with-spread.js create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-5929-1.js create mode 100644 deps/v8/test/mjsunit/es6/super-with-spread-modify-array-iterator.js create mode 100644 deps/v8/test/mjsunit/es6/super-with-spread-modify-next.js create mode 100644 deps/v8/test/mjsunit/es6/super-with-spread.js create mode 100644 deps/v8/test/mjsunit/es7/regress/regress-5986.js create mode 100644 deps/v8/test/mjsunit/harmony/async-from-sync-iterator.js create mode 100644 deps/v8/test/mjsunit/harmony/for-await-of.js create mode 100644 deps/v8/test/mjsunit/harmony/function-tostring.js create mode 100644 deps/v8/test/mjsunit/harmony/object-rest-basic.js create mode 100644 deps/v8/test/mjsunit/harmony/promise-prototype-finally.js delete mode 100644 deps/v8/test/mjsunit/harmony/simd.js create mode 100644 deps/v8/test/mjsunit/harmony/symbol-async-iterator.js create mode 100644 deps/v8/test/mjsunit/harmony/template-escapes.js create mode 100644 deps/v8/test/mjsunit/immutable-context-slot-inlining.js rename deps/v8/test/mjsunit/{modules-turbo.js => modules-turbo1.js} (88%) create mode 100644 deps/v8/test/mjsunit/modules-turbo2.js create mode 100644 deps/v8/test/mjsunit/proto-elements-add-during-foreach.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-3281.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5636-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5636-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5638.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5638b.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5692.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5845.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5888.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5902.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5911.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5927.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5938.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5972.js create mode 100644 deps/v8/test/mjsunit/regress/regress-5974.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6063.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6121.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6209.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6210.js create mode 100644 deps/v8/test/mjsunit/regress/regress-681984.js create mode 100644 deps/v8/test/mjsunit/regress/regress-682242.js create mode 100644 deps/v8/test/mjsunit/regress/regress-682349.js create mode 100644 deps/v8/test/mjsunit/regress/regress-683617.js create mode 100644 deps/v8/test/mjsunit/regress/regress-685086.js create mode 100644 deps/v8/test/mjsunit/regress/regress-688690.js create mode 100644 deps/v8/test/mjsunit/regress/regress-689016.js create mode 100644 deps/v8/test/mjsunit/regress/regress-696251.js create mode 100644 deps/v8/test/mjsunit/regress/regress-696651.js create mode 100644 deps/v8/test/mjsunit/regress/regress-704811.js create mode 100644 deps/v8/test/mjsunit/regress/regress-706234-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-706234.js create mode 100644 deps/v8/test/mjsunit/regress/regress-708247.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-471702.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505007-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-681983.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-683581.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-684208.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685050.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685504.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685506.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685634.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685680.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-685965.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-686737.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-687029.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-687990.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-694416.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-694709.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-702058-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-702058-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-702058-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-706642.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-5958.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-5860.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-6054.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-688876.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-689450.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-694433.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-698587.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-699485.js delete mode 100644 deps/v8/test/mjsunit/shared-function-tier-up-ignition.js create mode 100644 deps/v8/test/mjsunit/strong-rooted-literals.js create mode 100644 deps/v8/test/mjsunit/thin-strings.js create mode 100644 deps/v8/test/mjsunit/wasm/jsapi-harness.js delete mode 100644 deps/v8/test/simdjs/SimdJs.json delete mode 100755 deps/v8/test/simdjs/generate.py delete mode 100644 deps/v8/test/simdjs/harness-adapt.js delete mode 100644 deps/v8/test/simdjs/harness-finish.js delete mode 100644 deps/v8/test/simdjs/simdjs.gyp delete mode 100644 deps/v8/test/simdjs/simdjs.isolate delete mode 100644 deps/v8/test/simdjs/simdjs.status delete mode 100644 deps/v8/test/simdjs/testcfg.py create mode 100644 deps/v8/test/test262/harness-agent.js create mode 100644 deps/v8/test/test262/local-tests/test/intl402/NumberFormat/default-currency-maximum-fraction-digits.js create mode 100644 deps/v8/test/test262/local-tests/test/intl402/NumberFormat/fraction-digit-options-read-once.js create mode 100644 deps/v8/test/unittests/api/exception-unittest.cc create mode 100644 deps/v8/test/unittests/api/isolate-unittest.cc create mode 100644 deps/v8/test/unittests/api/remote-object-unittest.cc create mode 100644 deps/v8/test/unittests/api/v8-object-unittest.cc create mode 100644 deps/v8/test/unittests/compiler-dispatcher/optimizing-compile-dispatcher-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/wasm-opcodes-unittest.cc create mode 100755 deps/v8/tools/dev/gm.py create mode 100644 deps/v8/tools/foozzie/testdata/v8_build_config.json create mode 100644 deps/v8/tools/foozzie/v8_mock_archs.js create mode 100755 deps/v8/tools/ic-processor create mode 100644 deps/v8/tools/ic-processor-driver.js create mode 100644 deps/v8/tools/ic-processor.js delete mode 100644 deps/v8/tools/lldb_commands.py delete mode 100644 deps/v8/tools/lldbinit create mode 100644 deps/v8/tools/memory/lsan/suppressions.txt create mode 100644 deps/v8/tools/unittests/testdata/d8_mocked1.py create mode 100644 deps/v8/tools/unittests/testdata/d8_mocked2.py create mode 100644 deps/v8/tools/unittests/testdata/results_processor.py create mode 100644 deps/v8/tools/unittests/testdata/test1.json create mode 100644 deps/v8/tools/unittests/testdata/test2.json create mode 100644 deps/v8/tools/unittests/testdata/test3.json diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index cd72bebbd6b12d..8088214daa951b 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -54,7 +54,6 @@ shell_g /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz /test/promises-aplus/sinon -/test/simdjs/data /test/test262/data /test/test262/data.tar /test/test262/harness @@ -102,5 +101,6 @@ v8.ignition_dispatches_table.json /test/fuzzer/wasm_asmjs.tar.gz /src/inspector/build/closure-compiler.tar.gz /src/inspector/build/closure-compiler +/test/wasm-js !/third_party/jinja2 !/third_party/markupsafe diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 35edca97e5f105..756d1dc985e6ad 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -48,6 +48,7 @@ Bert Belder Burcu Dogan Caitlin Potter Craig Schlenter +Choongwoo Han Chris Nardi Christopher A. Taylor Daniel Andersson @@ -64,7 +65,6 @@ Filipe David Manana Franziska Hinkelmann Geoffrey Garside Gwang Yoon Hwang -Han Choongwoo Henrique Ferreiro Hirofumi Mako Honggyu Kim diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 048420c7b9dd75..8895103222b4ee 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -30,7 +30,7 @@ declare_args() { v8_deprecation_warnings = false # Enable compiler warnings when using V8_DEPRECATE_SOON apis. - v8_imminent_deprecation_warnings = "" + v8_imminent_deprecation_warnings = false # Embeds the given script into the snapshot. v8_embed_script = "" @@ -41,12 +41,18 @@ declare_args() { # Sets -dENABLE_GDB_JIT_INTERFACE. v8_enable_gdbjit = "" + # Sets -dENABLE_VTUNE_JIT_INTERFACE. + v8_enable_vtunejit = false + # Sets -dENABLE_HANDLE_ZAPPING. v8_enable_handle_zapping = is_debug # Enable slow dchecks. v8_enable_slow_dchecks = false + # Enable code-generation-time checking of types in the CodeStubAssembler. + v8_enable_verify_csa = false + # Interpreted regexp engine exists as platform-independent alternative # based where the regular expression is compiled to a bytecode. v8_interpreted_regexp = false @@ -76,23 +82,22 @@ declare_args() { # Similar to the ARM hard float ABI but on MIPS. v8_use_mips_abi_hardfloat = true -} -# Set project-specific defaults for some args if not provided in args.gn. The -# defaults can be set in the respective build_overrides files. -if (v8_imminent_deprecation_warnings == "") { - if (defined(v8_imminent_deprecation_warnings_default)) { - v8_imminent_deprecation_warnings = v8_imminent_deprecation_warnings_default - } else { - v8_imminent_deprecation_warnings = false - } -} -if (v8_enable_gdbjit == "") { - if (defined(v8_enable_gdbjit_default)) { - v8_enable_gdbjit = v8_enable_gdbjit_default - } else { - v8_enable_gdbjit = false - } + # List of extra files to snapshot. They will be snapshotted in order so + # if files export symbols used by later files, they should go first. + # + # This default is used by cctests. Projects using V8 will want to override. + v8_extra_library_files = [ "//test/cctest/test-extra.js" ] + + # Like v8_extra_library_files but for experimental features. + # + # This default is used by cctests. Projects using V8 will want to override. + v8_experimental_extra_library_files = + [ "//test/cctest/test-experimental-extra.js" ] + + v8_enable_gdbjit = ((v8_current_cpu == "x86" || v8_current_cpu == "x64" || + v8_current_cpu == "x87") && (is_linux || is_mac)) || + (v8_current_cpu == "ppc64" && is_linux) } # Derived defaults. @@ -195,6 +200,9 @@ config("features") { if (v8_enable_gdbjit) { defines += [ "ENABLE_GDB_JIT_INTERFACE" ] } + if (v8_enable_vtunejit) { + defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ] + } if (v8_enable_object_print) { defines += [ "OBJECT_PRINT" ] } @@ -381,6 +389,10 @@ config("toolchain") { defines += [ "DEBUG" ] } + if (v8_enable_verify_csa) { + defines += [ "ENABLE_VERIFY_CSA" ] + } + if (v8_no_inline) { cflags += [ "-fno-inline-functions", @@ -395,11 +407,10 @@ config("toolchain") { # TODO(hans): Remove once http://crbug.com/428099 is resolved. "-Winconsistent-missing-override", ] - - if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || - v8_current_cpu == "mips64el") { - cflags += [ "-Wshorten-64-to-32" ] - } + #if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || + # v8_current_cpu == "mips64el") { + # cflags += [ "-Wshorten-64-to-32" ] + #} } } @@ -437,7 +448,6 @@ action("js2c") { "src/js/templates.js", "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", @@ -482,20 +492,12 @@ action("js2c_experimental") { "src/js/macros.py", "src/messages.h", "src/js/harmony-atomics.js", - "src/js/harmony-simd.js", ] outputs = [ "$target_gen_dir/experimental-libraries.cc", ] - if (v8_enable_i18n_support) { - sources += [ - "src/js/datetime-format-to-parts.js", - "src/js/icu-case-mapping.js", - ] - } - args = [ rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir), @@ -749,6 +751,7 @@ action("v8_dump_build_config") { ] args = [ rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), + "current_cpu=\"$current_cpu\"", "dcheck_always_on=$dcheck_always_on", "is_asan=$is_asan", "is_cfi=$is_cfi", @@ -757,6 +760,7 @@ action("v8_dump_build_config") { "is_msan=$is_msan", "is_tsan=$is_tsan", "target_cpu=\"$target_cpu\"", + "v8_current_cpu=\"$v8_current_cpu\"", "v8_enable_i18n_support=$v8_enable_i18n_support", "v8_enable_inspector=$v8_enable_inspector", "v8_target_cpu=\"$v8_target_cpu\"", @@ -866,7 +870,7 @@ 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") { +v8_header_set("v8_version") { configs = [ ":internal_config" ] sources = [ @@ -928,8 +932,6 @@ v8_source_set("v8_base") { "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", "src/ast/ast-numbering.h", "src/ast/ast-traversal-visitor.h", @@ -967,8 +969,14 @@ v8_source_set("v8_base") { "src/bootstrapper.cc", "src/bootstrapper.h", "src/builtins/builtins-api.cc", + "src/builtins/builtins-arguments.cc", + "src/builtins/builtins-arguments.h", "src/builtins/builtins-array.cc", "src/builtins/builtins-arraybuffer.cc", + "src/builtins/builtins-async-function.cc", + "src/builtins/builtins-async-iterator.cc", + "src/builtins/builtins-async.cc", + "src/builtins/builtins-async.h", "src/builtins/builtins-boolean.cc", "src/builtins/builtins-call.cc", "src/builtins/builtins-callsite.cc", @@ -990,16 +998,19 @@ v8_source_set("v8_base") { "src/builtins/builtins-math.cc", "src/builtins/builtins-number.cc", "src/builtins/builtins-object.cc", + "src/builtins/builtins-object.h", "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", + "src/builtins/builtins-regexp.h", "src/builtins/builtins-sharedarraybuffer.cc", "src/builtins/builtins-string.cc", "src/builtins/builtins-symbol.cc", "src/builtins/builtins-typedarray.cc", "src/builtins/builtins-utils.h", + "src/builtins/builtins-wasm.cc", "src/builtins/builtins.cc", "src/builtins/builtins.h", "src/cached-powers.cc", @@ -1132,8 +1143,6 @@ v8_source_set("v8_base") { "src/compiler/js-frame-specialization.h", "src/compiler/js-generic-lowering.cc", "src/compiler/js-generic-lowering.h", - "src/compiler/js-global-object-specialization.cc", - "src/compiler/js-global-object-specialization.h", "src/compiler/js-graph.cc", "src/compiler/js-graph.h", "src/compiler/js-inlining-heuristic.cc", @@ -1146,6 +1155,8 @@ v8_source_set("v8_base") { "src/compiler/js-native-context-specialization.h", "src/compiler/js-operator.cc", "src/compiler/js-operator.h", + "src/compiler/js-type-hint-lowering.cc", + "src/compiler/js-type-hint-lowering.h", "src/compiler/js-typed-lowering.cc", "src/compiler/js-typed-lowering.h", "src/compiler/jump-threading.cc", @@ -1324,6 +1335,8 @@ v8_source_set("v8_base") { "src/dateparser-inl.h", "src/dateparser.cc", "src/dateparser.h", + "src/debug/debug-coverage.cc", + "src/debug/debug-coverage.h", "src/debug/debug-evaluate.cc", "src/debug/debug-evaluate.h", "src/debug/debug-frames.cc", @@ -1380,10 +1393,13 @@ v8_source_set("v8_base") { "src/feedback-vector-inl.h", "src/feedback-vector.cc", "src/feedback-vector.h", + "src/ffi/ffi-compiler.cc", + "src/ffi/ffi-compiler.h", "src/field-index-inl.h", "src/field-index.h", "src/field-type.cc", "src/field-type.h", + "src/find-and-replace-pattern.h", "src/fixed-dtoa.cc", "src/fixed-dtoa.h", "src/flag-definitions.h", @@ -1453,7 +1469,6 @@ 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", @@ -1462,8 +1477,6 @@ v8_source_set("v8_base") { "src/ic/handler-compiler.h", "src/ic/handler-configuration-inl.h", "src/ic/handler-configuration.h", - "src/ic/ic-compiler.cc", - "src/ic/ic-compiler.h", "src/ic/ic-inl.h", "src/ic/ic-state.cc", "src/ic/ic-state.h", @@ -1537,6 +1550,7 @@ v8_source_set("v8_base") { "src/json-stringifier.h", "src/keys.cc", "src/keys.h", + "src/label.h", "src/layout-descriptor-inl.h", "src/layout-descriptor.cc", "src/layout-descriptor.h", @@ -1557,6 +1571,7 @@ v8_source_set("v8_base") { "src/machine-type.cc", "src/machine-type.h", "src/macro-assembler.h", + "src/managed.h", "src/map-updater.cc", "src/map-updater.h", "src/messages.cc", @@ -1569,9 +1584,12 @@ v8_source_set("v8_base") { "src/objects-printer.cc", "src/objects.cc", "src/objects.h", + "src/objects/literal-objects.cc", + "src/objects/literal-objects.h", "src/objects/module-info.h", "src/objects/object-macros-undef.h", "src/objects/object-macros.h", + "src/objects/regexp-match-info.h", "src/objects/scope-info.cc", "src/objects/scope-info.h", "src/ostreams.cc", @@ -1594,6 +1612,8 @@ v8_source_set("v8_base") { "src/parsing/preparse-data-format.h", "src/parsing/preparse-data.cc", "src/parsing/preparse-data.h", + "src/parsing/preparsed-scope-data.cc", + "src/parsing/preparsed-scope-data.h", "src/parsing/preparser.cc", "src/parsing/preparser.h", "src/parsing/rewriter.cc", @@ -1692,7 +1712,6 @@ v8_source_set("v8_base") { "src/runtime/runtime-proxy.cc", "src/runtime/runtime-regexp.cc", "src/runtime/runtime-scopes.cc", - "src/runtime/runtime-simd.cc", "src/runtime/runtime-strings.cc", "src/runtime/runtime-symbol.cc", "src/runtime/runtime-test.cc", @@ -1780,14 +1799,16 @@ v8_source_set("v8_base") { "src/vm-state-inl.h", "src/vm-state.h", "src/wasm/decoder.h", + "src/wasm/function-body-decoder-impl.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", "src/wasm/module-decoder.h", "src/wasm/signature-map.cc", "src/wasm/signature-map.h", + "src/wasm/wasm-code-specialization.cc", + "src/wasm/wasm-code-specialization.h", "src/wasm/wasm-debug.cc", "src/wasm/wasm-external-refs.cc", "src/wasm/wasm-external-refs.h", @@ -2532,6 +2553,21 @@ group("gn_all") { } } +group("v8_clusterfuzz") { + deps = [ + ":d8", + ] + + if (v8_multi_arch_build) { + deps += [ + ":d8(//build/toolchain/linux:clang_x64)", + ":d8(//build/toolchain/linux:clang_x64_v8_arm64)", + ":d8(//build/toolchain/linux:clang_x86)", + ":d8(//build/toolchain/linux:clang_x86_v8_arm)", + ] + } +} + group("v8_fuzzers") { testonly = true deps = [ @@ -2609,8 +2645,6 @@ v8_executable("d8") { "//build/win:default_exe_manifest", ] - # TODO(jochen): Add support for vtunejit. - if (is_posix) { sources += [ "src/d8-posix.cc" ] } else if (is_win) { @@ -2629,6 +2663,10 @@ v8_executable("d8") { if (v8_enable_inspector) { defines += [ "V8_INSPECTOR_ENABLED" ] } + + if (v8_enable_vtunejit) { + deps += [ "//src/third_party/vtune:v8_vtune" ] + } } v8_isolate_run("d8") { @@ -3064,3 +3102,23 @@ v8_source_set("wasm_data_section_fuzzer") { v8_fuzzer("wasm_data_section_fuzzer") { } + +v8_source_set("wasm_compile_fuzzer") { + sources = [ + "test/fuzzer/wasm-compile.cc", + ] + + deps = [ + ":fuzzer_support", + ":wasm_module_runner", + ":wasm_test_signatures", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_compile_fuzzer") { +} diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 1ff3b3bf8ca25c..f3cd421bca11ac 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,1534 @@ +2017-02-25: Version 5.8.283 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.282 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.281 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.280 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.279 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.278 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.277 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.276 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.275 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.274 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.273 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.272 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.271 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.270 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.269 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.268 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.267 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.266 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.265 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.264 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.263 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.262 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.261 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.260 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.259 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.258 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.257 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.256 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.255 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.254 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.253 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.252 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.251 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.250 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.249 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.248 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.247 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.246 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.245 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.244 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.243 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.242 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.241 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.240 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.239 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.238 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.237 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.236 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.235 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.234 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.233 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.232 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.231 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.230 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.229 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.228 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.227 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.226 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.225 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.224 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.223 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.222 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.221 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.220 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.219 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.218 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.217 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.216 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.215 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.214 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.213 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.212 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.211 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.210 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.209 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.208 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.207 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.206 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.205 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.204 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.203 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.202 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.201 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.200 + + Remove SIMD.js from V8 (issues 4124, 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.199 + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.198 + + Remove SIMD.js from V8 (issues 4124, 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.197 + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.196 + + Remove SIMD.js from V8 (issue 4124, Chromium issue 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.195 + + Performance and stability improvements on all platforms. + + +2017-02-12: Version 5.8.194 + + Performance and stability improvements on all platforms. + + +2017-02-12: Version 5.8.193 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.192 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.191 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.190 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.189 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.188 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.187 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.186 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.185 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.184 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.183 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.182 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.181 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.180 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.179 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.178 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.177 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.176 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.175 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.174 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.173 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.172 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.171 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.170 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.169 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.168 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.167 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.166 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.165 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.164 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.163 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.162 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.161 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.160 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.159 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.158 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.157 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.156 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.155 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.154 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.153 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.152 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.151 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.150 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.149 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.148 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.147 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.146 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.145 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.144 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.143 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.142 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.141 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.140 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.139 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.138 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.137 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.136 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.135 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.134 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.133 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.132 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.131 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.130 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.129 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.128 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.127 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.126 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.125 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.124 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.123 + + Performance and stability improvements on all platforms. + + +2017-02-05: Version 5.8.122 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.121 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.120 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.119 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.118 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.117 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.116 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.115 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.114 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.113 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.112 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.111 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.110 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.109 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.108 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.107 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.106 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.105 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.104 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.103 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.102 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.101 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.100 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.99 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.98 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.97 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.96 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.95 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.94 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.93 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.92 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.91 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.90 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.89 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.88 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.87 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.86 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.85 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.84 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.83 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.82 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.81 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.80 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.79 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.78 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.77 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.76 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.75 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.74 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.73 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.72 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.71 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.70 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.69 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.68 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.67 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.66 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.65 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.64 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.63 + + Performance and stability improvements on all platforms. + + +2017-01-29: Version 5.8.62 + + Performance and stability improvements on all platforms. + + +2017-01-29: Version 5.8.61 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.60 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.59 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.58 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.57 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.56 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.55 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.54 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.53 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.52 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.51 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.50 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.49 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.48 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.47 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.46 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.45 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.44 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.43 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.42 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.41 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.40 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.39 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.38 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.37 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.36 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.35 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.34 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.33 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.32 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.31 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.30 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.29 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.28 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.27 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.26 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.25 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.24 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.23 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.22 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.21 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.20 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.19 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.18 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.17 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.16 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.15 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.14 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.13 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.12 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.11 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.10 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.9 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.8 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.7 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.6 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.5 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.4 + + Performance and stability improvements on all platforms. + + +2017-01-22: Version 5.8.3 + + Performance and stability improvements on all platforms. + + +2017-01-21: Version 5.8.2 + + Performance and stability improvements on all platforms. + + +2017-01-20: Version 5.8.1 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.514 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.513 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.512 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.511 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.510 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.509 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.508 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.507 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.506 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.505 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.504 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.503 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.502 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.501 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.500 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.499 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.498 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.497 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.496 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.495 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.494 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.493 + + Performance and stability improvements on all platforms. + + 2017-01-17: Version 5.7.492 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 6f66ac36f7ef54..f8e00855d4f3bd 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,23 +8,23 @@ vars = { deps = { "v8/build": - Var("chromium_url") + "/chromium/src/build.git" + "@" + "f55127ddc3632dbd6fef285c71ab4cb103e08f0c", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "c7c2db69cd571523ce728c4d3dceedbd1896b519", "v8/tools/gyp": Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563", "v8/third_party/icu": - Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "9cd2828740572ba6f694b9365236a8356fd06147", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "450be73c9ee8ae29d43d4fdc82febb2a5f62bfb5", "v8/third_party/instrumented_libraries": Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "5b6f777da671be977f56f0e8fc3469a3ccbb4474", "v8/buildtools": - Var("chromium_url") + "/chromium/buildtools.git" + "@" + "cb12d6e8641f0c9b0fbbfa4bf17c55c6c0d3c38f", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "94cdccbebc7a634c27145a3d84089e85fbb42e69", "v8/base/trace_event/common": Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "06294c8a4a6f744ef284cd63cfe54dbf61eea290", "v8/third_party/jinja2": - Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "b61a2c009a579593a259c1b300e0ad02bf48fd78", + Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "d34383206fa42d52faa10bb9931d6d538f3a57e0", "v8/third_party/markupsafe": - Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "484a5661041cac13bfc688a26ec5434b05d18961", + Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "8f45f5cfa0009d2a70589bcda0349b8cb2b72783", "v8/tools/swarming_client": - Var('chromium_url') + '/external/swarming.client.git' + '@' + "ebc8dab6f8b8d79ec221c94de39a921145abd404", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "11e31afa5d330756ff87aa12064bb5d032896cb5", "v8/testing/gtest": Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -33,13 +33,14 @@ deps = { Var("chromium_url") + "/v8/deps/third_party/benchmarks.git" + "@" + "05d7188267b4560491ff9155c5ee13e207ecd65f", "v8/test/mozilla/data": 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" + "@" + "6a0f1189eb00d38ef9760cb65cbc41c066876cde", + Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "a72ee6d91275aa6524e84a9b7070103411ef2689", "v8/test/test262/harness": Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "0f2acdd882c84cff43b9d60df7574a1901e2cdcd", "v8/tools/clang": - Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "f7ce1a5678e5addc015aed5f1e7734bbd2caac7c", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "9913fb19b687b0c858f697efd7bd2468d789a3d5", + "v8/test/wasm-js": + Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "b8b919e4a0d52db4d3d762e731e615bc3a38b3b2", } deps_os = { @@ -47,7 +48,7 @@ deps_os = { "v8/third_party/android_tools": Var("chromium_url") + "/android_tools.git" + "@" + "b43a6a289a7588b1769814f04dd6c7d7176974cc", "v8/third_party/catapult": - Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "143ba4ddeb05e6165fb8413c5f3f47d342922d24", + Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "246a39a82c2213d913a96fff020a263838dc76e6", }, "win": { "v8/third_party/cygwin": diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 6eeac09a14875b..299d4aa09c97ac 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -51,6 +51,10 @@ endif ifeq ($(objectprint), on) GYPFLAGS += -Dv8_object_print=1 endif +# verifycsa=on +ifeq ($(verifycsa), on) + GYPFLAGS += -Dv8_enable_verify_csa=1 +endif # verifyheap=on ifeq ($(verifyheap), on) GYPFLAGS += -Dv8_enable_verify_heap=1 diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 8321f5cedfd67e..4cacf811336530 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -79,7 +79,7 @@ def _V8PresubmitChecks(input_api, output_api): "Copyright header, trailing whitespaces and two empty lines " \ "between declarations check failed")) if not StatusFilesProcessor().RunOnFiles( - input_api.AffectedFiles(include_deletes=False)): + input_api.AffectedFiles(include_deletes=True)): results.append(output_api.PresubmitError("Status file check failed")) results.extend(input_api.canned_checks.CheckAuthorizedAuthor( input_api, output_api)) diff --git a/deps/v8/build_overrides/v8.gni b/deps/v8/build_overrides/v8.gni deleted file mode 100644 index 15a50558610fa0..00000000000000 --- a/deps/v8/build_overrides/v8.gni +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2015 The V8 project authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import("//build/config/v8_target_cpu.gni") - -if (((v8_current_cpu == "x86" || v8_current_cpu == "x64" || - v8_current_cpu == "x87") && (is_linux || is_mac)) || - (v8_current_cpu == "ppc64" && is_linux)) { - v8_enable_gdbjit_default = true -} - -v8_imminent_deprecation_warnings_default = true - -# Add simple extras solely for the purpose of the cctests. -v8_extra_library_files = [ "//test/cctest/test-extra.js" ] -v8_experimental_extra_library_files = - [ "//test/cctest/test-experimental-extra.js" ] - -v8_enable_inspector_override = true - -declare_args() { - # Use static libraries instead of source_sets. - v8_static_library = false -} diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index 3906cf60ef9345..a347eeaa24e1ba 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -61,6 +61,11 @@ template("v8_isolate_run") { } else { asan = "0" } + if (is_lsan) { + lsan = "1" + } else { + lsan = "0" + } if (is_msan) { msan = "1" } else { @@ -158,6 +163,8 @@ template("v8_isolate_run") { "--config-variable", "is_gn=1", "--config-variable", + "lsan=$lsan", + "--config-variable", "msan=$msan", "--config-variable", "tsan=$tsan", diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index cb2bdf2cf5d9a5..ea628e00007c87 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -4,12 +4,14 @@ 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 + # Adds additional compile target for building multiple architectures at once. + v8_multi_arch_build = false + # Indicate if valgrind was fetched as a custom deps to make it available on # swarming. v8_has_valgrind = false @@ -36,7 +38,10 @@ declare_args() { v8_enable_i18n_support = true # Enable inspector. See include/v8-inspector.h. - v8_enable_inspector = v8_enable_inspector_override + v8_enable_inspector = true + + # Use static libraries instead of source_sets. + v8_static_library = false } if (v8_use_external_startup_data == "") { @@ -107,6 +112,15 @@ template("v8_source_set") { } } +template("v8_header_set") { + source_set(target_name) { + forward_variables_from(invoker, "*", [ "configs" ]) + configs += invoker.configs + configs -= v8_remove_configs + configs += v8_add_configs + } +} + template("v8_executable") { executable(target_name) { forward_variables_from(invoker, diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp index 12e1fdadb76936..d3e275e10fa552 100644 --- a/deps/v8/gypfiles/all.gyp +++ b/deps/v8/gypfiles/all.gyp @@ -47,7 +47,6 @@ '../test/optimize_for_size.gyp:*', '../test/perf.gyp:*', '../test/preparser/preparser.gyp:*', - '../test/simdjs/simdjs.gyp:*', '../test/test262/test262.gyp:*', '../test/webkit/webkit.gyp:*', '../tools/check-static-initializers.gyp:*', diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi index 5a21a63e324f49..0c4873c3a5f107 100644 --- a/deps/v8/gypfiles/features.gypi +++ b/deps/v8/gypfiles/features.gypi @@ -33,6 +33,8 @@ 'v8_enable_gdbjit%': 0, + 'v8_enable_verify_csa%': 0, + 'v8_object_print%': 0, 'v8_enable_verify_heap%': 0, @@ -78,6 +80,9 @@ ['v8_enable_gdbjit==1', { 'defines': ['ENABLE_GDB_JIT_INTERFACE',], }], + ['v8_enable_verify_csa==1', { + 'defines': ['ENABLE_VERIFY_CSA',], + }], ['v8_object_print==1', { 'defines': ['OBJECT_PRINT',], }], diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi index 8f53a153c6222c..c55f3ca782516a 100644 --- a/deps/v8/gypfiles/isolate.gypi +++ b/deps/v8/gypfiles/isolate.gypi @@ -75,6 +75,7 @@ '--config-variable', 'has_valgrind=<(has_valgrind)', '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)', '--config-variable', 'is_gn=0', + '--config-variable', 'lsan=<(lsan)', '--config-variable', 'msan=<(msan)', '--config-variable', 'tsan=<(tsan)', '--config-variable', 'coverage=<(coverage)', diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi index 5105fff0700199..88afb8612e4be9 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -315,6 +315,8 @@ 'defines': [ 'V8_TARGET_ARCH_S390_LE_SIM', ], + }, { + 'cflags': [ '-march=z196' ], }], ], }], # s390 diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index 777b8aaa3e645a..797d23314e2fd4 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -116,9 +116,7 @@ class V8_EXPORT Debug { virtual Local GetCallbackData() const = 0; /** - * Client data passed to DebugBreakForCommand function. The - * debugger takes ownership of the data and will delete it even if - * there is no message handler. + * This is now a dummy that returns nullptr. */ virtual ClientData* GetClientData() const = 0; @@ -132,23 +130,18 @@ class V8_EXPORT Debug { * * \param event_details object providing information about the debug event * - * A EventCallback2 does not take possession of the event data, + * A EventCallback does not take possession of the event data, * and must not rely on the data persisting after the handler returns. */ typedef void (*EventCallback)(const EventDetails& event_details); /** - * Debug message callback function. - * - * \param message the debug message handler message object - * - * A MessageHandler does not take possession of the message data, - * and must not rely on the data persisting after the handler returns. + * This is now a no-op. */ typedef void (*MessageHandler)(const Message& message); /** - * Callback function for the host to ensure debug messages are processed. + * This is now a no-op. */ typedef void (*DebugMessageDispatchHandler)(); @@ -167,11 +160,12 @@ class V8_EXPORT Debug { V8_DEPRECATED("No longer supported", static bool CheckDebugBreak(Isolate* isolate)); - // Message based interface. The message protocol is JSON. + // This is now a no-op. V8_DEPRECATED("No longer supported", static void SetMessageHandler(Isolate* isolate, MessageHandler handler)); + // This is now a no-op. V8_DEPRECATED("No longer supported", static void SendCommand(Isolate* isolate, const uint16_t* command, int length, @@ -200,44 +194,7 @@ class V8_EXPORT Debug { v8::Local fun, Local data = Local()); - /** - * Returns a mirror object for the given object. - */ - V8_DEPRECATED("No longer supported", - static MaybeLocal GetMirror(Local context, - v8::Local obj)); - - /** - * Makes V8 process all pending debug messages. - * - * From V8 point of view all debug messages come asynchronously (e.g. from - * remote debugger) but they all must be handled synchronously: V8 cannot - * do 2 things at one time so normal script execution must be interrupted - * for a while. - * - * Generally when message arrives V8 may be in one of 3 states: - * 1. V8 is running script; V8 will automatically interrupt and process all - * pending messages; - * 2. V8 is suspended on debug breakpoint; in this state V8 is dedicated - * to reading and processing debug messages; - * 3. V8 is not running at all or has called some long-working C++ function; - * by default it means that processing of all debug messages will be deferred - * until V8 gets control again; however, embedding application may improve - * this by manually calling this method. - * - * Technically this method in many senses is equivalent to executing empty - * script: - * 1. It does nothing except for processing all pending debug messages. - * 2. It should be invoked with the same precautions and from the same context - * as V8 script would be invoked from, because: - * a. with "evaluate" command it can do whatever normal script can do, - * including all native calls; - * b. no other thread should call V8 while this method is running - * (v8::Locker may be used here). - * - * "Evaluate" debug command behavior currently is not specified in scope - * of this method. - */ + // This is now a no-op. V8_DEPRECATED("No longer supported", static void ProcessDebugMessages(Isolate* isolate)); diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h index d0925adba0460c..c7209ed69aeae7 100644 --- a/deps/v8/include/v8-inspector.h +++ b/deps/v8/include/v8-inspector.h @@ -85,6 +85,8 @@ class V8_EXPORT V8ContextInfo { StringView auxData; bool hasMemoryOnConsole; + static int executionContextId(v8::Local context); + private: // Disallow copying and allocating this one. enum NotNullTagEnum { NotNullLiteral }; @@ -156,8 +158,6 @@ class V8_EXPORT V8InspectorSession { virtual void releaseObjectGroup(const StringView&) = 0; }; -enum class V8ConsoleAPIType { kClear, kDebug, kLog, kInfo, kWarning, kError }; - class V8_EXPORT V8InspectorClient { public: virtual ~V8InspectorClient() {} @@ -189,7 +189,8 @@ class V8_EXPORT V8InspectorClient { virtual void installAdditionalCommandLineAPI(v8::Local, v8::Local) {} - virtual void consoleAPIMessage(int contextGroupId, V8ConsoleAPIType, + virtual void consoleAPIMessage(int contextGroupId, + v8::Isolate::MessageErrorLevel level, const StringView& message, const StringView& url, unsigned lineNumber, unsigned columnNumber, V8StackTrace*) {} @@ -201,6 +202,7 @@ class V8_EXPORT V8InspectorClient { virtual void consoleTime(const StringView& title) {} virtual void consoleTimeEnd(const StringView& title) {} virtual void consoleTimeStamp(const StringView& title) {} + virtual void consoleClear(int contextGroupId) {} virtual double currentTimeMS() { return 0; } typedef void (*TimerCallback)(void*); virtual void startRepeatingTimer(double, TimerCallback, void* data) {} diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 74c0613946d513..f7d182f8021e1f 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -5,6 +5,7 @@ #ifndef V8_V8_PROFILER_H_ #define V8_V8_PROFILER_H_ +#include #include #include "v8.h" // NOLINT(build/include) @@ -392,8 +393,7 @@ class V8_EXPORT HeapGraphNode { // snapshot items together. kConsString = 10, // Concatenated string. A pair of pointers to strings. kSlicedString = 11, // Sliced string. A fragment of another string. - kSymbol = 12, // A Symbol (ES6). - kSimdValue = 13 // A SIMD value stored in the heap (Proposed ES7). + kSymbol = 12 // A Symbol (ES6). }; /** Returns node type (see HeapGraphNode::Type). */ @@ -630,6 +630,24 @@ class V8_EXPORT HeapProfiler { kSamplingForceGC = 1 << 0, }; + typedef std::unordered_set*> + RetainerChildren; + typedef std::vector> + RetainerGroups; + typedef std::vector*, + const v8::PersistentBase*>> + RetainerEdges; + + struct RetainerInfos { + RetainerGroups groups; + RetainerEdges edges; + }; + + /** + * Callback function invoked to retrieve all RetainerInfos from the embedder. + */ + typedef RetainerInfos (*GetRetainerInfosCallback)(v8::Isolate* isolate); + /** * Callback function invoked for obtaining RetainedObjectInfo for * the given JavaScript wrapper object. It is prohibited to enter V8 @@ -782,6 +800,8 @@ class V8_EXPORT HeapProfiler { uint16_t class_id, WrapperInfoCallback callback); + void SetGetRetainerInfosCallback(GetRetainerInfosCallback callback); + /** * Default value of persistent handle class ID. Must not be used to * define a class. Can be used to reset a class of a persistent diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 8133fdd49dcf4f..a04a5e84f80dc4 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -6,6 +6,7 @@ #define V8_UTIL_H_ #include "v8.h" // NOLINT(build/include) +#include #include #include @@ -210,7 +211,7 @@ class PersistentValueMapBase { * key. */ void RegisterExternallyReferencedObject(K& key) { - DCHECK(Contains(key)); + assert(Contains(key)); V8::RegisterExternallyReferencedObject( reinterpret_cast(FromVal(Traits::Get(&impl_, key))), reinterpret_cast(GetIsolate())); diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 2301f219b36198..2cc9821769a586 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 7 -#define V8_BUILD_NUMBER 492 -#define V8_PATCH_LEVEL 69 +#define V8_MINOR_VERSION 8 +#define V8_BUILD_NUMBER 283 +#define V8_PATCH_LEVEL 38 // 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 f00ecc7465d84e..baf44170f03d07 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -962,20 +962,31 @@ class V8_EXPORT Data { class ScriptOriginOptions { public: V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false, - bool is_opaque = false, bool is_wasm = false) + bool is_opaque = false, bool is_wasm = false, + bool is_module = false) : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | - (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0)) {} + (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0) | + (is_module ? kIsModule : 0)) {} V8_INLINE ScriptOriginOptions(int flags) - : flags_(flags & (kIsSharedCrossOrigin | kIsOpaque | kIsWasm)) {} + : flags_(flags & + (kIsSharedCrossOrigin | kIsOpaque | kIsWasm | kIsModule)) {} + bool IsSharedCrossOrigin() const { return (flags_ & kIsSharedCrossOrigin) != 0; } bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } bool IsWasm() const { return (flags_ & kIsWasm) != 0; } + bool IsModule() const { return (flags_ & kIsModule) != 0; } + int Flags() const { return flags_; } private: - enum { kIsSharedCrossOrigin = 1, kIsOpaque = 1 << 1, kIsWasm = 1 << 2 }; + enum { + kIsSharedCrossOrigin = 1, + kIsOpaque = 1 << 1, + kIsWasm = 1 << 2, + kIsModule = 1 << 3 + }; const int flags_; }; @@ -992,7 +1003,8 @@ class ScriptOrigin { Local script_id = Local(), Local source_map_url = Local(), Local resource_is_opaque = Local(), - Local is_wasm = Local()); + Local is_wasm = Local(), + Local is_module = Local()); V8_INLINE Local ResourceName() const; V8_INLINE Local ResourceLineOffset() const; @@ -1183,6 +1195,8 @@ class V8_EXPORT ScriptCompiler { // alive. V8_INLINE const CachedData* GetCachedData() const; + V8_INLINE const ScriptOriginOptions& GetResourceOptions() const; + // Prevent copying. Source(const Source&) = delete; Source& operator=(const Source&) = delete; @@ -1425,7 +1439,7 @@ class V8_EXPORT ScriptCompiler { private: static V8_WARN_UNUSED_RESULT MaybeLocal CompileUnboundInternal( - Isolate* isolate, Source* source, CompileOptions options, bool is_module); + Isolate* isolate, Source* source, CompileOptions options); }; @@ -1771,7 +1785,7 @@ class V8_EXPORT ValueSerializer { /* * Marks an ArrayBuffer as havings its contents transferred out of band. - * Pass the corresponding JSArrayBuffer in the deserializing context to + * Pass the corresponding ArrayBuffer in the deserializing context to * ValueDeserializer::TransferArrayBuffer. */ void TransferArrayBuffer(uint32_t transfer_id, @@ -2158,12 +2172,6 @@ class V8_EXPORT Value : public Data { */ bool IsFloat64Array() const; - /** - * Returns true if this value is a SIMD Float32x4. - * This is an experimental feature. - */ - bool IsFloat32x4() const; - /** * Returns true if this value is a DataView. */ @@ -2326,7 +2334,7 @@ class V8_EXPORT String : public Name { enum Encoding { UNKNOWN_ENCODING = 0x1, TWO_BYTE_ENCODING = 0x0, - ONE_BYTE_ENCODING = 0x4 + ONE_BYTE_ENCODING = 0x8 }; /** * Returns the number of characters in this string. @@ -2442,6 +2450,7 @@ class V8_EXPORT String : public Name { private: friend class internal::Heap; + friend class v8::String; }; /** @@ -4613,8 +4622,11 @@ class V8_EXPORT External : public Value { static void CheckCast(v8::Value* obj); }; - -#define V8_INTRINSICS_LIST(F) F(ArrayProto_values, array_values_iterator) +#define V8_INTRINSICS_LIST(F) \ + F(ArrayProto_entries, array_entries_iterator) \ + F(ArrayProto_forEach, array_for_each_iterator) \ + F(ArrayProto_keys, array_keys_iterator) \ + F(ArrayProto_values, array_values_iterator) enum Intrinsic { #define V8_DECL_INTRINSIC(name, iname) k##name, @@ -6360,7 +6372,8 @@ class V8_EXPORT Isolate { create_histogram_callback(nullptr), add_histogram_sample_callback(nullptr), array_buffer_allocator(nullptr), - external_references(nullptr) {} + external_references(nullptr), + allow_atomics_wait(true) {} /** * The optional entry_hook allows the host application to provide the @@ -6416,6 +6429,12 @@ class V8_EXPORT Isolate { * entire lifetime of the isolate. */ intptr_t* external_references; + + /** + * Whether calling Atomics.wait (a function that may block) is allowed in + * this isolate. + */ + bool allow_atomics_wait; }; @@ -6789,6 +6808,14 @@ class V8_EXPORT Isolate { /** Returns the last context entered through V8's C++ API. */ Local GetEnteredContext(); + /** + * Returns either the last context entered through V8's C++ API, or the + * context of the currently running microtask while processing microtasks. + * If a context is entered while executing a microtask, that context is + * returned. + */ + Local GetEnteredOrMicrotaskContext(); + /** * Schedules an exception to be thrown when returning to JavaScript. When an * exception has been scheduled it is illegal to invoke any JavaScript @@ -6809,9 +6836,9 @@ class V8_EXPORT Isolate { * for partially dependent handles only. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetObjectGroupId(const Persistent& object, - UniqueId id)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetObjectGroupId(const Persistent& object, + UniqueId id)); /** * Allows the host application to declare implicit references from an object @@ -6821,9 +6848,9 @@ class V8_EXPORT Isolate { * callback function. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetReferenceFromGroup(UniqueId id, - const Persistent& child)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetReferenceFromGroup(UniqueId id, + const Persistent& child)); /** * Allows the host application to declare implicit references from an object @@ -6832,9 +6859,9 @@ class V8_EXPORT Isolate { * is intended to be used in the before-garbage-collection callback function. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetReference(const Persistent& parent, - const Persistent& child)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetReference(const Persistent& parent, + const Persistent& child)); typedef void (*GCCallback)(Isolate* isolate, GCType type, GCCallbackFlags flags); @@ -8476,10 +8503,10 @@ class Internals { static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; static const int kContextHeaderSize = 2 * kApiPointerSize; static const int kContextEmbedderDataIndex = 5; - static const int kFullStringRepresentationMask = 0x07; - static const int kStringEncodingMask = 0x4; + static const int kFullStringRepresentationMask = 0x0f; + static const int kStringEncodingMask = 0x8; static const int kExternalTwoByteRepresentationTag = 0x02; - static const int kExternalOneByteRepresentationTag = 0x06; + static const int kExternalOneByteRepresentationTag = 0x0a; static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize; static const int kExternalMemoryOffset = 4 * kApiPointerSize; @@ -8504,11 +8531,11 @@ class Internals { static const int kNodeIsIndependentShift = 3; static const int kNodeIsActiveShift = 4; - static const int kJSApiObjectType = 0xbb; - static const int kJSObjectType = 0xbc; + static const int kJSApiObjectType = 0xb9; + static const int kJSObjectType = 0xba; static const int kFirstNonstringType = 0x80; - static const int kOddballType = 0x83; - static const int kForeignType = 0x87; + static const int kOddballType = 0x82; + static const int kForeignType = 0x86; static const int kUndefinedOddballKind = 5; static const int kNullOddballKind = 3; @@ -9026,14 +9053,15 @@ ScriptOrigin::ScriptOrigin(Local resource_name, Local script_id, Local source_map_url, Local resource_is_opaque, - Local is_wasm) + Local is_wasm, Local is_module) : resource_name_(resource_name), resource_line_offset_(resource_line_offset), resource_column_offset_(resource_column_offset), options_(!resource_is_shared_cross_origin.IsEmpty() && resource_is_shared_cross_origin->IsTrue(), !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue(), - !is_wasm.IsEmpty() && is_wasm->IsTrue()), + !is_wasm.IsEmpty() && is_wasm->IsTrue(), + !is_module.IsEmpty() && is_module->IsTrue()), script_id_(script_id), source_map_url_(source_map_url) {} @@ -9082,13 +9110,16 @@ const ScriptCompiler::CachedData* ScriptCompiler::Source::GetCachedData() return cached_data; } +const ScriptOriginOptions& ScriptCompiler::Source::GetResourceOptions() const { + return resource_options; +} Local Boolean::New(Isolate* isolate, bool value) { return value ? True(isolate) : False(isolate); } void Template::Set(Isolate* isolate, const char* name, Local value) { - Set(String::NewFromUtf8(isolate, name, NewStringType::kNormal) + Set(String::NewFromUtf8(isolate, name, NewStringType::kInternalized) .ToLocalChecked(), value); } diff --git a/deps/v8/infra/config/cq.cfg b/deps/v8/infra/config/cq.cfg index 6e6c725e6d53a4..72381ee38801c8 100644 --- a/deps/v8/infra/config/cq.cfg +++ b/deps/v8/infra/config/cq.cfg @@ -4,10 +4,11 @@ version: 1 cq_name: "v8" cq_status_url: "https://chromium-cq-status.appspot.com" +git_repo_url: "https://chromium.googlesource.com/v8/v8" commit_burst_delay: 60 max_commit_burst: 1 -target_ref: "refs/pending/heads/master" +gerrit {} rietveld { url: "https://codereview.chromium.org" } @@ -18,6 +19,11 @@ verifiers { dry_run_access_list: "project-v8-tryjob-access" } + gerrit_cq_ability { + committer_list: "project-v8-committers" + dry_run_access_list: "project-v8-tryjob-access" + } + tree_status { tree_status_url: "https://v8-status.appspot.com" } @@ -46,6 +52,11 @@ verifiers { name: "v8_linux64_rel_ng_triggered" triggered_by: "v8_linux64_rel_ng" } + builders { name: "v8_linux64_verify_csa_rel_ng" } + builders { + name: "v8_linux64_verify_csa_rel_ng_triggered" + triggered_by: "v8_linux64_verify_csa_rel_ng" + } builders { name: "v8_linux_arm64_rel_ng" } builders { name: "v8_linux_arm64_rel_ng_triggered" @@ -75,6 +86,11 @@ verifiers { name: "v8_linux_rel_ng_triggered" triggered_by: "v8_linux_rel_ng" } + builders { name: "v8_linux_verify_csa_rel_ng" } + builders { + name: "v8_linux_verify_csa_rel_ng_triggered" + triggered_by: "v8_linux_verify_csa_rel_ng" + } builders { name: "v8_mac_rel_ng" } builders { name: "v8_mac_rel_ng_triggered" diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index 2ac80d00f579a6..2a78d8627f52c0 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -18,6 +18,12 @@ 'ia32.debug': 'default_debug_x86', 'ia32.optdebug': 'default_optdebug_x86', 'ia32.release': 'default_release_x86', + 'mipsel.debug': 'default_debug_mipsel', + 'mipsel.optdebug': 'default_optdebug_mipsel', + 'mipsel.release': 'default_release_mipsel', + 'mips64el.debug': 'default_debug_mips64el', + 'mips64el.optdebug': 'default_optdebug_mips64el', + 'mips64el.release': 'default_release_mips64el', 'x64.debug': 'default_debug_x64', 'x64.optdebug': 'default_optdebug_x64', 'x64.release': 'default_release_x64', @@ -39,12 +45,14 @@ 'V8 Linux - nosnap debug builder': 'gn_debug_x86_no_snap', 'V8 Linux - shared': 'gn_release_x86_shared_verify_heap', 'V8 Linux - noi18n - debug': 'gn_debug_x86_no_i18n', + 'V8 Linux - verify csa': 'gn_release_x86_verify_csa', # Linux64. 'V8 Linux64 - builder': 'gn_release_x64_valgrind', 'V8 Linux64 - debug builder': 'gn_debug_x64_valgrind', 'V8 Linux64 - custom snapshot - debug builder': 'gn_debug_x64_custom', 'V8 Linux64 - internal snapshot': 'gn_release_x64_internal', 'V8 Linux64 - gyp': 'gyp_release_x64', + 'V8 Linux64 - verify csa': 'gn_release_x64_verify_csa', # Windows. 'V8 Win32 - builder': 'gn_release_x86_minimal_symbols', 'V8 Win32 - debug builder': 'gn_debug_x86_minimal_symbols', @@ -147,6 +155,7 @@ }, 'tryserver.v8': { 'v8_linux_rel_ng': 'gn_release_x86_gcmole_trybot', + 'v8_linux_verify_csa_rel_ng': 'gn_release_x86_verify_csa', 'v8_linux_avx2_dbg': 'gn_debug_x86_trybot', 'v8_linux_nodcheck_rel_ng': 'gn_release_x86_minimal_symbols', 'v8_linux_dbg_ng': 'gn_debug_x86_trybot', @@ -157,6 +166,7 @@ 'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux64_rel_ng': 'gn_release_x64_valgrind_trybot', + 'v8_linux64_verify_csa_rel_ng': 'gn_release_x64_verify_csa', 'v8_linux64_gyp_rel_ng': 'gyp_release_x64', 'v8_linux64_avx2_rel_ng': 'gn_release_x64_trybot', 'v8_linux64_avx2_dbg': 'gn_debug_x64_trybot', @@ -210,6 +220,20 @@ 'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'], 'default_release_arm64': [ 'gn', 'release', 'simulate_arm64'], + 'default_debug_mipsel': [ + 'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_mipsel': [ + 'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks'], + 'default_release_mipsel': [ + 'gn', 'release', 'simulate_mipsel'], + 'default_debug_mips64el': [ + 'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_mips64el': [ + 'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'], + 'default_release_mips64el': [ + 'gn', 'release', 'simulate_mips64el'], 'default_debug_x64': [ 'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_x64': [ @@ -302,6 +326,9 @@ 'gn', 'release_bot', 'x64', 'swarming', 'valgrind'], 'gn_release_x64_valgrind_trybot': [ 'gn', 'release_trybot', 'x64', 'swarming', 'valgrind'], + 'gn_release_x64_verify_csa': [ + 'gn', 'release_bot', 'x64', 'swarming', 'dcheck_always_on', + 'v8_enable_slow_dchecks', 'v8_verify_csa'], # GN debug configs for x64. 'gn_debug_x64': [ @@ -359,6 +386,9 @@ 'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'], 'gn_release_x86_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming'], + 'gn_release_x86_verify_csa': [ + 'gn', 'release_bot', 'x86', 'swarming', 'dcheck_always_on', + 'v8_enable_slow_dchecks', 'v8_verify_csa'], # Gyp debug configs for simulators. 'gyp_debug_simulate_x87': [ @@ -628,7 +658,7 @@ }, 'v8_correctness_fuzzer': { - 'gn_args': 'v8_correctness_fuzzer=true', + 'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true', }, 'v8_disable_inspector': { @@ -694,6 +724,10 @@ 'gyp_defines': 'v8_enable_verify_heap=1', }, + 'v8_verify_csa': { + 'gn_args': 'v8_enable_verify_csa=true', + }, + 'x64': { 'gn_args': 'target_cpu="x64"', 'gyp_defines': 'target_arch=x64', diff --git a/deps/v8/src/accessors.h b/deps/v8/src/accessors.h index 218fb3572ff75e..a4d51fd18abfc4 100644 --- a/deps/v8/src/accessors.h +++ b/deps/v8/src/accessors.h @@ -8,7 +8,6 @@ #include "include/v8.h" #include "src/allocation.h" #include "src/globals.h" -#include "src/handles.h" #include "src/property-details.h" namespace v8 { @@ -16,6 +15,8 @@ namespace internal { // Forward declarations. class AccessorInfo; +template +class Handle; // The list of accessor descriptors. This is a second-order macro // taking a macro to be applied to all accessor descriptor names. diff --git a/deps/v8/src/api-experimental.h b/deps/v8/src/api-experimental.h index bc0bc55739b503..5b1bc1b04a2b18 100644 --- a/deps/v8/src/api-experimental.h +++ b/deps/v8/src/api-experimental.h @@ -5,11 +5,11 @@ #ifndef V8_API_EXPERIMENTAL_H_ #define V8_API_EXPERIMENTAL_H_ -#include "src/handles.h" - namespace v8 { namespace internal { class Code; +template +class MaybeHandle; } // internal; namespace experimental { class FastAccessorBuilder; diff --git a/deps/v8/src/api-natives.cc b/deps/v8/src/api-natives.cc index 87138bd5cf7d2c..045ff470ab232e 100644 --- a/deps/v8/src/api-natives.cc +++ b/deps/v8/src/api-natives.cc @@ -538,8 +538,6 @@ MaybeHandle ApiNatives::InstantiateRemoteObject( JSFunction::SetInitialMap(object_function, object_map, isolate->factory()->null_value()); object_map->set_is_access_check_needed(true); - object_map->set_is_callable(); - object_map->set_is_constructor(true); Handle object = isolate->factory()->NewJSObject(object_function); JSObject::ForceSetPrototype(object, isolate->factory()->null_value()); diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index 446b008a556eed..beefd61bdb6b9d 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -35,6 +35,7 @@ #include "src/contexts.h" #include "src/conversions-inl.h" #include "src/counters.h" +#include "src/debug/debug-coverage.h" #include "src/debug/debug.h" #include "src/deoptimizer.h" #include "src/execution.h" @@ -47,6 +48,7 @@ #include "src/json-parser.h" #include "src/json-stringifier.h" #include "src/messages.h" +#include "src/objects-inl.h" #include "src/parsing/parser.h" #include "src/parsing/scanner-character-streams.h" #include "src/pending-compilation-error-handler.h" @@ -283,7 +285,8 @@ static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, v8::Integer::New(v8_isolate, script->id()), Utils::ToLocal(source_map_url), v8::Boolean::New(v8_isolate, options.IsOpaque()), - v8::Boolean::New(v8_isolate, script->type() == i::Script::TYPE_WASM)); + v8::Boolean::New(v8_isolate, script->type() == i::Script::TYPE_WASM), + v8::Boolean::New(v8_isolate, options.IsModule())); return origin; } @@ -2103,8 +2106,7 @@ MaybeLocal Module::Evaluate(Local context) { } MaybeLocal ScriptCompiler::CompileUnboundInternal( - Isolate* v8_isolate, Source* source, CompileOptions options, - bool is_module) { + Isolate* v8_isolate, Source* source, CompileOptions options) { i::Isolate* isolate = reinterpret_cast(v8_isolate); PREPARE_FOR_EXECUTION_WITH_ISOLATE(isolate, ScriptCompiler, CompileUnbound, UnboundScript); @@ -2149,7 +2151,7 @@ MaybeLocal ScriptCompiler::CompileUnboundInternal( result = i::Compiler::GetSharedFunctionInfoForScript( str, name_obj, line_offset, column_offset, source->resource_options, source_map_url, isolate->native_context(), NULL, &script_data, options, - i::NOT_NATIVES_CODE, is_module); + i::NOT_NATIVES_CODE); has_pending_exception = result.is_null(); if (has_pending_exception && script_data != NULL) { // This case won't happen during normal operation; we have compiled @@ -2178,24 +2180,34 @@ MaybeLocal ScriptCompiler::CompileUnboundInternal( MaybeLocal ScriptCompiler::CompileUnboundScript( Isolate* v8_isolate, Source* source, CompileOptions options) { - return CompileUnboundInternal(v8_isolate, source, options, false); + Utils::ApiCheck( + !source->GetResourceOptions().IsModule(), + "v8::ScriptCompiler::CompileUnboundScript", + "v8::ScriptCompiler::CompileModule must be used to compile modules"); + return CompileUnboundInternal(v8_isolate, source, options); } Local ScriptCompiler::CompileUnbound(Isolate* v8_isolate, Source* source, CompileOptions options) { - RETURN_TO_LOCAL_UNCHECKED( - CompileUnboundInternal(v8_isolate, source, options, false), - UnboundScript); + Utils::ApiCheck( + !source->GetResourceOptions().IsModule(), + "v8::ScriptCompiler::CompileUnbound", + "v8::ScriptCompiler::CompileModule must be used to compile modules"); + RETURN_TO_LOCAL_UNCHECKED(CompileUnboundInternal(v8_isolate, source, options), + UnboundScript); } MaybeLocal