From 069e02ab47656b3efd1b6829c65856b2e1c2d1db Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Tue, 1 Mar 2016 08:58:05 -0800 Subject: [PATCH] deps: upgrade to V8 4.9.385.18 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pick up the current branch head for V8 4.9 https://github.com/v8/v8/commit/1ecba0f PR-URL: https://github.com/nodejs/node/pull/4722 Reviewed-By: Ben Noordhuis Reviewed-By: MichaĆ«l Zasso --- deps/v8/.gitignore | 2 + deps/v8/AUTHORS | 5 +- deps/v8/BUILD.gn | 214 +- deps/v8/ChangeLog | 2238 ++++ deps/v8/DEPS | 16 +- deps/v8/Makefile | 9 +- deps/v8/PRESUBMIT.py | 28 +- deps/v8/README.md | 4 +- deps/v8/WATCHLISTS | 14 + deps/v8/build/all.gyp | 2 + deps/v8/build/features.gypi | 9 - deps/v8/build/get_landmines.py | 1 + deps/v8/build/standalone.gypi | 56 +- deps/v8/build/toolchain.gypi | 125 +- deps/v8/docs/README.md | 2 + .../docs/arm_debugging_with_the_simulator.md | 205 - deps/v8/docs/becoming_v8_committer.md | 40 - deps/v8/docs/building_with_gyp.md | 260 - deps/v8/docs/contributing.md | 32 - deps/v8/docs/cross_compiling_for_arm.md | 151 - deps/v8/docs/d8_on_android.md | 101 - deps/v8/docs/debugger_protocol.md | 934 -- deps/v8/docs/gdb_jit_interface.md | 63 - deps/v8/docs/handling_of_ports.md | 24 - deps/v8/docs/i18n_support.md | 44 - deps/v8/docs/javascript.md | 6 - deps/v8/docs/javascript_stack_trace_api.md | 161 - deps/v8/docs/merging_and_patching.md | 67 - deps/v8/docs/profiling_chromium_with_v8.md | 34 - deps/v8/docs/release_process.md | 57 - deps/v8/docs/runtime_functions.md | 7 - deps/v8/docs/source.md | 41 - deps/v8/docs/testing.md | 58 - deps/v8/docs/triaging_issues.md | 22 - deps/v8/docs/using_git.md | 147 - deps/v8/docs/v8_c_plus_plus_styleand_sops.md | 3 - deps/v8/docs/v8_committers_responsibility.md | 39 - deps/v8/docs/v8_profiler.md | 141 - deps/v8/include/v8-debug.h | 28 +- deps/v8/include/v8-experimental.h | 53 + deps/v8/include/v8-platform.h | 47 + deps/v8/include/v8-testing.h | 2 +- deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 417 +- deps/v8/include/v8config.h | 3 - deps/v8/infra/config/cq.cfg | 37 +- deps/v8/samples/samples.gyp | 4 - deps/v8/snapshot_toolchain.gni | 4 +- deps/v8/src/DEPS | 6 + deps/v8/src/OWNERS | 2 + deps/v8/src/accessors.cc | 11 +- deps/v8/src/allocation-site-scopes.h | 2 +- deps/v8/src/api-experimental.cc | 126 + deps/v8/src/api-experimental.h | 28 + deps/v8/src/api-natives.cc | 14 +- deps/v8/src/api.cc | 774 +- deps/v8/src/api.h | 14 +- deps/v8/src/arm/assembler-arm-inl.h | 23 +- deps/v8/src/arm/assembler-arm.cc | 96 +- deps/v8/src/arm/assembler-arm.h | 26 +- deps/v8/src/arm/builtins-arm.cc | 1724 ++-- deps/v8/src/arm/code-stubs-arm.cc | 379 +- deps/v8/src/arm/code-stubs-arm.h | 5 +- deps/v8/src/arm/codegen-arm.cc | 65 +- deps/v8/src/arm/codegen-arm.h | 2 +- deps/v8/src/arm/deoptimizer-arm.cc | 7 +- deps/v8/src/arm/disasm-arm.cc | 8 +- deps/v8/src/arm/interface-descriptors-arm.cc | 59 +- deps/v8/src/arm/macro-assembler-arm.cc | 510 +- deps/v8/src/arm/macro-assembler-arm.h | 131 +- deps/v8/src/arm/simulator-arm.cc | 124 +- deps/v8/src/arm/simulator-arm.h | 44 +- deps/v8/src/arm64/assembler-arm64-inl.h | 24 +- deps/v8/src/arm64/assembler-arm64.cc | 34 +- deps/v8/src/arm64/assembler-arm64.h | 30 +- deps/v8/src/arm64/builtins-arm64.cc | 1817 ++-- deps/v8/src/arm64/code-stubs-arm64.cc | 435 +- deps/v8/src/arm64/code-stubs-arm64.h | 1 + deps/v8/src/arm64/codegen-arm64.cc | 32 +- deps/v8/src/arm64/codegen-arm64.h | 2 +- deps/v8/src/arm64/constants-arm64.h | 8 +- deps/v8/src/arm64/deoptimizer-arm64.cc | 3 +- deps/v8/src/arm64/instructions-arm64.cc | 15 +- deps/v8/src/arm64/instructions-arm64.h | 7 +- .../src/arm64/interface-descriptors-arm64.cc | 67 +- deps/v8/src/arm64/macro-assembler-arm64-inl.h | 34 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 605 +- deps/v8/src/arm64/macro-assembler-arm64.h | 167 +- deps/v8/src/arm64/simulator-arm64.cc | 25 +- deps/v8/src/arm64/simulator-arm64.h | 46 +- deps/v8/src/assembler.cc | 68 +- deps/v8/src/assembler.h | 74 +- deps/v8/src/ast/OWNERS | 7 + deps/v8/src/ast/ast-expression-rewriter.cc | 409 + deps/v8/src/ast/ast-expression-rewriter.h | 54 + .../src/{ => ast}/ast-expression-visitor.cc | 25 +- .../v8/src/{ => ast}/ast-expression-visitor.h | 10 +- .../v8/src/{ => ast}/ast-literal-reindexer.cc | 12 +- deps/v8/src/{ => ast}/ast-literal-reindexer.h | 11 +- deps/v8/src/{ => ast}/ast-numbering.cc | 27 +- deps/v8/src/{ => ast}/ast-numbering.h | 6 +- deps/v8/src/{ => ast}/ast-value-factory.cc | 2 +- deps/v8/src/{ => ast}/ast-value-factory.h | 21 +- deps/v8/src/{ => ast}/ast.cc | 369 +- deps/v8/src/{ => ast}/ast.h | 762 +- deps/v8/src/{ => ast}/modules.cc | 4 +- deps/v8/src/{ => ast}/modules.h | 6 +- deps/v8/src/{ => ast}/prettyprinter.cc | 104 +- deps/v8/src/{ => ast}/prettyprinter.h | 13 +- deps/v8/src/{ => ast}/scopeinfo.cc | 10 +- deps/v8/src/{ => ast}/scopeinfo.h | 10 +- deps/v8/src/{ => ast}/scopes.cc | 110 +- deps/v8/src/{ => ast}/scopes.h | 37 +- deps/v8/src/{ => ast}/variables.cc | 6 +- deps/v8/src/{ => ast}/variables.h | 12 +- deps/v8/src/atomic-utils.h | 7 +- deps/v8/src/background-parsing-task.h | 2 +- deps/v8/src/bailout-reason.h | 5 + deps/v8/src/base.isolate | 18 +- deps/v8/src/base/bits.h | 20 + deps/v8/src/base/build_config.h | 28 +- deps/v8/src/base/flags.h | 23 +- deps/v8/src/base/macros.h | 90 +- .../src/base/utils/random-number-generator.cc | 34 +- .../src/base/utils/random-number-generator.h | 40 +- deps/v8/src/bit-vector.cc | 1 - deps/v8/src/bootstrapper.cc | 1064 +- deps/v8/src/bootstrapper.h | 4 - deps/v8/src/builtins.cc | 2138 +++- deps/v8/src/builtins.h | 401 +- deps/v8/src/cancelable-task.cc | 105 +- deps/v8/src/cancelable-task.h | 110 +- deps/v8/src/code-factory.cc | 75 +- deps/v8/src/code-factory.h | 12 +- deps/v8/src/code-stubs-hydrogen.cc | 151 +- deps/v8/src/code-stubs.cc | 95 +- deps/v8/src/code-stubs.h | 220 +- deps/v8/src/codegen.cc | 62 +- deps/v8/src/codegen.h | 19 +- deps/v8/src/compilation-dependencies.cc | 15 + deps/v8/src/compilation-dependencies.h | 3 + deps/v8/src/compiler.cc | 219 +- deps/v8/src/compiler.h | 33 +- deps/v8/src/compiler/access-builder.cc | 226 +- deps/v8/src/compiler/access-builder.h | 42 +- deps/v8/src/compiler/access-info.cc | 117 +- deps/v8/src/compiler/access-info.h | 28 +- .../v8/src/compiler/arm/code-generator-arm.cc | 90 +- .../src/compiler/arm/instruction-codes-arm.h | 5 + .../compiler/arm/instruction-scheduler-arm.cc | 129 + .../compiler/arm/instruction-selector-arm.cc | 157 +- .../compiler/arm64/code-generator-arm64.cc | 220 +- .../compiler/arm64/instruction-codes-arm64.h | 15 +- .../arm64/instruction-scheduler-arm64.cc | 224 + .../arm64/instruction-selector-arm64.cc | 291 +- deps/v8/src/compiler/ast-graph-builder.cc | 367 +- deps/v8/src/compiler/ast-graph-builder.h | 33 +- .../compiler/ast-loop-assignment-analyzer.cc | 12 +- .../compiler/ast-loop-assignment-analyzer.h | 6 +- .../src/compiler/basic-block-instrumentor.cc | 9 +- .../src/compiler/binary-operator-reducer.cc | 128 - .../v8/src/compiler/binary-operator-reducer.h | 52 - .../src/compiler/bytecode-branch-analysis.cc | 125 + .../src/compiler/bytecode-branch-analysis.h | 79 + .../v8/src/compiler/bytecode-graph-builder.cc | 1401 ++- deps/v8/src/compiler/bytecode-graph-builder.h | 194 +- deps/v8/src/compiler/c-linkage.cc | 2 +- deps/v8/src/compiler/change-lowering.cc | 208 +- deps/v8/src/compiler/change-lowering.h | 8 + deps/v8/src/compiler/coalesced-live-ranges.cc | 2 +- deps/v8/src/compiler/coalesced-live-ranges.h | 2 +- deps/v8/src/compiler/code-generator-impl.h | 3 + deps/v8/src/compiler/code-generator.cc | 199 +- deps/v8/src/compiler/code-generator.h | 50 +- deps/v8/src/compiler/code-stub-assembler.cc | 176 + deps/v8/src/compiler/code-stub-assembler.h | 96 + deps/v8/src/compiler/common-node-cache.cc | 6 + deps/v8/src/compiler/common-node-cache.h | 8 +- .../src/compiler/common-operator-reducer.cc | 2 + deps/v8/src/compiler/common-operator.cc | 170 +- deps/v8/src/compiler/common-operator.h | 30 +- deps/v8/src/compiler/control-builders.h | 30 +- deps/v8/src/compiler/control-equivalence.cc | 4 +- deps/v8/src/compiler/diamond.h | 4 +- .../src/compiler/escape-analysis-reducer.cc | 313 + .../v8/src/compiler/escape-analysis-reducer.h | 63 + deps/v8/src/compiler/escape-analysis.cc | 1471 +++ deps/v8/src/compiler/escape-analysis.h | 169 + .../src/compiler/fast-accessor-assembler.cc | 220 + .../v8/src/compiler/fast-accessor-assembler.h | 106 + deps/v8/src/compiler/frame-elider.cc | 3 +- deps/v8/src/compiler/frame-states.cc | 9 +- deps/v8/src/compiler/frame-states.h | 11 +- deps/v8/src/compiler/frame.cc | 40 +- deps/v8/src/compiler/frame.h | 190 +- deps/v8/src/compiler/graph-reducer.h | 5 +- deps/v8/src/compiler/graph-visualizer.cc | 208 +- deps/v8/src/compiler/graph-visualizer.h | 13 +- deps/v8/src/compiler/graph.h | 3 - .../src/compiler/ia32/code-generator-ia32.cc | 153 +- .../compiler/ia32/instruction-codes-ia32.h | 3 + .../ia32/instruction-scheduler-ia32.cc | 135 + .../ia32/instruction-selector-ia32.cc | 218 +- deps/v8/src/compiler/instruction-codes.h | 69 +- deps/v8/src/compiler/instruction-scheduler.cc | 280 + deps/v8/src/compiler/instruction-scheduler.h | 162 + .../src/compiler/instruction-selector-impl.h | 65 +- deps/v8/src/compiler/instruction-selector.cc | 436 +- deps/v8/src/compiler/instruction-selector.h | 75 +- deps/v8/src/compiler/instruction.cc | 173 +- deps/v8/src/compiler/instruction.h | 223 +- deps/v8/src/compiler/interpreter-assembler.cc | 286 +- deps/v8/src/compiler/interpreter-assembler.h | 38 +- deps/v8/src/compiler/js-builtin-reducer.cc | 45 +- deps/v8/src/compiler/js-builtin-reducer.h | 2 - deps/v8/src/compiler/js-call-reducer.cc | 557 + deps/v8/src/compiler/js-call-reducer.h | 67 + .../src/compiler/js-context-specialization.cc | 23 +- .../src/compiler/js-frame-specialization.cc | 39 +- deps/v8/src/compiler/js-generic-lowering.cc | 246 +- .../js-global-object-specialization.cc | 54 +- .../js-global-object-specialization.h | 17 +- deps/v8/src/compiler/js-graph.cc | 50 +- deps/v8/src/compiler/js-graph.h | 1 - deps/v8/src/compiler/js-inlining-heuristic.cc | 40 +- deps/v8/src/compiler/js-inlining.cc | 243 +- deps/v8/src/compiler/js-inlining.h | 15 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 338 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 22 +- .../js-native-context-specialization.cc | 351 +- .../js-native-context-specialization.h | 24 +- deps/v8/src/compiler/js-operator.cc | 414 +- deps/v8/src/compiler/js-operator.h | 162 +- deps/v8/src/compiler/js-typed-lowering.cc | 1377 ++- deps/v8/src/compiler/js-typed-lowering.h | 20 +- deps/v8/src/compiler/linkage.cc | 235 +- deps/v8/src/compiler/linkage.h | 75 +- deps/v8/src/compiler/live-range-separator.cc | 52 +- deps/v8/src/compiler/live-range-separator.h | 5 + deps/v8/src/compiler/load-elimination.cc | 15 +- deps/v8/src/compiler/loop-analysis.h | 2 +- deps/v8/src/compiler/loop-peeling.cc | 5 +- .../src/compiler/machine-operator-reducer.cc | 45 +- deps/v8/src/compiler/machine-operator.cc | 138 +- deps/v8/src/compiler/machine-operator.h | 76 +- deps/v8/src/compiler/machine-type.cc | 46 - deps/v8/src/compiler/machine-type.h | 130 - deps/v8/src/compiler/mips/OWNERS | 1 + .../src/compiler/mips/code-generator-mips.cc | 332 +- .../compiler/mips/instruction-codes-mips.h | 16 + .../mips/instruction-scheduler-mips.cc | 26 + .../mips/instruction-selector-mips.cc | 337 +- deps/v8/src/compiler/mips64/OWNERS | 1 + .../compiler/mips64/code-generator-mips64.cc | 426 +- .../mips64/instruction-codes-mips64.h | 25 + .../mips64/instruction-scheduler-mips64.cc | 26 + .../mips64/instruction-selector-mips64.cc | 617 +- deps/v8/src/compiler/move-optimizer.cc | 149 +- deps/v8/src/compiler/move-optimizer.h | 11 +- deps/v8/src/compiler/node-cache.h | 3 +- deps/v8/src/compiler/node-matchers.h | 26 +- deps/v8/src/compiler/node-properties.cc | 105 + deps/v8/src/compiler/node-properties.h | 27 +- deps/v8/src/compiler/node.cc | 16 + deps/v8/src/compiler/node.h | 1 + deps/v8/src/compiler/opcodes.h | 57 +- deps/v8/src/compiler/operator-properties.cc | 10 +- deps/v8/src/compiler/operator.h | 61 +- deps/v8/src/compiler/osr.cc | 2 +- deps/v8/src/compiler/pipeline-statistics.cc | 6 +- deps/v8/src/compiler/pipeline-statistics.h | 4 +- deps/v8/src/compiler/pipeline.cc | 204 +- deps/v8/src/compiler/pipeline.h | 12 +- .../v8/src/compiler/ppc/code-generator-ppc.cc | 323 +- .../src/compiler/ppc/instruction-codes-ppc.h | 4 + .../compiler/ppc/instruction-scheduler-ppc.cc | 143 + .../compiler/ppc/instruction-selector-ppc.cc | 264 +- deps/v8/src/compiler/raw-machine-assembler.cc | 170 +- deps/v8/src/compiler/raw-machine-assembler.h | 170 +- .../compiler/register-allocator-verifier.cc | 27 +- .../compiler/register-allocator-verifier.h | 4 +- deps/v8/src/compiler/register-allocator.cc | 986 +- deps/v8/src/compiler/register-allocator.h | 107 +- deps/v8/src/compiler/representation-change.cc | 537 + deps/v8/src/compiler/representation-change.h | 499 +- deps/v8/src/compiler/schedule.cc | 14 +- deps/v8/src/compiler/schedule.h | 6 +- deps/v8/src/compiler/scheduler.cc | 96 +- deps/v8/src/compiler/select-lowering.cc | 2 +- deps/v8/src/compiler/simplified-lowering.cc | 1429 +-- deps/v8/src/compiler/simplified-lowering.h | 20 +- .../compiler/simplified-operator-reducer.cc | 19 + .../compiler/simplified-operator-reducer.h | 2 + deps/v8/src/compiler/simplified-operator.cc | 19 +- deps/v8/src/compiler/simplified-operator.h | 3 +- deps/v8/src/compiler/state-values-utils.cc | 2 +- deps/v8/src/compiler/type-hint-analyzer.cc | 98 + deps/v8/src/compiler/type-hint-analyzer.h | 51 + deps/v8/src/compiler/type-hints.cc | 83 + deps/v8/src/compiler/type-hints.h | 84 + deps/v8/src/compiler/typer.cc | 172 +- deps/v8/src/compiler/typer.h | 1 + deps/v8/src/compiler/verifier.cc | 48 +- deps/v8/src/compiler/wasm-compiler.cc | 2031 ++++ deps/v8/src/compiler/wasm-compiler.h | 190 + deps/v8/src/compiler/wasm-linkage.cc | 282 + .../v8/src/compiler/x64/code-generator-x64.cc | 263 +- .../src/compiler/x64/instruction-codes-x64.h | 7 + .../compiler/x64/instruction-scheduler-x64.cc | 182 + .../compiler/x64/instruction-selector-x64.cc | 306 +- .../v8/src/compiler/x87/code-generator-x87.cc | 323 +- .../src/compiler/x87/instruction-codes-x87.h | 1 + .../compiler/x87/instruction-scheduler-x87.cc | 26 + .../compiler/x87/instruction-selector-x87.cc | 255 +- deps/v8/src/compiler/zone-pool.h | 9 +- deps/v8/src/contexts-inl.h | 26 +- deps/v8/src/contexts.cc | 82 +- deps/v8/src/contexts.h | 106 +- deps/v8/src/conversions-inl.h | 3 +- deps/v8/src/conversions.cc | 5 +- deps/v8/src/counters.h | 6 +- deps/v8/src/crankshaft/arm/lithium-arm.cc | 40 +- deps/v8/src/crankshaft/arm/lithium-arm.h | 68 - .../src/crankshaft/arm/lithium-codegen-arm.cc | 264 +- .../src/crankshaft/arm/lithium-codegen-arm.h | 22 +- deps/v8/src/crankshaft/arm64/lithium-arm64.cc | 43 +- deps/v8/src/crankshaft/arm64/lithium-arm64.h | 78 +- .../crankshaft/arm64/lithium-codegen-arm64.cc | 273 +- .../crankshaft/arm64/lithium-codegen-arm64.h | 18 +- .../crankshaft/hydrogen-escape-analysis.cc | 3 + .../src/crankshaft/hydrogen-instructions.cc | 30 +- .../v8/src/crankshaft/hydrogen-instructions.h | 146 +- deps/v8/src/crankshaft/hydrogen-osr.h | 2 +- deps/v8/src/crankshaft/hydrogen.cc | 295 +- deps/v8/src/crankshaft/hydrogen.h | 13 +- .../crankshaft/ia32/lithium-codegen-ia32.cc | 261 +- .../crankshaft/ia32/lithium-codegen-ia32.h | 22 +- .../ia32/lithium-gap-resolver-ia32.cc | 4 +- deps/v8/src/crankshaft/ia32/lithium-ia32.cc | 42 +- deps/v8/src/crankshaft/ia32/lithium-ia32.h | 70 - deps/v8/src/crankshaft/lithium-codegen.cc | 68 +- deps/v8/src/crankshaft/lithium-codegen.h | 7 + deps/v8/src/crankshaft/lithium.cc | 54 +- deps/v8/src/crankshaft/lithium.h | 1 - deps/v8/src/crankshaft/mips/OWNERS | 1 + .../crankshaft/mips/lithium-codegen-mips.cc | 342 +- .../crankshaft/mips/lithium-codegen-mips.h | 22 +- deps/v8/src/crankshaft/mips/lithium-mips.cc | 40 +- deps/v8/src/crankshaft/mips/lithium-mips.h | 68 - deps/v8/src/crankshaft/mips64/OWNERS | 1 + .../mips64/lithium-codegen-mips64.cc | 280 +- .../mips64/lithium-codegen-mips64.h | 22 +- .../src/crankshaft/mips64/lithium-mips64.cc | 40 +- .../v8/src/crankshaft/mips64/lithium-mips64.h | 68 - .../src/crankshaft/ppc/lithium-codegen-ppc.cc | 270 +- .../src/crankshaft/ppc/lithium-codegen-ppc.h | 22 +- deps/v8/src/crankshaft/ppc/lithium-ppc.cc | 40 +- deps/v8/src/crankshaft/ppc/lithium-ppc.h | 64 - deps/v8/src/crankshaft/typing.cc | 47 +- deps/v8/src/crankshaft/typing.h | 4 +- .../src/crankshaft/x64/lithium-codegen-x64.cc | 272 +- .../src/crankshaft/x64/lithium-codegen-x64.h | 22 +- .../x64/lithium-gap-resolver-x64.cc | 4 +- deps/v8/src/crankshaft/x64/lithium-x64.cc | 39 +- deps/v8/src/crankshaft/x64/lithium-x64.h | 67 - .../src/crankshaft/x87/lithium-codegen-x87.cc | 325 +- .../src/crankshaft/x87/lithium-codegen-x87.h | 22 +- deps/v8/src/crankshaft/x87/lithium-x87.cc | 42 +- deps/v8/src/crankshaft/x87/lithium-x87.h | 70 - deps/v8/src/d8.cc | 99 +- deps/v8/src/d8.gyp | 14 +- deps/v8/src/d8.js | 28 +- deps/v8/src/date.cc | 16 +- deps/v8/src/date.h | 8 +- deps/v8/src/dateparser-inl.h | 16 +- deps/v8/src/dateparser.cc | 11 +- deps/v8/src/dateparser.h | 2 +- deps/v8/src/debug/arm/debug-arm.cc | 32 +- deps/v8/src/debug/arm64/debug-arm64.cc | 37 +- deps/v8/src/debug/debug-evaluate.cc | 208 +- deps/v8/src/debug/debug-evaluate.h | 28 +- deps/v8/src/debug/debug-frames.cc | 7 +- deps/v8/src/debug/debug-frames.h | 1 - deps/v8/src/debug/debug-scopes.cc | 110 +- deps/v8/src/debug/debug-scopes.h | 24 +- deps/v8/src/debug/debug.cc | 621 +- deps/v8/src/debug/debug.h | 98 +- deps/v8/src/debug/debug.js | 39 +- deps/v8/src/debug/ia32/debug-ia32.cc | 38 +- deps/v8/src/debug/liveedit.cc | 182 +- deps/v8/src/debug/liveedit.h | 11 +- deps/v8/src/debug/liveedit.js | 45 +- deps/v8/src/debug/mips/OWNERS | 1 + deps/v8/src/debug/mips/debug-mips.cc | 31 +- deps/v8/src/debug/mips64/OWNERS | 1 + deps/v8/src/debug/mips64/debug-mips64.cc | 31 +- deps/v8/src/debug/mirrors.js | 122 +- deps/v8/src/debug/ppc/debug-ppc.cc | 32 +- deps/v8/src/debug/x64/debug-x64.cc | 39 +- deps/v8/src/debug/x87/debug-x87.cc | 38 +- deps/v8/src/deoptimizer.cc | 344 +- deps/v8/src/deoptimizer.h | 17 +- deps/v8/src/disassembler.cc | 6 +- deps/v8/src/elements.cc | 88 +- deps/v8/src/elements.h | 8 +- deps/v8/src/execution.cc | 57 +- deps/v8/src/execution.h | 19 +- deps/v8/src/factory.cc | 305 +- deps/v8/src/factory.h | 47 +- deps/v8/src/flag-definitions.h | 100 +- deps/v8/src/frames.cc | 68 +- deps/v8/src/frames.h | 27 +- .../src/full-codegen/arm/full-codegen-arm.cc | 668 +- .../full-codegen/arm64/full-codegen-arm64.cc | 671 +- deps/v8/src/full-codegen/full-codegen.cc | 70 +- deps/v8/src/full-codegen/full-codegen.h | 22 +- .../full-codegen/ia32/full-codegen-ia32.cc | 697 +- deps/v8/src/full-codegen/mips/OWNERS | 1 + .../full-codegen/mips/full-codegen-mips.cc | 691 +- deps/v8/src/full-codegen/mips64/OWNERS | 1 + .../mips64/full-codegen-mips64.cc | 676 +- .../src/full-codegen/ppc/full-codegen-ppc.cc | 679 +- .../src/full-codegen/x64/full-codegen-x64.cc | 699 +- .../src/full-codegen/x87/full-codegen-x87.cc | 699 +- deps/v8/src/futex-emulation.cc | 3 +- deps/v8/src/gdb-jit.cc | 4 +- deps/v8/src/global-handles.cc | 13 +- deps/v8/src/globals.h | 22 +- deps/v8/src/handles.h | 2 - deps/v8/src/heap/gc-tracer.cc | 279 +- deps/v8/src/heap/gc-tracer.h | 79 +- deps/v8/src/heap/heap-inl.h | 55 +- deps/v8/src/heap/heap.cc | 506 +- deps/v8/src/heap/heap.h | 389 +- deps/v8/src/heap/incremental-marking-job.cc | 6 +- deps/v8/src/heap/incremental-marking.cc | 200 +- deps/v8/src/heap/incremental-marking.h | 8 +- deps/v8/src/heap/mark-compact-inl.h | 49 + deps/v8/src/heap/mark-compact.cc | 2281 ++-- deps/v8/src/heap/mark-compact.h | 171 +- deps/v8/src/heap/memory-reducer.cc | 2 +- deps/v8/src/heap/object-stats.cc | 6 - deps/v8/src/heap/objects-visiting-inl.h | 306 +- deps/v8/src/heap/objects-visiting.cc | 182 +- deps/v8/src/heap/objects-visiting.h | 29 +- deps/v8/src/heap/scavenge-job.cc | 2 +- deps/v8/src/heap/scavenger-inl.h | 6 +- deps/v8/src/heap/scavenger.cc | 50 +- deps/v8/src/heap/scavenger.h | 2 +- deps/v8/src/heap/spaces-inl.h | 81 +- deps/v8/src/heap/spaces.cc | 153 +- deps/v8/src/heap/spaces.h | 184 +- deps/v8/src/heap/store-buffer.cc | 100 +- deps/v8/src/heap/store-buffer.h | 15 +- deps/v8/src/i18n.cc | 15 +- deps/v8/src/ia32/assembler-ia32-inl.h | 28 +- deps/v8/src/ia32/assembler-ia32.cc | 48 +- deps/v8/src/ia32/assembler-ia32.h | 22 +- deps/v8/src/ia32/builtins-ia32.cc | 1752 ++-- deps/v8/src/ia32/code-stubs-ia32.cc | 403 +- deps/v8/src/ia32/codegen-ia32.cc | 40 +- deps/v8/src/ia32/codegen-ia32.h | 2 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 35 +- .../v8/src/ia32/interface-descriptors-ia32.cc | 59 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 347 +- deps/v8/src/ia32/macro-assembler-ia32.h | 414 +- deps/v8/src/ia32/simulator-ia32.h | 13 +- deps/v8/src/ic/access-compiler.cc | 6 +- deps/v8/src/ic/access-compiler.h | 2 +- deps/v8/src/ic/arm/access-compiler-arm.cc | 1 - deps/v8/src/ic/arm/handler-compiler-arm.cc | 49 +- deps/v8/src/ic/arm/ic-arm.cc | 123 +- deps/v8/src/ic/arm/ic-compiler-arm.cc | 104 +- deps/v8/src/ic/arm64/access-compiler-arm64.cc | 1 - .../v8/src/ic/arm64/handler-compiler-arm64.cc | 49 +- deps/v8/src/ic/arm64/ic-arm64.cc | 61 +- deps/v8/src/ic/arm64/ic-compiler-arm64.cc | 108 +- deps/v8/src/ic/handler-compiler.cc | 8 +- deps/v8/src/ic/ia32/access-compiler-ia32.cc | 2 - deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 59 +- deps/v8/src/ic/ia32/ic-compiler-ia32.cc | 99 +- deps/v8/src/ic/ia32/ic-ia32.cc | 104 +- deps/v8/src/ic/ic-compiler.cc | 135 - deps/v8/src/ic/ic-compiler.h | 26 - deps/v8/src/ic/ic-inl.h | 7 +- deps/v8/src/ic/ic-state.cc | 60 +- deps/v8/src/ic/ic-state.h | 16 +- deps/v8/src/ic/ic.cc | 474 +- deps/v8/src/ic/ic.h | 26 +- deps/v8/src/ic/mips/OWNERS | 1 + deps/v8/src/ic/mips/access-compiler-mips.cc | 1 - deps/v8/src/ic/mips/handler-compiler-mips.cc | 49 +- deps/v8/src/ic/mips/ic-compiler-mips.cc | 110 +- deps/v8/src/ic/mips/ic-mips.cc | 124 +- deps/v8/src/ic/mips64/OWNERS | 1 + .../src/ic/mips64/access-compiler-mips64.cc | 1 - .../src/ic/mips64/handler-compiler-mips64.cc | 50 +- deps/v8/src/ic/mips64/ic-compiler-mips64.cc | 110 +- deps/v8/src/ic/mips64/ic-mips64.cc | 168 +- deps/v8/src/ic/ppc/access-compiler-ppc.cc | 1 - deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 50 +- deps/v8/src/ic/ppc/ic-compiler-ppc.cc | 107 +- deps/v8/src/ic/ppc/ic-ppc.cc | 131 +- deps/v8/src/ic/x64/access-compiler-x64.cc | 2 - deps/v8/src/ic/x64/handler-compiler-x64.cc | 66 +- deps/v8/src/ic/x64/ic-compiler-x64.cc | 106 +- deps/v8/src/ic/x64/ic-x64.cc | 76 +- deps/v8/src/ic/x87/access-compiler-x87.cc | 2 - deps/v8/src/ic/x87/handler-compiler-x87.cc | 59 +- deps/v8/src/ic/x87/ic-compiler-x87.cc | 99 +- deps/v8/src/ic/x87/ic-x87.cc | 104 +- deps/v8/src/interface-descriptors.cc | 124 +- deps/v8/src/interface-descriptors.h | 63 +- .../src/interpreter/bytecode-array-builder.cc | 675 +- .../src/interpreter/bytecode-array-builder.h | 160 +- .../interpreter/bytecode-array-iterator.cc | 41 +- .../src/interpreter/bytecode-array-iterator.h | 6 + deps/v8/src/interpreter/bytecode-generator.cc | 705 +- deps/v8/src/interpreter/bytecode-generator.h | 30 +- .../bytecode-register-allocator.cc | 72 + .../interpreter/bytecode-register-allocator.h | 49 + deps/v8/src/interpreter/bytecodes.cc | 124 +- deps/v8/src/interpreter/bytecodes.h | 112 +- .../src/interpreter/constant-array-builder.cc | 174 + .../src/interpreter/constant-array-builder.h | 97 + .../src/interpreter/control-flow-builders.cc | 47 + .../src/interpreter/control-flow-builders.h | 37 +- deps/v8/src/interpreter/interpreter.cc | 515 +- deps/v8/src/interpreter/interpreter.h | 13 +- deps/v8/src/isolate-inl.h | 2 +- deps/v8/src/isolate.cc | 108 +- deps/v8/src/isolate.h | 34 +- deps/v8/src/js/OWNERS | 11 + deps/v8/src/js/array-iterator.js | 36 +- deps/v8/src/js/array.js | 174 +- deps/v8/src/js/arraybuffer.js | 52 +- deps/v8/src/js/code-stubs.js | 69 - deps/v8/src/js/collection.js | 38 +- deps/v8/src/js/date.js | 884 -- deps/v8/src/js/generator.js | 16 - deps/v8/src/js/harmony-array-includes.js | 118 - deps/v8/src/js/harmony-atomics.js | 2 +- deps/v8/src/js/harmony-reflect.js | 2 +- deps/v8/src/js/harmony-regexp.js | 22 +- deps/v8/src/js/harmony-sharedarraybuffer.js | 33 - deps/v8/src/js/harmony-simd.js | 53 +- deps/v8/src/js/harmony-species.js | 60 + deps/v8/src/js/harmony-unicode-regexps.js | 39 + deps/v8/src/js/i18n.js | 209 +- deps/v8/src/js/json.js | 112 +- deps/v8/src/js/macros.py | 161 +- deps/v8/src/js/math.js | 47 +- deps/v8/src/js/messages.js | 261 +- deps/v8/src/js/object-observe.js | 32 +- deps/v8/src/js/prologue.js | 31 +- deps/v8/src/js/promise-extra.js | 26 + deps/v8/src/js/promise.js | 305 +- deps/v8/src/js/proxy.js | 198 +- deps/v8/src/js/regexp.js | 137 +- deps/v8/src/js/runtime.js | 178 +- deps/v8/src/js/string-iterator.js | 2 +- deps/v8/src/js/string.js | 92 +- deps/v8/src/js/symbol.js | 6 +- deps/v8/src/js/templates.js | 4 +- deps/v8/src/js/typedarray.js | 340 +- deps/v8/src/js/v8natives.js | 803 +- deps/v8/src/js/weak-collection.js | 24 +- deps/v8/src/json-stringifier.h | 12 +- deps/v8/src/key-accumulator.cc | 54 +- deps/v8/src/key-accumulator.h | 7 +- deps/v8/src/libplatform/default-platform.cc | 25 + deps/v8/src/libplatform/default-platform.h | 11 + deps/v8/src/locked-queue-inl.h | 91 + deps/v8/src/locked-queue.h | 43 + deps/v8/src/log-inl.h | 14 + deps/v8/src/lookup.cc | 64 +- deps/v8/src/lookup.h | 33 +- deps/v8/src/machine-type.cc | 75 + deps/v8/src/machine-type.h | 204 + deps/v8/src/messages.cc | 121 +- deps/v8/src/messages.h | 175 +- deps/v8/src/mips/OWNERS | 1 + deps/v8/src/mips/assembler-mips-inl.h | 46 +- deps/v8/src/mips/assembler-mips.cc | 130 +- deps/v8/src/mips/assembler-mips.h | 43 +- deps/v8/src/mips/builtins-mips.cc | 1815 ++-- deps/v8/src/mips/code-stubs-mips.cc | 396 +- deps/v8/src/mips/code-stubs-mips.h | 9 +- deps/v8/src/mips/codegen-mips.cc | 57 +- deps/v8/src/mips/codegen-mips.h | 2 +- deps/v8/src/mips/constants-mips.h | 48 +- deps/v8/src/mips/cpu-mips.cc | 11 +- deps/v8/src/mips/deoptimizer-mips.cc | 7 +- deps/v8/src/mips/disasm-mips.cc | 93 +- .../v8/src/mips/interface-descriptors-mips.cc | 59 +- deps/v8/src/mips/macro-assembler-mips.cc | 843 +- deps/v8/src/mips/macro-assembler-mips.h | 209 +- deps/v8/src/mips/simulator-mips.cc | 245 +- deps/v8/src/mips/simulator-mips.h | 45 +- deps/v8/src/mips64/OWNERS | 1 + deps/v8/src/mips64/assembler-mips64-inl.h | 62 +- deps/v8/src/mips64/assembler-mips64.cc | 579 +- deps/v8/src/mips64/assembler-mips64.h | 276 +- deps/v8/src/mips64/builtins-mips64.cc | 1811 ++-- deps/v8/src/mips64/code-stubs-mips64.cc | 401 +- deps/v8/src/mips64/code-stubs-mips64.h | 9 +- deps/v8/src/mips64/codegen-mips64.cc | 57 +- deps/v8/src/mips64/codegen-mips64.h | 2 +- deps/v8/src/mips64/constants-mips64.cc | 36 +- deps/v8/src/mips64/constants-mips64.h | 683 +- deps/v8/src/mips64/cpu-mips64.cc | 13 +- deps/v8/src/mips64/deoptimizer-mips64.cc | 7 +- deps/v8/src/mips64/disasm-mips64.cc | 162 +- .../mips64/interface-descriptors-mips64.cc | 59 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 2421 +++-- deps/v8/src/mips64/macro-assembler-mips64.h | 254 +- deps/v8/src/mips64/simulator-mips64.cc | 603 +- deps/v8/src/mips64/simulator-mips64.h | 81 +- deps/v8/src/objects-body-descriptors-inl.h | 565 + deps/v8/src/objects-body-descriptors.h | 141 + deps/v8/src/objects-debug.cc | 62 +- deps/v8/src/objects-inl.h | 819 +- deps/v8/src/objects-printer.cc | 92 +- deps/v8/src/objects.cc | 4527 +++++--- deps/v8/src/objects.h | 1201 ++- deps/v8/src/ostreams.cc | 1 + deps/v8/src/ostreams.h | 2 +- deps/v8/src/parsing/OWNERS | 6 + .../src/{ => parsing}/expression-classifier.h | 68 +- .../src/{ => parsing}/func-name-inferrer.cc | 6 +- .../v8/src/{ => parsing}/func-name-inferrer.h | 6 +- deps/v8/src/{ => parsing}/json-parser.h | 23 +- .../parameter-initializer-rewriter.cc | 18 +- .../parameter-initializer-rewriter.h | 8 +- .../{preparser.h => parsing/parser-base.h} | 1679 +-- deps/v8/src/{ => parsing}/parser.cc | 1783 +--- deps/v8/src/{ => parsing}/parser.h | 414 +- deps/v8/src/{ => parsing}/pattern-rewriter.cc | 311 +- .../src/{ => parsing}/preparse-data-format.h | 6 +- deps/v8/src/{ => parsing}/preparse-data.cc | 6 +- deps/v8/src/{ => parsing}/preparse-data.h | 8 +- deps/v8/src/{ => parsing}/preparser.cc | 82 +- deps/v8/src/parsing/preparser.h | 1175 +++ deps/v8/src/{ => parsing}/rewriter.cc | 8 +- deps/v8/src/{ => parsing}/rewriter.h | 6 +- .../scanner-character-streams.cc | 5 +- .../{ => parsing}/scanner-character-streams.h | 8 +- deps/v8/src/{ => parsing}/scanner.cc | 107 +- deps/v8/src/{ => parsing}/scanner.h | 47 +- deps/v8/src/{ => parsing}/token.cc | 3 +- deps/v8/src/{ => parsing}/token.h | 16 +- deps/v8/src/ppc/assembler-ppc-inl.h | 35 +- deps/v8/src/ppc/assembler-ppc.cc | 57 +- deps/v8/src/ppc/assembler-ppc.h | 33 +- deps/v8/src/ppc/builtins-ppc.cc | 1772 ++-- deps/v8/src/ppc/code-stubs-ppc.cc | 426 +- deps/v8/src/ppc/code-stubs-ppc.h | 4 +- deps/v8/src/ppc/codegen-ppc.cc | 44 +- deps/v8/src/ppc/codegen-ppc.h | 2 +- deps/v8/src/ppc/constants-ppc.h | 48 +- deps/v8/src/ppc/deoptimizer-ppc.cc | 7 +- deps/v8/src/ppc/disasm-ppc.cc | 28 + deps/v8/src/ppc/interface-descriptors-ppc.cc | 59 +- deps/v8/src/ppc/macro-assembler-ppc.cc | 590 +- deps/v8/src/ppc/macro-assembler-ppc.h | 147 +- deps/v8/src/ppc/simulator-ppc.cc | 245 +- deps/v8/src/ppc/simulator-ppc.h | 47 +- deps/v8/src/profiler/cpu-profiler-inl.h | 2 +- deps/v8/src/profiler/cpu-profiler.cc | 13 +- deps/v8/src/profiler/cpu-profiler.h | 9 +- deps/v8/src/profiler/heap-profiler.h | 2 + .../profiler/heap-snapshot-generator-inl.h | 7 + .../src/profiler/heap-snapshot-generator.cc | 145 +- .../v8/src/profiler/heap-snapshot-generator.h | 8 +- deps/v8/src/profiler/profile-generator-inl.h | 4 + deps/v8/src/profiler/profile-generator.cc | 28 +- deps/v8/src/profiler/profile-generator.h | 10 +- deps/v8/src/property-descriptor.cc | 232 +- deps/v8/src/property-descriptor.h | 16 +- deps/v8/src/property-details.h | 40 +- deps/v8/src/prototype.h | 48 +- .../regexp/arm/regexp-macro-assembler-arm.cc | 145 +- .../regexp/arm/regexp-macro-assembler-arm.h | 10 +- .../arm64/regexp-macro-assembler-arm64.cc | 129 +- .../arm64/regexp-macro-assembler-arm64.h | 8 +- deps/v8/src/regexp/bytecodes-irregexp.h | 20 +- .../ia32/regexp-macro-assembler-ia32.cc | 135 +- .../regexp/ia32/regexp-macro-assembler-ia32.h | 10 +- deps/v8/src/regexp/interpreter-irregexp.cc | 77 +- deps/v8/src/regexp/jsregexp.cc | 269 +- deps/v8/src/regexp/jsregexp.h | 192 +- deps/v8/src/regexp/mips/OWNERS | 1 + .../mips/regexp-macro-assembler-mips.cc | 137 +- .../regexp/mips/regexp-macro-assembler-mips.h | 10 +- deps/v8/src/regexp/mips64/OWNERS | 1 + .../mips64/regexp-macro-assembler-mips64.cc | 127 +- .../mips64/regexp-macro-assembler-mips64.h | 14 +- .../regexp/ppc/regexp-macro-assembler-ppc.cc | 130 +- .../regexp/ppc/regexp-macro-assembler-ppc.h | 10 +- deps/v8/src/regexp/regexp-ast.cc | 337 + deps/v8/src/regexp/regexp-ast.h | 496 + .../regexp-macro-assembler-irregexp-inl.h | 2 +- .../regexp/regexp-macro-assembler-irregexp.cc | 18 +- .../regexp/regexp-macro-assembler-irregexp.h | 6 +- .../regexp/regexp-macro-assembler-tracer.cc | 42 +- .../regexp/regexp-macro-assembler-tracer.h | 7 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 14 +- deps/v8/src/regexp/regexp-macro-assembler.h | 18 +- deps/v8/src/regexp/regexp-parser.cc | 1180 +++ deps/v8/src/regexp/regexp-parser.h | 277 + .../regexp/x64/regexp-macro-assembler-x64.cc | 137 +- .../regexp/x64/regexp-macro-assembler-x64.h | 10 +- .../regexp/x87/regexp-macro-assembler-x87.cc | 135 +- .../regexp/x87/regexp-macro-assembler-x87.h | 10 +- deps/v8/src/register-configuration.cc | 104 +- deps/v8/src/runtime-profiler.cc | 8 +- deps/v8/src/runtime/runtime-array.cc | 148 +- deps/v8/src/runtime/runtime-atomics.cc | 259 +- deps/v8/src/runtime/runtime-classes.cc | 85 +- deps/v8/src/runtime/runtime-compiler.cc | 67 +- deps/v8/src/runtime/runtime-date.cc | 165 +- deps/v8/src/runtime/runtime-debug.cc | 213 +- deps/v8/src/runtime/runtime-function.cc | 328 +- deps/v8/src/runtime/runtime-futex.cc | 10 +- deps/v8/src/runtime/runtime-generator.cc | 8 - deps/v8/src/runtime/runtime-i18n.cc | 9 +- deps/v8/src/runtime/runtime-internal.cc | 134 +- deps/v8/src/runtime/runtime-interpreter.cc | 31 +- deps/v8/src/runtime/runtime-json.cc | 2 +- deps/v8/src/runtime/runtime-literals.cc | 46 +- deps/v8/src/runtime/runtime-liveedit.cc | 34 +- deps/v8/src/runtime/runtime-maths.cc | 64 +- deps/v8/src/runtime/runtime-numbers.cc | 19 +- deps/v8/src/runtime/runtime-object.cc | 422 +- deps/v8/src/runtime/runtime-observe.cc | 25 +- deps/v8/src/runtime/runtime-proxy.cc | 167 +- deps/v8/src/runtime/runtime-regexp.cc | 157 +- deps/v8/src/runtime/runtime-scopes.cc | 208 +- deps/v8/src/runtime/runtime-simd.cc | 57 +- deps/v8/src/runtime/runtime-strings.cc | 7 - deps/v8/src/runtime/runtime-test.cc | 3 +- deps/v8/src/runtime/runtime-typedarray.cc | 55 +- deps/v8/src/runtime/runtime.h | 338 +- deps/v8/src/snapshot/natives-common.cc | 7 - deps/v8/src/snapshot/natives-external.cc | 31 +- deps/v8/src/snapshot/natives.h | 2 - deps/v8/src/snapshot/serialize.cc | 85 +- deps/v8/src/snapshot/serialize.h | 20 +- deps/v8/src/snapshot/snapshot-common.cc | 11 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 25 +- deps/v8/src/snapshot/snapshot-source-sink.h | 5 +- deps/v8/src/snapshot/snapshot.h | 3 +- deps/v8/src/startup-data-util.cc | 14 +- deps/v8/src/third_party/vtune/v8vtune.gyp | 4 - deps/v8/src/tracing/trace-event.cc | 19 + deps/v8/src/tracing/trace-event.h | 535 + deps/v8/src/transitions-inl.h | 25 +- deps/v8/src/transitions.cc | 131 +- deps/v8/src/transitions.h | 42 +- deps/v8/src/type-cache.h | 42 +- deps/v8/src/type-feedback-vector-inl.h | 57 +- deps/v8/src/type-feedback-vector.cc | 49 +- deps/v8/src/type-feedback-vector.h | 27 +- deps/v8/src/type-info.cc | 102 +- deps/v8/src/type-info.h | 22 +- deps/v8/src/types.cc | 6 +- deps/v8/src/typing-asm.cc | 823 +- deps/v8/src/typing-asm.h | 87 +- deps/v8/src/typing-reset.cc | 4 +- deps/v8/src/typing-reset.h | 2 +- deps/v8/src/utils.cc | 27 +- deps/v8/src/utils.h | 22 +- deps/v8/src/v8.cc | 7 - deps/v8/src/wasm/OWNERS | 5 + deps/v8/src/wasm/asm-wasm-builder.cc | 1045 ++ deps/v8/src/wasm/asm-wasm-builder.h | 33 + deps/v8/src/wasm/ast-decoder.cc | 1583 +++ deps/v8/src/wasm/ast-decoder.h | 116 + deps/v8/src/wasm/decoder.h | 233 + deps/v8/src/wasm/encoder.cc | 592 ++ deps/v8/src/wasm/encoder.h | 157 + deps/v8/src/wasm/module-decoder.cc | 547 + deps/v8/src/wasm/module-decoder.h | 33 + deps/v8/src/wasm/wasm-js.cc | 345 + deps/v8/src/wasm/wasm-js.h | 27 + deps/v8/src/wasm/wasm-macro-gen.h | 265 + deps/v8/src/wasm/wasm-module.cc | 511 + deps/v8/src/wasm/wasm-module.h | 192 + deps/v8/src/wasm/wasm-opcodes.cc | 133 + deps/v8/src/wasm/wasm-opcodes.h | 476 + deps/v8/src/wasm/wasm-result.cc | 53 + deps/v8/src/wasm/wasm-result.h | 116 + deps/v8/src/x64/assembler-x64-inl.h | 29 +- deps/v8/src/x64/assembler-x64.cc | 41 +- deps/v8/src/x64/assembler-x64.h | 38 +- deps/v8/src/x64/builtins-x64.cc | 1769 ++-- deps/v8/src/x64/code-stubs-x64.cc | 401 +- deps/v8/src/x64/codegen-x64.cc | 121 +- deps/v8/src/x64/codegen-x64.h | 2 +- deps/v8/src/x64/deoptimizer-x64.cc | 7 +- deps/v8/src/x64/disasm-x64.cc | 5 + deps/v8/src/x64/interface-descriptors-x64.cc | 60 +- deps/v8/src/x64/macro-assembler-x64.cc | 452 +- deps/v8/src/x64/macro-assembler-x64.h | 161 +- deps/v8/src/x64/simulator-x64.h | 11 +- deps/v8/src/x87/assembler-x87-inl.h | 30 +- deps/v8/src/x87/assembler-x87.cc | 35 +- deps/v8/src/x87/assembler-x87.h | 21 +- deps/v8/src/x87/builtins-x87.cc | 1759 ++-- deps/v8/src/x87/code-stubs-x87.cc | 397 +- deps/v8/src/x87/codegen-x87.cc | 34 +- deps/v8/src/x87/codegen-x87.h | 2 +- deps/v8/src/x87/deoptimizer-x87.cc | 35 +- deps/v8/src/x87/interface-descriptors-x87.cc | 59 +- deps/v8/src/x87/macro-assembler-x87.cc | 349 +- deps/v8/src/x87/macro-assembler-x87.h | 364 +- deps/v8/src/x87/simulator-x87.h | 11 +- deps/v8/src/zone-containers.h | 6 +- deps/v8/test/cctest/OWNERS | 5 + deps/v8/test/cctest/cctest.gyp | 34 +- deps/v8/test/cctest/cctest.h | 157 +- deps/v8/test/cctest/cctest.status | 141 +- deps/v8/test/cctest/compiler/c-signature.h | 66 +- .../v8/test/cctest/compiler/codegen-tester.cc | 66 +- deps/v8/test/cctest/compiler/codegen-tester.h | 167 +- .../v8/test/cctest/compiler/function-tester.h | 55 +- .../cctest/compiler/graph-builder-tester.h | 26 +- .../compiler/test-basic-block-profiler.cc | 14 +- .../cctest/compiler/test-branch-combine.cc | 59 +- .../cctest/compiler/test-changes-lowering.cc | 37 +- .../compiler/test-code-stub-assembler.cc | 125 + .../test/cctest/compiler/test-gap-resolver.cc | 40 +- .../cctest/compiler/test-graph-visualizer.cc | 17 +- .../test/cctest/compiler/test-instruction.cc | 5 +- .../cctest/compiler/test-js-constant-cache.cc | 3 - .../test-js-context-specialization.cc | 13 +- .../cctest/compiler/test-js-typed-lowering.cc | 95 +- .../cctest/compiler/test-jump-threading.cc | 13 +- deps/v8/test/cctest/compiler/test-linkage.cc | 5 +- .../cctest/compiler/test-loop-analysis.cc | 41 +- .../compiler/test-loop-assignment-analysis.cc | 9 +- .../compiler/test-machine-operator-reducer.cc | 18 +- .../cctest/compiler/test-multiple-return.cc | 15 +- deps/v8/test/cctest/compiler/test-node.cc | 3 - deps/v8/test/cctest/compiler/test-operator.cc | 3 - deps/v8/test/cctest/compiler/test-osr.cc | 20 +- deps/v8/test/cctest/compiler/test-pipeline.cc | 5 +- .../compiler/test-representation-change.cc | 387 +- .../test-run-bytecode-graph-builder.cc | 2124 +++- .../v8/test/cctest/compiler/test-run-deopt.cc | 3 - .../test/cctest/compiler/test-run-inlining.cc | 3 - .../cctest/compiler/test-run-intrinsics.cc | 27 - .../cctest/compiler/test-run-jsbranches.cc | 3 - .../test/cctest/compiler/test-run-jscalls.cc | 5 +- .../cctest/compiler/test-run-jsexceptions.cc | 3 - .../cctest/compiler/test-run-jsobjects.cc | 4 - .../v8/test/cctest/compiler/test-run-jsops.cc | 4 +- .../test/cctest/compiler/test-run-machops.cc | 1447 ++- .../cctest/compiler/test-run-native-calls.cc | 115 +- .../cctest/compiler/test-run-properties.cc | 3 - .../cctest/compiler/test-run-stackcheck.cc | 3 - .../v8/test/cctest/compiler/test-run-stubs.cc | 89 +- .../cctest/compiler/test-run-variables.cc | 4 +- .../compiler/test-simplified-lowering.cc | 461 +- deps/v8/test/cctest/compiler/value-helper.h | 199 +- .../cctest/expression-type-collector-macros.h | 21 +- .../test/cctest/expression-type-collector.cc | 4 +- .../test/cctest/expression-type-collector.h | 2 +- deps/v8/test/cctest/{ => heap}/heap-tester.h | 38 +- deps/v8/test/cctest/{ => heap}/test-alloc.cc | 13 +- deps/v8/test/cctest/heap/test-compaction.cc | 340 + deps/v8/test/cctest/{ => heap}/test-heap.cc | 470 +- .../{ => heap}/test-incremental-marking.cc | 27 +- deps/v8/test/cctest/heap/test-lab.cc | 284 + .../cctest/{ => heap}/test-mark-compact.cc | 10 +- deps/v8/test/cctest/{ => heap}/test-spaces.cc | 76 +- deps/v8/test/cctest/heap/utils-inl.h | 137 + .../interpreter/test-bytecode-generator.cc | 4080 +++++--- .../cctest/interpreter/test-interpreter.cc | 751 +- deps/v8/test/cctest/print-extension.cc | 5 +- deps/v8/test/cctest/print-extension.h | 5 +- deps/v8/test/cctest/profiler-extension.cc | 18 +- deps/v8/test/cctest/test-accessors.cc | 3 - deps/v8/test/cctest/test-api-accessors.cc | 62 +- .../cctest/test-api-fast-accessor-builder.cc | 288 + deps/v8/test/cctest/test-api-interceptors.cc | 1444 ++- deps/v8/test/cctest/test-api.cc | 9142 +++++++++++------ deps/v8/test/cctest/test-asm-validator.cc | 1499 ++- deps/v8/test/cctest/test-assembler-arm.cc | 194 +- deps/v8/test/cctest/test-assembler-arm64.cc | 342 +- deps/v8/test/cctest/test-assembler-ia32.cc | 44 +- deps/v8/test/cctest/test-assembler-mips.cc | 698 +- deps/v8/test/cctest/test-assembler-mips64.cc | 742 +- deps/v8/test/cctest/test-assembler-ppc.cc | 62 +- deps/v8/test/cctest/test-assembler-x64.cc | 51 +- deps/v8/test/cctest/test-assembler-x87.cc | 3 +- .../cctest/test-ast-expression-visitor.cc | 37 +- deps/v8/test/cctest/test-ast.cc | 2 +- deps/v8/test/cctest/test-code-stubs-arm.cc | 5 +- deps/v8/test/cctest/test-code-stubs-arm64.cc | 5 +- deps/v8/test/cctest/test-code-stubs-ia32.cc | 3 +- deps/v8/test/cctest/test-code-stubs-mips.cc | 10 +- deps/v8/test/cctest/test-code-stubs-mips64.cc | 10 +- deps/v8/test/cctest/test-code-stubs-x64.cc | 3 +- deps/v8/test/cctest/test-code-stubs-x87.cc | 3 +- deps/v8/test/cctest/test-compiler.cc | 222 +- deps/v8/test/cctest/test-cpu-profiler.cc | 478 +- deps/v8/test/cctest/test-date.cc | 31 - deps/v8/test/cctest/test-debug.cc | 3323 +++--- deps/v8/test/cctest/test-decls.cc | 117 +- deps/v8/test/cctest/test-deoptimization.cc | 264 +- deps/v8/test/cctest/test-dictionary.cc | 15 + deps/v8/test/cctest/test-disasm-arm64.cc | 125 +- deps/v8/test/cctest/test-disasm-mips.cc | 59 +- deps/v8/test/cctest/test-disasm-mips64.cc | 122 +- deps/v8/test/cctest/test-disasm-ppc.cc | 2 +- deps/v8/test/cctest/test-elements-kind.cc | 6 +- deps/v8/test/cctest/test-feedback-vector.cc | 139 +- .../test/cctest/test-field-type-tracking.cc | 25 +- .../test/cctest/test-func-name-inference.cc | 362 +- deps/v8/test/cctest/test-global-handles.cc | 150 +- deps/v8/test/cctest/test-global-object.cc | 30 +- deps/v8/test/cctest/test-hashing.cc | 7 +- deps/v8/test/cctest/test-heap-profiler.cc | 259 +- .../cctest/test-inobject-slack-tracking.cc | 1111 ++ deps/v8/test/cctest/test-javascript-arm64.cc | 122 +- .../v8/test/cctest/test-js-arm64-variables.cc | 20 +- deps/v8/test/cctest/test-liveedit.cc | 18 +- deps/v8/test/cctest/test-lockers.cc | 130 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 17 +- deps/v8/test/cctest/test-log.cc | 57 +- .../test/cctest/test-macro-assembler-arm.cc | 14 +- .../test/cctest/test-macro-assembler-ia32.cc | 3 +- .../test/cctest/test-macro-assembler-mips.cc | 177 +- .../cctest/test-macro-assembler-mips64.cc | 277 +- .../test/cctest/test-macro-assembler-x64.cc | 89 +- .../test/cctest/test-macro-assembler-x87.cc | 3 +- .../v8/test/cctest/test-microtask-delivery.cc | 55 +- deps/v8/test/cctest/test-object-observe.cc | 43 +- deps/v8/test/cctest/test-parsing.cc | 810 +- deps/v8/test/cctest/test-platform-linux.cc | 3 - deps/v8/test/cctest/test-platform-win32.cc | 3 - deps/v8/test/cctest/test-platform.cc | 3 - deps/v8/test/cctest/test-profile-generator.cc | 21 +- .../cctest/test-random-number-generator.cc | 127 +- .../test-receiver-check-hidden-prototype.cc | 73 + deps/v8/test/cctest/test-regexp.cc | 229 +- deps/v8/test/cctest/test-reloc-info.cc | 12 +- deps/v8/test/cctest/test-representation.cc | 3 - deps/v8/test/cctest/test-sampler-api.cc | 5 +- deps/v8/test/cctest/test-serialize.cc | 60 +- deps/v8/test/cctest/test-simd.cc | 3 - deps/v8/test/cctest/test-slots-buffer.cc | 4 +- deps/v8/test/cctest/test-strings.cc | 102 +- deps/v8/test/cctest/test-strtod.cc | 3 - deps/v8/test/cctest/test-symbols.cc | 3 - .../v8/test/cctest/test-thread-termination.cc | 3 - deps/v8/test/cctest/test-threads.cc | 3 - deps/v8/test/cctest/test-trace-event.cc | 258 + deps/v8/test/cctest/test-transitions.cc | 23 +- deps/v8/test/cctest/test-typedarrays.cc | 3 - deps/v8/test/cctest/test-types.cc | 3 - deps/v8/test/cctest/test-typing-reset.cc | 13 +- deps/v8/test/cctest/test-unbound-queue.cc | 3 - deps/v8/test/cctest/test-unboxed-doubles.cc | 52 +- deps/v8/test/cctest/test-unique.cc | 3 - .../test-unscopables-hidden-prototype.cc | 3 - deps/v8/test/cctest/test-utils-arm64.cc | 27 +- deps/v8/test/cctest/test-utils-arm64.h | 26 +- deps/v8/test/cctest/test-utils.cc | 3 - deps/v8/test/cctest/test-version.cc | 3 - deps/v8/test/cctest/test-weakmaps.cc | 6 +- deps/v8/test/cctest/test-weaksets.cc | 6 +- deps/v8/test/cctest/testcfg.py | 4 + deps/v8/test/cctest/trace-extension.cc | 3 - deps/v8/test/cctest/wasm/OWNERS | 3 + deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 141 + .../test/cctest/wasm/test-run-wasm-module.cc | 199 + deps/v8/test/cctest/wasm/test-run-wasm.cc | 3254 ++++++ deps/v8/test/cctest/wasm/test-signatures.h | 111 + deps/v8/test/cctest/wasm/wasm-run-utils.h | 391 + deps/v8/test/ignition.gyp | 27 + deps/v8/test/ignition.isolate | 9 + deps/v8/test/intl/date-format/format-test.js | 4 + .../test/intl/date-format/resolved-options.js | 3 +- deps/v8/test/intl/date-format/timezone.js | 5 +- deps/v8/test/intl/intl.status | 5 - deps/v8/test/js-perf-test/JSTests.json | 1 - deps/v8/test/message/arrow-bare-rest-param.js | 2 +- deps/v8/test/message/arrow-missing.js | 2 +- .../test/message/arrow-param-after-rest-2.js | 2 +- .../v8/test/message/arrow-param-after-rest.js | 2 +- deps/v8/test/message/arrow-two-rest-params.js | 2 +- .../message/default-parameter-tdz-arrow.js | 7 + .../message/default-parameter-tdz-arrow.out | 6 + deps/v8/test/message/default-parameter-tdz.js | 7 + .../v8/test/message/default-parameter-tdz.out | 6 + .../destructuring-decl-no-init-array.js | 2 +- .../destructuring-decl-no-init-array2.js | 2 +- .../message/destructuring-decl-no-init-obj.js | 2 +- .../destructuring-decl-no-init-obj2.js | 2 +- .../message/destructuring-modify-const.js | 2 +- .../for-in-loop-initializers-destructuring.js | 9 + ...for-in-loop-initializers-destructuring.out | 4 + .../message/formal-parameters-bad-rest.js | 2 +- deps/v8/test/message/invalid-spread-2.js | 2 +- deps/v8/test/message/invalid-spread.js | 2 +- .../let-lexical-name-in-array-prohibited.js | 2 +- .../let-lexical-name-in-object-prohibited.js | 2 +- deps/v8/test/message/nf-yield-in-generator.js | 7 + .../v8/test/message/nf-yield-in-generator.out | 4 + .../message/nf-yield-strict-in-generator.js | 8 + .../message/nf-yield-strict-in-generator.out | 4 + deps/v8/test/message/nf-yield-strict.js | 5 + deps/v8/test/message/nf-yield-strict.out | 4 + deps/v8/test/message/nfe-yield-generator.js | 5 + deps/v8/test/message/nfe-yield-generator.out | 4 + deps/v8/test/message/nfe-yield-strict.js | 5 + deps/v8/test/message/nfe-yield-strict.out | 4 + deps/v8/test/message/no-legacy-const-2.js | 3 +- deps/v8/test/message/no-legacy-const-2.out | 2 +- deps/v8/test/message/no-legacy-const-3.js | 3 +- deps/v8/test/message/no-legacy-const-3.out | 2 +- deps/v8/test/message/no-legacy-const.js | 3 +- deps/v8/test/message/no-legacy-const.out | 2 +- deps/v8/test/message/paren_in_arg_string.out | 1 - .../message/rest-param-class-setter-strict.js | 2 +- .../rest-param-object-setter-sloppy.js | 2 +- .../rest-param-object-setter-strict.js | 2 +- .../test/message/single-function-literal.out | 5 - deps/v8/test/message/testcfg.py | 4 + .../message/try-catch-lexical-conflict.js | 2 +- .../message/try-catch-variable-conflict.js | 2 +- deps/v8/test/mjsunit/apply.js | 4 +- deps/v8/test/mjsunit/array-constructor.js | 21 +- deps/v8/test/mjsunit/array-isarray.js | 16 + deps/v8/test/mjsunit/asm/atomics-add.js | 45 +- deps/v8/test/mjsunit/asm/atomics-and.js | 45 +- .../mjsunit/asm/atomics-compareexchange.js | 45 +- deps/v8/test/mjsunit/asm/atomics-exchange.js | 42 +- deps/v8/test/mjsunit/asm/atomics-load.js | 45 +- deps/v8/test/mjsunit/asm/atomics-or.js | 42 +- deps/v8/test/mjsunit/asm/atomics-store.js | 45 +- deps/v8/test/mjsunit/asm/atomics-sub.js | 45 +- deps/v8/test/mjsunit/asm/atomics-xor.js | 45 +- .../test/mjsunit/asm/infinite-loops-taken.js | 6 +- deps/v8/test/mjsunit/bugs/bug-4577.js | 13 + deps/v8/test/mjsunit/callsite.js | 17 + .../deopt-during-eval-lookup.js} | 28 +- .../compiler/escape-analysis-1.js} | 23 +- .../escape-analysis-10.js} | 19 +- .../mjsunit/compiler/escape-analysis-2.js | 45 + .../mjsunit/compiler/escape-analysis-3.js | 44 + .../mjsunit/compiler/escape-analysis-4.js | 48 + .../mjsunit/compiler/escape-analysis-5.js | 48 + .../mjsunit/compiler/escape-analysis-6.js | 48 + .../floor-stub.js => escape-analysis-7.js} | 53 +- .../mjsunit/compiler/escape-analysis-8.js | 49 + .../mjsunit/compiler/escape-analysis-9.js | 52 + .../compiler/escape-analysis-deopt-1.js | 47 + .../compiler/escape-analysis-deopt-2.js | 50 + .../compiler/escape-analysis-deopt-3.js | 51 + .../compiler/escape-analysis-deopt-4.js | 57 + .../compiler/escape-analysis-deopt-5.js | 41 + .../v8/test/mjsunit/compiler/mul-div-52bit.js | 86 + .../test/mjsunit/compiler/regress-572409.js | 10 + .../v8/test/mjsunit/compiler/regress-96989.js | 2 +- .../v8/test/mjsunit/compiler/regress-const.js | 2 +- .../compiler/regress-f64-w32-change.js | 23 + deps/v8/test/mjsunit/const-declaration.js | 2 + deps/v8/test/mjsunit/const-eval-init.js | 2 +- deps/v8/test/mjsunit/const-redecl.js | 2 + deps/v8/test/mjsunit/const.js | 2 + .../constant-fold-control-instructions.js | 4 +- deps/v8/test/mjsunit/constant-folding.js | 2 + .../mjsunit/cross-realm-global-prototype.js | 22 + deps/v8/test/mjsunit/d8-os.js | 22 +- deps/v8/test/mjsunit/date.js | 27 +- .../mjsunit/debug-allscopes-on-debugger.js | 2 +- deps/v8/test/mjsunit/debug-break-native.js | 2 +- deps/v8/test/mjsunit/debug-constructor.js | 2 +- deps/v8/test/mjsunit/debug-continue.js | 5 +- .../v8/test/mjsunit/debug-evaluate-closure.js | 18 +- deps/v8/test/mjsunit/debug-evaluate-const.js | 10 +- .../mjsunit/debug-evaluate-declaration.js | 44 + .../debug-evaluate-locals-capturing.js | 8 +- deps/v8/test/mjsunit/debug-evaluate-locals.js | 8 +- ...debug-evaluate-modify-catch-block-scope.js | 39 + .../debug-evaluate-shadowed-context.js | 83 + deps/v8/test/mjsunit/debug-liveedit-stepin.js | 81 + deps/v8/test/mjsunit/debug-return-value.js | 2 +- deps/v8/test/mjsunit/debug-script.js | 4 +- deps/v8/test/mjsunit/debug-sourceinfo.js | 12 +- ...bug-step-4-in-frame.js => debug-step-4.js} | 35 +- .../test/mjsunit/debug-step-end-of-script.js | 21 + deps/v8/test/mjsunit/debug-step-into-json.js | 36 + .../test/mjsunit/debug-step-into-valueof.js | 35 + deps/v8/test/mjsunit/debug-step-turbofan.js | 2 +- deps/v8/test/mjsunit/debug-step.js | 21 +- .../test/mjsunit/debug-stepframe-clearing.js | 4 +- deps/v8/test/mjsunit/debug-stepframe.js | 21 +- .../test/mjsunit/debug-stepin-accessor-ic.js | 2 +- deps/v8/test/mjsunit/debug-stepin-accessor.js | 12 +- .../debug-stepin-builtin-callback-opt.js | 37 + .../mjsunit/debug-stepin-builtin-callback.js | 157 +- deps/v8/test/mjsunit/debug-stepin-builtin.js | 12 +- .../debug-stepin-call-function-stub.js | 8 +- .../mjsunit/debug-stepin-construct-call.js | 2 +- deps/v8/test/mjsunit/debug-stepin-foreach.js | 2 +- .../mjsunit/debug-stepin-function-call.js | 8 +- .../debug-stepin-property-function-call.js | 12 +- .../debug-stepout-recursive-function.js | 11 +- .../test/mjsunit/debug-stepout-scope-part1.js | 4 +- .../test/mjsunit/debug-stepout-scope-part2.js | 4 +- .../test/mjsunit/debug-stepout-scope-part3.js | 4 +- .../test/mjsunit/debug-stepout-scope-part4.js | 4 +- .../test/mjsunit/debug-stepout-scope-part5.js | 4 +- .../test/mjsunit/debug-stepout-scope-part6.js | 4 +- .../test/mjsunit/debug-stepout-scope-part7.js | 4 +- .../test/mjsunit/debug-stepout-scope-part8.js | 4 +- .../test/mjsunit/debug-stepout-to-builtin.js | 6 +- deps/v8/test/mjsunit/declare-locally.js | 2 +- deps/v8/test/mjsunit/error-constructors.js | 43 +- deps/v8/test/mjsunit/error-tostring.js | 2 +- deps/v8/test/mjsunit/es6/array-tostring.js | 2 +- .../arrow-rest-params-lazy-parsing.js | 1 - .../{harmony => es6}/arrow-rest-params.js | 2 - .../v8/test/mjsunit/es6/block-early-errors.js | 2 + .../block-eval-var-over-legacy-const.js | 75 +- .../block-let-contextual-sloppy.js | 3 +- .../mjsunit/es6/block-non-strict-errors.js | 3 + .../{harmony => es6}/block-scope-class.js | 0 .../mjsunit/es6/built-in-accessor-names.js | 26 +- .../classes-derived-return-type.js | 0 deps/v8/test/mjsunit/es6/classes-proxy.js | 73 + .../mjsunit/es6/classes-subclass-builtins.js | 480 +- deps/v8/test/mjsunit/es6/classof-proxy.js | 27 + deps/v8/test/mjsunit/es6/debug-blockscopes.js | 11 +- .../es6/debug-break-default-constructor.js | 2 +- .../debug-evaluate-arrow-function-receiver.js | 116 + .../es6/debug-liveedit-new-target-1.js | 75 + .../es6/debug-liveedit-new-target-2.js | 63 + .../es6/debug-liveedit-new-target-3.js | 73 + .../mjsunit/es6/debug-promises/reentry.js | 2 +- .../debug-promises/reject-after-resolve.js | 2 +- .../es6/debug-promises/reject-caught-all.js | 2 +- .../es6/debug-promises/reject-caught-late.js | 2 +- .../debug-promises/reject-caught-uncaught.js | 2 +- .../es6/debug-promises/reject-uncaught-all.js | 2 +- .../reject-uncaught-uncaught.js | 2 +- .../reject-with-invalid-reject.js | 2 +- .../reject-with-throw-in-reject.js | 2 +- .../reject-with-undefined-reject.js | 2 +- .../es6/debug-promises/stepin-constructor.js | 2 +- .../es6/debug-promises/stepin-handler.js | 2 +- .../es6/debug-promises/throw-caught-all.js | 2 +- .../es6/debug-promises/throw-caught-late.js | 2 +- .../debug-promises/throw-caught-uncaught.js | 2 +- .../es6/debug-promises/throw-uncaught-all.js | 2 +- .../debug-promises/throw-uncaught-uncaught.js | 2 +- .../throw-with-throw-in-reject.js | 2 +- .../throw-with-undefined-reject.js | 4 +- .../es6/debug-step-into-class-extends.js | 2 +- .../es6/debug-step-into-constructor.js | 2 +- .../es6/debug-step-into-regexp-subclass.js | 36 + .../es6/debug-stepin-collections-foreach.js | 124 +- .../mjsunit/es6/debug-stepin-generators.js | 2 +- .../mjsunit/es6/debug-stepin-microtasks.js | 4 +- .../es6/debug-stepin-string-template.js | 60 + .../v8/test/mjsunit/es6/debug-stepnext-for.js | 17 +- .../v8/test/mjsunit/es6/generators-parsing.js | 4 +- .../v8/test/mjsunit/es6/instanceof-proxies.js | 62 + .../test/mjsunit/es6/iteration-semantics.js | 53 +- .../v8/test/mjsunit/es6/legacy-subclassing.js | 38 + deps/v8/test/mjsunit/es6/new-target.js | 2 +- .../mjsunit/es6/no-unicode-regexp-flag.js | 24 + deps/v8/test/mjsunit/es6/object-tostring.js | 28 +- .../mjsunit/es6/promise-internal-setter.js | 2 + deps/v8/test/mjsunit/es6/promises.js | 101 +- .../v8/test/mjsunit/es6/regexp-constructor.js | 99 + deps/v8/test/mjsunit/es6/regexp-flags.js | 6 +- .../{harmony => es6}/regress/regress-4211.js | 2 - .../mjsunit/es6/regress/regress-468661.js | 2 +- .../regress/regress-508074.js | 1 - .../regress/regress-513474.js | 2 - .../mjsunit/es6/regress/regress-cr372788.js | 2 +- .../mjsunit/es6/regress/regress-cr493566.js | 66 +- .../mjsunit/es6/regress/regress-cr512574.js | 2 +- .../es6/regress/regress-inlined-new-target.js | 13 + .../es6/regress/regress-new-target-context.js | 25 + .../rest-params-lazy-parsing.js | 1 - .../mjsunit/{harmony => es6}/rest-params.js | 25 +- .../test/mjsunit/es6/spread-call-new-class.js | 2 +- .../mjsunit/es6/spread-call-super-property.js | 2 +- deps/v8/test/mjsunit/es6/string-repeat.js | 6 + deps/v8/test/mjsunit/es6/string-search.js | 20 + deps/v8/test/mjsunit/es6/super.js | 2 +- deps/v8/test/mjsunit/es6/symbols.js | 36 + deps/v8/test/mjsunit/es6/templates.js | 19 + .../test/mjsunit/es6/typed-array-iterator.js | 33 +- deps/v8/test/mjsunit/es6/typedarray-of.js | 46 +- deps/v8/test/mjsunit/es6/typedarray-proto.js | 62 +- deps/v8/test/mjsunit/es6/typedarray.js | 10 +- .../array-includes-to-object-sloppy.js | 2 - .../array-includes-to-object-strict.js | 2 - .../{harmony => es7}/array-includes.js | 2 - deps/v8/test/mjsunit/es7/object-observe.js | 4 +- .../mjsunit/es7/regress/regress-443982.js | 2 + .../{harmony => es7}/typed-array-includes.js | 2 - deps/v8/test/mjsunit/fast-prototype.js | 5 +- deps/v8/test/mjsunit/for-in-opt.js | 28 +- deps/v8/test/mjsunit/function-bind.js | 9 +- .../mjsunit/get-caller-js-function-throws.js | 14 - .../v8/test/mjsunit/get-caller-js-function.js | 21 - deps/v8/test/mjsunit/get-prototype-of.js | 18 +- .../mjsunit/global-const-var-conflicts.js | 2 + deps/v8/test/mjsunit/harmony/array-concat.js | 168 +- deps/v8/test/mjsunit/harmony/array-species.js | 156 + .../mjsunit/harmony/arraybuffer-species.js | 36 + deps/v8/test/mjsunit/harmony/atomics.js | 247 +- .../harmony/block-eval-var-over-let.js | 136 +- .../mjsunit/harmony/block-sloppy-function.js | 3 +- .../debug-step-destructuring-assignment.js | 86 + .../harmony/debug-step-destructuring-bind.js | 110 + .../debug-stepin-default-parameters.js | 46 + .../mjsunit/harmony/debug-stepin-proxies.js | 78 + .../default-parameters-destructuring.js | 2 +- .../mjsunit/harmony/default-parameters.js | 2 +- .../harmony/destructuring-assignment-lazy.js | 15 + .../harmony/destructuring-assignment.js | 482 + ...ucturing-parameters-literalcount-nolazy.js | 2 +- .../destructuring-parameters-literalcount.js | 2 +- deps/v8/test/mjsunit/harmony/destructuring.js | 9 +- .../v8/test/mjsunit/harmony/do-expressions.js | 32 +- deps/v8/test/mjsunit/harmony/function-name.js | 161 + deps/v8/test/mjsunit/harmony/futex.js | 76 +- .../test/mjsunit/harmony/private-symbols.js | 78 + .../test/mjsunit/harmony/promise-species.js | 42 + .../mjsunit/harmony/proxies-accesschecks.js | 15 + deps/v8/test/mjsunit/harmony/proxies-apply.js | 89 + deps/v8/test/mjsunit/harmony/proxies-bind.js | 137 + .../test/mjsunit/harmony/proxies-construct.js | 158 + .../harmony/proxies-cross-realm-exception.js | 53 + .../harmony/proxies-define-property.js | 84 + .../harmony/proxies-delete-property.js | 190 + .../test/mjsunit/harmony/proxies-enumerate.js | 109 + .../harmony/proxies-example-membrane.js | 12 +- deps/v8/test/mjsunit/harmony/proxies-for.js | 78 +- .../test/mjsunit/harmony/proxies-function.js | 1478 ++- .../proxies-get-own-property-descriptor.js | 129 + .../harmony/proxies-get-prototype-of.js | 93 + deps/v8/test/mjsunit/harmony/proxies-get.js | 127 + .../harmony/proxies-global-reference.js | 14 + .../harmony/proxies-has-own-property.js | 39 + deps/v8/test/mjsunit/harmony/proxies-has.js | 63 + deps/v8/test/mjsunit/harmony/proxies-hash.js | 9 +- .../test/mjsunit/harmony/proxies-integrity.js | 213 + .../mjsunit/harmony/proxies-is-extensible.js | 74 + deps/v8/test/mjsunit/harmony/proxies-json.js | 390 +- deps/v8/test/mjsunit/harmony/proxies-keys.js | 41 + .../mjsunit/harmony/proxies-object-assign.js | 30 + .../test/mjsunit/harmony/proxies-ownkeys.js | 84 + .../harmony/proxies-prevent-extensions.js | 87 + .../harmony/proxies-property-is-enumerable.js | 30 + ...proxies-prototype-handler-stackoverflow.js | 118 + .../proxies-prototype-target-stackoverflow.js | 97 + .../test/mjsunit/harmony/proxies-revocable.js | 26 + .../harmony/proxies-set-prototype-of.js | 122 + deps/v8/test/mjsunit/harmony/proxies-set.js | 312 + .../test/mjsunit/harmony/proxies-symbols.js | 106 - .../harmony/proxies-with-unscopables.js | 77 +- deps/v8/test/mjsunit/harmony/proxies-with.js | 243 +- deps/v8/test/mjsunit/harmony/proxies.js | 1504 +-- .../test/mjsunit/harmony/reflect-construct.js | 104 + .../mjsunit/harmony/reflect-enumerate-opt.js | 53 +- .../harmony/reflect-get-prototype-of.js | 18 +- .../test/mjsunit/harmony/reflect-own-keys.js | 93 + deps/v8/test/mjsunit/harmony/reflect.js | 48 +- .../test/mjsunit/harmony/regexp-lookbehind.js | 165 + .../mjsunit/harmony/regress/regress-2219.js | 2 +- .../mjsunit/harmony/regress/regress-2225.js | 37 +- .../mjsunit/harmony/regress/regress-405844.js | 13 - .../regress/regress-4395-global-eval.js | 2 +- .../mjsunit/harmony/regress/regress-4395.js | 2 +- .../mjsunit/harmony/regress/regress-4585.js | 16 + .../mjsunit/harmony/regress/regress-4658.js | 21 + .../mjsunit/harmony/regress/regress-517455.js | 2 +- .../mjsunit/harmony/regress/regress-576662.js | 11 + .../harmony/regress/regress-crbug-448730.js | 2 +- .../harmony/regress/regress-crbug-461520.js | 6 +- .../harmony/regress/regress-crbug-571149.js | 19 + .../regress/regress-lookup-transition.js | 2 +- .../test/mjsunit/harmony/sharedarraybuffer.js | 11 +- deps/v8/test/mjsunit/harmony/simd.js | 14 + deps/v8/test/mjsunit/harmony/species.js | 37 + deps/v8/test/mjsunit/harmony/string-match.js | 20 + .../mjsunit/harmony/typedarray-species.js | 86 + .../harmony/unicode-escapes-in-regexps.js | 45 + deps/v8/test/mjsunit/json.js | 40 +- deps/v8/test/mjsunit/messages.js | 48 +- deps/v8/test/mjsunit/mirror-script.js | 2 +- deps/v8/test/mjsunit/mjsunit.js | 77 +- deps/v8/test/mjsunit/mjsunit.status | 241 +- .../mjsunit/parallel-optimize-disabled.js | 2 +- .../test/mjsunit/property-load-across-eval.js | 2 + .../test/mjsunit/random-bit-correlations.js | 69 + deps/v8/test/mjsunit/readonly.js | 5 +- deps/v8/test/mjsunit/regexp-not-sticky-yet.js | 1 + deps/v8/test/mjsunit/regexp.js | 9 +- deps/v8/test/mjsunit/regress-3225.js | 14 +- .../mjsunit/regress/debug-prepare-step-in.js | 2 +- .../regress/property-descriptor-to-object.js | 8 + .../v8/test/mjsunit/regress/regress-109195.js | 2 +- .../test/mjsunit/regress/regress-1178598.js | 2 + .../test/mjsunit/regress/regress-1182832.js | 2 + .../test/mjsunit/regress/regress-1199637.js | 2 +- .../test/mjsunit/regress/regress-1201933.js | 2 + .../test/mjsunit/regress/regress-1207276.js | 2 + .../test/mjsunit/regress/regress-1213575.js | 2 + deps/v8/test/mjsunit/regress/regress-1229.js | 146 - .../v8/test/mjsunit/regress/regress-147497.js | 2 +- deps/v8/test/mjsunit/regress/regress-186.js | 2 + deps/v8/test/mjsunit/regress/regress-2596.js | 8 +- deps/v8/test/mjsunit/regress/regress-3138.js | 2 + .../v8/test/mjsunit/regress/regress-325676.js | 8 +- deps/v8/test/mjsunit/regress/regress-3641.js | 56 + .../v8/test/mjsunit/regress/regress-380049.js | 9 - .../test/mjsunit/regress/regress-417709b.js | 2 +- .../v8/test/mjsunit/regress/regress-436896.js | 2 +- deps/v8/test/mjsunit/regress/regress-4576.js | 12 + deps/v8/test/mjsunit/regress/regress-4640.js | 19 + deps/v8/test/mjsunit/regress/regress-4665.js | 33 + deps/v8/test/mjsunit/regress/regress-4693.js | 29 + .../v8/test/mjsunit/regress/regress-544991.js | 20 +- .../v8/test/mjsunit/regress/regress-552302.js | 2 +- .../v8/test/mjsunit/regress/regress-554865.js | 10 + .../v8/test/mjsunit/regress/regress-556543.js | 17 + .../v8/test/mjsunit/regress/regress-568765.js | 93 + .../v8/test/mjsunit/regress/regress-572589.js | 12 + ...ress-crbug-493568.js => regress-575364.js} | 12 +- .../v8/test/mjsunit/regress/regress-578775.js | 18 + .../v8/test/mjsunit/regress/regress-583260.js | 12 + deps/v8/test/mjsunit/regress/regress-641.js | 2 + deps/v8/test/mjsunit/regress/regress-70066.js | 4 +- .../v8/test/mjsunit/regress/regress-799761.js | 2 + deps/v8/test/mjsunit/regress/regress-88591.js | 2 + deps/v8/test/mjsunit/regress/regress-91120.js | 20 +- deps/v8/test/mjsunit/regress/regress-995.js | 2 +- .../regress/regress-conditional-position.js | 6 +- .../mjsunit/regress/regress-crbug-109362.js | 20 +- .../mjsunit/regress/regress-crbug-119800.js | 2 +- .../mjsunit/regress/regress-crbug-323936.js | 16 +- .../mjsunit/regress/regress-crbug-352586.js | 2 +- .../mjsunit/regress/regress-crbug-364374.js | 56 + .../mjsunit/regress/regress-crbug-380671.js | 8 + .../mjsunit/regress/regress-crbug-390925.js | 3 +- .../mjsunit/regress/regress-crbug-401915.js | 2 +- .../mjsunit/regress/regress-crbug-405517.js | 2 +- .../mjsunit/regress/regress-crbug-405922.js | 5 +- .../mjsunit/regress/regress-crbug-409614.js | 6 +- .../mjsunit/regress/regress-crbug-412319.js | 2 +- .../mjsunit/regress/regress-crbug-422858.js | 23 + .../mjsunit/regress/regress-crbug-435825.js | 2 +- .../regress/regress-crbug-451770.js | 0 .../mjsunit/regress/regress-crbug-467180.js | 2 +- .../mjsunit/regress/regress-crbug-481896.js | 4 +- .../mjsunit/regress/regress-crbug-487322.js | 25 + .../mjsunit/regress/regress-crbug-505907.js | 4 +- .../mjsunit/regress/regress-crbug-506956.js | 4 +- .../mjsunit/regress/regress-crbug-517592.js | 2 +- .../mjsunit/regress/regress-crbug-523308.js | 3 +- .../mjsunit/regress/regress-crbug-551287.js | 17 + .../mjsunit/regress/regress-crbug-554831.js | 15 + .../mjsunit/regress/regress-crbug-557807.js | 11 + .../mjsunit/regress/regress-crbug-561973.js | 7 + .../mjsunit/regress/regress-crbug-563929.js | 31 + .../mjsunit/regress/regress-crbug-565917.js | 7 + .../mjsunit/regress/regress-crbug-568477-1.js | 54 + .../mjsunit/regress/regress-crbug-568477-2.js | 39 + .../mjsunit/regress/regress-crbug-568477-3.js | 56 + .../mjsunit/regress/regress-crbug-568477-4.js | 39 + .../mjsunit/regress/regress-crbug-568525.js | 7 + .../mjsunit/regress/regress-crbug-569534.js | 7 + .../mjsunit/regress/regress-crbug-570241.js | 7 + .../mjsunit/regress/regress-crbug-570651.js | 10 + .../mjsunit/regress/regress-crbug-571064.js | 19 + .../mjsunit/regress/regress-crbug-571370.js | 10 + .../mjsunit/regress/regress-crbug-571517.js | 36 + .../mjsunit/regress/regress-crbug-572590.js | 10 + .../mjsunit/regress/regress-crbug-573857.js | 13 + .../mjsunit/regress/regress-crbug-573858.js | 16 + .../mjsunit/regress/regress-crbug-575080.js | 16 + .../mjsunit/regress/regress-crbug-575082.js | 5 + .../mjsunit/regress/regress-crbug-575314.js | 15 + ...578039-Proxy_construct_prototype_change.js | 14 + .../regress/regress-debugger-redirect.js | 2 +- .../regress-deopt-in-array-literal-spread.js | 12 + .../regress/regress-ensure-initial-map.js | 22 + .../regress-function-constructor-receiver.js | 17 - .../regress-handle-illegal-redeclaration.js | 2 +- .../regress-inline-arrow-as-construct.js | 19 + .../regress-inline-strong-as-construct.js | 21 + .../regress/regress-osr-in-case-label.js | 18 + .../mjsunit/regress/regress-osr-in-literal.js | 30 + .../regress/regress-typedarray-length.js | 12 +- .../mjsunit/regress/regress-undefined-nan.js | 4 +- .../mjsunit/regress/regress-undefined-nan3.js | 4 +- deps/v8/test/mjsunit/stack-traces-2.js | 3 - deps/v8/test/mjsunit/stack-traces.js | 25 +- deps/v8/test/mjsunit/strict-mode.js | 12 +- .../mjsunit/strong/declaration-after-use.js | 2 +- deps/v8/test/mjsunit/strong/destructuring.js | 2 +- deps/v8/test/mjsunit/strong/eval-direct.js | 5 +- deps/v8/test/mjsunit/strong/function-arity.js | 2 +- deps/v8/test/mjsunit/strong/literals.js | 3 +- deps/v8/test/mjsunit/strong/load-proxy.js | 36 +- ...runtime-tail.js => tail-call-intrinsic.js} | 48 +- .../third_party/regexp-pcre/regexp-pcre.js | 102 +- deps/v8/test/mjsunit/wasm/OWNERS | 3 + deps/v8/test/mjsunit/wasm/asm-wasm.js | 785 ++ deps/v8/test/mjsunit/wasm/calls.js | 145 + .../v8/test/mjsunit/wasm/compile-run-basic.js | 31 + deps/v8/test/mjsunit/wasm/divrem-trap.js | 97 + deps/v8/test/mjsunit/wasm/ffi-error.js | 79 + deps/v8/test/mjsunit/wasm/ffi.js | 333 + deps/v8/test/mjsunit/wasm/indirect-calls.js | 73 + .../mjsunit/wasm/instantiate-module-basic.js | 62 + deps/v8/test/mjsunit/wasm/module-memory.js | 181 + deps/v8/test/mjsunit/wasm/params.js | 139 + deps/v8/test/mjsunit/wasm/stackwalk.js | 135 + deps/v8/test/mjsunit/wasm/unreachable.js | 48 + .../wasm/verify-function-basic-errors.js | 18 + .../mjsunit/wasm/verify-function-simple.js | 44 + .../wasm/verify-module-basic-errors.js | 18 + deps/v8/test/mjsunit/wasm/wasm-constants.js | 248 + deps/v8/test/mjsunit/wasm/wasm-object-api.js | 11 + deps/v8/test/mozilla/mozilla.status | 34 +- deps/v8/test/test262/test262.status | 320 +- .../unittests/cancelable-tasks-unittest.cc | 218 + .../arm/instruction-selector-arm-unittest.cc | 453 +- .../instruction-selector-arm64-unittest.cc | 595 +- .../binary-operator-reducer-unittest.cc | 94 - .../compiler/branch-elimination-unittest.cc | 39 +- .../bytecode-graph-builder-unittest.cc | 259 - .../compiler/change-lowering-unittest.cc | 224 +- .../common-operator-reducer-unittest.cc | 104 +- .../compiler/common-operator-unittest.cc | 17 +- .../compiler/control-equivalence-unittest.cc | 4 +- .../control-flow-optimizer-unittest.cc | 4 +- .../dead-code-elimination-unittest.cc | 36 +- .../unittests/compiler/diamond-unittest.cc | 3 +- .../compiler/escape-analysis-unittest.cc | 396 + .../instruction-selector-ia32-unittest.cc | 111 +- .../compiler/instruction-selector-unittest.cc | 119 +- .../compiler/instruction-selector-unittest.h | 18 +- .../interpreter-assembler-unittest.cc | 255 +- .../compiler/interpreter-assembler-unittest.h | 7 +- .../compiler/js-builtin-reducer-unittest.cc | 6 +- .../js-context-relaxation-unittest.cc | 10 +- .../js-intrinsic-lowering-unittest.cc | 116 +- .../compiler/js-operator-unittest.cc | 17 +- .../compiler/js-typed-lowering-unittest.cc | 358 +- .../compiler/linkage-tail-call-unittest.cc | 82 +- .../unittests/compiler/live-range-builder.h | 2 +- .../unittests/compiler/live-range-unittest.cc | 8 +- .../compiler/liveness-analyzer-unittest.cc | 2 +- .../compiler/loop-peeling-unittest.cc | 50 +- .../machine-operator-reducer-unittest.cc | 46 +- .../compiler/machine-operator-unittest.cc | 83 +- deps/v8/test/unittests/compiler/mips/OWNERS | 1 + .../instruction-selector-mips-unittest.cc | 500 +- deps/v8/test/unittests/compiler/mips64/OWNERS | 1 + .../instruction-selector-mips64-unittest.cc | 743 +- .../compiler/move-optimizer-unittest.cc | 12 +- .../unittests/compiler/node-test-utils.cc | 120 +- .../test/unittests/compiler/node-test-utils.h | 18 +- .../unittests/compiler/scheduler-unittest.cc | 80 +- .../compiler/select-lowering-unittest.cc | 20 +- .../compiler/simplified-operator-unittest.cc | 49 +- .../tail-call-optimization-unittest.cc | 30 +- .../test/unittests/compiler/typer-unittest.cc | 116 +- .../x64/instruction-selector-x64-unittest.cc | 208 +- .../bytecode-array-builder-unittest.cc | 261 +- .../bytecode-array-iterator-unittest.cc | 5 +- .../bytecode-register-allocator-unittest.cc | 67 + .../interpreter/bytecodes-unittest.cc | 2 +- .../constant-array-builder-unittest.cc | 225 + .../test/unittests/locked-queue-unittest.cc | 90 + deps/v8/test/unittests/unittests.gyp | 20 +- deps/v8/test/unittests/unittests.status | 8 + deps/v8/test/unittests/wasm/OWNERS | 3 + .../unittests/wasm/ast-decoder-unittest.cc | 2439 +++++ .../test/unittests/wasm/encoder-unittest.cc | 151 + .../unittests/wasm/module-decoder-unittest.cc | 957 ++ .../unittests/wasm/wasm-macro-gen-unittest.cc | 319 + .../webkit/class-syntax-call-expected.txt | 10 +- deps/v8/test/webkit/class-syntax-call.js | 10 +- .../class-syntax-declaration-expected.txt | 4 +- .../test/webkit/class-syntax-declaration.js | 2 +- ...ss-syntax-default-constructor-expected.txt | 4 +- .../class-syntax-default-constructor.js | 4 +- .../class-syntax-expression-expected.txt | 4 +- .../v8/test/webkit/class-syntax-expression.js | 2 +- .../webkit/class-syntax-extends-expected.txt | 2 +- deps/v8/test/webkit/class-syntax-extends.js | 2 +- .../webkit/class-syntax-super-expected.txt | 4 +- deps/v8/test/webkit/class-syntax-super.js | 4 +- .../test/webkit/const-without-initializer.js | 2 + deps/v8/test/webkit/constant-count.js | 2 + .../exception-for-nonobject-expected.txt | 2 +- .../fast/js/JSON-parse-reviver-expected.txt | 21 +- .../test/webkit/fast/js/JSON-parse-reviver.js | 5 +- .../webkit/fast/js/arguments-expected.txt | 2 +- .../fast/js/function-apply-expected.txt | 6 +- deps/v8/test/webkit/fast/js/function-apply.js | 2 +- ...function-toString-parentheses-expected.txt | 4 +- .../webkit/fast/js/kde/RegExp-expected.txt | 2 +- .../webkit/fast/js/kde/func-decl-expected.txt | 9 +- .../js/native-error-prototype-expected.txt | 4 +- .../webkit/fast/js/native-error-prototype.js | 4 +- .../fast/js/parser-syntax-check-expected.txt | 20 +- .../fast/js/toString-overrides-expected.txt | 4 +- .../fast/regex/constructor-expected.txt | 4 +- deps/v8/test/webkit/fast/regex/constructor.js | 4 +- .../webkit/fast/regex/toString-expected.txt | 6 +- .../test/webkit/regexp-compile-expected.txt | 2 +- deps/v8/test/webkit/regexp-compile.js | 2 +- .../webkit/run-json-stringify-expected.txt | 4 +- .../webkit/toString-recursion-expected.txt | 1 - deps/v8/test/webkit/toString-recursion.js | 3 - deps/v8/test/webkit/webkit.status | 10 + deps/v8/tools/bash-completion.sh | 8 +- deps/v8/tools/check-static-initializers.gyp | 26 + .../tools/check-static-initializers.isolate | 16 + deps/v8/tools/cpu.sh | 39 +- deps/v8/tools/eval_gc_time.sh | 106 + deps/v8/tools/gc_nvp_common.py | 2 +- deps/v8/tools/gen-postmortem-metadata.py | 8 +- deps/v8/tools/gyp/v8.gyp | 209 +- deps/v8/tools/ll_prof.py | 34 +- deps/v8/tools/parser-shell.cc | 10 +- deps/v8/tools/presubmit.py | 68 +- deps/v8/tools/release/auto_roll.py | 222 +- deps/v8/tools/release/chromium_roll.py | 161 - deps/v8/tools/release/common_includes.py | 50 +- deps/v8/tools/release/releases.py | 9 +- deps/v8/tools/release/test_scripts.py | 145 +- deps/v8/tools/run-deopt-fuzzer.py | 5 +- deps/v8/tools/run-tests.py | 17 +- deps/v8/tools/run-valgrind.py | 35 +- deps/v8/tools/testrunner/local/execution.py | 179 +- deps/v8/tools/testrunner/local/perfdata.py | 26 + deps/v8/tools/testrunner/local/pool.py | 29 +- deps/v8/tools/testrunner/local/progress.py | 37 +- deps/v8/tools/testrunner/local/statusfile.py | 36 +- deps/v8/tools/testrunner/local/testsuite.py | 21 +- deps/v8/tools/testrunner/network/endpoint.py | 1 + deps/v8/tools/testrunner/objects/context.py | 8 +- deps/v8/tools/testrunner/objects/testcase.py | 8 + deps/v8/tools/try_perf.py | 29 + deps/v8/tools/v8heapconst.py | 464 +- deps/v8/tools/whitespace.txt | 2 +- 1562 files changed, 132791 insertions(+), 70773 deletions(-) create mode 100644 deps/v8/docs/README.md delete mode 100644 deps/v8/docs/arm_debugging_with_the_simulator.md delete mode 100644 deps/v8/docs/becoming_v8_committer.md delete mode 100644 deps/v8/docs/building_with_gyp.md delete mode 100644 deps/v8/docs/contributing.md delete mode 100644 deps/v8/docs/cross_compiling_for_arm.md delete mode 100644 deps/v8/docs/d8_on_android.md delete mode 100644 deps/v8/docs/debugger_protocol.md delete mode 100644 deps/v8/docs/gdb_jit_interface.md delete mode 100644 deps/v8/docs/handling_of_ports.md delete mode 100644 deps/v8/docs/i18n_support.md delete mode 100644 deps/v8/docs/javascript.md delete mode 100644 deps/v8/docs/javascript_stack_trace_api.md delete mode 100644 deps/v8/docs/merging_and_patching.md delete mode 100644 deps/v8/docs/profiling_chromium_with_v8.md delete mode 100644 deps/v8/docs/release_process.md delete mode 100644 deps/v8/docs/runtime_functions.md delete mode 100644 deps/v8/docs/source.md delete mode 100644 deps/v8/docs/testing.md delete mode 100644 deps/v8/docs/triaging_issues.md delete mode 100644 deps/v8/docs/using_git.md delete mode 100644 deps/v8/docs/v8_c_plus_plus_styleand_sops.md delete mode 100644 deps/v8/docs/v8_committers_responsibility.md delete mode 100644 deps/v8/docs/v8_profiler.md create mode 100644 deps/v8/include/v8-experimental.h create mode 100644 deps/v8/src/api-experimental.cc create mode 100644 deps/v8/src/api-experimental.h create mode 100644 deps/v8/src/ast/OWNERS create mode 100644 deps/v8/src/ast/ast-expression-rewriter.cc create mode 100644 deps/v8/src/ast/ast-expression-rewriter.h rename deps/v8/src/{ => ast}/ast-expression-visitor.cc (93%) rename deps/v8/src/{ => ast}/ast-expression-visitor.h (86%) rename deps/v8/src/{ => ast}/ast-literal-reindexer.cc (96%) rename deps/v8/src/{ => ast}/ast-literal-reindexer.h (85%) rename deps/v8/src/{ => ast}/ast-numbering.cc (96%) rename deps/v8/src/{ => ast}/ast-numbering.h (83%) rename deps/v8/src/{ => ast}/ast-value-factory.cc (99%) rename deps/v8/src/{ => ast}/ast-value-factory.h (96%) rename deps/v8/src/{ => ast}/ast.cc (73%) rename deps/v8/src/{ => ast}/ast.h (86%) rename deps/v8/src/{ => ast}/modules.cc (96%) rename deps/v8/src/{ => ast}/modules.h (97%) rename deps/v8/src/{ => ast}/prettyprinter.cc (93%) rename deps/v8/src/{ => ast}/prettyprinter.h (94%) rename deps/v8/src/{ => ast}/scopeinfo.cc (99%) rename deps/v8/src/{ => ast}/scopeinfo.h (97%) rename deps/v8/src/{ => ast}/scopes.cc (95%) rename deps/v8/src/{ => ast}/scopes.h (98%) rename deps/v8/src/{ => ast}/variables.cc (96%) rename deps/v8/src/{ => ast}/variables.h (96%) create mode 100644 deps/v8/src/compiler/arm/instruction-scheduler-arm.cc create mode 100644 deps/v8/src/compiler/arm64/instruction-scheduler-arm64.cc delete mode 100644 deps/v8/src/compiler/binary-operator-reducer.cc delete mode 100644 deps/v8/src/compiler/binary-operator-reducer.h create mode 100644 deps/v8/src/compiler/bytecode-branch-analysis.cc create mode 100644 deps/v8/src/compiler/bytecode-branch-analysis.h create mode 100644 deps/v8/src/compiler/code-stub-assembler.cc create mode 100644 deps/v8/src/compiler/code-stub-assembler.h create mode 100644 deps/v8/src/compiler/escape-analysis-reducer.cc create mode 100644 deps/v8/src/compiler/escape-analysis-reducer.h create mode 100644 deps/v8/src/compiler/escape-analysis.cc create mode 100644 deps/v8/src/compiler/escape-analysis.h create mode 100644 deps/v8/src/compiler/fast-accessor-assembler.cc create mode 100644 deps/v8/src/compiler/fast-accessor-assembler.h create mode 100644 deps/v8/src/compiler/ia32/instruction-scheduler-ia32.cc create mode 100644 deps/v8/src/compiler/instruction-scheduler.cc create mode 100644 deps/v8/src/compiler/instruction-scheduler.h create mode 100644 deps/v8/src/compiler/js-call-reducer.cc create mode 100644 deps/v8/src/compiler/js-call-reducer.h delete mode 100644 deps/v8/src/compiler/machine-type.cc delete mode 100644 deps/v8/src/compiler/machine-type.h create mode 100644 deps/v8/src/compiler/mips/instruction-scheduler-mips.cc create mode 100644 deps/v8/src/compiler/mips64/instruction-scheduler-mips64.cc create mode 100644 deps/v8/src/compiler/ppc/instruction-scheduler-ppc.cc create mode 100644 deps/v8/src/compiler/representation-change.cc create mode 100644 deps/v8/src/compiler/type-hint-analyzer.cc create mode 100644 deps/v8/src/compiler/type-hint-analyzer.h create mode 100644 deps/v8/src/compiler/type-hints.cc create mode 100644 deps/v8/src/compiler/type-hints.h create mode 100644 deps/v8/src/compiler/wasm-compiler.cc create mode 100644 deps/v8/src/compiler/wasm-compiler.h create mode 100644 deps/v8/src/compiler/wasm-linkage.cc create mode 100644 deps/v8/src/compiler/x64/instruction-scheduler-x64.cc create mode 100644 deps/v8/src/compiler/x87/instruction-scheduler-x87.cc create mode 100644 deps/v8/src/interpreter/bytecode-register-allocator.cc create mode 100644 deps/v8/src/interpreter/bytecode-register-allocator.h create mode 100644 deps/v8/src/interpreter/constant-array-builder.cc create mode 100644 deps/v8/src/interpreter/constant-array-builder.h create mode 100644 deps/v8/src/js/OWNERS delete mode 100644 deps/v8/src/js/code-stubs.js delete mode 100644 deps/v8/src/js/date.js delete mode 100644 deps/v8/src/js/harmony-array-includes.js create mode 100644 deps/v8/src/js/harmony-species.js create mode 100644 deps/v8/src/js/harmony-unicode-regexps.js create mode 100644 deps/v8/src/js/promise-extra.js create mode 100644 deps/v8/src/locked-queue-inl.h create mode 100644 deps/v8/src/locked-queue.h create mode 100644 deps/v8/src/machine-type.cc create mode 100644 deps/v8/src/machine-type.h create mode 100644 deps/v8/src/objects-body-descriptors-inl.h create mode 100644 deps/v8/src/objects-body-descriptors.h create mode 100644 deps/v8/src/parsing/OWNERS rename deps/v8/src/{ => parsing}/expression-classifier.h (82%) rename deps/v8/src/{ => parsing}/func-name-inferrer.cc (96%) rename deps/v8/src/{ => parsing}/func-name-inferrer.h (96%) rename deps/v8/src/{ => parsing}/json-parser.h (97%) rename deps/v8/src/{ => parsing}/parameter-initializer-rewriter.cc (83%) rename deps/v8/src/{ => parsing}/parameter-initializer-rewriter.h (71%) rename deps/v8/src/{preparser.h => parsing/parser-base.h} (69%) rename deps/v8/src/{ => parsing}/parser.cc (81%) rename deps/v8/src/{ => parsing}/parser.h (81%) rename deps/v8/src/{ => parsing}/pattern-rewriter.cc (60%) rename deps/v8/src/{ => parsing}/preparse-data-format.h (89%) rename deps/v8/src/{ => parsing}/preparse-data.cc (96%) rename deps/v8/src/{ => parsing}/preparse-data.h (97%) rename deps/v8/src/{ => parsing}/preparser.cc (94%) create mode 100644 deps/v8/src/parsing/preparser.h rename deps/v8/src/{ => parsing}/rewriter.cc (99%) rename deps/v8/src/{ => parsing}/rewriter.h (91%) rename deps/v8/src/{ => parsing}/scanner-character-streams.cc (99%) rename deps/v8/src/{ => parsing}/scanner-character-streams.h (96%) rename deps/v8/src/{ => parsing}/scanner.cc (93%) rename deps/v8/src/{ => parsing}/scanner.h (96%) rename deps/v8/src/{ => parsing}/token.cc (96%) rename deps/v8/src/{ => parsing}/token.h (97%) create mode 100644 deps/v8/src/regexp/regexp-ast.cc create mode 100644 deps/v8/src/regexp/regexp-ast.h create mode 100644 deps/v8/src/regexp/regexp-parser.cc create mode 100644 deps/v8/src/regexp/regexp-parser.h create mode 100644 deps/v8/src/tracing/trace-event.cc create mode 100644 deps/v8/src/tracing/trace-event.h create mode 100644 deps/v8/src/wasm/OWNERS create mode 100644 deps/v8/src/wasm/asm-wasm-builder.cc create mode 100644 deps/v8/src/wasm/asm-wasm-builder.h create mode 100644 deps/v8/src/wasm/ast-decoder.cc create mode 100644 deps/v8/src/wasm/ast-decoder.h create mode 100644 deps/v8/src/wasm/decoder.h create mode 100644 deps/v8/src/wasm/encoder.cc create mode 100644 deps/v8/src/wasm/encoder.h create mode 100644 deps/v8/src/wasm/module-decoder.cc create mode 100644 deps/v8/src/wasm/module-decoder.h create mode 100644 deps/v8/src/wasm/wasm-js.cc create mode 100644 deps/v8/src/wasm/wasm-js.h create mode 100644 deps/v8/src/wasm/wasm-macro-gen.h create mode 100644 deps/v8/src/wasm/wasm-module.cc create mode 100644 deps/v8/src/wasm/wasm-module.h create mode 100644 deps/v8/src/wasm/wasm-opcodes.cc create mode 100644 deps/v8/src/wasm/wasm-opcodes.h create mode 100644 deps/v8/src/wasm/wasm-result.cc create mode 100644 deps/v8/src/wasm/wasm-result.h create mode 100644 deps/v8/test/cctest/compiler/test-code-stub-assembler.cc rename deps/v8/test/cctest/{ => heap}/heap-tester.h (68%) rename deps/v8/test/cctest/{ => heap}/test-alloc.cc (96%) create mode 100644 deps/v8/test/cctest/heap/test-compaction.cc rename deps/v8/test/cctest/{ => heap}/test-heap.cc (95%) rename deps/v8/test/cctest/{ => heap}/test-incremental-marking.cc (86%) create mode 100644 deps/v8/test/cctest/heap/test-lab.cc rename deps/v8/test/cctest/{ => heap}/test-mark-compact.cc (98%) rename deps/v8/test/cctest/{ => heap}/test-spaces.cc (93%) create mode 100644 deps/v8/test/cctest/heap/utils-inl.h create mode 100644 deps/v8/test/cctest/test-api-fast-accessor-builder.cc create mode 100644 deps/v8/test/cctest/test-inobject-slack-tracking.cc create mode 100644 deps/v8/test/cctest/test-receiver-check-hidden-prototype.cc create mode 100644 deps/v8/test/cctest/test-trace-event.cc create mode 100644 deps/v8/test/cctest/wasm/OWNERS create mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-js.cc create mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-module.cc create mode 100644 deps/v8/test/cctest/wasm/test-run-wasm.cc create mode 100644 deps/v8/test/cctest/wasm/test-signatures.h create mode 100644 deps/v8/test/cctest/wasm/wasm-run-utils.h create mode 100644 deps/v8/test/ignition.gyp create mode 100644 deps/v8/test/ignition.isolate create mode 100644 deps/v8/test/message/default-parameter-tdz-arrow.js create mode 100644 deps/v8/test/message/default-parameter-tdz-arrow.out create mode 100644 deps/v8/test/message/default-parameter-tdz.js create mode 100644 deps/v8/test/message/default-parameter-tdz.out create mode 100644 deps/v8/test/message/for-in-loop-initializers-destructuring.js create mode 100644 deps/v8/test/message/for-in-loop-initializers-destructuring.out create mode 100644 deps/v8/test/message/nf-yield-in-generator.js create mode 100644 deps/v8/test/message/nf-yield-in-generator.out create mode 100644 deps/v8/test/message/nf-yield-strict-in-generator.js create mode 100644 deps/v8/test/message/nf-yield-strict-in-generator.out create mode 100644 deps/v8/test/message/nf-yield-strict.js create mode 100644 deps/v8/test/message/nf-yield-strict.out create mode 100644 deps/v8/test/message/nfe-yield-generator.js create mode 100644 deps/v8/test/message/nfe-yield-generator.out create mode 100644 deps/v8/test/message/nfe-yield-strict.js create mode 100644 deps/v8/test/message/nfe-yield-strict.out delete mode 100644 deps/v8/test/message/single-function-literal.out create mode 100644 deps/v8/test/mjsunit/array-isarray.js create mode 100644 deps/v8/test/mjsunit/bugs/bug-4577.js create mode 100644 deps/v8/test/mjsunit/callsite.js rename deps/v8/test/mjsunit/{regress/regress-351315.js => compiler/deopt-during-eval-lookup.js} (80%) rename deps/v8/test/{message/single-function-literal.js => mjsunit/compiler/escape-analysis-1.js} (83%) rename deps/v8/test/mjsunit/{regress/regress-1945.js => compiler/escape-analysis-10.js} (86%) create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-2.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-3.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-4.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-5.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-6.js rename deps/v8/test/mjsunit/compiler/{stubs/floor-stub.js => escape-analysis-7.js} (54%) create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-8.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-9.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-1.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-2.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-3.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-4.js create mode 100644 deps/v8/test/mjsunit/compiler/escape-analysis-deopt-5.js create mode 100644 deps/v8/test/mjsunit/compiler/mul-div-52bit.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-572409.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-f64-w32-change.js create mode 100644 deps/v8/test/mjsunit/cross-realm-global-prototype.js create mode 100644 deps/v8/test/mjsunit/debug-evaluate-declaration.js create mode 100644 deps/v8/test/mjsunit/debug-evaluate-modify-catch-block-scope.js create mode 100644 deps/v8/test/mjsunit/debug-evaluate-shadowed-context.js create mode 100644 deps/v8/test/mjsunit/debug-liveedit-stepin.js rename deps/v8/test/mjsunit/{debug-step-4-in-frame.js => debug-step-4.js} (77%) create mode 100644 deps/v8/test/mjsunit/debug-step-end-of-script.js create mode 100644 deps/v8/test/mjsunit/debug-step-into-json.js create mode 100644 deps/v8/test/mjsunit/debug-step-into-valueof.js create mode 100644 deps/v8/test/mjsunit/debug-stepin-builtin-callback-opt.js rename deps/v8/test/mjsunit/{harmony => es6}/arrow-rest-params-lazy-parsing.js (99%) rename deps/v8/test/mjsunit/{harmony => es6}/arrow-rest-params.js (98%) rename deps/v8/test/mjsunit/{harmony => es6}/block-eval-var-over-legacy-const.js (61%) rename deps/v8/test/mjsunit/{harmony => es6}/block-let-contextual-sloppy.js (97%) rename deps/v8/test/mjsunit/{harmony => es6}/block-scope-class.js (100%) rename deps/v8/test/mjsunit/{harmony => es6}/classes-derived-return-type.js (100%) create mode 100644 deps/v8/test/mjsunit/es6/classes-proxy.js create mode 100644 deps/v8/test/mjsunit/es6/classof-proxy.js create mode 100644 deps/v8/test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js create mode 100644 deps/v8/test/mjsunit/es6/debug-liveedit-new-target-1.js create mode 100644 deps/v8/test/mjsunit/es6/debug-liveedit-new-target-2.js create mode 100644 deps/v8/test/mjsunit/es6/debug-liveedit-new-target-3.js create mode 100644 deps/v8/test/mjsunit/es6/debug-step-into-regexp-subclass.js create mode 100644 deps/v8/test/mjsunit/es6/debug-stepin-string-template.js create mode 100644 deps/v8/test/mjsunit/es6/instanceof-proxies.js create mode 100644 deps/v8/test/mjsunit/es6/legacy-subclassing.js create mode 100644 deps/v8/test/mjsunit/es6/no-unicode-regexp-flag.js create mode 100644 deps/v8/test/mjsunit/es6/regexp-constructor.js rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-4211.js (91%) rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-508074.js (92%) rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-513474.js (85%) create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-inlined-new-target.js create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-new-target-context.js rename deps/v8/test/mjsunit/{harmony => es6}/rest-params-lazy-parsing.js (96%) rename deps/v8/test/mjsunit/{harmony => es6}/rest-params.js (88%) create mode 100644 deps/v8/test/mjsunit/es6/string-search.js rename deps/v8/test/mjsunit/{harmony => es7}/array-includes-to-object-sloppy.js (96%) rename deps/v8/test/mjsunit/{harmony => es7}/array-includes-to-object-strict.js (96%) rename deps/v8/test/mjsunit/{harmony => es7}/array-includes.js (99%) rename deps/v8/test/mjsunit/{harmony => es7}/typed-array-includes.js (99%) delete mode 100644 deps/v8/test/mjsunit/get-caller-js-function-throws.js delete mode 100644 deps/v8/test/mjsunit/get-caller-js-function.js create mode 100644 deps/v8/test/mjsunit/harmony/array-species.js create mode 100644 deps/v8/test/mjsunit/harmony/arraybuffer-species.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-step-destructuring-assignment.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-step-destructuring-bind.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-stepin-default-parameters.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-stepin-proxies.js create mode 100644 deps/v8/test/mjsunit/harmony/destructuring-assignment-lazy.js create mode 100644 deps/v8/test/mjsunit/harmony/destructuring-assignment.js create mode 100644 deps/v8/test/mjsunit/harmony/function-name.js create mode 100644 deps/v8/test/mjsunit/harmony/private-symbols.js create mode 100644 deps/v8/test/mjsunit/harmony/promise-species.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-accesschecks.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-apply.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-bind.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-construct.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-cross-realm-exception.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-define-property.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-delete-property.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-enumerate.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-get-own-property-descriptor.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-get-prototype-of.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-get.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-global-reference.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-has-own-property.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-has.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-integrity.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-is-extensible.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-keys.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-object-assign.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-ownkeys.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-prevent-extensions.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-property-is-enumerable.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-prototype-handler-stackoverflow.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-prototype-target-stackoverflow.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-revocable.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-set-prototype-of.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-set.js delete mode 100644 deps/v8/test/mjsunit/harmony/proxies-symbols.js create mode 100644 deps/v8/test/mjsunit/harmony/reflect-own-keys.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-lookbehind.js delete mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-405844.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-4585.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-4658.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-576662.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-crbug-571149.js create mode 100644 deps/v8/test/mjsunit/harmony/species.js create mode 100644 deps/v8/test/mjsunit/harmony/string-match.js create mode 100644 deps/v8/test/mjsunit/harmony/typedarray-species.js create mode 100644 deps/v8/test/mjsunit/random-bit-correlations.js create mode 100644 deps/v8/test/mjsunit/regress/property-descriptor-to-object.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-1229.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3641.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-380049.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4576.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4640.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4665.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4693.js create mode 100644 deps/v8/test/mjsunit/regress/regress-554865.js create mode 100644 deps/v8/test/mjsunit/regress/regress-556543.js create mode 100644 deps/v8/test/mjsunit/regress/regress-568765.js create mode 100644 deps/v8/test/mjsunit/regress/regress-572589.js rename deps/v8/test/mjsunit/regress/{regress-crbug-493568.js => regress-575364.js} (50%) create mode 100644 deps/v8/test/mjsunit/regress/regress-578775.js create mode 100644 deps/v8/test/mjsunit/regress/regress-583260.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-364374.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-380671.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-422858.js rename deps/v8/test/mjsunit/{harmony => }/regress/regress-crbug-451770.js (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-487322.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-551287.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-554831.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-557807.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-561973.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-563929.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-565917.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-568477-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-568477-3.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-568477-4.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-568525.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-569534.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-570241.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-570651.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-571064.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-571370.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-571517.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-572590.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-573857.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-573858.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-575080.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-575082.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-575314.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-578039-Proxy_construct_prototype_change.js create mode 100644 deps/v8/test/mjsunit/regress/regress-deopt-in-array-literal-spread.js create mode 100644 deps/v8/test/mjsunit/regress/regress-ensure-initial-map.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-function-constructor-receiver.js create mode 100644 deps/v8/test/mjsunit/regress/regress-inline-arrow-as-construct.js create mode 100644 deps/v8/test/mjsunit/regress/regress-inline-strong-as-construct.js create mode 100644 deps/v8/test/mjsunit/regress/regress-osr-in-case-label.js create mode 100644 deps/v8/test/mjsunit/regress/regress-osr-in-literal.js rename deps/v8/test/mjsunit/{call-runtime-tail.js => tail-call-intrinsic.js} (58%) create mode 100644 deps/v8/test/mjsunit/wasm/OWNERS create mode 100644 deps/v8/test/mjsunit/wasm/asm-wasm.js create mode 100644 deps/v8/test/mjsunit/wasm/calls.js create mode 100644 deps/v8/test/mjsunit/wasm/compile-run-basic.js create mode 100644 deps/v8/test/mjsunit/wasm/divrem-trap.js create mode 100644 deps/v8/test/mjsunit/wasm/ffi-error.js create mode 100644 deps/v8/test/mjsunit/wasm/ffi.js create mode 100644 deps/v8/test/mjsunit/wasm/indirect-calls.js create mode 100644 deps/v8/test/mjsunit/wasm/instantiate-module-basic.js create mode 100644 deps/v8/test/mjsunit/wasm/module-memory.js create mode 100644 deps/v8/test/mjsunit/wasm/params.js create mode 100644 deps/v8/test/mjsunit/wasm/stackwalk.js create mode 100644 deps/v8/test/mjsunit/wasm/unreachable.js create mode 100644 deps/v8/test/mjsunit/wasm/verify-function-basic-errors.js create mode 100644 deps/v8/test/mjsunit/wasm/verify-function-simple.js create mode 100644 deps/v8/test/mjsunit/wasm/verify-module-basic-errors.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-constants.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-object-api.js create mode 100644 deps/v8/test/unittests/cancelable-tasks-unittest.cc delete mode 100644 deps/v8/test/unittests/compiler/binary-operator-reducer-unittest.cc delete mode 100644 deps/v8/test/unittests/compiler/bytecode-graph-builder-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/escape-analysis-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/bytecode-register-allocator-unittest.cc create mode 100644 deps/v8/test/unittests/interpreter/constant-array-builder-unittest.cc create mode 100644 deps/v8/test/unittests/locked-queue-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/OWNERS create mode 100644 deps/v8/test/unittests/wasm/ast-decoder-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/encoder-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/module-decoder-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/wasm-macro-gen-unittest.cc create mode 100644 deps/v8/tools/check-static-initializers.gyp create mode 100644 deps/v8/tools/check-static-initializers.isolate create mode 100755 deps/v8/tools/eval_gc_time.sh delete mode 100755 deps/v8/tools/release/chromium_roll.py diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index 69afcfd23e9bdd..adf39ff8312dd6 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -25,6 +25,7 @@ .cproject .d8_history .gclient_entries +.gdb_history .landmines .project .pydevproject @@ -39,6 +40,7 @@ gcsuspects shell shell_g /_* +/base/trace_event/common /build/Debug /build/gyp /build/ipch/ diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index fdef3668bba38a..c9be8bbcda70ec 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -32,6 +32,7 @@ StrongLoop, Inc. <*@strongloop.com> Aaron Bieber Abdulla Kamar Akinori MUSHA +Alex Kodat Alexander Botero-Lowry Alexander Karpinsky Alexandre Vassalotti @@ -51,6 +52,7 @@ Daniel James Douglas Crosher Dusan Milosavljevic Erich Ocean +Evan Lucas Fedor Indutny Felix Geisendƶrfer Filipe David Manana @@ -102,7 +104,8 @@ Stefan Penner Tobias Burnus Victor Costan Vlad Burlik +Vladimir Krivosheev Vladimir Shutoff Yu Yin Zhongping Wang -ęŸ³č£äø€ +ęŸ³č£äø€ \ No newline at end of file diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 443ffe1e48e4dc..5279a4a783f5da 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -171,12 +171,22 @@ config("toolchain") { if (v8_target_arch == "mips64el") { defines += [ "V8_TARGET_ARCH_MIPS64" ] } + if (v8_target_arch == "s390") { + defines += [ "V8_TARGET_ARCH_S390" ] + } + if (v8_target_arch == "s390x") { + defines += [ + "V8_TARGET_ARCH_S390", + "V8_TARGET_ARCH_S390X", + ] + } if (v8_target_arch == "x86") { defines += [ "V8_TARGET_ARCH_IA32" ] } if (v8_target_arch == "x64") { defines += [ "V8_TARGET_ARCH_X64" ] } + if (is_win) { defines += [ "WIN32" ] # TODO(jochen): Support v8_enable_prof. @@ -222,7 +232,6 @@ action("js2c") { "src/js/uri.js", "src/js/math.js", "src/third_party/fdlibm/fdlibm.js", - "src/js/date.js", "src/js/regexp.js", "src/js/arraybuffer.js", "src/js/typedarray.js", @@ -266,40 +275,6 @@ 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/js/macros.py", - "src/messages.h", - "src/js/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. @@ -315,12 +290,14 @@ action("js2c_experimental") { "src/js/proxy.js", "src/js/generator.js", "src/js/harmony-atomics.js", - "src/js/harmony-array-includes.js", "src/js/harmony-regexp.js", "src/js/harmony-reflect.js", "src/js/harmony-object-observe.js", "src/js/harmony-sharedarraybuffer.js", - "src/js/harmony-simd.js" + "src/js/harmony-simd.js", + "src/js/harmony-species.js", + "src/js/harmony-unicode-regexps.js", + "src/js/promise-extra.js" ] outputs = [ @@ -439,7 +416,6 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", - ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":js2c_experimental_extras", @@ -447,7 +423,6 @@ if (v8_use_external_startup_data) { 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", "$target_gen_dir/libraries_experimental_extras.bin", @@ -535,7 +510,6 @@ source_set("v8_nosnapshot") { deps = [ ":js2c", - ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":js2c_experimental_extras", @@ -544,7 +518,6 @@ 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", "$target_gen_dir/experimental-extras-libraries.cc", @@ -570,7 +543,6 @@ source_set("v8_snapshot") { deps = [ ":js2c", - ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":js2c_experimental_extras", @@ -584,7 +556,6 @@ 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/experimental-extras-libraries.cc", @@ -606,7 +577,6 @@ if (v8_use_external_startup_data) { deps = [ ":js2c", - ":js2c_code_stubs", ":js2c_experimental", ":js2c_extras", ":js2c_experimental_extras", @@ -636,7 +606,10 @@ source_set("v8_base") { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = [ + # TODO(fmeawad): This needs to be updated to support standalone V8 builds. + "../base/trace_event/common/trace_event_common.h", "include/v8-debug.h", + "include/v8-experimental.h", "include/v8-platform.h", "include/v8-profiler.h", "include/v8-testing.h", @@ -654,6 +627,8 @@ source_set("v8_base") { "src/allocation-site-scopes.h", "src/api.cc", "src/api.h", + "src/api-experimental.cc", + "src/api-experimental.h", "src/api-natives.cc", "src/api-natives.h", "src/arguments.cc", @@ -662,16 +637,28 @@ source_set("v8_base") { "src/assembler.h", "src/assert-scope.h", "src/assert-scope.cc", - "src/ast-expression-visitor.cc", - "src/ast-expression-visitor.h", - "src/ast-literal-reindexer.cc", - "src/ast-literal-reindexer.h", - "src/ast-numbering.cc", - "src/ast-numbering.h", - "src/ast-value-factory.cc", - "src/ast-value-factory.h", - "src/ast.cc", - "src/ast.h", + "src/ast/ast-expression-rewriter.cc", + "src/ast/ast-expression-rewriter.h", + "src/ast/ast-expression-visitor.cc", + "src/ast/ast-expression-visitor.h", + "src/ast/ast-literal-reindexer.cc", + "src/ast/ast-literal-reindexer.h", + "src/ast/ast-numbering.cc", + "src/ast/ast-numbering.h", + "src/ast/ast-value-factory.cc", + "src/ast/ast-value-factory.h", + "src/ast/ast.cc", + "src/ast/ast.h", + "src/ast/modules.cc", + "src/ast/modules.h", + "src/ast/prettyprinter.cc", + "src/ast/prettyprinter.h", + "src/ast/scopeinfo.cc", + "src/ast/scopeinfo.h", + "src/ast/scopes.cc", + "src/ast/scopes.h", + "src/ast/variables.cc", + "src/ast/variables.h", "src/atomic-utils.h", "src/background-parsing-task.cc", "src/background-parsing-task.h", @@ -722,10 +709,10 @@ source_set("v8_base") { "src/compiler/ast-loop-assignment-analyzer.h", "src/compiler/basic-block-instrumentor.cc", "src/compiler/basic-block-instrumentor.h", - "src/compiler/binary-operator-reducer.cc", - "src/compiler/binary-operator-reducer.h", "src/compiler/branch-elimination.cc", "src/compiler/branch-elimination.h", + "src/compiler/bytecode-branch-analysis.cc", + "src/compiler/bytecode-branch-analysis.h", "src/compiler/bytecode-graph-builder.cc", "src/compiler/bytecode-graph-builder.h", "src/compiler/change-lowering.cc", @@ -736,6 +723,8 @@ source_set("v8_base") { "src/compiler/code-generator-impl.h", "src/compiler/code-generator.cc", "src/compiler/code-generator.h", + "src/compiler/code-stub-assembler.cc", + "src/compiler/code-stub-assembler.h", "src/compiler/common-node-cache.cc", "src/compiler/common-node-cache.h", "src/compiler/common-operator-reducer.cc", @@ -751,6 +740,12 @@ source_set("v8_base") { "src/compiler/dead-code-elimination.cc", "src/compiler/dead-code-elimination.h", "src/compiler/diamond.h", + "src/compiler/escape-analysis.cc", + "src/compiler/escape-analysis.h", + "src/compiler/escape-analysis-reducer.cc", + "src/compiler/escape-analysis-reducer.h", + "src/compiler/fast-accessor-assembler.cc", + "src/compiler/fast-accessor-assembler.h", "src/compiler/frame.cc", "src/compiler/frame.h", "src/compiler/frame-elider.cc", @@ -772,6 +767,8 @@ source_set("v8_base") { "src/compiler/greedy-allocator.cc", "src/compiler/greedy-allocator.h", "src/compiler/instruction-codes.h", + "src/compiler/instruction-scheduler.cc", + "src/compiler/instruction-scheduler.h", "src/compiler/instruction-selector-impl.h", "src/compiler/instruction-selector.cc", "src/compiler/instruction-selector.h", @@ -781,6 +778,8 @@ source_set("v8_base") { "src/compiler/interpreter-assembler.h", "src/compiler/js-builtin-reducer.cc", "src/compiler/js-builtin-reducer.h", + "src/compiler/js-call-reducer.cc", + "src/compiler/js-call-reducer.h", "src/compiler/js-context-relaxation.cc", "src/compiler/js-context-relaxation.h", "src/compiler/js-context-specialization.cc", @@ -822,8 +821,6 @@ source_set("v8_base") { "src/compiler/machine-operator-reducer.h", "src/compiler/machine-operator.cc", "src/compiler/machine-operator.h", - "src/compiler/machine-type.cc", - "src/compiler/machine-type.h", "src/compiler/move-optimizer.cc", "src/compiler/move-optimizer.h", "src/compiler/node-aux-data.h", @@ -855,6 +852,7 @@ source_set("v8_base") { "src/compiler/register-allocator.h", "src/compiler/register-allocator-verifier.cc", "src/compiler/register-allocator-verifier.h", + "src/compiler/representation-change.cc", "src/compiler/representation-change.h", "src/compiler/schedule.cc", "src/compiler/schedule.h", @@ -874,12 +872,19 @@ source_set("v8_base") { "src/compiler/state-values-utils.h", "src/compiler/tail-call-optimization.cc", "src/compiler/tail-call-optimization.h", + "src/compiler/type-hint-analyzer.cc", + "src/compiler/type-hint-analyzer.h", + "src/compiler/type-hints.cc", + "src/compiler/type-hints.h", "src/compiler/typer.cc", "src/compiler/typer.h", "src/compiler/value-numbering-reducer.cc", "src/compiler/value-numbering-reducer.h", "src/compiler/verifier.cc", "src/compiler/verifier.h", + "src/compiler/wasm-compiler.cc", + "src/compiler/wasm-compiler.h", + "src/compiler/wasm-linkage.cc", "src/compiler/zone-pool.cc", "src/compiler/zone-pool.h", "src/compiler.cc", @@ -988,7 +993,6 @@ source_set("v8_base") { "src/elements.h", "src/execution.cc", "src/execution.h", - "src/expression-classifier.h", "src/extensions/externalize-string-extension.cc", "src/extensions/externalize-string-extension.h", "src/extensions/free-buffer-extension.cc", @@ -1015,8 +1019,6 @@ source_set("v8_base") { "src/frames.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", @@ -1095,7 +1097,11 @@ source_set("v8_base") { "src/interpreter/bytecode-array-iterator.h", "src/interpreter/bytecode-generator.cc", "src/interpreter/bytecode-generator.h", + "src/interpreter/bytecode-register-allocator.cc", + "src/interpreter/bytecode-register-allocator.h", "src/interpreter/bytecode-traits.h", + "src/interpreter/constant-array-builder.cc", + "src/interpreter/constant-array-builder.h", "src/interpreter/control-flow-builders.cc", "src/interpreter/control-flow-builders.h", "src/interpreter/interpreter.cc", @@ -1103,7 +1109,6 @@ source_set("v8_base") { "src/isolate-inl.h", "src/isolate.cc", "src/isolate.h", - "src/json-parser.h", "src/json-stringifier.h", "src/key-accumulator.h", "src/key-accumulator.cc", @@ -1120,11 +1125,13 @@ source_set("v8_base") { "src/lookup.cc", "src/lookup.h", "src/macro-assembler.h", + "src/machine-type.cc", + "src/machine-type.h", "src/messages.cc", "src/messages.h", - "src/modules.cc", - "src/modules.h", "src/msan.h", + "src/objects-body-descriptors-inl.h", + "src/objects-body-descriptors.h", "src/objects-debug.cc", "src/objects-inl.h", "src/objects-printer.cc", @@ -1134,20 +1141,31 @@ source_set("v8_base") { "src/optimizing-compile-dispatcher.h", "src/ostreams.cc", "src/ostreams.h", - "src/parameter-initializer-rewriter.cc", - "src/parameter-initializer-rewriter.h", - "src/parser.cc", - "src/parser.h", - "src/pattern-rewriter.cc", + "src/parsing/expression-classifier.h", + "src/parsing/func-name-inferrer.cc", + "src/parsing/func-name-inferrer.h", + "src/parsing/json-parser.h", + "src/parsing/parameter-initializer-rewriter.cc", + "src/parsing/parameter-initializer-rewriter.h", + "src/parsing/parser-base.h", + "src/parsing/parser.cc", + "src/parsing/parser.h", + "src/parsing/pattern-rewriter.cc", + "src/parsing/preparse-data-format.h", + "src/parsing/preparse-data.cc", + "src/parsing/preparse-data.h", + "src/parsing/preparser.cc", + "src/parsing/preparser.h", + "src/parsing/rewriter.cc", + "src/parsing/rewriter.h", + "src/parsing/scanner-character-streams.cc", + "src/parsing/scanner-character-streams.h", + "src/parsing/scanner.cc", + "src/parsing/scanner.h", + "src/parsing/token.cc", + "src/parsing/token.h", "src/pending-compilation-error-handler.cc", "src/pending-compilation-error-handler.h", - "src/preparse-data-format.h", - "src/preparse-data.cc", - "src/preparse-data.h", - "src/preparser.cc", - "src/preparser.h", - "src/prettyprinter.cc", - "src/prettyprinter.h", "src/profiler/allocation-tracker.cc", "src/profiler/allocation-tracker.h", "src/profiler/circular-queue-inl.h", @@ -1175,14 +1193,14 @@ source_set("v8_base") { "src/property.cc", "src/property.h", "src/prototype.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-ast.cc", + "src/regexp/regexp-ast.h", "src/regexp/regexp-macro-assembler-irregexp-inl.h", "src/regexp/regexp-macro-assembler-irregexp.cc", "src/regexp/regexp-macro-assembler-irregexp.h", @@ -1190,6 +1208,8 @@ source_set("v8_base") { "src/regexp/regexp-macro-assembler-tracer.h", "src/regexp/regexp-macro-assembler.cc", "src/regexp/regexp-macro-assembler.h", + "src/regexp/regexp-parser.cc", + "src/regexp/regexp-parser.h", "src/regexp/regexp-stack.cc", "src/regexp/regexp-stack.h", "src/register-configuration.cc", @@ -1232,14 +1252,6 @@ source_set("v8_base") { "src/runtime/runtime.h", "src/safepoint-table.cc", "src/safepoint-table.h", - "src/scanner-character-streams.cc", - "src/scanner-character-streams.h", - "src/scanner.cc", - "src/scanner.h", - "src/scopeinfo.cc", - "src/scopeinfo.h", - "src/scopes.cc", - "src/scopes.h", "src/signature.h", "src/simulator.h", "src/small-pointer-list.h", @@ -1262,8 +1274,8 @@ source_set("v8_base") { "src/string-stream.h", "src/strtod.cc", "src/strtod.h", - "src/token.cc", - "src/token.h", + "src/tracing/trace-event.cc", + "src/tracing/trace-event.h", "src/transitions-inl.h", "src/transitions.cc", "src/transitions.h", @@ -1295,12 +1307,28 @@ source_set("v8_base") { "src/v8memory.h", "src/v8threads.cc", "src/v8threads.h", - "src/variables.cc", - "src/variables.h", "src/version.cc", "src/version.h", "src/vm-state-inl.h", "src/vm-state.h", + "src/wasm/asm-wasm-builder.cc", + "src/wasm/asm-wasm-builder.h", + "src/wasm/ast-decoder.cc", + "src/wasm/ast-decoder.h", + "src/wasm/decoder.h", + "src/wasm/encoder.cc", + "src/wasm/encoder.h", + "src/wasm/module-decoder.cc", + "src/wasm/module-decoder.h", + "src/wasm/wasm-js.cc", + "src/wasm/wasm-js.h", + "src/wasm/wasm-macro-gen.h", + "src/wasm/wasm-module.cc", + "src/wasm/wasm-module.h", + "src/wasm/wasm-opcodes.cc", + "src/wasm/wasm-opcodes.h", + "src/wasm/wasm-result.cc", + "src/wasm/wasm-result.h", "src/zone.cc", "src/zone.h", "src/zone-allocator.h", @@ -1319,6 +1347,7 @@ source_set("v8_base") { "src/crankshaft/ia32/lithium-ia32.h", "src/compiler/ia32/code-generator-ia32.cc", "src/compiler/ia32/instruction-codes-ia32.h", + "src/compiler/ia32/instruction-scheduler-ia32.cc", "src/compiler/ia32/instruction-selector-ia32.cc", "src/debug/ia32/debug-ia32.cc", "src/full-codegen/ia32/full-codegen-ia32.cc", @@ -1350,6 +1379,7 @@ source_set("v8_base") { sources += [ "src/compiler/x64/code-generator-x64.cc", "src/compiler/x64/instruction-codes-x64.h", + "src/compiler/x64/instruction-scheduler-x64.cc", "src/compiler/x64/instruction-selector-x64.cc", "src/crankshaft/x64/lithium-codegen-x64.cc", "src/crankshaft/x64/lithium-codegen-x64.h", @@ -1408,6 +1438,7 @@ source_set("v8_base") { "src/arm/simulator-arm.h", "src/compiler/arm/code-generator-arm.cc", "src/compiler/arm/instruction-codes-arm.h", + "src/compiler/arm/instruction-scheduler-arm.cc", "src/compiler/arm/instruction-selector-arm.cc", "src/crankshaft/arm/lithium-arm.cc", "src/crankshaft/arm/lithium-arm.h", @@ -1460,6 +1491,7 @@ source_set("v8_base") { "src/arm64/utils-arm64.h", "src/compiler/arm64/code-generator-arm64.cc", "src/compiler/arm64/instruction-codes-arm64.h", + "src/compiler/arm64/instruction-scheduler-arm64.cc", "src/compiler/arm64/instruction-selector-arm64.cc", "src/crankshaft/arm64/delayed-masm-arm64.cc", "src/crankshaft/arm64/delayed-masm-arm64.h", @@ -1484,6 +1516,7 @@ source_set("v8_base") { sources += [ "src/compiler/mips/code-generator-mips.cc", "src/compiler/mips/instruction-codes-mips.h", + "src/compiler/mips/instruction-scheduler-mips.cc", "src/compiler/mips/instruction-selector-mips.cc", "src/crankshaft/mips/lithium-codegen-mips.cc", "src/crankshaft/mips/lithium-codegen-mips.h", @@ -1525,6 +1558,7 @@ source_set("v8_base") { sources += [ "compiler/mips64/code-generator-mips64.cc", "compiler/mips64/instruction-codes-mips64.h", + "compiler/mips64/instruction-scheduler-mips64.cc", "compiler/mips64/instruction-selector-mips64.cc", "src/crankshaft/mips64/lithium-codegen-mips64.cc", "src/crankshaft/mips64/lithium-codegen-mips64.h", diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 4311545a5a79c8..54bcbe4275a99c 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,2241 @@ +2016-01-14: Version 4.9.385 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.384 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.383 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.382 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.381 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.380 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.379 + + Performance and stability improvements on all platforms. + + +2016-01-14: Version 4.9.378 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.377 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.376 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.375 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.374 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.373 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.372 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.371 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.370 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.369 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.368 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.367 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.366 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.365 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.364 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.363 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.362 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.361 + + Disable concurrent osr (issue 4650). + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.360 + + Performance and stability improvements on all platforms. + + +2016-01-13: Version 4.9.359 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.358 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.357 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.356 + + [wasm] Rename the WASM object to _WASMEXP_ (Chromium issue 575167). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.355 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.354 + + Reland of "[Proxies] Ship Proxies + Reflect." (issues 1543, 3931). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.353 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.352 + + Gracefully handle proxies in AllCanWrite() (issue 1543, Chromium issue + 576662). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.351 + + [wasm] Fix double to int conversions (Chromium issue 576560). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.350 + + [Proxies] Ship Proxies + Reflect (issues 1543, 3931). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.349 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.348 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.347 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.346 + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.345 + + Add @@species/better subclassing support to Promises (issue 4633, + Chromium issue 575314). + + TypedArray and ArrayBuffer support for @@species (issue 4093). + + Performance and stability improvements on all platforms. + + +2016-01-12: Version 4.9.344 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.343 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.342 + + Ship ES2015 sloppy-mode const semantics (issue 3305). + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.341 + + Partial rollback of Promise error checking (issue 4633). + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.340 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.339 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.338 + + [wasm] Fix set_local appearing in unreachable code (Chromium issue + 575861). + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.337 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.336 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.335 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.334 + + [wasm] Avoid crashing if parsing fails in asm -> wasm (Chromium issue + 575369). + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.333 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.332 + + Performance and stability improvements on all platforms. + + +2016-01-11: Version 4.9.331 + + Performance and stability improvements on all platforms. + + +2016-01-09: Version 4.9.330 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.329 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.328 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.327 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.326 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.325 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.324 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.323 + + Fix sloppy block-scoped function hoisting with nested zones (Chromium + issue 537816). + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.322 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.321 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.320 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.319 + + [wasm] Fix validation error for missing return statement in asm.js + module (Chromium issue 575364). + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.318 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.317 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.316 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.315 + + Performance and stability improvements on all platforms. + + +2016-01-08: Version 4.9.314 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.313 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.312 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.311 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.310 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.309 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.308 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.307 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.306 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.305 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.304 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.303 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.302 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.301 + + Performance and stability improvements on all platforms. + + +2016-01-07: Version 4.9.300 + + Add Array support for @@species and subclassing (issue 4093). + + Performance and stability improvements on all platforms. + + +2016-01-06: Version 4.9.299 + + Performance and stability improvements on all platforms. + + +2016-01-06: Version 4.9.298 + + Performance and stability improvements on all platforms. + + +2016-01-06: Version 4.9.297 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.296 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.295 + + Ship ES2015 sloppy-mode function hoisting, let, class (issues 3305, + 4285). + + Ship destructuring assignment (issue 811). + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.294 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.293 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.292 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.291 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.290 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.289 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.288 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.287 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.286 + + Performance and stability improvements on all platforms. + + +2016-01-05: Version 4.9.285 + + Accept time zones like GMT-8 in the legacy date parser (Chromium issue + 422858). + + Timezone name check fix (Chromium issue 364374). + + Add a --harmony-species flag, defining @@species on constructors (issue + 4093). + + Performance and stability improvements on all platforms. + + +2016-01-04: Version 4.9.284 + + Performance and stability improvements on all platforms. + + +2016-01-04: Version 4.9.283 + + Performance and stability improvements on all platforms. + + +2016-01-04: Version 4.9.282 + + Performance and stability improvements on all platforms. + + +2016-01-04: Version 4.9.281 + + Performance and stability improvements on all platforms. + + +2016-01-04: Version 4.9.280 + + Performance and stability improvements on all platforms. + + +2016-01-01: Version 4.9.279 + + Performance and stability improvements on all platforms. + + +2015-12-31: Version 4.9.278 + + Performance and stability improvements on all platforms. + + +2015-12-31: Version 4.9.277 + + Fix 'illegal access' in Date constructor edge case (issue 4640). + + Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 + of https://codereview.chromium.org/1554523002/ ) (issue 4085). + + Performance and stability improvements on all platforms. + + +2015-12-30: Version 4.9.276 + + Reland "Clean up promises and fix an edge case bug (patchset #4 id:60001 + of https://codereview.chromium.org/1488783002/ )" (issue 3641). + + Performance and stability improvements on all platforms. + + +2015-12-30: Version 4.9.275 + + Performance and stability improvements on all platforms. + + +2015-12-30: Version 4.9.274 + + Performance and stability improvements on all platforms. + + +2015-12-30: Version 4.9.273 + + Performance and stability improvements on all platforms. + + +2015-12-29: Version 4.9.272 + + Performance and stability improvements on all platforms. + + +2015-12-29: Version 4.9.271 + + Performance and stability improvements on all platforms. + + +2015-12-29: Version 4.9.270 + + [crankshaft] Don't inline array resize operations if receiver's proto is + not a JSObject (Chromium issue 571064). + + Performance and stability improvements on all platforms. + + +2015-12-29: Version 4.9.269 + + [ic] Fixed receiver_map register trashing in KeyedStoreIC megamorphic + (Chromium issue 571370). + + Performance and stability improvements on all platforms. + + +2015-12-29: Version 4.9.268 + + Use ES2015-style TypedArray prototype chain (issue 4085). + + Guard the property RegExp.prototype.unicode behind --harmony-regexp- + unicode (issue 4644). + + Performance and stability improvements on all platforms. + + +2015-12-28: Version 4.9.267 + + Performance and stability improvements on all platforms. + + +2015-12-28: Version 4.9.266 + + Performance and stability improvements on all platforms. + + +2015-12-26: Version 4.9.265 + + Performance and stability improvements on all platforms. + + +2015-12-26: Version 4.9.264 + + Performance and stability improvements on all platforms. + + +2015-12-25: Version 4.9.263 + + Performance and stability improvements on all platforms. + + +2015-12-24: Version 4.9.262 + + Performance and stability improvements on all platforms. + + +2015-12-24: Version 4.9.261 + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.260 + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.259 + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.258 + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.257 + + [elements] Enable left-trimming again (issue 4606). + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.256 + + Performance and stability improvements on all platforms. + + +2015-12-23: Version 4.9.255 + + Reland of Add web compat workarounds for ES2015 RegExp semantics + (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ ) + (issues 4617, 4637). + + Add web compat workarounds for ES2015 RegExp semantics (issues 4617, + 4637). + + Performance and stability improvements on all platforms. + + +2015-12-22: Version 4.9.254 + + Performance and stability improvements on all platforms. + + +2015-12-22: Version 4.9.253 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.252 + + [ES6] Stage sloppy function block scoping (issue 3305). + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.251 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.250 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.249 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.248 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.247 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.246 + + Performance and stability improvements on all platforms. + + +2015-12-21: Version 4.9.245 + + Performance and stability improvements on all platforms. + + +2015-12-20: Version 4.9.244 + + Performance and stability improvements on all platforms. + + +2015-12-20: Version 4.9.243 + + Mark all APIs without callers in Blink as deprecated. + + Performance and stability improvements on all platforms. + + +2015-12-19: Version 4.9.242 + + Performance and stability improvements on all platforms. + + +2015-12-19: Version 4.9.241 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.240 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.239 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.238 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.237 + + Stage Proxies and Reflect behind --harmony flag (issues 1543, 3931). + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.236 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.235 + + Performance and stability improvements on all platforms. + + +2015-12-18: Version 4.9.234 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.233 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.232 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.231 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.230 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.229 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.228 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.227 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.226 + + [IC] Fix "compatible receiver" checks hidden behind interceptors + (Chromium issue 497632). + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.225 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.224 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.223 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.222 + + Performance and stability improvements on all platforms. + + +2015-12-17: Version 4.9.221 + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.220 + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.219 + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.218 + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.217 + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.216 + + Stage destructuring assignment (issue 811). + + Update DEPS entry for tracing to point at correct location. + + Performance and stability improvements on all platforms. + + +2015-12-16: Version 4.9.215 + + [harmony] unstage regexp lookbehind assertions (issue 4545). + + Move Object.observe back to shipping temporarily (Chromium issues + 552100, 569417, 569647). + + Performance and stability improvements on all platforms. + + +2015-12-14: Version 4.9.214 + + Performance and stability improvements on all platforms. + + +2015-12-14: Version 4.9.213 + + Performance and stability improvements on all platforms. + + +2015-12-14: Version 4.9.212 + + [harmony] stage regexp lookbehind assertions (issue 4545). + + [es6] ship regexp sticky flag (issue 4342). + + Performance and stability improvements on all platforms. + + +2015-12-14: Version 4.9.211 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.210 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.209 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.208 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.207 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.206 + + [es6] Support Function name inference in variable declarations (issue + 3699). + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.205 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.204 + + Disable --harmony-object-observe (Chromium issue 552100). + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.203 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.202 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.201 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.200 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.199 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.198 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.197 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.196 + + Re-re-land FastAccessorBuilder (Chromium issue 508898). + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.195 + + Performance and stability improvements on all platforms. + + +2015-12-11: Version 4.9.194 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.193 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.192 + + Unstage non-standard Promise functions (issue 3237). + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.191 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.190 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.189 + + Allow ICU to normalize time zones (Chromium issue 487322). + + Fix FuncNameInferrer usage in ParseAssignmentExpression (issue 4595). + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.188 + + Fix Function subclassing (issues 3101, 3330, 4597). + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.187 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.186 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.185 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.184 + + Re-land FastAccessorBuilder (Chromium issue 508898). + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.183 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.182 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.181 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.180 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.179 + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.178 + + Implement FastAccessorBuilder (Chromium issue 508898). + + Performance and stability improvements on all platforms. + + +2015-12-10: Version 4.9.177 + + Performance and stability improvements on all platforms. + + +2015-12-09: Version 4.9.176 + + Updated the check for unmodfied objects to handle Smi Objects (Chromium + issue 553287). + + Performance and stability improvements on all platforms. + + +2015-12-09: Version 4.9.175 + + Performance and stability improvements on all platforms. + + +2015-12-09: Version 4.9.174 + + Performance and stability improvements on all platforms. + + +2015-12-08: Version 4.9.173 + + Performance and stability improvements on all platforms. + + +2015-12-08: Version 4.9.172 + + Performance and stability improvements on all platforms. + + +2015-12-08: Version 4.9.171 + + Remove usage of deprecated APIs from api interceptor tests (issue 4341). + + Deprecate Promise::Chain from V8 APIs (issue 3237). + + Set the Gregorian changeover date to the beginning of time in Intl + (Chromium issue 537382). + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.170 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.169 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.168 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.167 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.166 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.165 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.164 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.163 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.162 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.161 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.160 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.159 + + Performance and stability improvements on all platforms. + + +2015-12-07: Version 4.9.158 + + Performance and stability improvements on all platforms. + + +2015-12-06: Version 4.9.157 + + Performance and stability improvements on all platforms. + + +2015-12-06: Version 4.9.156 + + Performance and stability improvements on all platforms. + + +2015-12-06: Version 4.9.155 + + Performance and stability improvements on all platforms. + + +2015-12-05: Version 4.9.154 + + Performance and stability improvements on all platforms. + + +2015-12-05: Version 4.9.153 + + Performance and stability improvements on all platforms. + + +2015-12-05: Version 4.9.152 + + Clean up promises and fix an edge case bug (issue 3641). + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.151 + + [es6] implement destructuring assignment (issue 811). + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.150 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.149 + + Mark deprecated debugger APIs as such. + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.148 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.147 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.146 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.145 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.144 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.143 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.142 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.141 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.140 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.139 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.138 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.137 + + Performance and stability improvements on all platforms. + + +2015-12-04: Version 4.9.136 + + Mark BooleanObject::New() as deprecated. + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.135 + + For non-prototype objects constructed using base==new.target, use the + cached constructor to render the name (Chromium issue 563791). + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.134 + + Deprecate non-standard Array methods and clarify Object::isArray. + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.133 + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.132 + + Fix inobject slack tracking for both subclassing and non-subclassing + cases (Chromium issue 563339). + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.131 + + Performance and stability improvements on all platforms. + + +2015-12-03: Version 4.9.130 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.129 + + Removed support deprecated (//@|/*@) source(URL|MappingURL)= (Chromium + issue 558998). + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.128 + + Improve rendering of callsite with non-function target (issue 3953). + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.127 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.126 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.125 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.124 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.123 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.122 + + Performance and stability improvements on all platforms. + + +2015-12-02: Version 4.9.121 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.120 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.119 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.118 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.117 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.116 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.115 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.114 + + Performance and stability improvements on all platforms. + + +2015-12-01: Version 4.9.113 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.112 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.111 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.110 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.109 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.108 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.107 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.106 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.105 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.104 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.103 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.102 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.101 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.100 + + Move RMA::Label out of the class, so it can be forward declared + (Chromium issue 508898). + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.99 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.98 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.97 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.96 + + Performance and stability improvements on all platforms. + + +2015-11-30: Version 4.9.95 + + Performance and stability improvements on all platforms. + + +2015-11-29: Version 4.9.94 + + Performance and stability improvements on all platforms. + + +2015-11-29: Version 4.9.93 + + Performance and stability improvements on all platforms. + + +2015-11-28: Version 4.9.92 + + Performance and stability improvements on all platforms. + + +2015-11-28: Version 4.9.91 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.90 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.89 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.88 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.87 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.86 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.85 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.84 + + Performance and stability improvements on all platforms. + + +2015-11-27: Version 4.9.83 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.82 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.81 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.80 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.79 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.78 + + Mark PromiseRejectMessage::GetStackTrace as deprecated. + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.77 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.76 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.75 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.74 + + Add explicit Isolate parameter to Exception::CreateMessage() (Chromium + issue 495801). + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.73 + + Allow in-object properties in JSArrayBuffer (issue 4531). + + Allow in-object properties in JSTypedArray and JSDataView (issue 4531). + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.72 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.71 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.70 + + Performance and stability improvements on all platforms. + + +2015-11-26: Version 4.9.69 + + Performance and stability improvements on all platforms. + + +2015-11-25: Version 4.9.68 + + Reland shipping of --harmony-destructuring-bind (issue 811). + + Fix promotion of JSFunctions with in-object properties (issue 4572, + Chromium issue 561481). + + Allow in-object properties in JSCollections, JSWeakCollections and + JSRegExp (issue 4531). + + Fix JSFunction's in-object properties initialization (issue 4572). + + Performance and stability improvements on all platforms. + + +2015-11-25: Version 4.9.67 + + Performance and stability improvements on all platforms. + + +2015-11-25: Version 4.9.66 + + Removed support deprecated (//@|/*@) source(URL|MappingURL)= (Chromium + issue 558998). + + PPC: Reshuffle registers in JSConstructStub to avoid trashing costructor + and new.target on fast path (so we don't need to push/pop them) + (Chromium issue 560239). + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.65 + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.64 + + Move --harmony-destructuring-bind to shipping (issue 811). + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.63 + + Reshuffle registers in JSConstructStub to avoid trashing costructor and + new.target on fast path (so we don't need to push/pop them) (Chromium + issue 560239). + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.62 + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.61 + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.60 + + Allow in-object properties in JSFunctions (issue 4531). + + Disable non-standard Promise functions in staging (issue 3237). + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.59 + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.58 + + Performance and stability improvements on all platforms. + + +2015-11-24: Version 4.9.57 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.56 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.55 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.54 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.53 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.52 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.51 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.50 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.49 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.48 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.47 + + Performance and stability improvements on all platforms. + + +2015-11-23: Version 4.9.46 + + Performance and stability improvements on all platforms. + + +2015-11-22: Version 4.9.45 + + Performance and stability improvements on all platforms. + + +2015-11-22: Version 4.9.44 + + Performance and stability improvements on all platforms. + + +2015-11-22: Version 4.9.43 + + Performance and stability improvements on all platforms. + + +2015-11-21: Version 4.9.42 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.41 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.40 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.39 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.38 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.37 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.36 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.35 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.34 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.33 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.32 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.31 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.30 + + Performance and stability improvements on all platforms. + + +2015-11-20: Version 4.9.29 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.28 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.27 + + [V8] Unify get function name for debugging purpose (Chromium issue + 17356). + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.26 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.25 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.24 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.23 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.22 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.21 + + Performance and stability improvements on all platforms. + + +2015-11-19: Version 4.9.20 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.19 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.18 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.17 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.16 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.15 + + Performance and stability improvements on all platforms. + + +2015-11-18: Version 4.9.14 + + Performance and stability improvements on all platforms. + + +2015-11-17: Version 4.9.13 + + Performance and stability improvements on all platforms. + + +2015-11-17: Version 4.9.12 + + Performance and stability improvements on all platforms. + + +2015-11-17: Version 4.9.11 + + Performance and stability improvements on all platforms. + + +2015-11-17: Version 4.9.10 + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.9 + + Map v8::Object to v8::internal::JSReceiver. + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.8 + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.7 + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.6 + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.5 + + Performance and stability improvements on all platforms. + + +2015-11-16: Version 4.9.4 + + Performance and stability improvements on all platforms. + + +2015-11-15: Version 4.9.3 + + Performance and stability improvements on all platforms. + + +2015-11-15: Version 4.9.2 + + Performance and stability improvements on all platforms. + + +2015-11-15: Version 4.9.1 + + Performance and stability improvements on all platforms. + + +2015-11-13: Version 4.8.294 + + Performance and stability improvements on all platforms. + + +2015-11-13: Version 4.8.293 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.292 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.291 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.290 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.289 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.288 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.287 + + [JSON stringifier] Correctly load array elements (Chromium issue + 554946). + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.286 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.285 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.284 + + Ship --harmony-default-parameters (issue 2160). + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.283 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.282 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.281 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.280 + + Performance and stability improvements on all platforms. + + +2015-11-12: Version 4.8.279 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.278 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.277 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.276 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.275 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.274 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.273 + + Performance and stability improvements on all platforms. + + +2015-11-11: Version 4.8.272 + + Performance and stability improvements on all platforms. + + 2015-11-11: Version 4.8.271 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index fc1ad8585ef936..07b11a4ae38fb7 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,13 +8,15 @@ vars = { deps = { "v8/build/gyp": - Var("git_url") + "/external/gyp.git" + "@" + "2c1e6cced23554ce84806e570acea637f6473afc", + Var("git_url") + "/external/gyp.git" + "@" + "b85ad3e578da830377dbc1843aa4fbc5af17a192", "v8/third_party/icu": - Var("git_url") + "/chromium/deps/icu.git" + "@" + "42c58d4e49f2250039f0e98d43e0b76e8f5ca024", + Var("git_url") + "/chromium/deps/icu.git" + "@" + "8d342a405be5ae8aacb1e16f0bc31c3a4fbf26a2", "v8/buildtools": - Var("git_url") + "/chromium/buildtools.git" + "@" + "4a95614772d9bcbd8bc197e1d9bd034e088fc740", + Var("git_url") + "/chromium/buildtools.git" + "@" + "0f8e6e4b126ee88137930a0ae4776c4741808740", + "v8/base/trace_event/common": + Var("git_url") + "/chromium/src/base/trace_event/common.git" + "@" + "d83d44b13d07c2fd0a40101a7deef9b93b841732", "v8/tools/swarming_client": - Var('git_url') + '/external/swarming.client.git' + '@' + "8fce79620b04bbe5415ace1103db27505bdc4c06", + Var('git_url') + '/external/swarming.client.git' + '@' + "9cdd76171e517a430a72dcd7d66ade67e109aa00", "v8/testing/gtest": Var("git_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -25,15 +27,15 @@ deps = { Var("git_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", "v8/test/simdjs/data": Var("git_url") + "/external/github.com/tc39/ecmascript_simd.git" + "@" + "c8ef63c728283debc25891123eb00482fee4b8cd", "v8/test/test262/data": - Var("git_url") + "/external/github.com/tc39/test262.git" + "@" + "ea222fb7d09e334c321b987656315ad4056ded96", + Var("git_url") + "/external/github.com/tc39/test262.git" + "@" + "67ba34b03a46bac4254223ae25f42c7b959540f0", "v8/tools/clang": - Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "66f5328417331216569e8beb244fd887f62e8997", + Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "24e8c1c92fe54ef8ed7651b5850c056983354a4a", } deps_os = { "android": { "v8/third_party/android_tools": - Var("git_url") + "/android_tools.git" + "@" + "54492f99c84cab0826a8e656efeb33a1b1bf5a04", + Var("git_url") + "/android_tools.git" + "@" + "f4c36ad89b2696b37d9cd7ca7d984b691888b188", }, "win": { "v8/third_party/cygwin": diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 28c1af2e07f498..6ae9b245768915 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -220,12 +220,6 @@ 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) @@ -244,7 +238,8 @@ endif # Architectures and modes to be compiled. Consider these to be internal # variables, don't override them (use the targets instead). -ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 +ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 \ + s390 s390x DEFAULT_ARCHES = ia32 x64 arm MODES = release debug optdebug DEFAULT_MODES = release debug diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index ab9bba88455906..f8516afc44ef50 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -69,6 +69,7 @@ def _V8PresubmitChecks(input_api, output_api): from presubmit import SourceProcessor from presubmit import CheckExternalReferenceRegistration from presubmit import CheckAuthorizedAuthor + from presubmit import CheckStatusFiles results = [] if not CppLintProcessor().Run(input_api.PresubmitLocalPath()): @@ -80,6 +81,8 @@ def _V8PresubmitChecks(input_api, output_api): if not CheckExternalReferenceRegistration(input_api.PresubmitLocalPath()): results.append(output_api.PresubmitError( "External references registration check failed")) + if not CheckStatusFiles(input_api.PresubmitLocalPath()): + results.append(output_api.PresubmitError("Status file check failed")) results.extend(CheckAuthorizedAuthor(input_api, output_api)) return results @@ -272,28 +275,3 @@ def CheckChangeOnCommit(input_api, output_api): input_api, output_api, json_url='http://v8-status.appspot.com/current?format=json')) return results - - -def GetPreferredTryMasters(project, change): - return { - 'tryserver.v8': { - 'v8_linux_rel': set(['defaulttests']), - 'v8_linux_dbg': set(['defaulttests']), - 'v8_linux_nodcheck_rel': set(['defaulttests']), - 'v8_linux_gcc_compile_rel': set(['defaulttests']), - 'v8_linux64_rel': set(['defaulttests']), - 'v8_linux64_asan_rel': set(['defaulttests']), - 'v8_linux64_avx2_rel': set(['defaulttests']), - 'v8_win_rel': set(['defaulttests']), - 'v8_win_compile_dbg': set(['defaulttests']), - 'v8_win_nosnap_shared_compile_rel': set(['defaulttests']), - 'v8_win64_rel': set(['defaulttests']), - 'v8_mac_rel': set(['defaulttests']), - 'v8_linux_arm_rel': set(['defaulttests']), - 'v8_linux_arm64_rel': set(['defaulttests']), - 'v8_linux_mipsel_compile_rel': set(['defaulttests']), - 'v8_linux_mips64el_compile_rel': set(['defaulttests']), - 'v8_android_arm_compile_rel': set(['defaulttests']), - 'v8_linux_chromium_gn_rel': set(['defaulttests']), - }, - } diff --git a/deps/v8/README.md b/deps/v8/README.md index c649f02ec2c2f4..840c4971f91527 100644 --- a/deps/v8/README.md +++ b/deps/v8/README.md @@ -10,7 +10,7 @@ browser from Google. V8 can run standalone, or can be embedded into any C++ application. -V8 Project page: https://code.google.com/p/v8/ +V8 Project page: https://github.com/v8/v8/wiki Getting the Code @@ -37,4 +37,4 @@ Contributing ============= Please follow the instructions mentioned on the -[V8 wiki](https://code.google.com/p/v8-wiki/wiki/Contributing). +[V8 wiki](https://github.com/v8/v8/wiki/Contributing). diff --git a/deps/v8/WATCHLISTS b/deps/v8/WATCHLISTS index a5699abcf1be65..81e941f28a5fb4 100644 --- a/deps/v8/WATCHLISTS +++ b/deps/v8/WATCHLISTS @@ -50,6 +50,12 @@ 'feature_shipping_status': { 'filepath': 'src/flag-definitions.h', }, + 'gc_changes': { + 'filepath': 'src/heap/', + }, + 'merges': { + 'filepath': '.', + }, }, 'WATCHLISTS': { @@ -69,5 +75,13 @@ 'feature_shipping_status': [ 'hablich@chromium.org', ], + 'gc_changes': [ + 'hpayer@chromium.org', + 'ulan@chromium.org', + ], + 'merges': [ + # Only enabled on branches created with tools/release/create_release.py + 'v8-merges@googlegroups.com', + ], }, } diff --git a/deps/v8/build/all.gyp b/deps/v8/build/all.gyp index 0195083b0180ba..0a05a2f02fdb5b 100644 --- a/deps/v8/build/all.gyp +++ b/deps/v8/build/all.gyp @@ -24,6 +24,7 @@ '../test/bot_default.gyp:*', '../test/benchmarks/benchmarks.gyp:*', '../test/default.gyp:*', + '../test/ignition.gyp:*', '../test/intl/intl.gyp:*', '../test/message/message.gyp:*', '../test/mjsunit/mjsunit.gyp:*', @@ -33,6 +34,7 @@ '../test/simdjs/simdjs.gyp:*', '../test/test262/test262.gyp:*', '../test/webkit/webkit.gyp:*', + '../tools/check-static-initializers.gyp:*', ], }], ] diff --git a/deps/v8/build/features.gypi b/deps/v8/build/features.gypi index 03b3072c9b3bae..5a21a63e324f49 100644 --- a/deps/v8/build/features.gypi +++ b/deps/v8/build/features.gypi @@ -67,9 +67,6 @@ # 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, - # Enable/disable JavaScript API accessors. 'v8_js_accessors%': 0, }, @@ -111,12 +108,6 @@ ['dcheck_always_on!=0', { 'defines': ['DEBUG',], }], - ['v8_wasm!=0', { - 'defines': ['V8_WASM',], - }], - ['v8_js_accessors!=0', { - 'defines': ['V8_JS_ACCESSORS'], - }], ], # conditions 'configurations': { 'DebugBaseCommon': { diff --git a/deps/v8/build/get_landmines.py b/deps/v8/build/get_landmines.py index 6e4dbb3468ec25..ea0ae0d415235d 100755 --- a/deps/v8/build/get_landmines.py +++ b/deps/v8/build/get_landmines.py @@ -25,6 +25,7 @@ def main(): print 'Remove build/android.gypi' print 'Cleanup after windows ninja switch attempt.' print 'Switching to pinned msvs toolchain.' + print 'Clobbering to hopefully resolve problem with mksnapshot' return 0 diff --git a/deps/v8/build/standalone.gypi b/deps/v8/build/standalone.gypi index fa4d45d4eb42f7..273d72b744e2b0 100644 --- a/deps/v8/build/standalone.gypi +++ b/deps/v8/build/standalone.gypi @@ -42,8 +42,7 @@ 'v8_enable_backtrace%': 0, 'v8_enable_i18n_support%': 1, 'v8_deprecation_warnings': 1, - # TODO(jochen): Turn this on. - 'v8_imminent_deprecation_warnings%': 0, + 'v8_imminent_deprecation_warnings': 1, 'msvs_multi_core_compile%': '1', 'mac_deployment_target%': '10.5', 'release_extra_cflags%': '', @@ -68,11 +67,15 @@ 'host_arch%': '<(host_arch)', 'target_arch%': '<(host_arch)', 'base_dir%': ' -``` -The simulator will start the debugger after executing n instructions. - -``` -$ out/arm.debug/d8 --stop_at -``` - -The simulator will stop at the given JavaScript function. - -Also you can directly generate 'stop' instructions in the ARM code. Stops are generated with - -``` -Assembler::stop(const char* msg, Condition cond, int32_t code) -``` - -When the Simulator hits a stop, it will print msg and start the debugger. - - -### Debugging commands. - -**Usual commands:** - -Enter `help` in the debugger prompt to get details on available commands. These include usual gdb-like commands, such as stepi, cont, disasm, etc. If the Simulator is run under gdb, the ā€œgdbā€ debugger command will give control to gdb. You can then use cont from gdb to go back to the debugger. - - -**Debugger specific commands:** - -Here's a list of the ARM debugger specific commands, along with examples. -The JavaScript file ā€œfunc.jsā€ used below contains: - -``` -function test() { - print(ā€œIn function test.ā€); -} -test(); -``` - - * **printobject** `<`register`>` (alias po), will describe an object held in a register. - -``` -$ out/arm.debug/d8 func.js --stop_at test - -Simulator hit stop-at - 0xb544d6a8 e92d4902 stmdb sp!, {r1, r8, fp, lr} -sim> print r0 -r0: 0xb547ec15 -1253577707 -sim> printobject r0 -r0: -0xb547ec15: [Function] - - map = 0x0xb540ff01 - - initial_map = - - shared_info = 0xb547eb2d - - name = #test - - context = 0xb60083f1 - - code = 0xb544d681 - #arguments: 0xb545a15d (callback) - #length: 0xb545a14d (callback) - #name: 0xb545a155 (callback) - #prototype: 0xb545a145 (callback) - #caller: 0xb545a165 (callback) -``` - - * **break** `<`address`>`, will insert a breakpoint at the specified address. - - * **del**, will delete the current breakpoint. - -You can have only one such breakpoint. This is useful if you want to insert a breakpoint at runtime. -``` -$ out/arm.debug/d8 func.js --stop_at test - -Simulator hit stop-at - 0xb53a1ee8 e92d4902 stmdb sp!, {r1, r8, fp, lr} -sim> disasm 5 - 0xb53a1ee8 e92d4902 stmdb sp!, {r1, r8, fp, lr} - 0xb53a1eec e28db008 add fp, sp, #8 - 0xb53a1ef0 e59a200c ldr r2, [r10, #+12] - 0xb53a1ef4 e28fe004 add lr, pc, #4 - 0xb53a1ef8 e15d0002 cmp sp, r2 -sim> break 0xb53a1ef8 -sim> cont - 0xb53a1ef8 e15d0002 cmp sp, r2 -sim> disasm 5 - 0xb53a1ef8 e15d0002 cmp sp, r2 - 0xb53a1efc 359ff034 ldrcc pc, [pc, #+52] - 0xb53a1f00 e5980017 ldr r0, [r8, #+23] - 0xb53a1f04 e59f1030 ldr r1, [pc, #+48] - 0xb53a1f08 e52d0004 str r0, [sp, #-4]! -sim> break 0xb53a1f08 -setting breakpoint failed -sim> del -sim> break 0xb53a1f08 -sim> cont - 0xb53a1f08 e52d0004 str r0, [sp, #-4]! -sim> del -sim> cont -In function test. -``` - - * Generated `stop` instuctions, will work as breakpoints with a few additional features. - -The first argument is a help message, the second is the condition, and the third is the stop code. If a code is specified, and is less than 256, the stop is said to be ā€œwatchedā€, and can be disabled/enabled; a counter also keeps track of how many times the Simulator hits this code. - -If we are working on this v8 C++ code, which is reached when running our JavaScript file. - -``` -__ stop("My stop.", al, 123); -__ mov(r0, r0); -__ mov(r0, r0); -__ mov(r0, r0); -__ mov(r0, r0); -__ mov(r0, r0); -__ stop("My second stop.", al, 0x1); -__ mov(r1, r1); -__ mov(r1, r1); -__ mov(r1, r1); -__ mov(r1, r1); -__ mov(r1, r1); -``` - -Here's a sample debugging session: - -We hit the first stop. - -``` -Simulator hit My stop. - 0xb53559e8 e1a00000 mov r0, r0 -``` - -We can see the following stop using disasm. The address of the message string is inlined in the code after the svc stop instruction. - -``` -sim> disasm - 0xb53559e8 e1a00000 mov r0, r0 - 0xb53559ec e1a00000 mov r0, r0 - 0xb53559f0 e1a00000 mov r0, r0 - 0xb53559f4 e1a00000 mov r0, r0 - 0xb53559f8 e1a00000 mov r0, r0 - 0xb53559fc ef800001 stop 1 - 0x1 - 0xb5355a00 08338a97 stop message: My second stop - 0xb5355a04 e1a00000 mov r1, r1 - 0xb5355a08 e1a00000 mov r1, r1 - 0xb5355a0c e1a00000 mov r1, r1 -``` - -Information can be printed for all (watched) stops which were hit at least once. - -``` -sim> stop info all -Stop information: -stop 123 - 0x7b: Enabled, counter = 1, My stop. -sim> cont -Simulator hit My second stop - 0xb5355a04 e1a00000 mov r1, r1 -sim> stop info all -Stop information: -stop 1 - 0x1: Enabled, counter = 1, My second stop -stop 123 - 0x7b: Enabled, counter = 1, My stop. -``` - -Stops can be disabled or enabled. (Only available for watched stops.) - -``` -sim> stop disable 1 -sim> cont -Simulator hit My stop. - 0xb5356808 e1a00000 mov r0, r0 -sim> cont -Simulator hit My stop. - 0xb5356c28 e1a00000 mov r0, r0 -sim> stop info all -Stop information: -stop 1 - 0x1: Disabled, counter = 2, My second stop -stop 123 - 0x7b: Enabled, counter = 3, My stop. -sim> stop enable 1 -sim> cont -Simulator hit My second stop - 0xb5356c44 e1a00000 mov r1, r1 -sim> stop disable all -sim> con -In function test. -``` \ No newline at end of file diff --git a/deps/v8/docs/becoming_v8_committer.md b/deps/v8/docs/becoming_v8_committer.md deleted file mode 100644 index 0a927b3ca9f72d..00000000000000 --- a/deps/v8/docs/becoming_v8_committer.md +++ /dev/null @@ -1,40 +0,0 @@ -# Becoming a V8 committer - -## What is a committer? - -Technically, a committer is someone who has write access to the V8 Git repository. A committer can submit his or her own patches or patches from others. - -This privilege is granted with some expectation of responsibility: committers are people who care about the V8 project and want to help meet its goals. A committer is not just someone who can make changes, but someone who has demonstrated his or her ability to collaborate with the team, get the most knowledgeable people to review code, contribute high-quality code, and follow through to fix issues (in code or tests). - -A committer is a contributor to the V8 projects' success and a citizen helping the projects succeed. See V8CommittersResponsibility. - -## How do I become a committer? - -In a nutshell, contribute 20 non-trivial patches and get at least three different people to review them (you'll need three people to support you). Then ask someone to nominate you. You're demonstrating your: - - * commitment to the project (20 good patches requires a lot of your valuable time), - * ability to collaborate with the team, - * understanding of how the team works (policies, processes for testing and code review, etc), - * understanding of the projects' code base and coding style, and - * ability to write good code (last but certainly not least) - -A current committer nominates you by sending email to v8-committers@googlegroups.com containing: - - * your first and last name - * your Google Code email address - * an explanation of why you should be a committer, - * embedded list of links to revisions (about top 10) containing your patches - -Two other committers need to second your nomination. If no one objects in 5 working days (U.S.), you're a committer. If anyone objects or wants more information, the committers discuss and usually come to a consensus (within the 5 working days). If issues cannot be resolved, there's a vote among current committers. - -Once you get approval from the existing committers, we'll send you instructions for write access to SVN or Git. You'll also be added to v8-committers@googlegroups.com. - -In the worst case, this can drag out for two weeks. Keep writing patches! Even in the rare cases where a nomination fails, the objection is usually something easy to address like "more patches" or "not enough people are familiar with this person's work." - -## Maintaining committer status - -You don't really need to do much to maintain committer status: just keep being awesome and helping the V8 project! - -In the unhappy event that a committer continues to disregard good citizenship (or actively disrupts the project), we may need to revoke that person's status. The process is the same as for nominating a new committer: someone suggests the revocation with a good reason, two people second the motion, and a vote may be called if consensus cannot be reached. I hope that's simple enough, and that we never have to test it in practice. - -(Source: inspired by http://dev.chromium.org/getting-involved/become-a-committer ) diff --git a/deps/v8/docs/building_with_gyp.md b/deps/v8/docs/building_with_gyp.md deleted file mode 100644 index 0183fd2de519f2..00000000000000 --- a/deps/v8/docs/building_with_gyp.md +++ /dev/null @@ -1,260 +0,0 @@ -**Build issues? File a bug at code.google.com/p/v8/issues or ask for help on v8-users@googlegroups.com.** - -# Building V8 - -V8 is built with the help of [GYP](http://code.google.com/p/gyp/). GYP is a meta build system of sorts, as it generates build files for a number of other build systems. How you build therefore depends on what "back-end" build system and compiler you're using. -The instructions below assume that you already have a [checkout of V8](using_git.md) but haven't yet installed the build dependencies. - -If you intend to develop on V8, i.e., send patches and work with changelists, you will need to install the dependencies as described [here](using_git.md). - - -## Prerequisite: Installing GYP - -First, you need GYP itself. GYP is fetched together with the other dependencies by running: - -``` -gclient sync -``` - -## Building - -### GCC + make - -Requires GNU make 3.81 or later. Should work with any GCC >= 4.8 or any recent clang (3.5 highly recommended). - -#### Build instructions - - -The top-level Makefile defines a number of targets for each target architecture (`ia32`, `x64`, `arm`, `arm64`) and mode (`debug`, `optdebug`, or `release`). So your basic command for building is: -``` -make ia32.release -``` - -or analogously for the other architectures and modes. You can build both debug and release binaries with just one command: -``` -make ia32 -``` - -To automatically build in release mode for the host architecture: -``` -make native -``` - -You can also can build all architectures in a given mode at once: -``` -make release -``` - -Or everything: -``` -make -``` - -#### Optional parameters - - * `-j` specifies the number of parallel build processes. Set it (roughly) to the number of CPU cores your machine has. The GYP/make based V8 build also supports distcc, so you can compile with `-j100` or so, provided you have enough machines around. - - * `OUTDIR=foo` specifies where the compiled binaries go. It defaults to `./out/`. In this directory, a subdirectory will be created for each architecture and mode. You will find the d8 shell's binary in `foo/ia32.release/d8`, for example. - - * `library=shared` or `component=shared_library` (the two are completely equivalent) builds V8 as a shared library (`libv8.so`). - - * `soname_version=1.2.3` is only relevant for shared library builds and configures the SONAME of the library. Both the SONAME and the filename of the library will be `libv8.so.1.2.3` if you specify this. Due to a peculiarity in GYP, if you specify a custom SONAME, the library's path will no longer be encoded in the binaries, so you'll have to run d8 as follows: -``` -LD_LIBRARY_PATH=out/ia32.release/lib.target out/ia32.release/d8 -``` - - * `console=readline` enables readline support for the d8 shell. You need readline development headers for this (`libreadline-dev` on Ubuntu). - - * `disassembler=on` enables the disassembler for release mode binaries (it's always enabled for debug binaries). This is useful if you want to inspect generated machine code. - - * `snapshot=off` disables building with a heap snapshot. Compiling will be a little faster, but V8ā€™s start up will be slightly slower. - - * `gdbjit=on` enables GDB JIT support. - - * `liveobjectlist=on` enables the Live Object List feature. - - * `vfp3=off` is only relevant for ARM builds with snapshot and disables the use of VFP3 instructions in the snapshot. - - * `debuggersupport=off` disables the javascript debugger. - - * `werror=no` omits the -Werror flag. This is especially useful for not officially supported C++ compilers (e.g. newer versions of the GCC) so that compile warnings are ignored. - - * `strictaliasing=off` passes the -fno-strict-aliasing flag to GCC. This may help to work around build failures on officially unsupported platforms and/or GCC versions. - - * `regexp=interpreted` chooses the interpreted mode of the irregexp regular expression engine instead of the native code mode. - - * `hardfp=on` creates "hardfp" binaries on ARM. - -### Ninja - -To build d8: -``` -export GYP_GENERATORS=ninja -build/gyp_v8 -ninja -C out/Debug d8 -``` - -Specify `out/Release` for a release build. I recommend setting up an alias so that you don't need to type out that build directory path. - -If you want to build all targets, use `ninja -C out/Debug all`. It's faster to build only the target you're working on, like `d8` or `unittests`. - -Note: You need to set `v8_target_arch` if you want a non-native build, i.e. either -``` -export GYP_DEFINES="v8_target_arch=arm" -build/gyp_v8 ... -``` -or -``` -build/gyp_v8 -Dv8_target_arch=arm ... -``` - - -#### Using goma (Googlers only) - -To use goma you need to set the `use_goma` gyp define, either by passing it to `gyp_v8`, i.e. -``` -build/gyp_v8 -Duse_goma=1 -``` -or by setting the environment variable `$GYP_DEFINES` appropriately: -``` -export GYP_DEFINES="use_goma=1" -``` -Note: You may need to also set `gomadir` to point to the directory where you installed goma, if it's not in the default location. - -If you are using goma, you'll also want to bump the job limit, i.e. -``` -ninja -j 100 -C out/Debug d8 -``` - - -### Cross-compiling - -Similar to building with Clang, you can also use a cross-compiler. Just export your toolchain (`CXX`/`LINK` environment variables should be enough) and compile. For example: -``` -export CXX=/path/to/cross-compile-g++ -export LINK=/path/to/cross-compile-g++ -make arm.release -``` - - -### Xcode - -From the root of your V8 checkout, run either of: -``` -build/gyp_v8 -Dtarget_arch=ia32 -build/gyp_v8 -Dtarget_arch=x64 -``` - -This will generate Xcode project files in `build/` that you can then either open with Xcode or compile directly from the command line: -``` -xcodebuild -project build/all.xcodeproj -configuration Release -xcodebuild -project build/all.xcodeproj -``` - -Note: If you have configured your `GYP_GENERATORS` environment variable, either unset it, or set it to `xcode` for this to work. - - -#### Custom build settings - -You can export the `GYP_DEFINES` environment variable in your shell to configure custom build options. The syntax is `GYP_DEFINES="-Dvariable1=value1 -Dvariable2=value2"` and so on for as many variables as you wish. Possibly interesting options include: - * `-Dcomponent=shared_library` (see `library=shared` in the [GCC + make](#Optional_parameters.md) section above) - * `-Dconsole=readline` (see `console=readline`) - * `-Dv8_enable_disassembler=1` (see `disassembler=on`) - * `-Dv8_use_snapshot='false'` (see `snapshot=off`) - * `-Dv8_enable_gdbjit=1` (see `gdbjit=on`) - * `-Dv8_use_liveobjectlist=true` (see `liveobjectlist=on`) - - -### Visual Studio - -You need Visual Studio 2013, older versions might still work at the moment, but this will probably change soon because we intend to use C++11 features. - -#### Prerequisites - -After you created [checkout of V8](using_git.md), all dependencies will be already installed. - -If you are getting errors during build mentioning that 'python' could not be found, add the 'python.exe' to PATH. - -If you have Visual Studio 2013 and 2015 installed side-by-side and set the environment variable GYP\_MSVS\_VERSION to '2013'. In that case the right project files are going to be created. - -#### Building - * If you use the command prompt: - 1. Generate project files: -``` -python build\gyp_v8 -``` -> > > Specify the path to `python.exe` if you don't have it in your PATH. -> > > Append `-Dtarget_arch=x64` if you want to build 64bit binaries. If you switch between ia32 and x64 targets, you may have to manually delete the generated .vcproj/.sln files before regenerating them. -> > > Example: -``` -third_party/python_26/python.exe build\gyp_v8 -Dtarget_arch=x64 -``` - 1. Build: -> > > Either open `build\All.sln` in Visual Studio, or compile on the command line as follows (adapt the path as necessary, or simply put `devenv.com` in your PATH): -``` -"c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" /build Release build\All.sln -``` -> > > Replace `Release` with `Debug` to build in Debug mode. -> > > The built binaries will be in build\Release\ or build\Debug\. - - * If you use cygwin, the workflow is the same, but the syntax is slightly different: - 1. Generate project files: -``` -build/gyp_v8 -``` -> > > This will spit out a bunch of warnings about missing input files, but it seems to be OK to ignore them. (If you have time to figure this out, we'd happily accept a patch that makes the warnings go away!) - 1. Build: -``` -/cygdrive/c/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/devenv.com /build Release build/all.sln -``` - - -#### Custom build settings - -See the "custom build settings" section for [Xcode](#Xcode) above. - - -#### Running tests - -You can abuse the test driver's --buildbot flag to make it find the executables where MSVC puts them: -``` -python tools/run-tests.py --buildbot --outdir build --arch ia32 --mode Release -``` - - -### MinGW - -Building on MinGW is not officially supported, but it is possible. You even have two options: - -#### Option 1: With Cygwin Installed - -Requirements: - * MinGW - * Cygwin, including Python - * Python from www.python.org _(yes, you need two Python installations!)_ - -Building: - 1. Open a MinGW shell - 1. `export PATH=$PATH:/c/cygwin/bin` _(or wherever you installed Cygwin)_ - 1. `make ia32.release -j8` - -Running tests: - 1. Open a MinGW shell - 1. `export PATH=/c/Python27:$PATH` _(or wherever you installed Python)_ - 1. `make ia32.release.check -j8` - -#### Option 2: Without Cygwin, just MinGW - -Requirements: - * MinGW - * Python from www.python.org - -Building and testing: - 1. Open a MinGW shell - 1. `tools/mingw-generate-makefiles.sh` _(re-run this any time a `*`.gyp`*` file changed, such as after updating your checkout)_ - 1. `make ia32.release` _(unfortunately -jX doesn't seem to work here)_ - 1. `make ia32.release.check -j8` - - -# Final Note -If you have problems or questions, please file bugs at code.google.com/p/v8/issues or send mail to v8-users@googlegroups.com. Comments on this page are likely to go unnoticed and unanswered. \ No newline at end of file diff --git a/deps/v8/docs/contributing.md b/deps/v8/docs/contributing.md deleted file mode 100644 index aa8e6659762d38..00000000000000 --- a/deps/v8/docs/contributing.md +++ /dev/null @@ -1,32 +0,0 @@ -Here you will find information that you'll need to be able to contribute to V8. Be sure to read the whole thing before sending us a contribution, including the small print at the end. - -## Before you contribute - -Before you start working on a larger contribution V8 you should get in touch with us first through the V8 [contributor mailing list](http://groups.google.com/group/v8-dev) so we can help out and possibly guide you; coordinating up front makes it much easier to avoid frustration later on. - -## Getting the code - -See [UsingGit](using_git.md). - -## Submitting code - -The source code of V8 follows the [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) so you should familiarize yourself with those guidelines. Before submitting code you must pass all our [tests](http://code.google.com/p/v8-wiki/wiki/Testing), and have to successfully run the presubmit checks: - -> `tools/presubmit.py` - -The presubmit script uses a linter from Google, `cpplint.py`. External contributors can get this from [here](http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py) and place it in their path. - -All submissions, including submissions by project members, require review. We use the same code-review tools and process as the chromium project. In order to submit a patch, you need to get the [depot\_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools) and follow these instructions on [requesting a review](http://dev.chromium.org/developers/contributing-code) (using your V8 workspace instead of a chromium workspace). - -### Look out for breakage or regressions - -Before submitting your code please check the [buildbot console](http://build.chromium.org/p/client.v8/console) to see that the columns are mostly green before checking in your changes. Otherwise you will not know if your changes break the build or not. When your change is committed watch the [buildbot console](http://build.chromium.org/p/client.v8/console) until the bots turn green after your change. - - -## The small print - -Before we can use your code you have to sign the [Google Individual Contributor License Agreement](http://code.google.com/legal/individual-cla-v1.0.html), which you can do online. This is mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things, for instance that you'll tell us if you know that your code infringes on other people's patents. You don't have to do this until after you've submitted your code for review and a member has approved it, but you will have to do it before we can put your code into our codebase. - -Contributions made by corporations are covered by a different agreement than the one above, the [Software Grant and Corporate Contributor License Agreement](http://code.google.com/legal/corporate-cla-v1.0.html). - -Sign them online [here](https://cla.developers.google.com/) \ No newline at end of file diff --git a/deps/v8/docs/cross_compiling_for_arm.md b/deps/v8/docs/cross_compiling_for_arm.md deleted file mode 100644 index 68464eff1f5568..00000000000000 --- a/deps/v8/docs/cross_compiling_for_arm.md +++ /dev/null @@ -1,151 +0,0 @@ -

