From c43172578e3e10c2de84fc2ce0d6a7fb02a440d8 Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Sun, 23 Aug 2015 06:09:40 -0700 Subject: [PATCH] deps: upgrade V8 to 4.5.103.24 Upgrade to the latest branch-head for V8 4.5. For the full commit log see https://github.com/v8/v8-git-mirror/commits/4.5.103.24 PR-URL: https://github.com/nodejs/node/pull/2509 Reviewed-By: Ben Noordhuis --- deps/v8/.gitignore | 2 + deps/v8/BUILD.gn | 80 +- deps/v8/ChangeLog | 675 +++ deps/v8/DEPS | 12 +- deps/v8/LICENSE | 7 +- deps/v8/Makefile | 21 +- deps/v8/Makefile.android | 65 +- deps/v8/build/android.gypi | 266 - deps/v8/build/features.gypi | 12 +- deps/v8/build/get_landmines.py | 2 + deps/v8/build/gyp_v8 | 11 +- deps/v8/build/standalone.gypi | 612 ++- deps/v8/build/toolchain.gypi | 44 +- deps/v8/include/v8-debug.h | 41 +- deps/v8/include/v8-platform.h | 11 + deps/v8/include/v8-profiler.h | 28 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 1133 ++-- deps/v8/include/v8config.h | 53 +- deps/v8/infra/OWNERS | 3 + deps/v8/infra/README.md | 1 + .../commit_queue => infra/config}/OWNERS | 0 deps/v8/infra/config/cq.cfg | 52 + deps/v8/infra/project-config/README.md | 1 + .../infra/project-config/cr-buildbucket.cfg | 23 + deps/v8/samples/hello-world.cc | 71 + deps/v8/samples/process.cc | 202 +- deps/v8/samples/samples.gyp | 10 + deps/v8/samples/shell.cc | 155 +- deps/v8/src/accessors.cc | 187 +- deps/v8/src/accessors.h | 5 - deps/v8/src/allocation-site-scopes.cc | 3 +- deps/v8/src/allocation-tracker.cc | 3 +- deps/v8/src/allocation.cc | 3 +- deps/v8/src/api-natives.cc | 106 +- deps/v8/src/api.cc | 1297 +++-- deps/v8/src/api.h | 15 + deps/v8/src/arguments.cc | 80 +- deps/v8/src/arguments.h | 18 +- deps/v8/src/arm/assembler-arm-inl.h | 27 +- deps/v8/src/arm/assembler-arm.cc | 674 +-- deps/v8/src/arm/assembler-arm.h | 139 +- deps/v8/src/arm/builtins-arm.cc | 147 +- deps/v8/src/arm/code-stubs-arm.cc | 229 +- deps/v8/src/arm/codegen-arm.cc | 3 +- deps/v8/src/arm/constants-arm.cc | 3 +- deps/v8/src/arm/constants-arm.h | 5 + deps/v8/src/arm/cpu-arm.cc | 3 +- deps/v8/src/arm/debug-arm.cc | 52 +- deps/v8/src/arm/deoptimizer-arm.cc | 5 +- deps/v8/src/arm/disasm-arm.cc | 4 +- deps/v8/src/arm/frames-arm.cc | 14 +- deps/v8/src/arm/frames-arm.h | 54 +- deps/v8/src/arm/full-codegen-arm.cc | 911 +-- deps/v8/src/arm/interface-descriptors-arm.cc | 308 +- deps/v8/src/arm/lithium-arm.cc | 79 +- deps/v8/src/arm/lithium-arm.h | 83 +- deps/v8/src/arm/lithium-codegen-arm.cc | 338 +- deps/v8/src/arm/lithium-codegen-arm.h | 6 +- deps/v8/src/arm/lithium-gap-resolver-arm.cc | 3 +- deps/v8/src/arm/macro-assembler-arm.cc | 76 +- deps/v8/src/arm/macro-assembler-arm.h | 10 +- deps/v8/src/arm/regexp-macro-assembler-arm.cc | 3 +- deps/v8/src/arm/simulator-arm.cc | 29 +- deps/v8/src/arm/simulator-arm.h | 2 + deps/v8/src/arm64/assembler-arm64-inl.h | 25 +- deps/v8/src/arm64/assembler-arm64.cc | 101 +- deps/v8/src/arm64/assembler-arm64.h | 40 +- deps/v8/src/arm64/builtins-arm64.cc | 119 +- deps/v8/src/arm64/code-stubs-arm64.cc | 238 +- deps/v8/src/arm64/code-stubs-arm64.h | 6 +- deps/v8/src/arm64/codegen-arm64.cc | 3 +- deps/v8/src/arm64/constants-arm64.h | 2 + deps/v8/src/arm64/cpu-arm64.cc | 3 +- deps/v8/src/arm64/debug-arm64.cc | 50 +- deps/v8/src/arm64/decoder-arm64.cc | 3 +- deps/v8/src/arm64/delayed-masm-arm64.cc | 3 +- deps/v8/src/arm64/deoptimizer-arm64.cc | 5 +- deps/v8/src/arm64/disasm-arm64.cc | 24 +- deps/v8/src/arm64/frames-arm64.cc | 9 +- deps/v8/src/arm64/frames-arm64.h | 30 - deps/v8/src/arm64/full-codegen-arm64.cc | 887 +-- deps/v8/src/arm64/instructions-arm64.cc | 30 +- deps/v8/src/arm64/instructions-arm64.h | 14 +- deps/v8/src/arm64/instrument-arm64.cc | 3 +- .../src/arm64/interface-descriptors-arm64.cc | 323 +- deps/v8/src/arm64/lithium-arm64.cc | 80 +- deps/v8/src/arm64/lithium-arm64.h | 83 +- deps/v8/src/arm64/lithium-codegen-arm64.cc | 335 +- deps/v8/src/arm64/lithium-codegen-arm64.h | 22 +- .../src/arm64/lithium-gap-resolver-arm64.cc | 3 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 24 +- deps/v8/src/arm64/macro-assembler-arm64.h | 4 +- .../src/arm64/regexp-macro-assembler-arm64.cc | 3 +- .../src/arm64/regexp-macro-assembler-arm64.h | 1 + deps/v8/src/arm64/simulator-arm64.cc | 175 +- deps/v8/src/arm64/simulator-arm64.h | 19 +- deps/v8/src/arm64/utils-arm64.cc | 5 +- deps/v8/src/arm64/utils-arm64.h | 43 + deps/v8/src/array-iterator.js | 20 +- deps/v8/src/array.js | 283 +- deps/v8/src/arraybuffer.js | 29 +- deps/v8/src/assembler.cc | 227 +- deps/v8/src/assembler.h | 176 +- deps/v8/src/ast-literal-reindexer.cc | 311 ++ deps/v8/src/ast-literal-reindexer.h | 46 + deps/v8/src/ast-numbering.cc | 70 +- deps/v8/src/ast-value-factory.cc | 18 +- deps/v8/src/ast-value-factory.h | 28 +- deps/v8/src/ast.cc | 252 +- deps/v8/src/ast.h | 509 +- deps/v8/src/background-parsing-task.cc | 4 +- deps/v8/src/bailout-reason.cc | 4 +- deps/v8/src/bailout-reason.h | 2 + .../v8/src/base/atomicops_internals_arm_gcc.h | 6 +- deps/v8/src/base/bits.h | 24 + deps/v8/src/base/macros.h | 9 +- deps/v8/src/base/safe_math_impl.h | 4 +- deps/v8/src/base/sys-info.cc | 2 +- deps/v8/src/basic-block-profiler.h | 3 - deps/v8/src/bignum-dtoa.cc | 3 +- deps/v8/src/bignum.cc | 3 +- deps/v8/src/bootstrapper.cc | 498 +- deps/v8/src/bootstrapper.h | 2 +- deps/v8/src/builtins.cc | 144 +- deps/v8/src/builtins.h | 154 +- deps/v8/src/cached-powers.cc | 3 +- deps/v8/src/char-predicates.cc | 4 +- deps/v8/src/code-factory.cc | 89 +- deps/v8/src/code-factory.h | 20 +- deps/v8/src/code-stubs-hydrogen.cc | 246 +- deps/v8/src/code-stubs.cc | 132 +- deps/v8/src/code-stubs.h | 435 +- deps/v8/src/codegen.cc | 17 +- deps/v8/src/codegen.h | 5 - deps/v8/src/collection-iterator.js | 31 +- deps/v8/src/collection.js | 146 +- deps/v8/src/compilation-cache.cc | 32 +- deps/v8/src/compilation-cache.h | 10 +- deps/v8/src/compilation-dependencies.cc | 4 +- deps/v8/src/compiler.cc | 263 +- deps/v8/src/compiler.h | 71 +- deps/v8/src/compiler/access-builder.cc | 80 +- deps/v8/src/compiler/access-builder.h | 44 +- .../v8/src/compiler/arm/code-generator-arm.cc | 92 +- .../src/compiler/arm/instruction-codes-arm.h | 1 + .../compiler/arm/instruction-selector-arm.cc | 61 +- deps/v8/src/compiler/arm/linkage-arm.cc | 6 + .../compiler/arm64/code-generator-arm64.cc | 116 +- .../compiler/arm64/instruction-codes-arm64.h | 1 + .../arm64/instruction-selector-arm64.cc | 539 +- deps/v8/src/compiler/arm64/linkage-arm64.cc | 12 +- deps/v8/src/compiler/ast-graph-builder.cc | 1823 ++++-- deps/v8/src/compiler/ast-graph-builder.h | 133 +- .../compiler/ast-loop-assignment-analyzer.cc | 9 +- deps/v8/src/compiler/change-lowering.cc | 32 +- deps/v8/src/compiler/coalesced-live-ranges.cc | 148 + deps/v8/src/compiler/coalesced-live-ranges.h | 109 + deps/v8/src/compiler/code-generator-impl.h | 8 + deps/v8/src/compiler/code-generator.cc | 148 +- deps/v8/src/compiler/code-generator.h | 4 + .../src/compiler/common-operator-reducer.cc | 308 +- .../v8/src/compiler/common-operator-reducer.h | 23 +- deps/v8/src/compiler/common-operator.cc | 115 +- deps/v8/src/compiler/common-operator.h | 39 +- deps/v8/src/compiler/control-builders.cc | 13 +- deps/v8/src/compiler/control-builders.h | 3 + .../v8/src/compiler/control-flow-optimizer.cc | 27 +- deps/v8/src/compiler/control-flow-optimizer.h | 15 +- deps/v8/src/compiler/control-reducer.cc | 603 -- deps/v8/src/compiler/control-reducer.h | 43 - deps/v8/src/compiler/dead-code-elimination.cc | 145 + deps/v8/src/compiler/dead-code-elimination.h | 52 + deps/v8/src/compiler/frame-elider.cc | 4 +- deps/v8/src/compiler/frame-states.cc | 40 +- deps/v8/src/compiler/frame-states.h | 83 +- deps/v8/src/compiler/gap-resolver.cc | 6 +- deps/v8/src/compiler/graph-reducer.cc | 63 +- deps/v8/src/compiler/graph-reducer.h | 46 +- deps/v8/src/compiler/graph-trimmer.cc | 48 + deps/v8/src/compiler/graph-trimmer.h | 57 + deps/v8/src/compiler/graph-visualizer.cc | 12 +- deps/v8/src/compiler/graph.cc | 16 +- deps/v8/src/compiler/graph.h | 16 +- deps/v8/src/compiler/greedy-allocator.cc | 350 ++ deps/v8/src/compiler/greedy-allocator.h | 111 + .../src/compiler/ia32/code-generator-ia32.cc | 64 +- .../compiler/ia32/instruction-codes-ia32.h | 1 + .../ia32/instruction-selector-ia32.cc | 104 +- deps/v8/src/compiler/ia32/linkage-ia32.cc | 2 + deps/v8/src/compiler/instruction-codes.h | 55 +- deps/v8/src/compiler/instruction-selector.cc | 86 +- deps/v8/src/compiler/instruction.cc | 31 +- deps/v8/src/compiler/instruction.h | 29 +- deps/v8/src/compiler/js-builtin-reducer.cc | 38 +- deps/v8/src/compiler/js-builtin-reducer.h | 4 +- .../src/compiler/js-context-specialization.cc | 78 +- .../src/compiler/js-context-specialization.h | 36 +- .../src/compiler/js-frame-specialization.cc | 69 + .../v8/src/compiler/js-frame-specialization.h | 44 + deps/v8/src/compiler/js-generic-lowering.cc | 492 +- deps/v8/src/compiler/js-generic-lowering.h | 3 - deps/v8/src/compiler/js-graph.cc | 15 +- deps/v8/src/compiler/js-graph.h | 7 +- deps/v8/src/compiler/js-inlining.cc | 276 +- deps/v8/src/compiler/js-inlining.h | 18 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 260 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 24 +- deps/v8/src/compiler/js-operator.cc | 262 +- deps/v8/src/compiler/js-operator.h | 231 +- deps/v8/src/compiler/js-type-feedback.cc | 161 +- deps/v8/src/compiler/js-type-feedback.h | 47 +- deps/v8/src/compiler/js-typed-lowering.cc | 808 ++- deps/v8/src/compiler/js-typed-lowering.h | 21 +- deps/v8/src/compiler/linkage-impl.h | 44 +- deps/v8/src/compiler/linkage.cc | 98 +- deps/v8/src/compiler/linkage.h | 25 +- deps/v8/src/compiler/load-elimination.cc | 4 +- deps/v8/src/compiler/load-elimination.h | 4 +- deps/v8/src/compiler/loop-analysis.h | 3 +- .../src/compiler/machine-operator-reducer.cc | 9 +- deps/v8/src/compiler/machine-operator.cc | 86 +- deps/v8/src/compiler/machine-operator.h | 63 +- deps/v8/src/compiler/machine-type.h | 38 +- .../src/compiler/mips/code-generator-mips.cc | 115 +- .../compiler/mips/instruction-codes-mips.h | 4 + .../mips/instruction-selector-mips.cc | 75 +- deps/v8/src/compiler/mips/linkage-mips.cc | 5 + .../compiler/mips64/code-generator-mips64.cc | 155 +- .../mips64/instruction-codes-mips64.h | 4 + .../mips64/instruction-selector-mips64.cc | 90 +- deps/v8/src/compiler/mips64/linkage-mips64.cc | 5 + deps/v8/src/compiler/move-optimizer.cc | 2 +- deps/v8/src/compiler/node-marker.cc | 27 - deps/v8/src/compiler/node-marker.h | 36 +- deps/v8/src/compiler/node-matchers.h | 5 +- deps/v8/src/compiler/node-properties.cc | 50 +- deps/v8/src/compiler/node-properties.h | 10 +- deps/v8/src/compiler/node.cc | 305 +- deps/v8/src/compiler/node.h | 283 +- deps/v8/src/compiler/opcodes.cc | 6 + deps/v8/src/compiler/opcodes.h | 24 +- deps/v8/src/compiler/operator-properties.cc | 34 +- deps/v8/src/compiler/osr.cc | 101 +- deps/v8/src/compiler/pipeline.cc | 253 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 76 +- .../src/compiler/ppc/instruction-codes-ppc.h | 2 + .../compiler/ppc/instruction-selector-ppc.cc | 113 +- deps/v8/src/compiler/ppc/linkage-ppc.cc | 2 + deps/v8/src/compiler/raw-machine-assembler.cc | 79 +- deps/v8/src/compiler/raw-machine-assembler.h | 57 +- deps/v8/src/compiler/register-allocator.cc | 601 +- deps/v8/src/compiler/register-allocator.h | 72 +- .../v8/src/compiler/register-configuration.cc | 7 +- deps/v8/src/compiler/representation-change.h | 6 +- deps/v8/src/compiler/schedule.cc | 6 +- deps/v8/src/compiler/scheduler.cc | 4 +- deps/v8/src/compiler/simplified-lowering.cc | 86 +- deps/v8/src/compiler/simplified-lowering.h | 6 +- .../compiler/simplified-operator-reducer.cc | 61 +- .../compiler/simplified-operator-reducer.h | 9 +- deps/v8/src/compiler/simplified-operator.cc | 56 +- deps/v8/src/compiler/simplified-operator.h | 4 +- deps/v8/src/compiler/source-position.cc | 7 +- deps/v8/src/compiler/source-position.h | 10 +- deps/v8/src/compiler/typer.cc | 557 +- deps/v8/src/compiler/typer.h | 56 +- deps/v8/src/compiler/verifier.cc | 118 +- .../v8/src/compiler/x64/code-generator-x64.cc | 108 +- .../src/compiler/x64/instruction-codes-x64.h | 1 + .../compiler/x64/instruction-selector-x64.cc | 210 +- deps/v8/src/compiler/x64/linkage-x64.cc | 11 + deps/v8/src/compiler/x87/OWNERS | 2 + .../v8/src/compiler/x87/code-generator-x87.cc | 1852 +++++++ .../src/compiler/x87/instruction-codes-x87.h | 122 + .../compiler/x87/instruction-selector-x87.cc | 1355 +++++ deps/v8/src/compiler/x87/linkage-x87.cc | 65 + deps/v8/src/contexts.cc | 87 +- deps/v8/src/contexts.h | 52 +- deps/v8/src/conversions.cc | 3 +- deps/v8/src/counters.cc | 3 +- deps/v8/src/cpu-profiler.cc | 3 +- deps/v8/src/d8-debug.cc | 4 +- deps/v8/src/d8.cc | 742 ++- deps/v8/src/d8.gyp | 7 +- deps/v8/src/d8.h | 149 +- deps/v8/src/date.cc | 3 +- deps/v8/src/date.js | 112 +- deps/v8/src/dateparser.cc | 3 +- deps/v8/src/debug.cc | 611 +-- deps/v8/src/debug.h | 61 +- deps/v8/src/deoptimizer.cc | 3276 +++++------ deps/v8/src/deoptimizer.h | 596 +- deps/v8/src/disassembler.cc | 7 +- deps/v8/src/diy-fp.cc | 3 +- deps/v8/src/dtoa.cc | 3 +- deps/v8/src/elements-kind.cc | 31 +- deps/v8/src/elements-kind.h | 24 +- deps/v8/src/elements.cc | 1702 +++--- deps/v8/src/elements.h | 152 +- deps/v8/src/execution.cc | 34 +- deps/v8/src/execution.h | 3 - deps/v8/src/expression-classifier.h | 255 + .../externalize-string-extension.cc | 49 +- .../extensions/externalize-string-extension.h | 5 +- .../src/extensions/free-buffer-extension.cc | 10 +- .../v8/src/extensions/free-buffer-extension.h | 5 +- deps/v8/src/extensions/gc-extension.cc | 15 +- deps/v8/src/extensions/gc-extension.h | 5 +- .../v8/src/extensions/statistics-extension.cc | 31 +- deps/v8/src/extensions/statistics-extension.h | 5 +- .../extensions/trigger-failure-extension.cc | 10 +- .../extensions/trigger-failure-extension.h | 5 +- deps/v8/src/factory.cc | 313 +- deps/v8/src/factory.h | 93 +- deps/v8/src/fast-dtoa.cc | 3 +- deps/v8/src/fixed-dtoa.cc | 3 +- deps/v8/src/flag-definitions.h | 69 +- deps/v8/src/flags.cc | 3 +- deps/v8/src/frames.cc | 293 +- deps/v8/src/frames.h | 93 +- deps/v8/src/full-codegen.cc | 517 +- deps/v8/src/full-codegen.h | 123 +- deps/v8/src/func-name-inferrer.cc | 3 +- deps/v8/src/generator.js | 31 +- deps/v8/src/global-handles.cc | 10 +- deps/v8/src/globals.h | 153 +- deps/v8/src/handles-inl.h | 14 +- deps/v8/src/handles.cc | 4 +- deps/v8/src/handles.h | 30 +- deps/v8/src/harmony-array-includes.js | 4 +- deps/v8/src/harmony-array.js | 179 +- deps/v8/src/harmony-atomics.js | 143 + deps/v8/src/harmony-concat-spreadable.js | 16 + deps/v8/src/harmony-object.js | 17 +- deps/v8/src/harmony-reflect.js | 4 +- deps/v8/src/harmony-regexp.js | 2 +- deps/v8/src/harmony-sharedarraybuffer.js | 56 + deps/v8/src/harmony-spread.js | 8 +- deps/v8/src/harmony-tostring.js | 4 +- deps/v8/src/harmony-typedarray.js | 389 +- deps/v8/src/hashmap.h | 8 +- deps/v8/src/heap-profiler.cc | 3 +- deps/v8/src/heap-snapshot-generator.cc | 40 +- deps/v8/src/heap-snapshot-generator.h | 3 +- deps/v8/src/heap/gc-idle-time-handler.cc | 201 +- deps/v8/src/heap/gc-idle-time-handler.h | 87 +- deps/v8/src/heap/gc-tracer.cc | 229 +- deps/v8/src/heap/gc-tracer.h | 81 +- deps/v8/src/heap/heap-inl.h | 34 +- deps/v8/src/heap/heap.cc | 1172 ++-- deps/v8/src/heap/heap.h | 316 +- deps/v8/src/heap/identity-map.cc | 6 +- deps/v8/src/heap/incremental-marking.cc | 55 +- deps/v8/src/heap/incremental-marking.h | 25 +- deps/v8/src/heap/mark-compact.cc | 969 ++-- deps/v8/src/heap/mark-compact.h | 101 +- deps/v8/src/heap/memory-reducer.cc | 241 + deps/v8/src/heap/memory-reducer.h | 170 + deps/v8/src/heap/objects-visiting-inl.h | 108 +- deps/v8/src/heap/objects-visiting.cc | 16 +- deps/v8/src/heap/objects-visiting.h | 2 - deps/v8/src/heap/spaces-inl.h | 95 +- deps/v8/src/heap/spaces.cc | 53 +- deps/v8/src/heap/spaces.h | 104 +- deps/v8/src/heap/store-buffer.cc | 63 +- deps/v8/src/hydrogen-bce.cc | 11 +- deps/v8/src/hydrogen-bch.cc | 3 +- deps/v8/src/hydrogen-canonicalize.cc | 3 +- deps/v8/src/hydrogen-check-elimination.cc | 3 +- deps/v8/src/hydrogen-dce.cc | 3 +- deps/v8/src/hydrogen-dehoist.cc | 3 +- deps/v8/src/hydrogen-environment-liveness.cc | 3 +- deps/v8/src/hydrogen-escape-analysis.cc | 3 +- deps/v8/src/hydrogen-gvn.cc | 3 +- deps/v8/src/hydrogen-infer-representation.cc | 3 +- deps/v8/src/hydrogen-infer-types.cc | 3 +- deps/v8/src/hydrogen-instructions.cc | 112 +- deps/v8/src/hydrogen-instructions.h | 393 +- deps/v8/src/hydrogen-load-elimination.cc | 3 +- deps/v8/src/hydrogen-mark-deoptimize.cc | 3 +- deps/v8/src/hydrogen-mark-unreachable.cc | 3 +- deps/v8/src/hydrogen-osr.cc | 3 +- deps/v8/src/hydrogen-range-analysis.cc | 3 +- deps/v8/src/hydrogen-redundant-phi.cc | 3 +- deps/v8/src/hydrogen-removable-simulates.cc | 3 +- .../v8/src/hydrogen-representation-changes.cc | 3 +- deps/v8/src/hydrogen-sce.cc | 3 +- deps/v8/src/hydrogen-store-elimination.cc | 3 +- deps/v8/src/hydrogen-types.cc | 3 +- deps/v8/src/hydrogen-uint32-analysis.cc | 3 +- deps/v8/src/hydrogen.cc | 485 +- deps/v8/src/hydrogen.h | 32 +- deps/v8/src/i18n.cc | 5 +- deps/v8/src/i18n.js | 611 ++- deps/v8/src/ia32/assembler-ia32-inl.h | 12 +- deps/v8/src/ia32/assembler-ia32.cc | 23 +- deps/v8/src/ia32/assembler-ia32.h | 32 +- deps/v8/src/ia32/builtins-ia32.cc | 99 +- deps/v8/src/ia32/code-stubs-ia32.cc | 236 +- deps/v8/src/ia32/codegen-ia32.cc | 3 +- deps/v8/src/ia32/cpu-ia32.cc | 3 +- deps/v8/src/ia32/debug-ia32.cc | 52 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 5 +- deps/v8/src/ia32/disasm-ia32.cc | 2 +- deps/v8/src/ia32/frames-ia32.cc | 9 +- deps/v8/src/ia32/frames-ia32.h | 30 - deps/v8/src/ia32/full-codegen-ia32.cc | 895 +-- .../v8/src/ia32/interface-descriptors-ia32.cc | 294 +- deps/v8/src/ia32/lithium-codegen-ia32.cc | 268 +- deps/v8/src/ia32/lithium-codegen-ia32.h | 6 +- deps/v8/src/ia32/lithium-gap-resolver-ia32.cc | 3 +- deps/v8/src/ia32/lithium-ia32.cc | 77 +- deps/v8/src/ia32/lithium-ia32.h | 81 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 6 +- .../src/ia32/regexp-macro-assembler-ia32.cc | 3 +- deps/v8/src/ic/access-compiler.cc | 4 +- deps/v8/src/ic/access-compiler.h | 10 +- deps/v8/src/ic/arm/access-compiler-arm.cc | 4 +- deps/v8/src/ic/arm/handler-compiler-arm.cc | 4 +- deps/v8/src/ic/arm/ic-arm.cc | 222 +- deps/v8/src/ic/arm/ic-compiler-arm.cc | 4 +- deps/v8/src/ic/arm/stub-cache-arm.cc | 8 +- deps/v8/src/ic/arm64/access-compiler-arm64.cc | 4 +- .../v8/src/ic/arm64/handler-compiler-arm64.cc | 4 +- deps/v8/src/ic/arm64/ic-arm64.cc | 263 +- deps/v8/src/ic/arm64/ic-compiler-arm64.cc | 4 +- deps/v8/src/ic/arm64/stub-cache-arm64.cc | 8 +- deps/v8/src/ic/call-optimization.cc | 4 +- deps/v8/src/ic/handler-compiler.cc | 37 +- deps/v8/src/ic/handler-compiler.h | 3 +- deps/v8/src/ic/ia32/access-compiler-ia32.cc | 4 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 11 +- deps/v8/src/ic/ia32/ic-compiler-ia32.cc | 4 +- deps/v8/src/ic/ia32/ic-ia32.cc | 224 +- deps/v8/src/ic/ia32/stub-cache-ia32.cc | 12 +- deps/v8/src/ic/ic-compiler.cc | 100 +- deps/v8/src/ic/ic-compiler.h | 10 +- deps/v8/src/ic/ic-inl.h | 61 +- deps/v8/src/ic/ic-state.cc | 30 +- deps/v8/src/ic/ic-state.h | 68 +- deps/v8/src/ic/ic.cc | 787 +-- deps/v8/src/ic/ic.h | 158 +- deps/v8/src/ic/mips/access-compiler-mips.cc | 4 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 4 +- deps/v8/src/ic/mips/ic-compiler-mips.cc | 4 +- deps/v8/src/ic/mips/ic-mips.cc | 222 +- deps/v8/src/ic/mips/stub-cache-mips.cc | 8 +- .../src/ic/mips64/access-compiler-mips64.cc | 4 +- .../src/ic/mips64/handler-compiler-mips64.cc | 4 +- deps/v8/src/ic/mips64/ic-compiler-mips64.cc | 4 +- deps/v8/src/ic/mips64/ic-mips64.cc | 221 +- deps/v8/src/ic/mips64/stub-cache-mips64.cc | 14 +- deps/v8/src/ic/ppc/access-compiler-ppc.cc | 4 +- deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 10 +- deps/v8/src/ic/ppc/ic-compiler-ppc.cc | 4 +- deps/v8/src/ic/ppc/ic-ppc.cc | 228 +- deps/v8/src/ic/ppc/stub-cache-ppc.cc | 8 +- deps/v8/src/ic/stub-cache.cc | 4 +- deps/v8/src/ic/x64/access-compiler-x64.cc | 4 +- deps/v8/src/ic/x64/handler-compiler-x64.cc | 4 +- deps/v8/src/ic/x64/ic-compiler-x64.cc | 4 +- deps/v8/src/ic/x64/ic-x64.cc | 226 +- deps/v8/src/ic/x64/stub-cache-x64.cc | 8 +- deps/v8/src/ic/x87/access-compiler-x87.cc | 4 +- deps/v8/src/ic/x87/handler-compiler-x87.cc | 11 +- deps/v8/src/ic/x87/ic-compiler-x87.cc | 4 +- deps/v8/src/ic/x87/ic-x87.cc | 224 +- deps/v8/src/ic/x87/stub-cache-x87.cc | 13 +- deps/v8/src/icu_util.cc | 3 +- deps/v8/src/interface-descriptors.cc | 363 +- deps/v8/src/interface-descriptors.h | 210 +- deps/v8/src/interpreter-irregexp.cc | 3 +- deps/v8/src/isolate.cc | 174 +- deps/v8/src/isolate.h | 46 +- deps/v8/src/iterator-prototype.js | 21 + deps/v8/src/json-parser.h | 35 +- deps/v8/src/json-stringifier.h | 13 +- deps/v8/src/json.js | 80 +- deps/v8/src/jsregexp.cc | 402 +- deps/v8/src/jsregexp.h | 68 +- deps/v8/src/layout-descriptor-inl.h | 4 +- deps/v8/src/layout-descriptor.cc | 4 +- deps/v8/src/libplatform/default-platform.cc | 67 +- deps/v8/src/libplatform/default-platform.h | 12 + deps/v8/src/list-inl.h | 42 +- deps/v8/src/list.h | 10 +- deps/v8/src/lithium-allocator.cc | 3 +- deps/v8/src/lithium-codegen.cc | 103 +- deps/v8/src/lithium-codegen.h | 6 + deps/v8/src/lithium.cc | 21 +- deps/v8/src/lithium.h | 22 +- deps/v8/src/liveedit.cc | 45 +- deps/v8/src/liveedit.h | 2 +- deps/v8/src/log-utils.cc | 3 +- deps/v8/src/log-utils.h | 2 +- deps/v8/src/log.cc | 89 +- deps/v8/src/log.h | 10 - deps/v8/src/lookup-inl.h | 62 +- deps/v8/src/lookup.cc | 183 +- deps/v8/src/lookup.h | 128 +- deps/v8/src/macro-assembler.h | 24 +- deps/v8/src/macros.py | 18 +- deps/v8/src/math.js | 69 +- deps/v8/src/messages.cc | 147 +- deps/v8/src/messages.h | 237 +- deps/v8/src/messages.js | 300 +- deps/v8/src/mips/assembler-mips.cc | 381 +- deps/v8/src/mips/assembler-mips.h | 79 +- deps/v8/src/mips/builtins-mips.cc | 135 +- deps/v8/src/mips/code-stubs-mips.cc | 202 +- deps/v8/src/mips/codegen-mips.cc | 3 +- deps/v8/src/mips/constants-mips.cc | 35 +- deps/v8/src/mips/constants-mips.h | 202 +- deps/v8/src/mips/cpu-mips.cc | 3 +- deps/v8/src/mips/debug-mips.cc | 49 +- deps/v8/src/mips/deoptimizer-mips.cc | 5 +- deps/v8/src/mips/disasm-mips.cc | 532 +- deps/v8/src/mips/frames-mips.cc | 9 +- deps/v8/src/mips/frames-mips.h | 30 - deps/v8/src/mips/full-codegen-mips.cc | 879 +-- .../v8/src/mips/interface-descriptors-mips.cc | 295 +- deps/v8/src/mips/lithium-codegen-mips.cc | 302 +- deps/v8/src/mips/lithium-codegen-mips.h | 6 +- deps/v8/src/mips/lithium-gap-resolver-mips.cc | 3 +- deps/v8/src/mips/lithium-mips.cc | 79 +- deps/v8/src/mips/lithium-mips.h | 83 +- deps/v8/src/mips/macro-assembler-mips.cc | 24 +- .../src/mips/regexp-macro-assembler-mips.cc | 3 +- deps/v8/src/mips/simulator-mips.cc | 1203 +++- deps/v8/src/mips/simulator-mips.h | 30 +- deps/v8/src/mips64/assembler-mips64-inl.h | 49 +- deps/v8/src/mips64/assembler-mips64.cc | 489 +- deps/v8/src/mips64/assembler-mips64.h | 100 +- deps/v8/src/mips64/builtins-mips64.cc | 136 +- deps/v8/src/mips64/code-stubs-mips64.cc | 204 +- deps/v8/src/mips64/codegen-mips64.cc | 3 +- deps/v8/src/mips64/constants-mips64.cc | 53 +- deps/v8/src/mips64/constants-mips64.h | 243 +- deps/v8/src/mips64/cpu-mips64.cc | 3 +- deps/v8/src/mips64/debug-mips64.cc | 48 +- deps/v8/src/mips64/deoptimizer-mips64.cc | 5 +- deps/v8/src/mips64/disasm-mips64.cc | 572 +- deps/v8/src/mips64/frames-mips64.cc | 9 +- deps/v8/src/mips64/frames-mips64.h | 30 - deps/v8/src/mips64/full-codegen-mips64.cc | 888 +-- .../mips64/interface-descriptors-mips64.cc | 295 +- deps/v8/src/mips64/lithium-codegen-mips64.cc | 557 +- deps/v8/src/mips64/lithium-codegen-mips64.h | 9 +- .../src/mips64/lithium-gap-resolver-mips64.cc | 3 +- deps/v8/src/mips64/lithium-mips64.cc | 112 +- deps/v8/src/mips64/lithium-mips64.h | 147 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 270 +- deps/v8/src/mips64/macro-assembler-mips64.h | 20 +- .../mips64/regexp-macro-assembler-mips64.cc | 3 +- deps/v8/src/mips64/simulator-mips64.cc | 1319 ++++- deps/v8/src/mips64/simulator-mips64.h | 94 +- deps/v8/src/mirror-debugger.js | 55 +- deps/v8/src/modules.cc | 4 +- deps/v8/src/object-observe.js | 49 +- deps/v8/src/objects-debug.cc | 43 +- deps/v8/src/objects-inl.h | 1115 ++-- deps/v8/src/objects-printer.cc | 72 +- deps/v8/src/objects.cc | 4868 +++++++---------- deps/v8/src/objects.h | 1444 ++--- deps/v8/src/optimizing-compile-dispatcher.cc | 4 +- deps/v8/src/parser.cc | 1443 ++--- deps/v8/src/parser.h | 267 +- deps/v8/src/pattern-rewriter.cc | 423 ++ .../src/pending-compilation-error-handler.cc | 29 +- .../src/pending-compilation-error-handler.h | 13 +- deps/v8/src/perf-jit.cc | 148 - deps/v8/src/perf-jit.h | 113 - deps/v8/src/ppc/assembler-ppc-inl.h | 185 +- deps/v8/src/ppc/assembler-ppc.cc | 179 +- deps/v8/src/ppc/assembler-ppc.h | 177 +- deps/v8/src/ppc/builtins-ppc.cc | 174 +- deps/v8/src/ppc/code-stubs-ppc.cc | 262 +- deps/v8/src/ppc/codegen-ppc.cc | 4 +- deps/v8/src/ppc/constants-ppc.cc | 4 +- deps/v8/src/ppc/constants-ppc.h | 8 +- deps/v8/src/ppc/cpu-ppc.cc | 4 +- deps/v8/src/ppc/debug-ppc.cc | 53 +- deps/v8/src/ppc/deoptimizer-ppc.cc | 8 +- deps/v8/src/ppc/disasm-ppc.cc | 4 +- deps/v8/src/ppc/frames-ppc.cc | 18 +- deps/v8/src/ppc/frames-ppc.h | 37 +- deps/v8/src/ppc/full-codegen-ppc.cc | 934 ++-- deps/v8/src/ppc/interface-descriptors-ppc.cc | 296 +- deps/v8/src/ppc/lithium-codegen-ppc.cc | 311 +- deps/v8/src/ppc/lithium-codegen-ppc.h | 8 +- deps/v8/src/ppc/lithium-gap-resolver-ppc.cc | 4 +- deps/v8/src/ppc/lithium-ppc.cc | 80 +- deps/v8/src/ppc/lithium-ppc.h | 81 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 159 +- deps/v8/src/ppc/macro-assembler-ppc.h | 32 +- deps/v8/src/ppc/regexp-macro-assembler-ppc.cc | 4 +- deps/v8/src/ppc/simulator-ppc.cc | 42 +- deps/v8/src/ppc/simulator-ppc.h | 3 + deps/v8/src/preparse-data-format.h | 5 +- deps/v8/src/preparse-data.cc | 10 +- deps/v8/src/preparse-data.h | 43 +- deps/v8/src/preparser.cc | 135 +- deps/v8/src/preparser.h | 1227 +++-- deps/v8/src/prettyprinter.cc | 130 +- deps/v8/src/prettyprinter.h | 1 + deps/v8/src/profile-generator.cc | 3 +- deps/v8/src/prologue.js | 232 + deps/v8/src/promise.js | 15 +- deps/v8/src/property.cc | 3 +- deps/v8/src/proxy.js | 32 +- .../v8/src/regexp-macro-assembler-irregexp.cc | 3 +- deps/v8/src/regexp-macro-assembler-tracer.cc | 9 +- deps/v8/src/regexp-macro-assembler-tracer.h | 1 + deps/v8/src/regexp-macro-assembler.cc | 3 +- deps/v8/src/regexp-macro-assembler.h | 3 + deps/v8/src/regexp-stack.cc | 3 +- deps/v8/src/regexp.js | 86 +- deps/v8/src/rewriter.cc | 5 +- deps/v8/src/runtime-profiler.cc | 9 +- deps/v8/src/runtime.js | 110 +- deps/v8/src/runtime/runtime-array.cc | 165 +- deps/v8/src/runtime/runtime-atomics.cc | 824 +++ deps/v8/src/runtime/runtime-classes.cc | 120 +- deps/v8/src/runtime/runtime-collections.cc | 100 +- deps/v8/src/runtime/runtime-compiler.cc | 64 +- deps/v8/src/runtime/runtime-date.cc | 30 +- deps/v8/src/runtime/runtime-debug.cc | 494 +- deps/v8/src/runtime/runtime-forin.cc | 75 + deps/v8/src/runtime/runtime-function.cc | 70 +- deps/v8/src/runtime/runtime-generator.cc | 6 +- deps/v8/src/runtime/runtime-i18n.cc | 23 +- deps/v8/src/runtime/runtime-internal.cc | 65 +- deps/v8/src/runtime/runtime-json.cc | 4 +- deps/v8/src/runtime/runtime-literals.cc | 62 +- deps/v8/src/runtime/runtime-liveedit.cc | 4 +- deps/v8/src/runtime/runtime-maths.cc | 4 +- deps/v8/src/runtime/runtime-numbers.cc | 4 +- deps/v8/src/runtime/runtime-object.cc | 626 +-- deps/v8/src/runtime/runtime-observe.cc | 6 +- deps/v8/src/runtime/runtime-proxy.cc | 4 +- deps/v8/src/runtime/runtime-regexp.cc | 17 +- deps/v8/src/runtime/runtime-scopes.cc | 76 +- deps/v8/src/runtime/runtime-strings.cc | 20 +- deps/v8/src/runtime/runtime-symbol.cc | 36 +- deps/v8/src/runtime/runtime-test.cc | 38 +- deps/v8/src/runtime/runtime-typedarray.cc | 72 +- deps/v8/src/runtime/runtime-uri.cc | 4 +- deps/v8/src/runtime/runtime-utils.h | 12 + deps/v8/src/runtime/runtime.h | 211 +- deps/v8/src/safepoint-table.cc | 4 +- deps/v8/src/sampler.cc | 3 +- deps/v8/src/scanner-character-streams.cc | 92 +- deps/v8/src/scanner-character-streams.h | 24 +- deps/v8/src/scanner.cc | 152 +- deps/v8/src/scanner.h | 10 +- deps/v8/src/scopeinfo.cc | 271 +- deps/v8/src/scopeinfo.h | 36 +- deps/v8/src/scopes.cc | 308 +- deps/v8/src/scopes.h | 78 +- deps/v8/src/snapshot/natives-external.cc | 3 +- deps/v8/src/snapshot/serialize.cc | 199 +- deps/v8/src/snapshot/serialize.h | 24 +- deps/v8/src/snapshot/snapshot-common.cc | 10 +- deps/v8/src/snapshot/snapshot-empty.cc | 3 +- deps/v8/src/snapshot/snapshot-external.cc | 3 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 3 +- deps/v8/src/snapshot/snapshot.h | 3 +- deps/v8/src/string-builder.cc | 24 +- deps/v8/src/string-builder.h | 2 +- deps/v8/src/string-iterator.js | 35 +- deps/v8/src/string-search.cc | 3 +- deps/v8/src/string-stream.cc | 21 +- deps/v8/src/string-stream.h | 31 +- deps/v8/src/string.js | 135 +- deps/v8/src/strings-storage.cc | 4 +- deps/v8/src/strtod.cc | 3 +- deps/v8/src/symbol.js | 23 +- deps/v8/src/templates.js | 16 +- deps/v8/src/third_party/fdlibm/fdlibm.cc | 4 +- deps/v8/src/third_party/fdlibm/fdlibm.js | 43 +- .../kernel/tools/perf/util/jitdump.h | 83 - deps/v8/src/third_party/valgrind/LICENSE | 54 + deps/v8/src/third_party/vtune/LICENSE | 59 + deps/v8/src/token.cc | 3 +- deps/v8/src/transitions.cc | 42 +- deps/v8/src/transitions.h | 5 +- deps/v8/src/type-feedback-vector-inl.h | 8 +- deps/v8/src/type-feedback-vector.cc | 267 +- deps/v8/src/type-feedback-vector.h | 89 +- deps/v8/src/type-info.cc | 26 +- deps/v8/src/type-info.h | 8 +- deps/v8/src/typedarray.js | 101 +- deps/v8/src/types.cc | 6 +- deps/v8/src/types.h | 22 +- deps/v8/src/typing.cc | 43 +- deps/v8/src/uri.js | 42 +- deps/v8/src/utils.cc | 3 +- deps/v8/src/utils.h | 51 +- deps/v8/src/v8.cc | 3 +- deps/v8/src/v8natives.js | 362 +- deps/v8/src/variables.cc | 17 +- deps/v8/src/variables.h | 63 +- deps/v8/src/vector.h | 29 +- deps/v8/src/version.cc | 3 +- deps/v8/src/weak-collection.js | 38 +- deps/v8/src/x64/assembler-x64-inl.h | 6 +- deps/v8/src/x64/assembler-x64.cc | 23 +- deps/v8/src/x64/assembler-x64.h | 31 +- deps/v8/src/x64/builtins-x64.cc | 111 +- deps/v8/src/x64/code-stubs-x64.cc | 217 +- deps/v8/src/x64/codegen-x64.cc | 3 +- deps/v8/src/x64/cpu-x64.cc | 3 +- deps/v8/src/x64/debug-x64.cc | 50 +- deps/v8/src/x64/deoptimizer-x64.cc | 5 +- deps/v8/src/x64/disasm-x64.cc | 2 +- deps/v8/src/x64/frames-x64.cc | 9 +- deps/v8/src/x64/frames-x64.h | 30 - deps/v8/src/x64/full-codegen-x64.cc | 865 +-- deps/v8/src/x64/interface-descriptors-x64.cc | 295 +- deps/v8/src/x64/lithium-codegen-x64.cc | 284 +- deps/v8/src/x64/lithium-codegen-x64.h | 6 +- deps/v8/src/x64/lithium-gap-resolver-x64.cc | 3 +- deps/v8/src/x64/lithium-x64.cc | 77 +- deps/v8/src/x64/lithium-x64.h | 82 +- deps/v8/src/x64/macro-assembler-x64.cc | 8 +- deps/v8/src/x64/regexp-macro-assembler-x64.cc | 3 +- deps/v8/src/x87/assembler-x87-inl.h | 12 +- deps/v8/src/x87/assembler-x87.cc | 76 +- deps/v8/src/x87/assembler-x87.h | 49 +- deps/v8/src/x87/builtins-x87.cc | 99 +- deps/v8/src/x87/code-stubs-x87.cc | 238 +- deps/v8/src/x87/codegen-x87.cc | 3 +- deps/v8/src/x87/cpu-x87.cc | 3 +- deps/v8/src/x87/debug-x87.cc | 52 +- deps/v8/src/x87/deoptimizer-x87.cc | 5 +- deps/v8/src/x87/disasm-x87.cc | 17 +- deps/v8/src/x87/frames-x87.cc | 9 +- deps/v8/src/x87/frames-x87.h | 30 - deps/v8/src/x87/full-codegen-x87.cc | 895 +-- deps/v8/src/x87/interface-descriptors-x87.cc | 294 +- deps/v8/src/x87/lithium-codegen-x87.cc | 260 +- deps/v8/src/x87/lithium-codegen-x87.h | 6 +- deps/v8/src/x87/lithium-gap-resolver-x87.cc | 3 +- deps/v8/src/x87/lithium-x87.cc | 77 +- deps/v8/src/x87/lithium-x87.h | 81 +- deps/v8/src/x87/macro-assembler-x87.cc | 8 +- deps/v8/src/x87/regexp-macro-assembler-x87.cc | 3 +- deps/v8/src/zone-containers.h | 6 +- deps/v8/test/cctest/cctest.gyp | 2 - deps/v8/test/cctest/cctest.h | 28 +- deps/v8/test/cctest/cctest.status | 36 +- deps/v8/test/cctest/compiler/c-signature.h | 147 +- deps/v8/test/cctest/compiler/call-tester.h | 366 +- deps/v8/test/cctest/compiler/codegen-tester.h | 79 +- .../v8/test/cctest/compiler/function-tester.h | 21 +- .../cctest/compiler/graph-builder-tester.h | 21 +- .../compiler/simplified-graph-builder.cc | 4 +- .../compiler/simplified-graph-builder.h | 3 - .../cctest/compiler/test-changes-lowering.cc | 10 +- .../cctest/compiler/test-codegen-deopt.cc | 301 - .../cctest/compiler/test-control-reducer.cc | 1641 ------ .../cctest/compiler/test-js-constant-cache.cc | 14 +- .../test-js-context-specialization.cc | 41 +- .../cctest/compiler/test-js-typed-lowering.cc | 89 +- .../cctest/compiler/test-jump-threading.cc | 2 +- deps/v8/test/cctest/compiler/test-linkage.cc | 5 +- .../cctest/compiler/test-loop-analysis.cc | 2 +- .../compiler/test-loop-assignment-analysis.cc | 2 +- .../compiler/test-machine-operator-reducer.cc | 2 +- deps/v8/test/cctest/compiler/test-osr.cc | 62 +- deps/v8/test/cctest/compiler/test-pipeline.cc | 23 +- .../compiler/test-representation-change.cc | 8 +- .../v8/test/cctest/compiler/test-run-deopt.cc | 88 +- .../test/cctest/compiler/test-run-inlining.cc | 129 +- .../cctest/compiler/test-run-intrinsics.cc | 51 +- .../test/cctest/compiler/test-run-jscalls.cc | 2 + .../cctest/compiler/test-run-jsexceptions.cc | 43 +- .../v8/test/cctest/compiler/test-run-jsops.cc | 2 - .../test/cctest/compiler/test-run-machops.cc | 223 +- .../v8/test/cctest/compiler/test-run-stubs.cc | 137 +- .../compiler/test-simplified-lowering.cc | 46 +- deps/v8/test/cctest/gay-fixed.cc | 3 +- deps/v8/test/cctest/gay-precision.cc | 3 +- deps/v8/test/cctest/gay-shortest.cc | 3 +- deps/v8/test/cctest/print-extension.cc | 3 +- deps/v8/test/cctest/profiler-extension.cc | 3 +- deps/v8/test/cctest/test-accessors.cc | 2 +- deps/v8/test/cctest/test-api-interceptors.cc | 113 +- deps/v8/test/cctest/test-api.cc | 1506 +++-- deps/v8/test/cctest/test-assembler-arm.cc | 184 +- deps/v8/test/cctest/test-assembler-mips.cc | 3956 ++++++++++++-- deps/v8/test/cctest/test-assembler-mips64.cc | 4285 +++++++++++++-- deps/v8/test/cctest/test-assembler-ppc.cc | 88 +- deps/v8/test/cctest/test-code-stubs-arm64.cc | 4 +- deps/v8/test/cctest/test-code-stubs-mips64.cc | 3 +- deps/v8/test/cctest/test-compiler.cc | 95 +- deps/v8/test/cctest/test-constantpool.cc | 502 +- deps/v8/test/cctest/test-debug.cc | 379 +- deps/v8/test/cctest/test-decls.cc | 8 +- deps/v8/test/cctest/test-deoptimization.cc | 19 - deps/v8/test/cctest/test-disasm-arm64.cc | 9 +- deps/v8/test/cctest/test-disasm-mips.cc | 567 +- deps/v8/test/cctest/test-disasm-mips64.cc | 601 +- deps/v8/test/cctest/test-extra.js | 14 + deps/v8/test/cctest/test-feedback-vector.cc | 23 +- deps/v8/test/cctest/test-fuzz-arm64.cc | 4 +- deps/v8/test/cctest/test-global-object.cc | 6 +- deps/v8/test/cctest/test-hashing.cc | 2 +- deps/v8/test/cctest/test-hashmap.cc | 2 +- deps/v8/test/cctest/test-heap.cc | 942 +++- deps/v8/test/cctest/test-hydrogen-types.cc | 1 - deps/v8/test/cctest/test-log.cc | 2 +- .../v8/test/cctest/test-microtask-delivery.cc | 25 +- deps/v8/test/cctest/test-migrations.cc | 3 +- deps/v8/test/cctest/test-parsing.cc | 682 ++- deps/v8/test/cctest/test-profile-generator.cc | 17 +- deps/v8/test/cctest/test-reloc-info.cc | 7 +- deps/v8/test/cctest/test-serialize.cc | 42 +- deps/v8/test/cctest/test-spaces.cc | 16 +- deps/v8/test/cctest/test-strings.cc | 2 +- .../v8/test/cctest/test-thread-termination.cc | 16 +- deps/v8/test/cctest/test-threads.cc | 11 +- deps/v8/test/cctest/test-typedarrays.cc | 2 +- deps/v8/test/cctest/test-types.cc | 78 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 10 +- deps/v8/test/cctest/test-utils-arm64.h | 6 +- deps/v8/test/cctest/test-version.cc | 3 +- deps/v8/test/cctest/test-weakmaps.cc | 16 +- deps/v8/test/cctest/test-weaksets.cc | 13 +- deps/v8/test/cctest/trace-extension.cc | 3 +- deps/v8/test/js-perf-test/Exceptions/run.js | 26 + .../test/js-perf-test/Exceptions/try-catch.js | 110 + deps/v8/test/js-perf-test/JSTests.json | 22 +- deps/v8/test/js-perf-test/Scope/run.js | 26 + deps/v8/test/js-perf-test/Scope/with.js | 90 + deps/v8/test/js-perf-test/base.js | 12 +- deps/v8/test/message/arrow-bare-rest-param.js | 7 + .../v8/test/message/arrow-bare-rest-param.out | 4 + deps/v8/test/message/arrow-missing.js | 7 + deps/v8/test/message/arrow-missing.out | 4 + .../test/message/arrow-param-after-rest-2.js | 7 + .../test/message/arrow-param-after-rest-2.out | 4 + .../v8/test/message/arrow-param-after-rest.js | 7 + .../test/message/arrow-param-after-rest.out | 4 + .../arrow-strict-eval-bare-parameter.js | 8 + .../arrow-strict-eval-bare-parameter.out | 4 + deps/v8/test/message/arrow-two-rest-params.js | 7 + .../v8/test/message/arrow-two-rest-params.out | 4 + .../message/class-constructor-accessor.js | 4 +- .../message/class-constructor-generator.js | 4 +- .../message/destructuring-modify-const.js | 9 + .../message/destructuring-modify-const.out | 5 + deps/v8/test/message/invalid-spread-2.js | 7 + deps/v8/test/message/invalid-spread-2.out | 4 + deps/v8/test/message/invalid-spread.js | 7 + deps/v8/test/message/invalid-spread.out | 4 + deps/v8/test/message/message.status | 7 - deps/v8/test/message/no-legacy-const-2.js | 7 + deps/v8/test/message/no-legacy-const-2.out | 5 + deps/v8/test/message/no-legacy-const-3.js | 7 + deps/v8/test/message/no-legacy-const-3.out | 5 + deps/v8/test/message/no-legacy-const.js | 7 + deps/v8/test/message/no-legacy-const.out | 5 + .../message/rest-param-class-setter-strict.js | 12 + .../rest-param-class-setter-strict.out | 4 + .../rest-param-object-setter-sloppy.js | 11 + .../rest-param-object-setter-sloppy.out | 4 + .../rest-param-object-setter-strict.js | 12 + .../rest-param-object-setter-strict.out | 4 + .../test/message/strong-object-freeze-prop.js | 11 + .../message/strong-object-freeze-prop.out | 9 + .../test/message/strong-object-set-proto.js | 9 + .../test/message/strong-object-set-proto.out | 9 + .../super-constructor-extra-statement.js | 4 +- deps/v8/test/message/super-constructor.js | 4 +- deps/v8/test/message/super-in-function.js | 4 +- deps/v8/test/mjsunit/arguments.js | 16 + deps/v8/test/mjsunit/array-length.js | 13 + deps/v8/test/mjsunit/array-sort.js | 16 + deps/v8/test/mjsunit/asm/atomics-add.js | 93 + deps/v8/test/mjsunit/asm/atomics-and.js | 94 + .../mjsunit/asm/atomics-compareexchange.js | 121 + deps/v8/test/mjsunit/asm/atomics-exchange.js | 92 + deps/v8/test/mjsunit/asm/atomics-load.js | 102 + deps/v8/test/mjsunit/asm/atomics-or.js | 93 + deps/v8/test/mjsunit/asm/atomics-store.js | 109 + deps/v8/test/mjsunit/asm/atomics-sub.js | 94 + deps/v8/test/mjsunit/asm/atomics-xor.js | 93 + deps/v8/test/mjsunit/big-array-literal.js | 3 +- deps/v8/test/mjsunit/call-counts.js | 43 + deps/v8/test/mjsunit/call-runtime-tail.js | 81 + .../compiler/deopt-tonumber-compare.js | 44 + .../mjsunit/compiler/deopt-tonumber-shift.js | 40 + deps/v8/test/mjsunit/compiler/jsnatives.js | 4 +- deps/v8/test/mjsunit/compiler/optimize_max.js | 69 + deps/v8/test/mjsunit/compiler/optimize_min.js | 69 + .../v8/test/mjsunit/compiler/osr-array-len.js | 22 + deps/v8/test/mjsunit/compiler/osr-maze1.js | 2 +- deps/v8/test/mjsunit/compiler/osr-maze2.js | 2 +- deps/v8/test/mjsunit/compiler/regress-4206.js | 28 + deps/v8/test/mjsunit/compiler/regress-4207.js | 15 + .../test/mjsunit/compiler/regress-445907.js | 2 - .../test/mjsunit/compiler/regress-446647.js | 2 +- .../test/mjsunit/compiler/regress-447567.js | 2 - .../test/mjsunit/compiler/regress-491578.js | 15 + .../mjsunit/compiler/regress-shift-left.js | 41 + .../compiler/regress-shift-right-logical.js | 41 + .../mjsunit/compiler/regress-shift-right.js | 41 + .../mjsunit/compiler/regress-uint8-deopt.js | 2 +- .../compiler/regress-variable-liveness.js | 22 + .../test/mjsunit/compiler/stubs/floor-stub.js | 54 + deps/v8/test/mjsunit/compiler/try-binop.js | 45 + deps/v8/test/mjsunit/compiler/try-deopt.js | 3 +- deps/v8/test/mjsunit/compiler/try-osr.js | 51 + ...1878.js => d8-worker-sharedarraybuffer.js} | 50 +- ...t-literal.js => d8-worker-spawn-worker.js} | 19 +- deps/v8/test/mjsunit/d8-worker.js | 137 + deps/v8/test/mjsunit/date.js | 14 + deps/v8/test/mjsunit/debug-backtrace-text.js | 2 +- deps/v8/test/mjsunit/debug-backtrace.js | 4 +- deps/v8/test/mjsunit/debug-break-inline.js | 2 +- deps/v8/test/mjsunit/debug-breakpoints.js | 1 - .../mjsunit/debug-clearbreakpointgroup.js | 1 - .../test/mjsunit/debug-evaluate-arguments.js | 2 +- .../v8/test/mjsunit/debug-evaluate-closure.js | 1 - deps/v8/test/mjsunit/debug-evaluate-with.js | 1 - .../mjsunit/debug-liveedit-breakpoints.js | 2 + .../mjsunit/debug-liveedit-patch-positions.js | 3 + .../mjsunit/debug-liveedit-stack-padding.js | 4 +- deps/v8/test/mjsunit/debug-receiver.js | 2 +- deps/v8/test/mjsunit/debug-references.js | 3 +- deps/v8/test/mjsunit/debug-scopes.js | 6 +- .../test/mjsunit/debug-script-breakpoints.js | 3 + deps/v8/test/mjsunit/debug-script.js | 5 +- deps/v8/test/mjsunit/debug-step-2.js | 1 - deps/v8/test/mjsunit/debug-stepframe.js | 6 +- .../test/mjsunit/debug-stepin-accessor-ic.js | 49 + .../v8/test/mjsunit/debug-stepin-positions.js | 11 +- .../test/mjsunit/debug-stepout-scope-part1.js | 2 +- .../test/mjsunit/debug-stepout-scope-part2.js | 2 +- .../test/mjsunit/debug-stepout-scope-part3.js | 2 +- .../test/mjsunit/debug-stepout-scope-part4.js | 2 +- .../test/mjsunit/debug-stepout-scope-part5.js | 2 +- .../test/mjsunit/debug-stepout-scope-part6.js | 2 +- .../test/mjsunit/debug-stepout-scope-part7.js | 2 +- .../test/mjsunit/debug-stepout-scope-part8.js | 2 +- deps/v8/test/mjsunit/declare-locally.js | 2 +- deps/v8/test/mjsunit/deserialize-script-id.js | 8 +- deps/v8/test/mjsunit/elements-kind.js | 2 +- deps/v8/test/mjsunit/enumeration-order.js | 8 +- .../v8/test/mjsunit/es6/arguments-iterator.js | 5 +- deps/v8/test/mjsunit/es6/block-for.js | 27 +- .../mjsunit/es6/block-non-strict-errors.js | 2 - .../class-property-name-eval-arguments.js | 2 +- .../{harmony => es6}/classes-experimental.js | 2 - .../{harmony => es6}/classes-lazy-parsing.js | 15 +- .../mjsunit/{harmony => es6}/classes-maps.js | 2 +- .../classes-subclass-arrays.js | 3 +- .../test/mjsunit/{harmony => es6}/classes.js | 2 +- deps/v8/test/mjsunit/es6/debug-blockscopes.js | 10 +- .../mjsunit/es6/debug-evaluate-blockscopes.js | 8 +- .../debug-step-into-class-extends.js | 2 +- .../debug-step-into-constructor.js | 21 +- .../v8/test/mjsunit/es6/debug-stepnext-for.js | 33 +- .../test/mjsunit/es6/generators-relocation.js | 6 +- .../v8/test/mjsunit/es6/generators-runtime.js | 33 +- .../mjsunit/es6/indexed-integer-exotics.js | 21 +- .../v8/test/mjsunit/es6/iterator-prototype.js | 58 + .../method-name-eval-arguments.js | 2 - .../object-literals-method.js | 16 +- .../object-literals-property-shorthand.js | 2 - .../mjsunit/es6/promise-internal-setter.js | 17 + .../test/mjsunit/es6/regress/regress-2506.js | 16 +- .../{harmony => es6}/regress/regress-3750.js | 3 +- .../test/mjsunit/es6/regress/regress-4097.js | 37 + .../regress/regress-455141.js | 2 +- deps/v8/test/mjsunit/es6/string-html.js | 42 + deps/v8/test/mjsunit/es6/templates.js | 20 + .../test/mjsunit/{harmony => es6}/toMethod.js | 2 +- .../test/mjsunit/es6/typedarray-copywithin.js | 173 + .../typedarray-every.js} | 15 +- deps/v8/test/mjsunit/es6/typedarray-fill.js | 45 + deps/v8/test/mjsunit/es6/typedarray-find.js | 187 + .../test/mjsunit/es6/typedarray-findindex.js | 187 + .../typedarray-foreach.js} | 21 +- deps/v8/test/mjsunit/es6/typedarray-from.js | 121 + .../test/mjsunit/es6/typedarray-indexing.js | 71 + .../test/mjsunit/es6/typedarray-iteration.js | 194 + .../typedarray-of.js} | 2 - .../{harmony => es6}/typedarray-proto.js | 2 - deps/v8/test/mjsunit/es6/typedarray-reduce.js | 250 + .../v8/test/mjsunit/es6/typedarray-reverse.js | 54 + deps/v8/test/mjsunit/es6/typedarray-slice.js | 71 + deps/v8/test/mjsunit/es6/typedarray-sort.js | 55 + .../test/mjsunit/es6/typedarray-tostring.js | 86 + .../typedarrays.js => es6/typedarray.js} | 37 + .../v8/test/mjsunit/external-array-no-sse2.js | 715 --- deps/v8/test/mjsunit/for-in.js | 12 + deps/v8/test/mjsunit/function-bind-name.js | 13 + .../mjsunit/get-caller-js-function-throws.js | 14 + .../v8/test/mjsunit/get-caller-js-function.js | 21 + .../mjsunit/global-deleted-property-keyed.js | 6 +- deps/v8/test/mjsunit/global-hash.js | 19 + deps/v8/test/mjsunit/handle-count-ast.js | 12 + .../mjsunit/handle-count-runtime-literals.js | 1230 +++++ deps/v8/test/mjsunit/harmony/array-concat.js | 24 +- deps/v8/test/mjsunit/harmony/array-find.js | 24 +- .../test/mjsunit/harmony/array-findindex.js | 24 +- deps/v8/test/mjsunit/harmony/array-from.js | 28 + deps/v8/test/mjsunit/harmony/array-of.js | 30 + .../arrow-functions-lexical-arguments.js | 2 +- .../mjsunit/harmony/arrow-functions-this.js | 81 + .../test/mjsunit/harmony/arrow-rest-params.js | 142 + deps/v8/test/mjsunit/harmony/atomics.js | 444 ++ .../class-computed-property-names-super.js | 2 +- .../computed-property-names-classes.js | 2 +- .../harmony/computed-property-names-deopt.js | 30 + ...-property-names-object-literals-methods.js | 2 +- .../harmony/computed-property-names-super.js | 3 +- ...ucturing-parameters-literalcount-nolazy.js | 41 + .../destructuring-parameters-literalcount.js | 41 + deps/v8/test/mjsunit/harmony/destructuring.js | 738 +++ deps/v8/test/mjsunit/harmony/new-target.js | 370 ++ .../mjsunit/harmony/object-literals-super.js | 51 +- deps/v8/test/mjsunit/harmony/private.js | 52 +- deps/v8/test/mjsunit/harmony/proxies-for.js | 17 +- deps/v8/test/mjsunit/harmony/proxies.js | 3 +- .../mjsunit/harmony/regress/regress-4160.js | 29 + .../regress/regress-arrow-duplicate-params.js | 7 + .../harmony/regress/regress-crbug-451770.js | 2 +- .../harmony/rest-params-lazy-parsing.js | 18 +- deps/v8/test/mjsunit/harmony/rest-params.js | 2 +- .../test/mjsunit/harmony/set-prototype-of.js | 18 + .../test/mjsunit/harmony/sharedarraybuffer.js | 577 ++ deps/v8/test/mjsunit/harmony/spread-array.js | 179 + .../harmony/spread-call-super-property.js | 20 + deps/v8/test/mjsunit/harmony/super.js | 151 +- .../has-own-property-evaluation-order.js | 13 + .../json-replacer-number-wrapper-tostring.js | 20 + deps/v8/test/mjsunit/json-replacer-order.js | 26 + deps/v8/test/mjsunit/math-abs.js | 16 + deps/v8/test/mjsunit/math-floor-negative.js | 2 +- .../mjsunit/math-floor-of-div-minus-zero.js | 2 +- .../test/mjsunit/math-floor-of-div-nosudiv.js | 2 +- deps/v8/test/mjsunit/math-floor-of-div.js | 2 +- deps/v8/test/mjsunit/messages.js | 98 +- deps/v8/test/mjsunit/migrations.js | 12 - deps/v8/test/mjsunit/mjsunit.status | 33 +- deps/v8/test/mjsunit/own-symbols.js | 55 - deps/v8/test/mjsunit/proto-accessor.js | 18 + deps/v8/test/mjsunit/regexp-sort.js | 48 + .../mjsunit/regress/poly_count_operation.js | 2 +- deps/v8/test/mjsunit/regress/regress-1119.js | 2 +- deps/v8/test/mjsunit/regress/regress-1130.js | 2 +- deps/v8/test/mjsunit/regress/regress-1132.js | 2 +- .../v8/test/mjsunit/regress/regress-115452.js | 2 +- .../test/mjsunit/regress/regress-1170187.js | 1 - .../v8/test/mjsunit/regress/regress-119609.js | 1 - .../test/mjsunit/regress/regress-1199637.js | 2 +- .../v8/test/mjsunit/regress/regress-131994.js | 1 - deps/v8/test/mjsunit/regress/regress-1419.js | 10 +- deps/v8/test/mjsunit/regress/regress-1586.js | 6 +- .../v8/test/mjsunit/regress/regress-166553.js | 2 +- deps/v8/test/mjsunit/regress/regress-2318.js | 3 +- deps/v8/test/mjsunit/regress/regress-2593.js | 2 +- deps/v8/test/mjsunit/regress/regress-2653.js | 2 +- .../v8/test/mjsunit/regress/regress-325676.js | 1 - .../v8/test/mjsunit/regress/regress-360733.js | 2 +- .../v8/test/mjsunit/regress/regress-370384.js | 2 +- deps/v8/test/mjsunit/regress/regress-3718.js | 21 + deps/v8/test/mjsunit/regress/regress-3960.js | 2 +- deps/v8/test/mjsunit/regress/regress-4121.js | 3 + deps/v8/test/mjsunit/regress/regress-4169.js | 9 + .../test/mjsunit/regress/regress-417709a.js | 2 +- deps/v8/test/mjsunit/regress/regress-4214.js | 6 + .../v8/test/mjsunit/regress/regress-4255-1.js | 26 + .../v8/test/mjsunit/regress/regress-4255-2.js | 24 + .../v8/test/mjsunit/regress/regress-4255-3.js | 24 + .../v8/test/mjsunit/regress/regress-4255-4.js | 24 + .../v8/test/mjsunit/regress/regress-436896.js | 2 +- .../v8/test/mjsunit/regress/regress-479528.js | 13 + .../v8/test/mjsunit/regress/regress-489151.js | 12 + .../v8/test/mjsunit/regress/regress-491481.js | 15 + .../v8/test/mjsunit/regress/regress-491536.js | 10 + .../v8/test/mjsunit/regress/regress-499790.js | 14 + .../v8/test/mjsunit/regress/regress-500173.js | 12 + .../v8/test/mjsunit/regress/regress-500176.js | 13 + .../v8/test/mjsunit/regress/regress-500831.js | 94 + .../v8/test/mjsunit/regress/regress-500980.js | 7 + .../v8/test/mjsunit/regress/regress-503565.js | 21 + .../v8/test/mjsunit/regress/regress-507980.js | 8 + deps/v8/test/mjsunit/regress/regress-581.js | 6 +- deps/v8/test/mjsunit/regress/regress-747.js | 2 +- deps/v8/test/mjsunit/regress/regress-78270.js | 2 - .../mjsunit/regress/regress-arguments-gc.js | 2 +- .../regress-assignment-in-test-context.js | 3 +- .../mjsunit/regress/regress-binop-nosse2.js | 167 - .../mjsunit/regress/regress-crbug-107996.js | 1 - .../mjsunit/regress/regress-crbug-171715.js | 1 - .../mjsunit/regress/regress-crbug-217858.js | 2 +- .../mjsunit/regress/regress-crbug-222893.js | 1 - .../mjsunit/regress/regress-crbug-424142.js | 3 + .../mjsunit/regress/regress-crbug-450960.js | 8 +- .../mjsunit/regress/regress-crbug-467180.js | 41 + .../mjsunit/regress/regress-crbug-471659.js | 22 + .../mjsunit/regress/regress-crbug-474297.js | 5 + .../mjsunit/regress/regress-crbug-480819.js | 2 +- .../mjsunit/regress/regress-crbug-481896.js | 56 + .../mjsunit/regress/regress-crbug-482998.js | 23 + .../mjsunit/regress/regress-crbug-487105.js | 9 + .../mjsunit/regress/regress-crbug-487289.js | 20 + .../mjsunit/regress/regress-crbug-487608.js | 22 + .../mjsunit/regress/regress-crbug-489293.js | 16 + .../mjsunit/regress/regress-crbug-489597.js | 12 + .../regress/regress-crbug-489597.js-script | 5 + .../mjsunit/regress/regress-crbug-490680.js | 18 + .../mjsunit/regress/regress-crbug-491062.js | 22 + .../mjsunit/regress/regress-crbug-491943.js | 25 + .../mjsunit/regress/regress-crbug-492526.js | 7 + .../mjsunit/regress/regress-crbug-493284.js | 10 + .../mjsunit/regress/regress-crbug-493290.js | 9 + .../mjsunit/regress/regress-crbug-493568.js | 12 + .../mjsunit/regress/regress-crbug-493779.js | 11 + .../mjsunit/regress/regress-crbug-498022.js | 15 + .../mjsunit/regress/regress-crbug-498142.js | 8 + .../mjsunit/regress/regress-crbug-498811.js | 9 + ...rbug-514268.js => regress-crbug-500435.js} | 7 +- .../mjsunit/regress/regress-crbug-500497.js | 3 + .../mjsunit/regress/regress-crbug-500824.js | 23 + .../mjsunit/regress/regress-crbug-501711.js | 14 + .../mjsunit/regress/regress-crbug-501808.js | 6 + .../mjsunit/regress/regress-crbug-501809.js | 9 + .../mjsunit/regress/regress-crbug-503578.js | 14 + .../mjsunit/regress/regress-crbug-503698.js | 9 + .../mjsunit/regress/regress-crbug-503968.js | 13 + .../mjsunit/regress/regress-crbug-503991.js | 9 + .../mjsunit/regress/regress-crbug-504136.js | 9 + .../mjsunit/regress/regress-crbug-504727.js | 9 + .../mjsunit/regress/regress-crbug-504729.js | 9 + .../mjsunit/regress/regress-crbug-504787.js | 15 + .../mjsunit/regress/regress-crbug-505007-1.js | 14 + .../mjsunit/regress/regress-crbug-505007-2.js | 15 + .../mjsunit/regress/regress-crbug-505354.js | 14 + .../mjsunit/regress/regress-crbug-505370.js | 22 + .../mjsunit/regress/regress-crbug-505778.js | 8 + .../mjsunit/regress/regress-crbug-506443.js | 89 + .../regress-debug-code-recompilation.js | 3 + .../regress-debug-deopt-while-recompile.js | 1 - .../mjsunit/regress/regress-eval-context.js | 20 + .../regress-existing-shared-function-info.js | 18 + .../regress/regress-opt-after-debug-deopt.js | 1 - .../mjsunit/regress/regress-osr-context.js | 19 + .../regress-prepare-break-while-recompile.js | 2 + .../regress/regress-regexp-codeflush.js | 2 +- .../regress/regress-splice-large-index.js | 1 + deps/v8/test/mjsunit/regress/regress-x87.js | 2 +- .../mjsunit/regress/string-set-char-deopt.js | 2 +- deps/v8/test/mjsunit/samevalue.js | 2 +- deps/v8/test/mjsunit/strict-mode.js | 2 - deps/v8/test/mjsunit/string-normalize.js | 11 + deps/v8/test/mjsunit/strong/classes.js | 3 +- .../mjsunit/strong/declaration-after-use.js | 14 +- deps/v8/test/mjsunit/strong/function-arity.js | 355 ++ deps/v8/test/mjsunit/strong/functions.js | 4 +- .../strong/implicit-conversions-constants.js | 203 + .../strong/implicit-conversions-count.js | 168 + .../strong/implicit-conversions-inlining.js | 231 +- .../mjsunit/strong/implicit-conversions.js | 214 +- deps/v8/test/mjsunit/strong/literals.js | 352 ++ deps/v8/test/mjsunit/strong/load-builtins.js | 42 + .../load-element-mutate-backing-store.js | 239 + deps/v8/test/mjsunit/strong/load-element.js | 267 + .../load-property-mutate-backing-store.js | 174 + deps/v8/test/mjsunit/strong/load-property.js | 203 + deps/v8/test/mjsunit/strong/load-proxy.js | 98 + deps/v8/test/mjsunit/strong/load-super.js | 102 + deps/v8/test/mjsunit/strong/object-delete.js | 255 + .../mjsunit/strong/object-freeze-property.js | 75 + .../mjsunit/strong/object-set-prototype.js | 83 + deps/v8/test/mjsunit/strong/super.js | 62 + deps/v8/test/mjsunit/testcfg.py | 3 +- .../mjsunit/third_party/object-keys/LICENSE | 30 + .../{ => object-keys}/object-keys.js | 0 .../mjsunit/third_party/regexp-pcre/LICENSE | 68 + .../{ => regexp-pcre}/regexp-pcre.js | 0 deps/v8/test/mjsunit/this-dynamic-lookup.js | 10 + .../mjsunit/unbox-double-field-indexed.js | 23 + deps/v8/test/mjsunit/unbox-double-field.js | 22 + .../test/mjsunit/unbox-smi-field-indexed.js | 23 + deps/v8/test/mjsunit/unbox-smi-field.js | 22 + deps/v8/test/mjsunit/undetectable-compare.js | 96 + deps/v8/test/mjsunit/undetectable.js | 87 + deps/v8/test/mjsunit/uri.js | 10 + deps/v8/test/mozilla/mozilla.status | 1 + deps/v8/test/simdjs/SimdJs.json | 315 ++ deps/v8/test/simdjs/generate.py | 61 + deps/v8/test/simdjs/harness-adapt.js | 29 + deps/v8/test/simdjs/harness-finish.js | 26 + deps/v8/test/simdjs/simdjs.status | 26 + deps/v8/test/simdjs/testcfg.py | 101 + deps/v8/test/test262-es6/README | 4 +- deps/v8/test/test262-es6/test262-es6.status | 1066 ++-- deps/v8/test/test262-es6/testcfg.py | 34 +- deps/v8/test/test262/test262.status | 25 + deps/v8/test/test262/testcfg.py | 13 + deps/v8/test/unittests/base/bits-unittest.cc | 19 + .../instruction-selector-arm64-unittest.cc | 563 +- .../common-operator-reducer-unittest.cc | 342 +- .../compiler/common-operator-unittest.cc | 52 +- .../compiler/control-equivalence-unittest.cc | 6 +- .../control-flow-optimizer-unittest.cc | 20 +- .../compiler/control-reducer-unittest.cc | 326 -- .../dead-code-elimination-unittest.cc | 375 ++ .../compiler/graph-reducer-unittest.cc | 165 +- .../compiler/graph-reducer-unittest.h | 1 + .../compiler/graph-trimmer-unittest.cc | 85 + .../test/unittests/compiler/graph-unittest.cc | 19 +- .../test/unittests/compiler/graph-unittest.h | 2 + .../compiler/instruction-selector-unittest.cc | 110 +- .../compiler/instruction-selector-unittest.h | 19 +- .../compiler/instruction-sequence-unittest.cc | 4 +- .../compiler/js-builtin-reducer-unittest.cc | 34 +- .../js-intrinsic-lowering-unittest.cc | 71 +- .../compiler/js-operator-unittest.cc | 9 +- .../compiler/js-type-feedback-unittest.cc | 389 +- .../compiler/js-typed-lowering-unittest.cc | 321 +- .../compiler/liveness-analyzer-unittest.cc | 10 +- .../compiler/load-elimination-unittest.cc | 4 +- .../compiler/loop-peeling-unittest.cc | 3 +- .../machine-operator-reducer-unittest.cc | 84 +- .../compiler/machine-operator-unittest.cc | 237 +- .../compiler/node-properties-unittest.cc | 114 +- .../unittests/compiler/node-test-utils.cc | 197 +- .../test/unittests/compiler/node-test-utils.h | 24 +- .../test/unittests/compiler/node-unittest.cc | 92 +- .../unittests/compiler/scheduler-unittest.cc | 1382 +---- .../compiler/simplified-operator-unittest.cc | 1 - .../tail-call-optimization-unittest.cc | 22 +- deps/v8/test/unittests/counters-unittest.cc | 28 +- .../heap/gc-idle-time-handler-unittest.cc | 395 +- deps/v8/test/unittests/heap/heap-unittest.cc | 48 + .../unittests/heap/memory-reducer-unittest.cc | 331 ++ .../libplatform/default-platform-unittest.cc | 88 + deps/v8/test/unittests/unittests.gyp | 5 +- .../webkit/class-syntax-extends-expected.txt | 4 +- .../webkit/cyclic-prototypes-expected.txt | 2 +- .../Object-getOwnPropertyNames-expected.txt | 6 +- .../fast/js/Object-getOwnPropertyNames.js | 6 +- .../webkit/fast/js/arguments-expected.txt | 2 +- ...ve-property-access-edge-cases-expected.txt | 6 +- deps/v8/test/webkit/webkit.status | 4 +- deps/v8/testing/commit_queue/config.json | 89 - deps/v8/tools/blink_tests/TestExpectations | 13 +- deps/v8/tools/gc-nvp-to-csv.py | 30 + deps/v8/tools/gc-nvp-trace-processor.py | 40 +- deps/v8/tools/gc_nvp_common.py | 32 + deps/v8/tools/gdb-v8-support.py | 31 + deps/v8/tools/gdbinit | 2 +- deps/v8/tools/grokdump.py | 154 +- deps/v8/tools/gyp/v8.gyp | 60 +- deps/v8/tools/js2c.py | 2 +- deps/v8/tools/jsmin.py | 2 +- deps/v8/tools/parser-shell.cc | 24 +- deps/v8/tools/parser-shell.gyp | 4 + deps/v8/tools/presubmit.py | 8 +- deps/v8/tools/release/check_clusterfuzz.py | 36 + deps/v8/tools/release/chromium_roll.py | 10 +- deps/v8/tools/release/test_scripts.py | 2 +- deps/v8/tools/run-deopt-fuzzer.py | 1 + deps/v8/tools/run-tests.py | 82 +- deps/v8/tools/run_perf.py | 69 +- deps/v8/tools/testrunner/local/commands.py | 119 +- deps/v8/tools/testrunner/local/execution.py | 69 +- deps/v8/tools/testrunner/local/progress.py | 53 +- deps/v8/tools/testrunner/local/statusfile.py | 3 +- deps/v8/tools/testrunner/local/testsuite.py | 2 +- deps/v8/tools/testrunner/local/utils.py | 11 + .../testrunner/network/network_execution.py | 4 +- deps/v8/tools/testrunner/objects/testcase.py | 2 +- deps/v8/tools/try_perf.py | 4 + deps/v8/tools/v8heapconst.py | 340 +- deps/v8/tools/verify_source_deps.py | 106 + deps/v8/tools/whitespace.txt | 2 +- 1284 files changed, 88587 insertions(+), 46662 deletions(-) delete mode 100644 deps/v8/build/android.gypi create mode 100644 deps/v8/infra/OWNERS create mode 100644 deps/v8/infra/README.md rename deps/v8/{testing/commit_queue => infra/config}/OWNERS (100%) create mode 100644 deps/v8/infra/config/cq.cfg create mode 100644 deps/v8/infra/project-config/README.md create mode 100644 deps/v8/infra/project-config/cr-buildbucket.cfg create mode 100644 deps/v8/samples/hello-world.cc create mode 100644 deps/v8/src/ast-literal-reindexer.cc create mode 100644 deps/v8/src/ast-literal-reindexer.h create mode 100644 deps/v8/src/compiler/coalesced-live-ranges.cc create mode 100644 deps/v8/src/compiler/coalesced-live-ranges.h delete mode 100644 deps/v8/src/compiler/control-reducer.cc delete mode 100644 deps/v8/src/compiler/control-reducer.h create mode 100644 deps/v8/src/compiler/dead-code-elimination.cc create mode 100644 deps/v8/src/compiler/dead-code-elimination.h create mode 100644 deps/v8/src/compiler/graph-trimmer.cc create mode 100644 deps/v8/src/compiler/graph-trimmer.h create mode 100644 deps/v8/src/compiler/greedy-allocator.cc create mode 100644 deps/v8/src/compiler/greedy-allocator.h create mode 100644 deps/v8/src/compiler/js-frame-specialization.cc create mode 100644 deps/v8/src/compiler/js-frame-specialization.h create mode 100644 deps/v8/src/compiler/x87/OWNERS create mode 100644 deps/v8/src/compiler/x87/code-generator-x87.cc create mode 100644 deps/v8/src/compiler/x87/instruction-codes-x87.h create mode 100644 deps/v8/src/compiler/x87/instruction-selector-x87.cc create mode 100644 deps/v8/src/compiler/x87/linkage-x87.cc create mode 100644 deps/v8/src/expression-classifier.h create mode 100644 deps/v8/src/harmony-atomics.js create mode 100644 deps/v8/src/harmony-concat-spreadable.js create mode 100644 deps/v8/src/harmony-sharedarraybuffer.js create mode 100644 deps/v8/src/heap/memory-reducer.cc create mode 100644 deps/v8/src/heap/memory-reducer.h create mode 100644 deps/v8/src/iterator-prototype.js create mode 100644 deps/v8/src/pattern-rewriter.cc delete mode 100644 deps/v8/src/perf-jit.cc delete mode 100644 deps/v8/src/perf-jit.h create mode 100644 deps/v8/src/prologue.js create mode 100644 deps/v8/src/runtime/runtime-atomics.cc create mode 100644 deps/v8/src/runtime/runtime-forin.cc delete mode 100644 deps/v8/src/third_party/kernel/tools/perf/util/jitdump.h create mode 100644 deps/v8/src/third_party/valgrind/LICENSE create mode 100644 deps/v8/src/third_party/vtune/LICENSE delete mode 100644 deps/v8/test/cctest/compiler/test-codegen-deopt.cc delete mode 100644 deps/v8/test/cctest/compiler/test-control-reducer.cc create mode 100644 deps/v8/test/cctest/test-extra.js create mode 100644 deps/v8/test/js-perf-test/Exceptions/run.js create mode 100644 deps/v8/test/js-perf-test/Exceptions/try-catch.js create mode 100644 deps/v8/test/js-perf-test/Scope/run.js create mode 100644 deps/v8/test/js-perf-test/Scope/with.js create mode 100644 deps/v8/test/message/arrow-bare-rest-param.js create mode 100644 deps/v8/test/message/arrow-bare-rest-param.out create mode 100644 deps/v8/test/message/arrow-missing.js create mode 100644 deps/v8/test/message/arrow-missing.out create mode 100644 deps/v8/test/message/arrow-param-after-rest-2.js create mode 100644 deps/v8/test/message/arrow-param-after-rest-2.out create mode 100644 deps/v8/test/message/arrow-param-after-rest.js create mode 100644 deps/v8/test/message/arrow-param-after-rest.out create mode 100644 deps/v8/test/message/arrow-strict-eval-bare-parameter.js create mode 100644 deps/v8/test/message/arrow-strict-eval-bare-parameter.out create mode 100644 deps/v8/test/message/arrow-two-rest-params.js create mode 100644 deps/v8/test/message/arrow-two-rest-params.out create mode 100644 deps/v8/test/message/destructuring-modify-const.js create mode 100644 deps/v8/test/message/destructuring-modify-const.out create mode 100644 deps/v8/test/message/invalid-spread-2.js create mode 100644 deps/v8/test/message/invalid-spread-2.out create mode 100644 deps/v8/test/message/invalid-spread.js create mode 100644 deps/v8/test/message/invalid-spread.out create mode 100644 deps/v8/test/message/no-legacy-const-2.js create mode 100644 deps/v8/test/message/no-legacy-const-2.out create mode 100644 deps/v8/test/message/no-legacy-const-3.js create mode 100644 deps/v8/test/message/no-legacy-const-3.out create mode 100644 deps/v8/test/message/no-legacy-const.js create mode 100644 deps/v8/test/message/no-legacy-const.out create mode 100644 deps/v8/test/message/rest-param-class-setter-strict.js create mode 100644 deps/v8/test/message/rest-param-class-setter-strict.out create mode 100644 deps/v8/test/message/rest-param-object-setter-sloppy.js create mode 100644 deps/v8/test/message/rest-param-object-setter-sloppy.out create mode 100644 deps/v8/test/message/rest-param-object-setter-strict.js create mode 100644 deps/v8/test/message/rest-param-object-setter-strict.out create mode 100644 deps/v8/test/message/strong-object-freeze-prop.js create mode 100644 deps/v8/test/message/strong-object-freeze-prop.out create mode 100644 deps/v8/test/message/strong-object-set-proto.js create mode 100644 deps/v8/test/message/strong-object-set-proto.out create mode 100644 deps/v8/test/mjsunit/asm/atomics-add.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-and.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-compareexchange.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-exchange.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-load.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-or.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-store.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-sub.js create mode 100644 deps/v8/test/mjsunit/asm/atomics-xor.js create mode 100644 deps/v8/test/mjsunit/call-counts.js create mode 100644 deps/v8/test/mjsunit/call-runtime-tail.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-tonumber-compare.js create mode 100644 deps/v8/test/mjsunit/compiler/deopt-tonumber-shift.js create mode 100644 deps/v8/test/mjsunit/compiler/optimize_max.js create mode 100644 deps/v8/test/mjsunit/compiler/optimize_min.js create mode 100644 deps/v8/test/mjsunit/compiler/osr-array-len.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-4206.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-4207.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-491578.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-shift-left.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-shift-right-logical.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-shift-right.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-variable-liveness.js create mode 100644 deps/v8/test/mjsunit/compiler/stubs/floor-stub.js create mode 100644 deps/v8/test/mjsunit/compiler/try-binop.js create mode 100644 deps/v8/test/mjsunit/compiler/try-osr.js rename deps/v8/test/mjsunit/{regress/regress-1878.js => d8-worker-sharedarraybuffer.js} (59%) rename deps/v8/test/mjsunit/{regress/regress-parse-object-literal.js => d8-worker-spawn-worker.js} (79%) create mode 100644 deps/v8/test/mjsunit/d8-worker.js create mode 100644 deps/v8/test/mjsunit/debug-stepin-accessor-ic.js rename deps/v8/test/mjsunit/{harmony => es6}/class-property-name-eval-arguments.js (96%) rename deps/v8/test/mjsunit/{harmony => es6}/classes-experimental.js (99%) rename deps/v8/test/mjsunit/{harmony => es6}/classes-lazy-parsing.js (52%) rename deps/v8/test/mjsunit/{harmony => es6}/classes-maps.js (96%) rename deps/v8/test/mjsunit/{harmony => es6}/classes-subclass-arrays.js (99%) rename deps/v8/test/mjsunit/{harmony => es6}/classes.js (99%) rename deps/v8/test/mjsunit/{harmony => es6}/debug-step-into-class-extends.js (94%) rename deps/v8/test/mjsunit/{harmony => es6}/debug-step-into-constructor.js (84%) create mode 100644 deps/v8/test/mjsunit/es6/iterator-prototype.js rename deps/v8/test/mjsunit/{harmony => es6}/method-name-eval-arguments.js (93%) rename deps/v8/test/mjsunit/{harmony => es6}/object-literals-method.js (93%) rename deps/v8/test/mjsunit/{harmony => es6}/object-literals-property-shorthand.js (97%) create mode 100644 deps/v8/test/mjsunit/es6/promise-internal-setter.js rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-3750.js (88%) create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-4097.js rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-455141.js (88%) rename deps/v8/test/mjsunit/{harmony => es6}/toMethod.js (97%) create mode 100644 deps/v8/test/mjsunit/es6/typedarray-copywithin.js rename deps/v8/test/mjsunit/{harmony/typedarrays-every.js => es6/typedarray-every.js} (89%) create mode 100644 deps/v8/test/mjsunit/es6/typedarray-fill.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-find.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-findindex.js rename deps/v8/test/mjsunit/{harmony/typedarrays-foreach.js => es6/typedarray-foreach.js} (83%) create mode 100644 deps/v8/test/mjsunit/es6/typedarray-from.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-indexing.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-iteration.js rename deps/v8/test/mjsunit/{harmony/typedarrays-of.js => es6/typedarray-of.js} (99%) rename deps/v8/test/mjsunit/{harmony => es6}/typedarray-proto.js (97%) create mode 100644 deps/v8/test/mjsunit/es6/typedarray-reduce.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-reverse.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-slice.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-sort.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-tostring.js rename deps/v8/test/mjsunit/{harmony/typedarrays.js => es6/typedarray.js} (93%) delete mode 100644 deps/v8/test/mjsunit/external-array-no-sse2.js create mode 100644 deps/v8/test/mjsunit/function-bind-name.js create mode 100644 deps/v8/test/mjsunit/get-caller-js-function-throws.js create mode 100644 deps/v8/test/mjsunit/get-caller-js-function.js create mode 100644 deps/v8/test/mjsunit/global-hash.js create mode 100644 deps/v8/test/mjsunit/handle-count-ast.js create mode 100644 deps/v8/test/mjsunit/handle-count-runtime-literals.js create mode 100644 deps/v8/test/mjsunit/harmony/arrow-functions-this.js create mode 100644 deps/v8/test/mjsunit/harmony/arrow-rest-params.js create mode 100644 deps/v8/test/mjsunit/harmony/atomics.js create mode 100644 deps/v8/test/mjsunit/harmony/computed-property-names-deopt.js create mode 100644 deps/v8/test/mjsunit/harmony/destructuring-parameters-literalcount-nolazy.js create mode 100644 deps/v8/test/mjsunit/harmony/destructuring-parameters-literalcount.js create mode 100644 deps/v8/test/mjsunit/harmony/destructuring.js create mode 100644 deps/v8/test/mjsunit/harmony/new-target.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-4160.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-arrow-duplicate-params.js create mode 100644 deps/v8/test/mjsunit/harmony/sharedarraybuffer.js create mode 100644 deps/v8/test/mjsunit/harmony/spread-array.js create mode 100644 deps/v8/test/mjsunit/harmony/spread-call-super-property.js create mode 100644 deps/v8/test/mjsunit/has-own-property-evaluation-order.js create mode 100644 deps/v8/test/mjsunit/json-replacer-number-wrapper-tostring.js create mode 100644 deps/v8/test/mjsunit/json-replacer-order.js delete mode 100644 deps/v8/test/mjsunit/own-symbols.js create mode 100644 deps/v8/test/mjsunit/regexp-sort.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3718.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4169.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4214.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4255-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4255-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4255-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4255-4.js create mode 100644 deps/v8/test/mjsunit/regress/regress-479528.js create mode 100644 deps/v8/test/mjsunit/regress/regress-489151.js create mode 100644 deps/v8/test/mjsunit/regress/regress-491481.js create mode 100644 deps/v8/test/mjsunit/regress/regress-491536.js create mode 100644 deps/v8/test/mjsunit/regress/regress-499790.js create mode 100644 deps/v8/test/mjsunit/regress/regress-500173.js create mode 100644 deps/v8/test/mjsunit/regress/regress-500176.js create mode 100644 deps/v8/test/mjsunit/regress/regress-500831.js create mode 100644 deps/v8/test/mjsunit/regress/regress-500980.js create mode 100644 deps/v8/test/mjsunit/regress/regress-503565.js create mode 100644 deps/v8/test/mjsunit/regress/regress-507980.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-binop-nosse2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-467180.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-471659.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-481896.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-482998.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-487105.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-487289.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-487608.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-489293.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-489597.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-489597.js-script create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-490680.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-491062.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-491943.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-492526.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-493284.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-493290.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-493568.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-493779.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-498022.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-498142.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-498811.js rename deps/v8/test/mjsunit/regress/{regress-crbug-514268.js => regress-crbug-500435.js} (74%) create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-500824.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-501711.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-501808.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-501809.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-503578.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-503698.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-503968.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-503991.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-504136.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-504727.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-504729.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-504787.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505007-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505007-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505354.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505370.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505778.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-506443.js create mode 100644 deps/v8/test/mjsunit/regress/regress-eval-context.js create mode 100644 deps/v8/test/mjsunit/regress/regress-existing-shared-function-info.js create mode 100644 deps/v8/test/mjsunit/regress/regress-osr-context.js create mode 100644 deps/v8/test/mjsunit/string-normalize.js create mode 100644 deps/v8/test/mjsunit/strong/function-arity.js create mode 100644 deps/v8/test/mjsunit/strong/implicit-conversions-constants.js create mode 100644 deps/v8/test/mjsunit/strong/implicit-conversions-count.js create mode 100644 deps/v8/test/mjsunit/strong/literals.js create mode 100644 deps/v8/test/mjsunit/strong/load-builtins.js create mode 100644 deps/v8/test/mjsunit/strong/load-element-mutate-backing-store.js create mode 100644 deps/v8/test/mjsunit/strong/load-element.js create mode 100644 deps/v8/test/mjsunit/strong/load-property-mutate-backing-store.js create mode 100644 deps/v8/test/mjsunit/strong/load-property.js create mode 100644 deps/v8/test/mjsunit/strong/load-proxy.js create mode 100644 deps/v8/test/mjsunit/strong/load-super.js create mode 100644 deps/v8/test/mjsunit/strong/object-delete.js create mode 100644 deps/v8/test/mjsunit/strong/object-freeze-property.js create mode 100644 deps/v8/test/mjsunit/strong/object-set-prototype.js create mode 100644 deps/v8/test/mjsunit/strong/super.js create mode 100644 deps/v8/test/mjsunit/third_party/object-keys/LICENSE rename deps/v8/test/mjsunit/third_party/{ => object-keys}/object-keys.js (100%) create mode 100644 deps/v8/test/mjsunit/third_party/regexp-pcre/LICENSE rename deps/v8/test/mjsunit/third_party/{ => regexp-pcre}/regexp-pcre.js (100%) create mode 100644 deps/v8/test/mjsunit/this-dynamic-lookup.js create mode 100644 deps/v8/test/mjsunit/unbox-double-field-indexed.js create mode 100644 deps/v8/test/mjsunit/unbox-double-field.js create mode 100644 deps/v8/test/mjsunit/unbox-smi-field-indexed.js create mode 100644 deps/v8/test/mjsunit/unbox-smi-field.js create mode 100644 deps/v8/test/mjsunit/undetectable-compare.js create mode 100644 deps/v8/test/mjsunit/undetectable.js create mode 100644 deps/v8/test/simdjs/SimdJs.json create mode 100755 deps/v8/test/simdjs/generate.py create mode 100644 deps/v8/test/simdjs/harness-adapt.js create mode 100644 deps/v8/test/simdjs/harness-finish.js create mode 100644 deps/v8/test/simdjs/simdjs.status create mode 100644 deps/v8/test/simdjs/testcfg.py delete mode 100644 deps/v8/test/unittests/compiler/control-reducer-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/dead-code-elimination-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/graph-trimmer-unittest.cc create mode 100644 deps/v8/test/unittests/heap/heap-unittest.cc create mode 100644 deps/v8/test/unittests/heap/memory-reducer-unittest.cc delete mode 100644 deps/v8/testing/commit_queue/config.json create mode 100755 deps/v8/tools/gc-nvp-to-csv.py create mode 100644 deps/v8/tools/gc_nvp_common.py create mode 100755 deps/v8/tools/verify_source_deps.py diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index cc424333d31334..d0a859c12dacf9 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -60,6 +60,8 @@ shell_g /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz /test/promises-aplus/sinon +/test/simdjs/ecmascript_simd* +/test/simdjs/data* /test/test262/data /test/test262/data.old /test/test262/tc39-test262-* diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index feaec2505e8359..059ee07086248d 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -52,7 +52,7 @@ config("internal_config") { include_dirs = [ "." ] - if (component_mode == "shared_library") { + if (is_component_build) { defines = [ "V8_SHARED", "BUILDING_V8_SHARED", @@ -202,8 +202,9 @@ action("js2c") { sources = [ "src/macros.py", - "src/messages.h", + "src/messages.h", "src/runtime.js", + "src/prologue.js", "src/v8natives.js", "src/symbol.js", "src/array.js", @@ -215,6 +216,7 @@ action("js2c") { "src/regexp.js", "src/arraybuffer.js", "src/typedarray.js", + "src/iterator-prototype.js", "src/generator.js", "src/object-observe.js", "src/collection.js", @@ -229,6 +231,8 @@ action("js2c") { "src/mirror-debugger.js", "src/liveedit-debugger.js", "src/templates.js", + "src/harmony-array.js", + "src/harmony-typedarray.js", ] outputs = [ @@ -264,17 +268,18 @@ action("js2c_experimental") { sources = [ "src/macros.py", - "src/messages.h", + "src/messages.h", "src/proxy.js", "src/generator.js", - "src/harmony-array.js", + "src/harmony-atomics.js", "src/harmony-array-includes.js", - "src/harmony-typedarray.js", + "src/harmony-concat-spreadable.js", "src/harmony-tostring.js", "src/harmony-regexp.js", "src/harmony-reflect.js", "src/harmony-spread.js", - "src/harmony-object.js" + "src/harmony-object.js", + "src/harmony-sharedarraybuffer.js" ] outputs = [ @@ -474,9 +479,13 @@ source_set("v8_snapshot") { ":js2c", ":js2c_experimental", ":js2c_extras", - ":run_mksnapshot", ":v8_base", ] + public_deps = [ + # This should be public so downstream targets can declare the snapshot + # output file as their inputs. + ":run_mksnapshot", + ] sources = [ "$target_gen_dir/libraries.cc", @@ -502,9 +511,11 @@ if (v8_use_external_startup_data) { ":js2c", ":js2c_experimental", ":js2c_extras", - ":run_mksnapshot", ":v8_base", + ] + public_deps = [ ":natives_blob", + ":run_mksnapshot", ] sources = [ @@ -526,6 +537,14 @@ source_set("v8_base") { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = [ + "include/v8-debug.h", + "include/v8-platform.h", + "include/v8-profiler.h", + "include/v8-testing.h", + "include/v8-util.h", + "include/v8-version.h", + "include/v8.h", + "include/v8config.h", "src/accessors.cc", "src/accessors.h", "src/allocation.cc", @@ -544,6 +563,8 @@ source_set("v8_base") { "src/assembler.h", "src/assert-scope.h", "src/assert-scope.cc", + "src/ast-literal-reindexer.cc", + "src/ast-literal-reindexer.h", "src/ast-numbering.cc", "src/ast-numbering.h", "src/ast-value-factory.cc", @@ -602,6 +623,8 @@ source_set("v8_base") { "src/compiler/basic-block-instrumentor.h", "src/compiler/change-lowering.cc", "src/compiler/change-lowering.h", + "src/compiler/coalesced-live-ranges.cc", + "src/compiler/coalesced-live-ranges.h", "src/compiler/code-generator-impl.h", "src/compiler/code-generator.cc", "src/compiler/code-generator.h", @@ -617,8 +640,8 @@ source_set("v8_base") { "src/compiler/control-equivalence.h", "src/compiler/control-flow-optimizer.cc", "src/compiler/control-flow-optimizer.h", - "src/compiler/control-reducer.cc", - "src/compiler/control-reducer.h", + "src/compiler/dead-code-elimination.cc", + "src/compiler/dead-code-elimination.h", "src/compiler/diamond.h", "src/compiler/frame.h", "src/compiler/frame-elider.cc", @@ -632,10 +655,14 @@ source_set("v8_base") { "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", "src/compiler/graph-visualizer.h", "src/compiler/graph.cc", "src/compiler/graph.h", + "src/compiler/greedy-allocator.cc", + "src/compiler/greedy-allocator.h", "src/compiler/instruction-codes.h", "src/compiler/instruction-selector-impl.h", "src/compiler/instruction-selector.cc", @@ -646,6 +673,8 @@ source_set("v8_base") { "src/compiler/js-builtin-reducer.h", "src/compiler/js-context-specialization.cc", "src/compiler/js-context-specialization.h", + "src/compiler/js-frame-specialization.cc", + "src/compiler/js-frame-specialization.h", "src/compiler/js-generic-lowering.cc", "src/compiler/js-generic-lowering.h", "src/compiler/js-graph.cc", @@ -774,6 +803,7 @@ source_set("v8_base") { "src/elements.h", "src/execution.cc", "src/execution.h", + "src/expression-classifier.h", "src/extensions/externalize-string-extension.cc", "src/extensions/externalize-string-extension.h", "src/extensions/free-buffer-extension.cc", @@ -830,6 +860,8 @@ source_set("v8_base") { "src/heap/mark-compact-inl.h", "src/heap/mark-compact.cc", "src/heap/mark-compact.h", + "src/heap/memory-reducer.cc", + "src/heap/memory-reducer.h", "src/heap/objects-visiting-inl.h", "src/heap/objects-visiting.cc", "src/heap/objects-visiting.h", @@ -958,12 +990,11 @@ source_set("v8_base") { "src/optimizing-compile-dispatcher.h", "src/ostreams.cc", "src/ostreams.h", + "src/pattern-rewriter.cc", "src/parser.cc", "src/parser.h", "src/pending-compilation-error-handler.cc", "src/pending-compilation-error-handler.h", - "src/perf-jit.cc", - "src/perf-jit.h", "src/preparse-data-format.h", "src/preparse-data.cc", "src/preparse-data.h", @@ -992,11 +1023,13 @@ source_set("v8_base") { "src/runtime-profiler.cc", "src/runtime-profiler.h", "src/runtime/runtime-array.cc", + "src/runtime/runtime-atomics.cc", "src/runtime/runtime-classes.cc", "src/runtime/runtime-collections.cc", "src/runtime/runtime-compiler.cc", "src/runtime/runtime-date.cc", "src/runtime/runtime-debug.cc", + "src/runtime/runtime-forin.cc", "src/runtime/runtime-function.cc", "src/runtime/runtime-generator.cc", "src/runtime/runtime-i18n.cc", @@ -1032,6 +1065,7 @@ source_set("v8_base") { "src/scopes.cc", "src/scopes.h", "src/signature.h", + "src/simulator.h", "src/small-pointer-list.h", "src/smart-pointers.h", "src/snapshot/natives.h", @@ -1040,6 +1074,8 @@ source_set("v8_base") { "src/snapshot/snapshot-common.cc", "src/snapshot/snapshot-source-sink.cc", "src/snapshot/snapshot-source-sink.h", + "src/splay-tree.h", + "src/splay-tree-inl.h", "src/snapshot/snapshot.h", "src/string-builder.cc", "src/string-builder.h", @@ -1089,6 +1125,8 @@ source_set("v8_base") { "src/vm-state.h", "src/zone.cc", "src/zone.h", + "src/zone-allocator.h", + "src/zone-containers.h", "src/third_party/fdlibm/fdlibm.cc", "src/third_party/fdlibm/fdlibm.h", ] @@ -1201,6 +1239,7 @@ source_set("v8_base") { "src/arm/regexp-macro-assembler-arm.cc", "src/arm/regexp-macro-assembler-arm.h", "src/arm/simulator-arm.cc", + "src/arm/simulator-arm.h", "src/compiler/arm/code-generator-arm.cc", "src/compiler/arm/instruction-codes-arm.h", "src/compiler/arm/instruction-selector-arm.cc", @@ -1295,6 +1334,7 @@ source_set("v8_base") { "src/mips/regexp-macro-assembler-mips.cc", "src/mips/regexp-macro-assembler-mips.h", "src/mips/simulator-mips.cc", + "src/mips/simulator-mips.h", "src/compiler/mips/code-generator-mips.cc", "src/compiler/mips/instruction-codes-mips.h", "src/compiler/mips/instruction-selector-mips.cc", @@ -1336,6 +1376,7 @@ source_set("v8_base") { "src/mips64/regexp-macro-assembler-mips64.cc", "src/mips64/regexp-macro-assembler-mips64.h", "src/mips64/simulator-mips64.cc", + "src/mips64/simulator-mips64.h", "src/ic/mips64/access-compiler-mips64.cc", "src/ic/mips64/handler-compiler-mips64.cc", "src/ic/mips64/ic-mips64.cc", @@ -1399,6 +1440,8 @@ source_set("v8_libbase") { "src/base/atomicops_internals_atomicword_compat.h", "src/base/atomicops_internals_mac.h", "src/base/atomicops_internals_mips_gcc.h", + "src/base/atomicops_internals_mips64_gcc.h", + "src/base/atomicops_internals_portable.h", "src/base/atomicops_internals_tsan.h", "src/base/atomicops_internals_x86_gcc.cc", "src/base/atomicops_internals_x86_gcc.h", @@ -1558,7 +1601,7 @@ if (current_toolchain == snapshot_toolchain) { # Public targets # -if (component_mode == "shared_library") { +if (is_component_build) { component("v8") { sources = [ "src/v8dll-main.cc", @@ -1567,11 +1610,17 @@ if (component_mode == "shared_library") { if (v8_use_snapshot && v8_use_external_startup_data) { deps = [ ":v8_base", + ] + public_deps = [ ":v8_external_snapshot", ] } else if (v8_use_snapshot) { deps = [ ":v8_base", + ] + # v8_snapshot should be public so downstream targets can declare the + # snapshot file as their input. + public_deps = [ ":v8_snapshot", ] } else { @@ -1607,6 +1656,8 @@ if (component_mode == "shared_library") { } else if (v8_use_snapshot) { deps = [ ":v8_base", + ] + public_deps = [ ":v8_snapshot", ] } else { @@ -1657,9 +1708,10 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || sources += [ "src/d8-windows.cc" ] } - if (component_mode != "shared_library") { + if (!is_component_build) { sources += [ "src/d8-debug.cc", + "src/d8-debug.h", "$target_gen_dir/d8-js.cc", ] } diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index c665f1763eb431..e8ce91563387b5 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,678 @@ +2015-07-08: Version 4.5.103 + + Performance and stability improvements on all platforms. + + +2015-07-08: Version 4.5.102 + + Performance and stability improvements on all platforms. + + +2015-07-07: Version 4.5.101 + + Move compatible receiver check from CompileHandler to UpdateCaches + (Chromium issue 505374). + + Performance and stability improvements on all platforms. + + +2015-07-07: Version 4.5.100 + + Performance and stability improvements on all platforms. + + +2015-07-07: Version 4.5.99 + + unicode-decoder: fix out-of-band write in utf16 (issue 4274). + + Performance and stability improvements on all platforms. + + +2015-07-06: Version 4.5.98 + + Performance and stability improvements on all platforms. + + +2015-07-04: Version 4.5.97 + + Performance and stability improvements on all platforms. + + +2015-07-03: Version 4.5.96 + + Performance and stability improvements on all platforms. + + +2015-07-03: Version 4.5.95 + + Performance and stability improvements on all platforms. + + +2015-07-02: Version 4.5.94 + + Performance and stability improvements on all platforms. + + +2015-07-02: Version 4.5.93 + + Include Harmony Array/TypedArray methods unconditionally (Chromium issue + 504629). + + Performance and stability improvements on all platforms. + + +2015-07-02: Version 4.5.92 + + Performance and stability improvements on all platforms. + + +2015-07-01: Version 4.5.91 + + Performance and stability improvements on all platforms. + + +2015-07-01: Version 4.5.90 + + Performance and stability improvements on all platforms. + + +2015-07-01: Version 4.5.89 + + Performance and stability improvements on all platforms. + + +2015-06-30: Version 4.5.88 + + Performance and stability improvements on all platforms. + + +2015-06-30: Version 4.5.87 + + Performance and stability improvements on all platforms. + + +2015-06-30: Version 4.5.86 + + Ensure mjsunit tests use dashes not underscores in flags directives + (Chromium issue 505228). + + Performance and stability improvements on all platforms. + + +2015-06-29: Version 4.5.85 + + Fix flag convention in handle count tests and comment (Chromium issue + 505228). + + Performance and stability improvements on all platforms. + + +2015-06-29: Version 4.5.84 + + Performance and stability improvements on all platforms. + + +2015-06-27: Version 4.5.83 + + Performance and stability improvements on all platforms. + + +2015-06-26: Version 4.5.82 + + Performance and stability improvements on all platforms. + + +2015-06-26: Version 4.5.81 + + Remove obsolete options in ScriptCompiler::CompileOptions (Chromium + issue 399580). + + Performance and stability improvements on all platforms. + + +2015-06-25: Version 4.5.80 + + Performance and stability improvements on all platforms. + + +2015-06-25: Version 4.5.79 + + Performance and stability improvements on all platforms. + + +2015-06-25: Version 4.5.78 + + Serializer: clear next link in weak cells (Chromium issue 503552). + + Performance and stability improvements on all platforms. + + +2015-06-24: Version 4.5.77 + + Performance and stability improvements on all platforms. + + +2015-06-24: Version 4.5.76 + + Performance and stability improvements on all platforms. + + +2015-06-24: Version 4.5.75 + + Date() should not depend on Date.prototype.toString (issue 4225). + + Performance and stability improvements on all platforms. + + +2015-06-23: Version 4.5.74 + + Expose Map/Set methods through the API (issue 3340). + + [turbofan] NaN is never truish (issue 4207). + + Performance and stability improvements on all platforms. + + +2015-06-23: Version 4.5.73 + + Re-ship Harmony Array/TypedArray methods (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-06-23: Version 4.5.72 + + Performance and stability improvements on all platforms. + + +2015-06-23: Version 4.5.71 + + Performance and stability improvements on all platforms. + + +2015-06-20: Version 4.5.70 + + Ship Harmony Array/TypedArray methods (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-06-20: Version 4.5.69 + + Ship arrow functions (issue 2700). + + Performance and stability improvements on all platforms. + + +2015-06-19: Version 4.5.68 + + Performance and stability improvements on all platforms. + + +2015-06-19: Version 4.5.67 + + Performance and stability improvements on all platforms. + + +2015-06-19: Version 4.5.66 + + Ship arrow functions (issue 2700). + + Performance and stability improvements on all platforms. + + +2015-06-18: Version 4.5.65 + + Performance and stability improvements on all platforms. + + +2015-06-18: Version 4.5.64 + + Performance and stability improvements on all platforms. + + +2015-06-18: Version 4.5.63 + + Performance and stability improvements on all platforms. + + +2015-06-17: Version 4.5.62 + + Hydrogen object literals: always initialize in-object properties + (Chromium issue 500497). + + Performance and stability improvements on all platforms. + + +2015-06-17: Version 4.5.61 + + Add %TypedArray% to proto chain (issue 4085). + + Performance and stability improvements on all platforms. + + +2015-06-17: Version 4.5.60 + + Performance and stability improvements on all platforms. + + +2015-06-17: Version 4.5.59 + + [crankshaft] Fix wrong bailout points in for-in loop body (Chromium + issue 500435). + + Performance and stability improvements on all platforms. + + +2015-06-16: Version 4.5.58 + + Performance and stability improvements on all platforms. + + +2015-06-16: Version 4.5.57 + + Inline code generation for %_IsTypedArray (issue 4085). + + Allow TypedArrays to be initialized with iterables (issue 4090). + + Performance and stability improvements on all platforms. + + +2015-06-15: Version 4.5.56 + + Performance and stability improvements on all platforms. + + +2015-06-15: Version 4.5.55 + + Performance and stability improvements on all platforms. + + +2015-06-14: Version 4.5.54 + + Performance and stability improvements on all platforms. + + +2015-06-13: Version 4.5.53 + + Performance and stability improvements on all platforms. + + +2015-06-12: Version 4.5.52 + + Map::TryUpdate() must be in sync with Map::Update() (issue 4173). + + Add ToObject call in Array.prototype.sort (issue 4125). + + In Array.of and Array.from, fall back to DefineOwnProperty (issue 4168). + + Performance and stability improvements on all platforms. + + +2015-06-12: Version 4.5.51 + + Performance and stability improvements on all platforms. + + +2015-06-11: Version 4.5.50 + + Performance and stability improvements on all platforms. + + +2015-06-11: Version 4.5.49 + + Performance and stability improvements on all platforms. + + +2015-06-11: Version 4.5.48 + + Support rest parameters in arrow functions (issue 2700). + + Performance and stability improvements on all platforms. + + +2015-06-10: Version 4.5.47 + + Implement %TypedArray%.prototype.slice (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-06-09: Version 4.5.46 + + Stage ES6 arrow functions (issue 2700). + + Performance and stability improvements on all platforms. + + +2015-06-09: Version 4.5.45 + + Performance and stability improvements on all platforms. + + +2015-06-09: Version 4.5.44 + + Performance and stability improvements on all platforms. + + +2015-06-08: Version 4.5.43 + + [for-in] Make ForInNext and ForInFilter deal properly with exceptions + (Chromium issue 496331). + + Performance and stability improvements on all platforms. + + +2015-06-08: Version 4.5.42 + + Performance and stability improvements on all platforms. + + +2015-06-06: Version 4.5.41 + + Performance and stability improvements on all platforms. + + +2015-06-05: Version 4.5.40 + + Performance and stability improvements on all platforms. + + +2015-06-05: Version 4.5.39 + + Stage ES6 Array and TypedArray methods (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-06-05: Version 4.5.38 + + Implement %TypedArray%.prototype.{reduce,reduceRight} (issue 3578). + + Add support for Embedded Constant Pools for PPC and Arm (Chromium issue + 478811). + + Performance and stability improvements on all platforms. + + +2015-06-04: Version 4.5.37 + + Performance and stability improvements on all platforms. + + +2015-06-04: Version 4.5.36 + + Performance and stability improvements on all platforms. + + +2015-06-04: Version 4.5.35 + + Flatten the Arrays returned and consumed by the v8::Map API (Chromium + issue 478263). + + Performance and stability improvements on all platforms. + + +2015-06-03: Version 4.5.34 + + Also allocate small typed arrays on heap when initialized from an array- + like (issue 3996). + + Implement %TypedArray%.prototype.{reduce,reduceRight} (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-06-03: Version 4.5.33 + + Add support for Embedded Constant Pools for PPC and Arm (Chromium issue + 478811). + + Implement %TypedArray%.prototype.{toString,toLocaleString,join} (issue + 3578). + + Performance and stability improvements on all platforms. + + +2015-06-03: Version 4.5.32 + + Performance and stability improvements on all platforms. + + +2015-06-02: Version 4.5.31 + + Performance and stability improvements on all platforms. + + +2015-06-02: Version 4.5.30 + + Performance and stability improvements on all platforms. + + +2015-06-01: Version 4.5.29 + + Reland "Re-enable on-heap typed array allocation" (issue 3996). + + Performance and stability improvements on all platforms. + + +2015-06-01: Version 4.5.28 + + Re-enable on-heap typed array allocation (issue 3996). + + Also expose DefineOwnProperty (Chromium issue 475206). + + Performance and stability improvements on all platforms. + + +2015-06-01: Version 4.5.27 + + Performance and stability improvements on all platforms. + + +2015-05-31: Version 4.5.26 + + Performance and stability improvements on all platforms. + + +2015-05-30: Version 4.5.25 + + Performance and stability improvements on all platforms. + + +2015-05-29: Version 4.5.24 + + Debugger: consider try-finally scopes not catching wrt debug events + (Chromium issue 492522). + + Performance and stability improvements on all platforms. + + +2015-05-29: Version 4.5.23 + + Performance and stability improvements on all platforms. + + +2015-05-29: Version 4.5.22 + + Do not eagerly convert exception to string when creating a message + object (Chromium issue 490680). + + Performance and stability improvements on all platforms. + + +2015-05-28: Version 4.5.21 + + Performance and stability improvements on all platforms. + + +2015-05-28: Version 4.5.20 + + Introduce v8::Object::CreateDataProperty (Chromium issue 475206). + + Performance and stability improvements on all platforms. + + +2015-05-27: Version 4.5.19 + + Performance and stability improvements on all platforms. + + +2015-05-27: Version 4.5.18 + + Add {Map,Set}::FromArray to the API (issue 3340). + + Add {Map,Set}::AsArray to the API (issue 3340). + + Add basic API support for Map & Set (issue 3340). + + Performance and stability improvements on all platforms. + + +2015-05-26: Version 4.5.17 + + Correctly hook up materialized receiver into the evaluation context + chain (Chromium issue 491943). + + Implement bookmarks for ExternalStreamingStream (Chromium issue 470930). + + Performance and stability improvements on all platforms. + + +2015-05-26: Version 4.5.16 + + Performance and stability improvements on all platforms. + + +2015-05-26: Version 4.5.15 + + Performance and stability improvements on all platforms. + + +2015-05-23: Version 4.5.14 + + Performance and stability improvements on all platforms. + + +2015-05-22: Version 4.5.13 + + Remove v8::Private. + + Performance and stability improvements on all platforms. + + +2015-05-22: Version 4.5.12 + + Performance and stability improvements on all platforms. + + +2015-05-22: Version 4.5.11 + + Performance and stability improvements on all platforms. + + +2015-05-21: Version 4.5.10 + + Re-land %TypedArray%.prototype.{map,filter,some} (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-05-21: Version 4.5.9 + + Performance and stability improvements on all platforms. + + +2015-05-20: Version 4.5.8 + + Performance and stability improvements on all platforms. + + +2015-05-20: Version 4.5.7 + + Implement %TypedArray%.{lastI,i}ndexOf (issue 3578). + + Implement %TypedArray%.prototype.sort (issue 3578). + + Implement %TypedArray%.reverse (issue 3578). + + Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} + (issue 3578). + + Fix has_pending_exception logic in API's Array::CloneElementAt (issue + 4103). + + Adding api to get last gc object statistics for chrome://tracing + (Chromium issue 476013). + + Fix harmless HGraph verification failure after hoisting inlined bounds + checks (Chromium issue 487608). + + Performance and stability improvements on all platforms. + + +2015-05-20: Version 4.5.6 + + Add TypedArray.from method (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-05-19: Version 4.5.5 + + ARM64: Propagate notification about aborted compilation from + RegExpEngine to MacroAssembler (Chromium issue 489290). + + Performance and stability improvements on all platforms. + + +2015-05-18: Version 4.5.4 + + Performance and stability improvements on all platforms. + + +2015-05-18: Version 4.5.3 + + Performance and stability improvements on all platforms. + + +2015-05-17: Version 4.5.2 + + Performance and stability improvements on all platforms. + + +2015-05-16: Version 4.5.1 + + Test that TypedArray methods don't read length (issue 3578). + + Implement %TypedArray%.{fill,find,findIndex} (issue 3578). + + TypedArray.prototype.copyWithin method (issue 3578). + + Provide accessor for object internal properties that doesn't require + debugger to be active (Chromium issue 481845). + + Don't create debug context if debug listener is not set (Chromium issue + 482290). + + Performance and stability improvements on all platforms. + + +2015-05-13: Version 4.4.65 + + Deprecate Isolate::New. + + Factor out core of Array.forEach and .every, for use in TypedArrays + (issue 3578). + + Performance and stability improvements on all platforms. + + +2015-05-12: Version 4.4.64 + + Performance and stability improvements on all platforms. + + 2015-05-11: Version 4.4.63 Let Runtime_GrowArrayElements accept non-Smi numbers as |key| (Chromium diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 711cc53b7e3574..689ae778bb59a4 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,23 +8,23 @@ vars = { deps = { "v8/build/gyp": - Var("git_url") + "/external/gyp.git" + "@" + "0bb67471bca068996e15b56738fa4824dfa19de0", + Var("git_url") + "/external/gyp.git" + "@" + "5122240c5e5c4d8da12c543d82b03d6089eb77c5", "v8/third_party/icu": - Var("git_url") + "/chromium/deps/icu.git" + "@" + "f8c0e585b0a046d83d72b5d37356cb50d5b2031a", + Var("git_url") + "/chromium/deps/icu.git" + "@" + "c81a1a3989c3b66fa323e9a6ee7418d7c08297af", "v8/buildtools": - Var("git_url") + "/chromium/buildtools.git" + "@" + "b0ede9c89f9d5fbe5387d961ad4c0ec665b6c821", + Var("git_url") + "/chromium/buildtools.git" + "@" + "ecc8e253abac3b6186a97573871a084f4c0ca3ae", "v8/testing/gtest": - Var("git_url") + "/external/googletest.git" + "@" + "be1868139ffe0ccd0e8e3b37292b84c821d9c8ad", + Var("git_url") + "/external/googletest.git" + "@" + "23574bf2333f834ff665f894c97bef8a5b33a0a9", "v8/testing/gmock": Var("git_url") + "/external/googlemock.git" + "@" + "29763965ab52f24565299976b936d1265cb6a271", # from svn revision 501 "v8/tools/clang": - Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "5bab78c6ced45a71a8e095a09697ca80492e57e1", + Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "73ec8804ed395b0886d6edf82a9f33583f4a7902", } deps_os = { "android": { "v8/third_party/android_tools": - Var("git_url") + "/android_tools.git" + "@" + "4f723e2a5fa5b7b8a198072ac19b92344be2b271", + Var("git_url") + "/android_tools.git" + "@" + "21f4bcbd6cd927e4b4227cfde7d5f13486be1236", }, "win": { "v8/third_party/cygwin": diff --git a/deps/v8/LICENSE b/deps/v8/LICENSE index 2f5bce83697d0f..1ffa949c6c1dfb 100644 --- a/deps/v8/LICENSE +++ b/deps/v8/LICENSE @@ -3,12 +3,12 @@ maintained libraries. The externally maintained libraries used by V8 are: - PCRE test suite, located in - test/mjsunit/third_party/regexp-pcre.js. This is based on the + test/mjsunit/third_party/regexp-pcre/regexp-pcre.js. This is based on the test suite from PCRE-7.3, which is copyrighted by the University of Cambridge and Google, Inc. The copyright notice and license are embedded in regexp-pcre.js. - - Layout tests, located in test/mjsunit/third_party. These are + - Layout tests, located in test/mjsunit/third_party/object-keys. These are based on layout tests from webkit.org which are copyrighted by Apple Computer, Inc. and released under a 3-clause BSD license. @@ -26,6 +26,9 @@ are: These libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below. +Further license information can be found in LICENSE files located in +sub-directories. + Copyright 2014, the V8 project authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/deps/v8/Makefile b/deps/v8/Makefile index db6cf3b7da534a..97612655a7b1ae 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -31,9 +31,7 @@ OUTDIR ?= out TESTJOBS ?= GYPFLAGS ?= TESTFLAGS ?= -ANDROID_NDK_ROOT ?= ANDROID_NDK_HOST_ARCH ?= -ANDROID_TOOLCHAIN ?= ANDROID_V8 ?= /data/local/tmp/v8 NACL_SDK_ROOT ?= @@ -145,10 +143,14 @@ ifeq ($(i18nsupport), off) GYPFLAGS += -Dv8_enable_i18n_support=0 TESTFLAGS += --noi18n endif -# deprecation_warnings=on +# deprecationwarnings=on ifeq ($(deprecationwarnings), on) GYPFLAGS += -Dv8_deprecation_warnings=1 endif +# imminentdeprecationwarnings=on +ifeq ($(imminentdeprecationwarnings), on) + GYPFLAGS += -Dv8_imminent_deprecation_warnings=1 +endif # asan=on ifeq ($(asan), on) GYPFLAGS += -Dasan=1 -Dclang=1 @@ -246,7 +248,7 @@ NACL_ARCHES = nacl_ia32 nacl_x64 GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \ build/shim_headers.gypi build/features.gypi build/standalone.gypi \ build/toolchain.gypi build/all.gyp build/mac/asan.gyp \ - build/android.gypi test/cctest/cctest.gyp \ + test/cctest/cctest.gyp \ test/unittests/unittests.gyp tools/gyp/v8.gyp \ tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \ buildtools/third_party/libc++abi/libc++abi.gyp \ @@ -277,7 +279,6 @@ ENVFILE = $(OUTDIR)/environment $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \ $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \ - must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN \ $(NACL_ARCHES) $(NACL_BUILDS) $(NACL_CHECKS) \ must-set-NACL_SDK_ROOT @@ -311,8 +312,7 @@ native: $(OUTDIR)/Makefile.native $(ANDROID_ARCHES): $(addprefix $$@.,$(MODES)) -$(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \ - must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN Makefile.android +$(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) Makefile.android @$(MAKE) -f Makefile.android $@ \ ARCH="$(basename $@)" \ MODE="$(subst .,,$(suffix $@))" \ @@ -448,13 +448,6 @@ $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE) build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS) -must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN: -ifndef ANDROID_NDK_ROOT -ifndef ANDROID_TOOLCHAIN - $(error ANDROID_NDK_ROOT or ANDROID_TOOLCHAIN must be set)) -endif -endif - # Note that NACL_SDK_ROOT must be set to point to an appropriate # Native Client SDK before using this makefile. You can download # an SDK here: diff --git a/deps/v8/Makefile.android b/deps/v8/Makefile.android index f89fd21fda004e..c49cb85b9b6514 100644 --- a/deps/v8/Makefile.android +++ b/deps/v8/Makefile.android @@ -35,75 +35,28 @@ MODES = release debug ANDROID_BUILDS = $(foreach mode,$(MODES), \ $(addsuffix .$(mode),$(ANDROID_ARCHES))) -HOST_OS = $(shell uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/') -ANDROID_NDK_HOST_ARCH ?= $(shell uname -m | sed -e 's/i[3456]86/x86/') -ifeq ($(HOST_OS), linux) - TOOLCHAIN_DIR = linux-$(ANDROID_NDK_HOST_ARCH) -else ifeq ($(HOST_OS), mac) - TOOLCHAIN_DIR = darwin-$(ANDROID_NDK_HOST_ARCH) -else - $(error Host platform "${HOST_OS}" is not supported) -endif - ifeq ($(ARCH), android_arm) - DEFINES = target_arch=arm v8_target_arch=arm android_target_arch=arm android_target_platform=14 - DEFINES += arm_neon=0 arm_version=7 - TOOLCHAIN_ARCH = arm-linux-androideabi - TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.8 + DEFINES = target_arch=arm v8_target_arch=arm else ifeq ($(ARCH), android_arm64) - DEFINES = target_arch=arm64 v8_target_arch=arm64 android_target_arch=arm64 android_target_platform=21 - TOOLCHAIN_ARCH = aarch64-linux-android - TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.9 + DEFINES = target_arch=arm64 v8_target_arch=arm64 else ifeq ($(ARCH), android_mipsel) - DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_platform=14 - DEFINES += android_target_arch=mips mips_arch_variant=mips32r2 - TOOLCHAIN_ARCH = mipsel-linux-android - TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.8 + DEFINES = target_arch=mipsel v8_target_arch=mipsel else ifeq ($(ARCH), android_ia32) - DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86 android_target_platform=14 - TOOLCHAIN_ARCH = x86 - TOOLCHAIN_PREFIX = i686-linux-android - TOOLCHAIN_VER = 4.8 + DEFINES = target_arch=ia32 v8_target_arch=ia32 else ifeq ($(ARCH), android_x64) - DEFINES = target_arch=x64 v8_target_arch=x64 android_target_arch=x86_64 android_target_platform=21 - TOOLCHAIN_ARCH = x86_64 - TOOLCHAIN_PREFIX = x86_64-linux-android - TOOLCHAIN_VER = 4.9 + DEFINES = target_arch=x64 v8_target_arch=x64 else ifeq ($(ARCH), android_x87) - DEFINES = target_arch=x87 v8_target_arch=x87 android_target_arch=x86 android_target_platform=14 - TOOLCHAIN_ARCH = x86 - TOOLCHAIN_PREFIX = i686-linux-android - TOOLCHAIN_VER = 4.8 + DEFINES = target_arch=ia32 v8_target_arch=x87 else $(error Target architecture "${ARCH}" is not supported) endif -TOOLCHAIN_PATH = \ - ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_ARCH}-${TOOLCHAIN_VER}/prebuilt -ANDROID_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR} - -ifeq ($(wildcard $(ANDROID_TOOLCHAIN)),) - $(error Cannot find Android toolchain in "${ANDROID_TOOLCHAIN}". Please \ - check that ANDROID_NDK_ROOT and ANDROID_NDK_HOST_ARCH are set \ - correctly) -endif - -# For mksnapshot host generation. -DEFINES += host_os=${HOST_OS} +# Common flags. DEFINES += OS=android .SECONDEXPANSION: $(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$@ @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \ - CXX="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-g++" \ - AR="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ar" \ - RANLIB="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ranlib" \ - CC="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-gcc" \ - LD="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ld" \ - LINK="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-g++" \ BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ python -c "print raw_input().capitalize()") \ builddir="$(shell pwd)/$(OUTDIR)/$@" @@ -113,9 +66,7 @@ ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_BUILDS)) $(ANDROID_MAKEFILES): GYP_GENERATORS=make-android \ GYP_DEFINES="${DEFINES}" \ - CC="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-gcc" \ - CXX="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-g++" \ PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH)" \ build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \ - -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \ + -Ibuild/standalone.gypi --depth=. \ -S$(suffix $(basename $@))$(suffix $@) ${GYPFLAGS} diff --git a/deps/v8/build/android.gypi b/deps/v8/build/android.gypi deleted file mode 100644 index 7bbf12eed6d99b..00000000000000 --- a/deps/v8/build/android.gypi +++ /dev/null @@ -1,266 +0,0 @@ -# Copyright 2012 the V8 project authors. All rights reserved. -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Definitions for building standalone V8 binaries to run on Android. -# This is mostly excerpted from: -# http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi - -{ - 'variables': { - # Location of Android NDK. - 'variables': { - 'android_ndk_root%': ' GetExecutionState() const = 0; - virtual Handle GetEventData() const = 0; + virtual Local GetExecutionState() const = 0; + virtual Local GetEventData() const = 0; /** * Get the debugger protocol JSON. */ - virtual Handle GetJSON() const = 0; + virtual Local GetJSON() const = 0; /** * Get the context active when the debug event happened. Note this is not * the current active context as the JavaScript part of the debugger is * running in its own context which is entered at this point. */ - virtual Handle GetEventContext() const = 0; + virtual Local GetEventContext() const = 0; /** * Client data passed with the corresponding request if any. This is the @@ -104,21 +104,21 @@ class V8_EXPORT Debug { * Access to execution state and event data of the debug event. Don't store * these cross callbacks as their content becomes invalid. */ - virtual Handle GetExecutionState() const = 0; - virtual Handle GetEventData() const = 0; + virtual Local GetExecutionState() const = 0; + virtual Local GetEventData() const = 0; /** * Get the context active when the debug event happened. Note this is not * the current active context as the JavaScript part of the debugger is * running in its own context which is entered at this point. */ - virtual Handle GetEventContext() const = 0; + virtual Local GetEventContext() const = 0; /** * Client data passed with the corresponding callback when it was * registered. */ - virtual Handle GetCallbackData() const = 0; + virtual Local GetCallbackData() const = 0; /** * Client data passed to DebugBreakForCommand function. The @@ -156,7 +156,7 @@ class V8_EXPORT Debug { typedef void (*DebugMessageDispatchHandler)(); static bool SetDebugEventListener(EventCallback that, - Handle data = Handle()); + Local data = Local()); // Schedule a debugger break to happen when JavaScript code is run // in the given isolate. @@ -196,20 +196,20 @@ class V8_EXPORT Debug { */ static V8_DEPRECATE_SOON( "Use maybe version", - Local Call(v8::Handle fun, - Handle data = Handle())); + Local Call(v8::Local fun, + Local data = Local())); // TODO(dcarney): data arg should be a MaybeLocal static MaybeLocal Call(Local context, - v8::Handle fun, - Handle data = Handle()); + v8::Local fun, + Local data = Local()); /** * Returns a mirror object for the given object. */ static V8_DEPRECATE_SOON("Use maybe version", - Local GetMirror(v8::Handle obj)); + Local GetMirror(v8::Local obj)); static MaybeLocal GetMirror(Local context, - v8::Handle obj); + v8::Local obj); /** * Makes V8 process all pending debug messages. @@ -248,7 +248,8 @@ class V8_EXPORT Debug { * Debugger is running in its own context which is entered while debugger * messages are being dispatched. This is an explicit getter for this * debugger context. Note that the content of the debugger context is subject - * to change. + * to change. The Context exists only when the debugger is active, i.e. at + * least one DebugEventListener or MessageHandler is set. */ static Local GetDebugContext(); @@ -259,6 +260,14 @@ class V8_EXPORT Debug { * unexpectedly used. LiveEdit is enabled by default. */ static void SetLiveEditEnabled(Isolate* isolate, bool enable); + + /** + * Returns array of internal properties specific to the value type. Result has + * the following format: [, ,...,, ]. Result array + * will be allocated in the current context. + */ + static MaybeLocal GetInternalProperties(Isolate* isolate, + Local value); }; diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 67fb384c99ba52..be9e5c0c6b46ed 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -56,6 +56,17 @@ class Platform { */ virtual void CallOnForegroundThread(Isolate* isolate, Task* task) = 0; + /** + * Schedules a task to be invoked on a foreground thread wrt a specific + * |isolate| after the given number of seconds |delay_in_seconds|. + * Tasks posted for the same isolate should be execute in order of + * scheduling. The definition of "foreground" is opaque to V8. + */ + virtual void CallDelayedOnForegroundThread(Isolate* isolate, Task* task, + double delay_in_seconds) { + // TODO(ulan): Make this function abstract after V8 roll in Chromium. + } + /** * Monotonically increasing time in seconds from an arbitrary fixed point in * the past. This function is expected to return at least diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 82a14d66003001..121e8030a140d7 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -60,13 +60,13 @@ class V8_EXPORT CpuProfileNode { }; /** Returns function name (empty string for anonymous functions.) */ - Handle GetFunctionName() const; + Local GetFunctionName() const; /** Returns id of the script where function is located. */ int GetScriptId() const; /** Returns resource name for script from where the function originates. */ - Handle GetScriptResourceName() const; + Local GetScriptResourceName() const; /** * Returns the number, 1-based, of the line where the function originates. @@ -129,7 +129,7 @@ class V8_EXPORT CpuProfileNode { class V8_EXPORT CpuProfile { public: /** Returns CPU profile title. */ - Handle GetTitle() const; + Local GetTitle() const; /** Returns the root node of the top down call tree. */ const CpuProfileNode* GetTopDownRoot() const; @@ -198,13 +198,13 @@ class V8_EXPORT CpuProfiler { * |record_samples| parameter controls whether individual samples should * be recorded in addition to the aggregated tree. */ - void StartProfiling(Handle title, bool record_samples = false); + void StartProfiling(Local title, bool record_samples = false); /** * Stops collecting CPU profile with a given title and returns it. * If the title given is empty, finishes the last profile started. */ - CpuProfile* StopProfiling(Handle title); + CpuProfile* StopProfiling(Local title); /** * Tells the profiler whether the embedder is idle. @@ -246,7 +246,7 @@ class V8_EXPORT HeapGraphEdge { * Returns edge name. This can be a variable name, an element index, or * a property name. */ - Handle GetName() const; + Local GetName() const; /** Returns origin node. */ const HeapGraphNode* GetFromNode() const; @@ -275,7 +275,8 @@ class V8_EXPORT HeapGraphNode { // snapshot items together. kConsString = 10, // Concatenated string. A pair of pointers to strings. kSlicedString = 11, // Sliced string. A fragment of another string. - kSymbol = 12 // A Symbol (ES6). + kSymbol = 12, // A Symbol (ES6). + kSimdValue = 13 // A SIMD value stored in the heap (Proposed ES7). }; /** Returns node type (see HeapGraphNode::Type). */ @@ -286,7 +287,7 @@ class V8_EXPORT HeapGraphNode { * of the constructor (for objects), the name of the function (for * closures), string value, or an empty string (for compiled code). */ - Handle GetName() const; + Local GetName() const; /** * Returns node id. For the same heap object, the id remains the same @@ -429,8 +430,8 @@ class V8_EXPORT HeapProfiler { * while the callback is running: only getters on the handle and * GetPointerFromInternalField on the objects are allowed. */ - typedef RetainedObjectInfo* (*WrapperInfoCallback) - (uint16_t class_id, Handle wrapper); + typedef RetainedObjectInfo* (*WrapperInfoCallback)(uint16_t class_id, + Local wrapper); /** Returns the number of snapshots taken. */ int GetSnapshotCount(); @@ -442,13 +443,13 @@ class V8_EXPORT HeapProfiler { * Returns SnapshotObjectId for a heap object referenced by |value| if * it has been seen by the heap profiler, kUnknownObjectId otherwise. */ - SnapshotObjectId GetObjectId(Handle value); + SnapshotObjectId GetObjectId(Local value); /** * Returns heap object with given SnapshotObjectId if the object is alive, * otherwise empty handle is returned. */ - Handle FindObjectById(SnapshotObjectId id); + Local FindObjectById(SnapshotObjectId id); /** * Clears internal map from SnapshotObjectId to heap object. The new objects @@ -473,7 +474,8 @@ class V8_EXPORT HeapProfiler { * Returns name to be used in the heap snapshot for given node. Returned * string must stay alive until snapshot collection is completed. */ - virtual const char* GetName(Handle object) = 0; + virtual const char* GetName(Local object) = 0; + protected: virtual ~ObjectNameResolver() {} }; diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 180969f1161e78..f6f62d736a373b 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 4 -#define V8_MINOR_VERSION 4 -#define V8_BUILD_NUMBER 63 -#define V8_PATCH_LEVEL 30 +#define V8_MINOR_VERSION 5 +#define V8_BUILD_NUMBER 103 +#define V8_PATCH_LEVEL 24 // 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 910279b52e6b29..6e1db3a581f5c7 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -94,6 +94,7 @@ class Primitive; class Promise; class RawOperationDescriptor; class Script; +class SharedArrayBuffer; class Signature; class StartupData; class StackFrame; @@ -102,7 +103,6 @@ class String; class StringObject; class Symbol; class SymbolObject; -class Private; class Uint32; class Utils; class Value; @@ -215,8 +215,8 @@ class Local { : val_(reinterpret_cast(*that)) { /** * This check fails when trying to convert between incompatible - * handles. For example, converting from a Handle to a - * Handle. + * handles. For example, converting from a Local to a + * Local. */ TYPE_CHECK(T, S); } @@ -311,7 +311,6 @@ class Local { friend class String; friend class Object; friend class Context; - friend class Private; template friend class internal::CustomArguments; friend Local Undefined(Isolate* isolate); friend Local Null(Isolate* isolate); @@ -331,9 +330,11 @@ class Local { }; -// Handle is an alias for Local for historical reasons. +#if !defined(V8_IMMINENT_DEPRECATION_WARNINGS) +// Local is an alias for Local for historical reasons. template using Handle = Local; +#endif /** @@ -418,11 +419,11 @@ class WeakCallbackInfo { V8_INLINE void* GetInternalField(int index) const; V8_INLINE V8_DEPRECATE_SOON("use indexed version", - void* GetInternalField1()) const { + void* GetInternalField1() const) { return internal_fields_[0]; } V8_INLINE V8_DEPRECATE_SOON("use indexed version", - void* GetInternalField2()) const { + void* GetInternalField2() const) { return internal_fields_[1]; } @@ -496,7 +497,7 @@ template class PersistentBase { * and create a new one with the contents of other if other is non empty */ template - V8_INLINE void Reset(Isolate* isolate, const Handle& other); + V8_INLINE void Reset(Isolate* isolate, const Local& other); /** * If non-empty, destroy the underlying storage cell @@ -517,7 +518,8 @@ template class PersistentBase { return *a == *b; } - template V8_INLINE bool operator==(const Handle& that) const { + template + V8_INLINE bool operator==(const Local& that) const { internal::Object** a = reinterpret_cast(this->val_); internal::Object** b = reinterpret_cast(that.val_); if (a == NULL) return b == NULL; @@ -530,7 +532,8 @@ template class PersistentBase { return !operator==(that); } - template V8_INLINE bool operator!=(const Handle& that) const { + template + V8_INLINE bool operator!=(const Local& that) const { return !operator==(that); } @@ -693,11 +696,12 @@ template class Persistent : public PersistentBase { */ V8_INLINE Persistent() : PersistentBase(0) { } /** - * Construct a Persistent from a Handle. - * When the Handle is non-empty, a new storage cell is created + * Construct a Persistent from a Local. + * When the Local is non-empty, a new storage cell is created * pointing to the same object, and no flags are set. */ - template V8_INLINE Persistent(Isolate* isolate, Handle that) + template + V8_INLINE Persistent(Isolate* isolate, Local that) : PersistentBase(PersistentBase::New(isolate, *that)) { TYPE_CHECK(T, S); } @@ -785,12 +789,12 @@ class Global : public PersistentBase { */ V8_INLINE Global() : PersistentBase(nullptr) {} /** - * Construct a Global from a Handle. - * When the Handle is non-empty, a new storage cell is created + * Construct a Global from a Local. + * When the Local is non-empty, a new storage cell is created * pointing to the same object, and no flags are set. */ template - V8_INLINE Global(Isolate* isolate, Handle that) + V8_INLINE Global(Isolate* isolate, Local that) : PersistentBase(PersistentBase::New(isolate, *that)) { TYPE_CHECK(T, S); } @@ -835,8 +839,11 @@ class Global : public PersistentBase { typedef void MoveOnlyTypeForCPP03; private: + template + friend class ReturnValue; Global(Global&) = delete; void operator=(Global&) = delete; + V8_INLINE T* operator*() const { return this->val_; } }; @@ -972,45 +979,69 @@ class V8_EXPORT Data { }; +/** + * The optional attributes of ScriptOrigin. + */ +class ScriptOriginOptions { + public: + V8_INLINE ScriptOriginOptions(bool is_embedder_debug_script = false, + bool is_shared_cross_origin = false, + bool is_opaque = false) + : flags_((is_embedder_debug_script ? kIsEmbedderDebugScript : 0) | + (is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | + (is_opaque ? kIsOpaque : 0)) {} + V8_INLINE ScriptOriginOptions(int flags) + : flags_(flags & + (kIsEmbedderDebugScript | kIsSharedCrossOrigin | kIsOpaque)) {} + bool IsEmbedderDebugScript() const { + return (flags_ & kIsEmbedderDebugScript) != 0; + } + bool IsSharedCrossOrigin() const { + return (flags_ & kIsSharedCrossOrigin) != 0; + } + bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } + int Flags() const { return flags_; } + + private: + enum { + kIsEmbedderDebugScript = 1, + kIsSharedCrossOrigin = 1 << 1, + kIsOpaque = 1 << 2 + }; + const int flags_; +}; + /** * The origin, within a file, of a script. */ class ScriptOrigin { public: V8_INLINE ScriptOrigin( - Handle resource_name, - Handle resource_line_offset = Handle(), - Handle resource_column_offset = Handle(), - Handle resource_is_shared_cross_origin = Handle(), - Handle script_id = Handle(), - Handle resource_is_embedder_debug_script = Handle(), - Handle source_map_url = Handle()) - : resource_name_(resource_name), - resource_line_offset_(resource_line_offset), - resource_column_offset_(resource_column_offset), - resource_is_embedder_debug_script_(resource_is_embedder_debug_script), - resource_is_shared_cross_origin_(resource_is_shared_cross_origin), - script_id_(script_id), - source_map_url_(source_map_url) {} - V8_INLINE Handle ResourceName() const; - V8_INLINE Handle ResourceLineOffset() const; - V8_INLINE Handle ResourceColumnOffset() const; + Local resource_name, + Local resource_line_offset = Local(), + Local resource_column_offset = Local(), + Local resource_is_shared_cross_origin = Local(), + Local script_id = Local(), + Local resource_is_embedder_debug_script = Local(), + Local source_map_url = Local(), + Local resource_is_opaque = Local()); + V8_INLINE Local ResourceName() const; + V8_INLINE Local ResourceLineOffset() const; + V8_INLINE Local ResourceColumnOffset() const; /** * Returns true for embedder's debugger scripts */ - V8_INLINE Handle ResourceIsEmbedderDebugScript() const; - V8_INLINE Handle ResourceIsSharedCrossOrigin() const; - V8_INLINE Handle ScriptID() const; - V8_INLINE Handle SourceMapUrl() const; + V8_INLINE Local ScriptID() const; + V8_INLINE Local SourceMapUrl() const; + V8_INLINE ScriptOriginOptions Options() const { return options_; } private: - Handle resource_name_; - Handle resource_line_offset_; - Handle resource_column_offset_; - Handle resource_is_embedder_debug_script_; - Handle resource_is_shared_cross_origin_; - Handle script_id_; - Handle source_map_url_; + Local resource_name_; + Local resource_line_offset_; + Local resource_column_offset_; + ScriptOriginOptions options_; + Local script_id_; + Local source_map_url_; }; @@ -1025,16 +1056,16 @@ class V8_EXPORT UnboundScript { Local