From dad73f645cde6920e79db956e7ef82ed640d7615 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Wed, 7 Jan 2015 18:38:38 +0100 Subject: [PATCH] deps: upgrade v8 to 3.31.74.1 PR-URL: https://github.com/iojs/io.js/pull/243 Reviewed-By: Fedor Indutny Reviewed-By: Trevor Norris --- deps/v8/.DEPS.git | 113 - deps/v8/.gitignore | 3 + deps/v8/BUILD.gn | 73 +- deps/v8/ChangeLog | 518 ++ deps/v8/DEPS | 39 +- deps/v8/Makefile | 13 +- deps/v8/Makefile.android | 61 +- deps/v8/OWNERS | 1 + deps/v8/PRESUBMIT.py | 2 +- deps/v8/README.md | 11 +- deps/v8/build/android.gypi | 21 +- deps/v8/build/features.gypi | 18 +- deps/v8/build/standalone.gypi | 34 + deps/v8/build/toolchain.gypi | 500 +- deps/v8/codereview.settings | 3 +- deps/v8/include/v8.h | 394 +- deps/v8/include/v8config.h | 11 +- deps/v8/samples/lineprocessor.cc | 385 -- deps/v8/samples/process.cc | 25 +- deps/v8/samples/samples.gyp | 6 - deps/v8/samples/shell.cc | 4 - deps/v8/src/accessors.cc | 94 +- deps/v8/src/accessors.h | 1 + deps/v8/src/api.cc | 396 +- deps/v8/src/arguments.h | 47 +- deps/v8/src/arm/assembler-arm.cc | 168 +- deps/v8/src/arm/assembler-arm.h | 17 +- deps/v8/src/arm/builtins-arm.cc | 16 +- deps/v8/src/arm/code-stubs-arm.cc | 199 +- deps/v8/src/arm/code-stubs-arm.h | 50 +- deps/v8/src/arm/codegen-arm.cc | 8 +- deps/v8/src/arm/constants-arm.h | 4 +- deps/v8/src/arm/cpu-arm.cc | 2 + deps/v8/src/arm/deoptimizer-arm.cc | 6 + deps/v8/src/arm/disasm-arm.cc | 160 +- deps/v8/src/arm/full-codegen-arm.cc | 112 +- deps/v8/src/arm/lithium-arm.cc | 28 +- deps/v8/src/arm/lithium-arm.h | 162 +- deps/v8/src/arm/lithium-codegen-arm.cc | 183 +- deps/v8/src/arm/macro-assembler-arm.cc | 45 +- deps/v8/src/arm/macro-assembler-arm.h | 24 +- deps/v8/src/arm/simulator-arm.cc | 198 +- deps/v8/src/arm64/assembler-arm64-inl.h | 4 +- deps/v8/src/arm64/assembler-arm64.cc | 30 +- deps/v8/src/arm64/builtins-arm64.cc | 16 +- deps/v8/src/arm64/code-stubs-arm64.cc | 163 +- deps/v8/src/arm64/code-stubs-arm64.h | 12 +- deps/v8/src/arm64/cpu-arm64.cc | 2 + deps/v8/src/arm64/deoptimizer-arm64.cc | 5 + deps/v8/src/arm64/full-codegen-arm64.cc | 112 +- deps/v8/src/arm64/lithium-arm64.cc | 18 +- deps/v8/src/arm64/lithium-arm64.h | 163 +- deps/v8/src/arm64/lithium-codegen-arm64.cc | 121 +- deps/v8/src/arm64/macro-assembler-arm64-inl.h | 15 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 47 +- deps/v8/src/arm64/macro-assembler-arm64.h | 35 +- deps/v8/src/arm64/simulator-arm64.cc | 2 +- deps/v8/src/array-iterator.js | 2 +- deps/v8/src/array.js | 59 +- deps/v8/src/ast-numbering.cc | 125 +- deps/v8/src/ast-this-access-visitor.cc | 239 + deps/v8/src/ast-this-access-visitor.h | 34 + deps/v8/src/ast-value-factory.cc | 15 +- deps/v8/src/ast-value-factory.h | 12 +- deps/v8/src/ast.cc | 149 +- deps/v8/src/ast.h | 835 +-- deps/v8/src/base/cpu.cc | 86 +- deps/v8/src/base/cpu.h | 7 + deps/v8/src/base/iterator.h | 56 + deps/v8/src/base/macros.h | 6 +- deps/v8/src/base/platform/platform-linux.cc | 2 +- deps/v8/src/base/platform/platform-posix.cc | 3 +- deps/v8/src/base/platform/platform-win32.cc | 43 +- deps/v8/src/base/platform/time.cc | 12 +- deps/v8/src/base/sys-info.cc | 8 - deps/v8/src/bootstrapper.cc | 212 +- deps/v8/src/bootstrapper.h | 4 +- deps/v8/src/builtins.cc | 14 +- deps/v8/src/checks.h | 6 - deps/v8/src/code-stubs-hydrogen.cc | 485 +- deps/v8/src/code-stubs.cc | 1 - deps/v8/src/code-stubs.h | 347 +- deps/v8/src/collection-iterator.js | 2 +- deps/v8/src/collection.js | 26 +- deps/v8/src/compiler.cc | 205 +- deps/v8/src/compiler.h | 23 +- deps/v8/src/compiler/access-builder.cc | 44 +- deps/v8/src/compiler/access-builder.h | 3 + .../v8/src/compiler/arm/code-generator-arm.cc | 275 +- .../src/compiler/arm/instruction-codes-arm.h | 8 + .../compiler/arm/instruction-selector-arm.cc | 533 +- deps/v8/src/compiler/arm/linkage-arm.cc | 4 +- .../compiler/arm64/code-generator-arm64.cc | 374 +- .../compiler/arm64/instruction-codes-arm64.h | 9 +- .../arm64/instruction-selector-arm64.cc | 169 +- deps/v8/src/compiler/arm64/linkage-arm64.cc | 4 +- deps/v8/src/compiler/ast-graph-builder.cc | 138 +- deps/v8/src/compiler/ast-graph-builder.h | 40 +- .../compiler/ast-loop-assignment-analyzer.h | 2 +- .../src/compiler/basic-block-instrumentor.cc | 5 +- deps/v8/src/compiler/change-lowering.cc | 19 +- deps/v8/src/compiler/change-lowering.h | 4 +- deps/v8/src/compiler/code-generator-impl.h | 56 +- deps/v8/src/compiler/code-generator.cc | 81 +- deps/v8/src/compiler/code-generator.h | 26 +- deps/v8/src/compiler/common-node-cache.cc | 29 + deps/v8/src/compiler/common-node-cache.h | 42 +- .../src/compiler/common-operator-reducer.cc | 41 + .../v8/src/compiler/common-operator-reducer.h | 27 + deps/v8/src/compiler/common-operator.cc | 143 +- deps/v8/src/compiler/common-operator.h | 4 +- deps/v8/src/compiler/control-builders.cc | 1 - deps/v8/src/compiler/control-builders.h | 27 +- deps/v8/src/compiler/control-equivalence.h | 361 + deps/v8/src/compiler/control-reducer.cc | 196 +- deps/v8/src/compiler/frame.h | 4 +- deps/v8/src/compiler/gap-resolver.h | 7 +- deps/v8/src/compiler/generic-algorithm-inl.h | 48 - deps/v8/src/compiler/generic-algorithm.h | 79 +- deps/v8/src/compiler/generic-graph.h | 53 - deps/v8/src/compiler/generic-node-inl.h | 267 - deps/v8/src/compiler/generic-node.h | 279 - deps/v8/src/compiler/graph-builder.cc | 8 +- deps/v8/src/compiler/graph-builder.h | 6 +- deps/v8/src/compiler/graph-inl.h | 26 +- deps/v8/src/compiler/graph-reducer.cc | 215 +- deps/v8/src/compiler/graph-reducer.h | 34 +- deps/v8/src/compiler/graph-replay.cc | 4 +- deps/v8/src/compiler/graph-replay.h | 1 + deps/v8/src/compiler/graph-visualizer.cc | 82 +- deps/v8/src/compiler/graph-visualizer.h | 8 + deps/v8/src/compiler/graph.cc | 12 +- deps/v8/src/compiler/graph.h | 66 +- .../src/compiler/ia32/code-generator-ia32.cc | 279 +- .../compiler/ia32/instruction-codes-ia32.h | 4 + .../ia32/instruction-selector-ia32.cc | 654 +- deps/v8/src/compiler/ia32/linkage-ia32.cc | 4 +- deps/v8/src/compiler/instruction-codes.h | 18 + .../src/compiler/instruction-selector-impl.h | 13 +- deps/v8/src/compiler/instruction-selector.cc | 73 +- deps/v8/src/compiler/instruction-selector.h | 14 +- deps/v8/src/compiler/instruction.cc | 51 +- deps/v8/src/compiler/instruction.h | 156 +- deps/v8/src/compiler/js-builtin-reducer.cc | 18 + deps/v8/src/compiler/js-builtin-reducer.h | 28 +- .../src/compiler/js-context-specialization.cc | 74 +- .../src/compiler/js-context-specialization.h | 6 +- deps/v8/src/compiler/js-generic-lowering.cc | 146 +- deps/v8/src/compiler/js-generic-lowering.h | 23 +- deps/v8/src/compiler/js-graph.cc | 21 +- deps/v8/src/compiler/js-graph.h | 13 +- deps/v8/src/compiler/js-inlining.cc | 74 +- deps/v8/src/compiler/js-intrinsic-builder.cc | 1 - deps/v8/src/compiler/js-operator.cc | 29 +- deps/v8/src/compiler/js-operator.h | 2 +- deps/v8/src/compiler/js-typed-lowering.cc | 800 ++- deps/v8/src/compiler/js-typed-lowering.h | 55 +- deps/v8/src/compiler/jump-threading.cc | 198 + deps/v8/src/compiler/jump-threading.h | 34 + deps/v8/src/compiler/linkage-impl.h | 5 +- deps/v8/src/compiler/linkage.cc | 14 +- deps/v8/src/compiler/linkage.h | 5 +- deps/v8/src/compiler/load-elimination.cc | 76 + deps/v8/src/compiler/load-elimination.h | 29 + deps/v8/src/compiler/loop-analysis.cc | 411 ++ deps/v8/src/compiler/loop-analysis.h | 135 + .../src/compiler/machine-operator-reducer.cc | 349 +- .../src/compiler/machine-operator-reducer.h | 12 +- deps/v8/src/compiler/machine-operator.cc | 143 +- deps/v8/src/compiler/machine-operator.h | 30 +- .../src/compiler/mips/code-generator-mips.cc | 333 +- .../compiler/mips/instruction-codes-mips.h | 5 + .../mips/instruction-selector-mips.cc | 137 +- deps/v8/src/compiler/mips/linkage-mips.cc | 4 +- deps/v8/src/compiler/mips64/OWNERS | 5 + .../compiler/mips64/code-generator-mips64.cc | 1444 ++++ .../mips64/instruction-codes-mips64.h | 108 + .../mips64/instruction-selector-mips64.cc | 1079 +++ deps/v8/src/compiler/mips64/linkage-mips64.cc | 67 + deps/v8/src/compiler/move-optimizer.cc | 205 + deps/v8/src/compiler/move-optimizer.h | 44 + deps/v8/src/compiler/node-cache.cc | 19 +- deps/v8/src/compiler/node-cache.h | 30 +- deps/v8/src/compiler/node-matchers.h | 369 +- deps/v8/src/compiler/node-properties-inl.h | 26 +- deps/v8/src/compiler/node-properties.h | 11 +- deps/v8/src/compiler/node.cc | 64 +- deps/v8/src/compiler/node.h | 610 +- deps/v8/src/compiler/opcodes.cc | 34 + deps/v8/src/compiler/opcodes.h | 21 +- ...roperties-inl.h => operator-properties.cc} | 34 +- deps/v8/src/compiler/operator-properties.h | 25 +- deps/v8/src/compiler/operator.h | 28 +- deps/v8/src/compiler/phi-reducer.h | 43 - deps/v8/src/compiler/pipeline.cc | 1098 ++- deps/v8/src/compiler/pipeline.h | 50 +- deps/v8/src/compiler/raw-machine-assembler.cc | 8 +- deps/v8/src/compiler/raw-machine-assembler.h | 6 +- .../compiler/register-allocator-verifier.cc | 460 ++ .../compiler/register-allocator-verifier.h | 86 + deps/v8/src/compiler/register-allocator.cc | 1449 ++-- deps/v8/src/compiler/register-allocator.h | 189 +- deps/v8/src/compiler/representation-change.h | 2 +- deps/v8/src/compiler/schedule.cc | 13 +- deps/v8/src/compiler/schedule.h | 19 +- deps/v8/src/compiler/scheduler.cc | 364 +- deps/v8/src/compiler/scheduler.h | 13 +- deps/v8/src/compiler/select-lowering.cc | 59 +- deps/v8/src/compiler/select-lowering.h | 6 +- deps/v8/src/compiler/simplified-lowering.cc | 441 +- deps/v8/src/compiler/simplified-lowering.h | 9 +- .../compiler/simplified-operator-reducer.cc | 33 - .../compiler/simplified-operator-reducer.h | 4 +- deps/v8/src/compiler/simplified-operator.cc | 122 +- deps/v8/src/compiler/simplified-operator.h | 48 +- deps/v8/src/compiler/source-position.cc | 4 +- deps/v8/src/compiler/typer.cc | 644 +- deps/v8/src/compiler/typer.h | 32 +- .../src/compiler/value-numbering-reducer.cc | 27 +- .../v8/src/compiler/value-numbering-reducer.h | 2 +- deps/v8/src/compiler/verifier.cc | 22 +- .../v8/src/compiler/x64/code-generator-x64.cc | 477 +- .../src/compiler/x64/instruction-codes-x64.h | 6 + .../compiler/x64/instruction-selector-x64.cc | 327 +- deps/v8/src/compiler/x64/linkage-x64.cc | 4 +- deps/v8/src/contexts.cc | 194 +- deps/v8/src/contexts.h | 79 +- deps/v8/src/counters.h | 1 - deps/v8/src/cpu-profiler.cc | 10 +- deps/v8/src/d8.cc | 115 +- deps/v8/src/d8.gyp | 1 - deps/v8/src/d8.h | 2 +- deps/v8/src/debug-debugger.js | 7 +- deps/v8/src/debug.cc | 194 +- deps/v8/src/debug.h | 30 +- deps/v8/src/elements.cc | 96 +- deps/v8/src/elements.h | 17 +- deps/v8/src/execution.cc | 10 +- deps/v8/src/execution.h | 5 + deps/v8/src/factory.cc | 156 +- deps/v8/src/factory.h | 46 +- deps/v8/src/field-index.h | 6 +- deps/v8/src/flag-definitions.h | 114 +- deps/v8/src/flags.cc | 14 + deps/v8/src/flags.h | 3 + deps/v8/src/full-codegen.cc | 198 +- deps/v8/src/full-codegen.h | 38 + deps/v8/src/generator.js | 46 +- deps/v8/src/global-handles.cc | 436 +- deps/v8/src/global-handles.h | 67 +- deps/v8/src/globals.h | 47 +- deps/v8/src/harmony-array-includes.js | 61 + deps/v8/src/harmony-array.js | 64 + deps/v8/src/harmony-classes.js | 29 +- deps/v8/src/harmony-regexp.js | 35 + deps/v8/src/harmony-string.js | 10 +- deps/v8/src/harmony-templates.js | 94 + deps/v8/src/harmony-tostring.js | 4 +- deps/v8/src/harmony-typedarray.js | 18 +- deps/v8/src/heap-snapshot-generator.cc | 102 +- deps/v8/src/heap-snapshot-generator.h | 10 +- deps/v8/src/heap/gc-idle-time-handler.cc | 108 +- deps/v8/src/heap/gc-idle-time-handler.h | 45 +- deps/v8/src/heap/gc-tracer.cc | 160 +- deps/v8/src/heap/gc-tracer.h | 118 +- deps/v8/src/heap/heap-inl.h | 2 +- deps/v8/src/heap/heap.cc | 303 +- deps/v8/src/heap/heap.h | 52 +- deps/v8/src/heap/incremental-marking-inl.h | 4 +- deps/v8/src/heap/incremental-marking.cc | 96 +- deps/v8/src/heap/incremental-marking.h | 18 +- deps/v8/src/heap/mark-compact.cc | 308 +- deps/v8/src/heap/mark-compact.h | 34 +- deps/v8/src/heap/objects-visiting-inl.h | 12 +- deps/v8/src/heap/objects-visiting.cc | 20 +- deps/v8/src/heap/objects-visiting.h | 74 +- deps/v8/src/heap/spaces.cc | 105 +- deps/v8/src/heap/spaces.h | 12 + deps/v8/src/heap/store-buffer.cc | 40 +- deps/v8/src/hydrogen-instructions.cc | 58 +- deps/v8/src/hydrogen-instructions.h | 1101 +-- deps/v8/src/hydrogen.cc | 1288 +++- deps/v8/src/hydrogen.h | 60 +- deps/v8/src/i18n.cc | 16 + deps/v8/src/ia32/assembler-ia32.cc | 106 +- deps/v8/src/ia32/assembler-ia32.h | 201 +- deps/v8/src/ia32/builtins-ia32.cc | 19 +- deps/v8/src/ia32/code-stubs-ia32.cc | 139 +- deps/v8/src/ia32/code-stubs-ia32.h | 10 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 2 +- deps/v8/src/ia32/disasm-ia32.cc | 303 +- deps/v8/src/ia32/full-codegen-ia32.cc | 112 +- deps/v8/src/ia32/lithium-codegen-ia32.cc | 160 +- deps/v8/src/ia32/lithium-ia32.cc | 16 +- deps/v8/src/ia32/lithium-ia32.h | 162 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 43 +- deps/v8/src/ia32/macro-assembler-ia32.h | 25 +- deps/v8/src/ic/access-compiler.h | 13 +- deps/v8/src/ic/arm/handler-compiler-arm.cc | 120 +- deps/v8/src/ic/arm/ic-arm.cc | 44 +- deps/v8/src/ic/arm/ic-compiler-arm.cc | 19 +- deps/v8/src/ic/arm/stub-cache-arm.cc | 42 +- .../v8/src/ic/arm64/handler-compiler-arm64.cc | 113 +- deps/v8/src/ic/arm64/ic-arm64.cc | 41 +- deps/v8/src/ic/arm64/ic-compiler-arm64.cc | 18 +- deps/v8/src/ic/arm64/stub-cache-arm64.cc | 32 +- deps/v8/src/ic/handler-compiler.cc | 96 +- deps/v8/src/ic/handler-compiler.h | 26 +- deps/v8/src/ic/ia32/handler-compiler-ia32.cc | 133 +- deps/v8/src/ic/ia32/ic-compiler-ia32.cc | 21 +- deps/v8/src/ic/ia32/ic-ia32.cc | 55 +- deps/v8/src/ic/ia32/stub-cache-ia32.cc | 39 +- deps/v8/src/ic/ic-compiler.cc | 14 +- deps/v8/src/ic/ic-inl.h | 9 +- deps/v8/src/ic/ic-state.cc | 13 - deps/v8/src/ic/ic-state.h | 4 - deps/v8/src/ic/ic.cc | 428 +- deps/v8/src/ic/ic.h | 86 +- deps/v8/src/ic/mips/handler-compiler-mips.cc | 117 +- deps/v8/src/ic/mips/ic-compiler-mips.cc | 25 +- deps/v8/src/ic/mips/ic-mips.cc | 43 +- deps/v8/src/ic/mips/stub-cache-mips.cc | 42 +- .../src/ic/mips64/handler-compiler-mips64.cc | 116 +- deps/v8/src/ic/mips64/ic-compiler-mips64.cc | 25 +- deps/v8/src/ic/mips64/ic-mips64.cc | 43 +- deps/v8/src/ic/mips64/stub-cache-mips64.cc | 42 +- deps/v8/src/ic/ppc/access-compiler-ppc.cc | 46 + deps/v8/src/ic/ppc/handler-compiler-ppc.cc | 698 ++ deps/v8/src/ic/ppc/ic-compiler-ppc.cc | 130 + deps/v8/src/ic/ppc/ic-ppc.cc | 1047 +++ deps/v8/src/ic/ppc/stub-cache-ppc.cc | 191 + deps/v8/src/ic/stub-cache.h | 8 +- deps/v8/src/ic/x64/handler-compiler-x64.cc | 121 +- deps/v8/src/ic/x64/ic-compiler-x64.cc | 20 +- deps/v8/src/ic/x64/ic-x64.cc | 76 +- deps/v8/src/ic/x64/stub-cache-x64.cc | 32 +- deps/v8/src/ic/x87/handler-compiler-x87.cc | 133 +- deps/v8/src/ic/x87/ic-compiler-x87.cc | 19 +- deps/v8/src/ic/x87/ic-x87.cc | 55 +- deps/v8/src/ic/x87/stub-cache-x87.cc | 40 +- deps/v8/src/interface.h | 2 +- deps/v8/src/isolate.cc | 89 +- deps/v8/src/isolate.h | 31 +- deps/v8/src/json-parser.h | 3 +- deps/v8/src/json-stringifier.h | 379 +- deps/v8/src/jsregexp.cc | 75 +- deps/v8/src/jsregexp.h | 12 +- deps/v8/src/layout-descriptor-inl.h | 191 + deps/v8/src/layout-descriptor.cc | 256 + deps/v8/src/layout-descriptor.h | 141 + deps/v8/src/libplatform/default-platform.h | 2 +- deps/v8/src/libplatform/worker-thread.h | 2 +- deps/v8/src/liveedit-debugger.js | 5 +- deps/v8/src/liveedit.cc | 42 +- deps/v8/src/liveedit.h | 13 +- deps/v8/src/log-utils.cc | 9 + deps/v8/src/log.cc | 2 +- deps/v8/src/lookup-inl.h | 8 +- deps/v8/src/lookup.cc | 9 +- deps/v8/src/lookup.h | 11 +- deps/v8/src/macros.py | 3 + deps/v8/src/math.js | 15 +- deps/v8/src/messages.js | 55 +- deps/v8/src/mips/builtins-mips.cc | 20 +- deps/v8/src/mips/code-stubs-mips.cc | 218 +- deps/v8/src/mips/code-stubs-mips.h | 61 +- deps/v8/src/mips/codegen-mips.cc | 2 +- deps/v8/src/mips/constants-mips.h | 83 +- deps/v8/src/mips/deoptimizer-mips.cc | 6 + deps/v8/src/mips/full-codegen-mips.cc | 112 +- deps/v8/src/mips/lithium-codegen-mips.cc | 159 +- deps/v8/src/mips/lithium-mips.cc | 26 +- deps/v8/src/mips/lithium-mips.h | 161 +- deps/v8/src/mips/macro-assembler-mips.cc | 48 +- deps/v8/src/mips/macro-assembler-mips.h | 28 +- deps/v8/src/mips64/assembler-mips64.cc | 8 + deps/v8/src/mips64/assembler-mips64.h | 1 + deps/v8/src/mips64/builtins-mips64.cc | 32 +- deps/v8/src/mips64/code-stubs-mips64.cc | 256 +- deps/v8/src/mips64/code-stubs-mips64.h | 62 +- deps/v8/src/mips64/codegen-mips64.cc | 2 +- deps/v8/src/mips64/constants-mips64.cc | 1 + deps/v8/src/mips64/constants-mips64.h | 83 +- deps/v8/src/mips64/deoptimizer-mips64.cc | 11 +- deps/v8/src/mips64/disasm-mips64.cc | 4 + deps/v8/src/mips64/full-codegen-mips64.cc | 112 +- deps/v8/src/mips64/lithium-codegen-mips64.cc | 154 +- deps/v8/src/mips64/lithium-mips64.cc | 26 +- deps/v8/src/mips64/lithium-mips64.h | 161 +- deps/v8/src/mips64/macro-assembler-mips64.cc | 357 +- deps/v8/src/mips64/macro-assembler-mips64.h | 52 +- deps/v8/src/mips64/simulator-mips64.cc | 37 +- deps/v8/src/mirror-debugger.js | 111 +- deps/v8/src/mksnapshot.cc | 384 +- deps/v8/src/natives-external.cc | 95 +- deps/v8/src/natives.h | 10 +- deps/v8/src/objects-debug.cc | 53 +- deps/v8/src/objects-inl.h | 440 +- deps/v8/src/objects-printer.cc | 189 +- deps/v8/src/objects.cc | 1622 +++-- deps/v8/src/objects.h | 484 +- deps/v8/src/optimizing-compiler-thread.cc | 195 +- deps/v8/src/optimizing-compiler-thread.h | 19 +- deps/v8/src/ostreams.cc | 4 +- deps/v8/src/ostreams.h | 4 +- deps/v8/src/parser.cc | 824 ++- deps/v8/src/parser.h | 165 +- deps/v8/src/ppc/assembler-ppc-inl.h | 593 ++ deps/v8/src/ppc/assembler-ppc.cc | 2493 +++++++ deps/v8/src/ppc/assembler-ppc.h | 1493 ++++ deps/v8/src/ppc/builtins-ppc.cc | 1615 +++++ deps/v8/src/ppc/code-stubs-ppc.cc | 4893 +++++++++++++ deps/v8/src/ppc/code-stubs-ppc.h | 325 + deps/v8/src/ppc/codegen-ppc.cc | 700 ++ deps/v8/src/ppc/codegen-ppc.h | 44 + deps/v8/src/ppc/constants-ppc.cc | 91 + deps/v8/src/ppc/constants-ppc.h | 600 ++ deps/v8/src/ppc/cpu-ppc.cc | 63 + deps/v8/src/ppc/debug-ppc.cc | 343 + deps/v8/src/ppc/deoptimizer-ppc.cc | 359 + deps/v8/src/ppc/disasm-ppc.cc | 1353 ++++ deps/v8/src/ppc/frames-ppc.cc | 60 + deps/v8/src/ppc/frames-ppc.h | 202 + deps/v8/src/ppc/full-codegen-ppc.cc | 5290 ++++++++++++++ deps/v8/src/ppc/interface-descriptors-ppc.cc | 306 + deps/v8/src/ppc/lithium-codegen-ppc.cc | 6136 +++++++++++++++++ deps/v8/src/ppc/lithium-codegen-ppc.h | 372 + deps/v8/src/ppc/lithium-gap-resolver-ppc.cc | 288 + deps/v8/src/ppc/lithium-gap-resolver-ppc.h | 60 + deps/v8/src/ppc/lithium-ppc.cc | 2626 +++++++ deps/v8/src/ppc/lithium-ppc.h | 2746 ++++++++ deps/v8/src/ppc/macro-assembler-ppc.cc | 4819 +++++++++++++ deps/v8/src/ppc/macro-assembler-ppc.h | 1554 +++++ deps/v8/src/ppc/regexp-macro-assembler-ppc.cc | 1337 ++++ deps/v8/src/ppc/regexp-macro-assembler-ppc.h | 212 + deps/v8/src/ppc/simulator-ppc.cc | 3803 ++++++++++ deps/v8/src/ppc/simulator-ppc.h | 413 ++ deps/v8/src/preparser.cc | 82 +- deps/v8/src/preparser.h | 333 +- deps/v8/src/prettyprinter.h | 2 +- deps/v8/src/promise.js | 26 +- deps/v8/src/property-details.h | 52 +- deps/v8/src/property.cc | 71 +- deps/v8/src/property.h | 7 +- deps/v8/src/regexp.js | 41 +- deps/v8/src/rewriter.cc | 8 +- deps/v8/src/runtime-profiler.cc | 20 +- deps/v8/src/runtime.js | 31 +- deps/v8/src/runtime/runtime-array.cc | 163 +- deps/v8/src/runtime/runtime-classes.cc | 117 +- deps/v8/src/runtime/runtime-collections.cc | 77 +- deps/v8/src/runtime/runtime-compiler.cc | 17 +- deps/v8/src/runtime/runtime-debug.cc | 120 +- deps/v8/src/runtime/runtime-generator.cc | 12 +- deps/v8/src/runtime/runtime-literals.cc | 47 +- deps/v8/src/runtime/runtime-object.cc | 119 +- deps/v8/src/runtime/runtime-observe.cc | 13 + deps/v8/src/runtime/runtime-regexp.cc | 139 +- deps/v8/src/runtime/runtime-scopes.cc | 80 +- deps/v8/src/runtime/runtime-strings.cc | 2 +- deps/v8/src/runtime/runtime-test.cc | 14 +- deps/v8/src/runtime/runtime-uri.cc | 32 +- deps/v8/src/runtime/runtime.cc | 3 +- deps/v8/src/runtime/runtime.h | 63 +- deps/v8/src/scanner-character-streams.h | 4 +- deps/v8/src/scanner.cc | 221 +- deps/v8/src/scanner.h | 88 +- deps/v8/src/scopeinfo.cc | 13 +- deps/v8/src/scopes.cc | 140 +- deps/v8/src/scopes.h | 92 +- deps/v8/src/serialize.cc | 637 +- deps/v8/src/serialize.h | 361 +- deps/v8/src/snapshot-common.cc | 110 +- deps/v8/src/snapshot-empty.cc | 36 +- deps/v8/src/snapshot-external.cc | 133 +- deps/v8/src/snapshot-source-sink.cc | 22 +- deps/v8/src/snapshot-source-sink.h | 16 +- deps/v8/src/snapshot.h | 55 +- deps/v8/src/string-builder.cc | 111 + deps/v8/src/{runtime => }/string-builder.h | 206 +- deps/v8/src/string-iterator.js | 2 +- deps/v8/src/string-stream.cc | 9 +- deps/v8/src/string-stream.h | 4 +- deps/v8/src/symbol.js | 28 +- deps/v8/src/third_party/fdlibm/fdlibm.cc | 119 +- deps/v8/src/third_party/fdlibm/fdlibm.h | 2 +- deps/v8/src/third_party/fdlibm/fdlibm.js | 198 +- deps/v8/src/token.h | 6 +- deps/v8/src/transitions-inl.h | 22 +- deps/v8/src/transitions.cc | 18 +- deps/v8/src/transitions.h | 19 +- deps/v8/src/type-feedback-vector.cc | 291 +- deps/v8/src/type-feedback-vector.h | 119 +- deps/v8/src/type-info.cc | 108 +- deps/v8/src/type-info.h | 20 +- deps/v8/src/types.cc | 69 +- deps/v8/src/types.h | 142 +- deps/v8/src/typing.cc | 51 +- deps/v8/src/utils.h | 2 +- deps/v8/src/v8.cc | 24 + deps/v8/src/v8.h | 7 +- deps/v8/src/v8natives.js | 80 +- deps/v8/src/v8threads.cc | 2 +- deps/v8/src/variables.cc | 2 +- deps/v8/src/variables.h | 2 +- deps/v8/src/version.cc | 6 +- deps/v8/src/version.h | 6 +- deps/v8/src/weak-collection.js | 26 +- deps/v8/src/x64/assembler-x64-inl.h | 59 + deps/v8/src/x64/assembler-x64.cc | 193 +- deps/v8/src/x64/assembler-x64.h | 213 + deps/v8/src/x64/builtins-x64.cc | 20 +- deps/v8/src/x64/code-stubs-x64.cc | 128 +- deps/v8/src/x64/code-stubs-x64.h | 10 +- deps/v8/src/x64/deoptimizer-x64.cc | 6 + deps/v8/src/x64/disasm-x64.cc | 361 +- deps/v8/src/x64/full-codegen-x64.cc | 111 +- deps/v8/src/x64/lithium-codegen-x64.cc | 166 +- deps/v8/src/x64/lithium-x64.cc | 16 +- deps/v8/src/x64/lithium-x64.h | 161 +- deps/v8/src/x64/macro-assembler-x64.cc | 44 +- deps/v8/src/x64/macro-assembler-x64.h | 25 +- deps/v8/src/x87/builtins-x87.cc | 19 +- deps/v8/src/x87/code-stubs-x87.cc | 165 +- deps/v8/src/x87/code-stubs-x87.h | 10 +- deps/v8/src/x87/deoptimizer-x87.cc | 2 +- deps/v8/src/x87/full-codegen-x87.cc | 112 +- deps/v8/src/x87/lithium-codegen-x87.cc | 171 +- deps/v8/src/x87/lithium-x87.cc | 16 +- deps/v8/src/x87/lithium-x87.h | 166 +- deps/v8/src/x87/macro-assembler-x87.cc | 43 +- deps/v8/src/x87/macro-assembler-x87.h | 21 +- deps/v8/src/zone-allocator.h | 4 +- deps/v8/src/zone-containers.h | 53 +- deps/v8/src/zone-inl.h | 1 - deps/v8/test/cctest/cctest.gyp | 18 +- deps/v8/test/cctest/cctest.status | 68 +- deps/v8/test/cctest/compiler/call-tester.h | 36 + .../v8/test/cctest/compiler/codegen-tester.cc | 1 - deps/v8/test/cctest/compiler/codegen-tester.h | 6 +- .../v8/test/cctest/compiler/function-tester.h | 4 +- .../cctest/compiler/graph-builder-tester.cc | 8 +- .../cctest/compiler/graph-builder-tester.h | 1 + .../compiler/simplified-graph-builder.cc | 3 +- .../compiler/simplified-graph-builder.h | 10 +- .../compiler/test-basic-block-profiler.cc | 1 - .../cctest/compiler/test-branch-combine.cc | 1 - .../cctest/compiler/test-changes-lowering.cc | 6 +- .../cctest/compiler/test-codegen-deopt.cc | 36 +- .../cctest/compiler/test-control-reducer.cc | 15 +- .../cctest/compiler/test-graph-reducer.cc | 29 +- .../cctest/compiler/test-graph-visualizer.cc | 2 - .../test/cctest/compiler/test-instruction.cc | 8 +- .../cctest/compiler/test-js-constant-cache.cc | 2 +- .../test-js-context-specialization.cc | 10 +- .../cctest/compiler/test-js-typed-lowering.cc | 165 +- .../cctest/compiler/test-jump-threading.cc | 764 ++ deps/v8/test/cctest/compiler/test-linkage.cc | 9 +- .../cctest/compiler/test-loop-analysis.cc | 862 +++ .../compiler/test-machine-operator-reducer.cc | 37 +- .../cctest/compiler/test-node-algorithm.cc | 114 +- .../test/cctest/compiler/test-node-cache.cc | 45 - deps/v8/test/cctest/compiler/test-node.cc | 27 +- .../test/cctest/compiler/test-phi-reducer.cc | 230 - .../test/cctest/compiler/test-run-inlining.cc | 324 +- .../test/cctest/compiler/test-run-machops.cc | 31 - deps/v8/test/cctest/compiler/test-schedule.cc | 4 +- .../v8/test/cctest/compiler/test-scheduler.cc | 273 +- .../compiler/test-simplified-lowering.cc | 182 +- deps/v8/test/cctest/compiler/test-typer.cc | 1 + deps/v8/test/cctest/test-accessors.cc | 34 +- deps/v8/test/cctest/test-api.cc | 1340 ++-- deps/v8/test/cctest/test-assembler-arm.cc | 214 +- deps/v8/test/cctest/test-assembler-ia32.cc | 454 ++ deps/v8/test/cctest/test-assembler-x64.cc | 450 ++ deps/v8/test/cctest/test-ast.cc | 2 +- deps/v8/test/cctest/test-compiler.cc | 19 +- deps/v8/test/cctest/test-debug.cc | 125 +- deps/v8/test/cctest/test-decls.cc | 498 +- deps/v8/test/cctest/test-disasm-arm.cc | 34 +- deps/v8/test/cctest/test-disasm-ia32.cc | 90 +- deps/v8/test/cctest/test-disasm-x64.cc | 96 +- deps/v8/test/cctest/test-feedback-vector.cc | 94 +- deps/v8/test/cctest/test-heap-profiler.cc | 71 +- deps/v8/test/cctest/test-heap.cc | 393 +- deps/v8/test/cctest/test-log.cc | 28 +- deps/v8/test/cctest/test-mark-compact.cc | 2 +- deps/v8/test/cctest/test-object-observe.cc | 73 + deps/v8/test/cctest/test-parsing.cc | 646 +- deps/v8/test/cctest/test-serialize.cc | 155 +- deps/v8/test/cctest/test-spaces.cc | 7 +- deps/v8/test/cctest/test-strings.cc | 18 +- deps/v8/test/cctest/test-transitions.cc | 38 +- deps/v8/test/cctest/test-types.cc | 123 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 1162 ++++ deps/v8/test/cctest/test-weakmaps.cc | 19 +- deps/v8/test/cctest/types-fuzz.h | 17 +- .../v8/test/js-perf-test/Classes/Classes.json | 13 - .../Classes/default-constructor.js | 33 + deps/v8/test/js-perf-test/Classes/run.js | 1 + .../js-perf-test/Collections/Collections.json | 21 - .../js-perf-test/Iterators/Iterators.json | 12 - deps/v8/test/js-perf-test/JSTests.json | 86 + .../v8/test/js-perf-test/Strings/Strings.json | 13 - .../js-perf-test/Strings/harmony-string.js | 10 +- deps/v8/test/js-perf-test/Templates/run.js | 27 + .../test/js-perf-test/Templates/templates.js | 87 + .../test/message/single-function-literal.js | 4 +- .../super-constructor-extra-statement.js | 15 + .../super-constructor-extra-statement.out | 8 + deps/v8/test/message/super-constructor.js | 14 + deps/v8/test/message/super-constructor.out | 8 + deps/v8/test/message/testcfg.py | 1 + ...h.js => array-methods-read-only-length.js} | 87 +- deps/v8/test/mjsunit/array-shift4.js | 24 + deps/v8/test/mjsunit/asm/embenchen/box2d.js | 4 - deps/v8/test/mjsunit/asm/embenchen/copy.js | 4 - .../test/mjsunit/asm/embenchen/corrections.js | 4 - .../v8/test/mjsunit/asm/embenchen/fannkuch.js | 4 - deps/v8/test/mjsunit/asm/embenchen/fasta.js | 4 - .../mjsunit/asm/embenchen/lua_binarytrees.js | 4 - deps/v8/test/mjsunit/asm/embenchen/memops.js | 4 - deps/v8/test/mjsunit/asm/embenchen/primes.js | 4 - deps/v8/test/mjsunit/asm/embenchen/zlib.js | 4 - .../asm/float32array-negative-offset.js | 42 + .../asm/float64array-negative-offset.js | 42 + deps/v8/test/mjsunit/asm/float64mul.js | 12 +- deps/v8/test/mjsunit/asm/if-tonumber.js | 31 + .../mjsunit/asm/int16array-negative-offset.js | 42 + .../mjsunit/asm/int32array-negative-offset.js | 42 + deps/v8/test/mjsunit/asm/int32mod-constant.js | 33 + deps/v8/test/mjsunit/asm/int32mod.js | 27 +- .../mjsunit/asm/int8array-negative-offset.js | 42 + deps/v8/test/mjsunit/asm/sign-extend.js | 45 + .../v8/test/mjsunit/asm/uint32mod-constant.js | 29 + deps/v8/test/mjsunit/asm/uint32mod.js | 24 +- deps/v8/test/mjsunit/asm/word32ror.js | 37 + deps/v8/test/mjsunit/asm/zero-extend.js | 37 + .../mjsunit/compiler/division-by-constant.js | 9 +- deps/v8/test/mjsunit/compiler/literals.js | 4 +- deps/v8/test/mjsunit/compiler/regress-3786.js | 12 + .../test/mjsunit/compiler/regress-439743.js | 17 + .../test/mjsunit/compiler/regress-443744.js | 14 + .../test/mjsunit/compiler/regress-444508.js | 11 + .../test/mjsunit/compiler/regress-444695.js | 11 + .../test/mjsunit/compiler/regress-445267.js | 16 + .../test/mjsunit/compiler/regress-445732.js | 11 + .../test/mjsunit/compiler/regress-445858.js | 15 + .../test/mjsunit/compiler/regress-445859.js | 11 + .../regress-int32array-outofbounds-nan.js | 17 + .../mjsunit/compiler/regress-uint8-deopt.js | 17 + .../test/mjsunit/compiler/truncating-store.js | 98 + .../mjsunit/debug-clearbreakpointgroup.js | 5 + deps/v8/test/mjsunit/debug-compile-event.js | 16 +- .../debug-evaluate-locals-optimized-double.js | 10 +- .../debug-evaluate-locals-optimized.js | 14 +- .../mjsunit/debug-evaluate-with-context.js | 1 + deps/v8/test/mjsunit/debug-function-scopes.js | 28 +- deps/v8/test/mjsunit/debug-scopes.js | 39 +- deps/v8/test/mjsunit/debug-script.js | 6 + deps/v8/test/mjsunit/debug-step.js | 2 +- deps/v8/test/mjsunit/debug-stepin-foreach.js | 51 + .../mjsunit/deserialize-optimize-inner.js | 13 + deps/v8/test/mjsunit/es6/collections.js | 26 - .../mjsunit/es6/debug-stepin-microtasks.js | 101 + .../v8/test/mjsunit/es6/debug-stepnext-for.js | 116 + .../mjsunit/es6/generators-debug-scopes.js | 13 + .../test/mjsunit/es6/generators-iteration.js | 5 +- deps/v8/test/mjsunit/es6/generators-mirror.js | 76 +- .../v8/test/mjsunit/es6/generators-objects.js | 2 + deps/v8/test/mjsunit/es6/generators-states.js | 67 + deps/v8/test/mjsunit/es6/math-log2-log10.js | 60 +- .../v8/test/mjsunit/es6/mirror-collections.js | 11 + deps/v8/test/mjsunit/es6/mirror-iterators.js | 47 +- deps/v8/test/mjsunit/es6/unscopables.js | 64 +- .../mjsunit/es7/regress/regress-443982.js | 22 + .../test/mjsunit/function-length-accessor.js | 2 +- deps/v8/test/mjsunit/harmony/array-concat.js | 686 ++ deps/v8/test/mjsunit/harmony/array-from.js | 123 + .../array-includes-to-object-sloppy.js | 29 + .../array-includes-to-object-strict.js | 32 + .../v8/test/mjsunit/harmony/array-includes.js | 677 ++ .../test/mjsunit/harmony/block-conflicts.js | 29 +- .../mjsunit/harmony/block-const-assign.js | 29 +- .../harmony/block-non-strict-errors.js | 41 + deps/v8/test/mjsunit/harmony/classes.js | 292 +- .../test/mjsunit/harmony/debug-blockscopes.js | 37 +- .../harmony/debug-evaluate-blockscopes.js | 40 + .../mjsunit/harmony/debug-function-scopes.js | 14 +- .../harmony/debug-step-into-class-extends.js | 42 + .../harmony/debug-step-into-constructor.js | 113 + .../mjsunit/harmony/disable-harmony-string.js | 7 + .../v8/test/mjsunit/harmony/module-linking.js | 4 +- .../mjsunit/harmony/object-literals-super.js | 168 + .../harmony/proxies-with-unscopables.js | 19 +- deps/v8/test/mjsunit/harmony/regexp-flags.js | 61 + .../mjsunit/harmony/regress/regress-2243.js | 4 +- .../mjsunit/harmony/regress/regress-2858.js | 27 + .../mjsunit/harmony/regress/regress-3683.js | 84 + .../mjsunit/harmony/regress/regress-3741.js | 26 + .../mjsunit/harmony/regress/regress-3750.js | 8 + .../test/mjsunit/harmony/string-contains.js | 166 - .../test/mjsunit/harmony/string-includes.js | 166 + deps/v8/test/mjsunit/harmony/string-raw.js | 258 + deps/v8/test/mjsunit/harmony/super.js | 58 + deps/v8/test/mjsunit/harmony/templates.js | 507 ++ .../v8/test/mjsunit/harmony/typedarrays-of.js | 135 + .../test/mjsunit/harmony/unicode-escapes.js | 46 + .../mjsunit/keyed-load-with-string-key.js | 46 + deps/v8/test/mjsunit/mirror-object.js | 7 +- deps/v8/test/mjsunit/mjsunit.js | 11 - deps/v8/test/mjsunit/mjsunit.status | 24 +- deps/v8/test/mjsunit/mod-range.js | 79 + deps/v8/test/mjsunit/object-freeze-global.js | 6 + deps/v8/test/mjsunit/object-freeze.js | 11 +- .../test/mjsunit/object-prevent-extensions.js | 34 + deps/v8/test/mjsunit/object-seal-global.js | 7 + deps/v8/test/mjsunit/object-seal.js | 129 + deps/v8/test/mjsunit/opt-elements-kind.js | 12 +- deps/v8/test/mjsunit/regress-ntl.js | 41 + .../v8/test/mjsunit/regress/regress-136048.js | 4 +- deps/v8/test/mjsunit/regress/regress-1757.js | 3 +- deps/v8/test/mjsunit/regress/regress-2506.js | 2 +- deps/v8/test/mjsunit/regress/regress-3229.js | 26 + deps/v8/test/mjsunit/regress/regress-3687.js | 22 + deps/v8/test/mjsunit/regress/regress-3709.js | 28 + deps/v8/test/mjsunit/regress/regress-3717.js | 33 + deps/v8/test/mjsunit/regress/regress-3756.js | 74 + .../v8/test/mjsunit/regress/regress-410030.js | 43 + .../v8/test/mjsunit/regress/regress-435073.js | 12 + .../v8/test/mjsunit/regress/regress-435477.js | 16 + .../v8/test/mjsunit/regress/regress-436893.js | 37 + .../v8/test/mjsunit/regress/regress-436896.js | 17 + .../v8/test/mjsunit/regress/regress-437765.js | 22 + .../v8/test/mjsunit/regress/regress-441099.js | 53 + .../mjsunit/regress/regress-crbug-109362.js | 26 + .../mjsunit/regress/regress-crbug-137689.js | 3 +- .../mjsunit/regress/regress-crbug-320922.js | 6 +- .../mjsunit/regress/regress-crbug-431602.js | 23 + .../mjsunit/regress/regress-crbug-432493.js | 57 + .../mjsunit/regress/regress-crbug-433332.js | 16 + .../mjsunit/regress/regress-crbug-433766.js | 16 + .../mjsunit/regress/regress-crbug-435825.js | 11 + .../mjsunit/regress/regress-crbug-436820.js | 13 + .../mjsunit/regress/regress-lea-matching.js | 14 + .../regress/regress-parse-object-literal.js | 2 + .../regress-splice-large-index.js} | 0 .../regress/regress-unsigned-mul-add.js | 10 + .../regress-weakening-multiplication.js | 12 + .../test/mjsunit/runtime-gen/loadfromsuper.js | 7 - deps/v8/test/mjsunit/strict-mode.js | 3 +- deps/v8/test/mjsunit/string-slices.js | 3 +- deps/v8/test/mozilla/mozilla.status | 46 +- deps/v8/test/preparser/strict-const.js | 2 + .../preparser/strict-function-statement.pyt | 44 +- deps/v8/test/preparser/testcfg.py | 16 +- deps/v8/test/test262-es6/test262-es6.status | 9 + deps/v8/test/test262/test262.status | 16 + .../test/unittests/base/iterator-unittest.cc | 61 + .../base/platform/platform-unittest.cc | 18 +- .../arm/instruction-selector-arm-unittest.cc | 225 + .../instruction-selector-arm64-unittest.cc | 163 +- .../compiler/change-lowering-unittest.cc | 41 +- .../common-operator-reducer-unittest.cc | 110 + .../compiler/common-operator-unittest.cc | 9 +- .../compiler/control-equivalence-unittest.cc | 255 + .../compiler/graph-reducer-unittest.cc | 8 +- .../test/unittests/compiler/graph-unittest.cc | 16 +- .../test/unittests/compiler/graph-unittest.h | 14 +- .../instruction-selector-ia32-unittest.cc | 145 +- .../compiler/instruction-selector-unittest.h | 2 +- .../compiler/instruction-sequence-unittest.cc | 475 ++ .../compiler/instruction-sequence-unittest.h | 239 + .../compiler/js-builtin-reducer-unittest.cc | 19 +- .../compiler/js-operator-unittest.cc | 78 +- .../compiler/js-typed-lowering-unittest.cc | 509 +- .../compiler/load-elimination-unittest.cc | 72 + .../machine-operator-reducer-unittest.cc | 188 +- .../compiler/machine-operator-unittest.cc | 56 +- deps/v8/test/unittests/compiler/mips64/OWNERS | 5 + .../instruction-selector-mips64-unittest.cc | 807 +++ .../compiler/move-optimizer-unittest.cc | 133 + .../compiler/node-matchers-unittest.cc | 733 ++ .../unittests/compiler/node-test-utils.cc | 408 +- .../test/unittests/compiler/node-test-utils.h | 28 +- .../compiler/register-allocator-unittest.cc | 710 +- .../compiler/select-lowering-unittest.cc | 14 +- .../simplified-operator-reducer-unittest.cc | 126 +- .../compiler/simplified-operator-unittest.cc | 162 +- .../x64/instruction-selector-x64-unittest.cc | 708 +- .../heap/gc-idle-time-handler-unittest.cc | 84 +- deps/v8/test/unittests/test-utils.cc | 5 + deps/v8/test/unittests/test-utils.h | 1 + deps/v8/test/unittests/unittests.gyp | 26 +- .../Object-getOwnPropertyNames-expected.txt | 31 +- .../fast/js/Object-getOwnPropertyNames.js | 6 +- .../fast/js/basic-strict-mode-expected.txt | 2 +- .../webkit/fast/regex/toString-expected.txt | 22 +- deps/v8/test/webkit/testcfg.py | 6 +- deps/v8/test/webkit/webkit.status | 8 +- deps/v8/tools/android-sync.sh | 1 + deps/v8/tools/find-commit-for-patch.py | 93 + deps/v8/tools/find_depot_tools.py | 40 + deps/v8/tools/gen-postmortem-metadata.py | 14 +- deps/v8/tools/gyp/v8.gyp | 108 +- deps/v8/tools/js2c.py | 81 +- deps/v8/tools/presubmit.py | 19 +- deps/v8/tools/push-to-trunk/auto_push.py | 25 +- .../v8/tools/push-to-trunk/bump_up_version.py | 11 +- .../tools/push-to-trunk/check_clusterfuzz.py | 174 + .../v8/tools/push-to-trunk/common_includes.py | 156 +- deps/v8/tools/push-to-trunk/git_recipes.py | 56 +- .../v8/tools/push-to-trunk/merge_to_branch.py | 3 - deps/v8/tools/push-to-trunk/push_to_trunk.py | 34 +- deps/v8/tools/push-to-trunk/releases.py | 42 +- deps/v8/tools/push-to-trunk/test_scripts.py | 310 +- deps/v8/tools/run-deopt-fuzzer.py | 4 + deps/v8/tools/run-tests.py | 7 +- deps/v8/tools/run_perf.py | 243 +- deps/v8/tools/testrunner/local/execution.py | 5 + deps/v8/tools/testrunner/local/progress.py | 1 + deps/v8/tools/testrunner/local/testsuite.py | 3 + deps/v8/tools/testrunner/objects/testcase.py | 8 +- deps/v8/tools/trace-maps-processor.py | 172 + deps/v8/tools/try_perf.py | 44 + deps/v8/tools/unittests/run_perf_test.py | 91 +- deps/v8/tools/whitespace.txt | 2 +- 827 files changed, 103910 insertions(+), 20943 deletions(-) delete mode 100644 deps/v8/.DEPS.git delete mode 100644 deps/v8/samples/lineprocessor.cc create mode 100644 deps/v8/src/ast-this-access-visitor.cc create mode 100644 deps/v8/src/ast-this-access-visitor.h create mode 100644 deps/v8/src/base/iterator.h create mode 100644 deps/v8/src/compiler/common-node-cache.cc create mode 100644 deps/v8/src/compiler/common-operator-reducer.cc create mode 100644 deps/v8/src/compiler/common-operator-reducer.h create mode 100644 deps/v8/src/compiler/control-equivalence.h delete mode 100644 deps/v8/src/compiler/generic-algorithm-inl.h delete mode 100644 deps/v8/src/compiler/generic-graph.h delete mode 100644 deps/v8/src/compiler/generic-node-inl.h delete mode 100644 deps/v8/src/compiler/generic-node.h create mode 100644 deps/v8/src/compiler/jump-threading.cc create mode 100644 deps/v8/src/compiler/jump-threading.h create mode 100644 deps/v8/src/compiler/load-elimination.cc create mode 100644 deps/v8/src/compiler/load-elimination.h create mode 100644 deps/v8/src/compiler/loop-analysis.cc create mode 100644 deps/v8/src/compiler/loop-analysis.h create mode 100644 deps/v8/src/compiler/mips64/OWNERS create mode 100644 deps/v8/src/compiler/mips64/code-generator-mips64.cc create mode 100644 deps/v8/src/compiler/mips64/instruction-codes-mips64.h create mode 100644 deps/v8/src/compiler/mips64/instruction-selector-mips64.cc create mode 100644 deps/v8/src/compiler/mips64/linkage-mips64.cc create mode 100644 deps/v8/src/compiler/move-optimizer.cc create mode 100644 deps/v8/src/compiler/move-optimizer.h create mode 100644 deps/v8/src/compiler/opcodes.cc rename deps/v8/src/compiler/{operator-properties-inl.h => operator-properties.cc} (71%) delete mode 100644 deps/v8/src/compiler/phi-reducer.h create mode 100644 deps/v8/src/compiler/register-allocator-verifier.cc create mode 100644 deps/v8/src/compiler/register-allocator-verifier.h create mode 100644 deps/v8/src/harmony-array-includes.js create mode 100644 deps/v8/src/harmony-regexp.js create mode 100644 deps/v8/src/harmony-templates.js create mode 100644 deps/v8/src/ic/ppc/access-compiler-ppc.cc create mode 100644 deps/v8/src/ic/ppc/handler-compiler-ppc.cc create mode 100644 deps/v8/src/ic/ppc/ic-compiler-ppc.cc create mode 100644 deps/v8/src/ic/ppc/ic-ppc.cc create mode 100644 deps/v8/src/ic/ppc/stub-cache-ppc.cc create mode 100644 deps/v8/src/layout-descriptor-inl.h create mode 100644 deps/v8/src/layout-descriptor.cc create mode 100644 deps/v8/src/layout-descriptor.h create mode 100644 deps/v8/src/ppc/assembler-ppc-inl.h create mode 100644 deps/v8/src/ppc/assembler-ppc.cc create mode 100644 deps/v8/src/ppc/assembler-ppc.h create mode 100644 deps/v8/src/ppc/builtins-ppc.cc create mode 100644 deps/v8/src/ppc/code-stubs-ppc.cc create mode 100644 deps/v8/src/ppc/code-stubs-ppc.h create mode 100644 deps/v8/src/ppc/codegen-ppc.cc create mode 100644 deps/v8/src/ppc/codegen-ppc.h create mode 100644 deps/v8/src/ppc/constants-ppc.cc create mode 100644 deps/v8/src/ppc/constants-ppc.h create mode 100644 deps/v8/src/ppc/cpu-ppc.cc create mode 100644 deps/v8/src/ppc/debug-ppc.cc create mode 100644 deps/v8/src/ppc/deoptimizer-ppc.cc create mode 100644 deps/v8/src/ppc/disasm-ppc.cc create mode 100644 deps/v8/src/ppc/frames-ppc.cc create mode 100644 deps/v8/src/ppc/frames-ppc.h create mode 100644 deps/v8/src/ppc/full-codegen-ppc.cc create mode 100644 deps/v8/src/ppc/interface-descriptors-ppc.cc create mode 100644 deps/v8/src/ppc/lithium-codegen-ppc.cc create mode 100644 deps/v8/src/ppc/lithium-codegen-ppc.h create mode 100644 deps/v8/src/ppc/lithium-gap-resolver-ppc.cc create mode 100644 deps/v8/src/ppc/lithium-gap-resolver-ppc.h create mode 100644 deps/v8/src/ppc/lithium-ppc.cc create mode 100644 deps/v8/src/ppc/lithium-ppc.h create mode 100644 deps/v8/src/ppc/macro-assembler-ppc.cc create mode 100644 deps/v8/src/ppc/macro-assembler-ppc.h create mode 100644 deps/v8/src/ppc/regexp-macro-assembler-ppc.cc create mode 100644 deps/v8/src/ppc/regexp-macro-assembler-ppc.h create mode 100644 deps/v8/src/ppc/simulator-ppc.cc create mode 100644 deps/v8/src/ppc/simulator-ppc.h create mode 100644 deps/v8/src/string-builder.cc rename deps/v8/src/{runtime => }/string-builder.h (62%) create mode 100644 deps/v8/test/cctest/compiler/test-jump-threading.cc create mode 100644 deps/v8/test/cctest/compiler/test-loop-analysis.cc delete mode 100644 deps/v8/test/cctest/compiler/test-phi-reducer.cc create mode 100644 deps/v8/test/cctest/test-unboxed-doubles.cc delete mode 100644 deps/v8/test/js-perf-test/Classes/Classes.json create mode 100644 deps/v8/test/js-perf-test/Classes/default-constructor.js delete mode 100644 deps/v8/test/js-perf-test/Collections/Collections.json delete mode 100644 deps/v8/test/js-perf-test/Iterators/Iterators.json create mode 100644 deps/v8/test/js-perf-test/JSTests.json delete mode 100644 deps/v8/test/js-perf-test/Strings/Strings.json create mode 100644 deps/v8/test/js-perf-test/Templates/run.js create mode 100644 deps/v8/test/js-perf-test/Templates/templates.js create mode 100644 deps/v8/test/message/super-constructor-extra-statement.js create mode 100644 deps/v8/test/message/super-constructor-extra-statement.out create mode 100644 deps/v8/test/message/super-constructor.js create mode 100644 deps/v8/test/message/super-constructor.out rename deps/v8/test/mjsunit/{array-push-unshift-read-only-length.js => array-methods-read-only-length.js} (53%) create mode 100644 deps/v8/test/mjsunit/array-shift4.js create mode 100644 deps/v8/test/mjsunit/asm/float32array-negative-offset.js create mode 100644 deps/v8/test/mjsunit/asm/float64array-negative-offset.js create mode 100644 deps/v8/test/mjsunit/asm/if-tonumber.js create mode 100644 deps/v8/test/mjsunit/asm/int16array-negative-offset.js create mode 100644 deps/v8/test/mjsunit/asm/int32array-negative-offset.js create mode 100644 deps/v8/test/mjsunit/asm/int32mod-constant.js create mode 100644 deps/v8/test/mjsunit/asm/int8array-negative-offset.js create mode 100644 deps/v8/test/mjsunit/asm/sign-extend.js create mode 100644 deps/v8/test/mjsunit/asm/uint32mod-constant.js create mode 100644 deps/v8/test/mjsunit/asm/word32ror.js create mode 100644 deps/v8/test/mjsunit/asm/zero-extend.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-3786.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-439743.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-443744.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-444508.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-444695.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-445267.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-445732.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-445858.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-445859.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-int32array-outofbounds-nan.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-uint8-deopt.js create mode 100644 deps/v8/test/mjsunit/compiler/truncating-store.js create mode 100644 deps/v8/test/mjsunit/debug-stepin-foreach.js create mode 100644 deps/v8/test/mjsunit/deserialize-optimize-inner.js create mode 100644 deps/v8/test/mjsunit/es6/debug-stepin-microtasks.js create mode 100644 deps/v8/test/mjsunit/es6/debug-stepnext-for.js create mode 100644 deps/v8/test/mjsunit/es6/generators-states.js create mode 100644 deps/v8/test/mjsunit/es7/regress/regress-443982.js create mode 100644 deps/v8/test/mjsunit/harmony/array-concat.js create mode 100644 deps/v8/test/mjsunit/harmony/array-from.js create mode 100644 deps/v8/test/mjsunit/harmony/array-includes-to-object-sloppy.js create mode 100644 deps/v8/test/mjsunit/harmony/array-includes-to-object-strict.js create mode 100644 deps/v8/test/mjsunit/harmony/array-includes.js create mode 100644 deps/v8/test/mjsunit/harmony/block-non-strict-errors.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-step-into-class-extends.js create mode 100644 deps/v8/test/mjsunit/harmony/debug-step-into-constructor.js create mode 100644 deps/v8/test/mjsunit/harmony/disable-harmony-string.js create mode 100644 deps/v8/test/mjsunit/harmony/object-literals-super.js create mode 100644 deps/v8/test/mjsunit/harmony/regexp-flags.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-2858.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-3683.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-3741.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-3750.js delete mode 100644 deps/v8/test/mjsunit/harmony/string-contains.js create mode 100644 deps/v8/test/mjsunit/harmony/string-includes.js create mode 100644 deps/v8/test/mjsunit/harmony/string-raw.js create mode 100644 deps/v8/test/mjsunit/harmony/templates.js create mode 100644 deps/v8/test/mjsunit/harmony/typedarrays-of.js create mode 100644 deps/v8/test/mjsunit/harmony/unicode-escapes.js create mode 100644 deps/v8/test/mjsunit/keyed-load-with-string-key.js create mode 100644 deps/v8/test/mjsunit/mod-range.js create mode 100644 deps/v8/test/mjsunit/object-freeze-global.js create mode 100644 deps/v8/test/mjsunit/object-seal-global.js create mode 100644 deps/v8/test/mjsunit/regress-ntl.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3229.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3687.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3709.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3717.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3756.js create mode 100644 deps/v8/test/mjsunit/regress/regress-410030.js create mode 100644 deps/v8/test/mjsunit/regress/regress-435073.js create mode 100644 deps/v8/test/mjsunit/regress/regress-435477.js create mode 100644 deps/v8/test/mjsunit/regress/regress-436893.js create mode 100644 deps/v8/test/mjsunit/regress/regress-436896.js create mode 100644 deps/v8/test/mjsunit/regress/regress-437765.js create mode 100644 deps/v8/test/mjsunit/regress/regress-441099.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-109362.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-431602.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-432493.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-433332.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-433766.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-435825.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-436820.js create mode 100644 deps/v8/test/mjsunit/regress/regress-lea-matching.js rename deps/v8/test/mjsunit/{bugs/bug-2615.js => regress/regress-splice-large-index.js} (100%) create mode 100644 deps/v8/test/mjsunit/regress/regress-unsigned-mul-add.js create mode 100644 deps/v8/test/mjsunit/regress/regress-weakening-multiplication.js delete mode 100644 deps/v8/test/mjsunit/runtime-gen/loadfromsuper.js create mode 100644 deps/v8/test/unittests/base/iterator-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/common-operator-reducer-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/control-equivalence-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/instruction-sequence-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/instruction-sequence-unittest.h create mode 100644 deps/v8/test/unittests/compiler/load-elimination-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/mips64/OWNERS create mode 100644 deps/v8/test/unittests/compiler/mips64/instruction-selector-mips64-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/move-optimizer-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/node-matchers-unittest.cc create mode 100755 deps/v8/tools/find-commit-for-patch.py create mode 100644 deps/v8/tools/find_depot_tools.py create mode 100755 deps/v8/tools/push-to-trunk/check_clusterfuzz.py create mode 100755 deps/v8/tools/trace-maps-processor.py create mode 100755 deps/v8/tools/try_perf.py diff --git a/deps/v8/.DEPS.git b/deps/v8/.DEPS.git deleted file mode 100644 index 8f9da45bb6..0000000000 --- a/deps/v8/.DEPS.git +++ /dev/null @@ -1,113 +0,0 @@ -# DO NOT EDIT EXCEPT FOR LOCAL TESTING. -# THIS IS A GENERATED FILE. -# ALL MANUAL CHANGES WILL BE OVERWRITTEN. -# SEE http://code.google.com/p/chromium/wiki/UsingGit -# FOR HOW TO ROLL DEPS -vars = { - 'webkit_url': - 'https://chromium.googlesource.com/chromium/blink.git', - 'git_url': - 'https://chromium.googlesource.com' -} - -deps = { - 'v8/build/gyp': - Var('git_url') + '/external/gyp.git@a3e2a5caf24a1e0a45401e09ad131210bf16b852', - 'v8/buildtools': - Var('git_url') + '/chromium/buildtools.git@fb782d4369d5ae04f17a2fceef7de5a63e50f07b', - 'v8/testing/gmock': - Var('git_url') + '/external/googlemock.git@896ba0e03f520fb9b6ed582bde2bd00847e3c3f2', - 'v8/testing/gtest': - Var('git_url') + '/external/googletest.git@4650552ff637bb44ecf7784060091cbed3252211', - 'v8/third_party/icu': - Var('git_url') + '/chromium/deps/icu52.git@26d8859357ac0bfb86b939bf21c087b8eae22494', -} - -deps_os = { - 'android': - { - 'v8/third_party/android_tools': - Var('git_url') + '/android_tools.git@31869996507de16812bb53a3d0aaa15cd6194c16', - }, - 'win': - { - 'v8/third_party/cygwin': - Var('git_url') + '/chromium/deps/cygwin.git@06a117a90c15174436bfa20ceebbfdf43b7eb820', - 'v8/third_party/python_26': - Var('git_url') + '/chromium/deps/python_26.git@67d19f904470effe3122d27101cc5a8195abd157', - }, -} - -include_rules = [ - '+include', - '+unicode', - '+third_party/fdlibm' -] - -skip_child_includes = [ - 'build', - 'third_party' -] - -hooks = [ - { - 'action': - [ - 'download_from_google_storage', - '--no_resume', - '--platform=win32', - '--no_auth', - '--bucket', - 'chromium-clang-format', - '-s', - 'v8/buildtools/win/clang-format.exe.sha1' -], - 'pattern': - '.', - 'name': - 'clang_format_win' -}, - { - 'action': - [ - 'download_from_google_storage', - '--no_resume', - '--platform=darwin', - '--no_auth', - '--bucket', - 'chromium-clang-format', - '-s', - 'v8/buildtools/mac/clang-format.sha1' -], - 'pattern': - '.', - 'name': - 'clang_format_mac' -}, - { - 'action': - [ - 'download_from_google_storage', - '--no_resume', - '--platform=linux*', - '--no_auth', - '--bucket', - 'chromium-clang-format', - '-s', - 'v8/buildtools/linux64/clang-format.sha1' -], - 'pattern': - '.', - 'name': - 'clang_format_linux' -}, - { - 'action': - [ - 'python', - 'v8/build/gyp_v8' -], - 'pattern': - '.' -} -] diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index d0407f37f1..f720bee948 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -66,8 +66,11 @@ shell_g /test/test262-es6/tc39-test262-* /testing/gmock /testing/gtest +/third_party /third_party/icu /third_party/llvm +/third_party/llvm-build +/tools/clang /tools/jsfunfuzz /tools/jsfunfuzz.zip /tools/oom_dump/oom_dump diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 1758ee9e1f..6534eea859 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -2,9 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +# Because standalone V8 builds are not supported, assume this is part of a +# Chromium build. +import("//build/module_args/v8.gni") + # TODO(jochen): These will need to be user-settable to support standalone V8 # builds. -v8_compress_startup_data = "off" v8_deprecation_warnings = false v8_enable_disassembler = false v8_enable_gdbjit = false @@ -15,7 +18,6 @@ v8_interpreted_regexp = false v8_object_print = false v8_postmortem_support = false v8_use_snapshot = true -v8_use_external_startup_data = false v8_enable_extra_checks = is_debug v8_target_arch = cpu_arch v8_random_seed = "314159265" @@ -95,11 +97,6 @@ config("features") { "V8_I18N_SUPPORT", ] } - if (v8_compress_startup_data == "bz2") { - defines += [ - "COMPRESS_STARTUP_DATA_BZ2", - ] - } if (v8_enable_extra_checks == true) { defines += [ "ENABLE_EXTRA_CHECKS", @@ -216,7 +213,6 @@ action("js2c") { args = [ rebase_path("$target_gen_dir/libraries.cc", root_build_dir), "CORE", - v8_compress_startup_data ] + rebase_path(sources, root_build_dir) if (v8_use_external_startup_data) { @@ -243,9 +239,12 @@ action("js2c_experimental") { "src/generator.js", "src/harmony-string.js", "src/harmony-array.js", + "src/harmony-array-includes.js", "src/harmony-typedarray.js", "src/harmony-classes.js", - "src/harmony-tostring.js" + "src/harmony-tostring.js", + "src/harmony-templates.js", + "src/harmony-regexp.js" ] outputs = [ @@ -255,7 +254,6 @@ action("js2c_experimental") { args = [ rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir), "EXPERIMENTAL", - v8_compress_startup_data ] + rebase_path(sources, root_build_dir) if (v8_use_external_startup_data) { @@ -282,7 +280,7 @@ if (v8_use_external_startup_data) { ] outputs = [ - "$root_gen_dir/natives_blob.bin" + "$root_out_dir/natives_blob.bin" ] script = "tools/concatenate-files.py" @@ -335,10 +333,10 @@ action("run_mksnapshot") { } if (v8_use_external_startup_data) { - outputs += [ "$root_gen_dir/snapshot_blob.bin" ] + outputs += [ "$root_out_dir/snapshot_blob.bin" ] args += [ "--startup_blob", - rebase_path("$root_gen_dir/snapshot_blob.bin", root_build_dir) + rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir) ] } } @@ -361,7 +359,6 @@ source_set("v8_nosnapshot") { "$target_gen_dir/libraries.cc", "$target_gen_dir/experimental-libraries.cc", "src/snapshot-empty.cc", - "src/snapshot-common.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] @@ -383,7 +380,6 @@ source_set("v8_snapshot") { "$target_gen_dir/libraries.cc", "$target_gen_dir/experimental-libraries.cc", "$target_gen_dir/snapshot.cc", - "src/snapshot-common.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] @@ -436,6 +432,8 @@ source_set("v8_base") { "src/assert-scope.cc", "src/ast-numbering.cc", "src/ast-numbering.h", + "src/ast-this-access-visitor.cc", + "src/ast-this-access-visitor.h", "src/ast-value-factory.cc", "src/ast-value-factory.h", "src/ast.cc", @@ -491,22 +489,22 @@ source_set("v8_base") { "src/compiler/code-generator-impl.h", "src/compiler/code-generator.cc", "src/compiler/code-generator.h", + "src/compiler/common-node-cache.cc", "src/compiler/common-node-cache.h", + "src/compiler/common-operator-reducer.cc", + "src/compiler/common-operator-reducer.h", "src/compiler/common-operator.cc", "src/compiler/common-operator.h", "src/compiler/control-builders.cc", "src/compiler/control-builders.h", + "src/compiler/control-equivalence.h", "src/compiler/control-reducer.cc", "src/compiler/control-reducer.h", "src/compiler/diamond.h", "src/compiler/frame.h", "src/compiler/gap-resolver.cc", "src/compiler/gap-resolver.h", - "src/compiler/generic-algorithm-inl.h", "src/compiler/generic-algorithm.h", - "src/compiler/generic-graph.h", - "src/compiler/generic-node-inl.h", - "src/compiler/generic-node.h", "src/compiler/graph-builder.cc", "src/compiler/graph-builder.h", "src/compiler/graph-inl.h", @@ -540,15 +538,23 @@ source_set("v8_base") { "src/compiler/js-operator.h", "src/compiler/js-typed-lowering.cc", "src/compiler/js-typed-lowering.h", + "src/compiler/jump-threading.cc", + "src/compiler/jump-threading.h", "src/compiler/linkage-impl.h", "src/compiler/linkage.cc", "src/compiler/linkage.h", + "src/compiler/load-elimination.cc", + "src/compiler/load-elimination.h", + "src/compiler/loop-analysis.cc", + "src/compiler/loop-analysis.h", "src/compiler/machine-operator-reducer.cc", "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-inl.h", "src/compiler/node-aux-data.h", "src/compiler/node-cache.cc", @@ -558,12 +564,12 @@ source_set("v8_base") { "src/compiler/node-properties.h", "src/compiler/node.cc", "src/compiler/node.h", + "src/compiler/opcodes.cc", "src/compiler/opcodes.h", - "src/compiler/operator-properties-inl.h", + "src/compiler/operator-properties.cc", "src/compiler/operator-properties.h", "src/compiler/operator.cc", "src/compiler/operator.h", - "src/compiler/phi-reducer.h", "src/compiler/pipeline.cc", "src/compiler/pipeline.h", "src/compiler/pipeline-statistics.cc", @@ -572,6 +578,8 @@ source_set("v8_base") { "src/compiler/raw-machine-assembler.h", "src/compiler/register-allocator.cc", "src/compiler/register-allocator.h", + "src/compiler/register-allocator-verifier.cc", + "src/compiler/register-allocator-verifier.h", "src/compiler/register-configuration.cc", "src/compiler/register-configuration.h", "src/compiler/representation-change.h", @@ -780,6 +788,9 @@ source_set("v8_base") { "src/jsregexp-inl.h", "src/jsregexp.cc", "src/jsregexp.h", + "src/layout-descriptor-inl.h", + "src/layout-descriptor.cc", + "src/layout-descriptor.h", "src/list-inl.h", "src/list.h", "src/lithium-allocator-inl.h", @@ -873,7 +884,6 @@ source_set("v8_base") { "src/runtime/runtime-utils.h", "src/runtime/runtime.cc", "src/runtime/runtime.h", - "src/runtime/string-builder.h", "src/safepoint-table.cc", "src/safepoint-table.h", "src/sampler.cc", @@ -890,9 +900,12 @@ source_set("v8_base") { "src/serialize.h", "src/small-pointer-list.h", "src/smart-pointers.h", + "src/snapshot-common.cc", "src/snapshot-source-sink.cc", "src/snapshot-source-sink.h", "src/snapshot.h", + "src/string-builder.cc", + "src/string-builder.h", "src/string-search.cc", "src/string-search.h", "src/string-stream.cc", @@ -1210,11 +1223,6 @@ source_set("v8_base") { # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. cflags = [ "/wd4267" ] } - if (is_linux) { - if (v8_compress_startup_data == "bz2") { - libs += [ "bz2" ] - } - } if (v8_enable_i18n_support) { deps += [ "//third_party/icu" ] @@ -1260,6 +1268,7 @@ source_set("v8_libbase") { "src/base/flags.h", "src/base/functional.cc", "src/base/functional.h", + "src/base/iterator.h", "src/base/lazy-instance.h", "src/base/logging.cc", "src/base/logging.h", @@ -1388,10 +1397,6 @@ if (current_toolchain == host_toolchain) { ":v8_nosnapshot", "//build/config/sanitizers:deps", ] - - if (v8_compress_startup_data == "bz2") { - libs = [ "bz2" ] - } } } @@ -1406,7 +1411,7 @@ component("v8") { "src/v8dll-main.cc", ] - if (v8_use_external_startup_data) { + if (v8_use_snapshot && v8_use_external_startup_data) { deps = [ ":v8_base", ":v8_external_snapshot", @@ -1417,6 +1422,7 @@ component("v8") { ":v8_snapshot", ] } else { + assert(!v8_use_external_startup_data) deps = [ ":v8_base", ":v8_nosnapshot", @@ -1438,7 +1444,7 @@ component("v8") { } else { group("v8") { - if (v8_use_external_startup_data) { + if (v8_use_snapshot && v8_use_external_startup_data) { deps = [ ":v8_base", ":v8_external_snapshot", @@ -1449,6 +1455,7 @@ group("v8") { ":v8_snapshot", ] } else { + assert(!v8_use_external_startup_data) deps = [ ":v8_base", ":v8_nosnapshot", diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 1e298537ca..d016b794ff 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,521 @@ +2014-12-23: Version 3.31.74 + + [turbofan] Turn DCHECK for fixed slot index into a CHECK (Chromium issue + 444681). + + Performance and stability improvements on all platforms. + + +2014-12-23: Version 3.31.73 + + [turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer + (Chromium issue 444695). + + Enable the embedder to specify what kind of context was disposed. + + Performance and stability improvements on all platforms. + + +2014-12-22: Version 3.31.72 + + [turbofan] Correctify lowering of Uint8ClampedArray buffer access + (Chromium issue 444508). + + Performance and stability improvements on all platforms. + + +2014-12-20: Version 3.31.71 + + Performance and stability improvements on all platforms. + + +2014-12-20: Version 3.31.70 + + Performance and stability improvements on all platforms. + + +2014-12-20: Version 3.31.69 + + Performance and stability improvements on all platforms. + + +2014-12-19: Version 3.31.68 + + [turbofan] Fix unsafe out-of-bounds check for checked loads/stores + (Chromium issue 443744). + + Performance and stability improvements on all platforms. + + +2014-12-19: Version 3.31.67 + + Performance and stability improvements on all platforms. + + +2014-12-19: Version 3.31.66 + + Ship ES6 template literals (issue 3230). + + Performance and stability improvements on all platforms. + + +2014-12-18: Version 3.31.65 + + ES6 template literals should not use legacy octal strings (issue 3736). + + Performance and stability improvements on all platforms. + + +2014-12-18: Version 3.31.64 + + Fixed -fsanitize=float-cast-overflow problems (issue 3773). + + Performance and stability improvements on all platforms. + + +2014-12-18: Version 3.31.63 + + ES6 computed property names (issue 3754). + + Performance and stability improvements on all platforms. + + +2014-12-17: Version 3.31.62 + + Performance and stability improvements on all platforms. + + +2014-12-17: Version 3.31.61 + + ES6: Update unscopables to match spec (issue 3632). + + ES6 computed property names (issue 3754). + + More -fsanitize=vptr fixes (Chromium issue 441099). + + [turbofan] Cache conversions inserted during typed lowering (issue + 3763). + + Performance and stability improvements on all platforms. + + +2014-12-16: Version 3.31.60 + + Performance and stability improvements on all platforms. + + +2014-12-16: Version 3.31.59 + + Performance and stability improvements on all platforms. + + +2014-12-16: Version 3.31.58 + + Ship ES6 classes (issue 3330). + + ES6 computed property names (issue 3754). + + Performance and stability improvements on all platforms. + + +2014-12-12: Version 3.31.57 + + Consistently use only one of virtual/OVERRIDE/FINAL (issue 3753). + + Performance and stability improvements on all platforms. + + +2014-12-12: Version 3.31.56 + + Performance and stability improvements on all platforms. + + +2014-12-12: Version 3.31.55 + + Performance and stability improvements on all platforms. + + +2014-12-11: Version 3.31.54 + + Implement Array.from() (issue 3336). + + move v8_use_external_startup_data to standalone.gypi (Chromium issue + 421063). + + Performance and stability improvements on all platforms. + + +2014-12-11: Version 3.31.53 + + Performance and stability improvements on all platforms. + + +2014-12-11: Version 3.31.52 + + Ship ES6 block scoping (issue 2198). + + Optimize Object.seal and Object.preventExtensions (issue 3662, Chromium + issue 115960). + + Add Array.prototype.includes (issue 3575). + + Performance and stability improvements on all platforms. + + +2014-12-10: Version 3.31.51 + + [x64] Fix optimization for certain checked load/stores (Chromium issue + 439743). + + Performance and stability improvements on all platforms. + + +2014-12-09: Version 3.31.50 + + Temporarily restore make dependencies. + + Performance and stability improvements on all platforms. + + +2014-12-09: Version 3.31.49 + + Performance and stability improvements on all platforms. + + +2014-12-09: Version 3.31.48 + + Performance and stability improvements on all platforms. + + +2014-12-09: Version 3.31.47 + + Temporarily restore make dependencies. + + Performance and stability improvements on all platforms. + + +2014-12-08: Version 3.31.46 + + Performance and stability improvements on all platforms. + + +2014-12-08: Version 3.31.45 + + Update all DEPS to match chromium's DEPS at edb488e. + + Turn on DCHECKs and other debugging code if dcheck_always_on is 1 (issue + 3731). + + Optimize GetPrototype. + + Performance and stability improvements on all platforms. + + +2014-12-05: Version 3.31.44 + + Performance and stability improvements on all platforms. + + +2014-12-04: Version 3.31.43 + + ES6 template literals: Fix issue with template after rbrace (issue + 3734). + + Stage ES6 template literals (issue 3230). + + Performance and stability improvements on all platforms. + + +2014-12-04: Version 3.31.42 + + Performance and stability improvements on all platforms. + + +2014-12-04: Version 3.31.41 + + Simplify template literal raw string creation (issue 3710). + + Performance and stability improvements on all platforms. + + +2014-12-03: Version 3.31.40 + + Performance and stability improvements on all platforms. + + +2014-12-03: Version 3.31.39 + + Performance and stability improvements on all platforms. + + +2014-12-03: Version 3.31.38 + + Stage ES6 classes and object literal extensions (issue 3330). + + Fixed environment handling for LFlooringDivI on ARM (Chromium issue + 437765). + + Add GetIdentityHash to v8::Name object API (Chromium issue 437416). + + Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue + 82385). + + Performance and stability improvements on all platforms. + + +2014-12-02: Version 3.31.37 + + Performance and stability improvements on all platforms. + + +2014-12-02: Version 3.31.36 + + Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue + 82385). + + Performance and stability improvements on all platforms. + + +2014-12-02: Version 3.31.35 + + Performance and stability improvements on all platforms. + + +2014-12-01: Version 3.31.34 + + Performance and stability improvements on all platforms. + + +2014-12-01: Version 3.31.33 + + Performance and stability improvements on all platforms. + + +2014-12-01: Version 3.31.32 + + Performance and stability improvements on all platforms. + + +2014-12-01: Version 3.31.31 + + Performance and stability improvements on all platforms. + + +2014-11-29: Version 3.31.30 + + Performance and stability improvements on all platforms. + + +2014-11-28: Version 3.31.29 + + Stage @@toStringTag (--harmony-tostring). + + Performance and stability improvements on all platforms. + + +2014-11-28: Version 3.31.28 + + Performance and stability improvements on all platforms. + + +2014-11-28: Version 3.31.27 + + Ship harmony-strings. + + Performance and stability improvements on all platforms. + + +2014-11-28: Version 3.31.26 + + Abort optimization in corner case (Chromium issue 436893). + + Performance and stability improvements on all platforms. + + +2014-11-26: Version 3.31.25 + + Stage ES6 block scoping (issue 2198). + + Introduce legacy const slots in correct context (Chromium issue 410030). + + Performance and stability improvements on all platforms. + + +2014-11-26: Version 3.31.24 + + Performance and stability improvements on all platforms. + + +2014-11-25: Version 3.31.23 + + Performance and stability improvements on all platforms. + + +2014-11-25: Version 3.31.22 + + Performance and stability improvements on all platforms. + + +2014-11-24: Version 3.31.21 + + Performance and stability improvements on all platforms. + + +2014-11-24: Version 3.31.20 + + Performance and stability improvements on all platforms. + + +2014-11-22: Version 3.31.19 + + Performance and stability improvements on all platforms. + + +2014-11-21: Version 3.31.18 + + Performance and stability improvements on all platforms. + + +2014-11-21: Version 3.31.17 + + Performance and stability improvements on all platforms. + + +2014-11-21: Version 3.31.16 + + Cache template literal callSiteObj (issue 3230). + + Rename String.prototype.contains to 'includes'. + + Reserve code range block for evacuation (Chromium issue 430118). + + Performance and stability improvements on all platforms. + + +2014-11-20: Version 3.31.15 + + Rename String.prototype.contains to 'includes'. + + Performance and stability improvements on all platforms. + + +2014-11-19: Version 3.31.14 + + Remove Weak{Map,Set}.prototype.clear. + + Performance and stability improvements on all platforms. + + +2014-11-19: Version 3.31.13 + + Performance and stability improvements on all platforms. + + +2014-11-19: Version 3.31.12 + + Classes: Expand test to cover strict runtime behavior (issue 3330). + + v8::String::Concat must not throw (Chromium issue 420240). + + Fix disabling all break points from within the debug event callback + (Chromium issue 432493). + + Performance and stability improvements on all platforms. + + +2014-11-18: Version 3.31.11 + + Performance and stability improvements on all platforms. + + +2014-11-17: Version 3.31.10 + + Performance and stability improvements on all platforms. + + +2014-11-17: Version 3.31.9 + + Expose internal properties of map/set iterators via mirrors. + + Performance and stability improvements on all platforms. + + +2014-11-17: Version 3.31.8 + + Performance and stability improvements on all platforms. + + +2014-11-15: Version 3.31.7 + + Classes: Add support for stepping through default constructors (issue + 3674). + + Performance and stability improvements on all platforms. + + +2014-11-14: Version 3.31.6 + + Fix desugaring of let bindings in for loops to handle continue properly + (issue 3683). + + Performance and stability improvements on all platforms. + + +2014-11-14: Version 3.31.5 + + Classes: Implement correct name binding (issue 3330). + + Performance and stability improvements on all platforms. + + +2014-11-14: Version 3.31.4 + + Performance and stability improvements on all platforms. + + +2014-11-14: Version 3.31.3 + + Classes: Cleanup default constructor flag. + + Soft fail for invalid cache data. + + Implement .of() on typed arrays (issue 3578). + + Performance and stability improvements on all platforms. + + +2014-11-13: Version 3.31.2 + + MIPS: Leaving a generator via an exception causes it to close (issue + 3096). + + MIPS: ES6: Add support for super in object literals (issue 3571). + + Increase the target new space size to the max new space size (issue + 3626). + + Leaving a generator via an exception causes it to close (issue 3096). + + Correctly compute line numbers in functions from the function + constructor (Chromium issue 109362). + + Rename v8::Exception::GetMessage to CreateMessage. + + Classes: Add support for arguments in default constructor (issue 3672). + + ES6: Add support for super in object literals (issue 3571). + + Performance and stability improvements on all platforms. + + +2014-11-12: Version 3.31.1 + + Fix has_constant_parameter_count() confusion in LReturn (Chromium issue + 431602). + + Performance and stability improvements on all platforms. + + 2014-11-05: Version 3.30.33 `1..isPrototypeOf.call(null)` should return false, not throw TypeError diff --git a/deps/v8/DEPS b/deps/v8/DEPS index d4139c6098..e85604b0b7 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -3,44 +3,32 @@ # all paths in here must match this assumption. vars = { - "chromium_git": "https://chromium.googlesource.com", - - "chromium_trunk": "https://src.chromium.org/svn/trunk", - - "buildtools_revision": "fb782d4369d5ae04f17a2fceef7de5a63e50f07b", + "git_url": "https://chromium.googlesource.com", } deps = { - # Remember to keep the revision in sync with the Makefile. "v8/build/gyp": - "http://gyp.googlecode.com/svn/trunk@1831", - + Var("git_url") + "/external/gyp.git" + "@" + "fe00999dfaee449d3465a9316778434884da4fa7", # from svn revision 2010 "v8/third_party/icu": - Var("chromium_trunk") + "/deps/third_party/icu52@277999", - + Var("git_url") + "/chromium/deps/icu.git" + "@" + "51c1a4ce5f362676aa1f1cfdb5b7e52edabfa5aa", "v8/buildtools": - "https://chromium.googlesource.com/chromium/buildtools.git@" + - Var("buildtools_revision"), - + Var("git_url") + "/chromium/buildtools.git" + "@" + "23a4e2f545c7b6340d7e5a2b74801941b0a86535", "v8/testing/gtest": - "http://googletest.googlecode.com/svn/trunk@692", - + Var("git_url") + "/external/googletest.git" + "@" + "8245545b6dc9c4703e6496d1efd19e975ad2b038", # from svn revision 700 "v8/testing/gmock": - "http://googlemock.googlecode.com/svn/trunk@485", + Var("git_url") + "/external/googlemock.git" + "@" + "29763965ab52f24565299976b936d1265cb6a271", # from svn revision 501 + "v8/tools/clang": + Var("git_url") + "/chromium/src/tools/clang.git" + "@" + "90fb65e7a9a5c9d6d9613dfb0e78921c52ca9cfc", } deps_os = { "android": { "v8/third_party/android_tools": - Var("chromium_git") + "/android_tools.git" + "@" + - "31869996507de16812bb53a3d0aaa15cd6194c16", + Var("git_url") + "/android_tools.git" + "@" + "4f723e2a5fa5b7b8a198072ac19b92344be2b271", }, "win": { "v8/third_party/cygwin": - Var("chromium_trunk") + "/deps/third_party/cygwin@66844", - - "v8/third_party/python_26": - Var("chromium_trunk") + "/tools/third_party/python_26@89111", + Var("git_url") + "/chromium/deps/cygwin.git" + "@" + "c89e446b273697fadf3a10ff1007a97c0b7de6df", } } @@ -92,6 +80,13 @@ hooks = [ "-s", "v8/buildtools/linux64/clang-format.sha1", ], }, + { + # Pull clang if needed or requested via GYP_DEFINES. + # Note: On Win, this should run after win_toolchain, as it may use it. + 'name': 'clang', + 'pattern': '.', + 'action': ['python', 'v8/tools/clang/scripts/update.py', '--if-needed'], + }, { # A change to a .gyp, .gypi, or to GYP itself should run the generator. "pattern": ".", diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 3b02f52d2a..606b5d7bf1 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -64,6 +64,10 @@ endif ifeq ($(verifyheap), on) GYPFLAGS += -Dv8_enable_verify_heap=1 endif +# tracemaps=on +ifeq ($(tracemaps), on) + GYPFLAGS += -Dv8_trace_maps=1 +endif # backtrace=off ifeq ($(backtrace), off) GYPFLAGS += -Dv8_enable_backtrace=0 @@ -78,6 +82,9 @@ endif ifeq ($(snapshot), off) GYPFLAGS += -Dv8_use_snapshot='false' endif +ifeq ($(snapshot), external) + GYPFLAGS += -Dv8_use_external_startup_data=1 +endif # extrachecks=on/off ifeq ($(extrachecks), on) GYPFLAGS += -Dv8_enable_extra_checks=1 -Dv8_enable_handle_zapping=1 @@ -486,7 +493,7 @@ gtags.clean: # "dependencies" includes also dependencies required for development. # Remember to keep these in sync with the DEPS file. builddeps: - svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \ + svn checkout --force https://gyp.googlecode.com/svn/trunk build/gyp \ --revision 1831 if svn info third_party/icu 2>&1 | grep -q icu46 ; then \ svn switch --force \ @@ -497,9 +504,9 @@ builddeps: https://src.chromium.org/chrome/trunk/deps/third_party/icu52 \ third_party/icu --revision 277999 ; \ fi - svn checkout --force http://googletest.googlecode.com/svn/trunk \ + svn checkout --force https://googletest.googlecode.com/svn/trunk \ testing/gtest --revision 692 - svn checkout --force http://googlemock.googlecode.com/svn/trunk \ + svn checkout --force https://googlemock.googlecode.com/svn/trunk \ testing/gmock --revision 485 dependencies: builddeps diff --git a/deps/v8/Makefile.android b/deps/v8/Makefile.android index 8e200f1f24..2a3640382b 100644 --- a/deps/v8/Makefile.android +++ b/deps/v8/Makefile.android @@ -38,12 +38,10 @@ HOST_OS = $(shell uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/') ANDROID_NDK_HOST_ARCH ?= $(shell uname -m | sed -e 's/i[3456]86/x86/') ifeq ($(HOST_OS), linux) TOOLCHAIN_DIR = linux-$(ANDROID_NDK_HOST_ARCH) +else ifeq ($(HOST_OS), mac) + TOOLCHAIN_DIR = darwin-$(ANDROID_NDK_HOST_ARCH) else - ifeq ($(HOST_OS), mac) - TOOLCHAIN_DIR = darwin-$(ANDROID_NDK_HOST_ARCH) - else - $(error Host platform "${HOST_OS}" is not supported) - endif + $(error Host platform "${HOST_OS}" is not supported) endif ifeq ($(ARCH), android_arm) @@ -52,38 +50,29 @@ ifeq ($(ARCH), android_arm) TOOLCHAIN_ARCH = arm-linux-androideabi TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) TOOLCHAIN_VER = 4.8 +else ifeq ($(ARCH), android_arm64) + DEFINES = target_arch=arm64 v8_target_arch=arm64 android_target_arch=arm64 android_target_platform=21 + TOOLCHAIN_ARCH = aarch64-linux-android + TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) + TOOLCHAIN_VER = 4.9 +else ifeq ($(ARCH), android_mipsel) + DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_platform=14 + DEFINES += android_target_arch=mips mips_arch_variant=mips32r2 + TOOLCHAIN_ARCH = mipsel-linux-android + TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) + TOOLCHAIN_VER = 4.8 +else ifeq ($(ARCH), android_ia32) + DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86 android_target_platform=14 + TOOLCHAIN_ARCH = x86 + TOOLCHAIN_PREFIX = i686-linux-android + TOOLCHAIN_VER = 4.8 +else ifeq ($(ARCH), android_x87) + DEFINES = target_arch=x87 v8_target_arch=x87 android_target_arch=x86 android_target_platform=14 + TOOLCHAIN_ARCH = x86 + TOOLCHAIN_PREFIX = i686-linux-android + TOOLCHAIN_VER = 4.8 else - ifeq ($(ARCH), android_arm64) - DEFINES = target_arch=arm64 v8_target_arch=arm64 android_target_arch=arm64 android_target_platform=L - TOOLCHAIN_ARCH = aarch64-linux-android - TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.9 - else - ifeq ($(ARCH), android_mipsel) - DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_platform=14 - DEFINES += android_target_arch=mips mips_arch_variant=mips32r2 - TOOLCHAIN_ARCH = mipsel-linux-android - TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.8 - - else - ifeq ($(ARCH), android_ia32) - DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86 android_target_platform=14 - TOOLCHAIN_ARCH = x86 - TOOLCHAIN_PREFIX = i686-linux-android - TOOLCHAIN_VER = 4.8 - else - ifeq ($(ARCH), android_x87) - DEFINES = target_arch=x87 v8_target_arch=x87 android_target_arch=x86 android_target_platform=14 - TOOLCHAIN_ARCH = x86 - TOOLCHAIN_PREFIX = i686-linux-android - TOOLCHAIN_VER = 4.8 - else - $(error Target architecture "${ARCH}" is not supported) - endif - endif - endif - endif + $(error Target architecture "${ARCH}" is not supported) endif TOOLCHAIN_PATH = \ diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index aa5f64449e..22a05cb177 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -1,3 +1,4 @@ +adamk@chromium.org bmeurer@chromium.org danno@chromium.org dcarney@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 3a9895db8d..6d19a4e574 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -244,11 +244,11 @@ def GetPreferredTryMasters(project, change): 'v8_linux_rel': set(['defaulttests']), 'v8_linux_dbg': set(['defaulttests']), 'v8_linux_nosnap_rel': set(['defaulttests']), - 'v8_linux_nosnap_dbg': set(['defaulttests']), 'v8_linux64_rel': set(['defaulttests']), 'v8_linux_arm_dbg': set(['defaulttests']), 'v8_linux_arm64_rel': set(['defaulttests']), 'v8_linux_layout_dbg': set(['defaulttests']), + 'v8_linux_chromium_gn_rel': set(['defaulttests']), 'v8_mac_rel': set(['defaulttests']), 'v8_win_rel': set(['defaulttests']), 'v8_win64_compile_rel': set(['defaulttests']), diff --git a/deps/v8/README.md b/deps/v8/README.md index 7ce52a0b03..bc1685affa 100644 --- a/deps/v8/README.md +++ b/deps/v8/README.md @@ -16,8 +16,15 @@ V8 Project page: https://code.google.com/p/v8/ Getting the Code ============= -V8 Git repository: https://chromium.googlesource.com/v8/v8.git -GitHub mirror: https://github.com/v8/v8-git-mirror +Checkout [depot tools](http://www.chromium.org/developers/how-tos/install-depot-tools), and run + +> `fetch v8` + +This will checkout V8 into the directory `v8` and fetch all of its dependencies. +To stay up to date, run + +> `git pull origin` +> `gclient sync` For fetching all branches, add the following into your remote configuration in `.git/config`: diff --git a/deps/v8/build/android.gypi b/deps/v8/build/android.gypi index f984ea3af6..5d3b25a746 100644 --- a/deps/v8/build/android.gypi +++ b/deps/v8/build/android.gypi @@ -74,13 +74,13 @@ ], }, # Release }, # configurations - 'cflags': [ '-Wno-abi', '-Wall', '-W', '-Wno-unused-parameter', - '-Wnon-virtual-dtor', '-fno-rtti', '-fno-exceptions', - # Note: Using -std=c++0x will define __STRICT_ANSI__, which in - # turn will leave out some template stuff for 'long long'. What - # we want is -std=c++11, but this is not supported by GCC 4.6 or - # Xcode 4.2 - '-std=gnu++0x' ], + 'cflags': [ '-Wno-abi', '-Wall', '-W', '-Wno-unused-parameter'], + 'cflags_cc': [ '-Wnon-virtual-dtor', '-fno-rtti', '-fno-exceptions', + # Note: Using -std=c++0x will define __STRICT_ANSI__, which + # in turn will leave out some template stuff for 'long + # long'. What we want is -std=c++11, but this is not + # supported by GCC 4.6 or Xcode 4.2 + '-std=gnu++0x' ], 'target_conditions': [ ['_toolset=="target"', { 'cflags!': [ @@ -93,11 +93,13 @@ '-fno-short-enums', '-finline-limit=64', '-Wa,--noexecstack', - '-Wno-error=non-virtual-dtor', # TODO(michaelbai): Fix warnings. # Note: This include is in cflags to ensure that it comes after # all of the includes. '-I<(android_include)', ], + 'cflags_cc': [ + '-Wno-error=non-virtual-dtor', # TODO(michaelbai): Fix warnings. + ], 'defines': [ 'ANDROID', #'__GNU_SOURCE=1', # Necessary for clone() @@ -213,8 +215,7 @@ '-fno-stack-protector', ], }], - ['target_arch=="arm64" or target_arch=="x64"', { - # TODO(ulan): Enable PIE for other architectures (crbug.com/373219). + ['(target_arch=="arm" or target_arch=="arm64" or target_arch=="x64") and component!="shared_library"', { 'cflags': [ '-fPIE', ], diff --git a/deps/v8/build/features.gypi b/deps/v8/build/features.gypi index 7ce66e4c98..25041ce42f 100644 --- a/deps/v8/build/features.gypi +++ b/deps/v8/build/features.gypi @@ -29,8 +29,6 @@ { 'variables': { - 'v8_compress_startup_data%': 'off', - 'v8_enable_disassembler%': 0, 'v8_enable_gdbjit%': 0, @@ -39,6 +37,8 @@ 'v8_enable_verify_heap%': 0, + 'v8_trace_maps%': 0, + 'v8_use_snapshot%': 'true', 'v8_enable_verify_predictable%': 0, @@ -59,9 +59,8 @@ # Enable compiler warnings when using V8_DEPRECATED apis. 'v8_deprecation_warnings%': 0, - # Use external files for startup data blobs: - # the JS builtins sources and the start snapshot. - 'v8_use_external_startup_data%': 0, + # Set to 1 to enable DCHECKs in release builds. + 'dcheck_always_on%': 0, }, 'target_defaults': { 'conditions': [ @@ -77,6 +76,9 @@ ['v8_enable_verify_heap==1', { 'defines': ['VERIFY_HEAP',], }], + ['v8_trace_maps==1', { + 'defines': ['TRACE_MAPS',], + }], ['v8_enable_verify_predictable==1', { 'defines': ['VERIFY_PREDICTABLE',], }], @@ -89,12 +91,12 @@ ['v8_enable_i18n_support==1', { 'defines': ['V8_I18N_SUPPORT',], }], - ['v8_compress_startup_data=="bz2"', { - 'defines': ['COMPRESS_STARTUP_DATA_BZ2',], - }], ['v8_use_external_startup_data==1', { 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA',], }], + ['dcheck_always_on!=0', { + 'defines': ['DEBUG',], + }], ], # conditions 'configurations': { 'DebugBaseCommon': { diff --git a/deps/v8/build/standalone.gypi b/deps/v8/build/standalone.gypi index 47b276311d..ee91e78899 100644 --- a/deps/v8/build/standalone.gypi +++ b/deps/v8/build/standalone.gypi @@ -33,6 +33,8 @@ 'includes': ['toolchain.gypi'], 'variables': { 'component%': 'static_library', + 'make_clang_dir%': '../third_party/llvm-build/Release+Asserts', + 'clang_xcode%': 0, 'asan%': 0, 'tsan%': 0, 'visibility%': 'hidden', @@ -91,6 +93,12 @@ # near-release speeds. 'v8_optimized_debug%': 0, + # Use external files for startup data blobs: + # the JS builtins sources and the start snapshot. + # Embedders that don't use standalone.gypi will need to add + # their own default value. + 'v8_use_external_startup_data%': 0, + # Relative path to icu.gyp from this file. 'icu_gyp_path': '../third_party/icu/icu.gyp', @@ -127,6 +135,16 @@ 'arm_fpu%': 'vfpv3', 'arm_float_abi%': 'default', 'arm_thumb': 'default', + + # Default MIPS variable settings. + 'mips_arch_variant%': 'r2', + # Possible values fp32, fp64, fpxx. + # fp32 - 32 32-bit FPU registers are available, doubles are placed in + # register pairs. + # fp64 - 32 64-bit FPU registers are available. + # fpxx - compatibility mode, it chooses fp32 or fp64 depending on runtime + # detection + 'mips_fpu_mode%': 'fp32', }, 'target_defaults': { 'variables': { @@ -368,6 +386,7 @@ }], # OS=="win" ['OS=="mac"', { 'xcode_settings': { + 'SDKROOT': 'macosx', 'SYMROOT': '<(DEPTH)/xcodebuild', }, 'target_defaults': { @@ -422,5 +441,20 @@ ], # target_conditions }, # target_defaults }], # OS=="mac" + ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) ' + 'and OS!="win"', { + 'make_global_settings': [ + ['CC', '<(make_clang_dir)/bin/clang'], + ['CXX', '<(make_clang_dir)/bin/clang++'], + ['CC.host', '$(CC)'], + ['CXX.host', '$(CXX)'], + ], + }], + ['clang==1 and OS=="win"', { + 'make_global_settings': [ + # On Windows, gyp's ninja generator only looks at CC. + ['CC', '<(make_clang_dir)/bin/clang-cl'], + ], + }], ], } diff --git a/deps/v8/build/toolchain.gypi b/deps/v8/build/toolchain.gypi index 20c2c943bb..ac10065601 100644 --- a/deps/v8/build/toolchain.gypi +++ b/deps/v8/build/toolchain.gypi @@ -30,7 +30,6 @@ { 'variables': { 'msvs_use_common_release': 0, - 'gcc_version%': 'unknown', 'clang%': 0, 'v8_target_arch%': '<(target_arch)', # Native Client builds currently use the V8 ARM JIT and @@ -55,17 +54,6 @@ # Similar to the ARM hard float ABI but on MIPS. 'v8_use_mips_abi_hardfloat%': 'true', - # Default arch variant for MIPS. - 'mips_arch_variant%': 'r2', - - # Possible values fp32, fp64, fpxx. - # fp32 - 32 32-bit FPU registers are available, doubles are placed in - # register pairs. - # fp64 - 32 64-bit FPU registers are available. - # fpxx - compatibility mode, it chooses fp32 or fp64 depending on runtime - # detection - 'mips_fpu_mode%': 'fp32', - 'v8_enable_backtrace%': 0, # Enable profiling support. Only required on Windows. @@ -278,10 +266,27 @@ 'V8_TARGET_ARCH_MIPS', ], 'conditions': [ - ['v8_target_arch==target_arch and android_webview_build==0', { - # Target built with a Mips CXX compiler. - 'target_conditions': [ - ['_toolset=="target"', { + [ 'v8_can_use_fpu_instructions=="true"', { + 'defines': [ + 'CAN_USE_FPU_INSTRUCTIONS', + ], + }], + [ 'v8_use_mips_abi_hardfloat=="true"', { + 'defines': [ + '__mips_hard_float=1', + 'CAN_USE_FPU_INSTRUCTIONS', + ], + }, { + 'defines': [ + '__mips_soft_float=1' + ] + }], + ], + 'target_conditions': [ + ['_toolset=="target"', { + 'conditions': [ + ['v8_target_arch==target_arch and android_webview_build==0', { + # Target built with a Mips CXX compiler. 'cflags': ['-EB'], 'ldflags': ['-EB'], 'conditions': [ @@ -292,16 +297,11 @@ 'cflags': ['-msoft-float'], 'ldflags': ['-msoft-float'], }], - ['mips_fpu_mode=="fp64"', { - 'cflags': ['-mfp64'], - }], - ['mips_fpu_mode=="fpxx"', { - 'cflags': ['-mfpxx'], - }], - ['mips_fpu_mode=="fp32"', { - 'cflags': ['-mfp32'], - }], ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], 'cflags!': ['-mfp32', '-mfpxx'], 'cflags': ['-mips32r6', '-Wa,-mips32r6'], 'ldflags': [ @@ -311,23 +311,145 @@ ], }], ['mips_arch_variant=="r2"', { + 'conditions': [ + [ 'mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + 'cflags': ['-mfp64'], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + 'cflags': ['-mfpxx'], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32', + ], + 'cflags': ['-mfp32'], + }], + ], 'cflags': ['-mips32r2', '-Wa,-mips32r2'], 'ldflags': ['-mips32r2'], }], ['mips_arch_variant=="r1"', { + 'defines': [ + 'FPU_MODE_FP32', + ], 'cflags!': ['-mfp64', '-mfpxx'], 'cflags': ['-mips32', '-Wa,-mips32'], 'ldflags': ['-mips32'], }], ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], 'cflags!': ['-mfp64', '-mfp32'], 'cflags': ['-mips32', '-Wa,-mips32', '-mfpxx'], 'ldflags': ['-mips32'], }], ], + }, { + # 'v8_target_arch!=target_arch' + # Target not built with an MIPS CXX compiler (simulator build). + 'conditions': [ + ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], + }], + ['mips_arch_variant=="r2"', { + 'conditions': [ + [ 'mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32', + ], + }], + ], + }], + ['mips_arch_variant=="r1"', { + 'defines': [ + 'FPU_MODE_FP32', + ], + }], + ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], + }], + ], }], ], - }], + }], #_toolset=="target" + ['_toolset=="host"', { + 'conditions': [ + ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], + }], + ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], + }], + ['mips_arch_variant=="r2"', { + 'conditions': [ + ['mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32' + ], + }], + ], + }], + ['mips_arch_variant=="r1"', { + 'defines': ['FPU_MODE_FP32',], + }], + ] + }], #_toolset=="host" + ], + }], # v8_target_arch=="mips" + ['v8_target_arch=="mipsel"', { + 'defines': [ + 'V8_TARGET_ARCH_MIPS', + ], + 'conditions': [ [ 'v8_can_use_fpu_instructions=="true"', { 'defines': [ 'CAN_USE_FPU_INSTRUCTIONS', @@ -343,46 +465,12 @@ '__mips_soft_float=1' ], }], - ['mips_arch_variant=="rx"', { - 'defines': [ - '_MIPS_ARCH_MIPS32RX', - 'FPU_MODE_FPXX', - ], - }], - ['mips_arch_variant=="r6"', { - 'defines': [ - '_MIPS_ARCH_MIPS32R6', - 'FPU_MODE_FP64', - ], - }], - ['mips_arch_variant=="r2"', { - 'defines': ['_MIPS_ARCH_MIPS32R2',], - 'conditions': [ - ['mips_fpu_mode=="fp64"', { - 'defines': ['FPU_MODE_FP64',], - }], - ['mips_fpu_mode=="fpxx"', { - 'defines': ['FPU_MODE_FPXX',], - }], - ['mips_fpu_mode=="fp32"', { - 'defines': ['FPU_MODE_FP32',], - }], - ], - }], - ['mips_arch_variant=="r1"', { - 'defines': ['FPU_MODE_FP32',], - }], ], - }], # v8_target_arch=="mips" - ['v8_target_arch=="mipsel"', { - 'defines': [ - 'V8_TARGET_ARCH_MIPS', - ], - 'conditions': [ - ['v8_target_arch==target_arch and android_webview_build==0', { - # Target built with a Mips CXX compiler. - 'target_conditions': [ - ['_toolset=="target"', { + 'target_conditions': [ + ['_toolset=="target"', { + 'conditions': [ + ['v8_target_arch==target_arch and android_webview_build==0', { + # Target built with a Mips CXX compiler. 'cflags': ['-EL'], 'ldflags': ['-EL'], 'conditions': [ @@ -393,16 +481,11 @@ 'cflags': ['-msoft-float'], 'ldflags': ['-msoft-float'], }], - ['mips_fpu_mode=="fp64"', { - 'cflags': ['-mfp64'], - }], - ['mips_fpu_mode=="fpxx"', { - 'cflags': ['-mfpxx'], - }], - ['mips_fpu_mode=="fp32"', { - 'cflags': ['-mfp32'], - }], ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], 'cflags!': ['-mfp32', '-mfpxx'], 'cflags': ['-mips32r6', '-Wa,-mips32r6'], 'ldflags': [ @@ -412,6 +495,29 @@ ], }], ['mips_arch_variant=="r2"', { + 'conditions': [ + [ 'mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + 'cflags': ['-mfp64'], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + 'cflags': ['-mfpxx'], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32', + ], + 'cflags': ['-mfp32'], + }], + ], 'cflags': ['-mips32r2', '-Wa,-mips32r2'], 'ldflags': ['-mips32r2'], }], @@ -421,18 +527,130 @@ 'ldflags': ['-mips32'], }], ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], 'cflags!': ['-mfp64', '-mfp32'], 'cflags': ['-mips32', '-Wa,-mips32', '-mfpxx'], 'ldflags': ['-mips32'], }], ['mips_arch_variant=="loongson"', { + 'defines': [ + '_MIPS_ARCH_LOONGSON', + 'FPU_MODE_FP32', + ], 'cflags!': ['-mfp64', '-mfp32', '-mfpxx'], 'cflags': ['-mips3', '-Wa,-mips3'], }], ], + }, { + # 'v8_target_arch!=target_arch' + # Target not built with an MIPS CXX compiler (simulator build). + 'conditions': [ + ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], + }], + ['mips_arch_variant=="r2"', { + 'conditions': [ + [ 'mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32', + ], + }], + ], + }], + ['mips_arch_variant=="r1"', { + 'defines': [ + 'FPU_MODE_FP32', + ], + }], + ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], + }], + ['mips_arch_variant=="loongson"', { + 'defines': [ + '_MIPS_ARCH_LOONGSON', + 'FPU_MODE_FP32', + ], + }], + ], }], ], + }], #_toolset=="target + ['_toolset=="host"', { + 'conditions': [ + ['mips_arch_variant=="rx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32RX', + 'FPU_MODE_FPXX', + ], + }], + ['mips_arch_variant=="r6"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R6', + 'FPU_MODE_FP64', + ], + }], + ['mips_arch_variant=="r2"', { + 'conditions': [ + ['mips_fpu_mode=="fp64"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP64', + ], + }], + ['mips_fpu_mode=="fpxx"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FPXX', + ], + }], + ['mips_fpu_mode=="fp32"', { + 'defines': [ + '_MIPS_ARCH_MIPS32R2', + 'FPU_MODE_FP32' + ], + }], + ], + }], + ['mips_arch_variant=="r1"', { + 'defines': ['FPU_MODE_FP32',], + }], + ['mips_arch_variant=="loongson"', { + 'defines': [ + '_MIPS_ARCH_LOONGSON', + 'FPU_MODE_FP32', + ], + }], + ] }], + ], + }], # v8_target_arch=="mipsel" + ['v8_target_arch=="mips64el"', { + 'defines': [ + 'V8_TARGET_ARCH_MIPS64', + ], + 'conditions': [ [ 'v8_can_use_fpu_instructions=="true"', { 'defines': [ 'CAN_USE_FPU_INSTRUCTIONS', @@ -448,52 +666,11 @@ '__mips_soft_float=1' ], }], - ['mips_arch_variant=="rx"', { - 'defines': [ - '_MIPS_ARCH_MIPS32RX', - 'FPU_MODE_FPXX', - ], - }], - ['mips_arch_variant=="r6"', { - 'defines': [ - '_MIPS_ARCH_MIPS32R6', - 'FPU_MODE_FP64', - ], - }], - ['mips_arch_variant=="r2"', { - 'defines': ['_MIPS_ARCH_MIPS32R2',], + ], + 'target_conditions': [ + ['_toolset=="target"', { 'conditions': [ - ['mips_fpu_mode=="fp64"', { - 'defines': ['FPU_MODE_FP64',], - }], - ['mips_fpu_mode=="fpxx"', { - 'defines': ['FPU_MODE_FPXX',], - }], - ['mips_fpu_mode=="fp32"', { - 'defines': ['FPU_MODE_FP32',], - }], - ], - }], - ['mips_arch_variant=="r1"', { - 'defines': ['FPU_MODE_FP32',], - }], - ['mips_arch_variant=="loongson"', { - 'defines': [ - '_MIPS_ARCH_LOONGSON', - 'FPU_MODE_FP32', - ], - }], - ], - }], # v8_target_arch=="mipsel" - ['v8_target_arch=="mips64el"', { - 'defines': [ - 'V8_TARGET_ARCH_MIPS64', - ], - 'conditions': [ - ['v8_target_arch==target_arch and android_webview_build==0', { - # Target built with a Mips CXX compiler. - 'target_conditions': [ - ['_toolset=="target"', { + ['v8_target_arch==target_arch and android_webview_build==0', { 'cflags': ['-EL'], 'ldflags': ['-EL'], 'conditions': [ @@ -505,6 +682,7 @@ 'ldflags': ['-msoft-float'], }], ['mips_arch_variant=="r6"', { + 'defines': ['_MIPS_ARCH_MIPS64R6',], 'cflags': ['-mips64r6', '-mabi=64', '-Wa,-mips64r6'], 'ldflags': [ '-mips64r6', '-mabi=64', @@ -513,6 +691,7 @@ ], }], ['mips_arch_variant=="r2"', { + 'defines': ['_MIPS_ARCH_MIPS64R2',], 'cflags': ['-mips64r2', '-mabi=64', '-Wa,-mips64r2'], 'ldflags': [ '-mips64r2', '-mabi=64', @@ -521,30 +700,30 @@ ], }], ], + }, { + # 'v8_target_arch!=target_arch' + # Target not built with an MIPS CXX compiler (simulator build). + 'conditions': [ + ['mips_arch_variant=="r6"', { + 'defines': ['_MIPS_ARCH_MIPS64R6',], + }], + ['mips_arch_variant=="r2"', { + 'defines': ['_MIPS_ARCH_MIPS64R2',], + }], + ], }], ], - }], - [ 'v8_can_use_fpu_instructions=="true"', { - 'defines': [ - 'CAN_USE_FPU_INSTRUCTIONS', - ], - }], - [ 'v8_use_mips_abi_hardfloat=="true"', { - 'defines': [ - '__mips_hard_float=1', - 'CAN_USE_FPU_INSTRUCTIONS', - ], - }, { - 'defines': [ - '__mips_soft_float=1' + }], #'_toolset=="target" + ['_toolset=="host"', { + 'conditions': [ + ['mips_arch_variant=="r6"', { + 'defines': ['_MIPS_ARCH_MIPS64R6',], + }], + ['mips_arch_variant=="r2"', { + 'defines': ['_MIPS_ARCH_MIPS64R2',], + }], ], - }], - ['mips_arch_variant=="r6"', { - 'defines': ['_MIPS_ARCH_MIPS64R6',], - }], - ['mips_arch_variant=="r2"', { - 'defines': ['_MIPS_ARCH_MIPS64R2',], - }], + }], #'_toolset=="host" ], }], # v8_target_arch=="mips64el" ['v8_target_arch=="x64"', { @@ -724,6 +903,9 @@ }, }], ], + 'defines': [ + 'ENABLE_SLOW_DCHECKS', + ], }, # DebugBase0 # Abstract configuration for v8_optimized_debug == 1. 'DebugBase1': { @@ -748,6 +930,9 @@ 'LinkIncremental': '2', }, }, + 'defines': [ + 'ENABLE_SLOW_DCHECKS', + ], 'conditions': [ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ OS=="qnx"', { @@ -762,14 +947,6 @@ '-ffunction-sections', '-O1', # TODO(2807) should be -O3. ], - 'conditions': [ - ['gcc_version==44 and clang==0', { - 'cflags': [ - # Avoid crashes with gcc 4.4 in the v8 test suite. - '-fno-tree-vrp', - ], - }], - ], }], ['OS=="mac"', { 'xcode_settings': { @@ -816,9 +993,6 @@ '-fdata-sections', '-ffunction-sections', ], - 'defines': [ - 'OPTIMIZED_DEBUG' - ], 'conditions': [ # TODO(crbug.com/272548): Avoid -O3 in NaCl ['nacl_target_arch=="none"', { @@ -828,12 +1002,6 @@ 'cflags': ['-O2'], 'cflags!': ['-O3'], }], - ['gcc_version==44 and clang==0', { - 'cflags': [ - # Avoid crashes with gcc 4.4 in the v8 test suite. - '-fno-tree-vrp', - ], - }], ], }], ['OS=="mac"', { @@ -852,7 +1020,8 @@ 'V8_ENABLE_CHECKS', 'OBJECT_PRINT', 'VERIFY_HEAP', - 'DEBUG' + 'DEBUG', + 'TRACE_MAPS' ], 'conditions': [ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ @@ -873,6 +1042,7 @@ # TODO(2304): pass DISABLE_DEBUG_ASSERT instead of hiding DEBUG. 'defines!': [ 'DEBUG', + 'ENABLE_SLOW_DCHECKS', ], }], ], @@ -905,12 +1075,6 @@ '<(wno_array_bounds)', ], 'conditions': [ - [ 'gcc_version==44 and clang==0', { - 'cflags': [ - # Avoid crashes with gcc 4.4 in the v8 test suite. - '-fno-tree-vrp', - ], - }], # TODO(crbug.com/272548): Avoid -O3 in NaCl ['nacl_target_arch=="none"', { 'cflags': ['-O3'], @@ -931,14 +1095,6 @@ '-ffunction-sections', '-O2', ], - 'conditions': [ - [ 'gcc_version==44 and clang==0', { - 'cflags': [ - # Avoid crashes with gcc 4.4 in the v8 test suite. - '-fno-tree-vrp', - ], - }], - ], }], ['OS=="mac"', { 'xcode_settings': { diff --git a/deps/v8/codereview.settings b/deps/v8/codereview.settings index b7f853cd59..a7ee88e361 100644 --- a/deps/v8/codereview.settings +++ b/deps/v8/codereview.settings @@ -1,8 +1,9 @@ CODE_REVIEW_SERVER: https://codereview.chromium.org CC_LIST: v8-dev@googlegroups.com -VIEW_VC: https://code.google.com/p/v8/source/detail?r= +VIEW_VC: https://chromium.googlesource.com/v8/v8/+/ STATUS: http://v8-status.appspot.com/status TRY_ON_UPLOAD: False TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try-v8 TRYSERVER_ROOT: v8 PROJECT: v8 +PENDING_REF_PREFIX: refs/pending/ diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index d5433a6a26..d35f2fcb27 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -140,6 +140,17 @@ template class CustomArguments; class PropertyCallbackArguments; class FunctionCallbackArguments; class GlobalHandles; + +class CallbackData { + public: + V8_INLINE v8::Isolate* GetIsolate() const { return isolate_; } + + protected: + explicit CallbackData(v8::Isolate* isolate) : isolate_(isolate) {} + + private: + v8::Isolate* isolate_; +}; } @@ -418,22 +429,53 @@ template class Eternal { }; -template -class WeakCallbackData { +template +class PhantomCallbackData : public internal::CallbackData { + public: + typedef void (*Callback)(const PhantomCallbackData& data); + + V8_INLINE T* GetParameter() const { return parameter_; } + + PhantomCallbackData(Isolate* isolate, T* parameter) + : internal::CallbackData(isolate), parameter_(parameter) {} + + private: + T* parameter_; +}; + + +template +class WeakCallbackData : public PhantomCallbackData