Building V8 with SCons is no longer supported. See BuildingWithGYP.

- ---- - - -# Using Sourcery G++ Lite - -The Sourcery G++ Lite cross compiler suite is a free version of Sourcery G++ from [CodeSourcery](http://www.codesourcery.com). There is a page for the [GNU Toolchain for ARM Processors](http://www.codesourcery.com/sgpp/lite/arm). Determine the version you need for your host/target combination. - -The following instructions uses [2009q1-203 for ARM GNU/Linux](http://www.codesourcery.com/sgpp/lite/arm/portal/release858), and if using a different version please change the URLs and `TOOL_PREFIX` below accordingly. - -## Installing on host and target - -The simplest way of setting this up is to install the full Sourcery G++ Lite package on both the host and target at the same location. This will ensure that all the libraries required are available on both sides. If you want to use the default libraries on the host there is no need the install anything on the target. - -The following script will install in `/opt/codesourcery`: - -``` -#!/bin/sh - -sudo mkdir /opt/codesourcery -cd /opt/codesourcery -sudo chown $USERNAME . -chmod g+ws . -umask 2 -wget http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -tar -xvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -``` - - -## Building using scons without snapshot - -The simplest way to build is without snapshot, as that does no involve using the simulator to generate the snapshot. The following script will build the sample shell without snapshot for ARM v7. - -``` -#!/bin/sh - -export TOOL_PREFIX=/opt/codesourcery/arm-2009q1/bin/arm-none-linux-gnueabi -export CXX=$TOOL_PREFIX-g++ -export AR=$TOOL_PREFIX-ar -export RANLIB=$TOOL_PREFIX-ranlib -export CC=$TOOL_PREFIX-gcc -export LD=$TOOL_PREFIX-ld - -export CCFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=vfp" -export ARM_TARGET_LIB=/opt/codesourcery/arm-2009q1/arm-none-linux-gnueabi/libc - -scons wordsize=32 snapshot=off arch=arm sample=shell -``` - -If the processor is not Cortex A8 or does not have VFP enabled the `-mtune=cortex-a8` and `-mfpu=vfp` part of `CCFLAGS` needs to be changed accordingly. By default the V8 SCons build adds `-mfloat-abi=softfp`. - -If using the default libraries on the target just leave out the setting of `ARM_TARGET_LIB` and if the target libraies are in a different location ARM\_TARGET\_LIB` needs to be adjusted accordingly. - -The default for Sourcery G++ Lite is ARM v5te with software floating point emulation, so if testing building for ARM v5te the setting of `CCFLAGS` and `ARM_TARGET_LIB` should be changed to: - -``` -CCFLAGS="" -ARM_TARGET_LIB=/opt/codesourcery/arm-2009q1/arm-none-linux-gnueabi/libc - -scons armeabi=soft ... -``` - -Relying on defaults in the tool chain might lead to surprises, so for ARM v5te with software floating point emulation the following is more explicit: - -``` -CCFLAGS="-march=armv5te" -ARM_TARGET_LIB=/opt/codesourcery/arm-2009q1/arm-none-linux-gnueabi/libc - -scons armeabi=soft ... -``` - -If the target has an VFP unit use the following: - -``` -CCFLAGS="-mfpu=vfpv3" -ARM_TARGET_LIB=/opt/codesourcery/arm-2009q1/arm-none-linux-gnueabi/libc -``` - -To allow G++ to use Thumb2 instructions and the VFP unit when compiling the C/C++ code use: - -``` -CCFLAGS="-mthumb -mfpu=vfpv3" -ARM_TARGET_LIB=/opt/codesourcery/arm-2009q1/arm-none-linux-gnueabi/libc/thumb2 -``` - -_Note:_ V8 will not use Thumb2 instructions in its generated code it always uses the full ARM instruction set. - -For other ARM versions please check the Sourcery G++ Lite documentation. - -As mentioned above the default for Sourcery G++ Lite used here is ARM v5te with software floating point emulation. However beware that this default might change between versions and that there is no unique defaults for ARM tool chains in general, so always passing `-march` and possibly `-mfpu` is recommended. Passing `-mfloat-abi` is not required as this is controlled by the SCons option `armeabi`. - -## Building using scons with snapshot - -When building with snapshot the simulator is used to build the snapshot on the host and then building for the target with that snapshot. The following script will accomplish that (using both Thumb2 and VFP instructions): - -``` -#!/bin/sh - -V8DIR=.. - -cd host - -scons -Y$V8DIR simulator=arm snapshot=on -mv obj/release/snapshot.cc $V8DIR/src/snapshot.cc - -cd .. - -export TOOL_PREFIX=/opt/codesourcery/arm-2010.09-103/bin/arm-none-linux-gnueabi -export CXX=$TOOL_PREFIX-g++ -export AR=$TOOL_PREFIX-ar -export RANLIB=$TOOL_PREFIX-ranlib -export CC=$TOOL_PREFIX-gcc -export LD=$TOOL_PREFIX-ld - -export CCFLAGS="-mthumb -march=armv7-a -mfpu=vfpv3" -export ARM_TARGET_LIB=/opt/codesourcery/arm-2010.09-103/arm-none-linux-gnueabi/libc/thumb2 - -cd target - -scons -Y$V8DIR wordsize=32 snapshot=nobuild arch=armsample=shell -rm $V8DIR/src/snapshot.cc - -cd .. -``` - -This script required the two subdirectories `host` and `target`. V8 is first build for the host with the ARM simulator which supports running ARM code on the host. This is used to build a snapshot file which is then used for the actual cross compilation of V8. - -## Building for target which supports unaligned access - -The default when building V8 for an ARM target (either cross compiling or compiling on an ARM machine) is to disable unaligned memory access. However in some situations (most noticeably handling of regular expressions) performance will be better if unaligned memory access is used on processors which supports it. To enable unaligned memory access set `unalignedaccesses` to `on` when building: - -``` -scons unalignedaccesses=on ... -``` - -When running in the simulator the default is to enable unaligned memory access, so to test in the simulator with unaligned memory access disabled set `unalignedaccesses` to `off` when building: - -``` -scons unalignedaccesses=off simulator=arm ... -``` - -## Using V8 with hardfp calling convention - -By default V8 uses the softfp calling convention when calling C functions from generated code. However it is possible to use hardfp as well. To enable this set `armeabi` to `hardfp` when building: - -``` -scons armeabi=hardfp ... -``` - -Passing `armeabi=hardfp` to SCons will automatically set the compiler flag `-mfloat-abi=hardfp`. If using snapshots remember to pass `armeabi=hardfp` when building V8 on the host for generating the snapshot as well. \ No newline at end of file diff --git a/deps/v8/docs/d8_on_android.md b/deps/v8/docs/d8_on_android.md deleted file mode 100644 index eda641934593ff..00000000000000 --- a/deps/v8/docs/d8_on_android.md +++ /dev/null @@ -1,101 +0,0 @@ -# Prerequisites - * a Linux/Mac workstation - * v8 r12178 (on Google Code) or later - * an Android emulator or device with matching USB cable - * make sure [building with GYP](http://code.google.com/p/v8-wiki/wiki/BuildingWithGYP) works - - -# Get the code - - * Use the instructions from https://code.google.com/p/v8-wiki/wiki/UsingGit to get the code - * Once you need to add the android dependencies: -``` -v8$ echo "target_os = ['android']" >> ../.gclient && gclient sync --nohooks -``` - * The sync will take a while the first time as it downloads the Android NDK to v8/third\_party - * If you want to use a different NDK, you need to set the gyp variable android\_ndk\_root - - -# Get the Android SDK - * tested version: `r15` - * download the SDK from http://developer.android.com/sdk/index.html - * extract it - * install the "Platform tools" using the SDK manager that you can start by running `tools/android` - * now you have a `platform_tools/adb` binary which will be used later; put it in your `PATH` or remember where it is - - -# Set up your device - * Enable USB debugging (Gingerbread: Settings > Applications > Development > USB debugging; Ice Cream Sandwich: Settings > Developer Options > USB debugging) - * connect your device to your workstation - * make sure `adb devices` shows it; you may have to edit `udev` rules to give yourself proper permissions - * run `adb shell` to get an ssh-like shell on the device. In that shell, do: -``` -cd /data/local/tmp -mkdir v8 -cd v8 -``` - - -# Push stuff onto the device - * make sure your device is connected - * from your workstation's shell: -``` -adb push /file/you/want/to/push /data/local/tmp/v8/ -``` - - -# Compile V8 for Android -Currently two architectures (`android_arm` and `android_ia32`) are supported, each in `debug` or `release` mode. The following steps work equally well for both ARM and ia32, on either the emulator or real devices. - * compile: -``` -make android_arm.release -j16 -``` - * push the resulting binary to the device: -``` -adb push out/android_arm.release/d8 /data/local/tmp/v8/d8 -``` - * the most comfortable way to run it is from your workstation's shell as a one-off command (rather than starting an interactive shell session on the device), that way you can use pipes or whatever to process the output as necessary: -``` -adb shell /data/local/tmp/v8/d8 -``` - * warning: when you cancel such an "adb shell whatever" command using Ctrl+C, the process on the phone will sometimes keep running. - * Alternatively, use the `.check` suffix to automatically push test binaries and test cases onto the device and run them. -``` -make android_arm.release.check -``` - - -# Profile - * compile a binary, push it to the device, keep a copy of it on the host -``` -make android_arm.release -j16 -adb push out/android_arm.release/d8 /data/local/tmp/v8/d8-version.under.test -cp out/android_arm.release/d8 ./d8-version.under.test -``` - * get a profiling log and copy it to the host: -``` -adb shell /data/local/tmp/v8/d8-version.under.test benchmark.js --prof -adb pull /data/local/tmp/v8/v8.log ./ -``` - * open `v8.log` in your favorite editor and edit the first line to match the full path of the `d8-version.under.test` binary on your workstation (instead of the `/data/local/tmp/v8/` path it had on the device) - * run the tick processor with the host's `d8` and an appropriate `nm` binary: -``` -cp out/ia32.release/d8 ./d8 # only required once -tools/linux-tick-processor --nm=$ANDROID_NDK_ROOT/toolchain/bin/arm-linux-androideabi-nm -``` - -# Compile SpiderMonkey for Lollipop -``` -cd firefox/js/src -autoconf2.13 -./configure \ - --target=arm-linux-androideabi \ - --with-android-ndk=$ANDROID_NDK_ROOT \ - --with-android-version=21 \ - --without-intl-api \ - --disable-tests \ - --enable-android-libstdcxx \ - --enable-pie -make -adb push -p js/src/shell/js /data/local/tmp/js -``` \ No newline at end of file diff --git a/deps/v8/docs/debugger_protocol.md b/deps/v8/docs/debugger_protocol.md deleted file mode 100644 index 6b6b448a0f8cde..00000000000000 --- a/deps/v8/docs/debugger_protocol.md +++ /dev/null @@ -1,934 +0,0 @@ -# Introduction - -V8 has support for debugging the JavaScript code running in it. There are two API's for this a function based API using JavaScript objects and a message based API using a JSON based protocol. The function based API can be used by an in-process debugger agent, whereas the message based API can be used out of process as well. -**> The message based API is no longer maintained. Please ask in v8-users@googlegroups.com if you want to attach a debugger to the run-time.** - -The debugger protocol is based on [JSON](http://www.json.org/)). Each protocol packet is defined in terms of JSON and is transmitted as a string value. All packets have two basic elements `seq` and `type`. - -``` -{ "seq" : , - "type" : , - ... -} -``` - -The element `seq` holds the sequence number of the packet. And element type is the type of the packet. The type is a string value with one of the following values `"request"`, `"response"` or `"event"`. - -A `"request"` packet has the following structure: - -``` -{ "seq" : , - "type" : "request", - "command" : - "arguments" : ... -} -``` - -A `"response"` packet has the following structure. If `success` is true `body` will contain the response data. If `success` is false `message` will contain an error message. - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : - "body" : ... - "running" : - "success" : - "message" : -} -``` - -An `"event"` packet has the following structure: - -``` -{ "seq" : , - "type" : "event", - "event" : - body : ... -} -``` - -# Request/response pairs - -## Request `continue` - -The request `continue` is a request from the debugger to start the VM running again. As part of the `continue` request the debugger can specify if it wants the VM to perform a single step action. - -``` -{ "seq" : , - "type" : "request", - "command" : "continue", - "arguments" : { "stepaction" : <"in", "next" or "out">, - "stepcount" : - } -} -``` - -In the response the property `running` will always be true as the VM will be running after executing the `continue` command. If a single step action is requested the VM will respond with a `break` event after running the step. - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : "continue", - "running" : true - "success" : true -} -``` - - -Here are a couple of examples. - -``` -{"seq":117,"type":"request","command":"continue"} -{"seq":118,"type":"request","command":"continue","arguments":{"stepaction":"out"}} -{"seq":119,"type":"request","command":"continue","arguments":{"stepaction":"next","stepcount":5}} -``` - -## Request `evaluate` - -The request `evaluate` is used to evaluate an expression. The body of the result is as described in response object serialization below. - -``` -{ "seq" : , - "type" : "request", - "command" : "evaluate", - "arguments" : { "expression" : , - "frame" : , - "global" : , - "disable_break" : , - "additional_context" : [ - { "name" : , "handle" : }, - { "name" : , "handle" : }, - ... - ] - } -} -``` - -Optional argument `additional_context` specifies handles that will be visible from the expression under corresponding names (see example below). - -Response: - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : "evaluate", - "body" : ... - "running" : - "success" : true -} -``` - -Here are a couple of examples. - -``` -{"seq":117,"type":"request","command":"evaluate","arguments":{"expression":"1+2"}} -{"seq":118,"type":"request","command":"evaluate","arguments":{"expression":"a()","frame":3,"disable_break":false}} -{"seq":119,"type":"request","command":"evaluate","arguments":{"expression":"[o.a,o.b,o.c]","global":true,"disable_break":true}} -{"seq":120,"type":"request","command":"evaluate","arguments":{"expression":"obj.toString()", "additional_context": [{ "name":"obj","handle":25 }] }} -``` - -## Request `lookup` - -The request `lookup` is used to lookup objects based on their handle. The individual array elements of the body of the result is as described in response object serialization below. - -``` -{ "seq" : , - "type" : "request", - "command" : "lookup", - "arguments" : { "handles" : , - "includeSource" : , - } -} -``` - -Response: - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : "lookup", - "body" : - "running" : - "success" : true -} -``` - -Here are a couple of examples. - -``` -{"seq":117,"type":"request","command":"lookup","arguments":{"handles":"[1]"}} -{"seq":118,"type":"request","command":"lookup","arguments":{"handles":"[7,12]"}} -``` - -## Request `backtrace` - -The request `backtrace` returns a backtrace (or stacktrace) from the current execution state. When issuing a request a range of frames can be supplied. The top frame is frame number 0. If no frame range is supplied data for 10 frames will be returned. - -``` -{ "seq" : , - "type" : "request", - "command" : "backtrace", - "arguments" : { "fromFrame" : - "toFrame" : - "bottom" : - } -} -``` - -The response contains the frame data together with the actual frames returned and the toalt frame count. - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : "backtrace", - "body" : { "fromFrame" : - "toFrame" : - "totalFrames" : - "frames" : - } - "running" : - "success" : true -} -``` - -If there are no stack frames the result body only contains `totalFrames` with a value of `0`. When an exception event is generated due to compilation failures it is possible that there are no stack frames. - -Here are a couple of examples. - -``` -{"seq":117,"type":"request","command":"backtrace"} -{"seq":118,"type":"request","command":"backtrace","arguments":{"toFrame":2}} -{"seq":119,"type":"request","command":"backtrace","arguments":{"fromFrame":0,"toFrame":9}} -``` - -## Request `frame` - -The request frame selects a new selected frame and returns information for that. If no frame number is specified the selected frame is returned. - -``` -{ "seq" : , - "type" : "request", - "command" : "frame", - "arguments" : { "number" : - } -} -``` - -Response: - -``` -{ "seq" : , - "type" : "response", - "request_seq" : , - "command" : "frame", - "body" : { "index" : , - "receiver" : , - "func" : , - "script" :