From d8011d1683fe0d977de2bea1147f5213d4490c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 6 Oct 2015 08:42:38 +0200 Subject: [PATCH] deps: upgrade V8 to 4.6.85.23 PR-URL: https://github.com/nodejs/node/pull/3351 Reviewed-By: indutny - Fedor Indutny Reviewed-By: bnoordhuis - Ben Noordhuis --- deps/v8/.gitignore | 1 + deps/v8/AUTHORS | 1 + deps/v8/BUILD.gn | 191 +- deps/v8/ChangeLog | 571 +++++ deps/v8/DEPS | 14 +- deps/v8/Makefile | 14 +- deps/v8/OWNERS | 8 +- deps/v8/PRESUBMIT.py | 55 +- deps/v8/WATCHLISTS | 2 +- deps/v8/build/download_gold_plugin.py | 51 + deps/v8/build/features.gypi | 6 + deps/v8/build/get_landmines.py | 1 + deps/v8/build/standalone.gypi | 242 +- deps/v8/build/toolchain.gypi | 4 +- deps/v8/include/v8-platform.h | 34 +- deps/v8/include/v8-util.h | 7 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 167 +- deps/v8/infra/project-config/README.md | 1 - .../infra/project-config/cr-buildbucket.cfg | 23 - deps/v8/samples/process.cc | 12 +- deps/v8/samples/shell.cc | 24 +- deps/v8/src/DEPS | 12 + deps/v8/src/accessors.cc | 45 +- deps/v8/src/accessors.h | 6 + deps/v8/src/allocation-tracker.cc | 2 +- deps/v8/src/allocation-tracker.h | 13 +- deps/v8/src/api-natives.h | 5 + deps/v8/src/api.cc | 384 ++-- deps/v8/src/api.h | 82 +- deps/v8/src/arguments.cc | 4 +- deps/v8/src/arguments.h | 6 - deps/v8/src/arm/assembler-arm-inl.h | 55 +- deps/v8/src/arm/assembler-arm.cc | 69 +- deps/v8/src/arm/assembler-arm.h | 25 +- deps/v8/src/arm/builtins-arm.cc | 437 ++-- deps/v8/src/arm/code-stubs-arm.cc | 344 ++- deps/v8/src/arm/code-stubs-arm.h | 2 + deps/v8/src/arm/codegen-arm.cc | 9 +- deps/v8/src/arm/codegen-arm.h | 3 - deps/v8/src/arm/constants-arm.cc | 2 - deps/v8/src/arm/constants-arm.h | 6 + deps/v8/src/arm/cpu-arm.cc | 2 - deps/v8/src/arm/debug-arm.cc | 248 --- deps/v8/src/arm/deoptimizer-arm.cc | 4 +- deps/v8/src/arm/disasm-arm.cc | 2 - deps/v8/src/arm/frames-arm.cc | 2 - deps/v8/src/arm/frames-arm.h | 6 - deps/v8/src/arm/interface-descriptors-arm.cc | 41 +- deps/v8/src/arm/lithium-arm.cc | 52 +- deps/v8/src/arm/lithium-arm.h | 52 +- deps/v8/src/arm/lithium-codegen-arm.cc | 138 +- deps/v8/src/arm/lithium-gap-resolver-arm.cc | 2 - deps/v8/src/arm/lithium-gap-resolver-arm.h | 2 - deps/v8/src/arm/macro-assembler-arm.cc | 47 +- deps/v8/src/arm/macro-assembler-arm.h | 78 +- deps/v8/src/arm/simulator-arm.cc | 17 +- deps/v8/src/arm/simulator-arm.h | 13 +- deps/v8/src/arm64/assembler-arm64-inl.h | 63 +- deps/v8/src/arm64/assembler-arm64.cc | 57 +- deps/v8/src/arm64/assembler-arm64.h | 39 +- deps/v8/src/arm64/builtins-arm64.cc | 442 ++-- deps/v8/src/arm64/code-stubs-arm64.cc | 287 ++- deps/v8/src/arm64/codegen-arm64.cc | 2 - deps/v8/src/arm64/constants-arm64.h | 16 +- deps/v8/src/arm64/cpu-arm64.cc | 3 +- deps/v8/src/arm64/debug-arm64.cc | 305 --- deps/v8/src/arm64/decoder-arm64-inl.h | 3 +- deps/v8/src/arm64/decoder-arm64.cc | 2 - deps/v8/src/arm64/decoder-arm64.h | 1 - deps/v8/src/arm64/delayed-masm-arm64.cc | 2 - deps/v8/src/arm64/deoptimizer-arm64.cc | 5 +- deps/v8/src/arm64/disasm-arm64.cc | 21 - deps/v8/src/arm64/disasm-arm64.h | 2 - deps/v8/src/arm64/frames-arm64.cc | 2 - deps/v8/src/arm64/frames-arm64.h | 6 - deps/v8/src/arm64/instructions-arm64.cc | 2 - deps/v8/src/arm64/instrument-arm64.cc | 6 - .../src/arm64/interface-descriptors-arm64.cc | 40 +- deps/v8/src/arm64/lithium-arm64.cc | 54 +- deps/v8/src/arm64/lithium-arm64.h | 42 +- deps/v8/src/arm64/lithium-codegen-arm64.cc | 140 +- .../src/arm64/lithium-gap-resolver-arm64.cc | 2 - .../v8/src/arm64/lithium-gap-resolver-arm64.h | 2 - deps/v8/src/arm64/macro-assembler-arm64-inl.h | 17 - deps/v8/src/arm64/macro-assembler-arm64.cc | 62 +- deps/v8/src/arm64/macro-assembler-arm64.h | 33 +- deps/v8/src/arm64/simulator-arm64.cc | 21 +- deps/v8/src/arm64/simulator-arm64.h | 13 +- deps/v8/src/arm64/utils-arm64.h | 1 - deps/v8/src/array-iterator.js | 12 +- deps/v8/src/array.js | 107 +- deps/v8/src/arraybuffer.js | 3 +- deps/v8/src/assembler.cc | 413 ++-- deps/v8/src/assembler.h | 150 +- deps/v8/src/assert-scope.cc | 2 +- deps/v8/src/ast-literal-reindexer.cc | 4 +- deps/v8/src/ast-literal-reindexer.h | 2 - deps/v8/src/ast-numbering.cc | 53 +- deps/v8/src/ast-numbering.h | 10 +- deps/v8/src/ast-value-factory.h | 2 +- deps/v8/src/ast.cc | 29 +- deps/v8/src/ast.h | 67 +- deps/v8/src/background-parsing-task.cc | 10 +- deps/v8/src/background-parsing-task.h | 12 +- deps/v8/src/bailout-reason.h | 39 +- deps/v8/src/base/build_config.h | 5 + deps/v8/src/base/platform/time.cc | 28 +- deps/v8/src/{ => base}/smart-pointers.h | 60 +- deps/v8/src/basic-block-profiler.h | 3 +- deps/v8/src/bignum-dtoa.cc | 7 +- deps/v8/src/bignum-dtoa.h | 2 + deps/v8/src/bignum.cc | 2 - deps/v8/src/bignum.h | 2 + deps/v8/src/bootstrapper.cc | 740 ++++--- deps/v8/src/bootstrapper.h | 20 +- deps/v8/src/builtins.cc | 137 +- deps/v8/src/builtins.h | 33 +- deps/v8/src/cached-powers.cc | 3 +- deps/v8/src/cancelable-task.cc | 28 + deps/v8/src/cancelable-task.h | 74 + deps/v8/src/char-predicates.h | 1 + deps/v8/src/checks.cc | 9 - deps/v8/src/code-factory.cc | 33 +- deps/v8/src/code-factory.h | 10 +- deps/v8/src/code-stubs-hydrogen.cc | 244 +- deps/v8/src/code-stubs.cc | 89 +- deps/v8/src/code-stubs.h | 181 +- deps/v8/src/code-stubs.js | 69 + deps/v8/src/codegen.cc | 26 +- deps/v8/src/codegen.h | 2 - deps/v8/src/collection.js | 40 +- deps/v8/src/compilation-dependencies.cc | 4 +- deps/v8/src/compilation-dependencies.h | 3 + deps/v8/src/compiler.cc | 314 ++- deps/v8/src/compiler.h | 63 +- deps/v8/src/compiler/OWNERS | 5 + deps/v8/src/compiler/access-builder.cc | 200 +- deps/v8/src/compiler/access-builder.h | 3 - .../v8/src/compiler/arm/code-generator-arm.cc | 136 +- .../compiler/arm/instruction-selector-arm.cc | 18 +- deps/v8/src/compiler/arm/linkage-arm.cc | 74 - .../compiler/arm64/code-generator-arm64.cc | 110 +- .../arm64/instruction-selector-arm64.cc | 8 + deps/v8/src/compiler/arm64/linkage-arm64.cc | 76 - deps/v8/src/compiler/ast-graph-builder.cc | 257 ++- deps/v8/src/compiler/ast-graph-builder.h | 21 +- .../compiler/ast-loop-assignment-analyzer.cc | 2 +- .../src/compiler/basic-block-instrumentor.h | 1 + deps/v8/src/compiler/c-linkage.cc | 228 ++ deps/v8/src/compiler/coalesced-live-ranges.cc | 191 +- deps/v8/src/compiler/coalesced-live-ranges.h | 151 +- deps/v8/src/compiler/code-generator.cc | 74 +- deps/v8/src/compiler/common-node-cache.cc | 2 + deps/v8/src/compiler/common-operator.cc | 6 +- deps/v8/src/compiler/common-operator.h | 3 +- deps/v8/src/compiler/frame-states.cc | 1 + deps/v8/src/compiler/frame-states.h | 23 +- deps/v8/src/compiler/frame.cc | 24 + deps/v8/src/compiler/frame.h | 141 +- deps/v8/src/compiler/graph-builder.h | 82 - deps/v8/src/compiler/graph-visualizer.cc | 4 +- deps/v8/src/compiler/greedy-allocator.cc | 47 +- deps/v8/src/compiler/greedy-allocator.h | 30 + .../src/compiler/ia32/code-generator-ia32.cc | 107 +- .../ia32/instruction-selector-ia32.cc | 31 +- deps/v8/src/compiler/ia32/linkage-ia32.cc | 65 - .../src/compiler/instruction-selector-impl.h | 21 +- deps/v8/src/compiler/instruction-selector.cc | 54 +- deps/v8/src/compiler/instruction.cc | 9 +- deps/v8/src/compiler/instruction.h | 4 +- deps/v8/src/compiler/interpreter-assembler.cc | 265 +++ deps/v8/src/compiler/interpreter-assembler.h | 118 + deps/v8/src/compiler/js-context-relaxation.cc | 67 + deps/v8/src/compiler/js-context-relaxation.h | 32 + .../src/compiler/js-context-specialization.cc | 62 +- .../src/compiler/js-context-specialization.h | 4 +- .../v8/src/compiler/js-frame-specialization.h | 4 + deps/v8/src/compiler/js-generic-lowering.cc | 100 +- deps/v8/src/compiler/js-inlining.cc | 13 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 10 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 1 + deps/v8/src/compiler/js-operator.cc | 106 +- deps/v8/src/compiler/js-operator.h | 99 +- .../src/compiler/js-type-feedback-lowering.cc | 118 + .../src/compiler/js-type-feedback-lowering.h | 66 + deps/v8/src/compiler/js-typed-lowering.cc | 43 +- deps/v8/src/compiler/js-typed-lowering.h | 1 + deps/v8/src/compiler/linkage-impl.h | 303 --- deps/v8/src/compiler/linkage.cc | 360 ++- deps/v8/src/compiler/linkage.h | 119 +- .../src/compiler/machine-operator-reducer.cc | 35 + .../src/compiler/machine-operator-reducer.h | 1 + deps/v8/src/compiler/machine-type.h | 5 + .../src/compiler/mips/code-generator-mips.cc | 142 +- .../mips/instruction-selector-mips.cc | 24 +- deps/v8/src/compiler/mips/linkage-mips.cc | 73 - .../compiler/mips64/code-generator-mips64.cc | 151 +- .../mips64/instruction-selector-mips64.cc | 20 +- deps/v8/src/compiler/mips64/linkage-mips64.cc | 73 - deps/v8/src/compiler/move-optimizer.cc | 11 + deps/v8/src/compiler/node.h | 6 +- deps/v8/src/compiler/osr.cc | 2 - deps/v8/src/compiler/pipeline-statistics.cc | 2 +- deps/v8/src/compiler/pipeline-statistics.h | 2 +- deps/v8/src/compiler/pipeline.cc | 87 +- deps/v8/src/compiler/pipeline.h | 5 +- deps/v8/src/compiler/ppc/OWNERS | 1 + .../v8/src/compiler/ppc/code-generator-ppc.cc | 129 +- .../compiler/ppc/instruction-selector-ppc.cc | 28 +- deps/v8/src/compiler/ppc/linkage-ppc.cc | 72 - .../v8/src/compiler/preprocess-live-ranges.cc | 169 ++ deps/v8/src/compiler/preprocess-live-ranges.h | 35 + deps/v8/src/compiler/raw-machine-assembler.cc | 71 +- deps/v8/src/compiler/raw-machine-assembler.h | 144 +- .../compiler/register-allocator-verifier.cc | 8 +- deps/v8/src/compiler/register-allocator.cc | 203 +- deps/v8/src/compiler/register-allocator.h | 46 +- .../v8/src/compiler/register-configuration.cc | 6 +- deps/v8/src/compiler/simplified-lowering.cc | 27 +- deps/v8/src/compiler/simplified-operator.h | 1 + deps/v8/src/compiler/source-position.cc | 1 + deps/v8/src/compiler/typer.cc | 13 +- .../v8/src/compiler/x64/code-generator-x64.cc | 177 +- .../compiler/x64/instruction-selector-x64.cc | 31 +- deps/v8/src/compiler/x64/linkage-x64.cc | 93 - .../v8/src/compiler/x87/code-generator-x87.cc | 129 +- .../compiler/x87/instruction-selector-x87.cc | 27 +- deps/v8/src/compiler/x87/linkage-x87.cc | 65 - deps/v8/src/context-measure.cc | 76 + deps/v8/src/context-measure.h | 47 + deps/v8/src/contexts.cc | 14 +- deps/v8/src/contexts.h | 191 +- deps/v8/src/conversions-inl.h | 68 + deps/v8/src/conversions.h | 74 +- deps/v8/src/counters.h | 1 - deps/v8/src/cpu-profiler.cc | 3 + deps/v8/src/cpu-profiler.h | 4 +- deps/v8/src/d8-debug.cc | 132 -- deps/v8/src/d8-debug.h | 20 - deps/v8/src/d8-posix.cc | 209 +- deps/v8/src/d8-readline.cc | 152 -- deps/v8/src/d8-windows.cc | 3 +- deps/v8/src/d8.cc | 985 +++++---- deps/v8/src/d8.gyp | 14 +- deps/v8/src/d8.h | 102 +- deps/v8/src/d8.js | 1959 +---------------- deps/v8/src/date.js | 120 +- deps/v8/src/dateparser-inl.h | 25 +- deps/v8/src/dateparser.cc | 12 +- deps/v8/src/dateparser.h | 7 +- deps/v8/src/debug/OWNERS | 7 + deps/v8/src/debug/arm/OWNERS | 1 + deps/v8/src/debug/arm/debug-arm.cc | 159 ++ deps/v8/src/debug/arm64/OWNERS | 1 + deps/v8/src/debug/arm64/debug-arm64.cc | 166 ++ deps/v8/src/debug/debug-evaluate.cc | 314 +++ deps/v8/src/debug/debug-evaluate.h | 100 + deps/v8/src/debug/debug-frames.cc | 219 ++ deps/v8/src/debug/debug-frames.h | 81 + deps/v8/src/debug/debug-scopes.cc | 769 +++++++ deps/v8/src/debug/debug-scopes.h | 126 ++ deps/v8/src/{ => debug}/debug.cc | 1377 +++--------- deps/v8/src/{ => debug}/debug.h | 140 +- .../src/{debug-debugger.js => debug/debug.js} | 232 +- deps/v8/src/debug/ia32/debug-ia32.cc | 145 ++ deps/v8/src/{ => debug}/liveedit.cc | 76 +- deps/v8/src/{ => debug}/liveedit.h | 14 +- .../liveedit.js} | 102 +- deps/v8/src/debug/mips/OWNERS | 5 + deps/v8/src/debug/mips/debug-mips.cc | 148 ++ deps/v8/src/debug/mips64/OWNERS | 5 + deps/v8/src/debug/mips64/debug-mips64.cc | 150 ++ .../{mirror-debugger.js => debug/mirrors.js} | 355 +-- deps/v8/src/debug/ppc/OWNERS | 5 + deps/v8/src/debug/ppc/debug-ppc.cc | 157 ++ deps/v8/src/debug/x64/debug-x64.cc | 146 ++ deps/v8/src/debug/x87/OWNERS | 1 + deps/v8/src/debug/x87/debug-x87.cc | 145 ++ deps/v8/src/deoptimizer.cc | 129 +- deps/v8/src/deoptimizer.h | 9 +- deps/v8/src/disasm.h | 2 + deps/v8/src/disassembler.cc | 21 +- deps/v8/src/diy-fp.cc | 5 +- deps/v8/src/diy-fp.h | 4 + deps/v8/src/effects.h | 2 - deps/v8/src/elements-kind.cc | 47 +- deps/v8/src/elements-kind.h | 40 +- deps/v8/src/elements.cc | 297 +-- deps/v8/src/elements.h | 28 +- deps/v8/src/execution.cc | 88 +- deps/v8/src/execution.h | 11 + deps/v8/src/expression-classifier.h | 17 +- .../externalize-string-extension.cc | 4 + .../extensions/externalize-string-extension.h | 2 +- .../v8/src/extensions/free-buffer-extension.h | 2 +- deps/v8/src/extensions/gc-extension.h | 3 +- .../v8/src/extensions/statistics-extension.cc | 2 + deps/v8/src/extensions/statistics-extension.h | 2 +- .../extensions/trigger-failure-extension.h | 2 +- deps/v8/src/factory.cc | 237 +- deps/v8/src/factory.h | 80 +- deps/v8/src/field-index-inl.h | 6 +- deps/v8/src/flag-definitions.h | 74 +- deps/v8/src/frames-inl.h | 6 + deps/v8/src/frames.cc | 32 +- deps/v8/src/frames.h | 17 +- deps/v8/src/full-codegen/OWNERS | 8 + .../arm/full-codegen-arm.cc | 501 ++--- .../arm64/full-codegen-arm64.cc | 553 ++--- .../v8/src/{ => full-codegen}/full-codegen.cc | 171 +- deps/v8/src/{ => full-codegen}/full-codegen.h | 45 +- .../ia32/full-codegen-ia32.cc | 494 ++--- deps/v8/src/full-codegen/mips/OWNERS | 5 + .../mips/full-codegen-mips.cc | 520 ++--- deps/v8/src/full-codegen/mips64/OWNERS | 5 + .../mips64/full-codegen-mips64.cc | 522 ++--- deps/v8/src/full-codegen/ppc/OWNERS | 5 + .../ppc/full-codegen-ppc.cc | 496 ++--- .../x64/full-codegen-x64.cc | 552 ++--- deps/v8/src/full-codegen/x87/OWNERS | 1 + .../x87/full-codegen-x87.cc | 493 ++--- deps/v8/src/func-name-inferrer.cc | 3 +- deps/v8/src/futex-emulation.cc | 231 ++ deps/v8/src/futex-emulation.h | 124 ++ deps/v8/src/gdb-jit.cc | 62 +- deps/v8/src/gdb-jit.h | 2 +- deps/v8/src/global-handles.cc | 71 +- deps/v8/src/global-handles.h | 11 +- deps/v8/src/globals.h | 35 +- deps/v8/src/handles-inl.h | 76 +- deps/v8/src/handles.cc | 30 +- deps/v8/src/handles.h | 305 +-- deps/v8/src/harmony-array-includes.js | 67 +- deps/v8/src/harmony-array.js | 23 +- deps/v8/src/harmony-atomics.js | 99 +- deps/v8/src/harmony-object-observe.js | 14 + deps/v8/src/harmony-object.js | 5 +- deps/v8/src/harmony-regexp.js | 10 +- deps/v8/src/harmony-simd.js | 682 ++++++ deps/v8/src/harmony-typedarray.js | 8 +- deps/v8/src/heap-profiler.cc | 3 + deps/v8/src/heap-profiler.h | 15 +- deps/v8/src/heap-snapshot-generator.cc | 35 +- deps/v8/src/heap-snapshot-generator.h | 1 + deps/v8/src/heap/OWNERS | 5 + deps/v8/src/heap/gc-idle-time-handler.cc | 15 +- deps/v8/src/heap/gc-idle-time-handler.h | 4 + deps/v8/src/heap/gc-tracer.cc | 113 +- deps/v8/src/heap/gc-tracer.h | 17 +- deps/v8/src/heap/heap-inl.h | 103 + deps/v8/src/heap/heap.cc | 874 ++++---- deps/v8/src/heap/heap.h | 440 ++-- deps/v8/src/heap/identity-map.cc | 4 +- deps/v8/src/heap/identity-map.h | 2 + deps/v8/src/heap/incremental-marking-inl.h | 6 +- deps/v8/src/heap/incremental-marking.cc | 75 +- deps/v8/src/heap/incremental-marking.h | 7 +- deps/v8/src/heap/mark-compact-inl.h | 134 +- deps/v8/src/heap/mark-compact.cc | 499 +++-- deps/v8/src/heap/mark-compact.h | 208 +- deps/v8/src/heap/memory-reducer.cc | 29 +- deps/v8/src/heap/memory-reducer.h | 31 +- deps/v8/src/heap/objects-visiting-inl.h | 131 +- deps/v8/src/heap/objects-visiting.cc | 155 +- deps/v8/src/heap/objects-visiting.h | 37 +- deps/v8/src/heap/spaces-inl.h | 149 +- deps/v8/src/heap/spaces.cc | 138 +- deps/v8/src/heap/spaces.h | 196 +- deps/v8/src/heap/store-buffer-inl.h | 1 + deps/v8/src/heap/store-buffer.cc | 39 +- deps/v8/src/hydrogen-instructions.cc | 70 +- deps/v8/src/hydrogen-instructions.h | 210 +- deps/v8/src/hydrogen-uint32-analysis.cc | 12 +- deps/v8/src/hydrogen.cc | 617 ++++-- deps/v8/src/hydrogen.h | 82 +- deps/v8/src/i18n.cc | 22 +- deps/v8/src/i18n.h | 5 +- deps/v8/src/i18n.js | 90 +- deps/v8/src/ia32/assembler-ia32-inl.h | 74 +- deps/v8/src/ia32/assembler-ia32.cc | 26 +- deps/v8/src/ia32/assembler-ia32.h | 26 +- deps/v8/src/ia32/builtins-ia32.cc | 428 ++-- deps/v8/src/ia32/code-stubs-ia32.cc | 335 ++- deps/v8/src/ia32/codegen-ia32.cc | 2 - deps/v8/src/ia32/cpu-ia32.cc | 2 - deps/v8/src/ia32/debug-ia32.cc | 283 --- deps/v8/src/ia32/deoptimizer-ia32.cc | 5 +- deps/v8/src/ia32/disasm-ia32.cc | 13 +- deps/v8/src/ia32/frames-ia32.cc | 2 - deps/v8/src/ia32/frames-ia32.h | 6 - .../v8/src/ia32/interface-descriptors-ia32.cc | 53 +- deps/v8/src/ia32/lithium-codegen-ia32.cc | 136 +- deps/v8/src/ia32/lithium-gap-resolver-ia32.cc | 2 - deps/v8/src/ia32/lithium-gap-resolver-ia32.h | 2 - deps/v8/src/ia32/lithium-ia32.cc | 55 +- deps/v8/src/ia32/lithium-ia32.h | 60 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 36 +- deps/v8/src/ia32/macro-assembler-ia32.h | 26 +- deps/v8/src/ic/OWNERS | 6 + deps/v8/src/ic/access-compiler.cc | 2 - deps/v8/src/ic/arm/access-compiler-arm.cc | 4 +- deps/v8/src/ic/arm/handler-compiler-arm.cc | 39 +- deps/v8/src/ic/arm/ic-arm.cc | 78 +- deps/v8/src/ic/arm/ic-compiler-arm.cc | 4 +- deps/v8/src/ic/arm/stub-cache-arm.cc | 21 +- deps/v8/src/ic/arm64/access-compiler-arm64.cc | 4 +- .../v8/src/ic/arm64/handler-compiler-arm64.cc | 39 +- deps/v8/src/ic/arm64/ic-arm64.cc | 77 +- deps/v8/src/ic/arm64/ic-compiler-arm64.cc | 4 +- deps/v8/src/ic/arm64/stub-cache-arm64.cc | 21 +- deps/v8/src/ic/call-optimization.cc | 2 - deps/v8/src/ic/handler-compiler.cc | 40 +- deps/v8/src/ic/handler-compiler.h | 5 +- deps/v8/src/ic/ia32/access-compiler-ia32.cc | 4 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 40 +- deps/v8/src/ic/ia32/ic-compiler-ia32.cc | 4 +- deps/v8/src/ic/ia32/ic-ia32.cc | 81 +- deps/v8/src/ic/ia32/stub-cache-ia32.cc | 23 +- deps/v8/src/ic/ic-compiler.cc | 6 +- deps/v8/src/ic/ic-inl.h | 74 +- deps/v8/src/ic/ic-state.cc | 3 +- deps/v8/src/ic/ic-state.h | 18 +- deps/v8/src/ic/ic.cc | 212 +- deps/v8/src/ic/ic.h | 110 +- deps/v8/src/ic/mips/access-compiler-mips.cc | 4 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 39 +- deps/v8/src/ic/mips/ic-compiler-mips.cc | 4 +- deps/v8/src/ic/mips/ic-mips.cc | 79 +- deps/v8/src/ic/mips/stub-cache-mips.cc | 21 +- .../src/ic/mips64/access-compiler-mips64.cc | 4 +- .../src/ic/mips64/handler-compiler-mips64.cc | 39 +- deps/v8/src/ic/mips64/ic-compiler-mips64.cc | 4 +- deps/v8/src/ic/mips64/ic-mips64.cc | 72 +- deps/v8/src/ic/mips64/stub-cache-mips64.cc | 21 +- deps/v8/src/ic/ppc/OWNERS | 1 + deps/v8/src/ic/ppc/access-compiler-ppc.cc | 4 +- deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 39 +- deps/v8/src/ic/ppc/ic-compiler-ppc.cc | 4 +- deps/v8/src/ic/ppc/ic-ppc.cc | 69 +- deps/v8/src/ic/ppc/stub-cache-ppc.cc | 21 +- deps/v8/src/ic/stub-cache.cc | 3 +- deps/v8/src/ic/stub-cache.h | 6 +- deps/v8/src/ic/x64/access-compiler-x64.cc | 4 +- deps/v8/src/ic/x64/handler-compiler-x64.cc | 37 +- deps/v8/src/ic/x64/ic-compiler-x64.cc | 4 +- deps/v8/src/ic/x64/ic-x64.cc | 64 +- deps/v8/src/ic/x64/stub-cache-x64.cc | 20 +- deps/v8/src/ic/x87/access-compiler-x87.cc | 4 +- deps/v8/src/ic/x87/handler-compiler-x87.cc | 40 +- deps/v8/src/ic/x87/ic-compiler-x87.cc | 4 +- deps/v8/src/ic/x87/ic-x87.cc | 81 +- deps/v8/src/ic/x87/stub-cache-x87.cc | 23 +- deps/v8/src/interface-descriptors.cc | 77 +- deps/v8/src/interface-descriptors.h | 87 +- deps/v8/src/interpreter/DEPS | 4 + deps/v8/src/interpreter/OWNERS | 1 + .../src/interpreter/bytecode-array-builder.cc | 222 ++ .../src/interpreter/bytecode-array-builder.h | 122 + deps/v8/src/interpreter/bytecode-generator.cc | 370 ++++ deps/v8/src/interpreter/bytecode-generator.h | 44 + deps/v8/src/interpreter/bytecodes.cc | 158 ++ deps/v8/src/interpreter/bytecodes.h | 119 + deps/v8/src/interpreter/interpreter.cc | 231 ++ deps/v8/src/interpreter/interpreter.h | 60 + deps/v8/src/isolate.cc | 131 +- deps/v8/src/isolate.h | 59 +- deps/v8/src/json-parser.h | 9 +- deps/v8/src/json-stringifier.h | 12 +- deps/v8/src/json.js | 23 +- deps/v8/src/layout-descriptor-inl.h | 13 +- deps/v8/src/layout-descriptor.cc | 4 +- deps/v8/src/layout-descriptor.h | 4 +- deps/v8/src/libplatform/default-platform.cc | 9 + deps/v8/src/libplatform/default-platform.h | 3 + deps/v8/src/list-inl.h | 15 +- deps/v8/src/list.h | 12 +- deps/v8/src/lithium-allocator.cc | 2 +- deps/v8/src/lithium-allocator.h | 2 - deps/v8/src/lithium-codegen.h | 2 - deps/v8/src/log-utils.cc | 7 +- deps/v8/src/log-utils.h | 2 + deps/v8/src/log.cc | 36 +- deps/v8/src/lookup.cc | 137 +- deps/v8/src/lookup.h | 12 +- deps/v8/src/macros.py | 14 +- deps/v8/src/math.js | 17 +- deps/v8/src/messages.cc | 143 +- deps/v8/src/messages.h | 88 +- deps/v8/src/messages.js | 190 +- deps/v8/src/mips/assembler-mips-inl.h | 60 +- deps/v8/src/mips/assembler-mips.cc | 21 +- deps/v8/src/mips/assembler-mips.h | 22 +- deps/v8/src/mips/builtins-mips.cc | 453 ++-- deps/v8/src/mips/code-stubs-mips.cc | 334 ++- deps/v8/src/mips/code-stubs-mips.h | 8 +- deps/v8/src/mips/codegen-mips.cc | 9 +- deps/v8/src/mips/codegen-mips.h | 3 - deps/v8/src/mips/constants-mips.cc | 2 - deps/v8/src/mips/cpu-mips.cc | 2 - deps/v8/src/mips/debug-mips.cc | 252 --- deps/v8/src/mips/deoptimizer-mips.cc | 5 +- deps/v8/src/mips/disasm-mips.cc | 19 +- deps/v8/src/mips/frames-mips.cc | 2 - deps/v8/src/mips/frames-mips.h | 6 - .../v8/src/mips/interface-descriptors-mips.cc | 41 +- deps/v8/src/mips/lithium-codegen-mips.cc | 147 +- deps/v8/src/mips/lithium-gap-resolver-mips.cc | 2 - deps/v8/src/mips/lithium-gap-resolver-mips.h | 2 - deps/v8/src/mips/lithium-mips.cc | 52 +- deps/v8/src/mips/lithium-mips.h | 52 +- deps/v8/src/mips/macro-assembler-mips.cc | 58 +- deps/v8/src/mips/macro-assembler-mips.h | 47 +- deps/v8/src/mips/simulator-mips.cc | 17 +- deps/v8/src/mips/simulator-mips.h | 14 +- deps/v8/src/mips64/assembler-mips64-inl.h | 60 +- deps/v8/src/mips64/assembler-mips64.cc | 130 +- deps/v8/src/mips64/assembler-mips64.h | 27 +- deps/v8/src/mips64/builtins-mips64.cc | 455 ++-- deps/v8/src/mips64/code-stubs-mips64.cc | 381 +++- deps/v8/src/mips64/code-stubs-mips64.h | 8 +- deps/v8/src/mips64/codegen-mips64.cc | 9 +- deps/v8/src/mips64/codegen-mips64.h | 3 - deps/v8/src/mips64/constants-mips64.cc | 2 - deps/v8/src/mips64/constants-mips64.h | 6 + deps/v8/src/mips64/cpu-mips64.cc | 2 - deps/v8/src/mips64/debug-mips64.cc | 256 --- deps/v8/src/mips64/deoptimizer-mips64.cc | 4 +- deps/v8/src/mips64/disasm-mips64.cc | 18 +- deps/v8/src/mips64/frames-mips64.cc | 3 - deps/v8/src/mips64/frames-mips64.h | 6 - .../mips64/interface-descriptors-mips64.cc | 41 +- deps/v8/src/mips64/lithium-codegen-mips64.cc | 150 +- .../src/mips64/lithium-gap-resolver-mips64.cc | 2 - .../src/mips64/lithium-gap-resolver-mips64.h | 2 - deps/v8/src/mips64/lithium-mips64.cc | 52 +- deps/v8/src/mips64/lithium-mips64.h | 52 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 70 +- deps/v8/src/mips64/macro-assembler-mips64.h | 47 +- deps/v8/src/mips64/simulator-mips64.cc | 34 +- deps/v8/src/mips64/simulator-mips64.h | 14 +- deps/v8/src/modules.cc | 2 - deps/v8/src/object-observe.js | 47 +- deps/v8/src/objects-debug.cc | 127 +- deps/v8/src/objects-inl.h | 1516 ++++++++----- deps/v8/src/objects-printer.cc | 169 +- deps/v8/src/objects.cc | 1541 +++++-------- deps/v8/src/objects.h | 1472 ++++--------- deps/v8/src/optimizing-compile-dispatcher.cc | 2 +- deps/v8/src/parser.cc | 519 +++-- deps/v8/src/parser.h | 131 +- deps/v8/src/pattern-rewriter.cc | 4 +- .../src/pending-compilation-error-handler.cc | 6 +- deps/v8/src/ppc/OWNERS | 1 + deps/v8/src/ppc/assembler-ppc-inl.h | 80 +- deps/v8/src/ppc/assembler-ppc.cc | 138 +- deps/v8/src/ppc/assembler-ppc.h | 98 +- deps/v8/src/ppc/builtins-ppc.cc | 447 ++-- deps/v8/src/ppc/code-stubs-ppc.cc | 410 ++-- deps/v8/src/ppc/code-stubs-ppc.h | 6 +- deps/v8/src/ppc/codegen-ppc.cc | 4 +- deps/v8/src/ppc/codegen-ppc.h | 3 - deps/v8/src/ppc/constants-ppc.cc | 2 - deps/v8/src/ppc/constants-ppc.h | 6 + deps/v8/src/ppc/cpu-ppc.cc | 1 - deps/v8/src/ppc/debug-ppc.cc | 261 --- deps/v8/src/ppc/deoptimizer-ppc.cc | 4 +- deps/v8/src/ppc/disasm-ppc.cc | 118 +- deps/v8/src/ppc/frames-ppc.cc | 2 - deps/v8/src/ppc/frames-ppc.h | 43 +- deps/v8/src/ppc/interface-descriptors-ppc.cc | 41 +- deps/v8/src/ppc/lithium-codegen-ppc.cc | 135 +- deps/v8/src/ppc/lithium-gap-resolver-ppc.cc | 2 - deps/v8/src/ppc/lithium-gap-resolver-ppc.h | 2 - deps/v8/src/ppc/lithium-ppc.cc | 52 +- deps/v8/src/ppc/lithium-ppc.h | 50 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 135 +- deps/v8/src/ppc/macro-assembler-ppc.h | 49 +- deps/v8/src/ppc/simulator-ppc.cc | 86 +- deps/v8/src/ppc/simulator-ppc.h | 17 +- deps/v8/src/preparser.cc | 51 +- deps/v8/src/preparser.h | 428 ++-- deps/v8/src/prettyprinter.cc | 31 +- deps/v8/src/profile-generator.cc | 6 +- deps/v8/src/profile-generator.h | 1 + deps/v8/src/prologue.js | 133 +- deps/v8/src/promise.js | 25 +- deps/v8/src/property-details.h | 4 +- deps/v8/src/property.h | 1 - deps/v8/src/proxy.js | 17 +- deps/v8/src/regexp.js | 4 + deps/v8/src/regexp/OWNERS | 6 + deps/v8/src/regexp/arm/OWNERS | 1 + .../arm/regexp-macro-assembler-arm.cc | 10 +- .../arm/regexp-macro-assembler-arm.h | 8 +- deps/v8/src/regexp/arm64/OWNERS | 1 + .../arm64/regexp-macro-assembler-arm64.cc | 10 +- .../arm64/regexp-macro-assembler-arm64.h | 11 +- deps/v8/src/{ => regexp}/bytecodes-irregexp.h | 6 +- .../ia32/regexp-macro-assembler-ia32.cc | 10 +- .../ia32/regexp-macro-assembler-ia32.h | 8 +- .../src/{ => regexp}/interpreter-irregexp.cc | 10 +- .../src/{ => regexp}/interpreter-irregexp.h | 8 +- deps/v8/src/{ => regexp}/jsregexp-inl.h | 8 +- deps/v8/src/{ => regexp}/jsregexp.cc | 35 +- deps/v8/src/{ => regexp}/jsregexp.h | 6 +- deps/v8/src/regexp/mips/OWNERS | 5 + .../mips/regexp-macro-assembler-mips.cc | 10 +- .../mips/regexp-macro-assembler-mips.h | 10 +- deps/v8/src/regexp/mips64/OWNERS | 5 + .../mips64/regexp-macro-assembler-mips64.cc | 10 +- .../mips64/regexp-macro-assembler-mips64.h | 10 +- deps/v8/src/regexp/ppc/OWNERS | 5 + .../ppc/regexp-macro-assembler-ppc.cc | 17 +- .../ppc/regexp-macro-assembler-ppc.h | 9 +- .../regexp-macro-assembler-irregexp-inl.h | 13 +- .../regexp-macro-assembler-irregexp.cc | 9 +- .../regexp-macro-assembler-irregexp.h | 9 +- .../regexp-macro-assembler-tracer.cc | 4 +- .../regexp-macro-assembler-tracer.h | 8 +- .../{ => regexp}/regexp-macro-assembler.cc | 5 +- .../src/{ => regexp}/regexp-macro-assembler.h | 6 +- deps/v8/src/{ => regexp}/regexp-stack.cc | 5 +- deps/v8/src/{ => regexp}/regexp-stack.h | 10 +- .../x64/regexp-macro-assembler-x64.cc | 9 +- .../x64/regexp-macro-assembler-x64.h | 9 +- deps/v8/src/regexp/x87/OWNERS | 1 + .../x87/regexp-macro-assembler-x87.cc | 9 +- .../x87/regexp-macro-assembler-x87.h | 8 +- deps/v8/src/rewriter.cc | 5 +- deps/v8/src/runtime-profiler.cc | 14 +- deps/v8/src/runtime.js | 394 ++-- deps/v8/src/runtime/runtime-array.cc | 87 +- deps/v8/src/runtime/runtime-atomics.cc | 136 +- deps/v8/src/runtime/runtime-classes.cc | 217 +- deps/v8/src/runtime/runtime-collections.cc | 8 +- deps/v8/src/runtime/runtime-compiler.cc | 15 +- deps/v8/src/runtime/runtime-date.cc | 5 +- deps/v8/src/runtime/runtime-debug.cc | 1722 +-------------- deps/v8/src/runtime/runtime-forin.cc | 5 +- deps/v8/src/runtime/runtime-function.cc | 35 +- deps/v8/src/runtime/runtime-futex.cc | 93 + deps/v8/src/runtime/runtime-generator.cc | 5 +- deps/v8/src/runtime/runtime-i18n.cc | 5 +- deps/v8/src/runtime/runtime-internal.cc | 170 +- deps/v8/src/runtime/runtime-json.cc | 5 +- deps/v8/src/runtime/runtime-literals.cc | 3 +- deps/v8/src/runtime/runtime-liveedit.cc | 79 +- deps/v8/src/runtime/runtime-maths.cc | 12 +- deps/v8/src/runtime/runtime-numbers.cc | 29 +- deps/v8/src/runtime/runtime-object.cc | 416 ++-- deps/v8/src/runtime/runtime-observe.cc | 5 +- deps/v8/src/runtime/runtime-proxy.cc | 5 +- deps/v8/src/runtime/runtime-regexp.cc | 19 +- deps/v8/src/runtime/runtime-scopes.cc | 102 +- deps/v8/src/runtime/runtime-simd.cc | 821 +++++++ deps/v8/src/runtime/runtime-strings.cc | 32 +- deps/v8/src/runtime/runtime-symbol.cc | 12 +- deps/v8/src/runtime/runtime-test.cc | 24 +- deps/v8/src/runtime/runtime-typedarray.cc | 43 +- deps/v8/src/runtime/runtime-uri.cc | 5 +- deps/v8/src/runtime/runtime.cc | 6 +- deps/v8/src/runtime/runtime.h | 289 ++- deps/v8/src/safepoint-table.cc | 3 +- deps/v8/src/sampler.h | 1 + deps/v8/src/scanner.cc | 145 +- deps/v8/src/scanner.h | 16 +- deps/v8/src/scopeinfo.cc | 50 +- deps/v8/src/scopes.cc | 155 +- deps/v8/src/scopes.h | 63 +- deps/v8/src/snapshot/OWNERS | 3 + deps/v8/src/snapshot/natives-common.cc | 56 + deps/v8/src/snapshot/natives-external.cc | 21 +- deps/v8/src/snapshot/natives.h | 12 +- deps/v8/src/snapshot/serialize.cc | 175 +- deps/v8/src/snapshot/serialize.h | 35 +- deps/v8/src/snapshot/snapshot-common.cc | 4 +- deps/v8/src/string-builder.cc | 2 + deps/v8/src/string-builder.h | 7 +- deps/v8/src/string-iterator.js | 2 +- deps/v8/src/string-search.cc | 20 - deps/v8/src/string-stream.cc | 4 +- deps/v8/src/string-stream.h | 8 +- deps/v8/src/string.js | 60 +- deps/v8/src/strings-storage.cc | 2 +- deps/v8/src/strtod.cc | 5 +- deps/v8/src/strtod.h | 2 + deps/v8/src/symbol.js | 7 +- deps/v8/src/third_party/fdlibm/fdlibm.cc | 9 +- deps/v8/src/third_party/vtune/v8vtune.gyp | 4 + deps/v8/src/third_party/vtune/vtune-jit.cc | 5 +- deps/v8/src/transitions.cc | 11 +- deps/v8/src/type-feedback-vector.cc | 28 +- deps/v8/src/type-feedback-vector.h | 49 +- deps/v8/src/type-info.cc | 40 +- deps/v8/src/typedarray.js | 3 + deps/v8/src/types-inl.h | 14 - deps/v8/src/types.cc | 4 + deps/v8/src/types.h | 8 +- deps/v8/src/typing.cc | 8 +- deps/v8/src/typing.h | 2 - deps/v8/src/unique.h | 2 +- deps/v8/src/uri.js | 17 +- deps/v8/src/utils.cc | 5 +- deps/v8/src/v8.cc | 4 +- deps/v8/src/v8.h | 37 +- deps/v8/src/v8natives.js | 110 +- deps/v8/src/v8threads.cc | 4 +- deps/v8/src/variables.cc | 8 +- deps/v8/src/variables.h | 1 - deps/v8/src/x64/assembler-x64-inl.h | 74 +- deps/v8/src/x64/assembler-x64.h | 27 +- deps/v8/src/x64/builtins-x64.cc | 415 ++-- deps/v8/src/x64/code-stubs-x64.cc | 317 ++- deps/v8/src/x64/codegen-x64.cc | 2 - deps/v8/src/x64/codegen-x64.h | 3 - deps/v8/src/x64/cpu-x64.cc | 2 - deps/v8/src/x64/debug-x64.cc | 263 --- deps/v8/src/x64/deoptimizer-x64.cc | 4 +- deps/v8/src/x64/disasm-x64.cc | 2 - deps/v8/src/x64/frames-x64.cc | 2 - deps/v8/src/x64/frames-x64.h | 6 - deps/v8/src/x64/interface-descriptors-x64.cc | 43 +- deps/v8/src/x64/lithium-codegen-x64.cc | 137 +- deps/v8/src/x64/lithium-codegen-x64.h | 1 + deps/v8/src/x64/lithium-gap-resolver-x64.cc | 2 - deps/v8/src/x64/lithium-gap-resolver-x64.h | 2 - deps/v8/src/x64/lithium-x64.cc | 58 +- deps/v8/src/x64/lithium-x64.h | 60 +- deps/v8/src/x64/macro-assembler-x64.cc | 76 +- deps/v8/src/x64/macro-assembler-x64.h | 60 +- deps/v8/src/x87/assembler-x87-inl.h | 74 +- deps/v8/src/x87/assembler-x87.cc | 9 +- deps/v8/src/x87/assembler-x87.h | 22 +- deps/v8/src/x87/builtins-x87.cc | 428 ++-- deps/v8/src/x87/code-stubs-x87.cc | 357 ++- deps/v8/src/x87/codegen-x87.cc | 2 - deps/v8/src/x87/cpu-x87.cc | 2 - deps/v8/src/x87/debug-x87.cc | 282 --- deps/v8/src/x87/deoptimizer-x87.cc | 5 +- deps/v8/src/x87/disasm-x87.cc | 13 +- deps/v8/src/x87/frames-x87.cc | 2 - deps/v8/src/x87/frames-x87.h | 6 - deps/v8/src/x87/interface-descriptors-x87.cc | 53 +- deps/v8/src/x87/lithium-codegen-x87.cc | 136 +- deps/v8/src/x87/lithium-gap-resolver-x87.cc | 2 - deps/v8/src/x87/lithium-gap-resolver-x87.h | 2 - deps/v8/src/x87/lithium-x87.cc | 55 +- deps/v8/src/x87/lithium-x87.h | 60 +- deps/v8/src/x87/macro-assembler-x87.cc | 36 +- deps/v8/src/x87/macro-assembler-x87.h | 26 +- deps/v8/test/benchmarks/testcfg.py | 22 +- deps/v8/test/cctest/OWNERS | 7 + deps/v8/test/cctest/cctest.cc | 13 +- deps/v8/test/cctest/cctest.gyp | 11 +- deps/v8/test/cctest/cctest.h | 35 +- deps/v8/test/cctest/cctest.status | 9 +- deps/v8/test/cctest/compiler/c-signature.h | 4 + deps/v8/test/cctest/compiler/call-tester.h | 15 + .../v8/test/cctest/compiler/codegen-tester.cc | 4 - deps/v8/test/cctest/compiler/codegen-tester.h | 6 +- .../v8/test/cctest/compiler/function-tester.h | 19 +- .../cctest/compiler/graph-builder-tester.h | 222 +- .../compiler/instruction-selector-tester.h | 127 -- .../compiler/simplified-graph-builder.cc | 87 - .../compiler/simplified-graph-builder.h | 151 -- .../compiler/test-basic-block-profiler.cc | 4 - .../cctest/compiler/test-branch-combine.cc | 3 - .../cctest/compiler/test-changes-lowering.cc | 123 +- deps/v8/test/cctest/compiler/test-linkage.cc | 6 +- .../compiler/test-loop-assignment-analysis.cc | 2 +- deps/v8/test/cctest/compiler/test-operator.cc | 4 +- deps/v8/test/cctest/compiler/test-pipeline.cc | 5 - .../v8/test/cctest/compiler/test-run-deopt.cc | 4 +- .../test/cctest/compiler/test-run-inlining.cc | 5 +- .../test/cctest/compiler/test-run-jscalls.cc | 14 - .../test/cctest/compiler/test-run-machops.cc | 15 +- .../cctest/compiler/test-run-native-calls.cc | 985 +++++++++ .../cctest/compiler/test-run-properties.cc | 18 +- .../v8/test/cctest/compiler/test-run-stubs.cc | 19 +- .../compiler/test-simplified-lowering.cc | 66 +- .../interpreter/test-bytecode-generator.cc | 129 ++ .../cctest/interpreter/test-interpreter.cc | 208 ++ deps/v8/test/cctest/test-api-interceptors.cc | 1 - deps/v8/test/cctest/test-api.cc | 442 ++-- deps/v8/test/cctest/test-assembler-arm64.cc | 55 - deps/v8/test/cctest/test-assembler-mips.cc | 375 ++-- deps/v8/test/cctest/test-assembler-mips64.cc | 431 ++-- deps/v8/test/cctest/test-compiler.cc | 88 +- deps/v8/test/cctest/test-cpu-profiler.cc | 4 +- deps/v8/test/cctest/test-debug.cc | 249 ++- deps/v8/test/cctest/test-deoptimization.cc | 2 +- deps/v8/test/cctest/test-dictionary.cc | 2 +- deps/v8/test/cctest/test-disasm-arm.cc | 2 +- deps/v8/test/cctest/test-disasm-arm64.cc | 19 - deps/v8/test/cctest/test-disasm-ia32.cc | 5 +- deps/v8/test/cctest/test-disasm-mips.cc | 39 +- deps/v8/test/cctest/test-disasm-mips64.cc | 39 +- deps/v8/test/cctest/test-disasm-ppc.cc | 4 +- deps/v8/test/cctest/test-disasm-x64.cc | 4 +- deps/v8/test/cctest/test-disasm-x87.cc | 5 +- deps/v8/test/cctest/test-extra.js | 8 +- deps/v8/test/cctest/test-feedback-vector.cc | 102 +- .../test/cctest/test-func-name-inference.cc | 45 +- deps/v8/test/cctest/test-global-handles.cc | 17 + deps/v8/test/cctest/test-heap-profiler.cc | 50 +- deps/v8/test/cctest/test-heap.cc | 590 ++++- deps/v8/test/cctest/test-liveedit.cc | 2 +- deps/v8/test/cctest/test-lockers.cc | 7 +- .../test/cctest/test-macro-assembler-x64.cc | 68 +- deps/v8/test/cctest/test-mark-compact.cc | 4 +- deps/v8/test/cctest/test-mementos.cc | 1 + deps/v8/test/cctest/test-migrations.cc | 1 - deps/v8/test/cctest/test-object-observe.cc | 6 +- deps/v8/test/cctest/test-parsing.cc | 150 +- deps/v8/test/cctest/test-regexp.cc | 27 +- deps/v8/test/cctest/test-reloc-info.cc | 2 +- deps/v8/test/cctest/test-serialize.cc | 8 +- deps/v8/test/cctest/test-simd.cc | 117 + deps/v8/test/cctest/test-spaces.cc | 5 +- deps/v8/test/cctest/test-strings.cc | 9 +- deps/v8/test/cctest/test-threads.cc | 82 - deps/v8/test/cctest/test-unboxed-doubles.cc | 17 +- .../check-minimum-fraction-digits.js | 9 + .../intl/number-format/format-currency.js | 19 + deps/v8/test/intl/string/normalization.js | 2 + .../test/message/arrow-formal-parameters.js | 7 + .../test/message/arrow-formal-parameters.out | 4 + deps/v8/test/message/for-loop-invalid-lhs.js | 9 + deps/v8/test/message/for-loop-invalid-lhs.out | 4 + deps/v8/test/message/new-target-assignment.js | 7 + .../v8/test/message/new-target-assignment.out | 4 + deps/v8/test/message/new-target-for-loop.js | 7 + deps/v8/test/message/new-target-for-loop.out | 4 + deps/v8/test/message/new-target-postfix-op.js | 7 + .../v8/test/message/new-target-postfix-op.out | 4 + deps/v8/test/message/new-target-prefix-op.js | 7 + deps/v8/test/message/new-target-prefix-op.out | 4 + .../test/message/strict-formal-parameters.out | 4 +- .../mjsunit/array-functions-prototype-misc.js | 72 + deps/v8/test/mjsunit/array-push7.js | 1 + .../v8/test/mjsunit/compiler/string-length.js | 31 + .../test/mjsunit/compiler/stubs/floor-stub.js | 39 +- .../mjsunit/d8-worker-sharedarraybuffer.js | 100 +- deps/v8/test/mjsunit/date-parse.js | 12 +- deps/v8/test/mjsunit/date.js | 108 +- deps/v8/test/mjsunit/debug-evaluate.js | 1 + deps/v8/test/mjsunit/debug-function-scopes.js | 2 +- .../mjsunit/debug-liveedit-restart-frame.js | 5 +- deps/v8/test/mjsunit/debug-materialized.js | 41 + deps/v8/test/mjsunit/debug-mirror-cache.js | 6 +- deps/v8/test/mjsunit/debug-optimize.js | 54 + deps/v8/test/mjsunit/debug-return-value.js | 1 + .../test/mjsunit/debug-script-breakpoints.js | 98 +- .../mjsunit/debug-stepin-construct-call.js | 42 + deps/v8/test/mjsunit/element-accessor.js | 33 + deps/v8/test/mjsunit/element-read-only.js | 154 ++ deps/v8/test/mjsunit/elements-kind.js | 55 +- deps/v8/test/mjsunit/error-constructors.js | 52 +- deps/v8/test/mjsunit/es6/array-iterator.js | 3 + .../test/mjsunit/es6/array-reverse-order.js | 10 + deps/v8/test/mjsunit/es6/block-conflicts.js | 20 +- .../v8/test/mjsunit/es6/block-const-assign.js | 2 - deps/v8/test/mjsunit/es6/block-leave.js | 2 +- .../test/mjsunit/es6/block-let-declaration.js | 17 + .../test/mjsunit/es6/block-let-semantics.js | 35 +- deps/v8/test/mjsunit/es6/block-scoping.js | 47 +- .../class-computed-property-names-super.js | 2 +- .../computed-property-names-classes.js | 2 - .../computed-property-names-deopt.js | 2 +- ...-property-names-object-literals-methods.js | 2 - .../computed-property-names-super.js | 2 +- .../computed-property-names.js | 2 - deps/v8/test/mjsunit/es6/debug-blockscopes.js | 18 +- .../test/mjsunit/es6/debug-function-scopes.js | 2 +- .../test/mjsunit/es6/debug-promises/events.js | 4 +- .../es6/debug-promises/reject-caught-all.js | 5 +- ...reject-caught-by-default-reject-handler.js | 5 +- .../es6/debug-promises/reject-uncaught-all.js | 5 +- .../debug-promises/reject-uncaught-late.js | 5 +- .../reject-uncaught-uncaught.js | 5 +- .../reject-with-invalid-reject.js | 5 +- .../reject-with-throw-in-reject.js | 5 +- .../reject-with-undefined-reject.js | 5 +- .../es6/debug-promises/throw-caught-all.js | 5 +- .../throw-caught-by-default-reject-handler.js | 5 +- .../es6/debug-promises/throw-uncaught-all.js | 5 +- .../debug-promises/throw-uncaught-uncaught.js | 5 +- .../throw-with-throw-in-reject.js | 5 +- .../throw-with-undefined-reject.js | 5 +- .../mjsunit/es6/debug-stepin-microtasks.js | 1 + .../v8/test/mjsunit/es6/microtask-delivery.js | 1 + deps/v8/test/mjsunit/es6/promises.js | 23 +- .../test/mjsunit/es6/regress/regress-3750.js | 2 + .../mjsunit/es6/regress/regress-cr512574.js | 9 + deps/v8/test/mjsunit/es6/templates.js | 2 - .../test/mjsunit/es6/typedarray-set-length.js | 54 + deps/v8/test/mjsunit/es6/typedarray.js | 11 + .../{harmony => es6}/unicode-escapes.js | 2 - .../mjsunit/es7/object-observe-debug-event.js | 1 + .../mjsunit/es7/object-observe-runtime.js | 1 + deps/v8/test/mjsunit/es7/object-observe.js | 2 +- deps/v8/test/mjsunit/function-bind.js | 19 + deps/v8/test/mjsunit/harmony/atomics.js | 67 + .../mjsunit/harmony/block-conflicts-sloppy.js | 179 ++ .../harmony/block-const-assign-sloppy.js | 158 ++ .../test/mjsunit/harmony/block-for-sloppy.js | 199 ++ .../mjsunit/harmony/block-leave-sloppy.js | 224 ++ .../harmony/block-let-crankshaft-sloppy.js | 483 ++++ .../harmony/block-let-declaration-sloppy.js | 174 ++ .../harmony/block-let-semantics-sloppy.js | 192 ++ .../test/mjsunit/harmony/block-scope-class.js | 59 + .../mjsunit/harmony/block-scoping-sloppy.js | 310 +++ .../harmony/block-scoping-top-level-sloppy.js | 34 + .../harmony/default-parameters-debug.js | 58 + .../mjsunit/harmony/default-parameters.js | 251 +++ ...ucturing-parameters-literalcount-nolazy.js | 2 +- .../destructuring-parameters-literalcount.js | 2 +- deps/v8/test/mjsunit/harmony/destructuring.js | 223 +- deps/v8/test/mjsunit/harmony/futex.js | 274 +++ deps/v8/test/mjsunit/harmony/new-target.js | 30 +- deps/v8/test/mjsunit/harmony/proxies.js | 4 + .../mjsunit/harmony/regress/regress-405844.js | 2 +- .../mjsunit/harmony/regress/regress-4298.js | 8 + .../mjsunit/harmony/regress/regress-4417.js | 12 + .../mjsunit/harmony/regress/regress-513474.js | 7 + .../mjsunit/harmony/regress/regress-517455.js | 8 + .../harmony/regress/regress-crbug-451770.js | 2 +- .../regress-observe-empty-double-array.js | 1 + deps/v8/test/mjsunit/harmony/simd.js | 560 +++++ deps/v8/test/mjsunit/harmony/super.js | 93 +- .../mjsunit/harmony/typed-array-includes.js | 203 ++ deps/v8/test/mjsunit/invalid-lhs.js | 6 +- deps/v8/test/mjsunit/messages.js | 14 +- deps/v8/test/mjsunit/migrations.js | 1 + deps/v8/test/mjsunit/mjsunit.status | 21 +- deps/v8/test/mjsunit/opt-elements-kind.js | 65 +- deps/v8/test/mjsunit/osr-elements-kind.js | 65 +- .../v8/test/mjsunit/primitive-keyed-access.js | 49 + deps/v8/test/mjsunit/regress-4399.js | 8 + .../test/mjsunit/regress/cross-script-vars.js | 575 +++++ .../v8/test/mjsunit/regress/regress-119429.js | 2 +- deps/v8/test/mjsunit/regress/regress-3315.js | 2 + .../v8/test/mjsunit/regress/regress-356589.js | 2 + .../test/mjsunit/regress/regress-417709a.js | 1 + deps/v8/test/mjsunit/regress/regress-4271.js | 24 + deps/v8/test/mjsunit/regress/regress-4279.js | 11 + deps/v8/test/mjsunit/regress/regress-4296.js | 40 + .../v8/test/mjsunit/regress/regress-4309-1.js | 37 + .../v8/test/mjsunit/regress/regress-4309-2.js | 34 + .../v8/test/mjsunit/regress/regress-4309-3.js | 39 + deps/v8/test/mjsunit/regress/regress-4320.js | 21 + deps/v8/test/mjsunit/regress/regress-4325.js | 48 + .../v8/test/mjsunit/regress/regress-455207.js | 12 + .../v8/test/mjsunit/regress/regress-509961.js | 10 + .../v8/test/mjsunit/regress/regress-514362.js | 21 + deps/v8/test/mjsunit/regress/regress-581.js | 1 - .../mjsunit/regress/regress-crbug-490021.js | 15 + .../mjsunit/regress/regress-crbug-501711.js | 6 +- .../mjsunit/regress/regress-crbug-501809.js | 2 +- .../mjsunit/regress/regress-crbug-505007-1.js | 6 +- .../mjsunit/regress/regress-crbug-505007-2.js | 7 +- .../mjsunit/regress/regress-crbug-505907.js | 12 + .../mjsunit/regress/regress-crbug-506549.js | 10 + .../mjsunit/regress/regress-crbug-506956.js | 12 + .../mjsunit/regress/regress-crbug-507070.js | 20 + .../mjsunit/regress/regress-crbug-510426.js | 7 + .../mjsunit/regress/regress-crbug-510738.js | 17 + .../mjsunit/regress/regress-crbug-511880.js | 13 + .../mjsunit/regress/regress-crbug-513472.js | 7 + .../mjsunit/regress/regress-crbug-513507.js | 24 + .../mjsunit/regress/regress-crbug-514081.js | 15 + .../mjsunit/regress/regress-crbug-516592.js | 18 + .../mjsunit/regress/regress-crbug-516775.js | 53 + .../mjsunit/regress/regress-crbug-517592.js | 36 + .../mjsunit/regress/regress-crbug-518747.js | 9 + .../mjsunit/regress/regress-crbug-518748.js | 14 + .../mjsunit/regress/regress-crbug-522380.js | 7 + .../mjsunit/regress/regress-crbug-522496.js | 9 + .../mjsunit/regress/regress-crbug-523308.js | 10 + .../regress/regress-debugger-redirect.js | 37 + .../regress/regress-observe-map-cache.js | 1 + .../regress/regress-typedarray-length.js | 37 - .../mjsunit/regress/string-compare-memcmp.js | 2 +- deps/v8/test/mjsunit/samevalue.js | 148 +- deps/v8/test/mjsunit/string-normalize.js | 8 + .../test/mjsunit/strong/class-extend-null.js | 97 + .../mjsunit/strong/class-object-frozen.js | 98 + .../mjsunit/strong/declaration-after-use.js | 1 - deps/v8/test/mjsunit/strong/destructuring.js | 25 + deps/v8/test/mjsunit/strong/literals.js | 4 +- deps/v8/test/mjsunit/unbox-double-arrays.js | 11 - deps/v8/test/preparser/testcfg.py | 4 +- deps/v8/test/promises-aplus/lib/global.js | 13 +- deps/v8/test/promises-aplus/lib/mocha.js | 17 +- deps/v8/test/promises-aplus/testcfg.py | 2 +- deps/v8/test/simdjs/SimdJs.json | 76 +- deps/v8/test/simdjs/harness-adapt.js | 10 + deps/v8/test/simdjs/simdjs.status | 6 +- deps/v8/test/simdjs/testcfg.py | 48 +- deps/v8/test/test262-es6/test262-es6.status | 609 ++--- deps/v8/test/test262-es6/testcfg.py | 64 +- deps/v8/test/test262/test262.status | 3 + .../instruction-selector-arm64-unittest.cc | 34 + .../coalesced-live-ranges-unittest.cc | 309 +++ .../unittests/compiler/compiler-test-utils.h | 16 - .../compiler/instruction-selector-unittest.cc | 2 +- .../compiler/instruction-selector-unittest.h | 41 +- .../compiler/instruction-sequence-unittest.cc | 8 +- .../compiler/instruction-sequence-unittest.h | 6 +- .../interpreter-assembler-unittest.cc | 262 +++ .../compiler/interpreter-assembler-unittest.h | 56 + .../js-context-relaxation-unittest.cc | 306 +++ .../compiler/js-type-feedback-unittest.cc | 2 +- .../compiler/js-typed-lowering-unittest.cc | 41 +- .../compiler/linkage-tail-call-unittest.cc | 324 +++ .../compiler/liveness-analyzer-unittest.cc | 2 +- .../machine-operator-reducer-unittest.cc | 49 + .../unittests/compiler/node-test-utils.cc | 103 + .../test/unittests/compiler/node-test-utils.h | 37 + deps/v8/test/unittests/compiler/ppc/OWNERS | 1 + .../compiler/register-allocator-unittest.cc | 207 ++ .../unittests/compiler/scheduler-unittest.cc | 28 +- .../tail-call-optimization-unittest.cc | 42 +- .../heap/gc-idle-time-handler-unittest.cc | 13 + .../bytecode-array-builder-unittest.cc | 137 ++ deps/v8/test/unittests/test-utils.cc | 9 +- deps/v8/test/unittests/unittests.gyp | 15 + .../webkit/class-syntax-name-expected.txt | 4 +- deps/v8/test/webkit/class-syntax-name.js | 2 +- .../Object-getOwnPropertyNames-expected.txt | 94 - .../fast/js/Object-getOwnPropertyNames.js | 135 -- .../fast/js/basic-strict-mode-expected.txt | 4 +- .../js/excessive-comma-usage-expected.txt | 2 +- .../webkit/fast/js/excessive-comma-usage.js | 6 +- .../fast/js/parser-syntax-check-expected.txt | 56 +- .../webkit/fast/js/parser-syntax-check.js | 14 +- ...ve-property-access-edge-cases-expected.txt | 18 +- .../function-apply-aliased-expected.txt | 2 +- deps/v8/test/webkit/function-apply-aliased.js | 3 +- deps/v8/tools/check-inline-includes.sh | 19 + deps/v8/tools/check-unused-bailouts.sh | 16 + deps/v8/tools/external-reference-check.py | 1 + deps/v8/tools/gdb-v8-support.py | 1 + deps/v8/tools/gdbinit | 9 + deps/v8/tools/gen-postmortem-metadata.py | 14 +- deps/v8/tools/gyp/v8.gyp | 200 +- deps/v8/tools/js2c.py | 6 +- deps/v8/tools/run-deopt-fuzzer.py | 4 +- deps/v8/tools/run-tests.py | 44 +- deps/v8/tools/run_perf.py | 518 +++-- deps/v8/tools/testrunner/local/execution.py | 2 + deps/v8/tools/testrunner/local/progress.py | 8 +- deps/v8/tools/testrunner/local/testsuite.py | 100 +- deps/v8/tools/testrunner/objects/testcase.py | 17 +- deps/v8/tools/unittests/run_perf_test.py | 53 +- deps/v8/tools/v8heapconst.py | 396 ++-- deps/v8/tools/whitespace.txt | 2 +- 1058 files changed, 47033 insertions(+), 33242 deletions(-) create mode 100755 deps/v8/build/download_gold_plugin.py delete mode 100644 deps/v8/infra/project-config/README.md delete mode 100644 deps/v8/infra/project-config/cr-buildbucket.cfg delete mode 100644 deps/v8/src/arm/debug-arm.cc delete mode 100644 deps/v8/src/arm64/debug-arm64.cc rename deps/v8/src/{ => base}/smart-pointers.h (70%) create mode 100644 deps/v8/src/cancelable-task.cc create mode 100644 deps/v8/src/cancelable-task.h delete mode 100644 deps/v8/src/checks.cc create mode 100644 deps/v8/src/code-stubs.js delete mode 100644 deps/v8/src/compiler/arm/linkage-arm.cc delete mode 100644 deps/v8/src/compiler/arm64/linkage-arm64.cc create mode 100644 deps/v8/src/compiler/c-linkage.cc create mode 100644 deps/v8/src/compiler/frame.cc delete mode 100644 deps/v8/src/compiler/graph-builder.h delete mode 100644 deps/v8/src/compiler/ia32/linkage-ia32.cc create mode 100644 deps/v8/src/compiler/interpreter-assembler.cc create mode 100644 deps/v8/src/compiler/interpreter-assembler.h create mode 100644 deps/v8/src/compiler/js-context-relaxation.cc create mode 100644 deps/v8/src/compiler/js-context-relaxation.h create mode 100644 deps/v8/src/compiler/js-type-feedback-lowering.cc create mode 100644 deps/v8/src/compiler/js-type-feedback-lowering.h delete mode 100644 deps/v8/src/compiler/linkage-impl.h delete mode 100644 deps/v8/src/compiler/mips/linkage-mips.cc delete mode 100644 deps/v8/src/compiler/mips64/linkage-mips64.cc delete mode 100644 deps/v8/src/compiler/ppc/linkage-ppc.cc create mode 100644 deps/v8/src/compiler/preprocess-live-ranges.cc create mode 100644 deps/v8/src/compiler/preprocess-live-ranges.h delete mode 100644 deps/v8/src/compiler/x64/linkage-x64.cc delete mode 100644 deps/v8/src/compiler/x87/linkage-x87.cc create mode 100644 deps/v8/src/context-measure.cc create mode 100644 deps/v8/src/context-measure.h delete mode 100644 deps/v8/src/d8-debug.cc delete mode 100644 deps/v8/src/d8-debug.h delete mode 100644 deps/v8/src/d8-readline.cc create mode 100644 deps/v8/src/debug/OWNERS create mode 100644 deps/v8/src/debug/arm/OWNERS create mode 100644 deps/v8/src/debug/arm/debug-arm.cc create mode 100644 deps/v8/src/debug/arm64/OWNERS create mode 100644 deps/v8/src/debug/arm64/debug-arm64.cc create mode 100644 deps/v8/src/debug/debug-evaluate.cc create mode 100644 deps/v8/src/debug/debug-evaluate.h create mode 100644 deps/v8/src/debug/debug-frames.cc create mode 100644 deps/v8/src/debug/debug-frames.h create mode 100644 deps/v8/src/debug/debug-scopes.cc create mode 100644 deps/v8/src/debug/debug-scopes.h rename deps/v8/src/{ => debug}/debug.cc (65%) rename deps/v8/src/{ => debug}/debug.h (87%) rename deps/v8/src/{debug-debugger.js => debug/debug.js} (91%) create mode 100644 deps/v8/src/debug/ia32/debug-ia32.cc rename deps/v8/src/{ => debug}/liveedit.cc (96%) rename deps/v8/src/{ => debug}/liveedit.h (98%) rename deps/v8/src/{liveedit-debugger.js => debug/liveedit.js} (95%) create mode 100644 deps/v8/src/debug/mips/OWNERS create mode 100644 deps/v8/src/debug/mips/debug-mips.cc create mode 100644 deps/v8/src/debug/mips64/OWNERS create mode 100644 deps/v8/src/debug/mips64/debug-mips64.cc rename deps/v8/src/{mirror-debugger.js => debug/mirrors.js} (90%) create mode 100644 deps/v8/src/debug/ppc/OWNERS create mode 100644 deps/v8/src/debug/ppc/debug-ppc.cc create mode 100644 deps/v8/src/debug/x64/debug-x64.cc create mode 100644 deps/v8/src/debug/x87/OWNERS create mode 100644 deps/v8/src/debug/x87/debug-x87.cc create mode 100644 deps/v8/src/full-codegen/OWNERS rename deps/v8/src/{ => full-codegen}/arm/full-codegen-arm.cc (93%) rename deps/v8/src/{ => full-codegen}/arm64/full-codegen-arm64.cc (93%) rename deps/v8/src/{ => full-codegen}/full-codegen.cc (90%) rename deps/v8/src/{ => full-codegen}/full-codegen.h (97%) rename deps/v8/src/{ => full-codegen}/ia32/full-codegen-ia32.cc (93%) create mode 100644 deps/v8/src/full-codegen/mips/OWNERS rename deps/v8/src/{ => full-codegen}/mips/full-codegen-mips.cc (93%) create mode 100644 deps/v8/src/full-codegen/mips64/OWNERS rename deps/v8/src/{ => full-codegen}/mips64/full-codegen-mips64.cc (93%) create mode 100644 deps/v8/src/full-codegen/ppc/OWNERS rename deps/v8/src/{ => full-codegen}/ppc/full-codegen-ppc.cc (93%) rename deps/v8/src/{ => full-codegen}/x64/full-codegen-x64.cc (93%) create mode 100644 deps/v8/src/full-codegen/x87/OWNERS rename deps/v8/src/{ => full-codegen}/x87/full-codegen-x87.cc (93%) create mode 100644 deps/v8/src/futex-emulation.cc create mode 100644 deps/v8/src/futex-emulation.h create mode 100644 deps/v8/src/harmony-object-observe.js create mode 100644 deps/v8/src/harmony-simd.js delete mode 100644 deps/v8/src/ia32/debug-ia32.cc create mode 100644 deps/v8/src/interpreter/DEPS create mode 100644 deps/v8/src/interpreter/OWNERS create mode 100644 deps/v8/src/interpreter/bytecode-array-builder.cc create mode 100644 deps/v8/src/interpreter/bytecode-array-builder.h create mode 100644 deps/v8/src/interpreter/bytecode-generator.cc create mode 100644 deps/v8/src/interpreter/bytecode-generator.h create mode 100644 deps/v8/src/interpreter/bytecodes.cc create mode 100644 deps/v8/src/interpreter/bytecodes.h create mode 100644 deps/v8/src/interpreter/interpreter.cc create mode 100644 deps/v8/src/interpreter/interpreter.h delete mode 100644 deps/v8/src/mips/debug-mips.cc delete mode 100644 deps/v8/src/mips64/debug-mips64.cc delete mode 100644 deps/v8/src/ppc/debug-ppc.cc create mode 100644 deps/v8/src/regexp/OWNERS create mode 100644 deps/v8/src/regexp/arm/OWNERS rename deps/v8/src/{ => regexp}/arm/regexp-macro-assembler-arm.cc (99%) rename deps/v8/src/{ => regexp}/arm/regexp-macro-assembler-arm.h (97%) create mode 100644 deps/v8/src/regexp/arm64/OWNERS rename deps/v8/src/{ => regexp}/arm64/regexp-macro-assembler-arm64.cc (99%) rename deps/v8/src/{ => regexp}/arm64/regexp-macro-assembler-arm64.h (98%) rename deps/v8/src/{ => regexp}/bytecodes-irregexp.h (97%) rename deps/v8/src/{ => regexp}/ia32/regexp-macro-assembler-ia32.cc (99%) rename deps/v8/src/{ => regexp}/ia32/regexp-macro-assembler-ia32.h (97%) rename deps/v8/src/{ => regexp}/interpreter-irregexp.cc (99%) rename deps/v8/src/{ => regexp}/interpreter-irregexp.h (79%) rename deps/v8/src/{ => regexp}/jsregexp-inl.h (94%) rename deps/v8/src/{ => regexp}/jsregexp.cc (99%) rename deps/v8/src/{ => regexp}/jsregexp.h (99%) create mode 100644 deps/v8/src/regexp/mips/OWNERS rename deps/v8/src/{ => regexp}/mips/regexp-macro-assembler-mips.cc (99%) rename deps/v8/src/{ => regexp}/mips/regexp-macro-assembler-mips.h (97%) create mode 100644 deps/v8/src/regexp/mips64/OWNERS rename deps/v8/src/{ => regexp}/mips64/regexp-macro-assembler-mips64.cc (99%) rename deps/v8/src/{ => regexp}/mips64/regexp-macro-assembler-mips64.h (97%) create mode 100644 deps/v8/src/regexp/ppc/OWNERS rename deps/v8/src/{ => regexp}/ppc/regexp-macro-assembler-ppc.cc (99%) rename deps/v8/src/{ => regexp}/ppc/regexp-macro-assembler-ppc.h (97%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler-irregexp-inl.h (83%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler-irregexp.cc (98%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler-irregexp.h (95%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler-tracer.cc (99%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler-tracer.h (95%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler.cc (99%) rename deps/v8/src/{ => regexp}/regexp-macro-assembler.h (98%) rename deps/v8/src/{ => regexp}/regexp-stack.cc (93%) rename deps/v8/src/{ => regexp}/regexp-stack.h (95%) rename deps/v8/src/{ => regexp}/x64/regexp-macro-assembler-x64.cc (99%) rename deps/v8/src/{ => regexp}/x64/regexp-macro-assembler-x64.h (98%) create mode 100644 deps/v8/src/regexp/x87/OWNERS rename deps/v8/src/{ => regexp}/x87/regexp-macro-assembler-x87.cc (99%) rename deps/v8/src/{ => regexp}/x87/regexp-macro-assembler-x87.h (97%) create mode 100644 deps/v8/src/runtime/runtime-futex.cc create mode 100644 deps/v8/src/runtime/runtime-simd.cc create mode 100644 deps/v8/src/snapshot/natives-common.cc delete mode 100644 deps/v8/src/string-search.cc delete mode 100644 deps/v8/src/x64/debug-x64.cc delete mode 100644 deps/v8/src/x87/debug-x87.cc delete mode 100644 deps/v8/test/cctest/compiler/instruction-selector-tester.h delete mode 100644 deps/v8/test/cctest/compiler/simplified-graph-builder.cc delete mode 100644 deps/v8/test/cctest/compiler/simplified-graph-builder.h create mode 100644 deps/v8/test/cctest/compiler/test-run-native-calls.cc create mode 100644 deps/v8/test/cctest/interpreter/test-bytecode-generator.cc create mode 100644 deps/v8/test/cctest/interpreter/test-interpreter.cc create mode 100644 deps/v8/test/cctest/test-simd.cc create mode 100755 deps/v8/test/intl/number-format/check-minimum-fraction-digits.js create mode 100755 deps/v8/test/intl/number-format/format-currency.js create mode 100644 deps/v8/test/message/arrow-formal-parameters.js create mode 100644 deps/v8/test/message/arrow-formal-parameters.out create mode 100644 deps/v8/test/message/for-loop-invalid-lhs.js create mode 100644 deps/v8/test/message/for-loop-invalid-lhs.out create mode 100644 deps/v8/test/message/new-target-assignment.js create mode 100644 deps/v8/test/message/new-target-assignment.out create mode 100644 deps/v8/test/message/new-target-for-loop.js create mode 100644 deps/v8/test/message/new-target-for-loop.out create mode 100644 deps/v8/test/message/new-target-postfix-op.js create mode 100644 deps/v8/test/message/new-target-postfix-op.out create mode 100644 deps/v8/test/message/new-target-prefix-op.js create mode 100644 deps/v8/test/message/new-target-prefix-op.out create mode 100644 deps/v8/test/mjsunit/compiler/string-length.js create mode 100644 deps/v8/test/mjsunit/debug-materialized.js create mode 100644 deps/v8/test/mjsunit/debug-optimize.js create mode 100644 deps/v8/test/mjsunit/debug-stepin-construct-call.js create mode 100644 deps/v8/test/mjsunit/element-accessor.js create mode 100644 deps/v8/test/mjsunit/element-read-only.js create mode 100644 deps/v8/test/mjsunit/es6/array-reverse-order.js rename deps/v8/test/mjsunit/{harmony => es6}/class-computed-property-names-super.js (96%) rename deps/v8/test/mjsunit/{harmony => es6}/computed-property-names-classes.js (99%) rename deps/v8/test/mjsunit/{harmony => es6}/computed-property-names-deopt.js (91%) rename deps/v8/test/mjsunit/{harmony => es6}/computed-property-names-object-literals-methods.js (98%) rename deps/v8/test/mjsunit/{harmony => es6}/computed-property-names-super.js (96%) rename deps/v8/test/mjsunit/{harmony => es6}/computed-property-names.js (99%) create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-cr512574.js create mode 100644 deps/v8/test/mjsunit/es6/typedarray-set-length.js rename deps/v8/test/mjsunit/{harmony => es6}/unicode-escapes.js (97%) create mode 100644 deps/v8/test/mjsunit/harmony/block-conflicts-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-const-assign-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-for-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-leave-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-let-crankshaft-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-let-declaration-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-let-semantics-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-scope-class.js create mode 100644 deps/v8/test/mjsunit/harmony/block-scoping-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/block-scoping-top-level-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/default-parameters-debug.js create mode 100644 deps/v8/test/mjsunit/harmony/default-parameters.js create mode 100644 deps/v8/test/mjsunit/harmony/futex.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-4298.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-4417.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-513474.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-517455.js create mode 100644 deps/v8/test/mjsunit/harmony/simd.js create mode 100644 deps/v8/test/mjsunit/harmony/typed-array-includes.js create mode 100644 deps/v8/test/mjsunit/primitive-keyed-access.js create mode 100644 deps/v8/test/mjsunit/regress-4399.js create mode 100644 deps/v8/test/mjsunit/regress/cross-script-vars.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4271.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4279.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4296.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4309-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4309-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4309-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4320.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4325.js create mode 100644 deps/v8/test/mjsunit/regress/regress-455207.js create mode 100644 deps/v8/test/mjsunit/regress/regress-509961.js create mode 100644 deps/v8/test/mjsunit/regress/regress-514362.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-490021.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-505907.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-506549.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-506956.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-507070.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-510426.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-510738.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-511880.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-513472.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-513507.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-514081.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-516592.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-516775.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-517592.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-518747.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-518748.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-522380.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-522496.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-523308.js create mode 100644 deps/v8/test/mjsunit/regress/regress-debugger-redirect.js create mode 100644 deps/v8/test/mjsunit/strong/class-extend-null.js create mode 100644 deps/v8/test/mjsunit/strong/class-object-frozen.js create mode 100644 deps/v8/test/mjsunit/strong/destructuring.js create mode 100644 deps/v8/test/unittests/compiler/coalesced-live-ranges-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/interpreter-assembler-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/interpreter-assembler-unittest.h create mode 100644 deps/v8/test/unittests/compiler/js-context-relaxation-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/linkage-tail-call-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc delete mode 100644 deps/v8/test/webkit/fast/js/Object-getOwnPropertyNames-expected.txt delete mode 100644 deps/v8/test/webkit/fast/js/Object-getOwnPropertyNames.js create mode 100755 deps/v8/tools/check-inline-includes.sh create mode 100755 deps/v8/tools/check-unused-bailouts.sh diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index d0a859c12d..cc5606e854 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -60,6 +60,7 @@ shell_g /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz /test/promises-aplus/sinon +/test/simdjs/CHECKED_OUT_* /test/simdjs/ecmascript_simd* /test/simdjs/data* /test/test262/data diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 4f853c275b..72c23bcc83 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -44,6 +44,7 @@ Bert Belder Burcu Dogan Caitlin Potter Craig Schlenter +Chris Nardi Christopher A. Taylor Daniel Andersson Daniel James diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 3eb7fc73eb..fae41a7361 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -203,8 +203,8 @@ action("js2c") { sources = [ "src/macros.py", "src/messages.h", - "src/runtime.js", "src/prologue.js", + "src/runtime.js", "src/v8natives.js", "src/symbol.js", "src/array.js", @@ -227,12 +227,12 @@ action("js2c") { "src/json.js", "src/array-iterator.js", "src/string-iterator.js", - "src/debug-debugger.js", - "src/mirror-debugger.js", - "src/liveedit-debugger.js", "src/templates.js", "src/harmony-array.js", "src/harmony-typedarray.js", + "src/debug/mirrors.js", + "src/debug/debug.js", + "src/debug/liveedit.js", ] outputs = [ @@ -257,6 +257,40 @@ action("js2c") { } } +action("js2c_code_stubs") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + script = "tools/js2c.py" + + # The script depends on this other script, this rule causes a rebuild if it + # changes. + inputs = [ "tools/jsmin.py" ] + + sources = [ + "src/macros.py", + "src/messages.h", + "src/code-stubs.js" + ] + + outputs = [ + "$target_gen_dir/code-stub-libraries.cc", + ] + + args = [ + rebase_path("$target_gen_dir/code-stub-libraries.cc", + root_build_dir), + "CODE_STUB", + ] + rebase_path(sources, root_build_dir) + + if (v8_use_external_startup_data) { + outputs += [ "$target_gen_dir/libraries_code_stub.bin" ] + args += [ + "--startup_blob", + rebase_path("$target_gen_dir/libraries_code_stub.bin", root_build_dir), + ] + } +} + action("js2c_experimental") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -279,7 +313,9 @@ action("js2c_experimental") { "src/harmony-reflect.js", "src/harmony-spread.js", "src/harmony-object.js", - "src/harmony-sharedarraybuffer.js" + "src/harmony-object-observe.js", + "src/harmony-sharedarraybuffer.js", + "src/harmony-simd.js" ] outputs = [ @@ -355,12 +391,14 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", + ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ] sources = [ "$target_gen_dir/libraries.bin", + "$target_gen_dir/libraries_code_stub.bin", "$target_gen_dir/libraries_experimental.bin", "$target_gen_dir/libraries_extras.bin", ] @@ -446,6 +484,7 @@ source_set("v8_nosnapshot") { deps = [ ":js2c", + ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":v8_base", @@ -453,6 +492,7 @@ source_set("v8_nosnapshot") { sources = [ "$target_gen_dir/libraries.cc", + "$target_gen_dir/code-stub-libraries.cc", "$target_gen_dir/experimental-libraries.cc", "$target_gen_dir/extras-libraries.cc", "src/snapshot/snapshot-empty.cc", @@ -477,6 +517,7 @@ source_set("v8_snapshot") { deps = [ ":js2c", + ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":v8_base", @@ -489,6 +530,7 @@ source_set("v8_snapshot") { sources = [ "$target_gen_dir/libraries.cc", + "$target_gen_dir/code-stub-libraries.cc", "$target_gen_dir/experimental-libraries.cc", "$target_gen_dir/extras-libraries.cc", "$target_gen_dir/snapshot.cc", @@ -509,6 +551,7 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", + ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":v8_base", @@ -587,13 +630,13 @@ source_set("v8_base") { "src/bootstrapper.h", "src/builtins.cc", "src/builtins.h", - "src/bytecodes-irregexp.h", + "src/cancelable-task.cc", + "src/cancelable-task.h", "src/cached-powers.cc", "src/cached-powers.h", "src/char-predicates.cc", "src/char-predicates-inl.h", "src/char-predicates.h", - "src/checks.cc", "src/checks.h", "src/circular-queue-inl.h", "src/circular-queue.h", @@ -623,6 +666,7 @@ source_set("v8_base") { "src/compiler/basic-block-instrumentor.h", "src/compiler/change-lowering.cc", "src/compiler/change-lowering.h", + "src/compiler/c-linkage.cc", "src/compiler/coalesced-live-ranges.cc", "src/compiler/coalesced-live-ranges.h", "src/compiler/code-generator-impl.h", @@ -643,6 +687,7 @@ source_set("v8_base") { "src/compiler/dead-code-elimination.cc", "src/compiler/dead-code-elimination.h", "src/compiler/diamond.h", + "src/compiler/frame.cc", "src/compiler/frame.h", "src/compiler/frame-elider.cc", "src/compiler/frame-elider.h", @@ -650,7 +695,6 @@ source_set("v8_base") { "src/compiler/frame-states.h", "src/compiler/gap-resolver.cc", "src/compiler/gap-resolver.h", - "src/compiler/graph-builder.h", "src/compiler/graph-reducer.cc", "src/compiler/graph-reducer.h", "src/compiler/graph-replay.cc", @@ -669,8 +713,12 @@ source_set("v8_base") { "src/compiler/instruction-selector.h", "src/compiler/instruction.cc", "src/compiler/instruction.h", + "src/compiler/interpreter-assembler.cc", + "src/compiler/interpreter-assembler.h", "src/compiler/js-builtin-reducer.cc", "src/compiler/js-builtin-reducer.h", + "src/compiler/js-context-relaxation.cc", + "src/compiler/js-context-relaxation.h", "src/compiler/js-context-specialization.cc", "src/compiler/js-context-specialization.h", "src/compiler/js-frame-specialization.cc", @@ -687,11 +735,12 @@ source_set("v8_base") { "src/compiler/js-operator.h", "src/compiler/js-type-feedback.cc", "src/compiler/js-type-feedback.h", + "src/compiler/js-type-feedback-lowering.cc", + "src/compiler/js-type-feedback-lowering.h", "src/compiler/js-typed-lowering.cc", "src/compiler/js-typed-lowering.h", "src/compiler/jump-threading.cc", "src/compiler/jump-threading.h", - "src/compiler/linkage-impl.h", "src/compiler/linkage.cc", "src/compiler/linkage.h", "src/compiler/liveness-analyzer.cc", @@ -732,6 +781,8 @@ source_set("v8_base") { "src/compiler/pipeline.h", "src/compiler/pipeline-statistics.cc", "src/compiler/pipeline-statistics.h", + "src/compiler/preprocess-live-ranges.cc", + "src/compiler/preprocess-live-ranges.h", "src/compiler/raw-machine-assembler.cc", "src/compiler/raw-machine-assembler.h", "src/compiler/register-allocator.cc", @@ -769,6 +820,8 @@ source_set("v8_base") { "src/compiler/zone-pool.h", "src/compiler.cc", "src/compiler.h", + "src/context-measure.cc", + "src/context-measure.h", "src/contexts.cc", "src/contexts.h", "src/conversions-inl.h", @@ -784,8 +837,16 @@ source_set("v8_base") { "src/dateparser-inl.h", "src/dateparser.cc", "src/dateparser.h", - "src/debug.cc", - "src/debug.h", + "src/debug/debug-evaluate.cc", + "src/debug/debug-evaluate.h", + "src/debug/debug-frames.cc", + "src/debug/debug-frames.h", + "src/debug/debug-scopes.cc", + "src/debug/debug-scopes.h", + "src/debug/debug.cc", + "src/debug/debug.h", + "src/debug/liveedit.cc", + "src/debug/liveedit.h", "src/deoptimizer.cc", "src/deoptimizer.h", "src/disasm.h", @@ -828,10 +889,12 @@ source_set("v8_base") { "src/frames-inl.h", "src/frames.cc", "src/frames.h", - "src/full-codegen.cc", - "src/full-codegen.h", + "src/full-codegen/full-codegen.cc", + "src/full-codegen/full-codegen.h", "src/func-name-inferrer.cc", "src/func-name-inferrer.h", + "src/futex-emulation.cc", + "src/futex-emulation.h", "src/gdb-jit.cc", "src/gdb-jit.h", "src/global-handles.cc", @@ -944,15 +1007,18 @@ source_set("v8_base") { "src/ic/stub-cache.h", "src/interface-descriptors.cc", "src/interface-descriptors.h", - "src/interpreter-irregexp.cc", - "src/interpreter-irregexp.h", + "src/interpreter/bytecodes.cc", + "src/interpreter/bytecodes.h", + "src/interpreter/bytecode-array-builder.cc", + "src/interpreter/bytecode-array-builder.h", + "src/interpreter/bytecode-generator.cc", + "src/interpreter/bytecode-generator.h", + "src/interpreter/interpreter.cc", + "src/interpreter/interpreter.h", "src/isolate.cc", "src/isolate.h", "src/json-parser.h", "src/json-stringifier.h", - "src/jsregexp-inl.h", - "src/jsregexp.cc", - "src/jsregexp.h", "src/layout-descriptor-inl.h", "src/layout-descriptor.cc", "src/layout-descriptor.h", @@ -965,8 +1031,6 @@ source_set("v8_base") { "src/lithium-codegen.h", "src/lithium.cc", "src/lithium.h", - "src/liveedit.cc", - "src/liveedit.h", "src/log-inl.h", "src/log-utils.cc", "src/log-utils.h", @@ -1009,17 +1073,23 @@ source_set("v8_base") { "src/property.cc", "src/property.h", "src/prototype.h", - "src/regexp-macro-assembler-irregexp-inl.h", - "src/regexp-macro-assembler-irregexp.cc", - "src/regexp-macro-assembler-irregexp.h", - "src/regexp-macro-assembler-tracer.cc", - "src/regexp-macro-assembler-tracer.h", - "src/regexp-macro-assembler.cc", - "src/regexp-macro-assembler.h", - "src/regexp-stack.cc", - "src/regexp-stack.h", "src/rewriter.cc", "src/rewriter.h", + "src/regexp/bytecodes-irregexp.h", + "src/regexp/interpreter-irregexp.cc", + "src/regexp/interpreter-irregexp.h", + "src/regexp/jsregexp-inl.h", + "src/regexp/jsregexp.cc", + "src/regexp/jsregexp.h", + "src/regexp/regexp-macro-assembler-irregexp-inl.h", + "src/regexp/regexp-macro-assembler-irregexp.cc", + "src/regexp/regexp-macro-assembler-irregexp.h", + "src/regexp/regexp-macro-assembler-tracer.cc", + "src/regexp/regexp-macro-assembler-tracer.h", + "src/regexp/regexp-macro-assembler.cc", + "src/regexp/regexp-macro-assembler.h", + "src/regexp/regexp-stack.cc", + "src/regexp/regexp-stack.h", "src/runtime-profiler.cc", "src/runtime-profiler.h", "src/runtime/runtime-array.cc", @@ -1031,6 +1101,7 @@ source_set("v8_base") { "src/runtime/runtime-debug.cc", "src/runtime/runtime-forin.cc", "src/runtime/runtime-function.cc", + "src/runtime/runtime-futex.cc", "src/runtime/runtime-generator.cc", "src/runtime/runtime-i18n.cc", "src/runtime/runtime-internal.cc", @@ -1044,6 +1115,7 @@ source_set("v8_base") { "src/runtime/runtime-proxy.cc", "src/runtime/runtime-regexp.cc", "src/runtime/runtime-scopes.cc", + "src/runtime/runtime-simd.cc", "src/runtime/runtime-strings.cc", "src/runtime/runtime-symbol.cc", "src/runtime/runtime-test.cc", @@ -1067,8 +1139,8 @@ source_set("v8_base") { "src/signature.h", "src/simulator.h", "src/small-pointer-list.h", - "src/smart-pointers.h", "src/snapshot/natives.h", + "src/snapshot/natives-common.cc", "src/snapshot/serialize.cc", "src/snapshot/serialize.h", "src/snapshot/snapshot-common.cc", @@ -1081,7 +1153,6 @@ source_set("v8_base") { "src/startup-data-util.cc", "src/string-builder.cc", "src/string-builder.h", - "src/string-search.cc", "src/string-search.h", "src/string-stream.cc", "src/string-stream.h", @@ -1144,12 +1215,10 @@ source_set("v8_base") { "src/ia32/codegen-ia32.cc", "src/ia32/codegen-ia32.h", "src/ia32/cpu-ia32.cc", - "src/ia32/debug-ia32.cc", "src/ia32/deoptimizer-ia32.cc", "src/ia32/disasm-ia32.cc", "src/ia32/frames-ia32.cc", "src/ia32/frames-ia32.h", - "src/ia32/full-codegen-ia32.cc", "src/ia32/interface-descriptors-ia32.cc", "src/ia32/lithium-codegen-ia32.cc", "src/ia32/lithium-codegen-ia32.h", @@ -1159,17 +1228,18 @@ source_set("v8_base") { "src/ia32/lithium-ia32.h", "src/ia32/macro-assembler-ia32.cc", "src/ia32/macro-assembler-ia32.h", - "src/ia32/regexp-macro-assembler-ia32.cc", - "src/ia32/regexp-macro-assembler-ia32.h", "src/compiler/ia32/code-generator-ia32.cc", "src/compiler/ia32/instruction-codes-ia32.h", "src/compiler/ia32/instruction-selector-ia32.cc", - "src/compiler/ia32/linkage-ia32.cc", + "src/debug/ia32/debug-ia32.cc", + "src/full-codegen/ia32/full-codegen-ia32.cc", "src/ic/ia32/access-compiler-ia32.cc", "src/ic/ia32/handler-compiler-ia32.cc", "src/ic/ia32/ic-ia32.cc", "src/ic/ia32/ic-compiler-ia32.cc", "src/ic/ia32/stub-cache-ia32.cc", + "src/regexp/ia32/regexp-macro-assembler-ia32.cc", + "src/regexp/ia32/regexp-macro-assembler-ia32.h", ] } else if (v8_target_arch == "x64") { sources += [ @@ -1182,12 +1252,10 @@ source_set("v8_base") { "src/x64/codegen-x64.cc", "src/x64/codegen-x64.h", "src/x64/cpu-x64.cc", - "src/x64/debug-x64.cc", "src/x64/deoptimizer-x64.cc", "src/x64/disasm-x64.cc", "src/x64/frames-x64.cc", "src/x64/frames-x64.h", - "src/x64/full-codegen-x64.cc", "src/x64/interface-descriptors-x64.cc", "src/x64/lithium-codegen-x64.cc", "src/x64/lithium-codegen-x64.h", @@ -1197,17 +1265,18 @@ source_set("v8_base") { "src/x64/lithium-x64.h", "src/x64/macro-assembler-x64.cc", "src/x64/macro-assembler-x64.h", - "src/x64/regexp-macro-assembler-x64.cc", - "src/x64/regexp-macro-assembler-x64.h", "src/compiler/x64/code-generator-x64.cc", "src/compiler/x64/instruction-codes-x64.h", "src/compiler/x64/instruction-selector-x64.cc", - "src/compiler/x64/linkage-x64.cc", + "src/debug/x64/debug-x64.cc", + "src/full-codegen/x64/full-codegen-x64.cc", "src/ic/x64/access-compiler-x64.cc", "src/ic/x64/handler-compiler-x64.cc", "src/ic/x64/ic-x64.cc", "src/ic/x64/ic-compiler-x64.cc", "src/ic/x64/stub-cache-x64.cc", + "src/regexp/x64/regexp-macro-assembler-x64.cc", + "src/regexp/x64/regexp-macro-assembler-x64.h", ] } else if (v8_target_arch == "arm") { sources += [ @@ -1222,12 +1291,10 @@ source_set("v8_base") { "src/arm/constants-arm.h", "src/arm/constants-arm.cc", "src/arm/cpu-arm.cc", - "src/arm/debug-arm.cc", "src/arm/deoptimizer-arm.cc", "src/arm/disasm-arm.cc", "src/arm/frames-arm.cc", "src/arm/frames-arm.h", - "src/arm/full-codegen-arm.cc", "src/arm/interface-descriptors-arm.cc", "src/arm/interface-descriptors-arm.h", "src/arm/lithium-arm.cc", @@ -1238,19 +1305,20 @@ source_set("v8_base") { "src/arm/lithium-gap-resolver-arm.h", "src/arm/macro-assembler-arm.cc", "src/arm/macro-assembler-arm.h", - "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", - "src/compiler/arm/linkage-arm.cc", + "src/debug/arm/debug-arm.cc", + "src/full-codegen/arm/full-codegen-arm.cc", "src/ic/arm/access-compiler-arm.cc", "src/ic/arm/handler-compiler-arm.cc", "src/ic/arm/ic-arm.cc", "src/ic/arm/ic-compiler-arm.cc", "src/ic/arm/stub-cache-arm.cc", + "src/regexp/arm/regexp-macro-assembler-arm.cc", + "src/regexp/arm/regexp-macro-assembler-arm.h", ] } else if (v8_target_arch == "arm64") { sources += [ @@ -1264,7 +1332,6 @@ source_set("v8_base") { "src/arm64/code-stubs-arm64.h", "src/arm64/constants-arm64.h", "src/arm64/cpu-arm64.cc", - "src/arm64/debug-arm64.cc", "src/arm64/decoder-arm64.cc", "src/arm64/decoder-arm64.h", "src/arm64/decoder-arm64-inl.h", @@ -1273,7 +1340,6 @@ source_set("v8_base") { "src/arm64/disasm-arm64.h", "src/arm64/frames-arm64.cc", "src/arm64/frames-arm64.h", - "src/arm64/full-codegen-arm64.cc", "src/arm64/instructions-arm64.cc", "src/arm64/instructions-arm64.h", "src/arm64/instrument-arm64.cc", @@ -1289,8 +1355,6 @@ source_set("v8_base") { "src/arm64/macro-assembler-arm64.cc", "src/arm64/macro-assembler-arm64.h", "src/arm64/macro-assembler-arm64-inl.h", - "src/arm64/regexp-macro-assembler-arm64.cc", - "src/arm64/regexp-macro-assembler-arm64.h", "src/arm64/simulator-arm64.cc", "src/arm64/simulator-arm64.h", "src/arm64/utils-arm64.cc", @@ -1298,12 +1362,15 @@ source_set("v8_base") { "src/compiler/arm64/code-generator-arm64.cc", "src/compiler/arm64/instruction-codes-arm64.h", "src/compiler/arm64/instruction-selector-arm64.cc", - "src/compiler/arm64/linkage-arm64.cc", + "src/debug/arm64/debug-arm64.cc", + "src/full-codegen/arm64/full-codegen-arm64.cc", "src/ic/arm64/access-compiler-arm64.cc", "src/ic/arm64/handler-compiler-arm64.cc", "src/ic/arm64/ic-arm64.cc", "src/ic/arm64/ic-compiler-arm64.cc", "src/ic/arm64/stub-cache-arm64.cc", + "src/regexp/arm64/regexp-macro-assembler-arm64.cc", + "src/regexp/arm64/regexp-macro-assembler-arm64.h", ] } else if (v8_target_arch == "mipsel") { sources += [ @@ -1318,12 +1385,10 @@ source_set("v8_base") { "src/mips/constants-mips.cc", "src/mips/constants-mips.h", "src/mips/cpu-mips.cc", - "src/mips/debug-mips.cc", "src/mips/deoptimizer-mips.cc", "src/mips/disasm-mips.cc", "src/mips/frames-mips.cc", "src/mips/frames-mips.h", - "src/mips/full-codegen-mips.cc", "src/mips/interface-descriptors-mips.cc", "src/mips/lithium-codegen-mips.cc", "src/mips/lithium-codegen-mips.h", @@ -1333,19 +1398,20 @@ source_set("v8_base") { "src/mips/lithium-mips.h", "src/mips/macro-assembler-mips.cc", "src/mips/macro-assembler-mips.h", - "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", - "src/compiler/mips/linkage-mips.cc", + "src/debug/mips/debug-mips.cc", + "src/full-codegen/mips/full-codegen-mips.cc", "src/ic/mips/access-compiler-mips.cc", "src/ic/mips/handler-compiler-mips.cc", "src/ic/mips/ic-mips.cc", "src/ic/mips/ic-compiler-mips.cc", "src/ic/mips/stub-cache-mips.cc", + "src/regexp/mips/regexp-macro-assembler-mips.cc", + "src/regexp/mips/regexp-macro-assembler-mips.h", ] } else if (v8_target_arch == "mips64el") { sources += [ @@ -1360,12 +1426,10 @@ source_set("v8_base") { "src/mips64/constants-mips64.cc", "src/mips64/constants-mips64.h", "src/mips64/cpu-mips64.cc", - "src/mips64/debug-mips64.cc", "src/mips64/deoptimizer-mips64.cc", "src/mips64/disasm-mips64.cc", "src/mips64/frames-mips64.cc", "src/mips64/frames-mips64.h", - "src/mips64/full-codegen-mips64.cc", "src/mips64/interface-descriptors-mips64.cc", "src/mips64/lithium-codegen-mips64.cc", "src/mips64/lithium-codegen-mips64.h", @@ -1375,15 +1439,17 @@ source_set("v8_base") { "src/mips64/lithium-mips64.h", "src/mips64/macro-assembler-mips64.cc", "src/mips64/macro-assembler-mips64.h", - "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/debug/mips64/debug-mips64.cc", + "src/full-codegen/mips64/full-codegen-mips64.cc", "src/ic/mips64/access-compiler-mips64.cc", "src/ic/mips64/handler-compiler-mips64.cc", "src/ic/mips64/ic-mips64.cc", "src/ic/mips64/ic-compiler-mips64.cc", "src/ic/mips64/stub-cache-mips64.cc", + "src/regexp/mips64/regexp-macro-assembler-mips64.cc", + "src/regexp/mips64/regexp-macro-assembler-mips64.h", ] } @@ -1479,6 +1545,7 @@ source_set("v8_libbase") { "src/base/safe_conversions_impl.h", "src/base/safe_math.h", "src/base/safe_math_impl.h", + "src/base/smart-pointers.h", "src/base/sys-info.cc", "src/base/sys-info.h", "src/base/utils/random-number-generator.cc", @@ -1700,7 +1767,7 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || "//build/config/sanitizers:deps", ] - # TODO(jochen): Add support for readline and vtunejit. + # TODO(jochen): Add support for vtunejit. if (is_posix) { sources += [ "src/d8-posix.cc" ] @@ -1710,8 +1777,6 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || 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 e8ce915633..0dff96acc7 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,574 @@ +2015-08-19: Version 4.6.85 + + Performance and stability improvements on all platforms. + + +2015-08-19: Version 4.6.84 + + Performance and stability improvements on all platforms. + + +2015-08-19: Version 4.6.83 + + Performance and stability improvements on all platforms. + + +2015-08-18: Version 4.6.82 + + Performance and stability improvements on all platforms. + + +2015-08-18: Version 4.6.81 + + Performance and stability improvements on all platforms. + + +2015-08-18: Version 4.6.80 + + Filter out slot buffer slots, that point to SMIs in dead objects + (Chromium issues 454297, 519577). + + Performance and stability improvements on all platforms. + + +2015-08-17: Version 4.6.79 + + Performance and stability improvements on all platforms. + + +2015-08-17: Version 4.6.78 + + Put V8 extras into the snapshot. + + Performance and stability improvements on all platforms. + + +2015-08-15: Version 4.6.77 + + Performance and stability improvements on all platforms. + + +2015-08-14: Version 4.6.76 + + Performance and stability improvements on all platforms. + + +2015-08-14: Version 4.6.75 + + Performance and stability improvements on all platforms. + + +2015-08-14: Version 4.6.74 + + Performance and stability improvements on all platforms. + + +2015-08-13: Version 4.6.73 + + Performance and stability improvements on all platforms. + + +2015-08-13: Version 4.6.72 + + Stage sloppy classes (issue 3305). + + Performance and stability improvements on all platforms. + + +2015-08-13: Version 4.6.71 + + Performance and stability improvements on all platforms. + + +2015-08-12: Version 4.6.70 + + Performance and stability improvements on all platforms. + + +2015-08-12: Version 4.6.69 + + Stage --harmony-array-includes (issue 3575). + + Performance and stability improvements on all platforms. + + +2015-08-12: Version 4.6.68 + + Use a new lexical context for sloppy-mode eval (issue 4288). + + Add includes method to typed arrays (issue 3575). + + Performance and stability improvements on all platforms. + + +2015-08-11: Version 4.6.67 + + Performance and stability improvements on all platforms. + + +2015-08-11: Version 4.6.66 + + Performance and stability improvements on all platforms. + + +2015-08-11: Version 4.6.65 + + Performance and stability improvements on all platforms. + + +2015-08-10: Version 4.6.64 + + Disable --global-var-shortcuts (Chromium issue 517778). + + Performance and stability improvements on all platforms. + + +2015-08-10: Version 4.6.63 + + Performance and stability improvements on all platforms. + + +2015-08-09: Version 4.6.62 + + Performance and stability improvements on all platforms. + + +2015-08-08: Version 4.6.61 + + Performance and stability improvements on all platforms. + + +2015-08-08: Version 4.6.60 + + [IC] Make SeededNumberDictionary::UpdateMaxNumberKey prototype aware + (issue 4335). + + Performance and stability improvements on all platforms. + + +2015-08-08: Version 4.6.59 + + Performance and stability improvements on all platforms. + + +2015-08-07: Version 4.6.58 + + Performance and stability improvements on all platforms. + + +2015-08-07: Version 4.6.57 + + Rename "extras exports" to "extras binding" (Chromium issue 507133). + + Performance and stability improvements on all platforms. + + +2015-08-07: Version 4.6.56 + + Performance and stability improvements on all platforms. + + +2015-08-06: Version 4.6.55 + + Fix off-by-one in Array.concat's max index check (Chromium issue + 516592). + + Performance and stability improvements on all platforms. + + +2015-08-06: Version 4.6.54 + + Performance and stability improvements on all platforms. + + +2015-08-06: Version 4.6.53 + + Performance and stability improvements on all platforms. + + +2015-08-05: Version 4.6.52 + + Ship --harmony-new-target (issue 3887). + + Performance and stability improvements on all platforms. + + +2015-08-04: Version 4.6.51 + + Performance and stability improvements on all platforms. + + +2015-08-04: Version 4.6.50 + + Performance and stability improvements on all platforms. + + +2015-08-03: Version 4.6.49 + + SIMD.js Add the other SIMD Phase 1 types (issue 4124). + + Performance and stability improvements on all platforms. + + +2015-08-03: Version 4.6.48 + + Performance and stability improvements on all platforms. + + +2015-08-03: Version 4.6.47 + + Performance and stability improvements on all platforms. + + +2015-08-01: Version 4.6.46 + + Performance and stability improvements on all platforms. + + +2015-08-01: Version 4.6.45 + + Performance and stability improvements on all platforms. + + +2015-08-01: Version 4.6.44 + + Performance and stability improvements on all platforms. + + +2015-07-31: Version 4.6.43 + + Performance and stability improvements on all platforms. + + +2015-07-31: Version 4.6.42 + + Performance and stability improvements on all platforms. + + +2015-07-31: Version 4.6.41 + + Performance and stability improvements on all platforms. + + +2015-07-30: Version 4.6.40 + + Pass the kGCCallbackFlagForced flag when invoking + Heap::CollectAllGarbage from AdjustAmountOfExternalAllocatedMemory + (Chromium issue 511294). + + Performance and stability improvements on all platforms. + + +2015-07-30: Version 4.6.39 + + Performance and stability improvements on all platforms. + + +2015-07-30: Version 4.6.38 + + Performance and stability improvements on all platforms. + + +2015-07-29: Version 4.6.37 + + Performance and stability improvements on all platforms. + + +2015-07-28: Version 4.6.36 + + Fix prototype registration upon SlowToFast migration (Chromium issue + 513602). + + Bugfix: Incorrect type feedback vector structure on recompile (Chromium + issue 514526). + + Reland of "Remove ExternalArray, derived types, and element kinds" + (issue 3996). + + Performance and stability improvements on all platforms. + + +2015-07-28: Version 4.6.35 + + Performance and stability improvements on all platforms. + + +2015-07-28: Version 4.6.34 + + Remove ExternalArray, derived types, and element kinds (issue 3996). + + Make V8 compile with MSVS 2015 (issue 4326). + + Performance and stability improvements on all platforms. + + +2015-07-27: Version 4.6.33 + + Performance and stability improvements on all platforms. + + +2015-07-26: Version 4.6.32 + + Performance and stability improvements on all platforms. + + +2015-07-25: Version 4.6.31 + + Performance and stability improvements on all platforms. + + +2015-07-25: Version 4.6.30 + + Make dates default to the local timezone if none specified (issue 4242, + Chromium issue 391730). + + Performance and stability improvements on all platforms. + + +2015-07-24: Version 4.6.29 + + Performance and stability improvements on all platforms. + + +2015-07-24: Version 4.6.28 + + Performance and stability improvements on all platforms. + + +2015-07-23: Version 4.6.27 + + Fix check for a date with a 24th hour (Chromium issue 174609). + + Performance and stability improvements on all platforms. + + +2015-07-23: Version 4.6.26 + + Performance and stability improvements on all platforms. + + +2015-07-22: Version 4.6.25 + + Performance and stability improvements on all platforms. + + +2015-07-22: Version 4.6.24 + + Performance and stability improvements on all platforms. + + +2015-07-22: Version 4.6.23 + + Performance and stability improvements on all platforms. + + +2015-07-21: Version 4.6.22 + + Performance and stability improvements on all platforms. + + +2015-07-21: Version 4.6.21 + + Performance and stability improvements on all platforms. + + +2015-07-21: Version 4.6.20 + + Don't run the second pass of the pending phantom callbacks if the heap + has been torn down (Chromium issue 511204). + + Debugger: prepare code for debugging on a per-function basis (issue + 4132). + + Performance and stability improvements on all platforms. + + +2015-07-20: Version 4.6.19 + + Performance and stability improvements on all platforms. + + +2015-07-20: Version 4.6.18 + + Performance and stability improvements on all platforms. + + +2015-07-19: Version 4.6.17 + + Performance and stability improvements on all platforms. + + +2015-07-18: Version 4.6.16 + + Performance and stability improvements on all platforms. + + +2015-07-18: Version 4.6.15 + + Make NumberFormat use the ICU currency data, fix bug in NumberFormat + (Chromium issues 304722, 435465, 473104). + + Properly fix enumerate / Object.keys wrt access checked objects + (Chromium issue 509936). + + Fix object enumeration wrt access checked objects (Chromium issue + 509936). + + Fix DefineOwnProperty for data properties wrt failed access checks + (Chromium issue 509936). + + Fix GetOwnPropertyNames on access-checked objects (Chromium issue + 509936). + + Fix getPrototypeOf for access checked objects (Chromium issue 509936). + + Delete APIs deprecated since last release. + + Performance and stability improvements on all platforms. + + +2015-07-17: Version 4.6.14 + + Array.prototype.reverse should call [[HasProperty]] on elements before + [[Get]] (issue 4223). + + In RegExp, lastIndex is read with ToLength, not ToInteger (issue 4244). + + Stage --harmony-new-target (issue 3887). + + Re-ship harmony spread calls and spread arrays (issue 3018). + + Expose SIMD.Float32x4 type to Javascript. This CL exposes the + constructor function, defines type related information, and implements + value type semantics. It also refactors test/mjsunit/samevalue.js to + test SameValue and SameValueZero (issue 4124). + + Performance and stability improvements on all platforms. + + +2015-07-17: Version 4.6.13 + + Performance and stability improvements on all platforms. + + +2015-07-16: Version 4.6.12 + + Performance and stability improvements on all platforms. + + +2015-07-16: Version 4.6.11 + + Performance and stability improvements on all platforms. + + +2015-07-16: Version 4.6.10 + + Expose SIMD.Float32x4 type to Javascript. This CL exposes the + constructor function, defines type related information, and implements + value type semantics. It also refactors test/mjsunit/samevalue.js to + test SameValue and SameValueZero (issue 4124). + + Fix runtime-atomics for Win 10 SDK and remove volatile (Chromium issues + 440500, 491424). + + Performance and stability improvements on all platforms. + + +2015-07-15: Version 4.6.9 + + Let the second pass phantom callbacks run in a separate task on the + foreground thread. + + Performance and stability improvements on all platforms. + + +2015-07-15: Version 4.6.8 + + Optimize String.prototype.includes (issue 3807). + + Unship spread calls and spread arrays (issue 4298). + + Performance and stability improvements on all platforms. + + +2015-07-15: Version 4.6.7 + + Performance and stability improvements on all platforms. + + +2015-07-14: Version 4.6.6 + + Performance and stability improvements on all platforms. + + +2015-07-14: Version 4.6.5 + + Performance and stability improvements on all platforms. + + +2015-07-14: Version 4.6.4 + + MIPS64: Fix BlockTrampolinePoolFor() to emit trampoline before blocking, + if needed (issue 4294). + + Add convenience method for converting v8::PersistentBase to v8::Local. + + Performance and stability improvements on all platforms. + + +2015-07-13: Version 4.6.3 + + MIPS: Fix BlockTrampolinePoolFor() to emit trampoline before blocking, + if needed (issue 4294). + + Performance and stability improvements on all platforms. + + +2015-07-13: Version 4.6.2 + + [arm] CheckConstPool between TurboFan instructions (issue 4292). + + Fix keyed access of primitive objects in the runtime. For now it uses a + pretty slow path for accessing strings by wrapping it into a new + temporary wrapper (issues 3088, 4042). + + Performance and stability improvements on all platforms. + + +2015-07-12: Version 4.6.1 + + Performance and stability improvements on all platforms. + + +2015-07-09: Version 4.5.107 + + [arm] Don't call branch_offset within CheckConstPool (issue 4292). + + [arm] Fix missing CheckBuffer for branches (issue 4292). + + Performance and stability improvements on all platforms. + + +2015-07-09: Version 4.5.106 + + Performance and stability improvements on all platforms. + + +2015-07-09: Version 4.5.105 + + Guard @@isConcatSpreadable behind a flag (Chromium issue 507553). + + Performance and stability improvements on all platforms. + + +2015-07-08: Version 4.5.104 + + [x64] Fix handling of Smi constants in LSubI and LBitI (Chromium issue + 478612). + + Performance and stability improvements on all platforms. + + 2015-07-08: Version 4.5.103 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 689ae778bb..c8c7de080c 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,23 +8,23 @@ vars = { deps = { "v8/build/gyp": - Var("git_url") + "/external/gyp.git" + "@" + "5122240c5e5c4d8da12c543d82b03d6089eb77c5", + Var("git_url") + "/external/gyp.git" + "@" + "6ee91ad8659871916f9aa840d42e1513befdf638", "v8/third_party/icu": - Var("git_url") + "/chromium/deps/icu.git" + "@" + "c81a1a3989c3b66fa323e9a6ee7418d7c08297af", + Var("git_url") + "/chromium/deps/icu.git" + "@" + "89dcdec16381883782b9cc9cff38e00f047a0f46", "v8/buildtools": - Var("git_url") + "/chromium/buildtools.git" + "@" + "ecc8e253abac3b6186a97573871a084f4c0ca3ae", + Var("git_url") + "/chromium/buildtools.git" + "@" + "565d04e8741429fb1b4f26d102f2c6c3b849edeb", "v8/testing/gtest": - Var("git_url") + "/external/googletest.git" + "@" + "23574bf2333f834ff665f894c97bef8a5b33a0a9", + Var("git_url") + "/external/googletest.git" + "@" + "9855a87157778d39b95eccfb201a9dc90f6d61c6", "v8/testing/gmock": - Var("git_url") + "/external/googlemock.git" + "@" + "29763965ab52f24565299976b936d1265cb6a271", # from svn revision 501 + Var("git_url") + "/external/googlemock.git" + "@" + "0421b6f358139f02e102c9c332ce19a33faf75be", "v8/tools/clang": - Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "73ec8804ed395b0886d6edf82a9f33583f4a7902", + Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "5b12e334ec0e571a8e1f68d028dc5427b58c17ec", } deps_os = { "android": { "v8/third_party/android_tools": - Var("git_url") + "/android_tools.git" + "@" + "21f4bcbd6cd927e4b4227cfde7d5f13486be1236", + Var("git_url") + "/android_tools.git" + "@" + "9e9b6169a098bc19986e44fbbf65e4c29031e4bd", }, "win": { "v8/third_party/cygwin": diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 97612655a7..baa3b52ca6 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -44,10 +44,6 @@ endif ifdef component GYPFLAGS += -Dcomponent=$(component) endif -# console=readline -ifdef console - GYPFLAGS += -Dconsole=$(console) -endif # disassembler=on ifeq ($(disassembler), on) GYPFLAGS += -Dv8_enable_disassembler=1 @@ -162,7 +158,9 @@ endif ifdef embedscript GYPFLAGS += -Dembed_script=$(embedscript) endif - +ifeq ($(goma), on) + GYPFLAGS += -Duse_goma=1 +endif # arm specific flags. # arm_version= ifneq ($(strip $(arm_version)),) @@ -218,6 +216,12 @@ ifeq ($(arm_test_noprobe), on) GYPFLAGS += -Darm_test_noprobe=on endif +# Optionally enable wasm prototype. +# Assume you've placed a link to v8-native-prototype in third_party/wasm. +ifeq ($(wasm), on) + GYPFLAGS += -Dv8_wasm=1 +endif + # ----------------- available targets: -------------------- # - "grokdump": rebuilds heap constants lists used by grokdump # - any arch listed in ARCHES (see below) diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index d6db77ffe0..2c5caeb125 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -1,21 +1,21 @@ adamk@chromium.org -arv@chromium.org bmeurer@chromium.org danno@chromium.org -dcarney@chromium.org -dslomov@chromium.org +epertoso@chromium.org +hablich@chromium.org hpayer@chromium.org ishell@chromium.org jarin@chromium.org jkummerow@chromium.org jochen@chromium.org +littledan@chromium.org machenbach@chromium.org +mlippautz@chromium.org marja@chromium.org mstarzinger@chromium.org mvstanton@chromium.org rmcilroy@chromium.org rossberg@chromium.org -svenpanne@chromium.org titzer@chromium.org ulan@chromium.org verwaest@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 34e09b8ec5..1bcd9922c5 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -141,6 +141,39 @@ def _CheckUnwantedDependencies(input_api, output_api): return results +def _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api): + """Attempts to prevent inclusion of inline headers into normal header + files. This tries to establish a layering where inline headers can be + included by other inline headers or compilation units only.""" + file_inclusion_pattern = r'(?!.+-inl\.h).+\.h' + include_directive_pattern = input_api.re.compile(r'#include ".+-inl.h"') + include_warning = ( + 'You might be including an inline header (e.g. foo-inl.h) within a\n' + 'normal header (e.g. bar.h) file. Can you avoid introducing the\n' + '#include? The commit queue will not block on this warning.') + + def FilterFile(affected_file): + black_list = (_EXCLUDED_PATHS + + input_api.DEFAULT_BLACK_LIST) + return input_api.FilterSourceFile( + affected_file, + white_list=(file_inclusion_pattern, ), + black_list=black_list) + + problems = [] + for f in input_api.AffectedSourceFiles(FilterFile): + local_path = f.LocalPath() + for line_number, line in f.ChangedContents(): + if (include_directive_pattern.search(line)): + problems.append( + '%s:%d\n %s' % (local_path, line_number, line.strip())) + + if problems: + return [output_api.PresubmitPromptOrNotify(include_warning, problems)] + else: + return [] + + def _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api): """Attempts to prevent use of functions intended only for testing in non-testing code. For now this is just a best-effort implementation @@ -195,6 +228,8 @@ def _CommonChecks(input_api, output_api): results.extend(_CheckUnwantedDependencies(input_api, output_api)) results.extend( _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) + results.extend( + _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api)) return results @@ -209,28 +244,32 @@ def _SkipTreeCheck(input_api, output_api): return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip' -def _CheckChangeLogFlag(input_api, output_api): +def _CheckChangeLogFlag(input_api, output_api, warn): """Checks usage of LOG= flag in the commit message.""" results = [] - if input_api.change.BUG and not 'LOG' in input_api.change.tags: - results.append(output_api.PresubmitError( - 'An issue reference (BUG=) requires a change log flag (LOG=). ' - 'Use LOG=Y for including this commit message in the change log. ' - 'Use LOG=N or leave blank otherwise.')) + if (input_api.change.BUG and input_api.change.BUG != 'none' and + not 'LOG' in input_api.change.tags): + text = ('An issue reference (BUG=) requires a change log flag (LOG=). ' + 'Use LOG=Y for including this commit message in the change log. ' + 'Use LOG=N or leave blank otherwise.') + if warn: + results.append(output_api.PresubmitPromptWarning(text)) + else: + results.append(output_api.PresubmitError(text)) return results def CheckChangeOnUpload(input_api, output_api): results = [] results.extend(_CommonChecks(input_api, output_api)) - results.extend(_CheckChangeLogFlag(input_api, output_api)) + results.extend(_CheckChangeLogFlag(input_api, output_api, True)) return results def CheckChangeOnCommit(input_api, output_api): results = [] results.extend(_CommonChecks(input_api, output_api)) - results.extend(_CheckChangeLogFlag(input_api, output_api)) + results.extend(_CheckChangeLogFlag(input_api, output_api, False)) results.extend(input_api.canned_checks.CheckChangeHasDescription( input_api, output_api)) if not _SkipTreeCheck(input_api, output_api): diff --git a/deps/v8/WATCHLISTS b/deps/v8/WATCHLISTS index 64771bc27d..f57dfa1402 100644 --- a/deps/v8/WATCHLISTS +++ b/deps/v8/WATCHLISTS @@ -40,7 +40,7 @@ 'filepath': 'src/snapshot/', }, 'debugger': { - 'filepath': 'src/debug\.(cc|h)|src/.*-debugger\.js|src/runtime/runtime-debug\.cc', + 'filepath': 'src/debug/', }, }, diff --git a/deps/v8/build/download_gold_plugin.py b/deps/v8/build/download_gold_plugin.py new file mode 100755 index 0000000000..7a0c21b8d7 --- /dev/null +++ b/deps/v8/build/download_gold_plugin.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# Copyright 2015 the V8 project authors. All rights reserved. +# Copyright 2015 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Script to download LLVM gold plugin from google storage.""" + +import json +import os +import shutil +import subprocess +import sys +import zipfile + +SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) +CHROME_SRC = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir)) +sys.path.insert(0, os.path.join(CHROME_SRC, 'tools')) + +import find_depot_tools + +DEPOT_PATH = find_depot_tools.add_depot_tools_to_path() +GSUTIL_PATH = os.path.join(DEPOT_PATH, 'gsutil.py') + +LLVM_BUILD_PATH = os.path.join(CHROME_SRC, 'third_party', 'llvm-build', + 'Release+Asserts') +CLANG_UPDATE_PY = os.path.join(CHROME_SRC, 'tools', 'clang', 'scripts', + 'update.py') +CLANG_REVISION = os.popen(CLANG_UPDATE_PY + ' --print-revision').read().rstrip() + +CLANG_BUCKET = 'gs://chromium-browser-clang/Linux_x64' + +def main(): + targz_name = 'llvmgold-%s.tgz' % CLANG_REVISION + remote_path = '%s/%s' % (CLANG_BUCKET, targz_name) + + os.chdir(LLVM_BUILD_PATH) + + # TODO(pcc): Fix gsutil.py cp url file < /dev/null 2>&0 + # (currently aborts with exit code 1, + # https://github.com/GoogleCloudPlatform/gsutil/issues/289) or change the + # stdin->stderr redirect in update.py to do something else (crbug.com/494442). + subprocess.check_call(['python', GSUTIL_PATH, + 'cp', remote_path, targz_name], + stderr=open('/dev/null', 'w')) + subprocess.check_call(['tar', 'xzf', targz_name]) + os.remove(targz_name) + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/deps/v8/build/features.gypi b/deps/v8/build/features.gypi index 59d15134dd..21e55740ae 100644 --- a/deps/v8/build/features.gypi +++ b/deps/v8/build/features.gypi @@ -64,6 +64,9 @@ # Set to 1 to enable DCHECKs in release builds. 'dcheck_always_on%': 0, + + # Set to 1 to enable building with wasm prototype. + 'v8_wasm%': 0, }, 'target_defaults': { 'conditions': [ @@ -103,6 +106,9 @@ ['dcheck_always_on!=0', { 'defines': ['DEBUG',], }], + ['v8_wasm!=0', { + 'defines': ['V8_WASM',], + }], ], # conditions 'configurations': { 'DebugBaseCommon': { diff --git a/deps/v8/build/get_landmines.py b/deps/v8/build/get_landmines.py index 298010f824..434b980c6d 100755 --- a/deps/v8/build/get_landmines.py +++ b/deps/v8/build/get_landmines.py @@ -23,6 +23,7 @@ def main(): print 'Clobber after ICU roll.' print 'Moar clobbering...' print 'Remove build/android.gypi' + print 'Cleanup after windows ninja switch attempt.' return 0 diff --git a/deps/v8/build/standalone.gypi b/deps/v8/build/standalone.gypi index 2cd0b51d43..bf06bfa20f 100644 --- a/deps/v8/build/standalone.gypi +++ b/deps/v8/build/standalone.gypi @@ -88,6 +88,13 @@ 'clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts', + 'use_lto%': 0, + + # Control Flow Integrity for virtual calls and casts. + # See http://clang.llvm.org/docs/ControlFlowIntegrity.html + 'cfi_vptr%': 0, + 'cfi_diag%': 0, + # goma settings. # 1 to use goma. # If no gomadir is set, it uses the default gomadir. @@ -105,6 +112,16 @@ }, { 'host_clang%': '0', }], + # linux_use_bundled_gold: whether to use the gold linker binary checked + # into third_party/binutils. Force this off via GYP_DEFINES when you + # are using a custom toolchain and need to control -B in ldflags. + # Do not use 32-bit gold on 32-bit hosts as it runs out address space + # for component=static_library builds. + ['(OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch=="arm" or (target_arch=="ia32" and host_arch=="x64"))', { + 'linux_use_bundled_gold%': 1, + }, { + 'linux_use_bundled_gold%': 0, + }], ], }, 'base_dir%': '<(base_dir)', @@ -122,6 +139,10 @@ 'tsan%': '<(tsan)', 'sanitizer_coverage%': '<(sanitizer_coverage)', 'use_custom_libcxx%': '<(use_custom_libcxx)', + 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)', + 'use_lto%': '<(use_lto)', + 'cfi_vptr%': '<(cfi_vptr)', + 'cfi_diag%': '<(cfi_diag)', # Add a simple extra solely for the purpose of the cctests 'v8_extra_library_files': ['../test/cctest/test-extra.js'], @@ -148,7 +169,7 @@ # the JS builtins sources and the start snapshot. # Embedders that don't use standalone.gypi will need to add # their own default value. - 'v8_use_external_startup_data%': 0, + 'v8_use_external_startup_data%': 1, # Relative path to icu.gyp from this file. 'icu_gyp_path': '../third_party/icu/icu.gyp', @@ -179,8 +200,8 @@ }], ], }], - ['(v8_target_arch=="ia32" or v8_target_arch=="x64" or v8_target_arch=="x87") and \ - (OS=="linux" or OS=="mac")', { + ['((v8_target_arch=="ia32" or v8_target_arch=="x64" or v8_target_arch=="x87") and \ + (OS=="linux" or OS=="mac")) or (v8_target_arch=="ppc64" and OS=="linux")', { 'v8_enable_gdbjit%': 1, }, { 'v8_enable_gdbjit%': 0, @@ -207,10 +228,8 @@ # the C++ standard library is used. 'use_custom_libcxx%': 1, }], - ['OS=="linux"', { - # Gradually roll out v8_use_external_startup_data. - # Should eventually be default enabled on all platforms. - 'v8_use_external_startup_data%': 1, + ['cfi_vptr==1', { + 'use_lto%': 1, }], ['OS=="android"', { # Location of Android NDK. @@ -358,6 +377,19 @@ 'Release': { 'cflags+': ['<@(release_extra_cflags)'], }, + 'conditions': [ + ['OS=="win"', { + 'Optdebug_x64': { + 'inherit_from': ['Optdebug'], + }, + 'Debug_x64': { + 'inherit_from': ['Debug'], + }, + 'Release_x64': { + 'inherit_from': ['Release'], + }, + }], + ], }, 'conditions':[ ['(clang==1 or host_clang==1) and OS!="win"', { @@ -522,6 +554,21 @@ }], ], }], + ['linux_use_bundled_gold==1 and not (clang==0 and use_lto==1)', { + # Put our binutils, which contains gold in the search path. We pass + # the path to gold to the compiler. gyp leaves unspecified what the + # cwd is when running the compiler, so the normal gyp path-munging + # fails us. This hack gets the right path. + # + # Disabled when using GCC LTO because GCC also uses the -B search + # path at link time to find "as", and our bundled "as" can only + # target x86. + 'ldflags': [ + # Note, Chromium allows ia32 host arch as well, we limit this to + # x64 in v8. + '-B<(base_dir)/third_party/binutils/Linux_x64/Release/bin', + ], + }], ], }, }], @@ -658,7 +705,85 @@ }], ], 'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'], - 'msvs_disabled_warnings': [4355, 4800], + 'msvs_disabled_warnings': [ + # C4091: 'typedef ': ignored on left of 'X' when no variable is + # declared. + # This happens in a number of Windows headers. Dumb. + 4091, + + # C4127: conditional expression is constant + # This warning can in theory catch dead code and other problems, but + # triggers in far too many desirable cases where the conditional + # expression is either set by macros or corresponds some legitimate + # compile-time constant expression (due to constant template args, + # conditionals comparing the sizes of different types, etc.). Some of + # these can be worked around, but it's not worth it. + 4127, + + # C4351: new behavior: elements of array 'array' will be default + # initialized + # This is a silly "warning" that basically just alerts you that the + # compiler is going to actually follow the language spec like it's + # supposed to, instead of not following it like old buggy versions + # did. There's absolutely no reason to turn this on. + 4351, + + # C4355: 'this': used in base member initializer list + # It's commonly useful to pass |this| to objects in a class' + # initializer list. While this warning can catch real bugs, most of + # the time the constructors in question don't attempt to call methods + # on the passed-in pointer (until later), and annotating every legit + # usage of this is simply more hassle than the warning is worth. + 4355, + + # C4503: 'identifier': decorated name length exceeded, name was + # truncated + # This only means that some long error messages might have truncated + # identifiers in the presence of lots of templates. It has no effect + # on program correctness and there's no real reason to waste time + # trying to prevent it. + 4503, + + # Warning C4589 says: "Constructor of abstract class ignores + # initializer for virtual base class." Disable this warning because it + # is flaky in VS 2015 RTM. It triggers on compiler generated + # copy-constructors in some cases. + 4589, + + # C4611: interaction between 'function' and C++ object destruction is + # non-portable + # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN + # suggests using exceptions instead of setjmp/longjmp for C++, but + # Chromium code compiles without exception support. We therefore have + # to use setjmp/longjmp for e.g. JPEG decode error handling, which + # means we have to turn off this warning (and be careful about how + # object destruction happens in such cases). + 4611, + + # TODO(jochen): These warnings are level 4. They will be slowly + # removed as code is fixed. + 4100, # Unreferenced formal parameter + 4121, # Alignment of a member was sensitive to packing + 4244, # Conversion from 'type1' to 'type2', possible loss of data + 4302, # Truncation from 'type 1' to 'type 2' + 4309, # Truncation of constant value + 4311, # Pointer truncation from 'type' to 'type' + 4312, # Conversion from 'type1' to 'type2' of greater size + 4481, # Nonstandard extension used: override specifier 'keyword' + 4505, # Unreferenced local function has been removed + 4510, # Default constructor could not be generated + 4512, # Assignment operator could not be generated + 4610, # Object can never be instantiated + 4800, # Forcing value to bool. + 4838, # Narrowing conversion. Doesn't seem to be very useful. + 4995, # 'X': name was marked as #pragma deprecated + 4996, # 'X': was declared deprecated (for GetVersionEx). + + # These are variable shadowing warnings that are new in VS2015. We + # should work through these at some point -- they may be removed from + # the RTM release in the /W4 set. + 4456, 4457, 4458, 4459, + ], 'msvs_settings': { 'VCCLCompilerTool': { 'MinimalRebuild': 'false', @@ -774,6 +899,12 @@ 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', 'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++0x', # -std=gnu++0x }, + 'conditions': [ + ['v8_target_arch=="x64" or v8_target_arch=="arm64" \ + or v8_target_arch=="mips64el"', { + 'xcode_settings': {'WARNING_CFLAGS': ['-Wshorten-64-to-32']}, + }], + ], }], ], 'target_conditions': [ @@ -1047,5 +1178,100 @@ ['CXX.host_wrapper', '<(gomadir)/gomacc'], ], }], + ['use_lto==1', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'cflags': [ + '-flto', + ], + }], + ], + }, + }], + ['use_lto==1 and clang==0', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'cflags': [ + '-ffat-lto-objects', + ], + }], + ], + }, + }], + ['use_lto==1 and clang==1', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'arflags': [ + '--plugin', '<(clang_dir)/lib/LLVMgold.so', + ], + # Apply a lower optimization level with lto. Chromium does this + # for non-official builds only - a differentiation that doesn't + # exist in v8. + 'ldflags': [ + '-Wl,--plugin-opt,O1', + ], + }], + ], + }, + }], + ['use_lto==1 and clang==0', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'ldflags': [ + '-flto=32', + ], + }], + ], + }, + }], + ['use_lto==1 and clang==1', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'ldflags': [ + '-flto', + ], + }], + ], + }, + }], + ['cfi_diag==1', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'cflags': [ + '-fno-sanitize-trap=cfi', + '-fsanitize-recover=cfi', + ], + 'ldflags': [ + '-fno-sanitize-trap=cfi', + '-fsanitize-recover=cfi', + ], + }], + ], + }, + }], + ['cfi_vptr==1', { + 'target_defaults': { + 'target_conditions': [ + ['_toolset=="target"', { + 'cflags': [ + '-fsanitize=cfi-vcall', + '-fsanitize=cfi-derived-cast', + '-fsanitize=cfi-unrelated-cast', + ], + 'ldflags': [ + '-fsanitize=cfi-vcall', + '-fsanitize=cfi-derived-cast', + '-fsanitize=cfi-unrelated-cast', + ], + }], + ], + }, + }], ], } diff --git a/deps/v8/build/toolchain.gypi b/deps/v8/build/toolchain.gypi index 4dbf42bfe3..a8a3b56ec2 100644 --- a/deps/v8/build/toolchain.gypi +++ b/deps/v8/build/toolchain.gypi @@ -1149,7 +1149,9 @@ }], ], }], - ['linux_use_gold_flags==1', { + # TODO(pcc): Re-enable in LTO builds once we've fixed the intermittent + # link failures (crbug.com/513074). + ['linux_use_gold_flags==1 and use_lto==0', { 'target_conditions': [ ['_toolset=="target"', { 'ldflags': [ diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index be9e5c0c6b..c6cba0f982 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -19,6 +19,20 @@ class Task { virtual void Run() = 0; }; + +/** +* An IdleTask represents a unit of work to be performed in idle time. +* The Run method is invoked with an argument that specifies the deadline in +* seconds returned by MonotonicallyIncreasingTime(). +* The idle task is expected to complete by this deadline. +*/ +class IdleTask { + public: + virtual ~IdleTask() {} + virtual void Run(double deadline_in_seconds) = 0; +}; + + /** * V8 Platform abstraction layer. * @@ -63,8 +77,26 @@ class Platform { * scheduling. The definition of "foreground" is opaque to V8. */ virtual void CallDelayedOnForegroundThread(Isolate* isolate, Task* task, - double delay_in_seconds) { + double delay_in_seconds) = 0; + + /** + * Schedules a task to be invoked on a foreground thread wrt a specific + * |isolate| when the embedder is idle. + * Requires that SupportsIdleTasks(isolate) is true. + * Idle tasks may be reordered relative to other task types and may be + * starved for an arbitrarily long time if no idle time is available. + * The definition of "foreground" is opaque to V8. + */ + virtual void CallIdleOnForegroundThread(Isolate* isolate, IdleTask* task) { + // TODO(ulan): Make this function abstract after V8 roll in Chromium. + } + + /** + * Returns true if idle tasks are enabled for the given |isolate|. + */ + virtual bool IdleTasksEnabled(Isolate* isolate) { // TODO(ulan): Make this function abstract after V8 roll in Chromium. + return false; } /** diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 6454a19b7e..c996c9997d 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -133,6 +133,8 @@ class DefaultGlobalMapTraits : public StdMapTraits { return K(); } static void DisposeCallbackData(WeakCallbackDataType* data) {} + static void OnWeakCallback( + const WeakCallbackInfo& data) {} static void Dispose(Isolate* isolate, Global value, K key) {} // This is a second pass callback, so SetSecondPassCallback cannot be called. static void DisposeWeak(const WeakCallbackInfo& data) {} @@ -452,7 +454,7 @@ class GlobalValueMap : public PersistentValueMapBase { : WeakCallbackType::kParameter; Local value(Local::New(this->isolate(), *persistent)); persistent->template SetWeak( - Traits::WeakCallbackParameter(this, key, value), FirstWeakCallback, + Traits::WeakCallbackParameter(this, key, value), OnWeakCallback, callback_type); } PersistentContainerValue old_value = @@ -471,12 +473,13 @@ class GlobalValueMap : public PersistentValueMapBase { } private: - static void FirstWeakCallback( + static void OnWeakCallback( const WeakCallbackInfo& data) { if (Traits::kCallbackType != kNotWeak) { auto map = Traits::MapFromWeakCallbackInfo(data); K key = Traits::KeyFromWeakCallbackInfo(data); map->RemoveWeak(key); + Traits::OnWeakCallback(data); data.SetSecondPassCallback(SecondWeakCallback); } } diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 98dca238c8..85a2ced31e 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 5 -#define V8_BUILD_NUMBER 103 -#define V8_PATCH_LEVEL 35 +#define V8_MINOR_VERSION 6 +#define V8_BUILD_NUMBER 85 +#define V8_PATCH_LEVEL 23 // 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 062dd5f21f..9a577765b4 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -509,6 +509,10 @@ template class PersistentBase { V8_INLINE bool IsEmpty() const { return val_ == NULL; } V8_INLINE void Empty() { val_ = 0; } + V8_INLINE Local Get(Isolate* isolate) const { + return Local::New(isolate, *this); + } + template V8_INLINE bool operator==(const PersistentBase& that) const { internal::Object** a = reinterpret_cast(this->val_); @@ -634,8 +638,8 @@ template class PersistentBase { friend class Object; explicit V8_INLINE PersistentBase(T* val) : val_(val) {} - PersistentBase(PersistentBase& other) = delete; // NOLINT - void operator=(PersistentBase&) = delete; + PersistentBase(const PersistentBase& other) = delete; // NOLINT + void operator=(const PersistentBase&) = delete; V8_INLINE static T* New(Isolate* isolate, T* that); T* val_; @@ -841,8 +845,8 @@ class Global : public PersistentBase { private: template friend class ReturnValue; - Global(Global&) = delete; - void operator=(Global&) = delete; + Global(const Global&) = delete; + void operator=(const Global&) = delete; V8_INLINE T* operator*() const { return this->val_; } }; @@ -1110,11 +1114,6 @@ class V8_EXPORT Script { * Returns the corresponding context-unbound script. */ Local GetUnboundScript(); - - V8_DEPRECATED("Use GetUnboundScript()->GetId()", - int GetId()) { - return GetUnboundScript()->GetId(); - } }; @@ -1386,15 +1385,13 @@ class V8_EXPORT ScriptCompiler { /** * Compile an ES6 module. * - * This is an experimental feature. + * This is an unfinished experimental feature, and is only exposed + * here for internal testing purposes. + * Only parsing works at the moment. Do not use. * * TODO(adamk): Script is likely the wrong return value for this; * should return some new Module type. */ - static V8_DEPRECATE_SOON( - "Use maybe version", - Local