{ public: typedef void (*Callback)(const WeakCallbackData& data); - V8_INLINE Isolate* GetIsolate() const { return isolate_; } V8_INLINE Local GetValue() const { return handle_; } - V8_INLINE P* GetParameter() const { return parameter_; } private: friend class internal::GlobalHandles; - WeakCallbackData(Isolate* isolate, Local handle, P* parameter) - : isolate_(isolate), handle_(handle), parameter_(parameter) { } - Isolate* isolate_; + WeakCallbackData(Isolate* isolate, P* parameter, Local handle) + : PhantomCallbackData

(isolate, parameter), handle_(handle) {} Local handle_; - P* parameter_; +}; + + +template +class InternalFieldsCallbackData : public internal::CallbackData { + public: + typedef void (*Callback)(const InternalFieldsCallbackData& data); + + InternalFieldsCallbackData(Isolate* isolate, T* internalField1, + U* internalField2) + : internal::CallbackData(isolate), + internal_field1_(internalField1), + internal_field2_(internalField2) {} + + V8_INLINE T* GetInternalField1() const { return internal_field1_; } + V8_INLINE U* GetInternalField2() const { return internal_field2_; } + + private: + T* internal_field1_; + U* internal_field2_; }; @@ -471,22 +513,23 @@ template class PersistentBase { template V8_INLINE void Reset(Isolate* isolate, const PersistentBase& other); - V8_INLINE bool IsEmpty() const { return val_ == 0; } + V8_INLINE bool IsEmpty() const { return val_ == NULL; } + V8_INLINE void Empty() { val_ = 0; } template V8_INLINE bool operator==(const PersistentBase& that) const { internal::Object** a = reinterpret_cast(this->val_); internal::Object** b = reinterpret_cast(that.val_); - if (a == 0) return b == 0; - if (b == 0) return false; + if (a == NULL) return b == NULL; + if (b == NULL) return false; return *a == *b; } template V8_INLINE bool operator==(const Handle& that) const { internal::Object** a = reinterpret_cast(this->val_); internal::Object** b = reinterpret_cast(that.val_); - if (a == 0) return b == 0; - if (b == 0) return false; + if (a == NULL) return b == NULL; + if (b == NULL) return false; return *a == *b; } @@ -519,14 +562,17 @@ template class PersistentBase { // Phantom persistents work like weak persistents, except that the pointer to // the object being collected is not available in the finalization callback. // This enables the garbage collector to collect the object and any objects - // it references transitively in one GC cycle. + // it references transitively in one GC cycle. At the moment you can either + // specify a parameter for the callback or the location of two internal + // fields in the dying object. template V8_INLINE void SetPhantom(P* parameter, - typename WeakCallbackData::Callback callback); + typename PhantomCallbackData

::Callback callback); - template - V8_INLINE void SetPhantom(P* parameter, - typename WeakCallbackData::Callback callback); + template + V8_INLINE void SetPhantom( + void (*callback)(const InternalFieldsCallbackData&), + int internal_field_index1, int internal_field_index2); template V8_INLINE P* ClearWeak(); @@ -1011,7 +1057,7 @@ class V8_EXPORT Script { /** * Runs the script returning the resulting value. It will be run in the * context in which it was created (ScriptCompiler::CompileBound or - * UnboundScript::BindToGlobalContext()). + * UnboundScript::BindToCurrentContext()). */ Local Run(); @@ -1045,7 +1091,11 @@ class V8_EXPORT ScriptCompiler { BufferOwned }; - CachedData() : data(NULL), length(0), buffer_policy(BufferNotOwned) {} + CachedData() + : data(NULL), + length(0), + rejected(false), + buffer_policy(BufferNotOwned) {} // If buffer_policy is BufferNotOwned, the caller keeps the ownership of // data and guarantees that it stays alive until the CachedData object is @@ -1058,6 +1108,7 @@ class V8_EXPORT ScriptCompiler { // which will be called when V8 no longer needs the data. const uint8_t* data; int length; + bool rejected; BufferPolicy buffer_policy; private: @@ -1238,6 +1289,26 @@ class V8_EXPORT ScriptCompiler { static Local