From 44ad55d493bea1003dff5133e3784225cd62e95a Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Tue, 1 Aug 2017 13:27:04 -0500 Subject: [PATCH] deps: update V8 to 6.0.286.52 PR-URL: https://github.com/nodejs/node/pull/14574 Reviewed-By: Anna Henningsen Reviewed-By: Refael Ackermann --- deps/v8/.gitignore | 48 +- deps/v8/AUTHORS | 4 +- deps/v8/BUILD.gn | 654 ++- deps/v8/ChangeLog | 2635 ++++++++++ deps/v8/DEPS | 45 +- deps/v8/Makefile | 7 - deps/v8/OWNERS | 1 - deps/v8/PRESUBMIT.py | 42 +- .../trace_event/common/trace_event_common.h | 6 + deps/v8/codereview.settings | 6 +- deps/v8/gni/isolate.gni | 7 - deps/v8/gni/v8.gni | 6 +- deps/v8/gypfiles/all.gyp | 13 +- deps/v8/gypfiles/coverage_wrapper.py | 2 + deps/v8/gypfiles/features.gypi | 11 +- deps/v8/gypfiles/isolate.gypi | 1 - deps/v8/gypfiles/standalone.gypi | 34 +- deps/v8/gypfiles/toolchain.gypi | 5 +- deps/v8/include/libplatform/libplatform.h | 27 +- deps/v8/include/v8-platform.h | 8 + deps/v8/include/v8-value-serializer-version.h | 24 + deps/v8/include/v8-version.h | 8 +- deps/v8/include/v8.h | 510 +- deps/v8/include/v8config.h | 2 +- deps/v8/infra/config/cq.cfg | 4 +- deps/v8/infra/mb/mb_config.pyl | 98 +- deps/v8/src/DEPS | 5 + deps/v8/src/OWNERS | 5 +- deps/v8/src/accessors.cc | 24 +- deps/v8/src/accessors.h | 2 - deps/v8/src/api-arguments.h | 5 +- deps/v8/src/api-natives.cc | 95 +- deps/v8/src/api.cc | 957 ++-- deps/v8/src/api.h | 30 +- deps/v8/src/arm/assembler-arm-inl.h | 185 +- deps/v8/src/arm/assembler-arm.cc | 995 ++-- deps/v8/src/arm/assembler-arm.h | 543 ++- deps/v8/src/arm/code-stubs-arm.cc | 418 +- deps/v8/src/arm/code-stubs-arm.h | 4 +- deps/v8/src/arm/codegen-arm.cc | 16 +- deps/v8/src/arm/constants-arm.h | 19 +- deps/v8/src/arm/deoptimizer-arm.cc | 71 +- deps/v8/src/arm/disasm-arm.cc | 321 +- deps/v8/src/arm/frames-arm.cc | 8 +- deps/v8/src/arm/frames-arm.h | 16 +- deps/v8/src/arm/interface-descriptors-arm.cc | 65 +- deps/v8/src/arm/macro-assembler-arm.cc | 503 +- deps/v8/src/arm/macro-assembler-arm.h | 129 +- deps/v8/src/arm/simulator-arm.cc | 1385 +++--- deps/v8/src/arm/simulator-arm.h | 25 +- deps/v8/src/arm64/assembler-arm64-inl.h | 69 +- deps/v8/src/arm64/assembler-arm64.cc | 72 +- deps/v8/src/arm64/assembler-arm64.h | 185 +- deps/v8/src/arm64/code-stubs-arm64.cc | 528 +- deps/v8/src/arm64/code-stubs-arm64.h | 40 +- deps/v8/src/arm64/codegen-arm64.cc | 2 + deps/v8/src/arm64/constants-arm64.h | 11 +- deps/v8/src/arm64/deoptimizer-arm64.cc | 78 +- deps/v8/src/arm64/disasm-arm64.cc | 11 +- deps/v8/src/arm64/eh-frame-arm64.cc | 1 + deps/v8/src/arm64/instructions-arm64.cc | 21 +- deps/v8/src/arm64/instructions-arm64.h | 10 +- deps/v8/src/arm64/instrument-arm64.cc | 60 +- .../src/arm64/interface-descriptors-arm64.cc | 64 +- deps/v8/src/arm64/macro-assembler-arm64-inl.h | 27 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 289 +- deps/v8/src/arm64/macro-assembler-arm64.h | 111 +- deps/v8/src/arm64/simulator-arm64.cc | 383 +- deps/v8/src/arm64/simulator-arm64.h | 102 +- deps/v8/src/asmjs/OWNERS | 3 - deps/v8/src/asmjs/asm-js.cc | 509 +- deps/v8/src/asmjs/asm-js.h | 20 +- deps/v8/src/asmjs/asm-names.h | 111 + deps/v8/src/asmjs/asm-parser.cc | 2460 ++++++++++ deps/v8/src/asmjs/asm-parser.h | 341 ++ deps/v8/src/asmjs/asm-scanner.cc | 432 ++ deps/v8/src/asmjs/asm-scanner.h | 176 + deps/v8/src/asmjs/asm-typer.cc | 2963 ------------ deps/v8/src/asmjs/asm-typer.h | 420 -- deps/v8/src/asmjs/asm-types.h | 6 +- deps/v8/src/asmjs/asm-wasm-builder.cc | 2017 -------- deps/v8/src/asmjs/asm-wasm-builder.h | 45 - deps/v8/src/asmjs/switch-logic.h | 7 +- deps/v8/src/assembler.cc | 176 +- deps/v8/src/assembler.h | 93 +- deps/v8/src/ast/ast-expression-rewriter.cc | 11 +- deps/v8/src/ast/ast-numbering.cc | 78 +- deps/v8/src/ast/ast-numbering.h | 30 +- deps/v8/src/ast/ast-traversal-visitor.h | 9 +- deps/v8/src/ast/ast-types.cc | 12 +- deps/v8/src/ast/ast-value-factory.cc | 96 +- deps/v8/src/ast/ast-value-factory.h | 232 +- deps/v8/src/ast/ast.cc | 172 +- deps/v8/src/ast/ast.h | 373 +- deps/v8/src/ast/compile-time-value.cc | 20 +- deps/v8/src/ast/compile-time-value.h | 15 +- deps/v8/src/ast/context-slot-cache.h | 2 +- deps/v8/src/ast/modules.h | 3 +- deps/v8/src/ast/prettyprinter.cc | 73 +- deps/v8/src/ast/scopes.cc | 344 +- deps/v8/src/ast/scopes.h | 97 +- deps/v8/src/ast/variables.cc | 1 + deps/v8/src/ast/variables.h | 57 +- deps/v8/src/background-parsing-task.cc | 12 +- deps/v8/src/bailout-reason.h | 12 +- deps/v8/src/base/bits.cc | 36 +- deps/v8/src/base/bits.h | 12 +- deps/v8/src/base/build_config.h | 6 +- deps/v8/src/base/cpu.cc | 3 + deps/v8/src/base/cpu.h | 2 + deps/v8/src/base/debug/stack_trace.h | 2 +- deps/v8/src/base/debug/stack_trace_win.cc | 4 +- deps/v8/src/base/export-template.h | 163 + deps/v8/src/base/iterator.h | 7 +- deps/v8/src/base/logging.cc | 16 +- deps/v8/src/base/logging.h | 15 +- deps/v8/src/base/platform/mutex.cc | 2 +- deps/v8/src/base/platform/platform-aix.cc | 20 +- deps/v8/src/base/platform/platform-cygwin.cc | 21 +- deps/v8/src/base/platform/platform-freebsd.cc | 30 +- deps/v8/src/base/platform/platform-linux.cc | 23 +- deps/v8/src/base/platform/platform-macos.cc | 30 +- deps/v8/src/base/platform/platform-openbsd.cc | 30 +- deps/v8/src/base/platform/platform-posix.cc | 59 +- deps/v8/src/base/platform/platform-posix.h | 31 + deps/v8/src/base/platform/platform-qnx.cc | 30 +- deps/v8/src/base/platform/platform-solaris.cc | 22 +- deps/v8/src/base/platform/platform-win32.cc | 97 +- deps/v8/src/base/platform/platform.h | 26 +- deps/v8/src/base/timezone-cache.h | 38 + deps/v8/src/bootstrapper.cc | 893 ++-- deps/v8/src/bootstrapper.h | 35 +- deps/v8/src/builtins/arm/builtins-arm.cc | 776 +-- deps/v8/src/builtins/arm64/builtins-arm64.cc | 743 +-- deps/v8/src/builtins/builtins-api.cc | 9 +- ...arguments.cc => builtins-arguments-gen.cc} | 47 +- ...s-arguments.h => builtins-arguments-gen.h} | 0 deps/v8/src/builtins/builtins-array-gen.cc | 2454 ++++++++++ deps/v8/src/builtins/builtins-array.cc | 1625 +------ deps/v8/src/builtins/builtins-arraybuffer.cc | 261 +- ...tion.cc => builtins-async-function-gen.cc} | 47 +- ...uiltins-async.cc => builtins-async-gen.cc} | 69 +- ...{builtins-async.h => builtins-async-gen.h} | 12 +- .../builtins/builtins-async-generator-gen.cc | 511 ++ ...ator.cc => builtins-async-iterator-gen.cc} | 134 +- deps/v8/src/builtins/builtins-boolean-gen.cc | 37 + deps/v8/src/builtins/builtins-boolean.cc | 30 - deps/v8/src/builtins/builtins-call-gen.cc | 94 + deps/v8/src/builtins/builtins-call.cc | 83 +- deps/v8/src/builtins/builtins-callsite.cc | 1 + deps/v8/src/builtins/builtins-console-gen.cc | 38 + deps/v8/src/builtins/builtins-console.cc | 59 + ...tructor.cc => builtins-constructor-gen.cc} | 435 +- .../src/builtins/builtins-constructor-gen.h | 49 + deps/v8/src/builtins/builtins-constructor.h | 59 +- .../src/builtins/builtins-conversion-gen.cc | 371 ++ deps/v8/src/builtins/builtins-conversion.cc | 507 -- deps/v8/src/builtins/builtins-dataview.cc | 4 +- deps/v8/src/builtins/builtins-date-gen.cc | 258 + deps/v8/src/builtins/builtins-date.cc | 276 -- deps/v8/src/builtins/builtins-definitions.h | 1066 +++++ deps/v8/src/builtins/builtins-descriptors.h | 52 + deps/v8/src/builtins/builtins-forin-gen.cc | 206 + deps/v8/src/builtins/builtins-forin-gen.h | 34 + deps/v8/src/builtins/builtins-function-gen.cc | 180 + deps/v8/src/builtins/builtins-function.cc | 213 +- ...generator.cc => builtins-generator-gen.cc} | 47 +- deps/v8/src/builtins/builtins-global-gen.cc | 108 + deps/v8/src/builtins/builtins-global.cc | 108 - ...ins-handler.cc => builtins-handler-gen.cc} | 122 +- .../{builtins-ic.cc => builtins-ic-gen.cc} | 13 +- deps/v8/src/builtins/builtins-internal-gen.cc | 289 ++ deps/v8/src/builtins/builtins-internal.cc | 273 -- .../src/builtins/builtins-interpreter-gen.cc | 77 + deps/v8/src/builtins/builtins-interpreter.cc | 84 +- deps/v8/src/builtins/builtins-intl-gen.cc | 124 + deps/v8/src/builtins/builtins-intl.cc | 101 + deps/v8/src/builtins/builtins-math-gen.cc | 538 +++ deps/v8/src/builtins/builtins-math.cc | 437 -- deps/v8/src/builtins/builtins-number-gen.cc | 1452 ++++++ deps/v8/src/builtins/builtins-number.cc | 1405 +----- deps/v8/src/builtins/builtins-object-gen.cc | 558 +++ deps/v8/src/builtins/builtins-object.cc | 502 +- deps/v8/src/builtins/builtins-object.h | 26 - ...ins-promise.cc => builtins-promise-gen.cc} | 449 +- ...ltins-promise.h => builtins-promise-gen.h} | 4 +- deps/v8/src/builtins/builtins-regexp-gen.cc | 2949 ++++++++++++ ...uiltins-regexp.h => builtins-regexp-gen.h} | 41 +- deps/v8/src/builtins/builtins-regexp.cc | 2698 +---------- .../builtins-sharedarraybuffer-gen.cc | 508 ++ .../builtins/builtins-sharedarraybuffer.cc | 369 +- deps/v8/src/builtins/builtins-string-gen.cc | 1827 +++++++ deps/v8/src/builtins/builtins-string-gen.h | 95 + deps/v8/src/builtins/builtins-string.cc | 1623 +------ deps/v8/src/builtins/builtins-symbol-gen.cc | 47 + deps/v8/src/builtins/builtins-symbol.cc | 46 - .../src/builtins/builtins-typedarray-gen.cc | 746 +++ deps/v8/src/builtins/builtins-typedarray.cc | 352 +- deps/v8/src/builtins/builtins-utils-gen.h | 57 + deps/v8/src/builtins/builtins-utils.h | 29 - ...{builtins-wasm.cc => builtins-wasm-gen.cc} | 2 +- deps/v8/src/builtins/builtins.cc | 254 +- deps/v8/src/builtins/builtins.h | 895 +--- deps/v8/src/builtins/ia32/builtins-ia32.cc | 765 +-- deps/v8/src/builtins/mips/OWNERS | 7 +- deps/v8/src/builtins/mips/builtins-mips.cc | 781 ++- deps/v8/src/builtins/mips64/OWNERS | 7 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 1127 ++--- deps/v8/src/builtins/ppc/builtins-ppc.cc | 776 +-- deps/v8/src/builtins/s390/builtins-s390.cc | 762 +-- .../src/builtins/setup-builtins-internal.cc | 202 + deps/v8/src/builtins/x64/builtins-x64.cc | 692 +-- deps/v8/src/builtins/x87/builtins-x87.cc | 237 +- deps/v8/src/callable.h | 33 + deps/v8/src/char-predicates.cc | 12 +- deps/v8/src/code-events.h | 10 +- deps/v8/src/code-factory.cc | 138 +- deps/v8/src/code-factory.h | 55 +- deps/v8/src/code-stub-assembler.cc | 3297 ++++++++----- deps/v8/src/code-stub-assembler.h | 341 +- deps/v8/src/code-stubs-hydrogen.cc | 1 + deps/v8/src/code-stubs-utils.h | 49 + deps/v8/src/code-stubs.cc | 1935 ++------ deps/v8/src/code-stubs.h | 197 +- deps/v8/src/codegen.cc | 12 +- deps/v8/src/compilation-cache.cc | 23 +- deps/v8/src/compilation-cache.h | 8 +- deps/v8/src/compilation-dependencies.cc | 2 +- deps/v8/src/compilation-dependencies.h | 3 +- deps/v8/src/compilation-info.cc | 7 +- deps/v8/src/compilation-info.h | 2 +- .../compiler-dispatcher-job.cc | 130 +- .../compiler-dispatcher-job.h | 26 +- .../compiler-dispatcher.cc | 355 +- .../compiler-dispatcher/compiler-dispatcher.h | 46 +- .../optimizing-compile-dispatcher.cc | 2 +- deps/v8/src/compiler.cc | 499 +- deps/v8/src/compiler.h | 16 +- deps/v8/src/compiler/OWNERS | 9 +- deps/v8/src/compiler/access-builder.cc | 61 +- deps/v8/src/compiler/access-builder.h | 20 +- deps/v8/src/compiler/access-info.cc | 178 +- deps/v8/src/compiler/access-info.h | 43 +- .../v8/src/compiler/arm/code-generator-arm.cc | 1001 +++- .../src/compiler/arm/instruction-codes-arm.h | 235 +- .../compiler/arm/instruction-scheduler-arm.cc | 235 +- .../compiler/arm/instruction-selector-arm.cc | 755 ++- .../compiler/arm64/code-generator-arm64.cc | 242 +- .../arm64/instruction-selector-arm64.cc | 166 +- .../arm64/unwinding-info-writer-arm64.cc | 2 + deps/v8/src/compiler/ast-graph-builder.cc | 90 +- deps/v8/src/compiler/ast-graph-builder.h | 9 +- .../compiler/ast-loop-assignment-analyzer.cc | 8 +- deps/v8/src/compiler/branch-elimination.cc | 3 +- deps/v8/src/compiler/branch-elimination.h | 2 +- deps/v8/src/compiler/bytecode-analysis.cc | 13 +- deps/v8/src/compiler/bytecode-analysis.h | 6 + .../v8/src/compiler/bytecode-graph-builder.cc | 879 +++- deps/v8/src/compiler/bytecode-graph-builder.h | 85 +- deps/v8/src/compiler/c-linkage.cc | 4 +- deps/v8/src/compiler/code-assembler.cc | 236 +- deps/v8/src/compiler/code-assembler.h | 95 +- deps/v8/src/compiler/code-generator-impl.h | 9 - deps/v8/src/compiler/code-generator.cc | 119 +- deps/v8/src/compiler/code-generator.h | 39 +- deps/v8/src/compiler/common-operator.cc | 53 +- deps/v8/src/compiler/common-operator.h | 14 +- deps/v8/src/compiler/control-equivalence.cc | 16 +- deps/v8/src/compiler/control-equivalence.h | 46 +- .../src/compiler/effect-control-linearizer.cc | 298 +- .../src/compiler/effect-control-linearizer.h | 7 +- .../src/compiler/escape-analysis-reducer.cc | 136 + .../v8/src/compiler/escape-analysis-reducer.h | 4 + deps/v8/src/compiler/escape-analysis.cc | 171 +- deps/v8/src/compiler/escape-analysis.h | 4 +- deps/v8/src/compiler/frame.h | 13 +- deps/v8/src/compiler/gap-resolver.cc | 7 +- deps/v8/src/compiler/graph-assembler.cc | 8 +- deps/v8/src/compiler/graph-assembler.h | 3 + deps/v8/src/compiler/graph-reducer.cc | 8 +- deps/v8/src/compiler/graph-reducer.h | 2 +- deps/v8/src/compiler/graph-replay.cc | 92 - deps/v8/src/compiler/graph-replay.h | 40 - deps/v8/src/compiler/graph.h | 42 - .../src/compiler/ia32/code-generator-ia32.cc | 190 +- .../compiler/ia32/instruction-codes-ia32.h | 10 +- .../ia32/instruction-scheduler-ia32.cc | 12 +- .../ia32/instruction-selector-ia32.cc | 234 +- deps/v8/src/compiler/instruction-codes.h | 35 + deps/v8/src/compiler/instruction-scheduler.cc | 37 + deps/v8/src/compiler/instruction-selector.cc | 922 ++-- deps/v8/src/compiler/instruction-selector.h | 5 +- deps/v8/src/compiler/instruction.h | 76 +- deps/v8/src/compiler/int64-lowering.cc | 61 +- deps/v8/src/compiler/int64-lowering.h | 6 +- deps/v8/src/compiler/js-builtin-reducer.cc | 189 +- deps/v8/src/compiler/js-builtin-reducer.h | 2 + deps/v8/src/compiler/js-call-reducer.cc | 459 +- deps/v8/src/compiler/js-call-reducer.h | 28 +- .../src/compiler/js-context-specialization.cc | 70 +- .../src/compiler/js-context-specialization.h | 27 +- deps/v8/src/compiler/js-create-lowering.cc | 294 +- deps/v8/src/compiler/js-create-lowering.h | 7 + .../src/compiler/js-frame-specialization.cc | 9 - .../v8/src/compiler/js-frame-specialization.h | 1 - deps/v8/src/compiler/js-generic-lowering.cc | 264 +- deps/v8/src/compiler/js-graph.cc | 8 + deps/v8/src/compiler/js-graph.h | 5 + deps/v8/src/compiler/js-inlining-heuristic.cc | 96 +- deps/v8/src/compiler/js-inlining-heuristic.h | 9 +- deps/v8/src/compiler/js-inlining.cc | 208 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 91 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 6 + .../js-native-context-specialization.cc | 590 ++- .../js-native-context-specialization.h | 49 +- deps/v8/src/compiler/js-operator.cc | 165 +- deps/v8/src/compiler/js-operator.h | 200 +- deps/v8/src/compiler/js-type-hint-lowering.cc | 215 +- deps/v8/src/compiler/js-type-hint-lowering.h | 56 +- deps/v8/src/compiler/js-typed-lowering.cc | 573 +-- deps/v8/src/compiler/js-typed-lowering.h | 12 +- deps/v8/src/compiler/linkage.cc | 10 +- deps/v8/src/compiler/load-elimination.cc | 110 +- deps/v8/src/compiler/load-elimination.h | 26 +- .../src/compiler/loop-variable-optimizer.cc | 5 +- .../v8/src/compiler/machine-graph-verifier.cc | 50 +- deps/v8/src/compiler/machine-operator.cc | 696 +-- deps/v8/src/compiler/machine-operator.h | 370 +- deps/v8/src/compiler/mips/OWNERS | 7 +- .../src/compiler/mips/code-generator-mips.cc | 555 ++- .../compiler/mips/instruction-codes-mips.h | 76 +- .../mips/instruction-selector-mips.cc | 370 +- deps/v8/src/compiler/mips64/OWNERS | 7 +- .../compiler/mips64/code-generator-mips64.cc | 644 ++- .../mips64/instruction-codes-mips64.h | 76 +- .../mips64/instruction-selector-mips64.cc | 377 +- deps/v8/src/compiler/node-matchers.h | 3 + deps/v8/src/compiler/node-properties.cc | 57 +- deps/v8/src/compiler/node-properties.h | 15 +- deps/v8/src/compiler/opcodes.h | 391 +- deps/v8/src/compiler/operation-typer.cc | 44 +- deps/v8/src/compiler/operation-typer.h | 7 +- deps/v8/src/compiler/operator-properties.cc | 7 +- deps/v8/src/compiler/operator.cc | 6 +- deps/v8/src/compiler/osr.cc | 26 +- deps/v8/src/compiler/pipeline.cc | 200 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 82 +- .../compiler/ppc/instruction-selector-ppc.cc | 68 + deps/v8/src/compiler/raw-machine-assembler.cc | 85 +- deps/v8/src/compiler/raw-machine-assembler.h | 61 +- deps/v8/src/compiler/register-allocator.cc | 7 +- deps/v8/src/compiler/representation-change.cc | 120 +- deps/v8/src/compiler/representation-change.h | 84 +- .../src/compiler/s390/code-generator-s390.cc | 962 ++-- .../compiler/s390/instruction-codes-s390.h | 2 + .../s390/instruction-scheduler-s390.cc | 2 + .../s390/instruction-selector-s390.cc | 1470 +++--- deps/v8/src/compiler/schedule.cc | 44 +- deps/v8/src/compiler/schedule.h | 18 +- deps/v8/src/compiler/scheduler.cc | 64 +- deps/v8/src/compiler/scheduler.h | 10 +- deps/v8/src/compiler/simd-scalar-lowering.cc | 1065 ++++- deps/v8/src/compiler/simd-scalar-lowering.h | 80 +- deps/v8/src/compiler/simplified-lowering.cc | 359 +- deps/v8/src/compiler/simplified-operator.cc | 207 +- deps/v8/src/compiler/simplified-operator.h | 44 +- .../v8/src/compiler/tail-call-optimization.cc | 90 +- deps/v8/src/compiler/typed-optimization.cc | 29 +- deps/v8/src/compiler/typed-optimization.h | 2 + deps/v8/src/compiler/typer.cc | 164 +- deps/v8/src/compiler/types.cc | 17 +- deps/v8/src/compiler/types.h | 11 +- deps/v8/src/compiler/verifier.cc | 139 +- deps/v8/src/compiler/wasm-compiler.cc | 1514 +++--- deps/v8/src/compiler/wasm-compiler.h | 86 +- deps/v8/src/compiler/wasm-linkage.cc | 2 +- .../v8/src/compiler/x64/code-generator-x64.cc | 496 +- .../src/compiler/x64/instruction-codes-x64.h | 66 +- .../compiler/x64/instruction-scheduler-x64.cc | 68 +- .../compiler/x64/instruction-selector-x64.cc | 355 +- .../v8/src/compiler/x87/code-generator-x87.cc | 1 + .../compiler/x87/instruction-selector-x87.cc | 16 + deps/v8/src/compiler/zone-stats.cc | 6 +- deps/v8/src/compiler/zone-stats.h | 6 +- deps/v8/src/context-measure.cc | 78 - deps/v8/src/context-measure.h | 49 - deps/v8/src/contexts-inl.h | 5 +- deps/v8/src/contexts.cc | 46 +- deps/v8/src/contexts.h | 137 +- deps/v8/src/counters.cc | 242 +- deps/v8/src/counters.h | 233 +- deps/v8/src/crankshaft/arm/lithium-arm.cc | 11 +- deps/v8/src/crankshaft/arm/lithium-arm.h | 5 +- .../src/crankshaft/arm/lithium-codegen-arm.cc | 24 +- .../src/crankshaft/arm/lithium-codegen-arm.h | 9 +- .../arm/lithium-gap-resolver-arm.cc | 4 +- .../crankshaft/arm64/delayed-masm-arm64-inl.h | 17 + .../crankshaft/arm64/delayed-masm-arm64.cc | 2 + .../src/crankshaft/arm64/delayed-masm-arm64.h | 19 +- deps/v8/src/crankshaft/arm64/lithium-arm64.cc | 17 +- deps/v8/src/crankshaft/arm64/lithium-arm64.h | 5 +- .../crankshaft/arm64/lithium-codegen-arm64.cc | 15 +- .../arm64/lithium-gap-resolver-arm64.cc | 14 +- .../arm64/lithium-gap-resolver-arm64.h | 12 +- .../src/crankshaft/hydrogen-alias-analysis.h | 2 +- .../hydrogen-environment-liveness.cc | 2 +- deps/v8/src/crankshaft/hydrogen-gvn.cc | 28 +- .../src/crankshaft/hydrogen-instructions.cc | 2 - .../v8/src/crankshaft/hydrogen-instructions.h | 10 +- deps/v8/src/crankshaft/hydrogen.cc | 690 +-- deps/v8/src/crankshaft/hydrogen.h | 33 +- .../crankshaft/ia32/lithium-codegen-ia32.cc | 23 +- .../crankshaft/ia32/lithium-codegen-ia32.h | 9 +- deps/v8/src/crankshaft/ia32/lithium-ia32.cc | 13 +- deps/v8/src/crankshaft/ia32/lithium-ia32.h | 4 +- deps/v8/src/crankshaft/lithium-codegen.cc | 4 +- deps/v8/src/crankshaft/mips/OWNERS | 7 +- .../crankshaft/mips/lithium-codegen-mips.cc | 70 +- .../crankshaft/mips/lithium-codegen-mips.h | 9 +- .../mips/lithium-gap-resolver-mips.cc | 13 +- deps/v8/src/crankshaft/mips/lithium-mips.cc | 12 +- deps/v8/src/crankshaft/mips/lithium-mips.h | 4 +- deps/v8/src/crankshaft/mips64/OWNERS | 7 +- .../mips64/lithium-codegen-mips64.cc | 299 +- .../mips64/lithium-codegen-mips64.h | 9 +- .../mips64/lithium-gap-resolver-mips64.cc | 47 +- .../src/crankshaft/mips64/lithium-mips64.cc | 12 +- .../v8/src/crankshaft/mips64/lithium-mips64.h | 4 +- .../src/crankshaft/ppc/lithium-codegen-ppc.cc | 10 +- deps/v8/src/crankshaft/ppc/lithium-ppc.cc | 2 - deps/v8/src/crankshaft/ppc/lithium-ppc.h | 1 - .../crankshaft/s390/lithium-codegen-s390.cc | 35 +- deps/v8/src/crankshaft/typing.cc | 7 +- .../src/crankshaft/x64/lithium-codegen-x64.cc | 22 +- .../src/crankshaft/x64/lithium-codegen-x64.h | 9 +- deps/v8/src/crankshaft/x64/lithium-x64.cc | 14 +- deps/v8/src/crankshaft/x64/lithium-x64.h | 4 +- .../src/crankshaft/x87/lithium-codegen-x87.cc | 23 +- .../src/crankshaft/x87/lithium-codegen-x87.h | 9 +- deps/v8/src/crankshaft/x87/lithium-x87.cc | 13 +- deps/v8/src/crankshaft/x87/lithium-x87.h | 4 +- deps/v8/src/d8-console.cc | 111 + deps/v8/src/d8-console.h | 34 + deps/v8/src/d8.cc | 474 +- deps/v8/src/d8.gyp | 2 + deps/v8/src/d8.h | 29 +- deps/v8/src/date.cc | 20 +- deps/v8/src/date.h | 24 +- deps/v8/src/debug/arm/debug-arm.cc | 32 +- deps/v8/src/debug/arm64/debug-arm64.cc | 7 +- deps/v8/src/debug/debug-coverage.cc | 178 +- deps/v8/src/debug/debug-coverage.h | 24 +- deps/v8/src/debug/debug-evaluate.cc | 269 +- deps/v8/src/debug/debug-evaluate.h | 1 + deps/v8/src/debug/debug-interface.h | 87 +- deps/v8/src/debug/debug-scopes.cc | 5 +- deps/v8/src/debug/debug.cc | 293 +- deps/v8/src/debug/debug.h | 30 +- deps/v8/src/debug/interface-types.h | 67 +- deps/v8/src/debug/liveedit.cc | 2 - deps/v8/src/debug/mips/OWNERS | 7 +- deps/v8/src/debug/mips/debug-mips.cc | 8 + deps/v8/src/debug/mips64/OWNERS | 7 +- deps/v8/src/debug/mips64/debug-mips64.cc | 6 +- deps/v8/src/debug/mirrors.js | 15 +- deps/v8/src/deoptimizer.cc | 488 +- deps/v8/src/deoptimizer.h | 42 +- deps/v8/src/disassembler.cc | 12 +- deps/v8/src/elements-kind.h | 7 +- deps/v8/src/elements.cc | 868 +++- deps/v8/src/elements.h | 30 +- deps/v8/src/execution.cc | 8 +- deps/v8/src/execution.h | 3 +- .../v8/src/extensions/statistics-extension.cc | 8 +- deps/v8/src/external-reference-table.cc | 66 +- deps/v8/src/external-reference-table.h | 13 +- deps/v8/src/factory.cc | 210 +- deps/v8/src/factory.h | 59 +- deps/v8/src/feedback-vector-inl.h | 26 +- deps/v8/src/feedback-vector.cc | 420 +- deps/v8/src/feedback-vector.h | 142 +- deps/v8/src/ffi/ffi-compiler.cc | 6 +- deps/v8/src/field-index-inl.h | 3 +- deps/v8/src/field-type.h | 1 + deps/v8/src/find-and-replace-pattern.h | 4 +- deps/v8/src/flag-definitions.h | 227 +- deps/v8/src/flags.cc | 25 +- deps/v8/src/flags.h | 2 +- deps/v8/src/frames.cc | 106 +- deps/v8/src/frames.h | 53 +- .../src/full-codegen/arm/full-codegen-arm.cc | 72 +- .../full-codegen/arm64/full-codegen-arm64.cc | 32 +- deps/v8/src/full-codegen/full-codegen.cc | 44 +- deps/v8/src/full-codegen/full-codegen.h | 3 +- .../full-codegen/ia32/full-codegen-ia32.cc | 31 +- deps/v8/src/full-codegen/mips/OWNERS | 7 +- .../full-codegen/mips/full-codegen-mips.cc | 31 +- deps/v8/src/full-codegen/mips64/OWNERS | 7 +- .../mips64/full-codegen-mips64.cc | 229 +- .../src/full-codegen/ppc/full-codegen-ppc.cc | 31 +- .../full-codegen/s390/full-codegen-s390.cc | 32 +- .../src/full-codegen/x64/full-codegen-x64.cc | 31 +- .../src/full-codegen/x87/full-codegen-x87.cc | 31 +- deps/v8/src/global-handles.cc | 187 +- deps/v8/src/global-handles.h | 85 +- deps/v8/src/globals.h | 152 +- deps/v8/src/handles-inl.h | 3 +- deps/v8/src/handles.cc | 3 + deps/v8/src/handles.h | 50 +- deps/v8/src/heap-symbols.h | 9 +- deps/v8/src/heap/array-buffer-tracker.cc | 24 +- deps/v8/src/heap/array-buffer-tracker.h | 15 +- deps/v8/src/heap/concurrent-marking-deque.h | 175 + deps/v8/src/heap/concurrent-marking.cc | 289 ++ deps/v8/src/heap/concurrent-marking.h | 44 + deps/v8/src/heap/gc-tracer.cc | 82 +- deps/v8/src/heap/gc-tracer.h | 144 +- deps/v8/src/heap/heap-inl.h | 56 +- deps/v8/src/heap/heap.cc | 719 ++- deps/v8/src/heap/heap.h | 348 +- deps/v8/src/heap/incremental-marking-job.cc | 5 + deps/v8/src/heap/incremental-marking.cc | 344 +- deps/v8/src/heap/incremental-marking.h | 123 +- deps/v8/src/heap/item-parallel-job.h | 178 + deps/v8/src/heap/mark-compact-inl.h | 63 +- deps/v8/src/heap/mark-compact.cc | 2715 +++++++---- deps/v8/src/heap/mark-compact.h | 580 +-- deps/v8/src/heap/marking.h | 191 +- deps/v8/src/heap/memory-reducer.cc | 3 +- deps/v8/src/heap/object-stats.cc | 17 +- deps/v8/src/heap/objects-visiting-inl.h | 172 +- deps/v8/src/heap/objects-visiting.cc | 31 +- deps/v8/src/heap/objects-visiting.h | 233 +- deps/v8/src/heap/page-parallel-job.h | 31 +- deps/v8/src/heap/remembered-set.h | 132 +- deps/v8/src/heap/scavenger.cc | 53 +- deps/v8/src/heap/scavenger.h | 9 +- deps/v8/src/heap/sequential-marking-deque.cc | 98 + deps/v8/src/heap/sequential-marking-deque.h | 172 + deps/v8/src/heap/spaces-inl.h | 46 +- deps/v8/src/heap/spaces.cc | 366 +- deps/v8/src/heap/spaces.h | 295 +- deps/v8/src/heap/store-buffer.cc | 2 +- deps/v8/src/heap/workstealing-marking-deque.h | 167 + deps/v8/src/ia32/assembler-ia32-inl.h | 75 +- deps/v8/src/ia32/assembler-ia32.cc | 252 +- deps/v8/src/ia32/assembler-ia32.h | 223 +- deps/v8/src/ia32/code-stubs-ia32.cc | 432 +- deps/v8/src/ia32/codegen-ia32.cc | 4 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 60 +- deps/v8/src/ia32/disasm-ia32.cc | 270 +- .../v8/src/ia32/interface-descriptors-ia32.cc | 53 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 271 +- deps/v8/src/ia32/macro-assembler-ia32.h | 60 +- deps/v8/src/ia32/sse-instr.h | 57 + deps/v8/src/ic/access-compiler.cc | 29 +- deps/v8/src/ic/access-compiler.h | 11 +- deps/v8/src/ic/accessor-assembler.cc | 1308 +++-- deps/v8/src/ic/accessor-assembler.h | 45 +- deps/v8/src/ic/arm/access-compiler-arm.cc | 2 + deps/v8/src/ic/arm/handler-compiler-arm.cc | 195 +- deps/v8/src/ic/arm/ic-arm.cc | 2 + deps/v8/src/ic/arm64/access-compiler-arm64.cc | 1 + .../v8/src/ic/arm64/handler-compiler-arm64.cc | 188 +- deps/v8/src/ic/arm64/ic-arm64.cc | 4 +- deps/v8/src/ic/binary-op-assembler.cc | 827 ++++ deps/v8/src/ic/binary-op-assembler.h | 45 + deps/v8/src/ic/handler-compiler.cc | 289 +- deps/v8/src/ic/handler-compiler.h | 92 +- deps/v8/src/ic/handler-configuration-inl.h | 123 +- deps/v8/src/ic/handler-configuration.h | 134 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 197 +- deps/v8/src/ic/ic-inl.h | 36 +- deps/v8/src/ic/ic.cc | 1313 +++-- deps/v8/src/ic/ic.h | 96 +- deps/v8/src/ic/keyed-store-generic.cc | 238 +- deps/v8/src/ic/keyed-store-generic.h | 6 + deps/v8/src/ic/mips/OWNERS | 7 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 192 +- deps/v8/src/ic/mips64/OWNERS | 7 +- .../src/ic/mips64/handler-compiler-mips64.cc | 235 +- deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 192 +- deps/v8/src/ic/s390/handler-compiler-s390.cc | 186 +- deps/v8/src/ic/stub-cache.cc | 44 +- deps/v8/src/ic/stub-cache.h | 3 - deps/v8/src/ic/x64/handler-compiler-x64.cc | 205 +- deps/v8/src/ic/x87/handler-compiler-x87.cc | 193 +- deps/v8/src/icu_util.cc | 8 +- deps/v8/src/identity-map.cc | 16 +- deps/v8/src/identity-map.h | 8 +- deps/v8/src/inspector/DEPS | 1 + deps/v8/src/inspector/debugger-script.js | 7 +- .../src/inspector/debugger_script_externs.js | 3 + .../src/inspector/injected-script-source.js | 324 +- deps/v8/src/inspector/injected-script.cc | 9 +- .../src/inspector/injected_script_externs.js | 38 + deps/v8/src/inspector/inspected-context.cc | 53 +- deps/v8/src/inspector/inspected-context.h | 1 - deps/v8/src/inspector/inspector.gyp | 32 +- .../inspector/inspector_protocol_config.json | 1 + deps/v8/src/inspector/js_protocol.json | 53 +- deps/v8/src/inspector/string-util.cc | 12 + deps/v8/src/inspector/string-util.h | 1 + deps/v8/src/inspector/test-interface.cc | 8 +- deps/v8/src/inspector/test-interface.h | 1 + deps/v8/src/inspector/v8-console-message.cc | 50 +- deps/v8/src/inspector/v8-console-message.h | 19 +- deps/v8/src/inspector/v8-console.cc | 638 +-- deps/v8/src/inspector/v8-console.h | 123 +- .../src/inspector/v8-debugger-agent-impl.cc | 329 +- .../v8/src/inspector/v8-debugger-agent-impl.h | 29 +- deps/v8/src/inspector/v8-debugger-script.cc | 106 +- deps/v8/src/inspector/v8-debugger-script.h | 16 +- deps/v8/src/inspector/v8-debugger.cc | 487 +- deps/v8/src/inspector/v8-debugger.h | 93 +- deps/v8/src/inspector/v8-function-call.cc | 2 + .../src/inspector/v8-injected-script-host.cc | 57 +- .../src/inspector/v8-injected-script-host.h | 1 + deps/v8/src/inspector/v8-inspector-impl.cc | 60 +- deps/v8/src/inspector/v8-inspector-impl.h | 20 +- .../src/inspector/v8-profiler-agent-impl.cc | 46 +- .../v8/src/inspector/v8-profiler-agent-impl.h | 3 +- deps/v8/src/inspector/v8-regex.cc | 1 + .../v8/src/inspector/v8-runtime-agent-impl.cc | 29 +- deps/v8/src/inspector/v8-stack-trace-impl.cc | 479 +- deps/v8/src/inspector/v8-stack-trace-impl.h | 162 +- deps/v8/src/inspector/wasm-translation.cc | 16 +- deps/v8/src/interface-descriptors.cc | 26 +- deps/v8/src/interface-descriptors.h | 387 +- .../interpreter/bytecode-array-accessor.cc | 99 +- .../src/interpreter/bytecode-array-accessor.h | 59 +- .../src/interpreter/bytecode-array-builder.cc | 480 +- .../src/interpreter/bytecode-array-builder.h | 143 +- .../src/interpreter/bytecode-array-writer.cc | 122 +- .../src/interpreter/bytecode-array-writer.h | 38 +- .../bytecode-dead-code-optimizer.cc | 77 - .../bytecode-dead-code-optimizer.h | 44 - deps/v8/src/interpreter/bytecode-decoder.cc | 3 +- deps/v8/src/interpreter/bytecode-flags.cc | 62 +- deps/v8/src/interpreter/bytecode-flags.h | 55 +- deps/v8/src/interpreter/bytecode-generator.cc | 897 ++-- deps/v8/src/interpreter/bytecode-generator.h | 42 +- deps/v8/src/interpreter/bytecode-jump-table.h | 88 + ...{bytecode-pipeline.cc => bytecode-node.cc} | 12 +- .../{bytecode-pipeline.h => bytecode-node.h} | 207 +- .../bytecode-peephole-optimizer.cc | 342 -- .../interpreter/bytecode-peephole-optimizer.h | 65 - .../src/interpreter/bytecode-peephole-table.h | 72 - .../bytecode-register-optimizer.cc | 62 +- .../interpreter/bytecode-register-optimizer.h | 61 +- .../src/interpreter/bytecode-source-info.cc | 24 + .../v8/src/interpreter/bytecode-source-info.h | 98 + deps/v8/src/interpreter/bytecodes.cc | 9 +- deps/v8/src/interpreter/bytecodes.h | 167 +- .../src/interpreter/constant-array-builder.cc | 39 +- .../src/interpreter/constant-array-builder.h | 29 +- .../src/interpreter/control-flow-builders.cc | 47 +- .../src/interpreter/control-flow-builders.h | 39 +- .../src/interpreter/interpreter-assembler.cc | 258 +- .../src/interpreter/interpreter-assembler.h | 43 +- .../src/interpreter/interpreter-generator.cc | 3450 ++++++++++++++ .../src/interpreter/interpreter-generator.h | 22 + .../interpreter-intrinsics-generator.cc | 472 ++ .../interpreter-intrinsics-generator.h | 29 + .../src/interpreter/interpreter-intrinsics.cc | 296 +- .../src/interpreter/interpreter-intrinsics.h | 92 +- deps/v8/src/interpreter/interpreter.cc | 3113 +----------- deps/v8/src/interpreter/interpreter.h | 110 +- deps/v8/src/interpreter/mkpeephole.cc | 381 -- .../interpreter/setup-interpreter-internal.cc | 91 + deps/v8/src/interpreter/setup-interpreter.h | 37 + deps/v8/src/intl.cc | 403 ++ deps/v8/src/intl.h | 69 + deps/v8/src/isolate.cc | 778 +-- deps/v8/src/isolate.h | 101 +- deps/v8/src/js/array.js | 275 +- deps/v8/src/js/arraybuffer.js | 81 - deps/v8/src/js/harmony-atomics.js | 160 - deps/v8/src/js/harmony-string-padding.js | 73 - deps/v8/src/js/{i18n.js => intl.js} | 319 +- deps/v8/src/js/macros.py | 15 +- deps/v8/src/js/max-min.js | 28 + deps/v8/src/js/prologue.js | 117 +- deps/v8/src/js/runtime.js | 104 - deps/v8/src/js/string.js | 116 +- deps/v8/src/js/typedarray.js | 549 +-- deps/v8/src/js/v8natives.js | 57 +- deps/v8/src/json-parser.cc | 92 +- deps/v8/src/json-stringifier.cc | 21 +- deps/v8/src/keys.cc | 51 +- deps/v8/src/libplatform/default-platform.cc | 85 +- deps/v8/src/libplatform/default-platform.h | 15 +- deps/v8/src/libplatform/task-queue.h | 2 +- deps/v8/src/libsampler/sampler.h | 4 +- deps/v8/src/list-inl.h | 42 - deps/v8/src/list.h | 11 - deps/v8/src/log.cc | 103 +- deps/v8/src/log.h | 19 +- deps/v8/src/lookup.cc | 12 +- deps/v8/src/lookup.h | 14 +- deps/v8/src/macro-assembler-inl.h | 14 + deps/v8/src/macro-assembler.h | 22 +- deps/v8/src/managed.h | 6 +- deps/v8/src/map-updater.cc | 78 +- deps/v8/src/map-updater.h | 23 +- deps/v8/src/messages.cc | 47 +- deps/v8/src/messages.h | 36 +- deps/v8/src/mips/OWNERS | 7 +- deps/v8/src/mips/assembler-mips-inl.h | 85 +- deps/v8/src/mips/assembler-mips.cc | 755 ++- deps/v8/src/mips/assembler-mips.h | 934 +++- deps/v8/src/mips/code-stubs-mips.cc | 443 +- deps/v8/src/mips/codegen-mips.cc | 4 +- deps/v8/src/mips/constants-mips.cc | 38 + deps/v8/src/mips/constants-mips.h | 488 +- deps/v8/src/mips/deoptimizer-mips.cc | 108 +- deps/v8/src/mips/disasm-mips.cc | 924 +++- .../v8/src/mips/interface-descriptors-mips.cc | 53 +- deps/v8/src/mips/macro-assembler-mips.cc | 464 +- deps/v8/src/mips/macro-assembler-mips.h | 82 +- deps/v8/src/mips/simulator-mips.cc | 27 +- deps/v8/src/mips/simulator-mips.h | 18 +- deps/v8/src/mips64/OWNERS | 7 +- deps/v8/src/mips64/assembler-mips64-inl.h | 68 +- deps/v8/src/mips64/assembler-mips64.cc | 846 +++- deps/v8/src/mips64/assembler-mips64.h | 921 +++- deps/v8/src/mips64/code-stubs-mips64.cc | 695 +-- deps/v8/src/mips64/codegen-mips64.cc | 184 +- deps/v8/src/mips64/constants-mips64.cc | 40 + deps/v8/src/mips64/constants-mips64.h | 492 +- deps/v8/src/mips64/deoptimizer-mips64.cc | 155 +- deps/v8/src/mips64/disasm-mips64.cc | 1020 +++- .../mips64/interface-descriptors-mips64.cc | 53 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 754 +-- deps/v8/src/mips64/macro-assembler-mips64.h | 119 +- deps/v8/src/mips64/simulator-mips64.cc | 143 +- deps/v8/src/mips64/simulator-mips64.h | 14 +- deps/v8/src/objects-body-descriptors-inl.h | 182 +- deps/v8/src/objects-body-descriptors.h | 21 +- deps/v8/src/objects-debug.cc | 165 +- deps/v8/src/objects-inl.h | 780 ++- deps/v8/src/objects-printer.cc | 152 +- deps/v8/src/objects.cc | 2107 ++++---- deps/v8/src/objects.h | 4226 ++++------------- deps/v8/src/objects/code-cache-inl.h | 28 + deps/v8/src/objects/code-cache.h | 58 + deps/v8/src/objects/compilation-cache-inl.h | 28 + deps/v8/src/objects/compilation-cache.h | 107 + deps/v8/src/objects/descriptor-array.h | 206 + deps/v8/src/objects/dictionary.h | 374 ++ deps/v8/src/objects/frame-array-inl.h | 57 + deps/v8/src/objects/frame-array.h | 108 + deps/v8/src/objects/hash-table.h | 689 +++ .../src/{i18n.cc => objects/intl-objects.cc} | 433 +- .../v8/src/{i18n.h => objects/intl-objects.h} | 44 +- deps/v8/src/objects/literal-objects.h | 11 +- deps/v8/src/objects/map-inl.h | 68 + deps/v8/src/objects/map.h | 829 ++++ deps/v8/src/objects/object-macros-undef.h | 1 + deps/v8/src/objects/object-macros.h | 10 + deps/v8/src/objects/string-table.h | 99 + deps/v8/src/parsing/duplicate-finder.cc | 88 - deps/v8/src/parsing/duplicate-finder.h | 40 +- deps/v8/src/parsing/func-name-inferrer.cc | 37 +- deps/v8/src/parsing/func-name-inferrer.h | 8 +- deps/v8/src/parsing/parse-info.cc | 66 +- deps/v8/src/parsing/parse-info.h | 51 +- deps/v8/src/parsing/parser-base.h | 494 +- deps/v8/src/parsing/parser.cc | 832 ++-- deps/v8/src/parsing/parser.h | 117 +- deps/v8/src/parsing/parsing.cc | 12 +- deps/v8/src/parsing/parsing.h | 9 +- deps/v8/src/parsing/pattern-rewriter.cc | 3 +- deps/v8/src/parsing/preparse-data-format.h | 2 +- deps/v8/src/parsing/preparse-data.cc | 36 +- deps/v8/src/parsing/preparse-data.h | 65 +- deps/v8/src/parsing/preparsed-scope-data.cc | 378 +- deps/v8/src/parsing/preparsed-scope-data.h | 115 +- deps/v8/src/parsing/preparser.cc | 115 +- deps/v8/src/parsing/preparser.h | 171 +- deps/v8/src/parsing/rewriter.cc | 60 +- deps/v8/src/parsing/rewriter.h | 3 +- .../src/parsing/scanner-character-streams.cc | 14 +- .../src/parsing/scanner-character-streams.h | 3 +- deps/v8/src/parsing/scanner.cc | 236 +- deps/v8/src/parsing/scanner.h | 158 +- deps/v8/src/parsing/token.cc | 26 +- deps/v8/src/parsing/token.h | 33 +- deps/v8/src/perf-jit.cc | 21 +- deps/v8/src/perf-jit.h | 8 + deps/v8/src/ppc/assembler-ppc-inl.h | 80 +- deps/v8/src/ppc/assembler-ppc.cc | 514 +- deps/v8/src/ppc/assembler-ppc.h | 365 +- deps/v8/src/ppc/code-stubs-ppc.cc | 422 +- deps/v8/src/ppc/codegen-ppc.cc | 3 +- deps/v8/src/ppc/constants-ppc.h | 495 +- deps/v8/src/ppc/deoptimizer-ppc.cc | 60 +- deps/v8/src/ppc/disasm-ppc.cc | 31 + deps/v8/src/ppc/interface-descriptors-ppc.cc | 53 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 168 +- deps/v8/src/ppc/macro-assembler-ppc.h | 31 +- deps/v8/src/ppc/simulator-ppc.cc | 1722 ++++--- deps/v8/src/ppc/simulator-ppc.h | 105 +- deps/v8/src/profiler/allocation-tracker.cc | 3 +- .../src/profiler/heap-snapshot-generator.cc | 76 +- .../v8/src/profiler/heap-snapshot-generator.h | 2 + deps/v8/src/profiler/profiler-listener.cc | 2 +- deps/v8/src/profiler/profiler-listener.h | 3 +- deps/v8/src/profiler/tick-sample.cc | 7 +- deps/v8/src/property-details.h | 2 + deps/v8/src/property.cc | 2 +- .../regexp/arm/regexp-macro-assembler-arm.cc | 29 +- .../regexp/arm/regexp-macro-assembler-arm.h | 3 +- .../arm64/regexp-macro-assembler-arm64.cc | 32 +- .../arm64/regexp-macro-assembler-arm64.h | 3 +- .../ia32/regexp-macro-assembler-ia32.cc | 9 +- deps/v8/src/regexp/interpreter-irregexp.cc | 4 +- deps/v8/src/regexp/jsregexp-inl.h | 1 - deps/v8/src/regexp/jsregexp.cc | 153 +- deps/v8/src/regexp/mips/OWNERS | 7 +- .../mips/regexp-macro-assembler-mips.cc | 24 +- .../regexp/mips/regexp-macro-assembler-mips.h | 3 +- deps/v8/src/regexp/mips64/OWNERS | 7 +- .../mips64/regexp-macro-assembler-mips64.cc | 187 +- .../mips64/regexp-macro-assembler-mips64.h | 3 +- .../regexp/ppc/regexp-macro-assembler-ppc.cc | 18 +- .../regexp/ppc/regexp-macro-assembler-ppc.h | 3 +- deps/v8/src/regexp/regexp-ast.h | 27 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 25 +- deps/v8/src/regexp/regexp-parser.cc | 219 +- deps/v8/src/regexp/regexp-parser.h | 10 +- .../s390/regexp-macro-assembler-s390.cc | 18 +- .../regexp/s390/regexp-macro-assembler-s390.h | 3 +- .../regexp/x64/regexp-macro-assembler-x64.cc | 9 +- .../regexp/x87/regexp-macro-assembler-x87.cc | 9 +- deps/v8/src/register-configuration.cc | 19 +- deps/v8/src/register-configuration.h | 3 + deps/v8/src/runtime-profiler.cc | 102 +- deps/v8/src/runtime/runtime-array.cc | 52 +- deps/v8/src/runtime/runtime-atomics.cc | 216 +- deps/v8/src/runtime/runtime-classes.cc | 16 +- deps/v8/src/runtime/runtime-collections.cc | 43 + deps/v8/src/runtime/runtime-compiler.cc | 58 +- deps/v8/src/runtime/runtime-debug.cc | 34 +- deps/v8/src/runtime/runtime-forin.cc | 2 +- deps/v8/src/runtime/runtime-function.cc | 8 +- deps/v8/src/runtime/runtime-futex.cc | 38 - deps/v8/src/runtime/runtime-generator.cc | 41 + deps/v8/src/runtime/runtime-internal.cc | 90 +- deps/v8/src/runtime/runtime-interpreter.cc | 15 +- .../{runtime-i18n.cc => runtime-intl.cc} | 458 +- deps/v8/src/runtime/runtime-literals.cc | 116 +- deps/v8/src/runtime/runtime-liveedit.cc | 2 +- deps/v8/src/runtime/runtime-maths.cc | 16 +- deps/v8/src/runtime/runtime-module.cc | 33 +- deps/v8/src/runtime/runtime-numbers.cc | 7 - deps/v8/src/runtime/runtime-object.cc | 198 +- deps/v8/src/runtime/runtime-regexp.cc | 608 ++- deps/v8/src/runtime/runtime-strings.cc | 30 +- deps/v8/src/runtime/runtime-test.cc | 228 +- deps/v8/src/runtime/runtime-typedarray.cc | 269 +- deps/v8/src/runtime/runtime-wasm.cc | 83 +- deps/v8/src/runtime/runtime.h | 253 +- deps/v8/src/s390/assembler-s390-inl.h | 76 +- deps/v8/src/s390/assembler-s390.cc | 116 +- deps/v8/src/s390/assembler-s390.h | 119 +- deps/v8/src/s390/code-stubs-s390.cc | 454 +- deps/v8/src/s390/codegen-s390.cc | 3 +- deps/v8/src/s390/constants-s390.h | 6 +- deps/v8/src/s390/deoptimizer-s390.cc | 60 +- deps/v8/src/s390/disasm-s390.cc | 31 +- .../v8/src/s390/interface-descriptors-s390.cc | 48 +- deps/v8/src/s390/macro-assembler-s390.cc | 534 ++- deps/v8/src/s390/macro-assembler-s390.h | 131 +- deps/v8/src/s390/simulator-s390.cc | 3587 ++------------ deps/v8/src/s390/simulator-s390.h | 30 +- deps/v8/src/safepoint-table.cc | 67 +- deps/v8/src/safepoint-table.h | 7 +- deps/v8/src/setup-isolate-deserialize.cc | 27 + deps/v8/src/setup-isolate-full.cc | 34 + deps/v8/src/setup-isolate.h | 45 + deps/v8/src/signature.h | 12 + deps/v8/src/snapshot/code-serializer.cc | 24 +- deps/v8/src/snapshot/code-serializer.h | 39 +- deps/v8/src/snapshot/deserializer.cc | 131 +- deps/v8/src/snapshot/deserializer.h | 17 +- deps/v8/src/snapshot/mksnapshot.cc | 101 +- deps/v8/src/snapshot/natives-common.cc | 44 +- deps/v8/src/snapshot/natives-external.cc | 4 - deps/v8/src/snapshot/natives.h | 38 +- deps/v8/src/snapshot/partial-serializer.cc | 46 +- deps/v8/src/snapshot/partial-serializer.h | 8 +- deps/v8/src/snapshot/serializer-common.cc | 4 +- deps/v8/src/snapshot/serializer-common.h | 46 +- deps/v8/src/snapshot/serializer.cc | 170 +- deps/v8/src/snapshot/serializer.h | 37 +- deps/v8/src/snapshot/snapshot-common.cc | 8 +- deps/v8/src/snapshot/snapshot.h | 16 +- deps/v8/src/snapshot/startup-serializer.cc | 13 +- deps/v8/src/snapshot/startup-serializer.h | 2 +- deps/v8/src/source-position-table.cc | 17 +- deps/v8/src/source-position-table.h | 15 +- deps/v8/src/string-hasher-inl.h | 147 + deps/v8/src/string-hasher.h | 90 + deps/v8/src/string-search.h | 13 + deps/v8/src/string-stream.cc | 20 +- deps/v8/src/tracing/trace-event.h | 2 - deps/v8/src/transitions.h | 3 +- deps/v8/src/trap-handler/DEPS | 17 + deps/v8/src/trap-handler/OWNERS | 10 + deps/v8/src/trap-handler/handler-inside.cc | 170 + deps/v8/src/trap-handler/handler-outside.cc | 191 + deps/v8/src/trap-handler/handler-shared.cc | 52 + .../src/trap-handler/trap-handler-internal.h | 67 + deps/v8/src/trap-handler/trap-handler.h | 70 + deps/v8/src/type-info.cc | 53 +- deps/v8/src/type-info.h | 12 - deps/v8/src/unicode.cc | 6 +- deps/v8/src/utils.h | 24 +- deps/v8/src/v8.cc | 2 + deps/v8/src/v8.gyp | 400 +- deps/v8/src/v8threads.cc | 6 +- deps/v8/src/v8threads.h | 10 +- deps/v8/src/value-serializer.cc | 114 +- deps/v8/src/value-serializer.h | 7 + deps/v8/src/vector.h | 37 +- deps/v8/src/visitors.cc | 22 + deps/v8/src/visitors.h | 79 + deps/v8/src/wasm/OWNERS | 2 + deps/v8/src/wasm/decoder.h | 465 +- deps/v8/src/wasm/function-body-decoder-impl.h | 176 +- deps/v8/src/wasm/function-body-decoder.cc | 425 +- deps/v8/src/wasm/function-body-decoder.h | 14 +- deps/v8/src/wasm/leb-helper.h | 8 +- deps/v8/src/wasm/local-decl-encoder.cc | 51 + deps/v8/src/wasm/local-decl-encoder.h | 50 + deps/v8/src/wasm/module-decoder.cc | 1395 +++--- deps/v8/src/wasm/module-decoder.h | 35 +- deps/v8/src/wasm/streaming-decoder.cc | 379 ++ deps/v8/src/wasm/streaming-decoder.h | 152 + deps/v8/src/wasm/wasm-code-specialization.cc | 92 +- deps/v8/src/wasm/wasm-debug.cc | 399 +- deps/v8/src/wasm/wasm-external-refs.cc | 60 +- deps/v8/src/wasm/wasm-interpreter.cc | 1819 ++++--- deps/v8/src/wasm/wasm-interpreter.h | 172 +- deps/v8/src/wasm/wasm-js.cc | 337 +- deps/v8/src/wasm/wasm-limits.h | 49 +- deps/v8/src/wasm/wasm-module-builder.cc | 308 +- deps/v8/src/wasm/wasm-module-builder.h | 131 +- deps/v8/src/wasm/wasm-module.cc | 2311 ++++++--- deps/v8/src/wasm/wasm-module.h | 145 +- deps/v8/src/wasm/wasm-objects.cc | 561 ++- deps/v8/src/wasm/wasm-objects.h | 316 +- deps/v8/src/wasm/wasm-opcodes.cc | 92 +- deps/v8/src/wasm/wasm-opcodes.h | 253 +- deps/v8/src/wasm/wasm-result.cc | 141 +- deps/v8/src/wasm/wasm-result.h | 166 +- deps/v8/src/wasm/wasm-text.cc | 35 +- deps/v8/src/x64/assembler-x64-inl.h | 81 +- deps/v8/src/x64/assembler-x64.cc | 77 +- deps/v8/src/x64/assembler-x64.h | 85 +- deps/v8/src/x64/code-stubs-x64.cc | 436 +- deps/v8/src/x64/codegen-x64.cc | 2 +- deps/v8/src/x64/deoptimizer-x64.cc | 61 +- deps/v8/src/x64/disasm-x64.cc | 33 +- deps/v8/src/x64/interface-descriptors-x64.cc | 55 +- deps/v8/src/x64/macro-assembler-x64.cc | 324 +- deps/v8/src/x64/macro-assembler-x64.h | 124 +- deps/v8/src/x64/sse-instr.h | 4 + deps/v8/src/x87/assembler-x87-inl.h | 75 +- deps/v8/src/x87/assembler-x87.cc | 16 +- deps/v8/src/x87/assembler-x87.h | 6 +- deps/v8/src/x87/code-stubs-x87.cc | 415 -- deps/v8/src/x87/codegen-x87.cc | 4 +- deps/v8/src/x87/deoptimizer-x87.cc | 35 +- deps/v8/src/x87/interface-descriptors-x87.cc | 44 +- deps/v8/src/x87/macro-assembler-x87.cc | 191 +- deps/v8/src/x87/macro-assembler-x87.h | 58 +- deps/v8/src/zone/accounting-allocator.h | 2 +- deps/v8/src/zone/zone-allocator.h | 107 +- deps/v8/src/zone/zone-containers.h | 38 +- deps/v8/test/BUILD.gn | 31 +- deps/v8/test/benchmarks/testcfg.py | 2 +- deps/v8/test/bot_default.gyp | 9 +- deps/v8/test/bot_default.isolate | 2 + deps/v8/test/cctest/BUILD.gn | 25 +- deps/v8/test/cctest/OWNERS | 7 +- deps/v8/test/cctest/asmjs/OWNERS | 11 - deps/v8/test/cctest/asmjs/test-asm-typer.cc | 2089 -------- deps/v8/test/cctest/cctest.cc | 37 +- deps/v8/test/cctest/cctest.gyp | 21 +- deps/v8/test/cctest/cctest.h | 4 + deps/v8/test/cctest/cctest.status | 95 +- deps/v8/test/cctest/compiler/call-tester.h | 194 +- .../test/cctest/compiler/function-tester.cc | 19 +- .../v8/test/cctest/compiler/function-tester.h | 1 + .../test-js-context-specialization.cc | 22 +- .../cctest/compiler/test-js-typed-lowering.cc | 11 - deps/v8/test/cctest/compiler/test-linkage.cc | 9 +- .../compiler/test-loop-assignment-analysis.cc | 10 +- .../compiler/test-representation-change.cc | 12 +- .../test-run-bytecode-graph-builder.cc | 46 +- .../test/cctest/compiler/test-run-machops.cc | 115 + .../cctest/compiler/test-run-wasm-machops.cc | 7 +- .../cctest/heap/test-array-buffer-tracker.cc | 8 +- deps/v8/test/cctest/heap/test-compaction.cc | 10 +- .../cctest/heap/test-concurrent-marking.cc | 30 + deps/v8/test/cctest/heap/test-heap.cc | 455 +- deps/v8/test/cctest/heap/test-mark-compact.cc | 17 +- .../test/cctest/heap/test-page-promotion.cc | 46 +- deps/v8/test/cctest/heap/test-spaces.cc | 74 +- .../bytecode-expectations-printer.cc | 2 +- .../ArrayLiterals.golden | 46 +- .../ArrayLiteralsWide.golden | 4 +- .../AssignmentsInBinaryExpression.golden | 55 +- .../BasicBlockToBoolean.golden | 6 +- .../bytecode_expectations/BasicLoops.golden | 156 +- .../BreakableBlocks.golden | 24 +- .../CallAndSpread.golden | 32 +- .../bytecode_expectations/CallGlobal.golden | 26 +- .../CallLookupSlot.golden | 34 +- .../bytecode_expectations/CallNew.golden | 12 +- .../bytecode_expectations/CallRuntime.golden | 4 +- .../ClassAndSuperClass.golden | 51 +- .../ClassDeclarations.golden | 219 +- .../bytecode_expectations/CompareNil.golden | 289 ++ .../CompareTypeOf.golden | 97 + .../CompoundExpressions.golden | 52 +- .../bytecode_expectations/Conditional.golden | 2 +- .../ConstVariable.golden | 12 +- .../ConstVariableContextSlot.golden | 8 +- .../ContextParameters.golden | 8 +- .../ContextVariables.golden | 28 +- .../CountOperators.golden | 80 +- .../CreateArguments.golden | 4 +- .../CreateRestParameter.golden | 34 +- .../DeclareGlobals.golden | 10 +- .../bytecode_expectations/Delete.golden | 16 +- .../bytecode_expectations/DoExpression.golden | 2 +- .../bytecode_expectations/Eval.golden | 26 +- .../bytecode_expectations/ForAwaitOf.golden | 2196 ++++----- .../bytecode_expectations/ForIn.golden | 55 +- .../bytecode_expectations/ForOf.golden | 488 +- .../bytecode_expectations/ForOfLoop.golden | 1860 ++++++++ .../FunctionLiterals.golden | 24 +- .../GenerateTestUndetectable.golden | 52 +- .../bytecode_expectations/Generators.golden | 695 ++- .../GlobalCompoundExpressions.golden | 22 +- .../GlobalCountOperators.golden | 32 +- .../bytecode_expectations/GlobalDelete.golden | 12 +- .../bytecode_expectations/IfConditions.golden | 552 ++- .../JumpsRequiringConstantWideOperands.golden | 8 +- .../bytecode_expectations/LetVariable.golden | 15 +- .../LetVariableContextSlot.golden | 8 +- .../bytecode_expectations/LoadGlobal.golden | 264 +- .../LogicalExpressions.golden | 8 +- .../bytecode_expectations/LookupSlot.golden | 136 +- .../LookupSlotInEval.golden | 4 +- .../LookupSlotWideInEval.golden | 4 +- .../bytecode_expectations/Modules.golden | 1003 ++-- .../bytecode_expectations/NewAndSpread.golden | 131 +- .../ObjectLiterals.golden | 94 +- .../ObjectLiteralsWide.golden | 2 +- .../OuterContextVariables.golden | 2 +- .../PrimitiveExpressions.golden | 286 +- .../bytecode_expectations/PropertyCall.golden | 306 +- .../PropertyLoads.golden | 528 +- .../PropertyStores.golden | 1048 ++-- .../RegExpLiterals.golden | 10 +- .../RegExpLiteralsWide.golden | 2 +- .../RemoveRedundantLdar.golden | 10 +- .../StandardForLoop.golden | 1070 +++++ .../bytecode_expectations/StoreGlobal.golden | 524 +- .../SuperCallAndSpread.golden | 70 +- .../bytecode_expectations/Switch.golden | 59 +- .../TopLevelObjectLiterals.golden | 6 +- .../bytecode_expectations/TryCatch.golden | 46 +- .../bytecode_expectations/TryFinally.golden | 89 +- .../bytecode_expectations/Typeof.golden | 2 +- .../UnaryOperators.golden | 41 +- .../WideRegisters.golden | 16 +- .../WithStatement.golden | 10 +- .../interpreter/source-position-matcher.cc | 4 +- .../interpreter/test-bytecode-generator.cc | 199 + .../test-interpreter-intrinsics.cc | 2 +- .../cctest/interpreter/test-interpreter.cc | 288 +- .../interpreter/test-source-positions.cc | 23 +- deps/v8/test/cctest/parsing/test-preparser.cc | 351 +- .../cctest/parsing/test-scanner-streams.cc | 64 +- deps/v8/test/cctest/parsing/test-scanner.cc | 38 +- deps/v8/test/cctest/scope-test-helper.h | 88 +- .../v8/test/cctest/setup-isolate-for-tests.cc | 27 + deps/v8/test/cctest/setup-isolate-for-tests.h | 22 + .../v8/test/cctest/test-accessor-assembler.cc | 11 +- deps/v8/test/cctest/test-accessors.cc | 2 +- deps/v8/test/cctest/test-api-interceptors.cc | 39 +- deps/v8/test/cctest/test-api.cc | 605 ++- deps/v8/test/cctest/test-assembler-arm.cc | 339 +- deps/v8/test/cctest/test-assembler-arm64.cc | 94 +- deps/v8/test/cctest/test-assembler-mips.cc | 450 +- deps/v8/test/cctest/test-assembler-mips64.cc | 1039 ++-- deps/v8/test/cctest/test-ast.cc | 2 +- deps/v8/test/cctest/test-code-cache.cc | 10 +- .../test/cctest/test-code-stub-assembler.cc | 267 +- deps/v8/test/cctest/test-code-stubs-arm.cc | 5 +- deps/v8/test/cctest/test-code-stubs-arm64.cc | 1 + deps/v8/test/cctest/test-code-stubs-mips.cc | 6 +- deps/v8/test/cctest/test-code-stubs-mips64.cc | 8 +- deps/v8/test/cctest/test-compiler.cc | 121 +- deps/v8/test/cctest/test-cpu-profiler.cc | 14 +- deps/v8/test/cctest/test-date.cc | 4 +- deps/v8/test/cctest/test-debug.cc | 126 +- deps/v8/test/cctest/test-deoptimization.cc | 10 +- deps/v8/test/cctest/test-dictionary.cc | 12 + deps/v8/test/cctest/test-disasm-arm.cc | 94 +- deps/v8/test/cctest/test-disasm-arm64.cc | 14 + deps/v8/test/cctest/test-disasm-ia32.cc | 112 +- deps/v8/test/cctest/test-disasm-mips.cc | 692 +++ deps/v8/test/cctest/test-disasm-mips64.cc | 741 ++- deps/v8/test/cctest/test-disasm-x64.cc | 6 + deps/v8/test/cctest/test-extra.js | 22 +- deps/v8/test/cctest/test-feedback-vector.cc | 31 +- .../test/cctest/test-field-type-tracking.cc | 129 +- deps/v8/test/cctest/test-flags.cc | 2 +- deps/v8/test/cctest/test-hashing.cc | 5 +- deps/v8/test/cctest/test-heap-profiler.cc | 12 +- deps/v8/test/cctest/test-identity-map.cc | 123 +- .../cctest/test-inobject-slack-tracking.cc | 3 + deps/v8/test/cctest/test-log.cc | 8 +- .../test/cctest/test-macro-assembler-arm.cc | 159 +- .../test/cctest/test-macro-assembler-mips.cc | 16 +- .../cctest/test-macro-assembler-mips64.cc | 62 +- deps/v8/test/cctest/test-mementos.cc | 5 +- deps/v8/test/cctest/test-modules.cc | 120 +- deps/v8/test/cctest/test-parsing.cc | 601 ++- deps/v8/test/cctest/test-profile-generator.cc | 5 +- deps/v8/test/cctest/test-regexp.cc | 3 + .../cctest/test-run-wasm-relocation-arm.cc | 4 +- .../cctest/test-run-wasm-relocation-arm64.cc | 7 +- .../cctest/test-run-wasm-relocation-ia32.cc | 4 +- .../cctest/test-run-wasm-relocation-x64.cc | 4 +- deps/v8/test/cctest/test-serialize.cc | 183 +- deps/v8/test/cctest/test-simulator-arm.cc | 8 +- deps/v8/test/cctest/test-simulator-arm64.cc | 384 ++ deps/v8/test/cctest/test-strings.cc | 26 +- deps/v8/test/cctest/test-symbols.cc | 2 +- deps/v8/test/cctest/test-types.cc | 5 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 16 +- deps/v8/test/cctest/test-utils-arm64.cc | 3 +- deps/v8/test/cctest/test-utils.cc | 9 - deps/v8/test/cctest/test-weakmaps.cc | 10 +- deps/v8/test/cctest/test-weaksets.cc | 8 +- deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 68 +- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 3 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 64 +- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 2 +- .../test/cctest/wasm/test-run-wasm-module.cc | 241 +- .../cctest/wasm/test-run-wasm-relocation.cc | 72 +- .../wasm/test-run-wasm-simd-lowering.cc | 296 -- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 1521 +++++- deps/v8/test/cctest/wasm/test-run-wasm.cc | 234 +- .../test/cctest/wasm/test-wasm-breakpoints.cc | 154 +- .../wasm/test-wasm-interpreter-entry.cc | 39 +- 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 | 136 +- .../common}/wasm/wasm-macro-gen.h | 185 +- .../v8/test/common/wasm/wasm-module-runner.cc | 23 +- deps/v8/test/common/wasm/wasm-module-runner.h | 2 +- .../debugger/debug/debug-compile-optimized.js | 2 +- .../debug/debug-evaluate-nested-let.js | 2 +- .../debug-evaluate-no-side-effect-builtins.js | 70 +- .../debug-evaluate-no-side-effect-control.js | 2 +- .../debug/debug-evaluate-no-side-effect.js | 18 +- deps/v8/test/debugger/debug/debug-optimize.js | 2 +- .../debug-scopes-suspended-generators.js | 2 +- deps/v8/test/debugger/debug/debug-scopes.js | 4 +- deps/v8/test/debugger/debug/debug-script.js | 2 +- deps/v8/test/debugger/debug/debug-step.js | 2 + .../debugger/debug/debug-stepin-accessor.js | 3 +- .../debug-stepin-property-function-call.js | 2 +- .../debugger/debug/es6/debug-blockscopes.js | 2 +- .../debug/es6/debug-stepin-microtasks.js | 4 +- .../debug/harmony/modules-debug-scopes1.js | 4 +- .../debug/ignition/debug-break-mixed-stack.js | 51 - .../debug/ignition/debug-step-mixed-stack.js | 52 - .../debug/regress/regress-crbug-465298.js | 2 +- .../debug/regress/regress-crbug-517592.js | 2 - .../debug/regress/regress-crbug-633999.js | 2 +- .../regress-prepare-break-while-recompile.js | 1 - deps/v8/test/debugger/debug/wasm/asm-debug.js | 23 +- deps/v8/test/debugger/debugger.isolate | 14 +- deps/v8/test/debugger/debugger.status | 31 +- deps/v8/test/default.gyp | 9 +- deps/v8/test/default.isolate | 2 + deps/v8/test/fuzzer/fuzzer-support.cc | 2 +- deps/v8/test/fuzzer/fuzzer-support.h | 2 +- deps/v8/test/fuzzer/fuzzer.gyp | 34 +- deps/v8/test/fuzzer/parser.cc | 48 +- deps/v8/test/fuzzer/testcfg.py | 3 + deps/v8/test/fuzzer/wasm-call.cc | 249 +- deps/v8/test/fuzzer/wasm-code.cc | 174 +- deps/v8/test/fuzzer/wasm-compile.cc | 180 +- deps/v8/test/fuzzer/wasm-data-section.cc | 6 +- .../test/fuzzer/wasm-function-sigs-section.cc | 7 +- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 194 + deps/v8/test/fuzzer/wasm-fuzzer-common.h | 40 + deps/v8/test/fuzzer/wasm-globals-section.cc | 6 +- deps/v8/test/fuzzer/wasm-imports-section.cc | 6 +- deps/v8/test/fuzzer/wasm-memory-section.cc | 6 +- deps/v8/test/fuzzer/wasm-names-section.cc | 6 +- deps/v8/test/fuzzer/wasm-section-fuzzers.cc | 64 - deps/v8/test/fuzzer/wasm-section-fuzzers.h | 16 - deps/v8/test/fuzzer/wasm-types-section.cc | 6 +- deps/v8/test/fuzzer/wasm.tar.gz.sha1 | 1 - deps/v8/test/fuzzer/wasm/foo | 0 deps/v8/test/fuzzer/wasm_asmjs.tar.gz.sha1 | 1 - deps/v8/test/fuzzer/wasm_asmjs/foo | 0 .../test/fuzzer/wasm_asmjs_corpus.tar.gz.sha1 | 1 + deps/v8/test/fuzzer/wasm_corpus.tar.gz.sha1 | 1 + deps/v8/test/inspector/BUILD.gn | 48 +- .../destroy-context-during-log-expected.txt | 1 + .../console/destroy-context-during-log.js | 10 +- .../console/let-const-with-api-expected.txt | 3 +- .../inspector/console/let-const-with-api.js | 2 + .../memory-setter-in-strict-mode-expected.txt | 9 - .../console/memory-setter-in-strict-mode.js | 13 - ...ofile-end-parameterless-crash-expected.txt | 2 +- ...console-profile-end-parameterless-crash.js | 4 +- .../cpu-profiler/console-profile-expected.txt | 2 +- .../inspector/cpu-profiler/console-profile.js | 4 +- .../cpu-profiler/coverage-expected.txt | 693 ++- .../test/inspector/cpu-profiler/coverage.js | 197 +- .../cpu-profiler/enable-disable-expected.txt | 2 +- .../inspector/cpu-profiler/enable-disable.js | 28 +- .../record-cpu-profile-expected.txt | 2 +- .../cpu-profiler/record-cpu-profile.js | 28 +- ...stop-without-preceeding-start-expected.txt | 2 +- .../stop-without-preceeding-start.js | 18 +- .../access-obsolete-frame-expected.txt | 3 +- .../debugger/access-obsolete-frame.js | 4 +- .../debugger/asm-js-breakpoint-before-exec.js | 4 +- .../debugger/asm-js-breakpoint-during-exec.js | 4 +- .../debugger/asm-js-stack-expected.txt | 1 + .../test/inspector/debugger/asm-js-stack.js | 4 +- .../async-console-count-doesnt-crash.js | 4 +- ...nc-for-await-of-promise-stack-expected.txt | 58 + .../async-for-await-of-promise-stack.js | 164 + .../async-instrumentation-expected.txt | 4 +- .../debugger/async-instrumentation.js | 10 +- .../async-promise-late-then-expected.txt | 6 +- .../debugger/async-promise-late-then.js | 10 +- .../inspector/debugger/async-set-timeout.js | 10 +- .../debugger/async-stack-await-expected.txt | 15 +- .../inspector/debugger/async-stack-await.js | 10 +- .../async-stack-created-frame-expected.txt | 57 +- .../debugger/async-stack-created-frame.js | 11 +- .../async-stack-for-promise-expected.txt | 129 +- .../debugger/async-stack-for-promise.js | 10 +- .../debugger/async-stacks-limit-expected.txt | 140 - .../inspector/debugger/async-stacks-limit.js | 164 - .../debugger/break-on-exception-expected.txt | 2 +- .../inspector/debugger/break-on-exception.js | 4 +- .../call-frame-function-location-expected.txt | 1 + .../debugger/call-frame-function-location.js | 4 +- ...n-from-framework-inside-async-expected.txt | 4 + ...t-exception-from-framework-inside-async.js | 38 + .../debugger/caught-uncaught-exceptions.js | 4 +- .../collect-obsolete-async-tasks-expected.txt | 37 + .../debugger/collect-obsolete-async-tasks.js | 35 + ...collect-old-async-call-chains-expected.txt | 211 + .../debugger/collect-old-async-call-chains.js | 171 + ...-line-api-with-bound-function-expected.txt | 2 +- .../command-line-api-with-bound-function.js | 4 +- .../continue-to-location-expected.txt | 2 +- ...o-location-target-call-frames-expected.txt | 81 + ...continue-to-location-target-call-frames.js | 139 + .../debugger/continue-to-location.js | 4 +- .../destory-in-break-program-expected.txt | 1 + .../debugger/destory-in-break-program.js | 13 + ...snt-step-into-injected-script-expected.txt | 32 +- .../doesnt-step-into-injected-script.js | 45 +- .../es6-module-script-parsed-expected.txt | 3 + .../debugger/es6-module-script-parsed.js | 12 +- .../debugger/es6-module-set-script-source.js | 8 +- .../debugger/eval-scopes-expected.txt | 3 +- .../v8/test/inspector/debugger/eval-scopes.js | 4 +- .../debugger/framework-break-expected.txt | 4 +- .../inspector/debugger/framework-break.js | 18 +- ...mework-nested-scheduled-break-expected.txt | 18 +- .../framework-nested-scheduled-break.js | 20 +- .../debugger/framework-precise-ranges.js | 10 +- .../debugger/framework-stepping-expected.txt | 10 +- .../inspector/debugger/framework-stepping.js | 18 +- ...ble-breakpoints-array-literal-expected.txt | 3 + .../get-possible-breakpoints-array-literal.js | 4 +- ...ssible-breakpoints-lazy-error-expected.txt | 26 + .../get-possible-breakpoints-lazy-error.js | 28 + ...t-possible-breakpoints-master-expected.txt | 270 ++ .../get-possible-breakpoints-master.js | 43 + ...akpoints-restrict-to-function-expected.txt | 497 ++ ...ssible-breakpoints-restrict-to-function.js | 120 + .../debugger/get-possible-breakpoints.js | 4 +- .../debugger/inspector-break-api-expected.txt | 2 +- .../inspector/debugger/inspector-break-api.js | 18 +- .../max-async-call-chain-depth-expected.txt | 91 + .../debugger/max-async-call-chain-depth.js | 162 + .../object-preview-internal-properties.js | 2 +- .../inspector/debugger/pause-expected.txt | 40 + .../test/inspector/debugger/pause-on-oom.js | 6 +- deps/v8/test/inspector/debugger/pause.js | 101 + .../promise-chain-when-limit-hit-expected.txt | 235 + .../debugger/promise-chain-when-limit-hit.js | 54 + ...tocol-string-to-double-locale-expected.txt | 8 + .../protocol-string-to-double-locale.js | 24 + .../debugger/resources/break-locations.js | 269 ++ .../debugger/restore-breakpoint-expected.txt | 76 + .../inspector/debugger/restore-breakpoint.js | 69 + .../return-break-locations-expected.txt | 11 + .../debugger/return-break-locations.js | 26 + .../schedule-step-into-async-expected.txt | 191 + ...e-step-into-async-set-timeout-expected.txt | 45 + .../schedule-step-into-async-set-timeout.js | 75 + .../debugger/schedule-step-into-async.js | 159 + ...kip-variables-with-empty-name-expected.txt | 3 +- .../scope-skip-variables-with-empty-name.js | 4 +- .../debugger/script-end-location-expected.txt | 91 + .../inspector/debugger/script-end-location.js | 48 + .../script-on-after-compile-expected.txt | 168 +- .../debugger/script-on-after-compile.js | 24 +- ...t-parsed-for-runtime-evaluate-expected.txt | 161 +- .../script-parsed-for-runtime-evaluate.js | 32 +- .../debugger/script-parsed-hash-expected.txt | 3 +- .../inspector/debugger/script-parsed-hash.js | 2 + .../script-with-negative-offset-expected.txt | 19 + .../debugger/script-with-negative-offset.js | 31 + .../set-async-call-stack-depth-expected.txt | 37 + .../debugger/set-async-call-stack-depth.js | 79 + .../set-blackbox-patterns-expected.txt | 1 + .../debugger/set-blackbox-patterns.js | 10 +- ...et-breakpoint-before-enabling-expected.txt | 1 + .../set-breakpoint-before-enabling.js | 2 + .../debugger/set-script-source-exception.js | 4 +- .../debugger/set-script-source-expected.txt | 2 +- .../inspector/debugger/set-script-source.js | 4 +- ...de-effect-free-debug-evaluate-expected.txt | 1 + .../side-effect-free-debug-evaluate.js | 5 +- .../inspector/debugger/step-into-expected.txt | 1099 +++++ .../debugger/step-into-nested-arrow.js | 8 +- .../step-into-next-script-expected.txt | 18 +- .../debugger/step-into-next-script.js | 16 +- deps/v8/test/inspector/debugger/step-into.js | 34 + .../step-out-async-await-expected.txt | 67 + .../debugger/step-out-async-await.js | 72 + ...ep-over-another-context-group-expected.txt | 7 + .../step-over-another-context-group.js | 36 + .../step-over-caught-exception-expected.txt | 3 +- .../debugger/step-over-caught-exception.js | 4 +- .../debugger/step-snapshot-expected.txt | 35 + .../test/inspector/debugger/step-snapshot.js | 31 + ...fter-get-possible-breakpoints-expected.txt | 2 +- ...stepping-after-get-possible-breakpoints.js | 4 +- ...tepping-and-break-program-api-expected.txt | 19 + .../stepping-and-break-program-api.js | 34 + ...pping-ignores-injected-script-expected.txt | 2 + .../stepping-ignores-injected-script.js | 21 + .../debugger/stepping-tail-call-expected.txt | 177 + .../inspector/debugger/stepping-tail-call.js | 81 + ...epping-with-blackboxed-ranges-expected.txt | 2 + .../stepping-with-blackboxed-ranges.js | 8 +- ...-with-exposed-injected-script-expected.txt | 2 + .../stepping-with-exposed-injected-script.js | 22 + ...g-with-natives-and-frameworks-expected.txt | 310 ++ .../stepping-with-natives-and-frameworks.js | 300 ++ .../suspended-generator-scopes-expected.txt | 2 + .../debugger/suspended-generator-scopes.js | 5 +- .../update-call-frame-scopes-expected.txt | 2 +- .../debugger/update-call-frame-scopes.js | 4 +- .../wasm-get-breakable-locations-expected.txt | 49 +- .../debugger/wasm-get-breakable-locations.js | 6 +- .../debugger/wasm-imports-expected.txt | 25 + .../test/inspector/debugger/wasm-imports.js | 110 + .../debugger/wasm-scripts-expected.txt | 9 +- .../test/inspector/debugger/wasm-scripts.js | 11 +- .../debugger/wasm-source-expected.txt | 1 + .../v8/test/inspector/debugger/wasm-source.js | 10 +- .../debugger/wasm-stack-expected.txt | 1 + deps/v8/test/inspector/debugger/wasm-stack.js | 8 +- .../debugger/wasm-stepping-expected.txt | 353 +- .../test/inspector/debugger/wasm-stepping.js | 53 +- .../take-heap-snapshot-on-pause.js | 6 +- deps/v8/test/inspector/inspector-impl.cc | 249 +- deps/v8/test/inspector/inspector-impl.h | 85 +- deps/v8/test/inspector/inspector-test.cc | 844 ++-- deps/v8/test/inspector/inspector.gyp | 10 + deps/v8/test/inspector/inspector.isolate | 35 +- deps/v8/test/inspector/inspector.status | 26 +- deps/v8/test/inspector/isolate-data.cc | 95 + deps/v8/test/inspector/isolate-data.h | 67 + .../v8/test/inspector/json-parse-expected.txt | 1 + deps/v8/test/inspector/json-parse.js | 6 +- deps/v8/test/inspector/protocol-test.js | 394 +- .../test/inspector/runtime/await-promise.js | 4 +- .../call-function-on-async-expected.txt | 6 +- .../runtime/call-function-on-async.js | 2 +- .../clear-of-command-line-api-expected.txt | 2 +- .../runtime/clear-of-command-line-api.js | 4 +- .../client-console-api-message-expected.txt | 8 + .../runtime/client-console-api-message.js | 28 + .../runtime/command-line-api-expected.txt | 612 +++ .../inspector/runtime/command-line-api.js | 175 + .../runtime/compile-script-expected.txt | 3 +- .../test/inspector/runtime/compile-script.js | 2 + ...nsole-api-repeated-in-console-expected.txt | 1 - .../console-api-repeated-in-console.js | 2 +- .../test/inspector/runtime/console-assert.js | 4 +- .../console-deprecated-methods-expected.txt | 1 - .../runtime/console-deprecated-methods.js | 2 +- .../console-line-and-column-expected.txt | 3 +- .../runtime/console-line-and-column.js | 2 + ...ole-log-doesnt-run-microtasks-expected.txt | 1 - .../console-log-doesnt-run-microtasks.js | 4 +- .../runtime/console-memory-expected.txt | 45 + .../test/inspector/runtime/console-memory.js | 32 + .../runtime/console-messages-limits.js | 4 +- .../test/inspector/runtime/console-methods.js | 4 +- .../runtime/console-spec-expected.txt | 30 + .../v8/test/inspector/runtime/console-spec.js | 60 + .../runtime/console-time-end-format.js | 6 +- .../runtime/console-timestamp-expected.txt | 2 +- .../inspector/runtime/console-timestamp.js | 2 + .../runtime/create-context-expected.txt | 56 + .../test/inspector/runtime/create-context.js | 51 + .../inspector/runtime/es6-module-expected.txt | 10 +- deps/v8/test/inspector/runtime/es6-module.js | 16 +- .../runtime/evaluate-async-expected.txt | 4 - .../runtime/evaluate-async-with-wrap-error.js | 4 +- .../test/inspector/runtime/evaluate-async.js | 4 +- .../inspector/runtime/evaluate-empty-stack.js | 4 +- ...te-with-context-id-equal-zero-expected.txt | 1 - .../evaluate-with-context-id-equal-zero.js | 2 +- ...valuate-with-generate-preview-expected.txt | 736 +++ .../runtime/evaluate-with-generate-preview.js | 75 +- .../runtime/exception-thrown-expected.txt | 4 - .../inspector/runtime/exception-thrown.js | 4 +- .../runtime/get-properties-expected.txt | 23 +- .../get-properties-on-proxy-expected.txt | 2 +- .../runtime/get-properties-on-proxy.js | 4 +- .../get-properties-preview-expected.txt | 2 +- .../runtime/get-properties-preview.js | 4 + .../test/inspector/runtime/get-properties.js | 251 +- .../runtime/internal-properties-entries.js | 2 +- .../inspector/runtime/internal-properties.js | 4 +- .../length-or-size-description-expected.txt | 4 + .../runtime/length-or-size-description.js | 9 +- .../property-on-console-proto-expected.txt | 1 - .../runtime/property-on-console-proto.js | 4 +- ...l-works-with-different-locale-expected.txt | 1 + .../protocol-works-with-different-locale.js | 16 +- .../runtime/run-script-async-expected.txt | 6 +- .../inspector/runtime/run-script-async.js | 2 +- ...e-evaluate-with-dirty-context-expected.txt | 35 + .../runtime-evaluate-with-dirty-context.js | 11 + .../runtime/runtime-restore-expected.txt | 115 + .../test/inspector/runtime/runtime-restore.js | 77 + .../inspector/runtime/set-or-map-entries.js | 6 +- deps/v8/test/inspector/task-runner.cc | 160 +- deps/v8/test/inspector/task-runner.h | 84 +- deps/v8/test/inspector/testcfg.py | 10 +- .../intl/date-format/date-format-to-parts.js | 2 - deps/v8/test/intl/general/case-mapping.js | 2 + deps/v8/test/intl/intl.status | 10 - deps/v8/test/js-perf-test/Array/filter.js | 92 + deps/v8/test/js-perf-test/Array/map.js | 88 + deps/v8/test/js-perf-test/Array/run.js | 30 + .../js-perf-test/BytecodeHandlers/compare.js | 157 + .../test/js-perf-test/BytecodeHandlers/run.js | 29 + .../v8/test/js-perf-test/ForLoops/for_loop.js | 42 + deps/v8/test/js-perf-test/ForLoops/run.js | 25 + deps/v8/test/js-perf-test/JSTests.json | 153 +- .../test/js-perf-test/Modules/basic-export.js | 7 + .../test/js-perf-test/Modules/basic-import.js | 8 + .../js-perf-test/Modules/basic-namespace.js | 8 + deps/v8/test/js-perf-test/Modules/run.js | 63 + deps/v8/test/js-perf-test/Modules/value.js | 6 + .../PropertyQueries/property-queries.js | 3 + .../test/js-perf-test/RestParameters/rest.js | 66 + deps/v8/test/js-perf-test/SixSpeed.json | 141 + .../js-perf-test/SixSpeed/classes/babel.js | 51 + .../test/js-perf-test/SixSpeed/classes/es5.js | 20 + .../test/js-perf-test/SixSpeed/classes/es6.js | 21 + .../js-perf-test/SixSpeed/map_set_add/es5.js | 21 + .../js-perf-test/SixSpeed/map_set_add/es6.js | 22 + .../SixSpeed/map_set_lookup/es5.js | 32 + .../SixSpeed/map_set_lookup/es6.js | 30 + .../SixSpeed/map_set_object/es5.js | 24 + .../SixSpeed/map_set_object/es6.js | 22 + .../js-perf-test/SixSpeed/map_string/es5.js | 26 + .../js-perf-test/SixSpeed/map_string/es6.js | 26 + .../test/js-perf-test/SixSpeed/super/babel.js | 135 + .../test/js-perf-test/SixSpeed/super/es5.js | 34 + .../test/js-perf-test/SixSpeed/super/es6.js | 34 + .../TypedArrays/construct-all-typedarrays.js | 40 + .../TypedArrays/construct-same-typedarray.js | 17 + .../TypedArrays/construct-typedarray.js | 17 + deps/v8/test/message/README.md | 25 + deps/v8/test/message/arrow-invalid-rest-2.out | 6 +- deps/v8/test/message/arrow-invalid-rest.out | 6 +- .../test/message/asm-assignment-undeclared.js | 16 + .../message/asm-assignment-undeclared.out | 5 + .../test/message/asm-function-mismatch-def.js | 19 + .../message/asm-function-mismatch-def.out | 5 + .../test/message/asm-function-mismatch-use.js | 19 + .../message/asm-function-mismatch-use.out | 5 + .../v8/test/message/asm-function-redefined.js | 15 + .../test/message/asm-function-redefined.out | 5 + .../v8/test/message/asm-function-undefined.js | 14 + .../test/message/asm-function-undefined.out | 5 + .../asm-function-variable-collision.js | 15 + .../asm-function-variable-collision.out | 5 + .../message/asm-import-wrong-annotation.js | 11 + .../message/asm-import-wrong-annotation.out | 5 + .../test/message/asm-import-wrong-object.js | 11 + .../test/message/asm-import-wrong-object.out | 5 + .../v8/test/message/asm-linking-bogus-heap.js | 15 + .../test/message/asm-linking-bogus-heap.out | 5 + .../test/message/asm-linking-bogus-stdlib.js | 15 + .../test/message/asm-linking-bogus-stdlib.out | 5 + .../test/message/asm-linking-missing-heap.js | 15 + .../test/message/asm-linking-missing-heap.out | 5 + .../asm-missing-parameter-annotation.js | 16 + .../asm-missing-parameter-annotation.out | 5 + .../message/asm-missing-return-annotation.js | 17 + .../message/asm-missing-return-annotation.out | 5 + .../v8/test/message/asm-table-mismatch-def.js | 22 + .../test/message/asm-table-mismatch-def.out | 5 + .../v8/test/message/asm-table-mismatch-use.js | 24 + .../test/message/asm-table-mismatch-use.out | 5 + deps/v8/test/message/asm-table-redefined.js | 20 + deps/v8/test/message/asm-table-redefined.out | 5 + deps/v8/test/message/asm-table-undefined.js | 15 + deps/v8/test/message/asm-table-undefined.out | 5 + .../message/asm-table-variable-collision.js | 14 + .../message/asm-table-variable-collision.out | 5 + .../message/async-arrow-invalid-rest-2.js | 8 + .../message/async-arrow-invalid-rest-2.out | 4 + .../test/message/async-arrow-invalid-rest.js | 8 + .../test/message/async-arrow-invalid-rest.out | 4 + .../message/async-arrow-param-after-rest.js | 7 + .../message/async-arrow-param-after-rest.out | 5 + deps/v8/test/message/class-spread-property.js | 5 + .../v8/test/message/class-spread-property.out | 4 + deps/v8/test/message/console.js | 25 + deps/v8/test/message/console.out | 15 + .../test/message/function-param-after-rest.js | 7 + .../message/function-param-after-rest.out | 5 + deps/v8/test/message/get-iterator1.js | 7 + deps/v8/test/message/get-iterator1.out | 5 + .../v8/test/message/let-asi-await-nonasync.js | 9 + .../test/message/let-asi-await-nonasync.out | 4 + .../message/let-asi-yield-nongenerator.js | 9 + .../message/let-asi-yield-nongenerator.out | 4 + deps/v8/test/message/modules-cycle5.js | 8 + deps/v8/test/message/modules-cycle5.out | 5 + deps/v8/test/message/modules-cycle6.js | 8 + deps/v8/test/message/modules-cycle6.out | 5 + deps/v8/test/message/modules-skip-cycle5.js | 5 + deps/v8/test/message/modules-skip-cycle6.js | 5 + .../message/regress/regress-crbug-691194.js | 5 + .../message/regress/regress-crbug-691194.out | 10 + deps/v8/test/message/testcfg.py | 1 + deps/v8/test/mjsunit/allocation-site-info.js | 12 +- deps/v8/test/mjsunit/arguments-deopt.js | 153 +- deps/v8/test/mjsunit/arguments.js | 81 + .../mjsunit/array-constructor-feedback.js | 11 +- deps/v8/test/mjsunit/array-feedback.js | 2 +- .../v8/test/mjsunit/array-literal-feedback.js | 2 +- .../test/mjsunit/array-literal-transitions.js | 2 +- deps/v8/test/mjsunit/array-push5.js | 2 +- deps/v8/test/mjsunit/array-reduce.js | 6 + deps/v8/test/mjsunit/array-shift4.js | 2 +- deps/v8/test/mjsunit/array-slice.js | 35 +- deps/v8/test/mjsunit/array-store-and-grow.js | 2 +- deps/v8/test/mjsunit/asm/asm-memory.js | 55 + deps/v8/test/mjsunit/asm/asm-stdlib.js | 46 + deps/v8/test/mjsunit/asm/asm-validation.js | 41 +- deps/v8/test/mjsunit/asm/call-annotation.js | 179 + deps/v8/test/mjsunit/asm/call-collisions.js | 67 + deps/v8/test/mjsunit/asm/call-stdlib.js | 85 + deps/v8/test/mjsunit/asm/global-imports.js | 74 + deps/v8/test/mjsunit/asm/immutable.js | 48 + deps/v8/test/mjsunit/asm/int32-mul.js | 4 +- deps/v8/test/mjsunit/asm/regress-674089.js | 2 +- deps/v8/test/mjsunit/asm/regress-718745.js | 13 + deps/v8/test/mjsunit/asm/return-types.js | 123 + deps/v8/test/mjsunit/basic-promise.js | 42 + deps/v8/test/mjsunit/code-coverage-ad-hoc.js | 10 +- .../mjsunit/compiler/array-constructor.js | 89 + ...-no-harmony-restrict-constructor-return.js | 12 + .../mjsunit/compiler/constructor-inlining.js | 128 + .../compiler/deopt-inlined-from-call.js | 2 +- .../compiler/deopt-numberoroddball-binop.js | 8 +- .../compiler/deopt-string-outofbounds.js | 2 +- .../mjsunit/compiler/escape-analysis-13.js | 17 + .../mjsunit/compiler/escape-analysis-16.js | 18 + .../mjsunit/compiler/escape-analysis-17.js | 27 + .../compiler/escape-analysis-phi-type-2.js | 41 + .../compiler/escape-analysis-phi-type.js | 24 + .../escape-analysis-representation.js | 2 +- .../compiler/increment-typefeedback.js | 2 +- .../test/mjsunit/compiler/inline-accessors.js | 2 +- .../test/mjsunit/compiler/inline-arguments.js | 2 +- .../mjsunit/compiler/inlined-array-pop-opt.js | 2 +- deps/v8/test/mjsunit/compiler/inlined-call.js | 2 +- deps/v8/test/mjsunit/compiler/instanceof.js | 12 + .../mjsunit/compiler/integral32-add-sub.js | 8 +- .../compiler/manual-concurrent-recompile.js | 7 +- .../mjsunit/compiler/object-getprototypeof.js | 15 + .../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 +- .../compiler/reflect-getprototypeof.js | 15 + deps/v8/test/mjsunit/compiler/regress-5320.js | 5 +- .../test/mjsunit/compiler/regress-693425.js | 11 + .../test/mjsunit/compiler/regress-694088.js | 46 + .../test/mjsunit/compiler/regress-700883.js | 23 + .../test/mjsunit/compiler/regress-713367.js | 30 + .../test/mjsunit/compiler/regress-714483.js | 26 + .../test/mjsunit/compiler/regress-715204.js | 13 + .../test/mjsunit/compiler/regress-715651.js | 38 + .../compiler/regress-compare-negate.js | 2 +- .../regress-strict-equals-mixed-feedback.js | 23 - .../compiler/regress-string-to-number-add.js | 2 +- .../test/mjsunit/compiler/regress-v8-6077.js | 69 + .../test/mjsunit/compiler/rest-parameters.js | 54 + .../mjsunit/compiler/turbo-number-feedback.js | 2 +- .../mjsunit/compiler/uint8-clamped-array.js | 2 +- deps/v8/test/mjsunit/const-field-tracking.js | 2 +- deps/v8/test/mjsunit/constant-folding-2.js | 2 +- deps/v8/test/mjsunit/debugPrint.js | 28 +- deps/v8/test/mjsunit/deopt-minus-zero.js | 2 +- .../mjsunit/deopt-recursive-eager-once.js | 34 + .../test/mjsunit/deopt-recursive-lazy-once.js | 34 + .../test/mjsunit/deopt-recursive-soft-once.js | 36 + deps/v8/test/mjsunit/deopt-unlinked.js | 32 + deps/v8/test/mjsunit/deopt-with-fp-regs.js | 2 +- .../mjsunit/deserialize-optimize-inner.js | 3 +- deps/v8/test/mjsunit/dictionary-properties.js | 2 + deps/v8/test/mjsunit/div-mul-minus-one.js | 2 +- deps/v8/test/mjsunit/duplicate-parameters.js | 179 + deps/v8/test/mjsunit/element-read-only.js | 47 +- .../mjsunit/elements-transition-hoisting.js | 2 +- .../mjsunit/ensure-growing-store-learns.js | 6 +- .../test/mjsunit/es6/array-iterator-turbo.js | 39 +- .../es6/block-let-crankshaft-sloppy.js | 2 +- .../test/mjsunit/es6/block-let-crankshaft.js | 2 +- .../test/mjsunit/es6/block-scoping-sloppy.js | 2 +- deps/v8/test/mjsunit/es6/block-scoping.js | 2 +- deps/v8/test/mjsunit/es6/classes.js | 2 +- deps/v8/test/mjsunit/es6/completion.js | 10 + .../mjsunit/es6/destructuring-assignment.js | 90 + deps/v8/test/mjsunit/es6/generator-let-asi.js | 14 + .../v8/test/mjsunit/es6/global-proto-proxy.js | 41 + .../test/mjsunit/es6/regress/regress-6098.js | 14 + .../test/mjsunit/es6/regress/regress-6322.js | 6 + .../mjsunit/es6/rest-params-lazy-parsing.js | 2 - deps/v8/test/mjsunit/es6/string-replace.js | 6 +- deps/v8/test/mjsunit/es6/string-split.js | 5 +- ...t-by-array-like-prototype-element-added.js | 32 + .../es6/typedarray-construct-by-array-like.js | 279 ++ ...typedarray-construct-by-buffer-ordering.js | 81 + .../typedarray-construct-offset-not-smi.js | 37 + .../test/mjsunit/es6/typedarray-copywithin.js | 4 +- deps/v8/test/mjsunit/es6/typedarray-every.js | 19 + deps/v8/test/mjsunit/es6/typedarray-fill.js | 102 +- deps/v8/test/mjsunit/es6/typedarray-find.js | 15 + .../test/mjsunit/es6/typedarray-findindex.js | 13 + .../v8/test/mjsunit/es6/typedarray-foreach.js | 5 + .../test/mjsunit/es6/typedarray-indexing.js | 41 + .../test/mjsunit/es6/typedarray-iteration.js | 17 + deps/v8/test/mjsunit/es6/typedarray-map.js | 49 + deps/v8/test/mjsunit/es6/typedarray-reduce.js | 16 + .../v8/test/mjsunit/es6/typedarray-reverse.js | 9 + deps/v8/test/mjsunit/es6/typedarray-slice.js | 85 +- deps/v8/test/mjsunit/es6/typedarray-sort.js | 7 + .../test/mjsunit/es6/typedarray-tostring.js | 9 + deps/v8/test/mjsunit/es6/typedarray.js | 58 + deps/v8/test/mjsunit/es7/regexp-ui-word.js | 42 + deps/v8/test/mjsunit/es8/async-let-asi.js | 22 + .../es8/constructor-returning-primitive.js | 318 ++ deps/v8/test/mjsunit/fast-prototype.js | 2 +- deps/v8/test/mjsunit/field-type-tracking.js | 2 +- .../fixed-context-shapes-when-recompiling.js | 2 +- .../mjsunit/function-arguments-duplicate.js | 4 + deps/v8/test/mjsunit/getters-on-elements.js | 45 +- deps/v8/test/mjsunit/global-accessors.js | 2 + .../harmony/async-from-sync-iterator.js | 92 + .../mjsunit/harmony/async-generators-basic.js | 1730 +++++++ .../mjsunit/harmony/atomics-value-check.js | 44 + deps/v8/test/mjsunit/harmony/atomics.js | 39 +- .../v8/test/mjsunit/harmony/do-expressions.js | 2 +- deps/v8/test/mjsunit/harmony/futex.js | 8 + .../global-accessors-strict.js} | 30 +- .../test/mjsunit/harmony/modules-import-1.js | 12 + .../test/mjsunit/harmony/modules-import-10.js | 15 + .../test/mjsunit/harmony/modules-import-11.js | 22 + .../test/mjsunit/harmony/modules-import-12.js | 19 + .../test/mjsunit/harmony/modules-import-13.js | 39 + .../test/mjsunit/harmony/modules-import-14.js | 26 + .../test/mjsunit/harmony/modules-import-15.js | 56 + .../test/mjsunit/harmony/modules-import-2.js | 18 + .../test/mjsunit/harmony/modules-import-3.js | 22 + .../test/mjsunit/harmony/modules-import-4.js | 13 + .../test/mjsunit/harmony/modules-import-5.js | 13 + .../test/mjsunit/harmony/modules-import-6.js | 29 + .../test/mjsunit/harmony/modules-import-7.js | 24 + .../test/mjsunit/harmony/modules-import-8.js | 91 + .../test/mjsunit/harmony/modules-import-9.js | 22 + .../v8/test/mjsunit/harmony/modules-skip-1.js | 5 + .../v8/test/mjsunit/harmony/modules-skip-2.js | 5 + .../v8/test/mjsunit/harmony/modules-skip-3.js | 5 + .../v8/test/mjsunit/harmony/modules-skip-4.js | 6 + .../v8/test/mjsunit/harmony/modules-skip-5.js | 15 + .../v8/test/mjsunit/harmony/modules-skip-6.js | 11 + .../v8/test/mjsunit/harmony/modules-skip-7.js | 14 + .../v8/test/mjsunit/harmony/modules-skip-8.js | 5 + .../v8/test/mjsunit/harmony/modules-skip-9.js | 5 + .../mjsunit/harmony/modules-skip-empty.js | 3 + .../mjsunit/harmony/regexp-dotall-disabled.js | 71 + deps/v8/test/mjsunit/harmony/regexp-dotall.js | 135 + .../test/mjsunit/harmony/regexp-lookbehind.js | 1 + .../mjsunit/harmony/regexp-named-captures.js | 375 +- .../mjsunit/harmony/regexp-property-binary.js | 162 +- .../harmony/regexp-property-special.js | 22 + .../mjsunit/harmony/regress/regress-6100.js | 1738 +++++++ .../test/mjsunit/harmony/sharedarraybuffer.js | 17 +- .../test/mjsunit/harmony/template-escapes.js | 87 + deps/v8/test/mjsunit/heapObjectVerify.js | 53 + deps/v8/test/mjsunit/icu-date-lord-howe.js | 14 + deps/v8/test/mjsunit/icu-date-to-string.js | 14 + .../ignition/ignition-statistics-extension.js | 2 +- deps/v8/test/mjsunit/ignition/regress-5768.js | 16 - deps/v8/test/mjsunit/indexed-accessors.js | 2 +- deps/v8/test/mjsunit/json-errors.js | 30 + deps/v8/test/mjsunit/json.js | 1 + .../mjsunit/keyed-load-hole-to-undefined.js | 2 +- .../mjsunit/keyed-load-with-string-key.js | 2 +- .../mjsunit/keyed-load-with-symbol-key.js | 2 +- deps/v8/test/mjsunit/keyed-store-generic.js | 22 + .../mjsunit/math-floor-of-div-minus-zero.js | 2 +- deps/v8/test/mjsunit/math-imul.js | 2 +- deps/v8/test/mjsunit/messages.js | 46 +- deps/v8/test/mjsunit/minmax-simple.js | 27 - deps/v8/test/mjsunit/mjsunit.js | 95 +- deps/v8/test/mjsunit/mjsunit.status | 107 +- deps/v8/test/mjsunit/modules-cycle.js | 8 + deps/v8/test/mjsunit/modules-skip-cycle.js | 5 + deps/v8/test/mjsunit/modules-turbo1.js | 2 +- deps/v8/test/mjsunit/never-baseline.js | 24 + deps/v8/test/mjsunit/never-optimize.js | 2 +- deps/v8/test/mjsunit/number-isnan-opt.js | 55 + deps/v8/test/mjsunit/object-keys.js | 34 + deps/v8/test/mjsunit/object-literal.js | 1399 +++++- deps/v8/test/mjsunit/object-seal.js | 2 +- deps/v8/test/mjsunit/osr-elements-kind.js | 2 +- deps/v8/test/mjsunit/parse-tasks.js | 55 + deps/v8/test/mjsunit/polymorph-arrays.js | 2 +- .../proto-elements-add-during-foreach.js | 2 - deps/v8/test/mjsunit/regexp.js | 44 + deps/v8/test/mjsunit/regress-6223.js | 20 + deps/v8/test/mjsunit/regress-707410.js | 10 + deps/v8/test/mjsunit/regress/regress-105.js | 4 +- deps/v8/test/mjsunit/regress/regress-1119.js | 2 - .../v8/test/mjsunit/regress/regress-115452.js | 2 - deps/v8/test/mjsunit/regress/regress-1240.js | 4 +- .../test/mjsunit/regress/regress-1493017.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-2451.js | 2 +- .../v8/test/mjsunit/regress/regress-252797.js | 3 +- deps/v8/test/mjsunit/regress/regress-2618.js | 2 +- deps/v8/test/mjsunit/regress/regress-3176.js | 2 +- .../v8/test/mjsunit/regress/regress-330046.js | 2 +- .../test/mjsunit/regress/regress-3408144.js | 2 - .../v8/test/mjsunit/regress/regress-347914.js | 2 +- .../v8/test/mjsunit/regress/regress-353004.js | 16 +- .../v8/test/mjsunit/regress/regress-3650-3.js | 2 +- deps/v8/test/mjsunit/regress/regress-3709.js | 2 +- .../v8/test/mjsunit/regress/regress-385565.js | 2 +- .../v8/test/mjsunit/regress/regress-410912.js | 2 +- deps/v8/test/mjsunit/regress/regress-4380.js | 2 +- deps/v8/test/mjsunit/regress/regress-4665.js | 10 +- .../v8/test/mjsunit/regress/regress-475705.js | 2 +- deps/v8/test/mjsunit/regress/regress-4825.js | 16 + deps/v8/test/mjsunit/regress/regress-5380.js | 17 - deps/v8/test/mjsunit/regress/regress-5404.js | 2 +- deps/v8/test/mjsunit/regress/regress-5790.js | 2 +- deps/v8/test/mjsunit/regress/regress-5802.js | 6 +- .../v8/test/mjsunit/regress/regress-599719.js | 2 +- deps/v8/test/mjsunit/regress/regress-6082.js | 11 + deps/v8/test/mjsunit/regress/regress-6142.js | 27 + deps/v8/test/mjsunit/regress/regress-6186.js | 5 + .../v8/test/mjsunit/regress/regress-618608.js | 2 +- deps/v8/test/mjsunit/regress/regress-6196.js | 31 + deps/v8/test/mjsunit/regress/regress-6203.js | 20 + deps/v8/test/mjsunit/regress/regress-6248.js | 24 + deps/v8/test/mjsunit/regress/regress-6280.js | 22 + deps/v8/test/mjsunit/regress/regress-6288.js | 13 + deps/v8/test/mjsunit/regress/regress-6298.js | 16 + deps/v8/test/mjsunit/regress/regress-6337.js | 5 + .../v8/test/mjsunit/regress/regress-639270.js | 2 +- .../v8/test/mjsunit/regress/regress-641091.js | 15 + .../v8/test/mjsunit/regress/regress-645680.js | 16 +- .../v8/test/mjsunit/regress/regress-677685.js | 2 +- .../v8/test/mjsunit/regress/regress-696332.js | 12 + .../v8/test/mjsunit/regress/regress-698790.js | 18 + .../v8/test/mjsunit/regress/regress-705934.js | 15 + .../v8/test/mjsunit/regress/regress-707066.js | 25 + .../v8/test/mjsunit/regress/regress-707187.js | 12 + .../v8/test/mjsunit/regress/regress-707675.js | 8 + .../v8/test/mjsunit/regress/regress-708598.js | 10 + .../v8/test/mjsunit/regress/regress-709029.js | 38 + .../v8/test/mjsunit/regress/regress-709782.js | 14 + .../v8/test/mjsunit/regress/regress-711165.js | 9 + .../v8/test/mjsunit/regress/regress-715582.js | 9 + .../v8/test/mjsunit/regress/regress-716044.js | 25 + .../v8/test/mjsunit/regress/regress-718285.js | 46 + .../v8/test/mjsunit/regress/regress-718891.js | 68 + .../v8/test/mjsunit/regress/regress-719380.js | 7 + .../v8/test/mjsunit/regress/regress-722978.js | 15 + .../v8/test/mjsunit/regress/regress-725858.js | 11 + .../v8/test/mjsunit/regress/regress-726636.js | 14 + .../v8/test/mjsunit/regress/regress-727218.js | 12 + .../regress/regress-conditional-position.js | 2 +- .../mjsunit/regress/regress-crbug-157019.js | 2 +- .../mjsunit/regress/regress-crbug-157520.js | 2 +- .../mjsunit/regress/regress-crbug-244461.js | 2 +- .../mjsunit/regress/regress-crbug-504787.js | 2 - .../mjsunit/regress/regress-crbug-506443.js | 2 +- .../mjsunit/regress/regress-crbug-513507.js | 2 +- .../mjsunit/regress/regress-crbug-554831.js | 2 +- .../mjsunit/regress/regress-crbug-587068.js | 2 +- .../mjsunit/regress/regress-crbug-594183.js | 2 +- .../mjsunit/regress/regress-crbug-638551.js | 2 +- .../mjsunit/regress/regress-crbug-644111.js | 2 +- .../mjsunit/regress/regress-crbug-645103.js | 2 +- .../mjsunit/regress/regress-crbug-645888.js | 2 +- .../mjsunit/regress/regress-crbug-647217.js | 2 +- .../regress/regress-crbug-651403-global.js | 2 +- .../mjsunit/regress/regress-crbug-651403.js | 2 +- .../mjsunit/regress/regress-crbug-688567.js | 36 + .../mjsunit/regress/regress-crbug-688734.js | 16 + .../mjsunit/regress/regress-crbug-691687.js | 10 + .../mjsunit/regress/regress-crbug-696622.js | 14 + .../mjsunit/regress/regress-crbug-697017.js | 8 + .../mjsunit/regress/regress-crbug-698607.js | 22 + .../mjsunit/regress/regress-crbug-699282.js | 11 + .../mjsunit/regress/regress-crbug-700678.js | 20 + .../mjsunit/regress/regress-crbug-700733.js | 66 + .../mjsunit/regress/regress-crbug-702793.js | 19 + .../mjsunit/regress/regress-crbug-702798.js | 8 + .../mjsunit/regress/regress-crbug-703610.js | 16 + .../mjsunit/regress/regress-crbug-707580.js | 10 + .../mjsunit/regress/regress-crbug-708050-1.js | 17 + .../mjsunit/regress/regress-crbug-708050-2.js | 17 + .../mjsunit/regress/regress-crbug-709537.js | 14 + .../mjsunit/regress/regress-crbug-709753.js | 13 + .../mjsunit/regress/regress-crbug-711166.js | 22 + .../mjsunit/regress/regress-crbug-712802.js | 12 + .../mjsunit/regress/regress-crbug-714696.js | 10 + .../mjsunit/regress/regress-crbug-714872.js | 8 + .../mjsunit/regress/regress-crbug-714971.js | 19 + .../mjsunit/regress/regress-crbug-714981.js | 32 + .../mjsunit/regress/regress-crbug-715151.js | 15 + .../mjsunit/regress/regress-crbug-715404.js | 11 + .../mjsunit/regress/regress-crbug-715455.js | 25 + .../mjsunit/regress/regress-crbug-715862.js | 17 + .../mjsunit/regress/regress-crbug-716520.js | 21 + .../mjsunit/regress/regress-crbug-716804.js | 13 + .../mjsunit/regress/regress-crbug-716912.js | 23 + .../mjsunit/regress/regress-crbug-718779.js | 21 + .../mjsunit/regress/regress-crbug-719479.js | 24 + .../mjsunit/regress/regress-crbug-721835.js | 31 + .../mjsunit/regress/regress-crbug-722756.js | 40 + .../mjsunit/regress/regress-crbug-723132.js | 16 + .../mjsunit/regress/regress-crbug-723455.js | 18 + .../mjsunit/regress/regress-crbug-736451.js | 13 + .../mjsunit/regress/regress-crbug-736575.js | 14 + .../mjsunit/regress/regress-crbug-738763.js | 25 + .../mjsunit/regress/regress-crbug-740803.js | 19 + .../mjsunit/regress/regress-crbug-747979.js | 32 + .../mjsunit/regress/regress-crbug-748539.js | 22 + .../regress/regress-embedded-cons-string.js | 3 +- .../regress/regress-map-invalidation-2.js | 2 +- .../regress/regress-param-local-type.js | 2 +- .../regress-put-prototype-transition.js | 6 +- deps/v8/test/mjsunit/regress/regress-r4998.js | 2 - .../regress/regress-store-uncacheable.js | 2 +- .../regress-unlink-closures-on-deopt.js | 37 + .../test/mjsunit/regress/regress-v8-5697.js | 2 +- .../mjsunit/regress/wasm/regress-709684.js | 78 + .../mjsunit/regress/wasm/regress-712569.js | 20 + .../mjsunit/regress/wasm/regression-02256.js | 2 +- .../mjsunit/regress/wasm/regression-02256b.js | 2 +- .../mjsunit/regress/wasm/regression-6164.js | 19 + .../mjsunit/regress/wasm/regression-647649.js | 5 +- .../mjsunit/regress/wasm/regression-670683.js | 23 +- .../mjsunit/regress/wasm/regression-684858.js | 2 +- .../mjsunit/regress/wasm/regression-699485.js | 2 +- .../mjsunit/regress/wasm/regression-702460.js | 47 + .../mjsunit/regress/wasm/regression-702839.js | 11 + .../mjsunit/regress/wasm/regression-703568.js | 15 + .../mjsunit/regress/wasm/regression-708714.js | 23 + .../mjsunit/regress/wasm/regression-710844.js | 23 + .../mjsunit/regress/wasm/regression-711203.js | 30 + .../regress/wasm/regression-715216-a.js | 12 + .../regress/wasm/regression-715216-b.js | 13 + .../mjsunit/regress/wasm/regression-717056.js | 16 + .../mjsunit/regress/wasm/regression-717194.js | 30 + .../mjsunit/regress/wasm/regression-719175.js | 16 + .../mjsunit/regress/wasm/regression-722445.js | 16 + .../mjsunit/regress/wasm/regression-731351.js | 23 + .../mjsunit/regress/wasm/regression-734108.js | 16 + .../mjsunit/regress/wasm/regression-737069.js | 35 + deps/v8/test/mjsunit/setters-on-elements.js | 6 +- .../shared-function-tier-up-default.js | 33 - .../mjsunit/shared-function-tier-up-turbo.js | 3 +- deps/v8/test/mjsunit/shift-for-integer-div.js | 2 +- deps/v8/test/mjsunit/shifts.js | 2 - deps/v8/test/mjsunit/sin-cos.js | 2 +- .../test/mjsunit/skipping-inner-functions.js | 37 + deps/v8/test/mjsunit/smi-mul-const.js | 2 +- deps/v8/test/mjsunit/smi-mul.js | 2 +- deps/v8/test/mjsunit/stack-traces.js | 2 +- deps/v8/test/mjsunit/string-case.js | 5 +- deps/v8/test/mjsunit/string-externalize.js | 12 +- deps/v8/test/mjsunit/string-split.js | 4 +- .../v8/test/mjsunit/strong-rooted-literals.js | 2 +- deps/v8/test/mjsunit/testcfg.py | 7 + deps/v8/test/mjsunit/tools/profile.js | 10 +- .../tools/tickprocessor-test-func-info.log | 6 +- .../mjsunit/tools/tickprocessor-test.default | 2 +- .../tools/tickprocessor-test.func-info | 12 +- .../mjsunit/tools/tickprocessor-test.gc-state | 2 +- .../tools/tickprocessor-test.ignore-unknown | 2 +- .../test/mjsunit/tools/tickprocessor-test.log | 12 +- .../tools/tickprocessor-test.separate-ic | 2 +- deps/v8/test/mjsunit/tools/tickprocessor.js | 62 +- .../type-profile/collect-type-profile.js | 90 + .../mjsunit/type-profile/regress-707223.js | 8 + deps/v8/test/mjsunit/unary-minus-deopt.js | 2 +- .../wasm/asm-wasm-exception-in-tonumber.js | 58 +- deps/v8/test/mjsunit/wasm/asm-wasm-expr.js | 10 +- .../v8/test/mjsunit/wasm/asm-wasm-literals.js | 67 +- deps/v8/test/mjsunit/wasm/asm-wasm-stack.js | 29 +- deps/v8/test/mjsunit/wasm/asm-wasm.js | 23 +- .../v8/test/mjsunit/wasm/asm-with-wasm-off.js | 4 +- deps/v8/test/mjsunit/wasm/async-compile.js | 72 + .../mjsunit/wasm/compilation-limits-asm.js | 22 + .../test/mjsunit/wasm/compilation-limits.js | 109 + .../wasm/compiled-module-serialization.js | 154 +- deps/v8/test/mjsunit/wasm/errors.js | 24 +- deps/v8/test/mjsunit/wasm/ffi-error.js | 26 + deps/v8/test/mjsunit/wasm/function-names.js | 10 +- deps/v8/test/mjsunit/wasm/gc-buffer.js | 2 +- deps/v8/test/mjsunit/wasm/gc-stress.js | 2 +- deps/v8/test/mjsunit/wasm/huge-memory.js | 76 + deps/v8/test/mjsunit/wasm/indirect-calls.js | 2 +- deps/v8/test/mjsunit/wasm/indirect-tables.js | 31 + .../mjsunit/wasm/instantiate-module-basic.js | 189 +- .../mjsunit/wasm/instantiate-run-basic.js | 20 +- .../v8/test/mjsunit/wasm/interpreter-mixed.js | 78 + deps/v8/test/mjsunit/wasm/interpreter.js | 400 ++ deps/v8/test/mjsunit/wasm/js-api.js | 594 ++- deps/v8/test/mjsunit/wasm/jsapi-harness.js | 45 +- deps/v8/test/mjsunit/wasm/stack.js | 25 +- deps/v8/test/mjsunit/wasm/start-function.js | 10 +- .../wasm/test-wasm-compilation-control.js | 118 - .../wasm/trap-location-with-trap-if.js | 81 - .../test/mjsunit/wasm/wasm-api-overloading.js | 53 + deps/v8/test/mjsunit/wasm/wasm-constants.js | 57 +- .../test/mjsunit/wasm/wasm-module-builder.js | 51 +- deps/v8/test/mjsunit/whitespaces.js | 1 - deps/v8/test/mkgrokdump/BUILD.gn | 27 + deps/v8/test/mkgrokdump/DEPS | 3 + deps/v8/test/mkgrokdump/README | 3 + deps/v8/test/mkgrokdump/mkgrokdump.cc | 133 + deps/v8/test/mkgrokdump/mkgrokdump.gyp | 46 + deps/v8/test/mkgrokdump/mkgrokdump.isolate | 17 + deps/v8/test/mkgrokdump/mkgrokdump.status | 10 + deps/v8/test/mkgrokdump/testcfg.py | 49 + deps/v8/test/mozilla/mozilla.status | 20 +- deps/v8/test/test262/archive.py | 1 - deps/v8/test/test262/detachArrayBuffer.js | 2 +- deps/v8/test/test262/harness-adapt.js | 8 +- deps/v8/test/test262/harness-agent.js | 4 +- deps/v8/test/test262/list.py | 8 +- .../typedarray-arg-src-byteoffset-internal.js | 45 + ...pedarray-arg-target-byteoffset-internal.js | 44 + ...line-html-close-comment-before-function.js | 16 + ...l-close-comment-newline-before-function.js | 15 + deps/v8/test/test262/test262.isolate | 1 + deps/v8/test/test262/test262.status | 211 +- deps/v8/test/test262/testcfg.py | 41 +- deps/v8/test/test262/upstream-local-tests.sh | 2 +- deps/v8/test/unittests/BUILD.gn | 31 +- .../unittests/api/interceptor-unittest.cc | 32 + .../unittests/api/remote-object-unittest.cc | 21 + .../unittests/asmjs/asm-scanner-unittest.cc | 311 ++ .../{wasm => asmjs}/asm-types-unittest.cc | 30 +- .../{wasm => asmjs}/switch-logic-unittest.cc | 0 deps/v8/test/unittests/base/bits-unittest.cc | 22 +- .../test/unittests/base/iterator-unittest.cc | 2 +- .../test/unittests/base/logging-unittest.cc | 15 +- .../base/platform/platform-unittest.cc | 103 + .../unittests/char-predicates-unittest.cc | 7 +- .../compiler-dispatcher-helper.cc | 28 - .../compiler-dispatcher-helper.h | 23 - .../compiler-dispatcher-job-unittest.cc | 133 +- .../compiler-dispatcher-unittest.cc | 364 +- .../optimizing-compile-dispatcher-unittest.cc | 9 +- .../arm/instruction-selector-arm-unittest.cc | 2 + .../instruction-selector-arm64-unittest.cc | 1 + .../compiler/bytecode-analysis-unittest.cc | 82 +- .../compiler/common-operator-unittest.cc | 2 +- .../effect-control-linearizer-unittest.cc | 121 - .../compiler/escape-analysis-unittest.cc | 4 +- .../instruction-selector-ia32-unittest.cc | 78 +- .../compiler/int64-lowering-unittest.cc | 14 +- .../compiler/js-builtin-reducer-unittest.cc | 2 +- .../js-intrinsic-lowering-unittest.cc | 17 + .../compiler/load-elimination-unittest.cc | 4 +- deps/v8/test/unittests/compiler/mips/OWNERS | 7 +- deps/v8/test/unittests/compiler/mips64/OWNERS | 7 +- .../unittests/compiler/node-test-utils.cc | 21 +- .../test/unittests/compiler/node-test-utils.h | 3 +- .../regalloc/register-allocator-unittest.cc | 1 + .../simplified-operator-reducer-unittest.cc | 64 +- .../tail-call-optimization-unittest.cc | 16 +- .../test/unittests/compiler/typer-unittest.cc | 339 +- .../x64/instruction-selector-x64-unittest.cc | 152 +- .../heap/concurrent-marking-deque-unittest.cc | 57 + .../heap/item-parallel-job-unittest.cc | 211 + .../test/unittests/heap/marking-unittest.cc | 54 +- .../v8/test/unittests/heap/spaces-unittest.cc | 56 + .../workstealing-marking-deque-unittest.cc | 33 + .../bytecode-array-builder-unittest.cc | 379 +- .../bytecode-array-writer-unittest.cc | 157 +- .../bytecode-dead-code-optimizer-unittest.cc | 150 - .../interpreter/bytecode-decoder-unittest.cc | 4 +- ...-unittest.cc => bytecode-node-unittest.cc} | 40 +- .../bytecode-peephole-optimizer-unittest.cc | 428 -- .../bytecode-register-optimizer-unittest.cc | 121 +- .../bytecode-source-info-unittest.cc | 52 + .../interpreter-assembler-unittest.cc | 40 +- .../libplatform/default-platform-unittest.cc | 3 +- deps/v8/test/unittests/object-unittest.cc | 76 +- .../unittests/parser/preparser-unittest.cc | 41 + deps/v8/test/unittests/run-all-unittests.cc | 3 +- deps/v8/test/unittests/test-helpers.cc | 60 + deps/v8/test/unittests/test-helpers.h | 66 + deps/v8/test/unittests/test-utils.cc | 16 + deps/v8/test/unittests/test-utils.h | 12 + deps/v8/test/unittests/unittests.gyp | 56 +- deps/v8/test/unittests/unittests.status | 8 - .../unittests/value-serializer-unittest.cc | 366 +- .../wasm/control-transfer-unittest.cc | 213 +- .../test/unittests/wasm/decoder-unittest.cc | 88 +- .../wasm/function-body-decoder-unittest.cc | 123 +- .../unittests/wasm/leb-helper-unittest.cc | 4 +- .../wasm/loop-assignment-analysis-unittest.cc | 10 +- .../unittests/wasm/module-decoder-unittest.cc | 95 +- .../wasm/streaming-decoder-unittest.cc | 498 ++ .../unittests/wasm/wasm-macro-gen-unittest.cc | 3 +- .../unittests/zone/zone-allocator-unittest.cc | 76 + deps/v8/test/wasm-spec-tests/OWNERS | 4 + deps/v8/test/wasm-spec-tests/testcfg.py | 35 + .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 1 + .../test/wasm-spec-tests/wasm-spec-tests.gyp | 26 + .../wasm-spec-tests/wasm-spec-tests.isolate | 15 + .../wasm-spec-tests/wasm-spec-tests.status | 37 + deps/v8/test/webkit/ToNumber-expected.txt | 6 +- .../class-constructor-return-expected.txt | 6 +- .../webkit/class-syntax-extends-expected.txt | 2 +- deps/v8/test/webkit/class-syntax-extends.js | 2 +- .../webkit/class-syntax-super-expected.txt | 8 +- deps/v8/test/webkit/class-syntax-super.js | 4 +- .../fast/js/basic-strict-mode-expected.txt | 4 +- ...s-continue-break-restrictions-expected.txt | 20 +- deps/v8/test/webkit/parseFloat-expected.txt | 2 +- deps/v8/test/webkit/webkit.status | 9 +- .../lib/Parser_cpp.template | 10 +- deps/v8/tools/callstats.html | 161 +- deps/v8/tools/callstats.py | 9 +- deps/v8/tools/codemap.js | 36 +- deps/v8/tools/dev/gen-tags.py | 89 + deps/v8/tools/dev/gm.py | 51 +- deps/v8/tools/disasm.py | 6 +- deps/v8/tools/eval_gc_time.sh | 1 - .../tools/foozzie/testdata/failure_output.txt | 14 +- deps/v8/tools/foozzie/testdata/fuzz-123.js | 1 + deps/v8/tools/foozzie/v8_foozzie.py | 55 +- deps/v8/tools/foozzie/v8_foozzie_test.py | 11 +- deps/v8/tools/foozzie/v8_mock.js | 38 +- deps/v8/tools/foozzie/v8_suppressions.js | 17 +- deps/v8/tools/foozzie/v8_suppressions.py | 87 +- deps/v8/tools/gcmole/gcmole.lua | 2 +- deps/v8/tools/gcmole/run-gcmole.py | 16 +- deps/v8/tools/gdbinit | 25 + deps/v8/tools/gen-postmortem-metadata.py | 60 +- deps/v8/tools/grokdump.py | 877 +++- deps/v8/tools/ic-explorer.html | 367 +- deps/v8/tools/ic-processor.js | 33 +- deps/v8/tools/ignition/linux_perf_report.py | 4 +- .../tools/link_clicker.extension/README.txt | 12 + .../link_clicker.extension/background.js | 74 + .../tools/link_clicker.extension/content.js | 66 + deps/v8/tools/link_clicker.extension/icon.png | Bin 0 -> 230 bytes .../link_clicker.extension/manifest.json | 21 + .../tools/link_clicker.extension/popup.html | 50 + deps/v8/tools/link_clicker.extension/popup.js | 53 + deps/v8/tools/lldbinit | 3 + deps/v8/tools/logreader.js | 2 +- 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/mac-nm | 3 +- deps/v8/tools/memory/lsan/suppressions.txt | 3 - deps/v8/tools/objdump-v8 | 7 +- deps/v8/tools/parser-shell.cc | 6 +- deps/v8/tools/perf-compare.py | 484 ++ deps/v8/tools/perf_tests/chromium_revision | 1 - deps/v8/tools/plot-timer-events | 4 +- deps/v8/tools/presubmit.py | 16 +- deps/v8/tools/profile.js | 201 +- deps/v8/tools/profview/index.html | 115 + deps/v8/tools/profview/profile-utils.js | 594 +++ deps/v8/tools/profview/profview.css | 62 + deps/v8/tools/profview/profview.js | 1240 +++++ deps/v8/tools/release/auto_roll.py | 2 +- deps/v8/tools/release/common_includes.py | 6 +- deps/v8/tools/release/git_recipes.py | 16 +- deps/v8/tools/release/merge_to_branch.py | 12 - deps/v8/tools/release/mergeinfo.py | 32 +- deps/v8/tools/release/script_test.py | 1 - deps/v8/tools/release/test_mergeinfo.py | 45 +- deps/v8/tools/release/test_scripts.py | 36 +- deps/v8/tools/run-tests.py | 39 +- deps/v8/tools/run_perf.py | 35 +- deps/v8/tools/testrunner/local/commands.py | 7 +- deps/v8/tools/testrunner/local/execution.py | 20 +- deps/v8/tools/testrunner/local/progress.py | 52 + deps/v8/tools/testrunner/local/testsuite.py | 2 +- deps/v8/tools/testrunner/local/variants.py | 34 +- deps/v8/tools/testrunner/objects/testcase.py | 5 +- deps/v8/tools/testrunner/testrunner.isolate | 2 +- deps/v8/tools/tick-processor.html | 2 +- deps/v8/tools/tickprocessor-driver.js | 6 +- deps/v8/tools/tickprocessor.js | 111 +- deps/v8/tools/try_perf.py | 2 +- deps/v8/tools/turbolizer/code-view.js | 14 +- deps/v8/tools/turbolizer/disassembly-view.js | 2 +- deps/v8/tools/v8-info.sh | 161 - deps/v8/tools/v8heapconst.py | 618 ++- deps/v8/tools/v8heapconst.py.tmpl | 30 - deps/v8/tools/verify_source_deps.py | 7 + .../tools/{ => wasm}/update-wasm-fuzzers.sh | 36 +- deps/v8/tools/wasm/update-wasm-spec-tests.sh | 30 + deps/v8/tools/whitespace.txt | 3 +- 2174 files changed, 162516 insertions(+), 97981 deletions(-) create mode 100644 deps/v8/include/v8-value-serializer-version.h create mode 100644 deps/v8/src/asmjs/asm-names.h create mode 100644 deps/v8/src/asmjs/asm-parser.cc create mode 100644 deps/v8/src/asmjs/asm-parser.h create mode 100644 deps/v8/src/asmjs/asm-scanner.cc create mode 100644 deps/v8/src/asmjs/asm-scanner.h delete mode 100644 deps/v8/src/asmjs/asm-typer.cc delete mode 100644 deps/v8/src/asmjs/asm-typer.h delete mode 100644 deps/v8/src/asmjs/asm-wasm-builder.cc delete mode 100644 deps/v8/src/asmjs/asm-wasm-builder.h create mode 100644 deps/v8/src/base/export-template.h create mode 100644 deps/v8/src/base/platform/platform-posix.h create mode 100644 deps/v8/src/base/timezone-cache.h rename deps/v8/src/builtins/{builtins-arguments.cc => builtins-arguments-gen.cc} (94%) rename deps/v8/src/builtins/{builtins-arguments.h => builtins-arguments-gen.h} (100%) create mode 100644 deps/v8/src/builtins/builtins-array-gen.cc rename deps/v8/src/builtins/{builtins-async-function.cc => builtins-async-function-gen.cc} (84%) rename deps/v8/src/builtins/{builtins-async.cc => builtins-async-gen.cc} (58%) rename deps/v8/src/builtins/{builtins-async.h => builtins-async-gen.h} (72%) create mode 100644 deps/v8/src/builtins/builtins-async-generator-gen.cc rename deps/v8/src/builtins/{builtins-async-iterator.cc => builtins-async-iterator-gen.cc} (72%) create mode 100644 deps/v8/src/builtins/builtins-boolean-gen.cc create mode 100644 deps/v8/src/builtins/builtins-call-gen.cc create mode 100644 deps/v8/src/builtins/builtins-console-gen.cc create mode 100644 deps/v8/src/builtins/builtins-console.cc rename deps/v8/src/builtins/{builtins-constructor.cc => builtins-constructor-gen.cc} (65%) create mode 100644 deps/v8/src/builtins/builtins-constructor-gen.h create mode 100644 deps/v8/src/builtins/builtins-conversion-gen.cc delete mode 100644 deps/v8/src/builtins/builtins-conversion.cc create mode 100644 deps/v8/src/builtins/builtins-date-gen.cc create mode 100644 deps/v8/src/builtins/builtins-definitions.h create mode 100644 deps/v8/src/builtins/builtins-descriptors.h create mode 100644 deps/v8/src/builtins/builtins-forin-gen.cc create mode 100644 deps/v8/src/builtins/builtins-forin-gen.h create mode 100644 deps/v8/src/builtins/builtins-function-gen.cc rename deps/v8/src/builtins/{builtins-generator.cc => builtins-generator-gen.cc} (68%) create mode 100644 deps/v8/src/builtins/builtins-global-gen.cc rename deps/v8/src/builtins/{builtins-handler.cc => builtins-handler-gen.cc} (61%) rename deps/v8/src/builtins/{builtins-ic.cc => builtins-ic-gen.cc} (86%) create mode 100644 deps/v8/src/builtins/builtins-internal-gen.cc create mode 100644 deps/v8/src/builtins/builtins-interpreter-gen.cc create mode 100644 deps/v8/src/builtins/builtins-intl-gen.cc create mode 100644 deps/v8/src/builtins/builtins-intl.cc create mode 100644 deps/v8/src/builtins/builtins-math-gen.cc create mode 100644 deps/v8/src/builtins/builtins-number-gen.cc create mode 100644 deps/v8/src/builtins/builtins-object-gen.cc delete mode 100644 deps/v8/src/builtins/builtins-object.h rename deps/v8/src/builtins/{builtins-promise.cc => builtins-promise-gen.cc} (85%) rename deps/v8/src/builtins/{builtins-promise.h => builtins-promise-gen.h} (97%) create mode 100644 deps/v8/src/builtins/builtins-regexp-gen.cc rename deps/v8/src/builtins/{builtins-regexp.h => builtins-regexp-gen.h} (70%) create mode 100644 deps/v8/src/builtins/builtins-sharedarraybuffer-gen.cc create mode 100644 deps/v8/src/builtins/builtins-string-gen.cc create mode 100644 deps/v8/src/builtins/builtins-string-gen.h create mode 100644 deps/v8/src/builtins/builtins-symbol-gen.cc create mode 100644 deps/v8/src/builtins/builtins-typedarray-gen.cc create mode 100644 deps/v8/src/builtins/builtins-utils-gen.h rename deps/v8/src/builtins/{builtins-wasm.cc => builtins-wasm-gen.cc} (95%) create mode 100644 deps/v8/src/builtins/setup-builtins-internal.cc create mode 100644 deps/v8/src/callable.h create mode 100644 deps/v8/src/code-stubs-utils.h delete mode 100644 deps/v8/src/compiler/graph-replay.cc delete mode 100644 deps/v8/src/compiler/graph-replay.h delete mode 100644 deps/v8/src/context-measure.cc delete mode 100644 deps/v8/src/context-measure.h create mode 100644 deps/v8/src/d8-console.cc create mode 100644 deps/v8/src/d8-console.h create mode 100644 deps/v8/src/heap/concurrent-marking-deque.h create mode 100644 deps/v8/src/heap/concurrent-marking.cc create mode 100644 deps/v8/src/heap/concurrent-marking.h create mode 100644 deps/v8/src/heap/item-parallel-job.h create mode 100644 deps/v8/src/heap/sequential-marking-deque.cc create mode 100644 deps/v8/src/heap/sequential-marking-deque.h create mode 100644 deps/v8/src/heap/workstealing-marking-deque.h create mode 100644 deps/v8/src/ia32/sse-instr.h create mode 100644 deps/v8/src/ic/binary-op-assembler.cc create mode 100644 deps/v8/src/ic/binary-op-assembler.h delete mode 100644 deps/v8/src/interpreter/bytecode-dead-code-optimizer.cc delete mode 100644 deps/v8/src/interpreter/bytecode-dead-code-optimizer.h create mode 100644 deps/v8/src/interpreter/bytecode-jump-table.h rename deps/v8/src/interpreter/{bytecode-pipeline.cc => bytecode-node.cc} (78%) rename deps/v8/src/interpreter/{bytecode-pipeline.h => bytecode-node.h} (61%) delete mode 100644 deps/v8/src/interpreter/bytecode-peephole-optimizer.cc delete mode 100644 deps/v8/src/interpreter/bytecode-peephole-optimizer.h delete mode 100644 deps/v8/src/interpreter/bytecode-peephole-table.h create mode 100644 deps/v8/src/interpreter/bytecode-source-info.cc create mode 100644 deps/v8/src/interpreter/bytecode-source-info.h create mode 100644 deps/v8/src/interpreter/interpreter-generator.cc create mode 100644 deps/v8/src/interpreter/interpreter-generator.h create mode 100644 deps/v8/src/interpreter/interpreter-intrinsics-generator.cc create mode 100644 deps/v8/src/interpreter/interpreter-intrinsics-generator.h delete mode 100644 deps/v8/src/interpreter/mkpeephole.cc create mode 100644 deps/v8/src/interpreter/setup-interpreter-internal.cc create mode 100644 deps/v8/src/interpreter/setup-interpreter.h create mode 100644 deps/v8/src/intl.cc create mode 100644 deps/v8/src/intl.h delete mode 100644 deps/v8/src/js/arraybuffer.js delete mode 100644 deps/v8/src/js/harmony-atomics.js delete mode 100644 deps/v8/src/js/harmony-string-padding.js rename deps/v8/src/js/{i18n.js => intl.js} (89%) create mode 100644 deps/v8/src/js/max-min.js delete mode 100644 deps/v8/src/js/runtime.js create mode 100644 deps/v8/src/macro-assembler-inl.h create mode 100644 deps/v8/src/objects/code-cache-inl.h create mode 100644 deps/v8/src/objects/code-cache.h create mode 100644 deps/v8/src/objects/compilation-cache-inl.h create mode 100644 deps/v8/src/objects/compilation-cache.h create mode 100644 deps/v8/src/objects/descriptor-array.h create mode 100644 deps/v8/src/objects/dictionary.h create mode 100644 deps/v8/src/objects/frame-array-inl.h create mode 100644 deps/v8/src/objects/frame-array.h create mode 100644 deps/v8/src/objects/hash-table.h rename deps/v8/src/{i18n.cc => objects/intl-objects.cc} (70%) rename deps/v8/src/{i18n.h => objects/intl-objects.h} (75%) create mode 100644 deps/v8/src/objects/map-inl.h create mode 100644 deps/v8/src/objects/map.h create mode 100644 deps/v8/src/objects/string-table.h delete mode 100644 deps/v8/src/parsing/duplicate-finder.cc rename deps/v8/src/runtime/{runtime-i18n.cc => runtime-intl.cc} (64%) create mode 100644 deps/v8/src/setup-isolate-deserialize.cc create mode 100644 deps/v8/src/setup-isolate-full.cc create mode 100644 deps/v8/src/setup-isolate.h create mode 100644 deps/v8/src/string-hasher-inl.h create mode 100644 deps/v8/src/string-hasher.h create mode 100644 deps/v8/src/trap-handler/DEPS create mode 100644 deps/v8/src/trap-handler/OWNERS create mode 100644 deps/v8/src/trap-handler/handler-inside.cc create mode 100644 deps/v8/src/trap-handler/handler-outside.cc create mode 100644 deps/v8/src/trap-handler/handler-shared.cc create mode 100644 deps/v8/src/trap-handler/trap-handler-internal.h create mode 100644 deps/v8/src/visitors.cc create mode 100644 deps/v8/src/visitors.h create mode 100644 deps/v8/src/wasm/local-decl-encoder.cc create mode 100644 deps/v8/src/wasm/local-decl-encoder.h create mode 100644 deps/v8/src/wasm/streaming-decoder.cc create mode 100644 deps/v8/src/wasm/streaming-decoder.h delete mode 100644 deps/v8/test/cctest/asmjs/OWNERS delete mode 100644 deps/v8/test/cctest/asmjs/test-asm-typer.cc create mode 100644 deps/v8/test/cctest/heap/test-concurrent-marking.cc create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/CompareNil.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden create mode 100644 deps/v8/test/cctest/setup-isolate-for-tests.cc create mode 100644 deps/v8/test/cctest/setup-isolate-for-tests.h create mode 100644 deps/v8/test/cctest/test-simulator-arm64.cc delete mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-simd-lowering.cc rename deps/v8/{src => test/common}/wasm/wasm-macro-gen.h (83%) delete mode 100644 deps/v8/test/debugger/debug/ignition/debug-break-mixed-stack.js delete mode 100644 deps/v8/test/debugger/debug/ignition/debug-step-mixed-stack.js create mode 100644 deps/v8/test/fuzzer/wasm-fuzzer-common.cc create mode 100644 deps/v8/test/fuzzer/wasm-fuzzer-common.h delete mode 100644 deps/v8/test/fuzzer/wasm-section-fuzzers.cc delete mode 100644 deps/v8/test/fuzzer/wasm-section-fuzzers.h delete mode 100644 deps/v8/test/fuzzer/wasm.tar.gz.sha1 create mode 100644 deps/v8/test/fuzzer/wasm/foo delete mode 100644 deps/v8/test/fuzzer/wasm_asmjs.tar.gz.sha1 create mode 100644 deps/v8/test/fuzzer/wasm_asmjs/foo create mode 100644 deps/v8/test/fuzzer/wasm_asmjs_corpus.tar.gz.sha1 create mode 100644 deps/v8/test/fuzzer/wasm_corpus.tar.gz.sha1 delete mode 100644 deps/v8/test/inspector/console/memory-setter-in-strict-mode-expected.txt delete mode 100644 deps/v8/test/inspector/console/memory-setter-in-strict-mode.js create mode 100644 deps/v8/test/inspector/debugger/async-for-await-of-promise-stack-expected.txt create mode 100644 deps/v8/test/inspector/debugger/async-for-await-of-promise-stack.js delete mode 100644 deps/v8/test/inspector/debugger/async-stacks-limit-expected.txt delete mode 100644 deps/v8/test/inspector/debugger/async-stacks-limit.js create mode 100644 deps/v8/test/inspector/debugger/caught-exception-from-framework-inside-async-expected.txt create mode 100644 deps/v8/test/inspector/debugger/caught-exception-from-framework-inside-async.js create mode 100644 deps/v8/test/inspector/debugger/collect-obsolete-async-tasks-expected.txt create mode 100644 deps/v8/test/inspector/debugger/collect-obsolete-async-tasks.js create mode 100644 deps/v8/test/inspector/debugger/collect-old-async-call-chains-expected.txt create mode 100644 deps/v8/test/inspector/debugger/collect-old-async-call-chains.js create mode 100644 deps/v8/test/inspector/debugger/continue-to-location-target-call-frames-expected.txt create mode 100644 deps/v8/test/inspector/debugger/continue-to-location-target-call-frames.js create mode 100644 deps/v8/test/inspector/debugger/destory-in-break-program-expected.txt create mode 100644 deps/v8/test/inspector/debugger/destory-in-break-program.js create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-lazy-error-expected.txt create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-lazy-error.js create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-master-expected.txt create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-master.js create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-restrict-to-function-expected.txt create mode 100644 deps/v8/test/inspector/debugger/get-possible-breakpoints-restrict-to-function.js create mode 100644 deps/v8/test/inspector/debugger/max-async-call-chain-depth-expected.txt create mode 100644 deps/v8/test/inspector/debugger/max-async-call-chain-depth.js create mode 100644 deps/v8/test/inspector/debugger/pause-expected.txt create mode 100644 deps/v8/test/inspector/debugger/pause.js create mode 100644 deps/v8/test/inspector/debugger/promise-chain-when-limit-hit-expected.txt create mode 100644 deps/v8/test/inspector/debugger/promise-chain-when-limit-hit.js create mode 100644 deps/v8/test/inspector/debugger/protocol-string-to-double-locale-expected.txt create mode 100644 deps/v8/test/inspector/debugger/protocol-string-to-double-locale.js create mode 100644 deps/v8/test/inspector/debugger/resources/break-locations.js create mode 100644 deps/v8/test/inspector/debugger/restore-breakpoint-expected.txt create mode 100644 deps/v8/test/inspector/debugger/restore-breakpoint.js create mode 100644 deps/v8/test/inspector/debugger/return-break-locations-expected.txt create mode 100644 deps/v8/test/inspector/debugger/return-break-locations.js create mode 100644 deps/v8/test/inspector/debugger/schedule-step-into-async-expected.txt create mode 100644 deps/v8/test/inspector/debugger/schedule-step-into-async-set-timeout-expected.txt create mode 100644 deps/v8/test/inspector/debugger/schedule-step-into-async-set-timeout.js create mode 100644 deps/v8/test/inspector/debugger/schedule-step-into-async.js create mode 100644 deps/v8/test/inspector/debugger/script-end-location-expected.txt create mode 100644 deps/v8/test/inspector/debugger/script-end-location.js create mode 100644 deps/v8/test/inspector/debugger/script-with-negative-offset-expected.txt create mode 100644 deps/v8/test/inspector/debugger/script-with-negative-offset.js create mode 100644 deps/v8/test/inspector/debugger/set-async-call-stack-depth-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-async-call-stack-depth.js create mode 100644 deps/v8/test/inspector/debugger/step-into-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-into.js create mode 100644 deps/v8/test/inspector/debugger/step-out-async-await-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-out-async-await.js create mode 100644 deps/v8/test/inspector/debugger/step-over-another-context-group-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-over-another-context-group.js create mode 100644 deps/v8/test/inspector/debugger/step-snapshot-expected.txt create mode 100644 deps/v8/test/inspector/debugger/step-snapshot.js create mode 100644 deps/v8/test/inspector/debugger/stepping-and-break-program-api-expected.txt create mode 100644 deps/v8/test/inspector/debugger/stepping-and-break-program-api.js create mode 100644 deps/v8/test/inspector/debugger/stepping-ignores-injected-script-expected.txt create mode 100644 deps/v8/test/inspector/debugger/stepping-ignores-injected-script.js create mode 100644 deps/v8/test/inspector/debugger/stepping-tail-call-expected.txt create mode 100644 deps/v8/test/inspector/debugger/stepping-tail-call.js create mode 100644 deps/v8/test/inspector/debugger/stepping-with-exposed-injected-script-expected.txt create mode 100644 deps/v8/test/inspector/debugger/stepping-with-exposed-injected-script.js create mode 100644 deps/v8/test/inspector/debugger/stepping-with-natives-and-frameworks-expected.txt create mode 100644 deps/v8/test/inspector/debugger/stepping-with-natives-and-frameworks.js create mode 100644 deps/v8/test/inspector/debugger/wasm-imports-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-imports.js create mode 100644 deps/v8/test/inspector/isolate-data.cc create mode 100644 deps/v8/test/inspector/isolate-data.h create mode 100644 deps/v8/test/inspector/runtime/client-console-api-message-expected.txt create mode 100644 deps/v8/test/inspector/runtime/client-console-api-message.js create mode 100644 deps/v8/test/inspector/runtime/command-line-api-expected.txt create mode 100644 deps/v8/test/inspector/runtime/command-line-api.js create mode 100644 deps/v8/test/inspector/runtime/console-memory-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-memory.js create mode 100644 deps/v8/test/inspector/runtime/console-spec-expected.txt create mode 100644 deps/v8/test/inspector/runtime/console-spec.js create mode 100644 deps/v8/test/inspector/runtime/create-context-expected.txt create mode 100644 deps/v8/test/inspector/runtime/create-context.js create mode 100644 deps/v8/test/inspector/runtime/runtime-evaluate-with-dirty-context-expected.txt create mode 100644 deps/v8/test/inspector/runtime/runtime-evaluate-with-dirty-context.js create mode 100644 deps/v8/test/inspector/runtime/runtime-restore-expected.txt create mode 100644 deps/v8/test/inspector/runtime/runtime-restore.js create mode 100644 deps/v8/test/js-perf-test/Array/filter.js create mode 100644 deps/v8/test/js-perf-test/Array/map.js create mode 100644 deps/v8/test/js-perf-test/Array/run.js create mode 100644 deps/v8/test/js-perf-test/BytecodeHandlers/compare.js create mode 100644 deps/v8/test/js-perf-test/BytecodeHandlers/run.js create mode 100644 deps/v8/test/js-perf-test/ForLoops/for_loop.js create mode 100644 deps/v8/test/js-perf-test/ForLoops/run.js create mode 100644 deps/v8/test/js-perf-test/Modules/basic-export.js create mode 100644 deps/v8/test/js-perf-test/Modules/basic-import.js create mode 100644 deps/v8/test/js-perf-test/Modules/basic-namespace.js create mode 100644 deps/v8/test/js-perf-test/Modules/run.js create mode 100644 deps/v8/test/js-perf-test/Modules/value.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/classes/babel.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/classes/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/classes/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_add/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_add/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_lookup/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_lookup/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_object/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_set_object/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_string/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/map_string/es6.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super/babel.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super/es5.js create mode 100644 deps/v8/test/js-perf-test/SixSpeed/super/es6.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/construct-all-typedarrays.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/construct-same-typedarray.js create mode 100644 deps/v8/test/js-perf-test/TypedArrays/construct-typedarray.js create mode 100644 deps/v8/test/message/README.md create mode 100644 deps/v8/test/message/asm-assignment-undeclared.js create mode 100644 deps/v8/test/message/asm-assignment-undeclared.out create mode 100644 deps/v8/test/message/asm-function-mismatch-def.js create mode 100644 deps/v8/test/message/asm-function-mismatch-def.out create mode 100644 deps/v8/test/message/asm-function-mismatch-use.js create mode 100644 deps/v8/test/message/asm-function-mismatch-use.out create mode 100644 deps/v8/test/message/asm-function-redefined.js create mode 100644 deps/v8/test/message/asm-function-redefined.out create mode 100644 deps/v8/test/message/asm-function-undefined.js create mode 100644 deps/v8/test/message/asm-function-undefined.out create mode 100644 deps/v8/test/message/asm-function-variable-collision.js create mode 100644 deps/v8/test/message/asm-function-variable-collision.out create mode 100644 deps/v8/test/message/asm-import-wrong-annotation.js create mode 100644 deps/v8/test/message/asm-import-wrong-annotation.out create mode 100644 deps/v8/test/message/asm-import-wrong-object.js create mode 100644 deps/v8/test/message/asm-import-wrong-object.out create mode 100644 deps/v8/test/message/asm-linking-bogus-heap.js create mode 100644 deps/v8/test/message/asm-linking-bogus-heap.out create mode 100644 deps/v8/test/message/asm-linking-bogus-stdlib.js create mode 100644 deps/v8/test/message/asm-linking-bogus-stdlib.out create mode 100644 deps/v8/test/message/asm-linking-missing-heap.js create mode 100644 deps/v8/test/message/asm-linking-missing-heap.out create mode 100644 deps/v8/test/message/asm-missing-parameter-annotation.js create mode 100644 deps/v8/test/message/asm-missing-parameter-annotation.out create mode 100644 deps/v8/test/message/asm-missing-return-annotation.js create mode 100644 deps/v8/test/message/asm-missing-return-annotation.out create mode 100644 deps/v8/test/message/asm-table-mismatch-def.js create mode 100644 deps/v8/test/message/asm-table-mismatch-def.out create mode 100644 deps/v8/test/message/asm-table-mismatch-use.js create mode 100644 deps/v8/test/message/asm-table-mismatch-use.out create mode 100644 deps/v8/test/message/asm-table-redefined.js create mode 100644 deps/v8/test/message/asm-table-redefined.out create mode 100644 deps/v8/test/message/asm-table-undefined.js create mode 100644 deps/v8/test/message/asm-table-undefined.out create mode 100644 deps/v8/test/message/asm-table-variable-collision.js create mode 100644 deps/v8/test/message/asm-table-variable-collision.out create mode 100644 deps/v8/test/message/async-arrow-invalid-rest-2.js create mode 100644 deps/v8/test/message/async-arrow-invalid-rest-2.out create mode 100644 deps/v8/test/message/async-arrow-invalid-rest.js create mode 100644 deps/v8/test/message/async-arrow-invalid-rest.out create mode 100644 deps/v8/test/message/async-arrow-param-after-rest.js create mode 100644 deps/v8/test/message/async-arrow-param-after-rest.out create mode 100644 deps/v8/test/message/class-spread-property.js create mode 100644 deps/v8/test/message/class-spread-property.out create mode 100644 deps/v8/test/message/console.js create mode 100644 deps/v8/test/message/console.out create mode 100644 deps/v8/test/message/function-param-after-rest.js create mode 100644 deps/v8/test/message/function-param-after-rest.out create mode 100644 deps/v8/test/message/get-iterator1.js create mode 100644 deps/v8/test/message/get-iterator1.out create mode 100644 deps/v8/test/message/let-asi-await-nonasync.js create mode 100644 deps/v8/test/message/let-asi-await-nonasync.out create mode 100644 deps/v8/test/message/let-asi-yield-nongenerator.js create mode 100644 deps/v8/test/message/let-asi-yield-nongenerator.out create mode 100644 deps/v8/test/message/modules-cycle5.js create mode 100644 deps/v8/test/message/modules-cycle5.out create mode 100644 deps/v8/test/message/modules-cycle6.js create mode 100644 deps/v8/test/message/modules-cycle6.out create mode 100644 deps/v8/test/message/modules-skip-cycle5.js create mode 100644 deps/v8/test/message/modules-skip-cycle6.js create mode 100644 deps/v8/test/message/regress/regress-crbug-691194.js create mode 100644 deps/v8/test/message/regress/regress-crbug-691194.out create mode 100644 deps/v8/test/mjsunit/asm/asm-memory.js create mode 100644 deps/v8/test/mjsunit/asm/asm-stdlib.js create mode 100644 deps/v8/test/mjsunit/asm/call-annotation.js create mode 100644 deps/v8/test/mjsunit/asm/call-collisions.js create mode 100644 deps/v8/test/mjsunit/asm/call-stdlib.js create mode 100644 deps/v8/test/mjsunit/asm/global-imports.js create mode 100644 deps/v8/test/mjsunit/asm/immutable.js create mode 100644 deps/v8/test/mjsunit/asm/regress-718745.js create mode 100644 deps/v8/test/mjsunit/asm/return-types.js create mode 100644 deps/v8/test/mjsunit/basic-promise.js create mode 100644 deps/v8/test/mjsunit/compiler/array-constructor.js create mode 100644 deps/v8/test/mjsunit/compiler/constructor-inlining-no-harmony-restrict-constructor-return.js create mode 100644 deps/v8/test/mjsunit/compiler/constructor-inlining.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-13.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-16.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-17.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-phi-type-2.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-phi-type.js create mode 100644 deps/v8/test/mjsunit/compiler/object-getprototypeof.js create mode 100644 deps/v8/test/mjsunit/compiler/reflect-getprototypeof.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-693425.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-694088.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-700883.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-713367.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-714483.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-715204.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-715651.js delete mode 100644 deps/v8/test/mjsunit/compiler/regress-strict-equals-mixed-feedback.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-v8-6077.js create mode 100644 deps/v8/test/mjsunit/compiler/rest-parameters.js create mode 100644 deps/v8/test/mjsunit/deopt-recursive-eager-once.js create mode 100644 deps/v8/test/mjsunit/deopt-recursive-lazy-once.js create mode 100644 deps/v8/test/mjsunit/deopt-recursive-soft-once.js create mode 100644 deps/v8/test/mjsunit/deopt-unlinked.js create mode 100644 deps/v8/test/mjsunit/duplicate-parameters.js create mode 100644 deps/v8/test/mjsunit/es6/generator-let-asi.js create mode 100644 deps/v8/test/mjsunit/es6/global-proto-proxy.js create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-6098.js create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-6322.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-construct-by-array-like-prototype-element-added.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-construct-by-array-like.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-construct-by-buffer-ordering.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-construct-offset-not-smi.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-map.js create mode 100644 deps/v8/test/mjsunit/es7/regexp-ui-word.js create mode 100644 deps/v8/test/mjsunit/es8/async-let-asi.js create mode 100644 deps/v8/test/mjsunit/es8/constructor-returning-primitive.js create mode 100644 deps/v8/test/mjsunit/harmony/async-generators-basic.js create mode 100644 deps/v8/test/mjsunit/harmony/atomics-value-check.js rename deps/v8/test/mjsunit/{regress/regress-319120.js => harmony/global-accessors-strict.js} (73%) create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-1.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-10.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-11.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-12.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-13.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-14.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-15.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-2.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-3.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-4.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-5.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-6.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-7.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-8.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-import-9.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-1.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-2.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-3.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-4.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-5.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-6.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-7.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-8.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-9.js create mode 100644 deps/v8/test/mjsunit/harmony/modules-skip-empty.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-dotall-disabled.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-dotall.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-6100.js create mode 100644 deps/v8/test/mjsunit/heapObjectVerify.js create mode 100644 deps/v8/test/mjsunit/icu-date-lord-howe.js create mode 100644 deps/v8/test/mjsunit/icu-date-to-string.js delete mode 100644 deps/v8/test/mjsunit/ignition/regress-5768.js create mode 100644 deps/v8/test/mjsunit/json-errors.js create mode 100644 deps/v8/test/mjsunit/keyed-store-generic.js delete mode 100644 deps/v8/test/mjsunit/minmax-simple.js create mode 100644 deps/v8/test/mjsunit/modules-cycle.js create mode 100644 deps/v8/test/mjsunit/modules-skip-cycle.js create mode 100644 deps/v8/test/mjsunit/never-baseline.js create mode 100644 deps/v8/test/mjsunit/number-isnan-opt.js create mode 100644 deps/v8/test/mjsunit/object-keys.js create mode 100644 deps/v8/test/mjsunit/parse-tasks.js create mode 100644 deps/v8/test/mjsunit/regress-6223.js create mode 100644 deps/v8/test/mjsunit/regress-707410.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-5380.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6082.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6142.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6186.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6196.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6203.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6248.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6280.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6288.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6298.js create mode 100644 deps/v8/test/mjsunit/regress/regress-6337.js create mode 100644 deps/v8/test/mjsunit/regress/regress-641091.js create mode 100644 deps/v8/test/mjsunit/regress/regress-696332.js create mode 100644 deps/v8/test/mjsunit/regress/regress-698790.js create mode 100644 deps/v8/test/mjsunit/regress/regress-705934.js create mode 100644 deps/v8/test/mjsunit/regress/regress-707066.js create mode 100644 deps/v8/test/mjsunit/regress/regress-707187.js create mode 100644 deps/v8/test/mjsunit/regress/regress-707675.js create mode 100644 deps/v8/test/mjsunit/regress/regress-708598.js create mode 100644 deps/v8/test/mjsunit/regress/regress-709029.js create mode 100644 deps/v8/test/mjsunit/regress/regress-709782.js create mode 100644 deps/v8/test/mjsunit/regress/regress-711165.js create mode 100644 deps/v8/test/mjsunit/regress/regress-715582.js create mode 100644 deps/v8/test/mjsunit/regress/regress-716044.js create mode 100644 deps/v8/test/mjsunit/regress/regress-718285.js create mode 100644 deps/v8/test/mjsunit/regress/regress-718891.js create mode 100644 deps/v8/test/mjsunit/regress/regress-719380.js create mode 100644 deps/v8/test/mjsunit/regress/regress-722978.js create mode 100644 deps/v8/test/mjsunit/regress/regress-725858.js create mode 100644 deps/v8/test/mjsunit/regress/regress-726636.js create mode 100644 deps/v8/test/mjsunit/regress/regress-727218.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-688567.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-688734.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-691687.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-696622.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-697017.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-698607.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-699282.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-700678.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-700733.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-702793.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-702798.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-703610.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-707580.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-708050-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-708050-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-709537.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-709753.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-711166.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-712802.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-714696.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-714872.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-714971.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-714981.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-715151.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-715404.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-715455.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-715862.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-716520.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-716804.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-716912.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-718779.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-719479.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-721835.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-722756.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-723132.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-723455.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-736451.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-736575.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-738763.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-740803.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-747979.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-748539.js create mode 100644 deps/v8/test/mjsunit/regress/regress-unlink-closures-on-deopt.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-709684.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-712569.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-6164.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-702460.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-702839.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-703568.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-708714.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-710844.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-711203.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-715216-a.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-715216-b.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-717056.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-717194.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-719175.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-722445.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-731351.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-734108.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regression-737069.js delete mode 100644 deps/v8/test/mjsunit/shared-function-tier-up-default.js create mode 100644 deps/v8/test/mjsunit/skipping-inner-functions.js create mode 100644 deps/v8/test/mjsunit/type-profile/collect-type-profile.js create mode 100644 deps/v8/test/mjsunit/type-profile/regress-707223.js create mode 100644 deps/v8/test/mjsunit/wasm/async-compile.js create mode 100644 deps/v8/test/mjsunit/wasm/compilation-limits-asm.js create mode 100644 deps/v8/test/mjsunit/wasm/compilation-limits.js create mode 100644 deps/v8/test/mjsunit/wasm/huge-memory.js create mode 100644 deps/v8/test/mjsunit/wasm/interpreter-mixed.js create mode 100644 deps/v8/test/mjsunit/wasm/interpreter.js delete mode 100644 deps/v8/test/mjsunit/wasm/test-wasm-compilation-control.js delete mode 100644 deps/v8/test/mjsunit/wasm/trap-location-with-trap-if.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-api-overloading.js create mode 100644 deps/v8/test/mkgrokdump/BUILD.gn create mode 100644 deps/v8/test/mkgrokdump/DEPS create mode 100644 deps/v8/test/mkgrokdump/README create mode 100644 deps/v8/test/mkgrokdump/mkgrokdump.cc create mode 100644 deps/v8/test/mkgrokdump/mkgrokdump.gyp create mode 100644 deps/v8/test/mkgrokdump/mkgrokdump.isolate create mode 100644 deps/v8/test/mkgrokdump/mkgrokdump.status create mode 100644 deps/v8/test/mkgrokdump/testcfg.py create mode 100644 deps/v8/test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-src-byteoffset-internal.js create mode 100644 deps/v8/test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js create mode 100644 deps/v8/test/test262/local-tests/test/language/module-code/comment-single-line-html-close-comment-before-function.js create mode 100644 deps/v8/test/test262/local-tests/test/language/module-code/comment-single-line-html-close-comment-newline-before-function.js create mode 100644 deps/v8/test/unittests/api/interceptor-unittest.cc create mode 100644 deps/v8/test/unittests/asmjs/asm-scanner-unittest.cc rename deps/v8/test/unittests/{wasm => asmjs}/asm-types-unittest.cc (97%) rename deps/v8/test/unittests/{wasm => asmjs}/switch-logic-unittest.cc (100%) delete mode 100644 deps/v8/test/unittests/compiler-dispatcher/compiler-dispatcher-helper.cc delete mode 100644 deps/v8/test/unittests/compiler-dispatcher/compiler-dispatcher-helper.h create mode 100644 deps/v8/test/unittests/heap/concurrent-marking-deque-unittest.cc create mode 100644 deps/v8/test/unittests/heap/item-parallel-job-unittest.cc create mode 100644 deps/v8/test/unittests/heap/spaces-unittest.cc create mode 100644 deps/v8/test/unittests/heap/workstealing-marking-deque-unittest.cc delete mode 100644 deps/v8/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc rename deps/v8/test/unittests/interpreter/{bytecode-pipeline-unittest.cc => bytecode-node-unittest.cc} (78%) delete mode 100644 deps/v8/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/bytecode-source-info-unittest.cc create mode 100644 deps/v8/test/unittests/parser/preparser-unittest.cc create mode 100644 deps/v8/test/unittests/test-helpers.cc create mode 100644 deps/v8/test/unittests/test-helpers.h create mode 100644 deps/v8/test/unittests/wasm/streaming-decoder-unittest.cc create mode 100644 deps/v8/test/unittests/zone/zone-allocator-unittest.cc create mode 100644 deps/v8/test/wasm-spec-tests/OWNERS create mode 100644 deps/v8/test/wasm-spec-tests/testcfg.py create mode 100644 deps/v8/test/wasm-spec-tests/tests.tar.gz.sha1 create mode 100644 deps/v8/test/wasm-spec-tests/wasm-spec-tests.gyp create mode 100644 deps/v8/test/wasm-spec-tests/wasm-spec-tests.isolate create mode 100644 deps/v8/test/wasm-spec-tests/wasm-spec-tests.status create mode 100755 deps/v8/tools/dev/gen-tags.py create mode 100644 deps/v8/tools/link_clicker.extension/README.txt create mode 100644 deps/v8/tools/link_clicker.extension/background.js create mode 100644 deps/v8/tools/link_clicker.extension/content.js create mode 100644 deps/v8/tools/link_clicker.extension/icon.png create mode 100644 deps/v8/tools/link_clicker.extension/manifest.json create mode 100644 deps/v8/tools/link_clicker.extension/popup.html create mode 100644 deps/v8/tools/link_clicker.extension/popup.js mode change 100644 => 100755 deps/v8/tools/lldbinit create mode 100755 deps/v8/tools/perf-compare.py delete mode 100644 deps/v8/tools/perf_tests/chromium_revision create mode 100644 deps/v8/tools/profview/index.html create mode 100644 deps/v8/tools/profview/profile-utils.js create mode 100644 deps/v8/tools/profview/profview.css create mode 100644 deps/v8/tools/profview/profview.js mode change 100644 => 100755 deps/v8/tools/release/test_scripts.py delete mode 100755 deps/v8/tools/v8-info.sh delete mode 100644 deps/v8/tools/v8heapconst.py.tmpl rename deps/v8/tools/{ => wasm}/update-wasm-fuzzers.sh (59%) create mode 100755 deps/v8/tools/wasm/update-wasm-spec-tests.sh diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index 8088214daa951b..bcec3768f398dc 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -1,3 +1,5 @@ +#*# +*.Makefile *.a *.exe *.idb @@ -18,9 +20,9 @@ *.vcxproj *.vcxproj.filters *.xcodeproj -#*# *~ .#* +.*.sw? .cpplint-cache .cproject .d8_history @@ -30,26 +32,23 @@ .project .pydevproject .settings -.*.sw? -bsuite -compile_commands.json -d8 -d8_g -gccauses -gcsuspects -shell -shell_g /_* /build -/gypfiles/win_toolchain.json /buildtools +/gypfiles/win_toolchain.json /hydrogen.cfg /obj /out /out.gn /perf.data /perf.data.old +/src/inspector/build/closure-compiler +/src/inspector/build/closure-compiler.tar.gz /test/benchmarks/data +/test/fuzzer/wasm_corpus +/test/fuzzer/wasm_corpus.tar.gz +/test/fuzzer/wasm_asmjs_corpus +/test/fuzzer/wasm_asmjs_corpus.tar.gz /test/mozilla/data /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz @@ -57,6 +56,9 @@ shell_g /test/test262/data /test/test262/data.tar /test/test262/harness +/test/wasm-js +/test/wasm-spec-tests/tests +/test/wasm-spec-tests/tests.tar.gz /testing/gmock /testing/gtest/* !/testing/gtest/include @@ -81,26 +83,26 @@ shell_g /tools/swarming_client /tools/visual_studio/Debug /tools/visual_studio/Release -/test/fuzzer/wasm -/test/fuzzer/wasm_asmjs /v8.log.ll /xcodebuild -TAGS -*.Makefile -GTAGS +GPATH GRTAGS GSYMS -GPATH -tags +GTAGS +TAGS +bsuite +compile_commands.json +d8 +d8_g +gccauses +gcsuspects gtags.files +shell +shell_g +tags turbo*.cfg turbo*.dot turbo*.json v8.ignition_dispatches_table.json -/test/fuzzer/wasm.tar.gz -/test/fuzzer/wasm_asmjs.tar.gz -/src/inspector/build/closure-compiler.tar.gz -/src/inspector/build/closure-compiler -/test/wasm-js !/third_party/jinja2 !/third_party/markupsafe diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 756d1dc985e6ad..07cf31914431e0 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -1,4 +1,4 @@ -# Below is a list of people and organizations that have contributed +# Below is a list of people and organizations that have contributed # to the V8 project. Names should be added to the list like so: # # Name/Organization @@ -70,6 +70,7 @@ Hirofumi Mako Honggyu Kim Ioseb Dzmanashvili Isiah Meadows +Jaime Bernardo Jan de Mooij Jay Freeman James Pike @@ -82,6 +83,7 @@ JunHo Seo Kang-Hao (Kenny) Lu Karl Skomski Kevin Gibbons +Loo Rong Jie Luis Reis Luke Zarko Maciej Małecki diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 6f656f69582762..80d6f3413302c4 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -5,6 +5,7 @@ import("//build/config/android/config.gni") import("//build/config/arm.gni") import("//build/config/dcheck_always_on.gni") +import("//build/config/host_byteorder.gni") import("//build/config/mips.gni") import("//build/config/sanitizers/sanitizers.gni") @@ -20,6 +21,12 @@ declare_args() { # Print to stdout on Android. v8_android_log_stdout = false + # Sets -DV8_ENABLE_FUTURE. + v8_enable_future = false + + # Sets -DV8_DISABLE_TURBO. + v8_disable_turbo = false + # Sets -DVERIFY_HEAP. v8_enable_verify_heap = "" @@ -63,12 +70,18 @@ declare_args() { # Sets -dOBJECT_PRINT. v8_enable_object_print = "" - # Sets -dTRACE_MAPS. + # Sets -dV8_TRACE_MAPS. v8_enable_trace_maps = "" # Sets -dV8_ENABLE_CHECKS. v8_enable_v8_checks = "" + # Sets -dV8_TRACE_IGNITION. + v8_enable_trace_ignition = false + + # Sets -dV8_CONCURRENT_MARKING + v8_enable_concurrent_marking = false + # With post mortem support enabled, metadata is embedded into libv8 that # describes various parameters of the VM for use by debuggers. See # tools/gen-postmortem-metadata.py for details. @@ -125,7 +138,6 @@ if (v8_enable_v8_checks == "") { # snapshots. is_target_simulator = target_cpu != v8_target_cpu -v8_generated_peephole_source = "$target_gen_dir/bytecode-peephole-table.cc" v8_random_seed = "314159265" v8_toolset_for_shell = "host" @@ -178,10 +190,10 @@ config("external_config") { if (is_component_build) { defines = [ "USING_V8_SHARED" ] } - include_dirs = [ "include" ] - if (v8_enable_inspector) { - include_dirs += [ "$target_gen_dir/include" ] - } + include_dirs = [ + "include", + "$target_gen_dir/include", + ] } # This config should only be applied to code that needs to be explicitly @@ -204,6 +216,12 @@ config("features") { defines += [ "V8_PROMISE_INTERNAL_FIELD_COUNT=${v8_promise_internal_field_count}" ] } + if (v8_enable_future) { + defines += [ "V8_ENABLE_FUTURE" ] + } + if (v8_disable_turbo) { + defines += [ "V8_DISABLE_TURBO" ] + } if (v8_enable_gdbjit) { defines += [ "ENABLE_GDB_JIT_INTERFACE" ] } @@ -220,7 +238,10 @@ config("features") { defines += [ "VERIFY_PREDICTABLE" ] } if (v8_enable_trace_maps) { - defines += [ "TRACE_MAPS" ] + defines += [ "V8_TRACE_MAPS" ] + } + if (v8_enable_trace_ignition) { + defines += [ "V8_TRACE_IGNITION" ] } if (v8_enable_v8_checks) { defines += [ "V8_ENABLE_CHECKS" ] @@ -235,14 +256,20 @@ config("features") { defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ] } if (v8_enable_i18n_support) { - defines += [ "V8_I18N_SUPPORT" ] + defines += [ "V8_INTL_SUPPORT" ] } if (v8_enable_handle_zapping) { defines += [ "ENABLE_HANDLE_ZAPPING" ] } + if (v8_use_snapshot) { + defines += [ "V8_USE_SNAPSHOT" ] + } if (v8_use_external_startup_data) { defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ] } + if (v8_enable_concurrent_marking) { + defines += [ "V8_CONCURRENT_MARKING" ] + } } config("toolchain") { @@ -356,10 +383,34 @@ config("toolchain") { if (v8_current_cpu == "s390x") { defines += [ "V8_TARGET_ARCH_S390X" ] } - if (host_cpu == "x64" || host_cpu == "x86") { + if (host_byteorder == "little") { defines += [ "V8_TARGET_ARCH_S390_LE_SIM" ] + } else { + cflags += [ "-march=z196" ] } } + if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { + defines += [ "V8_TARGET_ARCH_PPC" ] + if (v8_current_cpu == "ppc64") { + defines += [ "V8_TARGET_ARCH_PPC64" ] + } + if (host_byteorder == "little") { + defines += [ "V8_TARGET_ARCH_PPC_LE" ] + } else if (host_byteorder == "big") { + defines += [ "V8_TARGET_ARCH_PPC_BE" ] + if (current_os == "aix") { + cflags += [ + # Work around AIX ceil, trunc and round oddities. + "-mcpu=power5+", + "-mfprnd", + + # Work around AIX assembler popcntb bug. + "-mno-popcntb", + ] + } + } + } + if (v8_current_cpu == "x86") { defines += [ "V8_TARGET_ARCH_IA32" ] if (is_win) { @@ -414,10 +465,34 @@ 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" ] + } + } + + if (is_win) { + cflags += [ + "/wd4245", # Conversion with signed/unsigned mismatch. + "/wd4267", # Conversion with possible loss of data. + "/wd4324", # Padding structure due to alignment. + "/wd4701", # Potentially uninitialized local variable. + "/wd4702", # Unreachable code. + "/wd4703", # Potentially uninitialized local pointer variable. + "/wd4709", # Comma operator within array index expr (bugged). + "/wd4714", # Function marked forceinline not inlined. + "/wd4718", # Recursive call has no side-effect. + "/wd4800", # Forcing value to bool. + ] + } + + if (!is_clang && !is_win) { + cflags += [ + # Disable gcc warnings for optimizations based on the assumption that + # signed overflow does not occur. Generates false positives (see + # http://crbug.com/v8/6341). + "-Wno-strict-overflow", + ] } } @@ -441,11 +516,10 @@ action("js2c") { "src/js/macros.py", "src/messages.h", "src/js/prologue.js", - "src/js/runtime.js", + "src/js/max-min.js", "src/js/v8natives.js", "src/js/array.js", "src/js/string.js", - "src/js/arraybuffer.js", "src/js/typedarray.js", "src/js/collection.js", "src/js/weak-collection.js", @@ -455,7 +529,6 @@ action("js2c") { "src/js/templates.js", "src/js/spread.js", "src/js/proxy.js", - "src/js/harmony-string-padding.js", "src/debug/mirrors.js", "src/debug/debug.js", "src/debug/liveedit.js", @@ -466,7 +539,7 @@ action("js2c") { ] if (v8_enable_i18n_support) { - sources += [ "src/js/i18n.js" ] + sources += [ "src/js/intl.js" ] } args = [ @@ -483,43 +556,6 @@ action("js2c") { } } -action("js2c_experimental") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - script = "tools/js2c.py" - - # The script depends on this other script, this rule causes a rebuild if it - # changes. - inputs = [ - "tools/jsmin.py", - ] - - # NOSORT - sources = [ - "src/js/macros.py", - "src/messages.h", - "src/js/harmony-atomics.js", - ] - - outputs = [ - "$target_gen_dir/experimental-libraries.cc", - ] - - args = [ - rebase_path("$target_gen_dir/experimental-libraries.cc", - root_build_dir), - "EXPERIMENTAL", - ] + rebase_path(sources, root_build_dir) - - if (v8_use_external_startup_data) { - outputs += [ "$target_gen_dir/libraries_experimental.bin" ] - args += [ - "--startup_blob", - rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), - ] - } -} - action("js2c_extras") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -630,7 +666,6 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", - ":js2c_experimental", ":js2c_experimental_extras", ":js2c_extras", ] @@ -638,7 +673,6 @@ if (v8_use_external_startup_data) { # NOSORT sources = [ "$target_gen_dir/libraries.bin", - "$target_gen_dir/libraries_experimental.bin", "$target_gen_dir/libraries_extras.bin", "$target_gen_dir/libraries_experimental_extras.bin", ] @@ -667,6 +701,8 @@ action("postmortem-metadata") { sources = [ "src/objects.h", "src/objects-inl.h", + "src/objects/map.h", + "src/objects/map-inl.h", ] outputs = [ @@ -728,29 +764,6 @@ action("run_mksnapshot") { } } -action("run_mkpeephole") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - deps = [ - ":mkpeephole($v8_snapshot_toolchain)", - ] - - outputs = [ - v8_generated_peephole_source, - ] - - sources = [] - - script = "tools/run.py" - - args = [ - "./" + rebase_path(get_label_info(":mkpeephole($v8_snapshot_toolchain)", - "root_out_dir") + "/mkpeephole", - root_build_dir), - rebase_path(v8_generated_peephole_source, root_build_dir), - ] -} - action("v8_dump_build_config") { script = "tools/testrunner/utils/dump_build_config.py" outputs = [ @@ -769,7 +782,6 @@ action("v8_dump_build_config") { "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\"", "v8_use_snapshot=$v8_use_snapshot", ] @@ -791,6 +803,7 @@ source_set("v8_maybe_snapshot") { } else { # Ignore v8_use_external_startup_data setting if no snapshot is used. public_deps = [ + ":v8_builtins_setup", ":v8_nosnapshot", ] } @@ -801,7 +814,6 @@ v8_source_set("v8_nosnapshot") { deps = [ ":js2c", - ":js2c_experimental", ":js2c_experimental_extras", ":js2c_extras", ":v8_base", @@ -809,7 +821,6 @@ v8_source_set("v8_nosnapshot") { sources = [ "$target_gen_dir/experimental-extras-libraries.cc", - "$target_gen_dir/experimental-libraries.cc", "$target_gen_dir/extras-libraries.cc", "$target_gen_dir/libraries.cc", "src/snapshot/snapshot-empty.cc", @@ -828,7 +839,6 @@ v8_source_set("v8_snapshot") { deps = [ ":js2c", - ":js2c_experimental", ":js2c_experimental_extras", ":js2c_extras", ":v8_base", @@ -841,10 +851,10 @@ v8_source_set("v8_snapshot") { sources = [ "$target_gen_dir/experimental-extras-libraries.cc", - "$target_gen_dir/experimental-libraries.cc", "$target_gen_dir/extras-libraries.cc", "$target_gen_dir/libraries.cc", "$target_gen_dir/snapshot.cc", + "src/setup-isolate-deserialize.cc", ] configs = [ ":internal_config" ] @@ -856,7 +866,6 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", - ":js2c_experimental", ":js2c_experimental_extras", ":js2c_extras", ":v8_base", @@ -867,6 +876,7 @@ if (v8_use_external_startup_data) { ] sources = [ + "src/setup-isolate-deserialize.cc", "src/snapshot/natives-external.cc", "src/snapshot/snapshot-external.cc", ] @@ -875,17 +885,171 @@ if (v8_use_external_startup_data) { } } +v8_source_set("v8_builtins_generators") { + visibility = [ + ":*", + "test/cctest:*", + ] + + deps = [ + ":v8_base", + ] + + sources = [ + ### gcmole(all) ### + "src/builtins/builtins-arguments-gen.cc", + "src/builtins/builtins-arguments-gen.h", + "src/builtins/builtins-array-gen.cc", + "src/builtins/builtins-async-function-gen.cc", + "src/builtins/builtins-async-gen.cc", + "src/builtins/builtins-async-gen.h", + "src/builtins/builtins-async-generator-gen.cc", + "src/builtins/builtins-async-iterator-gen.cc", + "src/builtins/builtins-boolean-gen.cc", + "src/builtins/builtins-call-gen.cc", + "src/builtins/builtins-console-gen.cc", + "src/builtins/builtins-constructor-gen.cc", + "src/builtins/builtins-constructor-gen.h", + "src/builtins/builtins-constructor.h", + "src/builtins/builtins-conversion-gen.cc", + "src/builtins/builtins-date-gen.cc", + "src/builtins/builtins-forin-gen.cc", + "src/builtins/builtins-forin-gen.h", + "src/builtins/builtins-function-gen.cc", + "src/builtins/builtins-generator-gen.cc", + "src/builtins/builtins-global-gen.cc", + "src/builtins/builtins-handler-gen.cc", + "src/builtins/builtins-ic-gen.cc", + "src/builtins/builtins-internal-gen.cc", + "src/builtins/builtins-interpreter-gen.cc", + "src/builtins/builtins-intl-gen.cc", + "src/builtins/builtins-math-gen.cc", + "src/builtins/builtins-number-gen.cc", + "src/builtins/builtins-object-gen.cc", + "src/builtins/builtins-promise-gen.cc", + "src/builtins/builtins-promise-gen.h", + "src/builtins/builtins-regexp-gen.cc", + "src/builtins/builtins-regexp-gen.h", + "src/builtins/builtins-sharedarraybuffer-gen.cc", + "src/builtins/builtins-string-gen.cc", + "src/builtins/builtins-string-gen.h", + "src/builtins/builtins-symbol-gen.cc", + "src/builtins/builtins-typedarray-gen.cc", + "src/builtins/builtins-utils-gen.h", + "src/builtins/builtins-wasm-gen.cc", + "src/builtins/setup-builtins-internal.cc", + "src/ic/accessor-assembler.cc", + "src/ic/accessor-assembler.h", + "src/ic/binary-op-assembler.cc", + "src/ic/binary-op-assembler.h", + "src/ic/keyed-store-generic.cc", + "src/ic/keyed-store-generic.h", + "src/interpreter/interpreter-assembler.cc", + "src/interpreter/interpreter-assembler.h", + "src/interpreter/interpreter-generator.cc", + "src/interpreter/interpreter-generator.h", + "src/interpreter/interpreter-intrinsics-generator.cc", + "src/interpreter/interpreter-intrinsics-generator.h", + "src/interpreter/setup-interpreter-internal.cc", + "src/interpreter/setup-interpreter.h", + ] + + if (v8_current_cpu == "x86") { + sources += [ + ### gcmole(arch:ia32) ### + "src/builtins/ia32/builtins-ia32.cc", + ] + } else if (v8_current_cpu == "x64") { + sources += [ + ### gcmole(arch:x64) ### + "src/builtins/x64/builtins-x64.cc", + ] + } else if (v8_current_cpu == "arm") { + sources += [ + ### gcmole(arch:arm) ### + "src/builtins/arm/builtins-arm.cc", + ] + } else if (v8_current_cpu == "arm64") { + sources += [ + ### gcmole(arch:arm64) ### + "src/builtins/arm64/builtins-arm64.cc", + ] + } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { + sources += [ + ### gcmole(arch:mipsel) ### + "src/builtins/mips/builtins-mips.cc", + ] + } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { + sources += [ + ### gcmole(arch:mips64el) ### + "src/builtins/mips64/builtins-mips64.cc", + ] + } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { + sources += [ + ### gcmole(arch:ppc) ### + "src/builtins/ppc/builtins-ppc.cc", + ] + } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { + sources += [ + ### gcmole(arch:s390) ### + "src/builtins/s390/builtins-s390.cc", + ] + } else if (v8_current_cpu == "x87") { + sources += [ + ### gcmole(arch:x87) ### + "src/builtins/x87/builtins-x87.cc", + ] + } + + if (!v8_enable_i18n_support) { + sources -= [ "src/builtins/builtins-intl-gen.cc" ] + } + + configs = [ ":internal_config" ] +} + +v8_source_set("v8_builtins_setup") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + deps = [ + ":v8_builtins_generators", + ] + + sources = [ + ### gcmole(all) ### + "src/setup-isolate-full.cc", + ] + + configs = [ ":internal_config" ] +} + # 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_header_set("v8_version") { configs = [ ":internal_config" ] sources = [ + "include/v8-value-serializer-version.h", "include/v8-version-string.h", "include/v8-version.h", ] } +# This is split out to be a non-code containing target that the Chromium browser +# can depend upon to get basic v8 types. +v8_header_set("v8_headers") { + configs = [ ":internal_config" ] + + sources = [ + "include/v8.h", + "include/v8config.h", + ] + + deps = [ + ":v8_version", + ] +} + v8_source_set("v8_base") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -894,6 +1058,8 @@ v8_source_set("v8_base") { ### gcmole(all) ### "include/v8-debug.h", + "include/v8-inspector-protocol.h", + "include/v8-inspector.h", "include/v8-platform.h", "include/v8-profiler.h", "include/v8-testing.h", @@ -919,12 +1085,13 @@ v8_source_set("v8_base") { "src/arguments.h", "src/asmjs/asm-js.cc", "src/asmjs/asm-js.h", - "src/asmjs/asm-typer.cc", - "src/asmjs/asm-typer.h", + "src/asmjs/asm-names.h", + "src/asmjs/asm-parser.cc", + "src/asmjs/asm-parser.h", + "src/asmjs/asm-scanner.cc", + "src/asmjs/asm-scanner.h", "src/asmjs/asm-types.cc", "src/asmjs/asm-types.h", - "src/asmjs/asm-wasm-builder.cc", - "src/asmjs/asm-wasm-builder.h", "src/asmjs/switch-logic.cc", "src/asmjs/switch-logic.h", "src/assembler-inl.h", @@ -973,52 +1140,41 @@ 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", - "src/builtins/builtins-constructor.cc", + "src/builtins/builtins-console.cc", "src/builtins/builtins-constructor.h", - "src/builtins/builtins-conversion.cc", "src/builtins/builtins-dataview.cc", "src/builtins/builtins-date.cc", "src/builtins/builtins-debug.cc", + "src/builtins/builtins-definitions.h", + "src/builtins/builtins-descriptors.h", "src/builtins/builtins-error.cc", "src/builtins/builtins-function.cc", - "src/builtins/builtins-generator.cc", "src/builtins/builtins-global.cc", - "src/builtins/builtins-handler.cc", - "src/builtins/builtins-ic.cc", "src/builtins/builtins-internal.cc", "src/builtins/builtins-interpreter.cc", + "src/builtins/builtins-intl.cc", "src/builtins/builtins-json.cc", "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", "src/cached-powers.h", + "src/callable.h", "src/cancelable-task.cc", "src/cancelable-task.h", "src/char-predicates-inl.h", @@ -1031,6 +1187,7 @@ v8_source_set("v8_base") { "src/code-stub-assembler.cc", "src/code-stub-assembler.h", "src/code-stubs-hydrogen.cc", + "src/code-stubs-utils.h", "src/code-stubs.cc", "src/code-stubs.h", "src/codegen.cc", @@ -1117,8 +1274,6 @@ v8_source_set("v8_base") { "src/compiler/graph-assembler.h", "src/compiler/graph-reducer.cc", "src/compiler/graph-reducer.h", - "src/compiler/graph-replay.cc", - "src/compiler/graph-replay.h", "src/compiler/graph-trimmer.cc", "src/compiler/graph-trimmer.h", "src/compiler/graph-visualizer.cc", @@ -1262,8 +1417,6 @@ v8_source_set("v8_base") { "src/compiler/wasm-linkage.cc", "src/compiler/zone-stats.cc", "src/compiler/zone-stats.h", - "src/context-measure.cc", - "src/context-measure.h", "src/contexts-inl.h", "src/contexts.cc", "src/contexts.h", @@ -1428,6 +1581,9 @@ v8_source_set("v8_base") { "src/heap/array-buffer-tracker.h", "src/heap/code-stats.cc", "src/heap/code-stats.h", + "src/heap/concurrent-marking-deque.h", + "src/heap/concurrent-marking.cc", + "src/heap/concurrent-marking.h", "src/heap/embedder-tracing.cc", "src/heap/embedder-tracing.h", "src/heap/gc-idle-time-handler.cc", @@ -1442,6 +1598,7 @@ v8_source_set("v8_base") { "src/heap/incremental-marking-job.h", "src/heap/incremental-marking.cc", "src/heap/incremental-marking.h", + "src/heap/item-parallel-job.h", "src/heap/mark-compact-inl.h", "src/heap/mark-compact.cc", "src/heap/mark-compact.h", @@ -1460,19 +1617,18 @@ v8_source_set("v8_base") { "src/heap/scavenger-inl.h", "src/heap/scavenger.cc", "src/heap/scavenger.h", + "src/heap/sequential-marking-deque.cc", + "src/heap/sequential-marking-deque.h", "src/heap/slot-set.h", "src/heap/spaces-inl.h", "src/heap/spaces.cc", "src/heap/spaces.h", "src/heap/store-buffer.cc", "src/heap/store-buffer.h", - "src/i18n.cc", - "src/i18n.h", + "src/heap/workstealing-marking-deque.h", "src/ic/access-compiler-data.h", "src/ic/access-compiler.cc", "src/ic/access-compiler.h", - "src/ic/accessor-assembler.cc", - "src/ic/accessor-assembler.h", "src/ic/call-optimization.cc", "src/ic/call-optimization.h", "src/ic/handler-compiler.cc", @@ -1486,8 +1642,6 @@ v8_source_set("v8_base") { "src/ic/ic-stats.h", "src/ic/ic.cc", "src/ic/ic.h", - "src/ic/keyed-store-generic.cc", - "src/ic/keyed-store-generic.h", "src/ic/stub-cache.cc", "src/ic/stub-cache.h", "src/icu_util.cc", @@ -1506,28 +1660,26 @@ v8_source_set("v8_base") { "src/interpreter/bytecode-array-random-iterator.h", "src/interpreter/bytecode-array-writer.cc", "src/interpreter/bytecode-array-writer.h", - "src/interpreter/bytecode-dead-code-optimizer.cc", - "src/interpreter/bytecode-dead-code-optimizer.h", "src/interpreter/bytecode-decoder.cc", "src/interpreter/bytecode-decoder.h", "src/interpreter/bytecode-flags.cc", "src/interpreter/bytecode-flags.h", "src/interpreter/bytecode-generator.cc", "src/interpreter/bytecode-generator.h", + "src/interpreter/bytecode-jump-table.h", "src/interpreter/bytecode-label.cc", "src/interpreter/bytecode-label.h", + "src/interpreter/bytecode-node.cc", + "src/interpreter/bytecode-node.h", "src/interpreter/bytecode-operands.cc", "src/interpreter/bytecode-operands.h", - "src/interpreter/bytecode-peephole-optimizer.cc", - "src/interpreter/bytecode-peephole-optimizer.h", - "src/interpreter/bytecode-peephole-table.h", - "src/interpreter/bytecode-pipeline.cc", - "src/interpreter/bytecode-pipeline.h", "src/interpreter/bytecode-register-allocator.h", "src/interpreter/bytecode-register-optimizer.cc", "src/interpreter/bytecode-register-optimizer.h", "src/interpreter/bytecode-register.cc", "src/interpreter/bytecode-register.h", + "src/interpreter/bytecode-source-info.cc", + "src/interpreter/bytecode-source-info.h", "src/interpreter/bytecode-traits.h", "src/interpreter/bytecodes.cc", "src/interpreter/bytecodes.h", @@ -1537,12 +1689,13 @@ v8_source_set("v8_base") { "src/interpreter/control-flow-builders.h", "src/interpreter/handler-table-builder.cc", "src/interpreter/handler-table-builder.h", - "src/interpreter/interpreter-assembler.cc", - "src/interpreter/interpreter-assembler.h", + "src/interpreter/interpreter-generator.h", "src/interpreter/interpreter-intrinsics.cc", "src/interpreter/interpreter-intrinsics.h", "src/interpreter/interpreter.cc", "src/interpreter/interpreter.h", + "src/intl.cc", + "src/intl.h", "src/isolate-inl.h", "src/isolate.cc", "src/isolate.h", @@ -1572,6 +1725,7 @@ v8_source_set("v8_base") { "src/lookup.h", "src/machine-type.cc", "src/machine-type.h", + "src/macro-assembler-inl.h", "src/macro-assembler.h", "src/managed.h", "src/map-updater.cc", @@ -1586,17 +1740,30 @@ v8_source_set("v8_base") { "src/objects-printer.cc", "src/objects.cc", "src/objects.h", + "src/objects/code-cache-inl.h", + "src/objects/code-cache.h", + "src/objects/compilation-cache-inl.h", + "src/objects/compilation-cache.h", + "src/objects/descriptor-array.h", + "src/objects/dictionary.h", + "src/objects/frame-array-inl.h", + "src/objects/frame-array.h", + "src/objects/hash-table.h", + "src/objects/intl-objects.cc", + "src/objects/intl-objects.h", "src/objects/literal-objects.cc", "src/objects/literal-objects.h", + "src/objects/map-inl.h", + "src/objects/map.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/objects/string-table.h", "src/ostreams.cc", "src/ostreams.h", - "src/parsing/duplicate-finder.cc", "src/parsing/duplicate-finder.h", "src/parsing/expression-classifier.h", "src/parsing/func-name-inferrer.cc", @@ -1700,9 +1867,9 @@ v8_source_set("v8_base") { "src/runtime/runtime-function.cc", "src/runtime/runtime-futex.cc", "src/runtime/runtime-generator.cc", - "src/runtime/runtime-i18n.cc", "src/runtime/runtime-internal.cc", "src/runtime/runtime-interpreter.cc", + "src/runtime/runtime-intl.cc", "src/runtime/runtime-literals.cc", "src/runtime/runtime-liveedit.cc", "src/runtime/runtime-maths.cc", @@ -1724,6 +1891,7 @@ v8_source_set("v8_base") { "src/runtime/runtime.h", "src/safepoint-table.cc", "src/safepoint-table.h", + "src/setup-isolate.h", "src/signature.h", "src/simulator.h", "src/small-pointer-list.h", @@ -1757,6 +1925,8 @@ v8_source_set("v8_base") { "src/string-builder.h", "src/string-case.cc", "src/string-case.h", + "src/string-hasher-inl.h", + "src/string-hasher.h", "src/string-search.h", "src/string-stream.cc", "src/string-stream.h", @@ -1771,6 +1941,9 @@ v8_source_set("v8_base") { "src/transitions-inl.h", "src/transitions.cc", "src/transitions.h", + "src/trap-handler/handler-outside.cc", + "src/trap-handler/handler-shared.cc", + "src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler.h", "src/type-hints.cc", "src/type-hints.h", @@ -1798,6 +1971,8 @@ v8_source_set("v8_base") { "src/vector.h", "src/version.cc", "src/version.h", + "src/visitors.cc", + "src/visitors.h", "src/vm-state-inl.h", "src/vm-state.h", "src/wasm/decoder.h", @@ -1805,10 +1980,14 @@ v8_source_set("v8_base") { "src/wasm/function-body-decoder.cc", "src/wasm/function-body-decoder.h", "src/wasm/leb-helper.h", + "src/wasm/local-decl-encoder.cc", + "src/wasm/local-decl-encoder.h", "src/wasm/module-decoder.cc", "src/wasm/module-decoder.h", "src/wasm/signature-map.cc", "src/wasm/signature-map.h", + "src/wasm/streaming-decoder.cc", + "src/wasm/streaming-decoder.h", "src/wasm/wasm-code-specialization.cc", "src/wasm/wasm-code-specialization.h", "src/wasm/wasm-debug.cc", @@ -1819,7 +1998,6 @@ v8_source_set("v8_base") { "src/wasm/wasm-js.cc", "src/wasm/wasm-js.h", "src/wasm/wasm-limits.h", - "src/wasm/wasm-macro-gen.h", "src/wasm/wasm-module-builder.cc", "src/wasm/wasm-module-builder.h", "src/wasm/wasm-module.cc", @@ -1847,7 +2025,6 @@ v8_source_set("v8_base") { if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### - "src/builtins/ia32/builtins-ia32.cc", "src/compiler/ia32/code-generator-ia32.cc", "src/compiler/ia32/instruction-codes-ia32.h", "src/compiler/ia32/instruction-scheduler-ia32.cc", @@ -1877,6 +2054,7 @@ v8_source_set("v8_base") { "src/ia32/macro-assembler-ia32.h", "src/ia32/simulator-ia32.cc", "src/ia32/simulator-ia32.h", + "src/ia32/sse-instr.h", "src/ic/ia32/access-compiler-ia32.cc", "src/ic/ia32/handler-compiler-ia32.cc", "src/ic/ia32/ic-ia32.cc", @@ -1885,7 +2063,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "x64") { sources += [ ### gcmole(arch:x64) ### - "src/builtins/x64/builtins-x64.cc", "src/compiler/x64/code-generator-x64.cc", "src/compiler/x64/instruction-codes-x64.h", "src/compiler/x64/instruction-scheduler-x64.cc", @@ -1926,6 +2103,9 @@ v8_source_set("v8_base") { "src/x64/simulator-x64.h", "src/x64/sse-instr.h", ] + if (is_linux) { + sources += [ "src/trap-handler/handler-inside.cc" ] + } } else if (v8_current_cpu == "arm") { sources += [ ### gcmole(arch:arm) ### "src/arm/assembler-arm-inl.h", @@ -1949,7 +2129,6 @@ v8_source_set("v8_base") { "src/arm/macro-assembler-arm.h", "src/arm/simulator-arm.cc", "src/arm/simulator-arm.h", - "src/builtins/arm/builtins-arm.cc", "src/compiler/arm/code-generator-arm.cc", "src/compiler/arm/instruction-codes-arm.h", "src/compiler/arm/instruction-scheduler-arm.cc", @@ -2003,7 +2182,6 @@ v8_source_set("v8_base") { "src/arm64/simulator-arm64.h", "src/arm64/utils-arm64.cc", "src/arm64/utils-arm64.h", - "src/builtins/arm64/builtins-arm64.cc", "src/compiler/arm64/code-generator-arm64.cc", "src/compiler/arm64/instruction-codes-arm64.h", "src/compiler/arm64/instruction-scheduler-arm64.cc", @@ -2029,7 +2207,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { sources += [ ### gcmole(arch:mipsel) ### - "src/builtins/mips/builtins-mips.cc", "src/compiler/mips/code-generator-mips.cc", "src/compiler/mips/instruction-codes-mips.h", "src/compiler/mips/instruction-scheduler-mips.cc", @@ -2069,7 +2246,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { sources += [ ### gcmole(arch:mips64el) ### - "src/builtins/mips64/builtins-mips64.cc", "src/compiler/mips64/code-generator-mips64.cc", "src/compiler/mips64/instruction-codes-mips64.h", "src/compiler/mips64/instruction-scheduler-mips64.cc", @@ -2109,7 +2285,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { sources += [ ### gcmole(arch:ppc) ### - "src/builtins/ppc/builtins-ppc.cc", "src/compiler/ppc/code-generator-ppc.cc", "src/compiler/ppc/instruction-codes-ppc.h", "src/compiler/ppc/instruction-scheduler-ppc.cc", @@ -2149,7 +2324,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { sources += [ ### gcmole(arch:s390) ### - "src/builtins/s390/builtins-s390.cc", "src/compiler/s390/code-generator-s390.cc", "src/compiler/s390/instruction-codes-s390.h", "src/compiler/s390/instruction-scheduler-s390.cc", @@ -2189,7 +2363,6 @@ v8_source_set("v8_base") { ] } else if (v8_current_cpu == "x87") { sources += [ ### gcmole(arch:x87) ### - "src/builtins/x87/builtins-x87.cc", "src/compiler/x87/code-generator-x87.cc", "src/compiler/x87/instruction-codes-x87.h", "src/compiler/x87/instruction-scheduler-x87.cc", @@ -2231,28 +2404,27 @@ v8_source_set("v8_base") { defines = [] deps = [ + ":v8_headers", ":v8_libbase", ":v8_libsampler", - ":v8_version", + "src/inspector:inspector", ] - sources += [ v8_generated_peephole_source ] - deps += [ ":run_mkpeephole" ] - - if (is_win) { - # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. - cflags = [ "/wd4267" ] - } - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] + public_deps = [ + "//third_party/icu", + ] if (is_win) { deps += [ "//third_party/icu:icudata" ] } } else { sources -= [ - "src/i18n.cc", - "src/i18n.h", + "src/builtins/builtins-intl.cc", + "src/intl.cc", + "src/intl.h", + "src/objects/intl-objects.cc", + "src/objects/intl-objects.h", + "src/runtime/runtime-intl.cc", ] } @@ -2260,10 +2432,6 @@ v8_source_set("v8_base") { sources += [ "$target_gen_dir/debug-support.cc" ] deps += [ ":postmortem-metadata" ] } - - if (v8_enable_inspector) { - deps += [ "src/inspector:inspector" ] - } } v8_component("v8_libbase") { @@ -2285,6 +2453,7 @@ v8_component("v8_libbase") { "src/base/debug/stack_trace.h", "src/base/division-by-constant.cc", "src/base/division-by-constant.h", + "src/base/export-template.h", "src/base/file-utils.cc", "src/base/file-utils.h", "src/base/flags.h", @@ -2320,6 +2489,7 @@ v8_component("v8_libbase") { "src/base/safe_math_impl.h", "src/base/sys-info.cc", "src/base/sys-info.h", + "src/base/timezone-cache.h", "src/base/utils/random-number-generator.cc", "src/base/utils/random-number-generator.h", ] @@ -2335,7 +2505,10 @@ v8_component("v8_libbase") { } if (is_posix) { - sources += [ "src/base/platform/platform-posix.cc" ] + sources += [ + "src/base/platform/platform-posix.cc", + "src/base/platform/platform-posix.h", + ] } if (is_linux) { @@ -2344,6 +2517,16 @@ v8_component("v8_libbase") { "src/base/platform/platform-linux.cc", ] + libs = [ + "dl", + "rt", + ] + } else if (current_os == "aix") { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-aix.cc", + ] + libs = [ "dl", "rt", @@ -2464,10 +2647,6 @@ v8_source_set("fuzzer_support") { ":v8_libbase", ":v8_libplatform", ] - - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } } ############################################################################### @@ -2486,43 +2665,16 @@ if (current_toolchain == v8_snapshot_toolchain) { deps = [ ":v8_base", + ":v8_builtins_setup", ":v8_libbase", ":v8_libplatform", ":v8_nosnapshot", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] } } -v8_executable("mkpeephole") { - # mkpeephole needs to be built for the build host so the peephole lookup - # table can built during build. The table depends on the properties of - # bytecodes that are described in bytecodes.{cc,h}. - visibility = [ ":*" ] # Only targets in this file can depend on this. - - sources = [ - "src/interpreter/bytecode-operands.cc", - "src/interpreter/bytecode-operands.h", - "src/interpreter/bytecode-peephole-optimizer.h", - "src/interpreter/bytecode-traits.h", - "src/interpreter/bytecodes.cc", - "src/interpreter/bytecodes.h", - "src/interpreter/mkpeephole.cc", - ] - - configs = [ - ":external_config", - ":internal_config", - ] - - deps = [ - ":v8_libbase", - "//build/config/sanitizers:deps", - "//build/win:default_exe_manifest", - ] -} - ############################################################################### # Public targets # @@ -2570,6 +2722,12 @@ group("v8_clusterfuzz") { } } +group("v8_archive") { + deps = [ + ":d8", + ] +} + group("v8_fuzzers") { testonly = true deps = [ @@ -2579,6 +2737,7 @@ group("v8_fuzzers") { ":v8_simple_wasm_asmjs_fuzzer", ":v8_simple_wasm_call_fuzzer", ":v8_simple_wasm_code_fuzzer", + ":v8_simple_wasm_compile_fuzzer", ":v8_simple_wasm_data_section_fuzzer", ":v8_simple_wasm_function_sigs_section_fuzzer", ":v8_simple_wasm_fuzzer", @@ -2609,6 +2768,31 @@ if (is_component_build) { public_configs = [ ":external_config" ] } + + v8_component("v8_for_testing") { + testonly = true + + sources = [ + "src/v8dll-main.cc", + ] + + deps = [ + ":v8_dump_build_config", + ] + + public_deps = [ + ":v8_base", + ":v8_maybe_snapshot", + ] + + if (v8_use_snapshot) { + public_deps += [ ":v8_builtins_generators" ] + } + + configs = [ ":internal_config" ] + + public_configs = [ ":external_config" ] + } } else { group("v8") { deps = [ @@ -2622,11 +2806,32 @@ if (is_component_build) { public_configs = [ ":external_config" ] } + + group("v8_for_testing") { + testonly = true + + deps = [ + ":v8_dump_build_config", + ] + + public_deps = [ + ":v8_base", + ":v8_maybe_snapshot", + ] + + if (v8_use_snapshot) { + public_deps += [ ":v8_builtins_generators" ] + } + + public_configs = [ ":external_config" ] + } } v8_executable("d8") { sources = [ "$target_gen_dir/d8-js.cc", + "src/d8-console.cc", + "src/d8-console.h", "src/d8.cc", "src/d8.h", ] @@ -2643,7 +2848,7 @@ v8_executable("d8") { ":v8", ":v8_libbase", ":v8_libplatform", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] @@ -2653,18 +2858,11 @@ v8_executable("d8") { sources += [ "src/d8-windows.cc" ] } - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } - if (v8_correctness_fuzzer) { deps += [ "tools/foozzie:v8_correctness_fuzzer_resources" ] } defines = [] - if (v8_enable_inspector) { - defines += [ "V8_INSPECTOR_ENABLED" ] - } if (v8_enable_vtunejit) { deps += [ "//src/third_party/vtune:v8_vtune" ] @@ -2695,13 +2893,9 @@ v8_executable("v8_hello_world") { ":v8", ":v8_libbase", ":v8_libplatform", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] - - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } } v8_executable("v8_sample_process") { @@ -2720,13 +2914,9 @@ v8_executable("v8_sample_process") { ":v8", ":v8_libbase", ":v8_libplatform", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] - - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } } v8_executable("v8_parser_shell") { @@ -2744,13 +2934,9 @@ v8_executable("v8_parser_shell") { ":v8", ":v8_libbase", ":v8_libplatform", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] - - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } } if (want_v8_shell) { @@ -2770,13 +2956,9 @@ if (want_v8_shell) { ":v8", ":v8_libbase", ":v8_libplatform", - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] - - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - } } } @@ -2786,7 +2968,7 @@ template("v8_fuzzer") { v8_executable("v8_simple_" + name) { deps = [ ":" + name, - "//build/config/sanitizers:deps", + "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", ] @@ -2864,17 +3046,6 @@ v8_source_set("wasm_module_runner") { ] } -v8_source_set("wasm_test_signatures") { - sources = [ - "test/common/wasm/test-signatures.h", - ] - - configs = [ - ":external_config", - ":internal_config_base", - ] -} - v8_source_set("wasm_fuzzer") { sources = [ "test/fuzzer/wasm.cc", @@ -2882,6 +3053,7 @@ v8_source_set("wasm_fuzzer") { deps = [ ":fuzzer_support", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -2901,6 +3073,7 @@ v8_source_set("wasm_asmjs_fuzzer") { deps = [ ":fuzzer_support", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -2915,13 +3088,14 @@ v8_fuzzer("wasm_asmjs_fuzzer") { v8_source_set("wasm_code_fuzzer") { sources = [ + "test/common/wasm/test-signatures.h", "test/fuzzer/wasm-code.cc", ] deps = [ ":fuzzer_support", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", - ":wasm_test_signatures", ] configs = [ @@ -2935,13 +3109,14 @@ v8_fuzzer("wasm_code_fuzzer") { v8_source_set("wasm_call_fuzzer") { sources = [ + "test/common/wasm/test-signatures.h", "test/fuzzer/wasm-call.cc", ] deps = [ ":fuzzer_support", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", - ":wasm_test_signatures", ] configs = [ @@ -2953,10 +3128,10 @@ v8_source_set("wasm_call_fuzzer") { v8_fuzzer("wasm_call_fuzzer") { } -v8_source_set("lib_wasm_section_fuzzer") { +v8_source_set("lib_wasm_fuzzer_common") { sources = [ - "test/fuzzer/wasm-section-fuzzers.cc", - "test/fuzzer/wasm-section-fuzzers.h", + "test/fuzzer/wasm-fuzzer-common.cc", + "test/fuzzer/wasm-fuzzer-common.h", ] configs = [ @@ -2972,7 +3147,7 @@ v8_source_set("wasm_types_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -2992,7 +3167,7 @@ v8_source_set("wasm_names_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3012,7 +3187,7 @@ v8_source_set("wasm_globals_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3032,7 +3207,7 @@ v8_source_set("wasm_imports_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3052,7 +3227,7 @@ v8_source_set("wasm_function_sigs_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3072,7 +3247,7 @@ v8_source_set("wasm_memory_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3092,7 +3267,7 @@ v8_source_set("wasm_data_section_fuzzer") { deps = [ ":fuzzer_support", - ":lib_wasm_section_fuzzer", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", ] @@ -3107,13 +3282,14 @@ v8_fuzzer("wasm_data_section_fuzzer") { v8_source_set("wasm_compile_fuzzer") { sources = [ + "test/common/wasm/test-signatures.h", "test/fuzzer/wasm-compile.cc", ] deps = [ ":fuzzer_support", + ":lib_wasm_fuzzer_common", ":wasm_module_runner", - ":wasm_test_signatures", ] configs = [ diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index f3cd421bca11ac..7ee1b37e798c5c 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,2638 @@ +2017-05-20: Version 6.0.286 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.285 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.284 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.283 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.282 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.281 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.280 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.279 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.278 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.277 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.276 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.275 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.274 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.273 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.272 + + Performance and stability improvements on all platforms. + + +2017-05-19: Version 6.0.271 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.270 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.269 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.268 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.267 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.266 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.265 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.264 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.263 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.262 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.261 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.260 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.259 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.258 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.257 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.256 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.255 + + Performance and stability improvements on all platforms. + + +2017-05-18: Version 6.0.254 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.253 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.252 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.251 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.250 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.249 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.248 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.247 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.246 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.245 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.244 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.243 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.242 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.241 + + Performance and stability improvements on all platforms. + + +2017-05-17: Version 6.0.240 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.239 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.238 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.237 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.236 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.235 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.234 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.233 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.232 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.231 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.230 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.229 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.228 + + Performance and stability improvements on all platforms. + + +2017-05-16: Version 6.0.227 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.226 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.225 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.224 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.223 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.222 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.221 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.220 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.219 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.218 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.217 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.216 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.215 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.214 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.213 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.212 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.211 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.210 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.209 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.208 + + Performance and stability improvements on all platforms. + + +2017-05-15: Version 6.0.207 + + Performance and stability improvements on all platforms. + + +2017-05-14: Version 6.0.206 + + Performance and stability improvements on all platforms. + + +2017-05-13: Version 6.0.205 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.204 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.203 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.202 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.201 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.200 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.199 + + Performance and stability improvements on all platforms. + + +2017-05-12: Version 6.0.198 + + Performance and stability improvements on all platforms. + + +2017-05-11: Version 6.0.197 + + Performance and stability improvements on all platforms. + + +2017-05-11: Version 6.0.196 + + Performance and stability improvements on all platforms. + + +2017-05-11: Version 6.0.195 + + Performance and stability improvements on all platforms. + + +2017-05-11: Version 6.0.194 + + Performance and stability improvements on all platforms. + + +2017-05-11: Version 6.0.193 + + Performance and stability improvements on all platforms. + + +2017-05-10: Version 6.0.192 + + Performance and stability improvements on all platforms. + + +2017-05-10: Version 6.0.191 + + Performance and stability improvements on all platforms. + + +2017-05-10: Version 6.0.190 + + Performance and stability improvements on all platforms. + + +2017-05-10: Version 6.0.189 + + Performance and stability improvements on all platforms. + + +2017-05-10: Version 6.0.188 + + Performance and stability improvements on all platforms. + + +2017-05-09: Version 6.0.187 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.186 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.185 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.184 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.183 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.182 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.181 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.180 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.179 + + Performance and stability improvements on all platforms. + + +2017-05-08: Version 6.0.178 + + Performance and stability improvements on all platforms. + + +2017-05-06: Version 6.0.177 + + Performance and stability improvements on all platforms. + + +2017-05-06: Version 6.0.176 + + Performance and stability improvements on all platforms. + + +2017-05-06: Version 6.0.175 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.174 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.173 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.172 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.171 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.170 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.169 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.168 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.167 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.166 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.165 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.164 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.163 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.162 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.161 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.160 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.159 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.158 + + Performance and stability improvements on all platforms. + + +2017-05-05: Version 6.0.157 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.156 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.155 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.154 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.153 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.152 + + Performance and stability improvements on all platforms. + + +2017-05-04: Version 6.0.151 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.150 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.149 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.148 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.147 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.146 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.145 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.144 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.143 + + Performance and stability improvements on all platforms. + + +2017-05-03: Version 6.0.142 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.141 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.140 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.139 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.138 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.137 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.136 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.135 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.134 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.133 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.132 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.131 + + Performance and stability improvements on all platforms. + + +2017-05-02: Version 6.0.130 + + Performance and stability improvements on all platforms. + + +2017-05-01: Version 6.0.129 + + Performance and stability improvements on all platforms. + + +2017-05-01: Version 6.0.128 + + Performance and stability improvements on all platforms. + + +2017-05-01: Version 6.0.127 + + Performance and stability improvements on all platforms. + + +2017-05-01: Version 6.0.126 + + Performance and stability improvements on all platforms. + + +2017-04-30: Version 6.0.125 + + Performance and stability improvements on all platforms. + + +2017-04-30: Version 6.0.124 + + Performance and stability improvements on all platforms. + + +2017-04-29: Version 6.0.123 + + Performance and stability improvements on all platforms. + + +2017-04-29: Version 6.0.122 + + Performance and stability improvements on all platforms. + + +2017-04-29: Version 6.0.121 + + Performance and stability improvements on all platforms. + + +2017-04-29: Version 6.0.120 + + Performance and stability improvements on all platforms. + + +2017-04-29: Version 6.0.119 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.118 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.117 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.116 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.115 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.114 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.113 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.112 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.111 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.110 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.109 + + Performance and stability improvements on all platforms. + + +2017-04-28: Version 6.0.108 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.107 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.106 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.105 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.104 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.103 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.102 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.101 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.100 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.99 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.98 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.97 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.96 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.95 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.94 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.93 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.92 + + Performance and stability improvements on all platforms. + + +2017-04-27: Version 6.0.91 + + Performance and stability improvements on all platforms. + + +2017-04-26: Version 6.0.90 + + Performance and stability improvements on all platforms. + + +2017-04-26: Version 6.0.89 + + Performance and stability improvements on all platforms. + + +2017-04-26: Version 6.0.88 + + Performance and stability improvements on all platforms. + + +2017-04-26: Version 6.0.87 + + Performance and stability improvements on all platforms. + + +2017-04-26: Version 6.0.86 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.85 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.84 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.83 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.82 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.81 + + Performance and stability improvements on all platforms. + + +2017-04-25: Version 6.0.80 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.79 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.78 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.77 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.76 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.75 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.74 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.73 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.72 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.71 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.70 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.69 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.68 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.67 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.66 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.65 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.64 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.63 + + Performance and stability improvements on all platforms. + + +2017-04-24: Version 6.0.62 + + Performance and stability improvements on all platforms. + + +2017-04-22: Version 6.0.61 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.60 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.59 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.58 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.57 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.56 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.55 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.54 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.53 + + Performance and stability improvements on all platforms. + + +2017-04-21: Version 6.0.52 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.51 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.50 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.49 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.48 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.47 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.46 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.45 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.44 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.43 + + Performance and stability improvements on all platforms. + + +2017-04-20: Version 6.0.42 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.41 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.40 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.39 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.38 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.37 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.36 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.35 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.34 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.33 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.32 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.31 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.30 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.29 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.28 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.27 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.26 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.25 + + Performance and stability improvements on all platforms. + + +2017-04-19: Version 6.0.24 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.23 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.22 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.21 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.20 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.19 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.18 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.17 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.16 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.15 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.14 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.13 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.12 + + Performance and stability improvements on all platforms. + + +2017-04-18: Version 6.0.11 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.10 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.9 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.8 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.7 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.6 + + Performance and stability improvements on all platforms. + + +2017-04-17: Version 6.0.5 + + Performance and stability improvements on all platforms. + + +2017-04-16: Version 6.0.4 + + Performance and stability improvements on all platforms. + + +2017-04-15: Version 6.0.3 + + Performance and stability improvements on all platforms. + + +2017-04-15: Version 6.0.2 + + Performance and stability improvements on all platforms. + + +2017-04-14: Version 6.0.1 + + Performance and stability improvements on all platforms. + + +2017-04-13: Version 5.9.223 + + Performance and stability improvements on all platforms. + + +2017-04-13: Version 5.9.222 + + Performance and stability improvements on all platforms. + + +2017-04-13: Version 5.9.221 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.220 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.219 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.218 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.217 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.216 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.215 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.214 + + Performance and stability improvements on all platforms. + + +2017-04-12: Version 5.9.213 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.212 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.211 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.210 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.209 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.208 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.207 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.206 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.205 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.204 + + Performance and stability improvements on all platforms. + + +2017-04-11: Version 5.9.203 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.202 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.201 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.200 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.199 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.198 + + Performance and stability improvements on all platforms. + + +2017-04-10: Version 5.9.197 + + Performance and stability improvements on all platforms. + + +2017-04-09: Version 5.9.196 + + Performance and stability improvements on all platforms. + + +2017-04-08: Version 5.9.195 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.194 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.193 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.192 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.191 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.190 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.189 + + Performance and stability improvements on all platforms. + + +2017-04-07: Version 5.9.188 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.187 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.186 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.185 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.184 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.183 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.182 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.181 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.180 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.179 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.178 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.177 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.176 + + Performance and stability improvements on all platforms. + + +2017-04-06: Version 5.9.175 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.174 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.173 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.172 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.171 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.170 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.169 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.168 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.167 + + Performance and stability improvements on all platforms. + + +2017-04-05: Version 5.9.166 + + Performance and stability improvements on all platforms. + + +2017-04-04: Version 5.9.165 + + Performance and stability improvements on all platforms. + + +2017-04-04: Version 5.9.164 + + Performance and stability improvements on all platforms. + + +2017-04-04: Version 5.9.163 + + Performance and stability improvements on all platforms. + + +2017-04-04: Version 5.9.162 + + Performance and stability improvements on all platforms. + + +2017-04-04: Version 5.9.161 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.160 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.159 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.158 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.157 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.156 + + Performance and stability improvements on all platforms. + + +2017-04-03: Version 5.9.155 + + Performance and stability improvements on all platforms. + + +2017-04-01: Version 5.9.154 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.153 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.152 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.151 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.150 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.149 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.148 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.147 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.146 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.145 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.144 + + Performance and stability improvements on all platforms. + + +2017-03-31: Version 5.9.143 + + Performance and stability improvements on all platforms. + + +2017-03-30: Version 5.9.142 + + Performance and stability improvements on all platforms. + + +2017-03-30: Version 5.9.141 + + Performance and stability improvements on all platforms. + + +2017-03-30: Version 5.9.140 + + Performance and stability improvements on all platforms. + + +2017-03-30: Version 5.9.139 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.138 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.137 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.136 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.135 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.134 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.133 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.132 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.131 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.130 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.129 + + Performance and stability improvements on all platforms. + + +2017-03-29: Version 5.9.128 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.127 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.126 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.125 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.124 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.123 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.122 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.121 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.120 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.119 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.118 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.117 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.116 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.115 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.114 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.113 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.112 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.111 + + Performance and stability improvements on all platforms. + + +2017-03-28: Version 5.9.110 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.109 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.108 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.107 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.106 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.105 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.104 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.103 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.102 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.101 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.100 + + Performance and stability improvements on all platforms. + + +2017-03-27: Version 5.9.99 + + Performance and stability improvements on all platforms. + + +2017-03-26: Version 5.9.98 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.97 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.96 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.95 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.94 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.93 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.92 + + Performance and stability improvements on all platforms. + + +2017-03-24: Version 5.9.91 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.90 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.89 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.88 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.87 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.86 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.85 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.84 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.83 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.82 + + Performance and stability improvements on all platforms. + + +2017-03-23: Version 5.9.81 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.80 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.79 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.78 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.77 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.76 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.75 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.74 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.73 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.72 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.71 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.70 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.69 + + Performance and stability improvements on all platforms. + + +2017-03-22: Version 5.9.68 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.67 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.66 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.65 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.64 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.63 + + Performance and stability improvements on all platforms. + + +2017-03-21: Version 5.9.62 + + Performance and stability improvements on all platforms. + + +2017-03-20: Version 5.9.61 + + Performance and stability improvements on all platforms. + + +2017-03-20: Version 5.9.60 + + Performance and stability improvements on all platforms. + + +2017-03-20: Version 5.9.59 + + Performance and stability improvements on all platforms. + + +2017-03-20: Version 5.9.58 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.57 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.56 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.55 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.54 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.53 + + Performance and stability improvements on all platforms. + + +2017-03-17: Version 5.9.52 + + Performance and stability improvements on all platforms. + + +2017-03-16: Version 5.9.51 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.50 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.49 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.48 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.47 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.46 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.45 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.44 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.43 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.42 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.41 + + Performance and stability improvements on all platforms. + + +2017-03-14: Version 5.9.40 + + Performance and stability improvements on all platforms. + + +2017-03-13: Version 5.9.39 + + Performance and stability improvements on all platforms. + + +2017-03-13: Version 5.9.38 + + Performance and stability improvements on all platforms. + + +2017-03-13: Version 5.9.37 + + Performance and stability improvements on all platforms. + + +2017-03-13: Version 5.9.36 + + Performance and stability improvements on all platforms. + + +2017-03-10: Version 5.9.35 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.34 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.33 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.32 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.31 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.30 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.29 + + Performance and stability improvements on all platforms. + + +2017-03-08: Version 5.9.28 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.27 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.26 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.25 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.24 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.23 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.22 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.21 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.20 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.19 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.18 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.17 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.16 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.15 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.14 + + Performance and stability improvements on all platforms. + + +2017-03-07: Version 5.9.13 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.12 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.11 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.10 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.9 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.8 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.7 + + Performance and stability improvements on all platforms. + + +2017-03-06: Version 5.9.6 + + Performance and stability improvements on all platforms. + + +2017-03-05: Version 5.9.5 + + Performance and stability improvements on all platforms. + + +2017-03-05: Version 5.9.4 + + Performance and stability improvements on all platforms. + + +2017-03-04: Version 5.9.3 + + Performance and stability improvements on all platforms. + + +2017-03-04: Version 5.9.2 + + Performance and stability improvements on all platforms. + + +2017-03-03: Version 5.9.1 + + Performance and stability improvements on all platforms. + + +2017-03-01: Version 5.8.301 + + Performance and stability improvements on all platforms. + + +2017-03-01: Version 5.8.300 + + Performance and stability improvements on all platforms. + + +2017-03-01: Version 5.8.299 + + Performance and stability improvements on all platforms. + + +2017-03-01: Version 5.8.298 + + Performance and stability improvements on all platforms. + + +2017-02-28: Version 5.8.297 + + Performance and stability improvements on all platforms. + + +2017-02-28: Version 5.8.296 + + Performance and stability improvements on all platforms. + + +2017-02-28: Version 5.8.295 + + Performance and stability improvements on all platforms. + + +2017-02-28: Version 5.8.294 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.293 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.292 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.291 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.290 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.289 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.288 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.287 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.286 + + Performance and stability improvements on all platforms. + + +2017-02-27: Version 5.8.285 + + Performance and stability improvements on all platforms. + + +2017-02-26: Version 5.8.284 + + Performance and stability improvements on all platforms. + + 2017-02-25: Version 5.8.283 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index f8e00855d4f3bd..1a55e663c6b17a 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,23 +8,23 @@ vars = { deps = { "v8/build": - Var("chromium_url") + "/chromium/src/build.git" + "@" + "c7c2db69cd571523ce728c4d3dceedbd1896b519", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "1caf3a69f3b0379c9fef2493aa1b3cda96e17d7b", "v8/tools/gyp": - Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563", + Var("chromium_url") + "/external/gyp.git" + "@" + "eb296f67da078ec01f5e3a9ea9cdc6d26d680161", "v8/third_party/icu": - Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "450be73c9ee8ae29d43d4fdc82febb2a5f62bfb5", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "c844075aa0f1758d04f9192825f1b1e7e607992e", "v8/third_party/instrumented_libraries": - Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "5b6f777da671be977f56f0e8fc3469a3ccbb4474", + Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "644afd349826cb68204226a16c38bde13abe9c3c", "v8/buildtools": - Var("chromium_url") + "/chromium/buildtools.git" + "@" + "94cdccbebc7a634c27145a3d84089e85fbb42e69", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "98f00fa10dbad2cdbb2e297a66c3d6d5bc3994f3", "v8/base/trace_event/common": - Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "06294c8a4a6f744ef284cd63cfe54dbf61eea290", + Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "39a3450531fc73432e963db8668695d2e8f13053", "v8/third_party/jinja2": Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "d34383206fa42d52faa10bb9931d6d538f3a57e0", "v8/third_party/markupsafe": Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "8f45f5cfa0009d2a70589bcda0349b8cb2b72783", "v8/tools/swarming_client": - Var('chromium_url') + '/external/swarming.client.git' + '@' + "11e31afa5d330756ff87aa12064bb5d032896cb5", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "a941a089ff1000403078b74cb628eb430f07d271", "v8/testing/gtest": Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -34,26 +34,22 @@ deps = { "v8/test/mozilla/data": Var("chromium_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", "v8/test/test262/data": - Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "a72ee6d91275aa6524e84a9b7070103411ef2689", + Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "230f9fc5688ce76bfaa99aba5f680a159eaac9e2", "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" + "@" + "9913fb19b687b0c858f697efd7bd2468d789a3d5", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "05f306039aa5029fa88768690e5c512097419f9d", "v8/test/wasm-js": - Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "b8b919e4a0d52db4d3d762e731e615bc3a38b3b2", + Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "07fd6430f879d36928d179a62d9bdeed82286065", } deps_os = { "android": { "v8/third_party/android_tools": - Var("chromium_url") + "/android_tools.git" + "@" + "b43a6a289a7588b1769814f04dd6c7d7176974cc", + Var("chromium_url") + "/android_tools.git" + "@" + "cb6bc21107001e2f2eeee2707b482b2b755baf51", "v8/third_party/catapult": - Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "246a39a82c2213d913a96fff020a263838dc76e6", + Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "08a6e0ac161db7309d8f9cad0ccd38e0b1fd41e0", }, - "win": { - "v8/third_party/cygwin": - Var("chromium_url") + "/chromium/deps/cygwin.git" + "@" + "c89e446b273697fadf3a10ff1007a97c0b7de6df", - } } recursedeps = [ @@ -206,25 +202,14 @@ hooks = [ ], }, { - "name": "wasm_fuzzer", + "name": "wasm_spec_tests", "pattern": ".", "action": [ "download_from_google_storage", "--no_resume", "--no_auth", "-u", - "--bucket", "v8-wasm-fuzzer", - "-s", "v8/test/fuzzer/wasm.tar.gz.sha1", - ], - }, - { - "name": "wasm_asmjs_fuzzer", - "pattern": ".", - "action": [ "download_from_google_storage", - "--no_resume", - "--no_auth", - "-u", - "--bucket", "v8-wasm-asmjs-fuzzer", - "-s", "v8/test/fuzzer/wasm_asmjs.tar.gz.sha1", + "--bucket", "v8-wasm-spec-tests", + "-s", "v8/test/wasm-spec-tests/tests.tar.gz.sha1", ], }, { diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 299d4aa09c97ac..ed5b3a7fabc325 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -240,7 +240,6 @@ ifdef android_ndk_root endif # ----------------- available targets: -------------------- -# - "grokdump": rebuilds heap constants lists used by grokdump # - any arch listed in ARCHES (see below) # - any mode listed in MODES # - every combination ., e.g. "ia32.release" @@ -467,12 +466,6 @@ $(ENVFILE).new: $(eval CXX_TARGET_ARCH:=$(subst x86_64,x64,$(CXX_TARGET_ARCH))) @mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS) -Dtarget_arch=$(CXX_TARGET_ARCH)" > $(ENVFILE).new; -# Heap constants for grokdump. -DUMP_FILE = tools/v8heapconst.py -grokdump: ia32.release - @cat $(DUMP_FILE).tmpl > $(DUMP_FILE) - @$(OUTDIR)/ia32.release/d8 --dump-heap-constants >> $(DUMP_FILE) - # Support for the GNU GLOBAL Source Code Tag System. gtags.files: $(GYPFILES) $(ENVFILE) @find include src test -name '*.h' -o -name '*.cc' -o -name '*.c' > $@ diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index e375fa65b73326..4a2dcdf74cddb6 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -7,7 +7,6 @@ bradnelson@chromium.org cbruni@chromium.org clemensh@chromium.org danno@chromium.org -epertoso@chromium.org franzih@chromium.org gsathya@chromium.org hablich@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 4cacf811336530..7d7faec69614be 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -31,6 +31,7 @@ for more details about the presubmit API built into gcl. """ +import re import sys @@ -42,6 +43,12 @@ ) +# Regular expression that matches code which should not be run through cpplint. +_NO_LINT_PATHS = ( + r'src[\\\/]base[\\\/]export-template\.h', +) + + # Regular expression that matches code only used for test binaries # (best effort). _TEST_CODE_EXCLUDED_PATHS = ( @@ -69,9 +76,15 @@ def _V8PresubmitChecks(input_api, output_api): from presubmit import SourceProcessor from presubmit import StatusFilesProcessor + def FilterFile(affected_file): + return input_api.FilterSourceFile( + affected_file, + white_list=None, + black_list=_NO_LINT_PATHS) + results = [] if not CppLintProcessor().RunOnFiles( - input_api.AffectedFiles(include_deletes=False)): + input_api.AffectedFiles(file_filter=FilterFile, include_deletes=False)): results.append(output_api.PresubmitError("C++ lint check failed")) if not SourceProcessor().RunOnFiles( input_api.AffectedFiles(include_deletes=False)): @@ -250,6 +263,7 @@ def _CheckMissingFiles(input_api, output_api): def _CommonChecks(input_api, output_api): """Checks common to both upload and commit.""" results = [] + results.extend(_CheckCommitMessageBugEntry(input_api, output_api)) results.extend(input_api.canned_checks.CheckOwners( input_api, output_api, source_file_filter=None)) results.extend(input_api.canned_checks.CheckPatchFormatted( @@ -276,6 +290,32 @@ def _SkipTreeCheck(input_api, output_api): return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip' +def _CheckCommitMessageBugEntry(input_api, output_api): + """Check that bug entries are well-formed in commit message.""" + bogus_bug_msg = ( + 'Bogus BUG entry: %s. Please specify the issue tracker prefix and the ' + 'issue number, separated by a colon, e.g. v8:123 or chromium:12345.') + results = [] + for bug in (input_api.change.BUG or '').split(','): + bug = bug.strip() + if 'none'.startswith(bug.lower()): + continue + if ':' not in bug: + try: + if int(bug) > 100000: + # Rough indicator for current chromium bugs. + prefix_guess = 'chromium' + else: + prefix_guess = 'v8' + results.append('BUG entry requires issue tracker prefix, e.g. %s:%s' % + (prefix_guess, bug)) + except ValueError: + results.append(bogus_bug_msg % bug) + elif not re.match(r'\w+:\d+', bug): + results.append(bogus_bug_msg % bug) + return [output_api.PresubmitError(r) for r in results] + + def CheckChangeOnUpload(input_api, output_api): results = [] results.extend(_CommonChecks(input_api, output_api)) diff --git a/deps/v8/base/trace_event/common/trace_event_common.h b/deps/v8/base/trace_event/common/trace_event_common.h index e87665b8cdb12b..76d3039250ed89 100644 --- a/deps/v8/base/trace_event/common/trace_event_common.h +++ b/deps/v8/base/trace_event/common/trace_event_common.h @@ -258,6 +258,12 @@ TRACE_EVENT_PHASE_INSTANT, category_group, name, timestamp, \ TRACE_EVENT_FLAG_NONE | scope) +#define TRACE_EVENT_INSTANT_WITH_TIMESTAMP1(category_group, name, scope, \ + timestamp, arg_name, arg_val) \ + INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP( \ + TRACE_EVENT_PHASE_INSTANT, category_group, name, timestamp, \ + TRACE_EVENT_FLAG_NONE | scope, arg_name, arg_val) + // Records a single BEGIN event called "name" immediately, with 0, 1 or 2 // associated arguments. If the category is not enabled, then this // does nothing. diff --git a/deps/v8/codereview.settings b/deps/v8/codereview.settings index 532e4b4d7b0c07..bff4e38ba51885 100644 --- a/deps/v8/codereview.settings +++ b/deps/v8/codereview.settings @@ -1,8 +1,6 @@ +PROJECT: v8 +GERRIT_HOST: True CODE_REVIEW_SERVER: https://codereview.chromium.org CC_LIST: v8-reviews@googlegroups.com VIEW_VC: https://chromium.googlesource.com/v8/v8/+/ STATUS: http://v8-status.appspot.com/status -TRY_ON_UPLOAD: False -TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try-v8 -PROJECT: v8 -PENDING_REF_PREFIX: refs/pending/ diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index a347eeaa24e1ba..90bc8c5d7fa4b9 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -101,11 +101,6 @@ template("v8_isolate_run") { } else { icu_use_data_file_flag = "0" } - if (v8_enable_inspector) { - enable_inspector = "1" - } else { - enable_inspector = "0" - } if (v8_use_external_startup_data) { use_external_startup_data = "1" } else { @@ -177,8 +172,6 @@ template("v8_isolate_run") { "--config-variable", "target_arch=$target_arch", "--config-variable", - "v8_enable_inspector=$enable_inspector", - "--config-variable", "v8_use_external_startup_data=$use_external_startup_data", "--config-variable", "v8_use_snapshot=$use_snapshot", diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index ea628e00007c87..33f85f989b73e6 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -37,9 +37,6 @@ declare_args() { # add a dependency on the ICU library. v8_enable_i18n_support = true - # Enable inspector. See include/v8-inspector.h. - v8_enable_inspector = true - # Use static libraries instead of source_sets. v8_static_library = false } @@ -66,9 +63,8 @@ v8_inspector_js_protocol = v8_path_prefix + "/src/inspector/js_protocol.json" # # Common configs to remove or add in all v8 targets. -v8_remove_configs = [ "//build/config/compiler:chromium_code" ] +v8_remove_configs = [] v8_add_configs = [ - "//build/config/compiler:no_chromium_code", v8_path_prefix + ":features", v8_path_prefix + ":toolchain", ] diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp index d3e275e10fa552..bc9d9650eb5958 100644 --- a/deps/v8/gypfiles/all.gyp +++ b/deps/v8/gypfiles/all.gyp @@ -9,6 +9,8 @@ 'type': 'none', 'dependencies': [ '../src/d8.gyp:d8', + '../test/inspector/inspector.gyp:*', + '../test/mkgrokdump/mkgrokdump.gyp:*', ], 'conditions': [ ['component!="shared_library"', { @@ -25,20 +27,11 @@ '../test/unittests/unittests.gyp:*', ], }], - ['v8_enable_inspector==1', { - 'dependencies': [ - '../test/inspector/inspector.gyp:*', - ], - }], - ['v8_enable_inspector==1 and test_isolation_mode != "noop"', { - 'dependencies': [ - '../test/debugger/debugger.gyp:*', - ], - }], ['test_isolation_mode != "noop"', { 'dependencies': [ '../test/bot_default.gyp:*', '../test/benchmarks/benchmarks.gyp:*', + '../test/debugger/debugger.gyp:*', '../test/default.gyp:*', '../test/intl/intl.gyp:*', '../test/message/message.gyp:*', diff --git a/deps/v8/gypfiles/coverage_wrapper.py b/deps/v8/gypfiles/coverage_wrapper.py index 5b365d8e63d911..d5fdee43cfb761 100755 --- a/deps/v8/gypfiles/coverage_wrapper.py +++ b/deps/v8/gypfiles/coverage_wrapper.py @@ -31,6 +31,8 @@ def remove_if_exists(string_list, item): remove_if_exists(args, '-fsanitize-coverage=func') remove_if_exists(args, '-fsanitize-coverage=bb') remove_if_exists(args, '-fsanitize-coverage=edge') + remove_if_exists(args, '-fsanitize-coverage=trace-pc-guard') + remove_if_exists(args, '-fsanitize-coverage=bb,trace-pc-guard') break sys.exit(subprocess.check_call(args)) diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi index bd5cd7cd108f1c..b38735e162ec8e 100644 --- a/deps/v8/gypfiles/features.gypi +++ b/deps/v8/gypfiles/features.gypi @@ -95,7 +95,7 @@ 'defines': ['VERIFY_HEAP',], }], ['v8_trace_maps==1', { - 'defines': ['TRACE_MAPS',], + 'defines': ['V8_TRACE_MAPS',], }], ['v8_enable_verify_predictable==1', { 'defines': ['VERIFY_PREDICTABLE',], @@ -110,7 +110,7 @@ 'defines': ['V8_IMMINENT_DEPRECATION_WARNINGS',], }], ['v8_enable_i18n_support==1', { - 'defines': ['V8_I18N_SUPPORT',], + 'defines': ['V8_INTL_SUPPORT',], }], ['v8_use_snapshot=="true" and v8_use_external_startup_data==1', { 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA',], @@ -123,7 +123,7 @@ 'DebugBaseCommon': { 'abstract': 1, 'variables': { - 'v8_enable_handle_zapping%': 1, + 'v8_enable_handle_zapping%': 0, }, 'conditions': [ ['v8_enable_handle_zapping==1', { @@ -133,7 +133,7 @@ }, # Debug 'Release': { 'variables': { - 'v8_enable_handle_zapping%': 0, + 'v8_enable_handle_zapping%': 1, }, 'conditions': [ ['v8_enable_handle_zapping==1', { @@ -142,5 +142,8 @@ ], # conditions }, # Release }, # configurations + 'defines': [ + 'V8_GYP_BUILD', + ], # defines }, # target_defaults } diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi index c55f3ca782516a..af3b3ae5c8926e 100644 --- a/deps/v8/gypfiles/isolate.gypi +++ b/deps/v8/gypfiles/isolate.gypi @@ -82,7 +82,6 @@ '--config-variable', 'sanitizer_coverage=<(sanitizer_coverage)', '--config-variable', 'component=<(component)', '--config-variable', 'target_arch=<(target_arch)', - '--config-variable', 'v8_enable_inspector=<(v8_enable_inspector)', '--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)', '--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)', ], diff --git a/deps/v8/gypfiles/standalone.gypi b/deps/v8/gypfiles/standalone.gypi index 862f94fb5c3c0d..4c805bf6432ff3 100644 --- a/deps/v8/gypfiles/standalone.gypi +++ b/deps/v8/gypfiles/standalone.gypi @@ -46,7 +46,6 @@ 'msvs_multi_core_compile%': '1', 'mac_deployment_target%': '10.7', 'release_extra_cflags%': '', - 'v8_enable_inspector%': 0, 'variables': { 'variables': { 'variables': { @@ -93,16 +92,16 @@ ['OS=="linux" and use_sysroot==1', { 'conditions': [ ['target_arch=="arm"', { - 'sysroot%': ' + +namespace v8 { + +constexpr uint32_t CurrentValueSerializerFormatVersion() { return 13; } + +} // namespace v8 + +#endif // INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_ diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 70e1a84d09e949..0889459ca778da 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -8,10 +8,10 @@ // These macros define the version number for the current version. // 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 8 -#define V8_BUILD_NUMBER 283 -#define V8_PATCH_LEVEL 41 +#define V8_MAJOR_VERSION 6 +#define V8_MINOR_VERSION 0 +#define V8_BUILD_NUMBER 286 +#define V8_PATCH_LEVEL 52 // 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 95023ae1c910bc..da3cdfdcbd7db5 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -128,7 +128,6 @@ template class PersistentValueVector; template class WeakCallbackObject; class FunctionTemplate; class ObjectTemplate; -class Data; template class FunctionCallbackInfo; template class PropertyCallbackInfo; class StackTrace; @@ -151,6 +150,9 @@ class FunctionCallbackArguments; class GlobalHandles; } // namespace internal +namespace debug { +class ConsoleCallArguments; +} // namespace debug // --- Handles --- @@ -159,7 +161,6 @@ class GlobalHandles; *(static_cast(0)) = static_cast(0); \ } - /** * An object reference managed by the v8 garbage collector. * @@ -173,10 +174,16 @@ class GlobalHandles; * allocated on the heap. * * There are two types of handles: local and persistent handles. + * * Local handles are light-weight and transient and typically used in - * local operations. They are managed by HandleScopes. Persistent - * handles can be used when storing objects across several independent - * operations and have to be explicitly deallocated when they're no + * local operations. They are managed by HandleScopes. That means that a + * HandleScope must exist on the stack when they are created and that they are + * only valid inside of the HandleScope active during their creation. + * For passing a local handle to an outer HandleScope, an EscapableHandleScope + * and its Escape() method must be used. + * + * Persistent handles can be used when storing objects across several + * independent operations and have to be explicitly deallocated when they're no * longer used. * * It is safe to extract the object stored in the handle by @@ -254,6 +261,11 @@ class Local { return !operator==(that); } + /** + * Cast a handle to a subclass, e.g. Local to Local. + * This is only valid if the handle actually refers to a value of the + * target type. + */ template V8_INLINE static Local Cast(Local that) { #ifdef V8_ENABLE_CHECKS // If we're going to perform the type check then we have to check @@ -263,6 +275,11 @@ class Local { return Local(T::Cast(*that)); } + /** + * Calling this is equivalent to Local::Cast(). + * In particular, this is only valid if the handle actually refers to a value + * of the target type. + */ template V8_INLINE Local As() const { return Local::Cast(*this); @@ -339,15 +356,26 @@ class MaybeLocal { V8_INLINE bool IsEmpty() const { return val_ == nullptr; } + /** + * Converts this MaybeLocal<> to a Local<>. If this MaybeLocal<> is empty, + * |false| is returned and |out| is left untouched. + */ template V8_WARN_UNUSED_RESULT V8_INLINE bool ToLocal(Local* out) const { out->val_ = IsEmpty() ? nullptr : this->val_; return !IsEmpty(); } - // Will crash if the MaybeLocal<> is empty. + /** + * Converts this MaybeLocal<> to a Local<>. If this MaybeLocal<> is empty, + * V8 will crash the process. + */ V8_INLINE Local ToLocalChecked(); + /** + * Converts this MaybeLocal<> to a Local<>, using a default value if this + * MaybeLocal<> is empty. + */ template V8_INLINE Local FromMaybe(Local default_value) const { return IsEmpty() ? default_value : Local(val_); @@ -357,8 +385,10 @@ class MaybeLocal { T* val_; }; - -// Eternal handles are set-once handles that live for the life of the isolate. +/** + * Eternal handles are set-once handles that live for the lifetime of the + * isolate. + */ template class Eternal { public: V8_INLINE Eternal() : val_(nullptr) {} @@ -377,7 +407,7 @@ template class Eternal { static const int kInternalFieldsInWeakCallback = 2; - +static const int kEmbedderFieldsInWeakCallback = 2; template class WeakCallbackInfo { @@ -385,11 +415,11 @@ class WeakCallbackInfo { typedef void (*Callback)(const WeakCallbackInfo& data); WeakCallbackInfo(Isolate* isolate, T* parameter, - void* internal_fields[kInternalFieldsInWeakCallback], + void* embedder_fields[kEmbedderFieldsInWeakCallback], Callback* callback) : isolate_(isolate), parameter_(parameter), callback_(callback) { - for (int i = 0; i < kInternalFieldsInWeakCallback; ++i) { - internal_fields_[i] = internal_fields[i]; + for (int i = 0; i < kEmbedderFieldsInWeakCallback; ++i) { + embedder_fields_[i] = embedder_fields[i]; } } @@ -399,11 +429,11 @@ class WeakCallbackInfo { V8_INLINE V8_DEPRECATED("use indexed version", void* GetInternalField1() const) { - return internal_fields_[0]; + return embedder_fields_[0]; } V8_INLINE V8_DEPRECATED("use indexed version", void* GetInternalField2() const) { - return internal_fields_[1]; + return embedder_fields_[1]; } V8_DEPRECATED("Not realiable once SetSecondPassCallback() was used.", @@ -423,7 +453,7 @@ class WeakCallbackInfo { Isolate* isolate_; T* parameter_; Callback* callback_; - void* internal_fields_[kInternalFieldsInWeakCallback]; + void* embedder_fields_[kEmbedderFieldsInWeakCallback]; }; @@ -438,10 +468,10 @@ enum class WeakCallbackType { kParameter, kInternalFields, kFinalizer }; * An object reference that is independent of any handle scope. Where * a Local handle only lives as long as the HandleScope in which it was * allocated, a PersistentBase handle remains valid until it is explicitly - * disposed. + * disposed using Reset(). * * A persistent handle contains a reference to a storage cell within - * the v8 engine which holds an object value and which is updated by + * the V8 engine which holds an object value and which is updated by * the garbage collector whenever the object is moved. A new storage * cell can be created using the constructor or PersistentBase::Reset and * existing handles can be disposed using PersistentBase::Reset. @@ -899,6 +929,11 @@ class V8_EXPORT EscapableHandleScope : public HandleScope { internal::Object** escape_slot_; }; +/** + * A SealHandleScope acts like a handle scope in which no handle allocations + * are allowed. It can be useful for debugging handle leaks. + * Handles can be allocated within inner normal HandleScopes. + */ class V8_EXPORT SealHandleScope { public: SealHandleScope(Isolate* isolate); @@ -1060,19 +1095,41 @@ class V8_EXPORT Module { /** * ModuleDeclarationInstantiation * - * Returns false if an exception occurred during instantiation. + * Returns false if an exception occurred during instantiation. (In the case + * where the callback throws an exception, that exception is propagated.) */ V8_WARN_UNUSED_RESULT bool Instantiate(Local context, ResolveCallback callback); /** * ModuleEvaluation + * + * Returns the completion value. */ V8_WARN_UNUSED_RESULT MaybeLocal Evaluate(Local context); }; -// Node.js-specific: This will be implemented by a later V8 upgrade! -class DynamicImportResult; +/** + * This is an unfinished experimental feature, and is only exposed + * here for internal testing purposes. DO NOT USE. + * + * A compiled JavaScript module. + */ +class V8_EXPORT DynamicImportResult { + public: + /** + * Resolves the promise with the namespace object of the given + * module. + */ + V8_WARN_UNUSED_RESULT bool FinishDynamicImportSuccess(Local context, + Local module); + + /** + * Rejects the promise with the given exception. + */ + V8_WARN_UNUSED_RESULT bool FinishDynamicImportFailure(Local context, + Local exception); +}; /** * A compiled JavaScript script, tied to a Context which was active when the @@ -1364,7 +1421,7 @@ class V8_EXPORT ScriptCompiler { * CachedData instance is still valid; the tag has no other meaing. * * Background: The data carried by CachedData may depend on the exact - * V8 version number or currently compiler flags. This means when + * V8 version number or current compiler flags. This means that when * persisting CachedData, the embedder must take care to not pass in * data from another V8 version, or the same version with different * features enabled. @@ -1615,6 +1672,11 @@ class V8_EXPORT StackFrame { * constructor via "new". */ bool IsConstructor() const; + + /** + * Returns whether or not the associated functions is defined in wasm. + */ + bool IsWasm() const; }; @@ -1684,21 +1746,21 @@ class V8_EXPORT ValueSerializer { public: virtual ~Delegate() {} - /* + /** * Handles the case where a DataCloneError would be thrown in the structured * clone spec. Other V8 embedders may throw some other appropriate exception * type. */ virtual void ThrowDataCloneError(Local message) = 0; - /* + /** * The embedder overrides this method to write some kind of host object, if * possible. If not, a suitable exception should be thrown and * Nothing() returned. */ virtual Maybe WriteHostObject(Isolate* isolate, Local object); - /* + /** * Called when the ValueSerializer is going to serialize a * SharedArrayBuffer object. The embedder must return an ID for the * object, using the same ID if this SharedArrayBuffer has already been @@ -1713,7 +1775,7 @@ class V8_EXPORT ValueSerializer { virtual Maybe GetWasmModuleTransferId( Isolate* isolate, Local module); - /* + /** * Allocates memory for the buffer of at least the size provided. The actual * size (which may be greater or equal) is written to |actual_size|. If no * buffer has been allocated yet, nullptr will be provided. @@ -1725,7 +1787,7 @@ class V8_EXPORT ValueSerializer { virtual void* ReallocateBufferMemory(void* old_buffer, size_t size, size_t* actual_size); - /* + /** * Frees a buffer allocated with |ReallocateBufferMemory|. */ virtual void FreeBufferMemory(void* buffer); @@ -1735,24 +1797,24 @@ class V8_EXPORT ValueSerializer { ValueSerializer(Isolate* isolate, Delegate* delegate); ~ValueSerializer(); - /* + /** * Writes out a header, which includes the format version. */ void WriteHeader(); - /* + /** * Serializes a JavaScript value into the buffer. */ V8_WARN_UNUSED_RESULT Maybe WriteValue(Local context, Local value); - /* + /** * Returns the stored data. This serializer should not be used once the buffer * is released. The contents are undefined if a previous write has failed. */ V8_DEPRECATE_SOON("Use Release()", std::vector ReleaseBuffer()); - /* + /** * Returns the stored data (allocated using the delegate's * AllocateBufferMemory) and its size. This serializer should not be used once * the buffer is released. The contents are undefined if a previous write has @@ -1760,7 +1822,7 @@ class V8_EXPORT ValueSerializer { */ V8_WARN_UNUSED_RESULT std::pair Release(); - /* + /** * Marks an ArrayBuffer as havings its contents transferred out of band. * Pass the corresponding ArrayBuffer in the deserializing context to * ValueDeserializer::TransferArrayBuffer. @@ -1768,7 +1830,7 @@ class V8_EXPORT ValueSerializer { void TransferArrayBuffer(uint32_t transfer_id, Local array_buffer); - /* + /** * Similar to TransferArrayBuffer, but for SharedArrayBuffer. */ V8_DEPRECATE_SOON("Use Delegate::GetSharedArrayBufferId", @@ -1776,7 +1838,7 @@ class V8_EXPORT ValueSerializer { uint32_t transfer_id, Local shared_array_buffer)); - /* + /** * Indicate whether to treat ArrayBufferView objects as host objects, * i.e. pass them to Delegate::WriteHostObject. This should not be * called when no Delegate was passed. @@ -1785,7 +1847,7 @@ class V8_EXPORT ValueSerializer { */ void SetTreatArrayBufferViewsAsHostObjects(bool mode); - /* + /** * Write raw data in various common formats to the buffer. * Note that integer types are written in base-128 varint format, not with a * binary copy. For use during an override of Delegate::WriteHostObject. @@ -1817,14 +1879,14 @@ class V8_EXPORT ValueDeserializer { public: virtual ~Delegate() {} - /* + /** * The embedder overrides this method to read some kind of host object, if * possible. If not, a suitable exception should be thrown and * MaybeLocal() returned. */ virtual MaybeLocal ReadHostObject(Isolate* isolate); - /* + /** * Get a WasmCompiledModule given a transfer_id previously provided * by ValueSerializer::GetWasmModuleTransferId */ @@ -1837,25 +1899,25 @@ class V8_EXPORT ValueDeserializer { Delegate* delegate); ~ValueDeserializer(); - /* + /** * Reads and validates a header (including the format version). * May, for example, reject an invalid or unsupported wire format. */ V8_WARN_UNUSED_RESULT Maybe ReadHeader(Local context); - /* + /** * Deserializes a JavaScript value from the buffer. */ V8_WARN_UNUSED_RESULT MaybeLocal ReadValue(Local context); - /* + /** * Accepts the array buffer corresponding to the one passed previously to * ValueSerializer::TransferArrayBuffer. */ void TransferArrayBuffer(uint32_t transfer_id, Local array_buffer); - /* + /** * Similar to TransferArrayBuffer, but for SharedArrayBuffer. * The id is not necessarily in the same namespace as unshared ArrayBuffer * objects. @@ -1863,7 +1925,7 @@ class V8_EXPORT ValueDeserializer { void TransferSharedArrayBuffer(uint32_t id, Local shared_array_buffer); - /* + /** * Must be called before ReadHeader to enable support for reading the legacy * wire format (i.e., which predates this being shipped). * @@ -1872,14 +1934,19 @@ class V8_EXPORT ValueDeserializer { */ void SetSupportsLegacyWireFormat(bool supports_legacy_wire_format); - /* + /** + * Expect inline wasm in the data stream (rather than in-memory transfer) + */ + void SetExpectInlineWasm(bool allow_inline_wasm); + + /** * Reads the underlying wire format version. Likely mostly to be useful to * legacy code reading old wire format versions. Must be called after * ReadHeader. */ uint32_t GetWireFormatVersion() const; - /* + /** * Reads raw data in various common formats to the buffer. * Note that integer types are read in base-128 varint format, not with a * binary copy. For use during an override of Delegate::ReadHostObject. @@ -1906,7 +1973,7 @@ class V8_EXPORT NativeWeakMap : public Data { public: static Local New(Isolate* isolate); void Set(Local key, Local value); - Local Get(Local key); + Local Get(Local key) const; bool Has(Local key); bool Delete(Local key); }; @@ -2252,6 +2319,8 @@ class V8_EXPORT Value : public Data { Local TypeOf(Isolate*); + Maybe InstanceOf(Local context, Local object); + private: V8_INLINE bool QuickIsUndefined() const; V8_INLINE bool QuickIsNull() const; @@ -2304,9 +2373,25 @@ class V8_EXPORT Name : public Primitive { static void CheckCast(Value* obj); }; +/** + * A flag describing different modes of string creation. + * + * Aside from performance implications there are no differences between the two + * creation modes. + */ +enum class NewStringType { + /** + * Create a new string, always allocating new storage memory. + */ + kNormal, -enum class NewStringType { kNormal, kInternalized }; - + /** + * Acts as a hint that the string should be created in the + * old generation heap space and be deduplicated if an identical string + * already exists. + */ + kInternalized +}; /** * A JavaScript string value (ECMA-262, 4.3.17). @@ -2321,7 +2406,7 @@ class V8_EXPORT String : public Name { ONE_BYTE_ENCODING = 0x8 }; /** - * Returns the number of characters in this string. + * Returns the number of characters (UTF-16 code units) in this string. */ int Length() const; @@ -2332,14 +2417,16 @@ class V8_EXPORT String : public Name { int Utf8Length() const; /** - * Returns whether this string is known to contain only one byte data. + * Returns whether this string is known to contain only one byte data, + * i.e. ISO-8859-1 code points. * Does not read the string. * False negatives are possible. */ bool IsOneByte() const; /** - * Returns whether this string contain only one byte data. + * Returns whether this string contain only one byte data, + * i.e. ISO-8859-1 code points. * Will read the entire string in some cases. */ bool ContainsOnlyOneByte() const; @@ -2646,7 +2733,7 @@ class V8_EXPORT String : public Name { }; /** - * Converts an object to a two-byte string. + * Converts an object to a two-byte (UTF-16-encoded) string. * If conversion to a string fails (eg. due to an exception in the toString() * method of the object) then the length() method returns 0 and the * operator * returns NULL. @@ -2681,30 +2768,43 @@ class V8_EXPORT String : public Name { */ class V8_EXPORT Symbol : public Name { public: - // Returns the print name string of the symbol, or undefined if none. + /** + * Returns the print name string of the symbol, or undefined if none. + */ Local Name() const; - // Create a symbol. If name is not empty, it will be used as the description. + /** + * Create a symbol. If name is not empty, it will be used as the description. + */ static Local New(Isolate* isolate, Local name = Local()); - // Access global symbol registry. - // Note that symbols created this way are never collected, so - // they should only be used for statically fixed properties. - // Also, there is only one global name space for the names used as keys. - // To minimize the potential for clashes, use qualified names as keys. + /** + * Access global symbol registry. + * Note that symbols created this way are never collected, so + * they should only be used for statically fixed properties. + * Also, there is only one global name space for the names used as keys. + * To minimize the potential for clashes, use qualified names as keys. + */ static Local For(Isolate *isolate, Local name); - // Retrieve a global symbol. Similar to |For|, but using a separate - // registry that is not accessible by (and cannot clash with) JavaScript code. + /** + * Retrieve a global symbol. Similar to |For|, but using a separate + * registry that is not accessible by (and cannot clash with) JavaScript code. + */ static Local ForApi(Isolate *isolate, Local name); // Well-known symbols + static Local GetHasInstance(Isolate* isolate); + static Local GetIsConcatSpreadable(Isolate* isolate); static Local GetIterator(Isolate* isolate); - static Local GetUnscopables(Isolate* isolate); + static Local GetMatch(Isolate* isolate); + static Local GetReplace(Isolate* isolate); + static Local GetSearch(Isolate* isolate); + static Local GetSplit(Isolate* isolate); static Local GetToPrimitive(Isolate* isolate); static Local GetToStringTag(Isolate* isolate); - static Local GetIsConcatSpreadable(Isolate* isolate); + static Local GetUnscopables(Isolate* isolate); V8_INLINE static Symbol* Cast(Value* obj); @@ -2721,20 +2821,26 @@ class V8_EXPORT Symbol : public Name { */ class V8_EXPORT Private : public Data { public: - // Returns the print name string of the private symbol, or undefined if none. + /** + * Returns the print name string of the private symbol, or undefined if none. + */ Local Name() const; - // Create a private symbol. If name is not empty, it will be the description. + /** + * Create a private symbol. If name is not empty, it will be the description. + */ static Local New(Isolate* isolate, Local name = Local()); - // Retrieve a global private symbol. If a symbol with this name has not - // been retrieved in the same isolate before, it is created. - // Note that private symbols created this way are never collected, so - // they should only be used for statically fixed properties. - // Also, there is only one global name space for the names used as keys. - // To minimize the potential for clashes, use qualified names as keys, - // e.g., "Class#property". + /** + * Retrieve a global private symbol. If a symbol with this name has not + * been retrieved in the same isolate before, it is created. + * Note that private symbols created this way are never collected, so + * they should only be used for statically fixed properties. + * Also, there is only one global name space for the names used as keys. + * To minimize the potential for clashes, use qualified names as keys, + * e.g., "Class#property". + */ static Local ForApi(Isolate* isolate, Local name); private: @@ -3000,15 +3106,16 @@ class V8_EXPORT Object : public Value { Local key); V8_DEPRECATE_SOON("Use maybe version", bool Delete(Local key)); - // TODO(dcarney): mark V8_WARN_UNUSED_RESULT - Maybe Delete(Local context, Local key); + V8_WARN_UNUSED_RESULT Maybe Delete(Local context, + Local key); V8_DEPRECATED("Use maybe version", bool Has(uint32_t index)); - V8_WARN_UNUSED_RESULT Maybe Has(Local context, uint32_t index); + V8_WARN_UNUSED_RESULT Maybe Has(Local context, + uint32_t index); V8_DEPRECATED("Use maybe version", bool Delete(uint32_t index)); - // TODO(dcarney): mark V8_WARN_UNUSED_RESULT - Maybe Delete(Local context, uint32_t index); + V8_WARN_UNUSED_RESULT Maybe Delete(Local context, + uint32_t index); V8_DEPRECATED("Use maybe version", bool SetAccessor(Local name, @@ -3024,8 +3131,8 @@ class V8_EXPORT Object : public Value { Local data = Local(), AccessControl settings = DEFAULT, PropertyAttribute attribute = None)); - // TODO(dcarney): mark V8_WARN_UNUSED_RESULT - Maybe SetAccessor(Local context, Local name, + V8_WARN_UNUSED_RESULT Maybe SetAccessor(Local context, + Local name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter = 0, MaybeLocal data = MaybeLocal(), @@ -3037,6 +3144,16 @@ class V8_EXPORT Object : public Value { PropertyAttribute attribute = None, AccessControl settings = DEFAULT); + /** + * Sets a native data property like Template::SetNativeDataProperty, but + * this method sets on this object directly. + */ + V8_WARN_UNUSED_RESULT Maybe SetNativeDataProperty( + Local context, Local name, + AccessorNameGetterCallback getter, + AccessorNameSetterCallback setter = nullptr, + Local data = Local(), PropertyAttribute attributes = None); + /** * Functionality for private properties. * This is an experimental feature, use at your own risk. @@ -3515,6 +3632,7 @@ class FunctionCallbackInfo { protected: friend class internal::FunctionCallbackArguments; friend class internal::CustomArguments; + friend class debug::ConsoleCallArguments; static const int kHolderIndex = 0; static const int kIsolateIndex = 1; static const int kReturnValueDefaultValueIndex = 2; @@ -3779,12 +3897,12 @@ class V8_EXPORT Promise : public Object { * Ignored if the promise is no longer pending. */ V8_DEPRECATE_SOON("Use maybe version", void Resolve(Local value)); - // TODO(dcarney): mark V8_WARN_UNUSED_RESULT - Maybe Resolve(Local context, Local value); + V8_WARN_UNUSED_RESULT Maybe Resolve(Local context, + Local value); V8_DEPRECATE_SOON("Use maybe version", void Reject(Local value)); - // TODO(dcarney): mark V8_WARN_UNUSED_RESULT - Maybe Reject(Local context, Local value); + V8_WARN_UNUSED_RESULT Maybe Reject(Local context, + Local value); V8_INLINE static Resolver* Cast(Value* obj); @@ -3933,11 +4051,44 @@ class V8_EXPORT Proxy : public Object { static void CheckCast(Value* obj); }; +// TODO(mtrofin): rename WasmCompiledModule to WasmModuleObject, for +// consistency with internal APIs. class V8_EXPORT WasmCompiledModule : public Object { public: typedef std::pair, size_t> SerializedModule; // A buffer that is owned by the caller. typedef std::pair CallerOwnedBuffer; + + // An opaque, native heap object for transferring wasm modules. It + // supports move semantics, and does not support copy semantics. + class TransferrableModule final { + public: + TransferrableModule(TransferrableModule&& src) = default; + TransferrableModule(const TransferrableModule& src) = delete; + + TransferrableModule& operator=(TransferrableModule&& src) = default; + TransferrableModule& operator=(const TransferrableModule& src) = delete; + + private: + typedef std::pair, size_t> OwnedBuffer; + friend class WasmCompiledModule; + TransferrableModule(OwnedBuffer&& code, OwnedBuffer&& bytes) + : compiled_code(std::move(code)), wire_bytes(std::move(bytes)) {} + + OwnedBuffer compiled_code = {nullptr, 0}; + OwnedBuffer wire_bytes = {nullptr, 0}; + }; + + // Get an in-memory, non-persistable, and context-independent (meaning, + // suitable for transfer to another Isolate and Context) representation + // of this wasm compiled module. + TransferrableModule GetTransferrableModule(); + + // Efficiently re-create a WasmCompiledModule, without recompiling, from + // a TransferrableModule. + static MaybeLocal FromTransferrableModule( + Isolate* isolate, const TransferrableModule&); + // Get the wasm-encoded bytes that were used to compile this module. Local GetWasmWireBytes(); @@ -3953,16 +4104,49 @@ class V8_EXPORT WasmCompiledModule : public Object { V8_INLINE static WasmCompiledModule* Cast(Value* obj); private: + // TODO(ahaas): please remove the friend once streamed compilation is + // implemented + friend class WasmModuleObjectBuilder; + static MaybeLocal Deserialize( Isolate* isolate, const CallerOwnedBuffer& serialized_module, const CallerOwnedBuffer& wire_bytes); static MaybeLocal Compile(Isolate* isolate, const uint8_t* start, size_t length); + static CallerOwnedBuffer AsCallerOwned( + const TransferrableModule::OwnedBuffer& buff) { + return {buff.first.get(), buff.second}; + } + WasmCompiledModule(); static void CheckCast(Value* obj); }; +class V8_EXPORT WasmModuleObjectBuilder final { + public: + WasmModuleObjectBuilder(Isolate* isolate) : isolate_(isolate) {} + // The buffer passed into OnBytesReceived is owned by the caller. + void OnBytesReceived(const uint8_t*, size_t size); + MaybeLocal Finish(); + + private: + Isolate* isolate_ = nullptr; + // TODO(ahaas): We probably need none of this below here once streamed + // compilation is implemented. + typedef std::pair, size_t> Buffer; + + // Disable copy semantics *in this implementation*. We can choose to + // relax this, albeit it's not clear why. + WasmModuleObjectBuilder(const WasmModuleObjectBuilder&) = delete; + WasmModuleObjectBuilder(WasmModuleObjectBuilder&&) = default; + WasmModuleObjectBuilder& operator=(const WasmModuleObjectBuilder&) = delete; + WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&) = default; + + std::vector received_buffers_; + size_t total_size_ = 0; +}; + #ifndef V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT // The number of required internal fields can be defined by embedder. #define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT 2 @@ -4008,6 +4192,11 @@ class V8_EXPORT ArrayBuffer : public Object { */ virtual void* AllocateUninitialized(size_t length) = 0; + /** + * Reserved |length| bytes, but do not commit the memory. Must call + * |SetProtection| to make memory accessible. + */ + // TODO(eholk): make this pure virtual once blink implements this. virtual void* Reserve(size_t length); /** @@ -4017,15 +4206,33 @@ class V8_EXPORT ArrayBuffer : public Object { virtual void Free(void* data, size_t length) = 0; enum class AllocationMode { kNormal, kReservation }; + + /** + * Free the memory block of size |length|, pointed to by |data|. + * That memory is guaranteed to be previously allocated by |Allocate| or + * |Reserve|, depending on |mode|. + */ + // TODO(eholk): make this pure virtual once blink implements this. virtual void Free(void* data, size_t length, AllocationMode mode); + enum class Protection { kNoAccess, kReadWrite }; + + /** + * Change the protection on a region of memory. + * + * On platforms that make a distinction between reserving and committing + * memory, changing the protection to kReadWrite must also ensure the memory + * is committed. + */ + // TODO(eholk): make this pure virtual once blink implements this. virtual void SetProtection(void* data, size_t length, Protection protection); /** * malloc/free based convenience allocator. * - * Caller takes ownership. + * Caller takes ownership, i.e. the returned object needs to be freed using + * |delete allocator| once it is no longer in use. */ static Allocator* NewDefaultAllocator(); }; @@ -4069,8 +4276,11 @@ class V8_EXPORT ArrayBuffer : public Object { /** * Create a new ArrayBuffer over an existing memory block. * The created array buffer is by default immediately in externalized state. - * The memory block will not be reclaimed when a created ArrayBuffer - * is garbage-collected. + * In externalized state, the memory block will not be reclaimed when a + * created ArrayBuffer is garbage-collected. + * In internalized state, the memory block will be released using + * |Allocator::Free| once all ArrayBuffers referencing it are collected by + * the garbage collector. */ static Local New( Isolate* isolate, void* data, size_t byte_length, @@ -4121,6 +4331,7 @@ class V8_EXPORT ArrayBuffer : public Object { V8_INLINE static ArrayBuffer* Cast(Value* obj); static const int kInternalFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT; + static const int kEmbedderFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT; private: ArrayBuffer(); @@ -4174,6 +4385,8 @@ class V8_EXPORT ArrayBufferView : public Object { static const int kInternalFieldCount = V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT; + static const int kEmbedderFieldCount = + V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT; private: ArrayBufferView(); @@ -4583,11 +4796,12 @@ class V8_EXPORT RegExp : public Object { */ enum Flags { kNone = 0, - kGlobal = 1, - kIgnoreCase = 2, - kMultiline = 4, - kSticky = 8, - kUnicode = 16 + kGlobal = 1 << 0, + kIgnoreCase = 1 << 1, + kMultiline = 1 << 2, + kSticky = 1 << 3, + kUnicode = 1 << 4, + kDotAll = 1 << 5, }; /** @@ -4642,7 +4856,8 @@ class V8_EXPORT External : public Value { 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) + F(ArrayProto_values, array_values_iterator) \ + F(IteratorPrototype, initial_iterator_prototype) enum Intrinsic { #define V8_DECL_INTRINSIC(name, iname) k##name, @@ -5980,19 +6195,7 @@ typedef void (*FailedAccessCheckCallback)(Local target, typedef bool (*AllowCodeGenerationFromStringsCallback)(Local context); // --- WASM compilation callbacks --- - -/** - * Callback to check if a buffer source may be compiled to WASM, given - * the compilation is attempted as a promise or not. - */ - -typedef bool (*AllowWasmCompileCallback)(Isolate* isolate, Local source, - bool as_promise); - -typedef bool (*AllowWasmInstantiateCallback)(Isolate* isolate, - Local module_or_bytes, - MaybeLocal ffi, - bool as_promise); +typedef bool (*ExtensionCallback)(const FunctionCallbackInfo&); // --- Garbage Collection Callbacks --- @@ -6058,6 +6261,11 @@ class V8_EXPORT HeapStatistics { size_t heap_size_limit() { return heap_size_limit_; } size_t malloced_memory() { return malloced_memory_; } size_t peak_malloced_memory() { return peak_malloced_memory_; } + + /** + * Returns a 0/1 boolean, which signifies whether the V8 overwrite heap + * garbage with a bit pattern. + */ size_t does_zap_garbage() { return does_zap_garbage_; } private: @@ -6306,7 +6514,7 @@ class V8_EXPORT EmbedderHeapTracer { * wrappers from them when called through |AdvanceTracing|. */ virtual void RegisterV8References( - const std::vector >& internal_fields) = 0; + const std::vector >& embedder_fields) = 0; /** * Called at the beginning of a GC cycle. @@ -6369,6 +6577,9 @@ struct SerializeInternalFieldsCallback { CallbackFunction callback; void* data; }; +// Note that these fields are called "internal fields" in the API and called +// "embedder fields" within V8. +typedef SerializeInternalFieldsCallback SerializeEmbedderFieldsCallback; /** * Callback and supporting data used to implement embedder logic to deserialize @@ -6384,6 +6595,7 @@ struct DeserializeInternalFieldsCallback { void* data); void* data; }; +typedef DeserializeInternalFieldsCallback DeserializeEmbedderFieldsCallback; /** * Isolate represents an isolated instance of the V8 engine. V8 isolates have @@ -6415,8 +6627,9 @@ class V8_EXPORT Isolate { * The optional entry_hook allows the host application to provide the * address of a function that's invoked on entry to every V8-generated * function. Note that entry_hook is invoked at the very start of each - * generated function. Furthermore, if an entry_hook is given, V8 will - * not use a snapshot, including custom snapshots. + * generated function. + * An entry_hook can only be provided in no-snapshot builds; in snapshot + * builds it must be nullptr. */ FunctionEntryHook entry_hook; @@ -6468,7 +6681,7 @@ class V8_EXPORT Isolate { /** * Whether calling Atomics.wait (a function that may block) is allowed in - * this isolate. + * this isolate. This can also be configured via SetAllowAtomicsWait. */ bool allow_atomics_wait; @@ -6706,6 +6919,12 @@ class V8_EXPORT Isolate { */ void Dispose(); + /** + * Dumps activated low-level V8 internal stats. This can be used instead + * of performing a full isolate disposal. + */ + void DumpAndResetStats(); + /** * Discards all V8 thread-specific data for the Isolate. Should be used * if a thread is terminating and it has used an Isolate that will outlive @@ -7230,6 +7449,14 @@ class V8_EXPORT Isolate { void SetAllowCodeGenerationFromStringsCallback( AllowCodeGenerationFromStringsCallback callback); + /** + * Embedder over{ride|load} injection points for wasm APIs. + */ + void SetWasmModuleCallback(ExtensionCallback callback); + void SetWasmCompileCallback(ExtensionCallback callback); + void SetWasmInstanceCallback(ExtensionCallback callback); + void SetWasmInstantiateCallback(ExtensionCallback callback); + /** * Check if V8 is dead and therefore unusable. This is the case after * fatal errors such as out-of-memory situations. @@ -7314,6 +7541,13 @@ class V8_EXPORT Isolate { */ bool IsInUse(); + /** + * Set whether calling Atomics.wait (a function that may block) is allowed in + * this isolate. This can also be configured via + * CreateParams::allow_atomics_wait. + */ + void SetAllowAtomicsWait(bool allow); + Isolate() = delete; ~Isolate() = delete; Isolate(const Isolate&) = delete; @@ -7685,6 +7919,35 @@ class V8_EXPORT V8 { */ static void ShutdownPlatform(); +#if V8_OS_LINUX && V8_TARGET_ARCH_X64 && !V8_OS_ANDROID + /** + * Give the V8 signal handler a chance to handle a fault. + * + * This function determines whether a memory access violation can be recovered + * by V8. If so, it will return true and modify context to return to a code + * fragment that can recover from the fault. Otherwise, TryHandleSignal will + * return false. + * + * The parameters to this function correspond to those passed to a Linux + * signal handler. + * + * \param signal_number The signal number. + * + * \param info A pointer to the siginfo_t structure provided to the signal + * handler. + * + * \param context The third argument passed to the Linux signal handler, which + * points to a ucontext_t structure. + */ + static bool TryHandleSignal(int signal_number, void* info, void* context); +#endif // V8_OS_LINUX + + /** + * Enable the default signal handler rather than using one provided by the + * embedder. + */ + static bool RegisterDefaultSignalHandler(); + private: V8(); @@ -7811,20 +8074,33 @@ class Maybe { V8_INLINE bool IsNothing() const { return !has_value_; } V8_INLINE bool IsJust() const { return has_value_; } - // Will crash if the Maybe<> is nothing. + /** + * An alias for |FromJust|. Will crash if the Maybe<> is nothing. + */ V8_INLINE T ToChecked() const { return FromJust(); } + /** + * Converts this Maybe<> to a value of type T. If this Maybe<> is + * nothing (empty), |false| is returned and |out| is left untouched. + */ V8_WARN_UNUSED_RESULT V8_INLINE bool To(T* out) const { if (V8_LIKELY(IsJust())) *out = value_; return IsJust(); } - // Will crash if the Maybe<> is nothing. + /** + * Converts this Maybe<> to a value of type T. If this Maybe<> is + * nothing (empty), V8 will crash the process. + */ V8_INLINE T FromJust() const { if (V8_UNLIKELY(!IsJust())) V8::FromJustIsNothing(); return value_; } + /** + * Converts this Maybe<> to a value of type T, using a default value if this + * Maybe<> is nothing (empty). + */ V8_INLINE T FromMaybe(const T& default_value) const { return has_value_ ? value_ : default_value; } @@ -8103,7 +8379,7 @@ class V8_EXPORT Context { * \param context_snapshot_index The index of the context snapshot to * deserialize from. Use v8::Context::New for the default snapshot. * - * \param internal_fields_deserializer Optional callback to deserialize + * \param embedder_fields_deserializer Optional callback to deserialize * internal fields. It should match the SerializeInternalFieldCallback used * to serialize. * @@ -8114,7 +8390,7 @@ class V8_EXPORT Context { static MaybeLocal FromSnapshot( Isolate* isolate, size_t context_snapshot_index, - DeserializeInternalFieldsCallback internal_fields_deserializer = + DeserializeInternalFieldsCallback embedder_fields_deserializer = DeserializeInternalFieldsCallback(), ExtensionConfiguration* extensions = nullptr, MaybeLocal global_object = MaybeLocal()); @@ -8170,16 +8446,14 @@ class V8_EXPORT Context { Isolate* GetIsolate(); /** - * The field at kDebugIdIndex is reserved for V8 debugger implementation. - * The value is propagated to the scripts compiled in given Context and - * can be used for filtering scripts. + * The field at kDebugIdIndex used to be reserved for the inspector. + * It now serves no purpose. */ enum EmbedderDataFields { kDebugIdIndex = 0 }; /** * Gets the embedder data with the given index, which must have been set by a - * previous call to SetEmbedderData with the same index. Note that index 0 - * currently has a special meaning for Chrome's debugger. + * previous call to SetEmbedderData with the same index. */ V8_INLINE Local GetEmbedderData(int index); @@ -8695,11 +8969,11 @@ Local MaybeLocal::ToLocalChecked() { template void* WeakCallbackInfo::GetInternalField(int index) const { #ifdef V8_ENABLE_CHECKS - if (index < 0 || index >= kInternalFieldsInWeakCallback) { + if (index < 0 || index >= kEmbedderFieldsInWeakCallback) { V8::InternalFieldOutOfBounds(index); } #endif - return internal_fields_[index]; + return embedder_fields_[index]; } diff --git a/deps/v8/include/v8config.h b/deps/v8/include/v8config.h index c34cb69a89112e..964949c24c3293 100644 --- a/deps/v8/include/v8config.h +++ b/deps/v8/include/v8config.h @@ -316,7 +316,7 @@ // V8_NORETURN void MyAbort() { abort(); } #if V8_HAS_ATTRIBUTE_NORETURN # define V8_NORETURN __attribute__((noreturn)) -#elif HAS_DECLSPEC_NORETURN +#elif V8_HAS_DECLSPEC_NORETURN # define V8_NORETURN __declspec(noreturn) #else # define V8_NORETURN /* NOT SUPPORTED */ diff --git a/deps/v8/infra/config/cq.cfg b/deps/v8/infra/config/cq.cfg index 72381ee38801c8..dcf8e5c0b726e1 100644 --- a/deps/v8/infra/config/cq.cfg +++ b/deps/v8/infra/config/cq.cfg @@ -32,6 +32,7 @@ verifiers { buckets { name: "master.tryserver.v8" builders { name: "v8_android_arm_compile_rel" } + builders { name: "v8_node_linux64_rel" } builders { name: "v8_linux64_asan_rel_ng" } builders { name: "v8_linux64_asan_rel_ng_triggered" @@ -42,6 +43,7 @@ verifiers { name: "v8_linux64_avx2_rel_ng_triggered" triggered_by: "v8_linux64_avx2_rel_ng" } + builders { name: "v8_linux64_gcc_compile_dbg" } builders { name: "v8_linux64_gyp_rel_ng" } builders { name: "v8_linux64_gyp_rel_ng_triggered" @@ -119,7 +121,7 @@ verifiers { } builders { name: "v8_linux64_sanitizer_coverage_rel" - experiment_percentage: 20 + experiment_percentage: 100 } } buckets { diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index 2a78d8627f52c0..1a8247fc2b71af 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -24,6 +24,18 @@ 'mips64el.debug': 'default_debug_mips64el', 'mips64el.optdebug': 'default_optdebug_mips64el', 'mips64el.release': 'default_release_mips64el', + 'ppc.debug': 'default_debug_ppc', + 'ppc.optdebug': 'default_optdebug_ppc', + 'ppc.release': 'default_release_ppc', + 'ppc64.debug': 'default_debug_ppc64', + 'ppc64.optdebug': 'default_optdebug_ppc64', + 'ppc64.release': 'default_release_ppc64', + 's390.debug': 'default_debug_s390', + 's390.optdebug': 'default_optdebug_s390', + 's390.release': 'default_release_s390', + 's390x.debug': 'default_debug_s390x', + 's390x.optdebug': 'default_optdebug_s390x', + 's390x.release': 'default_release_s390x', 'x64.debug': 'default_debug_x64', 'x64.optdebug': 'default_optdebug_x64', 'x64.release': 'default_release_x64', @@ -72,6 +84,8 @@ # Sanitizers. 'V8 Linux64 ASAN': 'gn_release_x64_asan', 'V8 Linux64 TSAN': 'gn_release_x64_tsan', + 'V8 Linux64 TSAN - concurrent marking': + 'gn_release_x64_tsan_concurrent_marking', 'V8 Linux - arm64 - sim - MSAN': 'gn_release_simulate_arm64_msan', # Clusterfuzz. 'V8 Linux64 - release builder': 'gn_release_x64_correctness_fuzzer', @@ -86,17 +100,18 @@ 'gn_debug_simulate_mipsel_asan_edge', # Misc. 'V8 Linux gcc 4.8': 'gn_release_x86_gcc', + 'V8 Linux64 gcc 4.8 - debug': 'gn_debug_x64_gcc', # FYI. 'V8 Linux - swarming staging': 'gn_release_x64', # TODO(machenbach): Figure out if symbolized is still needed. The # original config also specified -O1, which we dropped because chromium # doesn't have it (anymore). 'V8 Linux64 - cfi': 'gyp_release_x64_cfi_symbolized', - 'V8 Linux - vtunejit': 'gyp_debug_x86_vtunejit', + 'V8 Linux - vtunejit': 'gn_debug_x86_vtunejit', 'V8 Linux64 - gcov coverage': 'gyp_release_x64_gcc_coverage', - 'V8 Linux - predictable': 'gyp_release_x86_predictable', + 'V8 Linux - predictable': 'gn_release_x86_predictable', 'V8 Linux - full debug': 'gyp_full_debug_x86', - 'V8 Linux - interpreted regexp': 'gyp_release_x86_interpreted_regexp', + 'V8 Linux - interpreted regexp': 'gn_release_x86_interpreted_regexp', 'V8 Random Deopt Fuzzer - debug': 'gyp_debug_x86', }, @@ -165,6 +180,7 @@ 'v8_linux_nosnap_dbg': 'gn_debug_x86_no_snap_trybot', 'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols', + 'v8_linux64_gcc_compile_dbg': 'gn_debug_x64_gcc', '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', @@ -175,6 +191,8 @@ 'v8_linux64_sanitizer_coverage_rel': 'gyp_release_x64_asan_minimal_symbols_coverage', 'v8_linux64_tsan_rel': 'gn_release_x64_tsan_minimal_symbols', + 'v8_linux64_tsan_concurrent_marking_rel_ng': + 'gn_release_x64_tsan_concurrent_marking_minimal_symbols', 'v8_win_dbg': 'gn_debug_x86_trybot', 'v8_win_compile_dbg': 'gn_debug_x86_trybot', 'v8_win_rel_ng': 'gn_release_x86_trybot', @@ -234,6 +252,34 @@ 'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'], 'default_release_mips64el': [ 'gn', 'release', 'simulate_mips64el'], + 'default_debug_ppc': [ + 'gn', 'debug', 'simulate_ppc', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_ppc': [ + 'gn', 'debug', 'simulate_ppc', 'v8_enable_slow_dchecks'], + 'default_release_ppc': [ + 'gn', 'release', 'simulate_ppc'], + 'default_debug_ppc64': [ + 'gn', 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_ppc64': [ + 'gn', 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks'], + 'default_release_ppc64': [ + 'gn', 'release', 'simulate_ppc64'], + 'default_debug_s390': [ + 'gn', 'debug', 'simulate_s390', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_s390': [ + 'gn', 'debug', 'simulate_s390', 'v8_enable_slow_dchecks'], + 'default_release_s390': [ + 'gn', 'release', 'simulate_s390'], + 'default_debug_s390x': [ + 'gn', 'debug', 'simulate_s390x', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_s390x': [ + 'gn', 'debug', 'simulate_s390x', 'v8_enable_slow_dchecks'], + 'default_release_s390x': [ + 'gn', 'release', 'simulate_s390x'], 'default_debug_x64': [ 'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_x64': [ @@ -258,7 +304,8 @@ 'gn_debug_simulate_arm64_asan_edge': [ 'gn', 'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'], 'gn_debug_simulate_arm64_no_snap': [ - 'gn', 'debug_bot', 'simulate_arm64', 'swarming', 'v8_snapshot_none'], + 'gn', 'debug', 'simulate_arm64', 'shared', 'goma', + 'v8_optimized_debug', 'swarming', 'v8_snapshot_none'], 'gn_debug_simulate_mipsel_asan_edge': [ 'gn', 'debug_bot', 'simulate_mipsel', 'asan', 'edge'], @@ -320,6 +367,12 @@ 'gn', 'release_trybot', 'x64', 'swarming'], 'gn_release_x64_tsan': [ 'gn', 'release_bot', 'x64', 'tsan', 'swarming'], + 'gn_release_x64_tsan_concurrent_marking': [ + 'gn', 'release_bot', 'x64', 'v8_enable_concurrent_marking', 'tsan', + 'swarming'], + 'gn_release_x64_tsan_concurrent_marking_minimal_symbols': [ + 'gn', 'release_bot', 'x64', 'v8_enable_concurrent_marking', 'tsan', + 'minimal_symbols', 'swarming'], 'gn_release_x64_tsan_minimal_symbols': [ 'gn', 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'], 'gn_release_x64_valgrind': [ @@ -337,6 +390,8 @@ 'gn', 'debug_bot', 'x64', 'asan', 'lsan', 'edge'], 'gn_debug_x64_custom': [ 'gn', 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'], + 'gn_debug_x64_gcc': [ + 'gn', 'debug_bot', 'x64', 'gcc'], 'gn_debug_x64_minimal_symbols': [ 'gn', 'debug_bot', 'x64', 'minimal_symbols', 'swarming'], 'gn_debug_x64_trybot': [ @@ -350,14 +405,15 @@ 'gn_debug_x86_minimal_symbols': [ 'gn', 'debug_bot', 'x86', 'minimal_symbols', 'swarming'], 'gn_debug_x86_no_i18n': [ - 'gn', 'debug_bot', 'x86', 'swarming', 'v8_disable_inspector', - 'v8_no_i18n'], + 'gn', 'debug_bot', 'x86', 'swarming', 'v8_no_i18n'], 'gn_debug_x86_no_snap': [ 'gn', 'debug_bot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_debug_x86_no_snap_trybot': [ 'gn', 'debug_trybot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_debug_x86_trybot': [ 'gn', 'debug_trybot', 'x86', 'swarming'], + 'gn_debug_x86_vtunejit': [ + 'gn', 'debug_bot', 'x86', 'v8_enable_vtunejit'], # GN release configs for x86. 'gn_release_x86': [ @@ -370,11 +426,12 @@ 'gn', 'release_bot', 'x86', 'gcmole', 'swarming'], 'gn_release_x86_gcmole_trybot': [ 'gn', 'release_trybot', 'x86', 'gcmole', 'swarming'], + 'gn_release_x86_interpreted_regexp': [ + 'gn', 'release_bot', 'x86', 'v8_interpreted_regexp'], 'gn_release_x86_minimal_symbols': [ 'gn', 'release_bot', 'x86', 'minimal_symbols', 'swarming'], 'gn_release_x86_no_i18n_trybot': [ - 'gn', 'release_trybot', 'x86', 'swarming', 'v8_disable_inspector', - 'v8_no_i18n'], + 'gn', 'release_trybot', 'x86', 'swarming', 'v8_no_i18n'], 'gn_release_x86_no_snap': [ 'gn', 'release_bot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_release_x86_no_snap_shared_minimal_symbols': [ @@ -382,6 +439,8 @@ 'v8_snapshot_none'], 'gn_release_x86_no_snap_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming', 'v8_snapshot_none'], + 'gn_release_x86_predictable': [ + 'gn', 'release_bot', 'x86', 'v8_enable_verify_predictable'], 'gn_release_x86_shared_verify_heap': [ 'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'], 'gn_release_x86_trybot': [ @@ -397,8 +456,6 @@ # Gyp debug configs for x86. 'gyp_debug_x86': [ 'gyp', 'debug_bot', 'x86', 'swarming'], - 'gyp_debug_x86_vtunejit': [ - 'gyp', 'debug_bot', 'x86', 'v8_enable_vtunejit'], 'gyp_full_debug_x86': [ 'gyp', 'debug', 'x86', 'goma', 'static', 'v8_enable_slow_dchecks', 'v8_full_debug'], @@ -432,10 +489,6 @@ # Gyp release configs for x86. 'gyp_release_x86_disassembler': [ 'gyp', 'release_bot', 'x86', 'v8_enable_disassembler'], - 'gyp_release_x86_interpreted_regexp': [ - 'gyp', 'release_bot', 'x86', 'v8_interpreted_regexp'], - 'gyp_release_x86_predictable': [ - 'gyp', 'release_bot', 'x86', 'v8_enable_verify_predictable'], }, 'mixins': { @@ -460,8 +513,8 @@ }, 'bb': { - 'gn_args': 'sanitizer_coverage_flags="bb"', - 'gyp_defines': 'sanitizer_coverage=bb', + 'gn_args': 'sanitizer_coverage_flags="bb,trace-pc-guard"', + 'gyp_defines': 'sanitizer_coverage=bb,trace-pc-guard', }, 'cfi': { @@ -510,8 +563,8 @@ }, 'edge': { - 'gn_args': 'sanitizer_coverage_flags="edge"', - 'gyp_defines': 'sanitizer_coverage=edge', + 'gn_args': 'sanitizer_coverage_flags="trace-pc-guard"', + 'gyp_defines': 'sanitizer_coverage=trace-pc-guard', }, 'gcc': { @@ -657,13 +710,12 @@ 'gyp_defines': 'v8_enable_i18n_support=0 icu_use_data_file_flag=0', }, - 'v8_correctness_fuzzer': { - 'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true', + 'v8_enable_concurrent_marking': { + 'gn_args': 'v8_enable_concurrent_marking=true', }, - 'v8_disable_inspector': { - 'gn_args': 'v8_enable_inspector=false', - 'gyp_defines': 'v8_enable_inspector=0 ', + 'v8_correctness_fuzzer': { + 'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true', }, 'v8_enable_disassembler': { diff --git a/deps/v8/src/DEPS b/deps/v8/src/DEPS index e9026b130d6bf3..bbf47e61071faf 100644 --- a/deps/v8/src/DEPS +++ b/deps/v8/src/DEPS @@ -1,6 +1,8 @@ include_rules = [ "+base/trace_event/common/trace_event_common.h", "+src", + "-src/asmjs", + "+src/asmjs/asm-js.h", "-src/compiler", "+src/compiler/pipeline.h", "+src/compiler/code-assembler.h", @@ -18,6 +20,9 @@ include_rules = [ "+src/interpreter/bytecode-register.h", "+src/interpreter/bytecodes.h", "+src/interpreter/interpreter.h", + "+src/interpreter/setup-interpreter.h", + "-src/trap-handler", + "+src/trap-handler/trap-handler.h", "+testing/gtest/include/gtest/gtest_prod.h", "-src/libplatform", "-include/libplatform" diff --git a/deps/v8/src/OWNERS b/deps/v8/src/OWNERS index 94b7fbb32e7b9a..8bbbab6ecb7287 100644 --- a/deps/v8/src/OWNERS +++ b/deps/v8/src/OWNERS @@ -1,4 +1,5 @@ -per-file i18n.*=cira@chromium.org -per-file i18n.*=mnita@google.com +per-file intl.*=cira@chromium.org +per-file intl.*=mnita@google.com +per-file intl.*=jshin@chromium.org per-file typing-asm.*=aseemgarg@chromium.org per-file typing-asm.*=bradnelson@chromium.org diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 1f2ce97240f5d1..98f780d5895dbd 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -681,23 +681,6 @@ static Handle GetFunctionPrototype(Isolate* isolate, return Handle(function->prototype(), isolate); } - -MUST_USE_RESULT static MaybeHandle SetFunctionPrototype( - Isolate* isolate, Handle function, Handle value) { - JSFunction::SetPrototype(function, value); - DCHECK(function->prototype() == *value); - return function; -} - - -MaybeHandle Accessors::FunctionSetPrototype(Handle function, - Handle prototype) { - DCHECK(function->IsConstructor()); - Isolate* isolate = function->GetIsolate(); - return SetFunctionPrototype(isolate, function, prototype); -} - - void Accessors::FunctionPrototypeGetter( v8::Local name, const v8::PropertyCallbackInfo& info) { @@ -719,11 +702,8 @@ void Accessors::FunctionPrototypeSetter( Handle value = Utils::OpenHandle(*val); Handle object = Handle::cast(Utils::OpenHandle(*info.Holder())); - if (SetFunctionPrototype(isolate, object, value).is_null()) { - isolate->OptionalRescheduleException(false); - } else { - info.GetReturnValue().Set(true); - } + JSFunction::SetPrototype(object, value); + info.GetReturnValue().Set(true); } diff --git a/deps/v8/src/accessors.h b/deps/v8/src/accessors.h index a4d51fd18abfc4..52420d91de347d 100644 --- a/deps/v8/src/accessors.h +++ b/deps/v8/src/accessors.h @@ -90,8 +90,6 @@ class Accessors : public AllStatic { }; // Accessor functions called directly from the runtime system. - MUST_USE_RESULT static MaybeHandle FunctionSetPrototype( - Handle object, Handle value); static Handle FunctionGetArguments(Handle object); // Returns true for properties that are accessors to object fields. diff --git a/deps/v8/src/api-arguments.h b/deps/v8/src/api-arguments.h index 6c9ad7ad6b93f2..ca7b4833e9947e 100644 --- a/deps/v8/src/api-arguments.h +++ b/deps/v8/src/api-arguments.h @@ -7,6 +7,7 @@ #include "src/api.h" #include "src/isolate.h" +#include "src/visitors.h" namespace v8 { namespace internal { @@ -17,8 +18,8 @@ namespace internal { template class CustomArgumentsBase : public Relocatable { public: - virtual inline void IterateInstance(ObjectVisitor* v) { - v->VisitPointers(values_, values_ + kArrayLength); + virtual inline void IterateInstance(RootVisitor* v) { + v->VisitRootPointers(Root::kRelocatable, values_, values_ + kArrayLength); } protected: diff --git a/deps/v8/src/api-natives.cc b/deps/v8/src/api-natives.cc index 045ff470ab232e..ef51f950a5ecb8 100644 --- a/deps/v8/src/api-natives.cc +++ b/deps/v8/src/api-natives.cc @@ -36,7 +36,8 @@ class InvokeScope { MaybeHandle InstantiateObject(Isolate* isolate, Handle data, Handle new_target, - bool is_hidden_prototype); + bool is_hidden_prototype, + bool is_prototype); MaybeHandle InstantiateFunction(Isolate* isolate, Handle data, @@ -49,7 +50,7 @@ MaybeHandle Instantiate(Isolate* isolate, Handle data, Handle::cast(data), name); } else if (data->IsObjectTemplateInfo()) { return InstantiateObject(isolate, Handle::cast(data), - Handle(), false); + Handle(), false, false); } else { return data; } @@ -260,14 +261,25 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, return obj; } +// Whether or not to cache every instance: when we materialize a getter or +// setter from an lazy AccessorPair, we rely on this cache to be able to always +// return the same getter or setter. However, objects will be cloned anyways, +// so it's not observable if we didn't cache an instance. Furthermore, a badly +// behaved embedder might create an unlimited number of objects, so we limit +// the cache for those cases. +enum class CachingMode { kLimited, kUnlimited }; + MaybeHandle ProbeInstantiationsCache(Isolate* isolate, - int serial_number) { + int serial_number, + CachingMode caching_mode) { DCHECK_LE(1, serial_number); if (serial_number <= TemplateInfo::kFastTemplateInstantiationsCacheSize) { Handle fast_cache = isolate->fast_template_instantiations_cache(); return fast_cache->GetValue(isolate, serial_number - 1); - } else { + } else if (caching_mode == CachingMode::kUnlimited || + (serial_number <= + TemplateInfo::kSlowTemplateInstantiationsCacheSize)) { Handle slow_cache = isolate->slow_template_instantiations_cache(); int entry = slow_cache->FindEntry(serial_number); @@ -275,10 +287,13 @@ MaybeHandle ProbeInstantiationsCache(Isolate* isolate, return MaybeHandle(); } return handle(JSObject::cast(slow_cache->ValueAt(entry)), isolate); + } else { + return MaybeHandle(); } } void CacheTemplateInstantiation(Isolate* isolate, int serial_number, + CachingMode caching_mode, Handle object) { DCHECK_LE(1, serial_number); if (serial_number <= TemplateInfo::kFastTemplateInstantiationsCacheSize) { @@ -290,7 +305,9 @@ void CacheTemplateInstantiation(Isolate* isolate, int serial_number, isolate->native_context()->set_fast_template_instantiations_cache( *new_cache); } - } else { + } else if (caching_mode == CachingMode::kUnlimited || + (serial_number <= + TemplateInfo::kSlowTemplateInstantiationsCacheSize)) { Handle cache = isolate->slow_template_instantiations_cache(); auto new_cache = @@ -302,14 +319,17 @@ void CacheTemplateInstantiation(Isolate* isolate, int serial_number, } } -void UncacheTemplateInstantiation(Isolate* isolate, int serial_number) { +void UncacheTemplateInstantiation(Isolate* isolate, int serial_number, + CachingMode caching_mode) { DCHECK_LE(1, serial_number); if (serial_number <= TemplateInfo::kFastTemplateInstantiationsCacheSize) { Handle fast_cache = isolate->fast_template_instantiations_cache(); DCHECK(!fast_cache->get(serial_number - 1)->IsUndefined(isolate)); fast_cache->set_undefined(serial_number - 1); - } else { + } else if (caching_mode == CachingMode::kUnlimited || + (serial_number <= + TemplateInfo::kSlowTemplateInstantiationsCacheSize)) { Handle cache = isolate->slow_template_instantiations_cache(); int entry = cache->FindEntry(serial_number); @@ -338,7 +358,8 @@ bool IsSimpleInstantiation(Isolate* isolate, ObjectTemplateInfo* info, MaybeHandle InstantiateObject(Isolate* isolate, Handle info, Handle new_target, - bool is_hidden_prototype) { + bool is_hidden_prototype, + bool is_prototype) { Handle constructor; int serial_number = Smi::cast(info->serial_number())->value(); if (!new_target.is_null()) { @@ -352,7 +373,8 @@ MaybeHandle InstantiateObject(Isolate* isolate, // Fast path. Handle result; if (serial_number) { - if (ProbeInstantiationsCache(isolate, serial_number).ToHandle(&result)) { + if (ProbeInstantiationsCache(isolate, serial_number, CachingMode::kLimited) + .ToHandle(&result)) { return isolate->factory()->CopyJSObject(result); } } @@ -379,19 +401,27 @@ MaybeHandle InstantiateObject(Isolate* isolate, Handle object; ASSIGN_RETURN_ON_EXCEPTION(isolate, object, JSObject::New(constructor, new_target), JSObject); + + if (is_prototype) JSObject::OptimizeAsPrototype(object, FAST_PROTOTYPE); + ASSIGN_RETURN_ON_EXCEPTION( isolate, result, ConfigureInstance(isolate, object, info, is_hidden_prototype), JSObject); if (info->immutable_proto()) { JSObject::SetImmutableProto(object); } - // TODO(dcarney): is this necessary? - JSObject::MigrateSlowToFast(result, 0, "ApiNatives::InstantiateObject"); - - if (serial_number) { - CacheTemplateInstantiation(isolate, serial_number, result); - result = isolate->factory()->CopyJSObject(result); + if (!is_prototype) { + // Keep prototypes in slow-mode. Let them be lazily turned fast later on. + // TODO(dcarney): is this necessary? + JSObject::MigrateSlowToFast(result, 0, "ApiNatives::InstantiateObject"); + // Don't cache prototypes. + if (serial_number) { + CacheTemplateInstantiation(isolate, serial_number, CachingMode::kLimited, + result); + result = isolate->factory()->CopyJSObject(result); + } } + return result; } @@ -424,7 +454,9 @@ MaybeHandle InstantiateFunction(Isolate* isolate, int serial_number = Smi::cast(data->serial_number())->value(); if (serial_number) { Handle result; - if (ProbeInstantiationsCache(isolate, serial_number).ToHandle(&result)) { + if (ProbeInstantiationsCache(isolate, serial_number, + CachingMode::kUnlimited) + .ToHandle(&result)) { return Handle::cast(result); } } @@ -446,7 +478,7 @@ MaybeHandle InstantiateFunction(Isolate* isolate, InstantiateObject( isolate, handle(ObjectTemplateInfo::cast(prototype_templ), isolate), - Handle(), data->hidden_prototype()), + Handle(), data->hidden_prototype(), true), JSFunction); } Object* parent = data->parent_template(); @@ -466,14 +498,16 @@ MaybeHandle InstantiateFunction(Isolate* isolate, } if (serial_number) { // Cache the function. - CacheTemplateInstantiation(isolate, serial_number, function); + CacheTemplateInstantiation(isolate, serial_number, CachingMode::kUnlimited, + function); } MaybeHandle result = ConfigureInstance(isolate, function, data, data->hidden_prototype()); if (result.is_null()) { // Uncache on error. if (serial_number) { - UncacheTemplateInstantiation(isolate, serial_number); + UncacheTemplateInstantiation(isolate, serial_number, + CachingMode::kUnlimited); } return MaybeHandle(); } @@ -514,7 +548,8 @@ MaybeHandle ApiNatives::InstantiateObject( Handle data, Handle new_target) { Isolate* isolate = data->GetIsolate(); InvokeScope invoke_scope(isolate); - return ::v8::internal::InstantiateObject(isolate, data, new_target, false); + return ::v8::internal::InstantiateObject(isolate, data, new_target, false, + false); } MaybeHandle ApiNatives::InstantiateRemoteObject( @@ -524,22 +559,14 @@ MaybeHandle ApiNatives::InstantiateRemoteObject( Handle constructor( FunctionTemplateInfo::cast(data->constructor())); - Handle shared = - FunctionTemplateInfo::GetOrCreateSharedFunctionInfo(isolate, constructor); - Handle initial_map = isolate->factory()->CreateSloppyFunctionMap( - FUNCTION_WITH_WRITEABLE_PROTOTYPE); - Handle object_function = - isolate->factory()->NewFunctionFromSharedFunctionInfo( - initial_map, shared, isolate->factory()->undefined_value()); Handle object_map = isolate->factory()->NewMap( JS_SPECIAL_API_OBJECT_TYPE, - JSObject::kHeaderSize + data->internal_field_count() * kPointerSize, + JSObject::kHeaderSize + data->embedder_field_count() * kPointerSize, FAST_HOLEY_SMI_ELEMENTS); - JSFunction::SetInitialMap(object_function, object_map, - isolate->factory()->null_value()); + object_map->SetConstructor(*constructor); object_map->set_is_access_check_needed(true); - Handle object = isolate->factory()->NewJSObject(object_function); + Handle object = isolate->factory()->NewJSObjectFromMap(object_map); JSObject::ForceSetPrototype(object, isolate->factory()->null_value()); return object; @@ -629,18 +656,18 @@ Handle ApiNatives::CreateApiFunction( DONT_ENUM); } - int internal_field_count = 0; + int embedder_field_count = 0; bool immutable_proto = false; if (!obj->instance_template()->IsUndefined(isolate)) { Handle instance_template = Handle( ObjectTemplateInfo::cast(obj->instance_template())); - internal_field_count = instance_template->internal_field_count(); + embedder_field_count = instance_template->embedder_field_count(); immutable_proto = instance_template->immutable_proto(); } // TODO(svenpanne) Kill ApiInstanceType and refactor things by generalizing // JSObject::GetHeaderSize. - int instance_size = kPointerSize * internal_field_count; + int instance_size = kPointerSize * embedder_field_count; InstanceType type; switch (instance_type) { case JavaScriptObjectType: diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index 2610dc17104822..7699bc87ec8490 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -25,11 +25,11 @@ #include "src/base/safe_conversions.h" #include "src/base/utils/random-number-generator.h" #include "src/bootstrapper.h" +#include "src/builtins/builtins-utils.h" #include "src/char-predicates-inl.h" #include "src/code-stubs.h" #include "src/compiler-dispatcher/compiler-dispatcher.h" #include "src/compiler.h" -#include "src/context-measure.h" #include "src/contexts.h" #include "src/conversions-inl.h" #include "src/counters.h" @@ -67,6 +67,7 @@ #include "src/snapshot/snapshot.h" #include "src/startup-data-util.h" #include "src/tracing/trace-event.h" +#include "src/trap-handler/trap-handler.h" #include "src/unicode-inl.h" #include "src/v8.h" #include "src/v8threads.h" @@ -84,7 +85,7 @@ namespace v8 { isolate, &i::RuntimeCallStats::API_##class_name##_##function_name); \ LOG(isolate, ApiEntryCall("v8::" #class_name "::" #function_name)) -#define ENTER_V8(isolate) i::VMState __state__((isolate)) +#define ENTER_V8_DO_NOT_USE(isolate) i::VMState __state__((isolate)) #define PREPARE_FOR_EXECUTION_GENERIC(isolate, context, class_name, \ function_name, bailout_value, \ @@ -95,7 +96,7 @@ namespace v8 { HandleScopeClass handle_scope(isolate); \ CallDepthScope call_depth_scope(isolate, context); \ LOG_API(isolate, class_name, function_name); \ - ENTER_V8(isolate); \ + ENTER_V8_DO_NOT_USE(isolate); \ bool has_pending_exception = false #define PREPARE_FOR_DEBUG_INTERFACE_EXECUTION_WITH_ISOLATE(isolate, T) \ @@ -104,7 +105,7 @@ namespace v8 { } \ InternalEscapableScope handle_scope(isolate); \ CallDepthScope call_depth_scope(isolate, v8::Local()); \ - ENTER_V8(isolate); \ + ENTER_V8_DO_NOT_USE(isolate); \ bool has_pending_exception = false #define PREPARE_FOR_EXECUTION_WITH_CONTEXT(context, class_name, function_name, \ @@ -231,17 +232,20 @@ class CallDepthScope { i::Handle env = Utils::OpenHandle(*context); i::HandleScopeImplementer* impl = isolate->handle_scope_implementer(); if (isolate->context() != nullptr && - isolate->context()->native_context() == env->native_context() && - impl->LastEnteredContextWas(env)) { + isolate->context()->native_context() == env->native_context()) { context_ = Local(); } else { - context_->Enter(); + impl->SaveContext(isolate->context()); + isolate->set_context(*env); } } if (do_callback) isolate_->FireBeforeCallEnteredCallback(); } ~CallDepthScope() { - if (!context_.IsEmpty()) context_->Exit(); + if (!context_.IsEmpty()) { + i::HandleScopeImplementer* impl = isolate_->handle_scope_implementer(); + isolate_->set_context(impl->RestoreContext()); + } if (!escaped_) isolate_->handle_scope_implementer()->DecrementCallDepth(); if (do_callback) isolate_->FireCallCompletedCallback(); #ifdef DEBUG @@ -437,14 +441,20 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { i::V8::SetSnapshotBlob(snapshot_blob); } -void* v8::ArrayBuffer::Allocator::Reserve(size_t length) { - UNIMPLEMENTED(); - return nullptr; -} +void* v8::ArrayBuffer::Allocator::Reserve(size_t length) { UNIMPLEMENTED(); } void v8::ArrayBuffer::Allocator::Free(void* data, size_t length, AllocationMode mode) { - UNIMPLEMENTED(); + switch (mode) { + case AllocationMode::kNormal: { + Free(data, length); + return; + } + case AllocationMode::kReservation: { + UNIMPLEMENTED(); + return; + } + } } void v8::ArrayBuffer::Allocator::SetProtection( @@ -463,6 +473,39 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { } virtual void* AllocateUninitialized(size_t length) { return malloc(length); } virtual void Free(void* data, size_t) { free(data); } + + virtual void* Reserve(size_t length) { + return base::VirtualMemory::ReserveRegion(length); + } + + virtual void Free(void* data, size_t length, + v8::ArrayBuffer::Allocator::AllocationMode mode) { + switch (mode) { + case v8::ArrayBuffer::Allocator::AllocationMode::kNormal: { + return Free(data, length); + } + case v8::ArrayBuffer::Allocator::AllocationMode::kReservation: { + base::VirtualMemory::ReleaseRegion(data, length); + return; + } + } + } + + virtual void SetProtection( + void* data, size_t length, + v8::ArrayBuffer::Allocator::Protection protection) { + switch (protection) { + case v8::ArrayBuffer::Allocator::Protection::kNoAccess: { + base::VirtualMemory::UncommitRegion(data, length); + return; + } + case v8::ArrayBuffer::Allocator::Protection::kReadWrite: { + const bool is_executable = false; + base::VirtualMemory::CommitRegion(data, length, is_executable); + return; + } + } + } }; bool RunExtraCode(Isolate* isolate, Local context, @@ -510,7 +553,7 @@ struct SnapshotCreatorData { Persistent default_context_; PersistentValueVector contexts_; PersistentValueVector