From 9116b240c924d37627313416b7ee038d0580afbc Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Mon, 29 Sep 2014 13:20:04 +0400 Subject: [PATCH] deps: update v8 to 3.28.73 Reviewed-By: Fedor Indutny PR-URL: https://github.com/joyent/node/pull/8476 --- deps/v8/.DEPS.git | 66 +- deps/v8/.gitignore | 15 +- deps/v8/AUTHORS | 3 + deps/v8/BUILD.gn | 702 +- deps/v8/ChangeLog | 723 ++ deps/v8/DEPS | 69 +- deps/v8/Makefile | 72 +- deps/v8/Makefile.android | 20 +- deps/v8/Makefile.nacl | 2 +- deps/v8/OWNERS | 1 + deps/v8/PRESUBMIT.py | 69 + deps/v8/benchmarks/v8.json | 16 + deps/v8/build/all.gyp | 2 + deps/v8/build/android.gypi | 37 +- deps/v8/build/detect_v8_host_arch.py | 69 + deps/v8/build/features.gypi | 20 +- deps/v8/build/get_landmines.py | 26 + deps/v8/build/gyp_v8 | 9 + deps/v8/build/landmine_utils.py | 114 + deps/v8/build/landmines.py | 139 + deps/v8/build/standalone.gypi | 54 +- deps/v8/build/toolchain.gypi | 380 +- deps/v8/codereview.settings | 1 + deps/v8/include/libplatform/libplatform.h | 38 + deps/v8/include/v8-debug.h | 71 +- deps/v8/include/v8-platform.h | 9 +- deps/v8/include/v8-profiler.h | 29 +- deps/v8/include/v8-util.h | 13 +- deps/v8/include/v8.h | 439 +- deps/v8/samples/lineprocessor.cc | 80 +- deps/v8/samples/process.cc | 17 +- deps/v8/samples/samples.gyp | 3 +- deps/v8/samples/shell.cc | 32 +- deps/v8/src/DEPS | 13 + deps/v8/src/accessors.cc | 410 +- deps/v8/src/accessors.h | 13 +- deps/v8/src/allocation-site-scopes.cc | 6 +- deps/v8/src/allocation-site-scopes.h | 14 +- deps/v8/src/allocation-tracker.cc | 25 +- deps/v8/src/allocation.cc | 14 +- deps/v8/src/allocation.h | 2 +- deps/v8/src/api.cc | 1157 ++-- deps/v8/src/api.h | 35 +- deps/v8/src/apinatives.js | 34 +- deps/v8/src/arguments.cc | 6 +- deps/v8/src/arguments.h | 36 +- deps/v8/src/arm/assembler-arm-inl.h | 286 +- deps/v8/src/arm/assembler-arm.cc | 1211 ++-- deps/v8/src/arm/assembler-arm.h | 306 +- deps/v8/src/arm/builtins-arm.cc | 138 +- deps/v8/src/arm/code-stubs-arm.cc | 890 +-- deps/v8/src/arm/code-stubs-arm.h | 75 +- deps/v8/src/arm/codegen-arm.cc | 376 +- deps/v8/src/arm/codegen-arm.h | 4 +- deps/v8/src/arm/constants-arm.cc | 8 +- deps/v8/src/arm/constants-arm.h | 71 +- deps/v8/src/arm/cpu-arm.cc | 74 +- deps/v8/src/arm/debug-arm.cc | 146 +- deps/v8/src/arm/deoptimizer-arm.cc | 42 +- deps/v8/src/arm/disasm-arm.cc | 243 +- deps/v8/src/arm/frames-arm.cc | 21 +- deps/v8/src/arm/frames-arm.h | 2 - deps/v8/src/arm/full-codegen-arm.cc | 741 +- deps/v8/src/arm/ic-arm.cc | 471 +- deps/v8/src/arm/lithium-arm.cc | 538 +- deps/v8/src/arm/lithium-arm.h | 401 +- deps/v8/src/arm/lithium-codegen-arm.cc | 925 +-- deps/v8/src/arm/lithium-codegen-arm.h | 57 +- deps/v8/src/arm/lithium-gap-resolver-arm.cc | 44 +- deps/v8/src/arm/lithium-gap-resolver-arm.h | 4 +- deps/v8/src/arm/macro-assembler-arm.cc | 703 +- deps/v8/src/arm/macro-assembler-arm.h | 160 +- deps/v8/src/arm/regexp-macro-assembler-arm.cc | 72 +- deps/v8/src/arm/regexp-macro-assembler-arm.h | 6 +- deps/v8/src/arm/simulator-arm.cc | 265 +- deps/v8/src/arm/simulator-arm.h | 17 +- deps/v8/src/arm/stub-cache-arm.cc | 968 +-- deps/v8/src/arm64/assembler-arm64-inl.h | 460 +- deps/v8/src/arm64/assembler-arm64.cc | 1174 ++-- deps/v8/src/arm64/assembler-arm64.h | 384 +- deps/v8/src/arm64/builtins-arm64.cc | 148 +- deps/v8/src/arm64/code-stubs-arm64.cc | 826 ++- deps/v8/src/arm64/code-stubs-arm64.h | 77 +- deps/v8/src/arm64/codegen-arm64.cc | 144 +- deps/v8/src/arm64/codegen-arm64.h | 4 +- deps/v8/src/arm64/constants-arm64.h | 17 +- deps/v8/src/arm64/cpu-arm64.cc | 37 +- deps/v8/src/arm64/cpu-arm64.h | 71 - deps/v8/src/arm64/debug-arm64.cc | 162 +- deps/v8/src/arm64/decoder-arm64-inl.h | 30 +- deps/v8/src/arm64/decoder-arm64.cc | 14 +- deps/v8/src/arm64/decoder-arm64.h | 4 +- deps/v8/src/arm64/delayed-masm-arm64-inl.h | 55 + deps/v8/src/arm64/delayed-masm-arm64.cc | 198 + deps/v8/src/arm64/delayed-masm-arm64.h | 164 + deps/v8/src/arm64/deoptimizer-arm64.cc | 90 +- deps/v8/src/arm64/disasm-arm64.cc | 70 +- deps/v8/src/arm64/disasm-arm64.h | 10 +- deps/v8/src/arm64/frames-arm64.cc | 10 +- deps/v8/src/arm64/frames-arm64.h | 5 +- deps/v8/src/arm64/full-codegen-arm64.cc | 731 +- deps/v8/src/arm64/ic-arm64.cc | 412 +- deps/v8/src/arm64/instructions-arm64.cc | 28 +- deps/v8/src/arm64/instructions-arm64.h | 58 +- deps/v8/src/arm64/instrument-arm64.cc | 9 +- deps/v8/src/arm64/instrument-arm64.h | 11 +- deps/v8/src/arm64/lithium-arm64.cc | 533 +- deps/v8/src/arm64/lithium-arm64.h | 484 +- deps/v8/src/arm64/lithium-codegen-arm64.cc | 1089 +-- deps/v8/src/arm64/lithium-codegen-arm64.h | 67 +- .../src/arm64/lithium-gap-resolver-arm64.cc | 162 +- .../v8/src/arm64/lithium-gap-resolver-arm64.h | 46 +- deps/v8/src/arm64/macro-assembler-arm64-inl.h | 693 +- deps/v8/src/arm64/macro-assembler-arm64.cc | 1250 ++-- deps/v8/src/arm64/macro-assembler-arm64.h | 226 +- .../src/arm64/regexp-macro-assembler-arm64.cc | 153 +- .../src/arm64/regexp-macro-assembler-arm64.h | 9 +- deps/v8/src/arm64/simulator-arm64.cc | 770 ++- deps/v8/src/arm64/simulator-arm64.h | 214 +- deps/v8/src/arm64/stub-cache-arm64.cc | 959 +-- deps/v8/src/arm64/utils-arm64.cc | 17 +- deps/v8/src/arm64/utils-arm64.h | 10 +- deps/v8/src/array-iterator.js | 102 +- deps/v8/src/array.js | 125 +- deps/v8/src/arraybuffer.js | 7 +- deps/v8/src/assembler.cc | 313 +- deps/v8/src/assembler.h | 175 +- deps/v8/src/assert-scope.cc | 4 +- deps/v8/src/assert-scope.h | 24 +- deps/v8/src/ast-value-factory.cc | 409 ++ deps/v8/src/ast-value-factory.h | 344 + deps/v8/src/ast.cc | 225 +- deps/v8/src/ast.h | 530 +- deps/v8/src/base/DEPS | 7 + deps/v8/src/{ => base}/atomicops.h | 32 +- .../atomicops_internals_arm64_gcc.h | 10 +- .../{ => base}/atomicops_internals_arm_gcc.h | 10 +- .../atomicops_internals_atomicword_compat.h | 22 +- .../src/{ => base}/atomicops_internals_mac.h | 10 +- .../src/base/atomicops_internals_mips64_gcc.h | 307 + .../{ => base}/atomicops_internals_mips_gcc.h | 10 +- .../src/{ => base}/atomicops_internals_tsan.h | 26 +- .../{ => base}/atomicops_internals_x86_gcc.cc | 23 +- .../{ => base}/atomicops_internals_x86_gcc.h | 14 +- .../{ => base}/atomicops_internals_x86_msvc.h | 14 +- deps/v8/src/base/build_config.h | 169 + deps/v8/src/{ => base}/cpu.cc | 93 +- deps/v8/src/{ => base}/cpu.h | 25 +- deps/v8/src/{ => base}/lazy-instance.h | 14 +- deps/v8/src/base/logging.cc | 88 + deps/v8/src/base/logging.h | 223 + deps/v8/src/base/macros.h | 193 +- deps/v8/src/{ => base}/once.cc | 9 +- deps/v8/src/{ => base}/once.h | 14 +- .../{ => base}/platform/condition-variable.cc | 60 +- .../{ => base}/platform/condition-variable.h | 19 +- .../src/{ => base}/platform/elapsed-timer.h | 42 +- deps/v8/src/{ => base}/platform/mutex.cc | 40 +- deps/v8/src/{ => base}/platform/mutex.h | 22 +- .../{ => base/platform}/platform-cygwin.cc | 75 +- .../{ => base/platform}/platform-freebsd.cc | 51 +- .../src/{ => base/platform}/platform-linux.cc | 62 +- .../src/{ => base/platform}/platform-macos.cc | 58 +- .../{ => base/platform}/platform-openbsd.cc | 60 +- .../src/{ => base/platform}/platform-posix.cc | 255 +- .../src/{ => base/platform}/platform-qnx.cc | 67 +- .../{ => base/platform}/platform-solaris.cc | 89 +- .../src/{ => base/platform}/platform-win32.cc | 236 +- deps/v8/src/{ => base/platform}/platform.h | 178 +- deps/v8/src/{ => base}/platform/semaphore.cc | 50 +- deps/v8/src/{ => base}/platform/semaphore.h | 20 +- deps/v8/src/{ => base}/platform/time.cc | 156 +- deps/v8/src/{ => base}/platform/time.h | 25 +- deps/v8/src/{ => base}/qnx-math.h | 6 +- deps/v8/src/base/safe_conversions.h | 67 + deps/v8/src/base/safe_conversions_impl.h | 220 + deps/v8/src/base/safe_math.h | 276 + deps/v8/src/base/safe_math_impl.h | 531 ++ .../utils/random-number-generator.cc | 41 +- .../utils/random-number-generator.h | 16 +- deps/v8/src/{ => base}/win32-headers.h | 8 +- deps/v8/src/{ => base}/win32-math.cc | 10 +- deps/v8/src/{ => base}/win32-math.h | 6 +- deps/v8/src/bignum-dtoa.cc | 40 +- deps/v8/src/bignum.cc | 81 +- deps/v8/src/bootstrapper.cc | 1289 ++-- deps/v8/src/bootstrapper.h | 8 +- deps/v8/src/builtins.cc | 302 +- deps/v8/src/builtins.h | 10 +- deps/v8/src/cached-powers.cc | 24 +- deps/v8/src/cached-powers.h | 3 +- deps/v8/src/char-predicates-inl.h | 4 +- deps/v8/src/char-predicates.h | 2 +- deps/v8/src/checks.cc | 115 +- deps/v8/src/checks.h | 334 +- deps/v8/src/circular-queue-inl.h | 14 +- deps/v8/src/circular-queue.h | 6 +- deps/v8/src/code-stubs-hydrogen.cc | 646 +- deps/v8/src/code-stubs.cc | 505 +- deps/v8/src/code-stubs.h | 1132 ++- deps/v8/src/code.h | 10 +- deps/v8/src/codegen.cc | 58 +- deps/v8/src/codegen.h | 47 +- deps/v8/src/collection-iterator.js | 194 + deps/v8/src/collection.js | 171 +- deps/v8/src/compilation-cache.cc | 16 +- deps/v8/src/compilation-cache.h | 2 +- deps/v8/src/compiler-intrinsics.h | 2 + deps/v8/src/compiler.cc | 398 +- deps/v8/src/compiler.h | 178 +- .../v8/src/compiler/arm/code-generator-arm.cc | 848 +++ .../src/compiler/arm/instruction-codes-arm.h | 86 + .../compiler/arm/instruction-selector-arm.cc | 943 +++ deps/v8/src/compiler/arm/linkage-arm.cc | 67 + .../compiler/arm64/code-generator-arm64.cc | 854 +++ .../compiler/arm64/instruction-codes-arm64.h | 103 + .../arm64/instruction-selector-arm64.cc | 667 ++ deps/v8/src/compiler/arm64/linkage-arm64.cc | 68 + deps/v8/src/compiler/ast-graph-builder.cc | 2055 ++++++ deps/v8/src/compiler/ast-graph-builder.h | 428 ++ deps/v8/src/compiler/change-lowering.cc | 260 + deps/v8/src/compiler/change-lowering.h | 79 + deps/v8/src/compiler/code-generator-impl.h | 132 + deps/v8/src/compiler/code-generator.cc | 381 + deps/v8/src/compiler/code-generator.h | 146 + deps/v8/src/compiler/common-node-cache.h | 51 + deps/v8/src/compiler/common-operator.h | 284 + deps/v8/src/compiler/control-builders.cc | 144 + deps/v8/src/compiler/control-builders.h | 144 + deps/v8/src/compiler/frame.h | 104 + deps/v8/src/compiler/gap-resolver.cc | 136 + deps/v8/src/compiler/gap-resolver.h | 46 + deps/v8/src/compiler/generic-algorithm-inl.h | 48 + deps/v8/src/compiler/generic-algorithm.h | 136 + deps/v8/src/compiler/generic-graph.h | 53 + deps/v8/src/compiler/generic-node-inl.h | 245 + deps/v8/src/compiler/generic-node.h | 271 + deps/v8/src/compiler/graph-builder.cc | 241 + deps/v8/src/compiler/graph-builder.h | 226 + deps/v8/src/compiler/graph-inl.h | 37 + deps/v8/src/compiler/graph-reducer.cc | 94 + deps/v8/src/compiler/graph-reducer.h | 77 + deps/v8/src/compiler/graph-replay.cc | 81 + deps/v8/src/compiler/graph-replay.h | 44 + deps/v8/src/compiler/graph-visualizer.cc | 265 + deps/v8/src/compiler/graph-visualizer.h | 29 + deps/v8/src/compiler/graph.cc | 54 + deps/v8/src/compiler/graph.h | 97 + .../src/compiler/ia32/code-generator-ia32.cc | 956 +++ .../compiler/ia32/instruction-codes-ia32.h | 88 + .../ia32/instruction-selector-ia32.cc | 560 ++ deps/v8/src/compiler/ia32/linkage-ia32.cc | 63 + deps/v8/src/compiler/instruction-codes.h | 117 + .../src/compiler/instruction-selector-impl.h | 371 + deps/v8/src/compiler/instruction-selector.cc | 1053 +++ deps/v8/src/compiler/instruction-selector.h | 212 + deps/v8/src/compiler/instruction.cc | 483 ++ deps/v8/src/compiler/instruction.h | 871 +++ deps/v8/src/compiler/ir-operations.txt | 0 .../src/compiler/js-context-specialization.cc | 157 + .../src/compiler/js-context-specialization.h | 37 + deps/v8/src/compiler/js-generic-lowering.cc | 550 ++ deps/v8/src/compiler/js-generic-lowering.h | 83 + deps/v8/src/compiler/js-graph.cc | 174 + deps/v8/src/compiler/js-graph.h | 107 + deps/v8/src/compiler/js-operator.h | 214 + deps/v8/src/compiler/js-typed-lowering.cc | 604 ++ deps/v8/src/compiler/js-typed-lowering.h | 67 + deps/v8/src/compiler/linkage-impl.h | 206 + deps/v8/src/compiler/linkage.cc | 149 + deps/v8/src/compiler/linkage.h | 193 + deps/v8/src/compiler/lowering-builder.cc | 45 + deps/v8/src/compiler/lowering-builder.h | 38 + deps/v8/src/compiler/machine-node-factory.h | 381 + .../src/compiler/machine-operator-reducer.cc | 343 + .../src/compiler/machine-operator-reducer.h | 52 + deps/v8/src/compiler/machine-operator.h | 168 + deps/v8/src/compiler/machine-type.h | 36 + deps/v8/src/compiler/node-aux-data-inl.h | 43 + deps/v8/src/compiler/node-aux-data.h | 38 + deps/v8/src/compiler/node-cache.cc | 120 + deps/v8/src/compiler/node-cache.h | 53 + deps/v8/src/compiler/node-matchers.h | 133 + deps/v8/src/compiler/node-properties-inl.h | 165 + deps/v8/src/compiler/node-properties.h | 57 + deps/v8/src/compiler/node.cc | 55 + deps/v8/src/compiler/node.h | 95 + deps/v8/src/compiler/opcodes.h | 297 + .../v8/src/compiler/operator-properties-inl.h | 191 + deps/v8/src/compiler/operator-properties.h | 49 + deps/v8/src/compiler/operator.h | 280 + deps/v8/src/compiler/phi-reducer.h | 42 + deps/v8/src/compiler/pipeline.cc | 341 + deps/v8/src/compiler/pipeline.h | 68 + deps/v8/src/compiler/raw-machine-assembler.cc | 158 + deps/v8/src/compiler/raw-machine-assembler.h | 129 + deps/v8/src/compiler/register-allocator.cc | 2232 ++++++ deps/v8/src/compiler/register-allocator.h | 548 ++ deps/v8/src/compiler/representation-change.h | 411 ++ deps/v8/src/compiler/schedule.cc | 92 + deps/v8/src/compiler/schedule.h | 335 + deps/v8/src/compiler/scheduler.cc | 1048 +++ deps/v8/src/compiler/scheduler.h | 84 + deps/v8/src/compiler/simplified-lowering.cc | 1014 +++ deps/v8/src/compiler/simplified-lowering.h | 71 + .../v8/src/compiler/simplified-node-factory.h | 128 + deps/v8/src/compiler/simplified-operator.h | 189 + deps/v8/src/compiler/source-position.cc | 55 + deps/v8/src/compiler/source-position.h | 99 + .../compiler/structured-machine-assembler.cc | 664 ++ .../compiler/structured-machine-assembler.h | 311 + deps/v8/src/compiler/typer.cc | 842 +++ deps/v8/src/compiler/typer.h | 57 + deps/v8/src/compiler/verifier.cc | 245 + deps/v8/src/compiler/verifier.h | 28 + .../v8/src/compiler/x64/code-generator-x64.cc | 1001 +++ .../src/compiler/x64/instruction-codes-x64.h | 108 + .../compiler/x64/instruction-selector-x64.cc | 722 ++ deps/v8/src/compiler/x64/linkage-x64.cc | 83 + deps/v8/src/contexts.cc | 100 +- deps/v8/src/contexts.h | 299 +- deps/v8/src/conversions-inl.h | 42 +- deps/v8/src/conversions.cc | 40 +- deps/v8/src/conversions.h | 26 +- deps/v8/src/counters.cc | 49 +- deps/v8/src/counters.h | 66 +- deps/v8/src/cpu-profiler-inl.h | 16 +- deps/v8/src/cpu-profiler.cc | 71 +- deps/v8/src/cpu-profiler.h | 46 +- deps/v8/src/d8-debug.cc | 219 +- deps/v8/src/d8-debug.h | 117 +- deps/v8/src/d8-posix.cc | 33 +- deps/v8/src/d8-readline.cc | 8 +- deps/v8/src/d8-windows.cc | 6 +- deps/v8/src/d8.cc | 533 +- deps/v8/src/d8.gyp | 19 +- deps/v8/src/d8.h | 87 +- deps/v8/src/d8.js | 232 +- deps/v8/src/data-flow.cc | 6 +- deps/v8/src/data-flow.h | 41 +- deps/v8/src/date.cc | 54 +- deps/v8/src/date.h | 21 +- deps/v8/src/date.js | 4 +- deps/v8/src/dateparser-inl.h | 12 +- deps/v8/src/dateparser.cc | 6 +- deps/v8/src/dateparser.h | 14 +- deps/v8/src/debug-agent.cc | 481 -- deps/v8/src/debug-agent.h | 93 - deps/v8/src/debug-debugger.js | 269 +- deps/v8/src/debug.cc | 1811 ++--- deps/v8/src/debug.h | 998 +-- deps/v8/src/deoptimizer.cc | 240 +- deps/v8/src/deoptimizer.h | 40 +- deps/v8/src/disassembler.cc | 83 +- deps/v8/src/disassembler.h | 2 +- deps/v8/src/diy-fp.cc | 8 +- deps/v8/src/diy-fp.h | 6 +- deps/v8/src/double.h | 12 +- deps/v8/src/dtoa.cc | 20 +- deps/v8/src/effects.h | 20 +- deps/v8/src/elements-kind.cc | 40 +- deps/v8/src/elements-kind.h | 10 +- deps/v8/src/elements.cc | 274 +- deps/v8/src/elements.h | 10 +- deps/v8/src/execution.cc | 451 +- deps/v8/src/execution.h | 108 +- .../externalize-string-extension.cc | 4 +- .../extensions/externalize-string-extension.h | 2 +- .../src/extensions/free-buffer-extension.cc | 7 +- .../v8/src/extensions/free-buffer-extension.h | 2 +- deps/v8/src/extensions/gc-extension.cc | 5 +- deps/v8/src/extensions/gc-extension.h | 6 +- .../v8/src/extensions/statistics-extension.cc | 4 +- deps/v8/src/extensions/statistics-extension.h | 2 +- .../extensions/trigger-failure-extension.cc | 8 +- .../extensions/trigger-failure-extension.h | 2 +- deps/v8/src/factory.cc | 553 +- deps/v8/src/factory.h | 130 +- deps/v8/src/fast-dtoa.cc | 54 +- deps/v8/src/feedback-slots.h | 4 +- deps/v8/src/field-index-inl.h | 124 + deps/v8/src/field-index.cc | 23 + deps/v8/src/field-index.h | 112 + deps/v8/src/fixed-dtoa.cc | 22 +- deps/v8/src/flag-definitions.h | 957 +-- deps/v8/src/flags.cc | 152 +- deps/v8/src/flags.h | 11 +- deps/v8/src/frames-inl.h | 42 +- deps/v8/src/frames.cc | 252 +- deps/v8/src/frames.h | 41 +- deps/v8/src/full-codegen.cc | 202 +- deps/v8/src/full-codegen.h | 64 +- deps/v8/src/func-name-inferrer.cc | 51 +- deps/v8/src/func-name-inferrer.h | 32 +- deps/v8/src/gdb-jit.cc | 274 +- deps/v8/src/gdb-jit.h | 87 +- deps/v8/src/generator.js | 25 +- deps/v8/src/global-handles.cc | 99 +- deps/v8/src/global-handles.h | 22 +- deps/v8/src/globals.h | 747 +- deps/v8/src/handles-inl.h | 26 +- deps/v8/src/handles.cc | 16 +- deps/v8/src/handles.h | 8 +- deps/v8/src/harmony-math.js | 246 - deps/v8/src/harmony-string.js | 60 +- deps/v8/src/hashmap.h | 20 +- deps/v8/src/heap-profiler.cc | 17 +- deps/v8/src/heap-profiler.h | 6 +- deps/v8/src/heap-snapshot-generator-inl.h | 6 +- deps/v8/src/heap-snapshot-generator.cc | 263 +- deps/v8/src/heap-snapshot-generator.h | 13 +- deps/v8/src/heap/gc-tracer.cc | 402 ++ deps/v8/src/heap/gc-tracer.h | 356 + deps/v8/src/{ => heap}/heap-inl.h | 421 +- deps/v8/src/{ => heap}/heap.cc | 2998 ++++---- deps/v8/src/{ => heap}/heap.h | 1390 ++-- .../src/{ => heap}/incremental-marking-inl.h | 31 +- deps/v8/src/{ => heap}/incremental-marking.cc | 408 +- deps/v8/src/{ => heap}/incremental-marking.h | 93 +- deps/v8/src/{ => heap}/mark-compact-inl.h | 37 +- deps/v8/src/{ => heap}/mark-compact.cc | 2124 +++--- deps/v8/src/{ => heap}/mark-compact.h | 231 +- deps/v8/src/{ => heap}/objects-visiting-inl.h | 443 +- deps/v8/src/{ => heap}/objects-visiting.cc | 264 +- deps/v8/src/{ => heap}/objects-visiting.h | 265 +- deps/v8/src/{ => heap}/spaces-inl.h | 114 +- deps/v8/src/{ => heap}/spaces.cc | 890 ++- deps/v8/src/{ => heap}/spaces.h | 744 +- deps/v8/src/{ => heap}/store-buffer-inl.h | 24 +- deps/v8/src/{ => heap}/store-buffer.cc | 343 +- deps/v8/src/{ => heap}/store-buffer.h | 60 +- deps/v8/src/{ => heap}/sweeper-thread.cc | 50 +- deps/v8/src/{ => heap}/sweeper-thread.h | 32 +- deps/v8/src/hydrogen-alias-analysis.h | 2 +- deps/v8/src/hydrogen-bce.cc | 122 +- deps/v8/src/hydrogen-bce.h | 2 +- deps/v8/src/hydrogen-bch.cc | 8 +- deps/v8/src/hydrogen-bch.h | 2 +- deps/v8/src/hydrogen-canonicalize.cc | 4 +- deps/v8/src/hydrogen-canonicalize.h | 2 +- deps/v8/src/hydrogen-check-elimination.cc | 382 +- deps/v8/src/hydrogen-check-elimination.h | 22 +- deps/v8/src/hydrogen-dce.cc | 18 +- deps/v8/src/hydrogen-dce.h | 2 +- deps/v8/src/hydrogen-dehoist.cc | 22 +- deps/v8/src/hydrogen-dehoist.h | 2 +- deps/v8/src/hydrogen-environment-liveness.cc | 20 +- deps/v8/src/hydrogen-environment-liveness.h | 2 +- deps/v8/src/hydrogen-escape-analysis.cc | 18 +- deps/v8/src/hydrogen-escape-analysis.h | 4 +- deps/v8/src/hydrogen-flow-engine.h | 16 +- deps/v8/src/hydrogen-gvn.cc | 153 +- deps/v8/src/hydrogen-gvn.h | 44 +- deps/v8/src/hydrogen-infer-representation.cc | 2 +- deps/v8/src/hydrogen-infer-representation.h | 2 +- deps/v8/src/hydrogen-infer-types.cc | 4 +- deps/v8/src/hydrogen-infer-types.h | 2 +- deps/v8/src/hydrogen-instructions.cc | 1245 ++-- deps/v8/src/hydrogen-instructions.h | 1313 ++-- deps/v8/src/hydrogen-load-elimination.cc | 21 +- deps/v8/src/hydrogen-load-elimination.h | 2 +- deps/v8/src/hydrogen-mark-deoptimize.cc | 6 +- deps/v8/src/hydrogen-mark-deoptimize.h | 2 +- deps/v8/src/hydrogen-mark-unreachable.cc | 2 +- deps/v8/src/hydrogen-mark-unreachable.h | 2 +- deps/v8/src/hydrogen-osr.cc | 8 +- deps/v8/src/hydrogen-osr.h | 6 +- deps/v8/src/hydrogen-range-analysis.cc | 22 +- deps/v8/src/hydrogen-range-analysis.h | 2 +- deps/v8/src/hydrogen-redundant-phi.cc | 4 +- deps/v8/src/hydrogen-redundant-phi.h | 2 +- deps/v8/src/hydrogen-removable-simulates.cc | 231 +- deps/v8/src/hydrogen-removable-simulates.h | 2 +- .../v8/src/hydrogen-representation-changes.cc | 43 +- deps/v8/src/hydrogen-representation-changes.h | 2 +- deps/v8/src/hydrogen-sce.cc | 4 +- deps/v8/src/hydrogen-sce.h | 2 +- deps/v8/src/hydrogen-store-elimination.cc | 17 +- deps/v8/src/hydrogen-store-elimination.h | 4 +- deps/v8/src/hydrogen-types.cc | 70 + deps/v8/src/hydrogen-types.h | 90 + deps/v8/src/hydrogen-uint32-analysis.cc | 39 +- deps/v8/src/hydrogen-uint32-analysis.h | 2 +- deps/v8/src/hydrogen.cc | 3484 ++++++---- deps/v8/src/hydrogen.h | 386 +- deps/v8/src/i18n.cc | 66 +- deps/v8/src/i18n.h | 2 +- deps/v8/src/i18n.js | 31 +- deps/v8/src/ia32/assembler-ia32-inl.h | 152 +- deps/v8/src/ia32/assembler-ia32.cc | 371 +- deps/v8/src/ia32/assembler-ia32.h | 273 +- deps/v8/src/ia32/builtins-ia32.cc | 145 +- deps/v8/src/ia32/code-stubs-ia32.cc | 969 ++- deps/v8/src/ia32/code-stubs-ia32.h | 81 +- deps/v8/src/ia32/codegen-ia32.cc | 755 +- deps/v8/src/ia32/codegen-ia32.h | 4 +- deps/v8/src/ia32/cpu-ia32.cc | 10 +- deps/v8/src/ia32/debug-ia32.cc | 111 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 90 +- deps/v8/src/ia32/disasm-ia32.cc | 203 +- deps/v8/src/ia32/frames-ia32.cc | 10 +- deps/v8/src/ia32/frames-ia32.h | 2 - deps/v8/src/ia32/full-codegen-ia32.cc | 687 +- deps/v8/src/ia32/ic-ia32.cc | 589 +- deps/v8/src/ia32/lithium-codegen-ia32.cc | 1778 ++--- deps/v8/src/ia32/lithium-codegen-ia32.h | 133 +- deps/v8/src/ia32/lithium-gap-resolver-ia32.cc | 120 +- deps/v8/src/ia32/lithium-gap-resolver-ia32.h | 4 +- deps/v8/src/ia32/lithium-ia32.cc | 564 +- deps/v8/src/ia32/lithium-ia32.h | 462 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 750 +- deps/v8/src/ia32/macro-assembler-ia32.h | 83 +- .../src/ia32/regexp-macro-assembler-ia32.cc | 66 +- .../v8/src/ia32/regexp-macro-assembler-ia32.h | 6 +- deps/v8/src/ia32/simulator-ia32.h | 5 +- deps/v8/src/ia32/stub-cache-ia32.cc | 773 +-- deps/v8/src/ic-inl.h | 109 +- deps/v8/src/ic.cc | 1546 +++-- deps/v8/src/ic.h | 391 +- deps/v8/src/icu_util.cc | 2 +- deps/v8/src/interface.cc | 52 +- deps/v8/src/interface.h | 24 +- deps/v8/src/interpreter-irregexp.cc | 33 +- deps/v8/src/isolate-inl.h | 25 +- deps/v8/src/isolate.cc | 820 ++- deps/v8/src/isolate.h | 329 +- deps/v8/src/json-parser.h | 55 +- deps/v8/src/json-stringifier.h | 59 +- deps/v8/src/json.js | 2 + deps/v8/src/jsregexp-inl.h | 10 +- deps/v8/src/jsregexp.cc | 538 +- deps/v8/src/jsregexp.h | 32 +- deps/v8/src/libplatform/DEPS | 8 + deps/v8/src/libplatform/default-platform.cc | 68 +- deps/v8/src/libplatform/default-platform.h | 25 +- deps/v8/src/libplatform/task-queue.cc | 25 +- deps/v8/src/libplatform/task-queue.h | 14 +- deps/v8/src/libplatform/worker-thread.cc | 14 +- deps/v8/src/libplatform/worker-thread.h | 10 +- deps/v8/src/list-inl.h | 21 +- deps/v8/src/list.h | 8 +- deps/v8/src/lithium-allocator-inl.h | 105 +- deps/v8/src/lithium-allocator.cc | 177 +- deps/v8/src/lithium-allocator.h | 89 +- deps/v8/src/lithium-codegen.cc | 40 +- deps/v8/src/lithium-codegen.h | 4 +- deps/v8/src/lithium-inl.h | 112 + deps/v8/src/lithium.cc | 130 +- deps/v8/src/lithium.h | 128 +- deps/v8/src/liveedit-debugger.js | 4 +- deps/v8/src/liveedit.cc | 314 +- deps/v8/src/liveedit.h | 83 +- deps/v8/src/log-inl.h | 2 +- deps/v8/src/log-utils.cc | 40 +- deps/v8/src/log-utils.h | 10 +- deps/v8/src/log.cc | 532 +- deps/v8/src/log.h | 95 +- deps/v8/src/lookup-inl.h | 68 + deps/v8/src/lookup.cc | 275 + deps/v8/src/lookup.h | 217 + deps/v8/src/macro-assembler.h | 73 +- deps/v8/src/macros.py | 9 +- deps/v8/src/math.js | 313 +- deps/v8/src/messages.cc | 10 +- deps/v8/src/messages.h | 2 +- deps/v8/src/messages.js | 210 +- deps/v8/src/mips/OWNERS | 8 + deps/v8/src/mips/assembler-mips-inl.h | 99 +- deps/v8/src/mips/assembler-mips.cc | 330 +- deps/v8/src/mips/assembler-mips.h | 149 +- deps/v8/src/mips/builtins-mips.cc | 164 +- deps/v8/src/mips/code-stubs-mips.cc | 839 +-- deps/v8/src/mips/code-stubs-mips.h | 98 +- deps/v8/src/mips/codegen-mips.cc | 418 +- deps/v8/src/mips/codegen-mips.h | 4 +- deps/v8/src/mips/constants-mips.cc | 28 +- deps/v8/src/mips/constants-mips.h | 29 +- deps/v8/src/mips/cpu-mips.cc | 10 +- deps/v8/src/mips/debug-mips.cc | 145 +- deps/v8/src/mips/deoptimizer-mips.cc | 60 +- deps/v8/src/mips/disasm-mips.cc | 84 +- deps/v8/src/mips/frames-mips.cc | 10 +- deps/v8/src/mips/frames-mips.h | 2 - deps/v8/src/mips/full-codegen-mips.cc | 709 +- deps/v8/src/mips/ic-mips.cc | 471 +- deps/v8/src/mips/lithium-codegen-mips.cc | 936 +-- deps/v8/src/mips/lithium-codegen-mips.h | 82 +- deps/v8/src/mips/lithium-gap-resolver-mips.cc | 42 +- deps/v8/src/mips/lithium-gap-resolver-mips.h | 4 +- deps/v8/src/mips/lithium-mips.cc | 523 +- deps/v8/src/mips/lithium-mips.h | 397 +- deps/v8/src/mips/macro-assembler-mips.cc | 777 +-- deps/v8/src/mips/macro-assembler-mips.h | 103 +- .../src/mips/regexp-macro-assembler-mips.cc | 66 +- .../v8/src/mips/regexp-macro-assembler-mips.h | 9 +- deps/v8/src/mips/simulator-mips.cc | 256 +- deps/v8/src/mips/simulator-mips.h | 27 +- deps/v8/src/mips/stub-cache-mips.cc | 980 +-- deps/v8/src/mips64/OWNERS | 10 + deps/v8/src/mips64/assembler-mips64-inl.h | 457 ++ deps/v8/src/mips64/assembler-mips64.cc | 2933 ++++++++ deps/v8/src/mips64/assembler-mips64.h | 1416 ++++ deps/v8/src/mips64/builtins-mips64.cc | 1597 +++++ deps/v8/src/mips64/code-stubs-mips64.cc | 5329 ++++++++++++++ deps/v8/src/mips64/code-stubs-mips64.h | 448 ++ deps/v8/src/mips64/codegen-mips64.cc | 1142 +++ deps/v8/src/mips64/codegen-mips64.h | 54 + deps/v8/src/mips64/constants-mips64.cc | 362 + deps/v8/src/mips64/constants-mips64.h | 952 +++ deps/v8/src/mips64/cpu-mips64.cc | 59 + deps/v8/src/mips64/debug-mips64.cc | 330 + deps/v8/src/mips64/deoptimizer-mips64.cc | 379 + deps/v8/src/mips64/disasm-mips64.cc | 1504 ++++ deps/v8/src/mips64/frames-mips64.cc | 43 + deps/v8/src/mips64/frames-mips64.h | 215 + deps/v8/src/mips64/full-codegen-mips64.cc | 4888 +++++++++++++ deps/v8/src/mips64/ic-mips64.cc | 1266 ++++ deps/v8/src/mips64/lithium-codegen-mips64.cc | 5950 ++++++++++++++++ deps/v8/src/mips64/lithium-codegen-mips64.h | 451 ++ .../src/mips64/lithium-gap-resolver-mips64.cc | 300 + .../src/mips64/lithium-gap-resolver-mips64.h | 60 + deps/v8/src/mips64/lithium-mips64.cc | 2581 +++++++ deps/v8/src/mips64/lithium-mips64.h | 2848 ++++++++ deps/v8/src/mips64/macro-assembler-mips64.cc | 6111 +++++++++++++++++ deps/v8/src/mips64/macro-assembler-mips64.h | 1793 +++++ .../mips64/regexp-macro-assembler-mips64.cc | 1371 ++++ .../mips64/regexp-macro-assembler-mips64.h | 269 + deps/v8/src/mips64/simulator-mips64.cc | 3451 ++++++++++ deps/v8/src/mips64/simulator-mips64.h | 479 ++ deps/v8/src/mips64/stub-cache-mips64.cc | 1191 ++++ deps/v8/src/mirror-debugger.js | 215 +- deps/v8/src/misc-intrinsics.h | 4 +- deps/v8/src/mksnapshot.cc | 313 +- deps/v8/src/msan.h | 2 +- deps/v8/src/natives-external.cc | 196 + deps/v8/src/natives.h | 9 + deps/v8/src/object-observe.js | 94 +- deps/v8/src/objects-debug.cc | 88 +- deps/v8/src/objects-inl.h | 2197 +++--- deps/v8/src/objects-printer.cc | 1349 ++-- deps/v8/src/objects.cc | 5604 +++++++-------- deps/v8/src/objects.h | 2591 +++---- deps/v8/src/optimizing-compiler-thread.cc | 75 +- deps/v8/src/optimizing-compiler-thread.h | 67 +- deps/v8/src/ostreams.cc | 174 + deps/v8/src/ostreams.h | 130 + deps/v8/src/parser.cc | 1733 ++--- deps/v8/src/parser.h | 367 +- deps/v8/src/perf-jit.cc | 147 + deps/v8/src/perf-jit.h | 120 + deps/v8/src/platform/socket.cc | 201 - deps/v8/src/platform/socket.h | 78 - deps/v8/src/preparse-data.cc | 35 +- deps/v8/src/preparse-data.h | 33 +- deps/v8/src/preparser.cc | 131 +- deps/v8/src/preparser.h | 724 +- deps/v8/src/prettyprinter.cc | 58 +- deps/v8/src/prettyprinter.h | 9 +- deps/v8/src/profile-generator-inl.h | 2 +- deps/v8/src/profile-generator.cc | 70 +- deps/v8/src/profile-generator.h | 28 +- deps/v8/src/promise.js | 527 +- deps/v8/src/property-details-inl.h | 17 +- deps/v8/src/property-details.h | 18 +- deps/v8/src/property.cc | 71 +- deps/v8/src/property.h | 165 +- deps/v8/src/prototype.h | 135 + deps/v8/src/proxy.js | 4 +- .../src/regexp-macro-assembler-irregexp-inl.h | 15 +- .../v8/src/regexp-macro-assembler-irregexp.cc | 87 +- deps/v8/src/regexp-macro-assembler-irregexp.h | 2 + deps/v8/src/regexp-macro-assembler-tracer.cc | 15 +- deps/v8/src/regexp-macro-assembler.cc | 43 +- deps/v8/src/regexp-macro-assembler.h | 3 +- deps/v8/src/regexp-stack.cc | 18 +- deps/v8/src/regexp-stack.h | 2 +- deps/v8/src/regexp.js | 101 +- deps/v8/src/rewriter.cc | 28 +- deps/v8/src/runtime-profiler.cc | 110 +- deps/v8/src/runtime-profiler.h | 11 +- deps/v8/src/runtime.cc | 4786 +++++++------ deps/v8/src/runtime.h | 980 +-- deps/v8/src/runtime.js | 47 +- deps/v8/src/safepoint-table.cc | 50 +- deps/v8/src/safepoint-table.h | 27 +- deps/v8/src/sampler.cc | 92 +- deps/v8/src/sampler.h | 29 +- deps/v8/src/scanner-character-streams.cc | 41 +- deps/v8/src/scanner-character-streams.h | 10 +- deps/v8/src/scanner.cc | 158 +- deps/v8/src/scanner.h | 84 +- deps/v8/src/scopeinfo.cc | 168 +- deps/v8/src/scopeinfo.h | 63 +- deps/v8/src/scopes.cc | 318 +- deps/v8/src/scopes.h | 70 +- deps/v8/src/serialize.cc | 1058 +-- deps/v8/src/serialize.h | 301 +- deps/v8/src/simulator.h | 14 +- deps/v8/src/small-pointer-list.h | 26 +- deps/v8/src/smart-pointers.h | 4 +- deps/v8/src/snapshot-common.cc | 78 +- deps/v8/src/snapshot-empty.cc | 4 +- deps/v8/src/snapshot-external.cc | 140 + deps/v8/src/snapshot-source-sink.cc | 101 + deps/v8/src/snapshot-source-sink.h | 125 + deps/v8/src/snapshot.h | 19 +- deps/v8/src/splay-tree-inl.h | 2 +- deps/v8/src/splay-tree.h | 6 +- deps/v8/src/string-iterator.js | 106 + deps/v8/src/string-search.cc | 5 +- deps/v8/src/string-search.h | 8 +- deps/v8/src/string-stream.cc | 70 +- deps/v8/src/string-stream.h | 42 +- deps/v8/src/string.js | 128 +- deps/v8/src/strtod.cc | 51 +- deps/v8/src/stub-cache.cc | 1126 ++- deps/v8/src/stub-cache.h | 795 +-- deps/v8/src/symbol.js | 13 +- .../kernel/tools/perf/util/jitdump.h | 83 + deps/v8/src/third_party/vtune/vtune-jit.cc | 9 +- deps/v8/src/token.cc | 4 +- deps/v8/src/token.h | 277 +- deps/v8/src/transitions-inl.h | 28 +- deps/v8/src/transitions.cc | 16 +- deps/v8/src/transitions.h | 15 +- deps/v8/src/trig-table.h | 38 - deps/v8/src/type-info.cc | 89 +- deps/v8/src/type-info.h | 17 +- deps/v8/src/typedarray.js | 312 +- deps/v8/src/types-inl.h | 192 +- deps/v8/src/types.cc | 817 ++- deps/v8/src/types.h | 552 +- deps/v8/src/typing.cc | 43 +- deps/v8/src/typing.h | 20 +- deps/v8/src/unbound-queue-inl.h | 18 +- deps/v8/src/unbound-queue.h | 7 +- deps/v8/src/unicode-inl.h | 16 +- deps/v8/src/unicode.cc | 10 +- deps/v8/src/unicode.h | 2 +- deps/v8/src/unique.h | 120 +- deps/v8/src/uri.h | 20 +- deps/v8/src/uri.js | 670 +- deps/v8/src/utils-inl.h | 2 +- deps/v8/src/utils.cc | 150 +- deps/v8/src/utils.h | 359 +- deps/v8/src/v8.cc | 93 +- deps/v8/src/v8.h | 34 +- deps/v8/src/v8checks.h | 39 - deps/v8/src/v8dll-main.cc | 4 +- deps/v8/src/v8globals.h | 554 -- deps/v8/src/v8natives.js | 273 +- deps/v8/src/v8threads.cc | 50 +- deps/v8/src/v8threads.h | 2 +- deps/v8/src/variables.cc | 48 +- deps/v8/src/variables.h | 28 +- deps/v8/src/vector.h | 33 +- deps/v8/src/version.cc | 30 +- deps/v8/src/version.h | 1 + deps/v8/src/vm-state-inl.h | 12 +- deps/v8/src/vm-state.h | 4 +- deps/v8/src/weak_collection.js | 64 +- deps/v8/src/x64/assembler-x64-inl.h | 150 +- deps/v8/src/x64/assembler-x64.cc | 267 +- deps/v8/src/x64/assembler-x64.h | 176 +- deps/v8/src/x64/builtins-x64.cc | 140 +- deps/v8/src/x64/code-stubs-x64.cc | 826 ++- deps/v8/src/x64/code-stubs-x64.h | 60 +- deps/v8/src/x64/codegen-x64.cc | 135 +- deps/v8/src/x64/codegen-x64.h | 6 +- deps/v8/src/x64/cpu-x64.cc | 10 +- deps/v8/src/x64/debug-x64.cc | 111 +- deps/v8/src/x64/deoptimizer-x64.cc | 28 +- deps/v8/src/x64/disasm-x64.cc | 49 +- deps/v8/src/x64/frames-x64.cc | 10 +- deps/v8/src/x64/frames-x64.h | 2 - deps/v8/src/x64/full-codegen-x64.cc | 673 +- deps/v8/src/x64/ic-x64.cc | 612 +- deps/v8/src/x64/lithium-codegen-x64.cc | 937 +-- deps/v8/src/x64/lithium-codegen-x64.h | 36 +- deps/v8/src/x64/lithium-gap-resolver-x64.cc | 36 +- deps/v8/src/x64/lithium-gap-resolver-x64.h | 4 +- deps/v8/src/x64/lithium-x64.cc | 549 +- deps/v8/src/x64/lithium-x64.h | 425 +- deps/v8/src/x64/macro-assembler-x64.cc | 1010 +-- deps/v8/src/x64/macro-assembler-x64.h | 118 +- deps/v8/src/x64/regexp-macro-assembler-x64.cc | 77 +- deps/v8/src/x64/regexp-macro-assembler-x64.h | 9 +- deps/v8/src/x64/simulator-x64.h | 5 +- deps/v8/src/x64/stub-cache-x64.cc | 747 +- deps/v8/src/x87/OWNERS | 1 + deps/v8/src/x87/assembler-x87-inl.h | 571 ++ deps/v8/src/x87/assembler-x87.cc | 2053 ++++++ deps/v8/src/x87/assembler-x87.h | 1053 +++ deps/v8/src/x87/builtins-x87.cc | 1457 ++++ deps/v8/src/x87/code-stubs-x87.cc | 4654 +++++++++++++ deps/v8/src/x87/code-stubs-x87.h | 413 ++ deps/v8/src/x87/codegen-x87.cc | 645 ++ deps/v8/src/x87/codegen-x87.h | 33 + deps/v8/src/x87/cpu-x87.cc | 44 + deps/v8/src/x87/debug-x87.cc | 326 + deps/v8/src/x87/deoptimizer-x87.cc | 403 ++ deps/v8/src/x87/disasm-x87.cc | 1775 +++++ deps/v8/src/x87/frames-x87.cc | 42 + deps/v8/src/x87/frames-x87.h | 125 + deps/v8/src/x87/full-codegen-x87.cc | 4827 +++++++++++++ deps/v8/src/x87/ic-x87.cc | 1211 ++++ deps/v8/src/x87/lithium-codegen-x87.cc | 5717 +++++++++++++++ deps/v8/src/x87/lithium-codegen-x87.h | 504 ++ deps/v8/src/x87/lithium-gap-resolver-x87.cc | 445 ++ deps/v8/src/x87/lithium-gap-resolver-x87.h | 87 + deps/v8/src/x87/lithium-x87.cc | 2683 ++++++++ deps/v8/src/x87/lithium-x87.h | 2917 ++++++++ deps/v8/src/x87/macro-assembler-x87.cc | 3327 +++++++++ deps/v8/src/x87/macro-assembler-x87.h | 1100 +++ deps/v8/src/x87/regexp-macro-assembler-x87.cc | 1309 ++++ deps/v8/src/x87/regexp-macro-assembler-x87.h | 200 + deps/v8/src/x87/simulator-x87.cc | 6 + deps/v8/src/x87/simulator-x87.h | 48 + deps/v8/src/x87/stub-cache-x87.cc | 1201 ++++ deps/v8/src/zone-allocator.h | 4 +- deps/v8/src/zone-containers.h | 6 +- deps/v8/src/zone-inl.h | 58 +- deps/v8/src/zone.cc | 57 +- deps/v8/src/zone.h | 27 +- deps/v8/test/base-unittests/DEPS | 8 + .../v8/test/base-unittests/base-unittests.gyp | 41 + .../test/base-unittests/base-unittests.status | 6 + deps/v8/test/base-unittests/cpu-unittest.cc | 49 + .../platform/condition-variable-unittest.cc} | 153 +- .../base-unittests/platform/mutex-unittest.cc | 91 + .../platform/platform-unittest.cc | 115 + .../base-unittests/platform/time-unittest.cc | 186 + deps/v8/test/base-unittests/testcfg.py | 51 + .../utils/random-number-generator-unittest.cc | 53 + deps/v8/test/benchmarks/benchmarks.status | 4 +- deps/v8/test/benchmarks/testcfg.py | 9 +- deps/v8/test/cctest/DEPS | 3 + deps/v8/test/cctest/cctest.cc | 25 +- deps/v8/test/cctest/cctest.gyp | 83 +- deps/v8/test/cctest/cctest.h | 139 +- deps/v8/test/cctest/cctest.status | 161 +- deps/v8/test/cctest/compiler/call-tester.h | 384 ++ .../v8/test/cctest/compiler/codegen-tester.cc | 578 ++ deps/v8/test/cctest/compiler/codegen-tester.h | 353 + .../v8/test/cctest/compiler/function-tester.h | 194 + .../cctest/compiler/graph-builder-tester.cc | 65 + .../cctest/compiler/graph-builder-tester.h | 114 + deps/v8/test/cctest/compiler/graph-tester.h | 42 + .../compiler/instruction-selector-tester.h | 127 + .../compiler/simplified-graph-builder.cc | 78 + .../compiler/simplified-graph-builder.h | 73 + .../cctest/compiler/test-branch-combine.cc | 462 ++ .../cctest/compiler/test-changes-lowering.cc | 397 ++ .../cctest/compiler/test-codegen-deopt.cc | 344 + .../test/cctest/compiler/test-gap-resolver.cc | 173 + .../cctest/compiler/test-graph-reducer.cc | 661 ++ .../compiler/test-instruction-selector-arm.cc | 1863 +++++ .../test-instruction-selector-ia32.cc | 66 + .../compiler/test-instruction-selector.cc | 22 + .../test/cctest/compiler/test-instruction.cc | 350 + .../cctest/compiler/test-js-constant-cache.cc | 284 + .../test-js-context-specialization.cc | 309 + .../cctest/compiler/test-js-typed-lowering.cc | 1342 ++++ deps/v8/test/cctest/compiler/test-linkage.cc | 113 + .../compiler/test-machine-operator-reducer.cc | 779 +++ .../cctest/compiler/test-node-algorithm.cc | 330 + .../test/cctest/compiler/test-node-cache.cc | 160 + deps/v8/test/cctest/compiler/test-node.cc | 815 +++ deps/v8/test/cctest/compiler/test-operator.cc | 244 + .../test/cctest/compiler/test-phi-reducer.cc | 225 + deps/v8/test/cctest/compiler/test-pipeline.cc | 40 + .../compiler/test-representation-change.cc | 276 + .../v8/test/cctest/compiler/test-run-deopt.cc | 58 + .../cctest/compiler/test-run-intrinsics.cc | 211 + .../cctest/compiler/test-run-jsbranches.cc | 262 + .../test/cctest/compiler/test-run-jscalls.cc | 235 + .../cctest/compiler/test-run-jsexceptions.cc | 45 + .../v8/test/cctest/compiler/test-run-jsops.cc | 524 ++ .../test/cctest/compiler/test-run-machops.cc | 4077 +++++++++++ .../cctest/compiler/test-run-variables.cc | 121 + deps/v8/test/cctest/compiler/test-schedule.cc | 159 + .../v8/test/cctest/compiler/test-scheduler.cc | 1809 +++++ .../compiler/test-simplified-lowering.cc | 1372 ++++ .../test-structured-ifbuilder-fuzzer.cc | 667 ++ .../test-structured-machine-assembler.cc | 1055 +++ deps/v8/test/cctest/compiler/value-helper.h | 131 + deps/v8/test/cctest/gay-fixed.cc | 4 +- deps/v8/test/cctest/gay-precision.cc | 4 +- deps/v8/test/cctest/gay-shortest.cc | 4 +- deps/v8/test/cctest/print-extension.cc | 2 +- deps/v8/test/cctest/print-extension.h | 2 +- deps/v8/test/cctest/profiler-extension.cc | 4 +- deps/v8/test/cctest/profiler-extension.h | 2 +- deps/v8/test/cctest/test-accessors.cc | 58 +- deps/v8/test/cctest/test-alloc.cc | 27 +- deps/v8/test/cctest/test-api.cc | 1898 ++--- deps/v8/test/cctest/test-assembler-arm.cc | 66 +- deps/v8/test/cctest/test-assembler-arm64.cc | 3975 ++++++----- deps/v8/test/cctest/test-assembler-ia32.cc | 68 +- deps/v8/test/cctest/test-assembler-mips.cc | 14 +- deps/v8/test/cctest/test-assembler-mips64.cc | 1375 ++++ deps/v8/test/cctest/test-assembler-x64.cc | 105 +- deps/v8/test/cctest/test-assembler-x87.cc | 315 + deps/v8/test/cctest/test-ast.cc | 8 +- deps/v8/test/cctest/test-atomicops.cc | 7 +- deps/v8/test/cctest/test-bignum-dtoa.cc | 16 +- deps/v8/test/cctest/test-bignum.cc | 8 +- deps/v8/test/cctest/test-checks.cc | 26 + deps/v8/test/cctest/test-circular-queue.cc | 27 +- deps/v8/test/cctest/test-code-stubs-arm.cc | 23 +- deps/v8/test/cctest/test-code-stubs-arm64.cc | 25 +- deps/v8/test/cctest/test-code-stubs-ia32.cc | 19 +- deps/v8/test/cctest/test-code-stubs-mips.cc | 25 +- deps/v8/test/cctest/test-code-stubs-mips64.cc | 188 + deps/v8/test/cctest/test-code-stubs-x64.cc | 19 +- deps/v8/test/cctest/test-code-stubs-x87.cc | 148 + deps/v8/test/cctest/test-code-stubs.cc | 16 +- deps/v8/test/cctest/test-code-stubs.h | 2 +- deps/v8/test/cctest/test-compiler.cc | 45 +- deps/v8/test/cctest/test-constantpool.cc | 305 +- deps/v8/test/cctest/test-conversions.cc | 15 +- deps/v8/test/cctest/test-cpu-profiler.cc | 353 +- deps/v8/test/cctest/test-dataflow.cc | 6 +- deps/v8/test/cctest/test-date.cc | 8 +- deps/v8/test/cctest/test-debug.cc | 1243 ++-- .../test/cctest/test-declarative-accessors.cc | 6 +- deps/v8/test/cctest/test-decls.cc | 219 +- deps/v8/test/cctest/test-deoptimization.cc | 49 +- deps/v8/test/cctest/test-dictionary.cc | 29 +- deps/v8/test/cctest/test-disasm-arm.cc | 16 +- deps/v8/test/cctest/test-disasm-arm64.cc | 19 +- deps/v8/test/cctest/test-disasm-ia32.cc | 177 +- deps/v8/test/cctest/test-disasm-mips.cc | 16 +- deps/v8/test/cctest/test-disasm-mips64.cc | 674 ++ deps/v8/test/cctest/test-disasm-x64.cc | 29 +- deps/v8/test/cctest/test-disasm-x87.cc | 410 ++ deps/v8/test/cctest/test-diy-fp.cc | 8 +- deps/v8/test/cctest/test-double.cc | 14 +- deps/v8/test/cctest/test-dtoa.cc | 16 +- deps/v8/test/cctest/test-fast-dtoa.cc | 18 +- deps/v8/test/cctest/test-fixed-dtoa.cc | 12 +- deps/v8/test/cctest/test-flags.cc | 4 +- .../test/cctest/test-func-name-inference.cc | 10 +- deps/v8/test/cctest/test-fuzz-arm64.cc | 8 +- deps/v8/test/cctest/test-gc-tracer.cc | 125 + deps/v8/test/cctest/test-global-handles.cc | 114 +- deps/v8/test/cctest/test-global-object.cc | 4 +- deps/v8/test/cctest/test-hashing.cc | 26 +- deps/v8/test/cctest/test-hashmap.cc | 7 +- deps/v8/test/cctest/test-heap-profiler.cc | 224 +- deps/v8/test/cctest/test-heap.cc | 840 ++- deps/v8/test/cctest/test-hydrogen-types.cc | 168 + deps/v8/test/cctest/test-javascript-arm64.cc | 24 +- .../v8/test/cctest/test-js-arm64-variables.cc | 24 +- .../test-libplatform-default-platform.cc | 30 + .../cctest/test-libplatform-task-queue.cc | 9 +- .../cctest/test-libplatform-worker-thread.cc | 13 +- deps/v8/test/cctest/test-libplatform.h | 21 +- deps/v8/test/cctest/test-list.cc | 4 +- deps/v8/test/cctest/test-liveedit.cc | 24 +- deps/v8/test/cctest/test-lockers.cc | 47 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 38 +- deps/v8/test/cctest/test-log.cc | 45 +- .../test/cctest/test-macro-assembler-arm.cc | 23 +- .../test/cctest/test-macro-assembler-ia32.cc | 42 +- .../test/cctest/test-macro-assembler-mips.cc | 17 +- .../cctest/test-macro-assembler-mips64.cc | 217 + .../test/cctest/test-macro-assembler-x64.cc | 165 +- .../test/cctest/test-macro-assembler-x87.cc | 150 + deps/v8/test/cctest/test-mark-compact.cc | 49 +- deps/v8/test/cctest/test-mementos.cc | 13 +- .../v8/test/cctest/test-microtask-delivery.cc | 4 +- deps/v8/test/cctest/test-mutex.cc | 118 - deps/v8/test/cctest/test-object-observe.cc | 15 +- .../v8/test/cctest/test-ordered-hash-table.cc | 132 +- deps/v8/test/cctest/test-ostreams.cc | 148 + deps/v8/test/cctest/test-parsing.cc | 1324 +++- deps/v8/test/cctest/test-platform-linux.cc | 13 +- deps/v8/test/cctest/test-platform-tls.cc | 93 - deps/v8/test/cctest/test-platform-win32.cc | 16 +- deps/v8/test/cctest/test-platform.cc | 6 +- deps/v8/test/cctest/test-profile-generator.cc | 31 +- .../cctest/test-random-number-generator.cc | 49 +- deps/v8/test/cctest/test-regexp.cc | 437 +- deps/v8/test/cctest/test-reloc-info.cc | 4 +- deps/v8/test/cctest/test-representation.cc | 7 +- deps/v8/test/cctest/test-semaphore.cc | 61 +- deps/v8/test/cctest/test-serialize.cc | 370 +- deps/v8/test/cctest/test-socket.cc | 176 - deps/v8/test/cctest/test-spaces.cc | 30 +- deps/v8/test/cctest/test-strings.cc | 17 +- deps/v8/test/cctest/test-strtod.cc | 16 +- deps/v8/test/cctest/test-symbols.cc | 13 +- .../v8/test/cctest/test-thread-termination.cc | 117 +- deps/v8/test/cctest/test-threads.cc | 57 +- deps/v8/test/cctest/test-time.cc | 197 - deps/v8/test/cctest/test-types.cc | 456 +- deps/v8/test/cctest/test-unbound-queue.cc | 7 +- deps/v8/test/cctest/test-unique.cc | 10 +- .../test-unscopables-hidden-prototype.cc | 103 + deps/v8/test/cctest/test-utils-arm64.cc | 34 +- deps/v8/test/cctest/test-utils-arm64.h | 36 +- deps/v8/test/cctest/test-utils.cc | 59 +- deps/v8/test/cctest/test-version.cc | 6 +- deps/v8/test/cctest/test-weakmaps.cc | 45 +- deps/v8/test/cctest/test-weaksets.cc | 28 +- deps/v8/test/cctest/test-weaktypedarrays.cc | 28 +- deps/v8/test/cctest/trace-extension.cc | 6 +- deps/v8/test/cctest/trace-extension.h | 2 +- deps/v8/test/compiler-unittests/DEPS | 6 + .../arm/instruction-selector-arm-unittest.cc | 27 + .../change-lowering-unittest.cc | 257 + .../compiler-unittests/compiler-unittests.cc | 86 + .../compiler-unittests/compiler-unittests.gyp | 61 + .../compiler-unittests/compiler-unittests.h | 69 + .../compiler-unittests.status | 6 + .../instruction-selector-unittest.cc | 92 + .../instruction-selector-unittest.h | 129 + .../test/compiler-unittests/node-matchers.cc | 454 ++ .../test/compiler-unittests/node-matchers.h | 71 + deps/v8/test/compiler-unittests/testcfg.py | 51 + deps/v8/test/fuzz-natives/base.js | 6 +- deps/v8/test/fuzz-natives/fuzz-natives.status | 21 + deps/v8/test/fuzz-natives/testcfg.py | 17 +- deps/v8/test/intl/intl.status | 6 + deps/v8/test/mjsunit/allocation-site-info.js | 729 +- deps/v8/test/mjsunit/apply.js | 8 +- .../mjsunit/array-construct-transition.js | 18 +- .../mjsunit/array-constructor-feedback.js | 326 +- deps/v8/test/mjsunit/array-feedback.js | 303 +- .../v8/test/mjsunit/array-literal-feedback.js | 103 +- .../test/mjsunit/array-literal-transitions.js | 203 +- .../v8/test/mjsunit/array-natives-elements.js | 70 +- .../array-push-unshift-read-only-length.js | 107 + deps/v8/test/mjsunit/array-shift2.js | 18 + deps/v8/test/mjsunit/array-shift3.js | 15 + deps/v8/test/mjsunit/assert-opt-and-deopt.js | 2 +- deps/v8/test/mjsunit/binary-op-newspace.js | 2 +- .../test/mjsunit/bounds-checks-elimination.js | 123 + deps/v8/test/mjsunit/builtins.js | 11 +- .../test/mjsunit/compiler/inline-arguments.js | 26 + .../mjsunit/compiler/math-floor-global.js | 2 +- .../test/mjsunit/compiler/math-floor-local.js | 2 +- deps/v8/test/mjsunit/const-eval-init.js | 33 +- deps/v8/test/mjsunit/const-redecl.js | 82 +- deps/v8/test/mjsunit/constant-folding-2.js | 11 + deps/v8/test/mjsunit/cross-realm-filtering.js | 141 + deps/v8/test/mjsunit/debug-break-native.js | 42 + deps/v8/test/mjsunit/debug-compile-event.js | 26 +- .../test/mjsunit/debug-compile-optimized.js | 18 + deps/v8/test/mjsunit/debug-is-active.js | 28 + deps/v8/test/mjsunit/debug-mirror-cache.js | 3 + deps/v8/test/mjsunit/debug-script.js | 2 +- deps/v8/test/mjsunit/debug-scripts-request.js | 2 + .../v8/test/mjsunit/debug-stepin-positions.js | 3 +- .../debug-toggle-mirror-cache.js} | 26 +- deps/v8/test/mjsunit/define-property-gc.js | 2 +- deps/v8/test/mjsunit/deserialize-reference.js | 8 + deps/v8/test/mjsunit/dictionary-properties.js | 48 + deps/v8/test/mjsunit/elements-kind-depends.js | 2 +- deps/v8/test/mjsunit/elements-kind.js | 337 +- .../mjsunit/elements-transition-hoisting.js | 20 +- deps/v8/test/mjsunit/elements-transition.js | 164 +- deps/v8/test/mjsunit/error-tostring-omit.js | 18 +- .../{harmony => es6}/array-iterator.js | 95 +- .../test/mjsunit/es6/collection-iterator.js | 200 + .../mjsunit/{harmony => es6}/collections.js | 454 +- .../es6/debug-promises-throw-in-reject.js | 61 - .../es6/debug-promises-undefined-reject.js | 57 - .../es6/debug-promises/async-task-event.js | 61 + .../test/mjsunit/es6/debug-promises/events.js | 124 + .../reentry.js} | 2 +- .../debug-promises/reject-after-resolve.js | 37 + .../es6/debug-promises/reject-caught-all.js | 72 + .../es6/debug-promises/reject-caught-late.js | 34 + .../debug-promises/reject-caught-uncaught.js | 36 + .../debug-promises/reject-in-constructor.js | 39 + .../es6/debug-promises/reject-uncaught-all.js | 69 + .../debug-promises/reject-uncaught-late.js | 76 + .../reject-uncaught-uncaught.js | 69 + .../reject-with-invalid-reject.js | 77 + .../reject-with-throw-in-reject.js | 87 + .../reject-with-undefined-reject.js | 77 + .../throw-caught-all.js} | 40 +- .../throw-caught-late.js} | 8 +- .../throw-caught-uncaught.js} | 12 +- .../throw-in-constructor.js} | 10 +- .../throw-uncaught-all.js} | 43 +- .../throw-uncaught-uncaught.js} | 42 +- .../throw-with-throw-in-reject.js | 90 + .../throw-with-undefined-reject.js | 88 + .../try-reject-in-constructor.js | 42 + .../try-throw-reject-in-constructor.js | 44 + .../es6/debug-stepin-collections-foreach.js | 118 + .../{harmony => es6}/iteration-semantics.js | 88 +- .../{harmony => es6}/iteration-syntax.js | 2 +- deps/v8/test/mjsunit/es6/math-cbrt.js | 2 - deps/v8/test/mjsunit/es6/math-clz32.js | 2 +- deps/v8/test/mjsunit/es6/math-expm1.js | 2 +- deps/v8/test/mjsunit/es6/math-fround.js | 43 +- deps/v8/test/mjsunit/es6/math-hyperbolic.js | 2 - deps/v8/test/mjsunit/es6/math-hypot.js | 2 - deps/v8/test/mjsunit/es6/math-log1p.js | 47 +- deps/v8/test/mjsunit/es6/math-log2-log10.js | 2 - deps/v8/test/mjsunit/es6/math-sign.js | 2 - deps/v8/test/mjsunit/es6/math-trunc.js | 2 - .../v8/test/mjsunit/es6/mirror-collections.js | 144 + deps/v8/test/mjsunit/es6/mirror-promises.js | 27 +- deps/v8/test/mjsunit/es6/mirror-symbols.js | 38 + deps/v8/test/mjsunit/es6/promises.js | 42 +- .../{harmony => es6}/regress/regress-2186.js | 2 - .../es6/regress/regress-cr372788.js} | 25 +- .../regress/regress-crbug-248025.js | 2 - .../regress/regress-crbug-346141.js | 2 - deps/v8/test/mjsunit/es6/string-html.js | 159 + deps/v8/test/mjsunit/es6/string-iterator.js | 89 + .../test/mjsunit/{harmony => es6}/symbols.js | 46 +- .../test/mjsunit/es6/typed-array-iterator.js | 39 + deps/v8/test/mjsunit/es6/unscopables.js | 664 ++ deps/v8/test/mjsunit/es6/weak_collections.js | 333 - .../mjsunit/es7/object-observe-debug-event.js | 51 + .../mjsunit/es7/object-observe-runtime.js | 18 + deps/v8/test/mjsunit/es7/object-observe.js | 13 +- deps/v8/test/mjsunit/fast-non-keyed.js | 6 +- deps/v8/test/mjsunit/fast-prototype.js | 13 +- .../mjsunit/global-const-var-conflicts.js | 13 +- deps/v8/test/mjsunit/harmony/array-fill.js | 4 +- .../test/mjsunit/harmony/arrow-functions.js | 48 + .../test/mjsunit/harmony/block-conflicts.js | 133 +- .../mjsunit/harmony/block-const-assign.js | 3 +- .../mjsunit/harmony/block-early-errors.js | 3 +- deps/v8/test/mjsunit/harmony/block-for.js | 42 +- deps/v8/test/mjsunit/harmony/block-leave.js | 1 - .../mjsunit/harmony/block-let-crankshaft.js | 258 +- .../mjsunit/harmony/block-let-declaration.js | 28 +- .../mjsunit/harmony/block-let-semantics.js | 1 - deps/v8/test/mjsunit/harmony/block-scoping.js | 12 +- .../test/mjsunit/harmony/debug-blockscopes.js | 13 +- .../harmony/debug-evaluate-blockscopes.js | 1 - .../regress-2336.js => harmony/empty-for.js} | 59 +- .../harmony/generators-debug-liveedit.js | 119 + .../mjsunit/harmony/generators-iteration.js | 52 +- .../mjsunit/harmony/generators-parsing.js | 45 +- .../harmony/generators-poisoned-properties.js | 42 + .../mjsunit/harmony/generators-runtime.js | 24 +- deps/v8/test/mjsunit/harmony/private.js | 20 +- .../harmony/proxies-example-membrane.js | 2 +- deps/v8/test/mjsunit/harmony/proxies-hash.js | 2 +- deps/v8/test/mjsunit/harmony/proxies-json.js | 2 +- .../test/mjsunit/harmony/proxies-symbols.js | 2 +- .../harmony/proxies-with-unscopables.js | 153 + deps/v8/test/mjsunit/harmony/proxies.js | 2 +- .../mjsunit/harmony/regress/regress-3426.js | 7 + .../test/mjsunit/harmony/set-prototype-of.js | 2 - .../mjsunit/harmony/string-codepointat.js | 91 + .../mjsunit/harmony/string-fromcodepoint.js | 62 + deps/v8/test/mjsunit/harmony/typeof.js | 35 - .../test/mjsunit/json-stringify-recursive.js | 2 + .../mjsunit/keyed-load-dictionary-stub.js | 20 + deps/v8/test/mjsunit/math-abs.js | 2 +- deps/v8/test/mjsunit/math-floor-part1.js | 2 +- deps/v8/test/mjsunit/math-floor-part2.js | 2 +- deps/v8/test/mjsunit/math-floor-part3.js | 2 +- deps/v8/test/mjsunit/math-floor-part4.js | 2 +- deps/v8/test/mjsunit/migrations.js | 311 + deps/v8/test/mjsunit/mirror-object.js | 16 +- deps/v8/test/mjsunit/mirror-script.js | 2 +- deps/v8/test/mjsunit/mjsunit.js | 27 +- deps/v8/test/mjsunit/mjsunit.status | 264 +- .../v8/test/mjsunit/object-define-property.js | 20 +- deps/v8/test/mjsunit/object-toprimitive.js | 2 + deps/v8/test/mjsunit/opt-elements-kind.js | 23 +- deps/v8/test/mjsunit/osr-elements-kind.js | 103 +- .../test/mjsunit/outobject-double-for-in.js | 66 + .../mjsunit/override-read-only-property.js | 2 - deps/v8/test/mjsunit/own-symbols.js | 55 + deps/v8/test/mjsunit/packed-elements.js | 18 +- deps/v8/test/mjsunit/polymorph-arrays.js | 12 +- deps/v8/test/mjsunit/proto-accessor.js | 2 - deps/v8/test/mjsunit/readonly.js | 3 +- deps/v8/test/mjsunit/regress-3456.js | 13 + .../mjsunit/regress/debug-prepare-step-in.js | 2 + deps/v8/test/mjsunit/regress/regress-1170.js | 11 +- .../test/mjsunit/regress/regress-1199637.js | 16 +- .../test/mjsunit/regress/regress-1213575.js | 2 +- deps/v8/test/mjsunit/regress/regress-1530.js | 48 +- deps/v8/test/mjsunit/regress/regress-1708.js | 2 +- deps/v8/test/mjsunit/regress/regress-2790.js | 2 +- .../v8/test/mjsunit/regress/regress-320532.js | 2 +- deps/v8/test/mjsunit/regress/regress-3281.js | 7 +- deps/v8/test/mjsunit/regress/regress-3307.js | 24 + deps/v8/test/mjsunit/regress/regress-3315.js | 26 + deps/v8/test/mjsunit/regress/regress-3334.js | 13 + deps/v8/test/mjsunit/regress/regress-334.js | 8 +- deps/v8/test/mjsunit/regress/regress-3359.js | 12 + deps/v8/test/mjsunit/regress/regress-3380.js | 16 + deps/v8/test/mjsunit/regress/regress-3392.js | 18 + deps/v8/test/mjsunit/regress/regress-3404.js | 27 + deps/v8/test/mjsunit/regress/regress-3462.js | 48 + deps/v8/test/mjsunit/regress/regress-3476.js | 24 + .../v8/test/mjsunit/regress/regress-370827.js | 21 + .../v8/test/mjsunit/regress/regress-373283.js | 18 + .../v8/test/mjsunit/regress/regress-377290.js | 17 + .../v8/test/mjsunit/regress/regress-379770.js | 26 + .../v8/test/mjsunit/regress/regress-380049.js | 9 + .../v8/test/mjsunit/regress/regress-380092.js | 22 + .../v8/test/mjsunit/regress/regress-381313.js | 42 + .../regress/regress-392114.js} | 53 +- deps/v8/test/mjsunit/regress/regress-99167.js | 2 +- .../regress/regress-cntl-descriptors-enum.js | 4 +- .../mjsunit/regress/regress-crbug-245480.js | 38 +- .../mjsunit/regress/regress-crbug-350864.js | 2 - .../mjsunit/regress/regress-crbug-374838.js | 20 + .../mjsunit/regress/regress-crbug-380512.js | 12 + .../mjsunit/regress/regress-crbug-381534.js | 40 + .../mjsunit/regress/regress-crbug-382513.js | 11 + .../mjsunit/regress/regress-crbug-385002.js | 15 + .../mjsunit/regress/regress-crbug-387599.js | 19 + .../mjsunit/regress/regress-crbug-387627.js | 13 + .../mjsunit/regress/regress-crbug-387636.js | 14 + .../mjsunit/regress/regress-crbug-390918.js | 18 + .../mjsunit/regress/regress-crbug-390925.js | 9 + .../mjsunit/regress/regress-crbug-393988.js | 8 + .../mjsunit/regress/regress-crbug-401915.js | 20 + .../regress/regress-create-exception.js | 2 +- .../regress/regress-debug-context-load.js | 8 + .../regress/regress-double-property.js | 9 + ...ress-escape-preserve-smi-representation.js | 13 +- ...eeze-const.js => regress-freeze-setter.js} | 4 +- .../regress-function-constructor-receiver.js | 17 + .../regress/regress-mask-array-length.js | 10 + .../regress/regress-regexp-nocase.js} | 11 +- .../regress-set-flags-stress-compact.js | 10 + .../regress-update-field-type-attributes.js | 12 + deps/v8/test/mjsunit/runtime-gen/apply.js | 9 + .../runtime-gen/arraybuffergetbytelength.js | 5 + .../runtime-gen/arraybufferinitialize.js | 6 + .../mjsunit/runtime-gen/arraybufferisview.js | 5 + .../mjsunit/runtime-gen/arraybufferneuter.js | 5 + .../runtime-gen/arraybuffersliceimpl.js | 7 + .../arraybufferviewgetbytelength.js | 5 + .../arraybufferviewgetbyteoffset.js | 5 + .../test/mjsunit/runtime-gen/arrayconcat.js | 5 + .../mjsunit/runtime-gen/availablelocalesof.js | 5 + .../mjsunit/runtime-gen/basicjsonstringify.js | 5 + .../v8/test/mjsunit/runtime-gen/booleanize.js | 6 + .../runtime-gen/boundfunctiongetbindings.js | 5 + deps/v8/test/mjsunit/runtime-gen/break.js | 4 + .../runtime-gen/breakiteratoradopttext.js | 6 + .../runtime-gen/breakiteratorbreaktype.js | 5 + .../runtime-gen/breakiteratorcurrent.js | 5 + .../mjsunit/runtime-gen/breakiteratorfirst.js | 5 + .../mjsunit/runtime-gen/breakiteratornext.js | 5 + .../runtime-gen/canonicalizelanguagetag.js | 5 + .../runtime-gen/changebreakonexception.js | 6 + .../test/mjsunit/runtime-gen/charfromcode.js | 5 + .../runtime-gen/checkexecutionstate.js | 7 + .../runtime-gen/checkisbootstrapping.js | 6 + .../mjsunit/runtime-gen/clearbreakpoint.js | 5 + .../runtime-gen/clearfunctiontypefeedback.js | 5 + .../test/mjsunit/runtime-gen/clearstepping.js | 4 + .../mjsunit/runtime-gen/collectstacktrace.js | 6 + .../test/mjsunit/runtime-gen/compilestring.js | 6 + .../mjsunit/runtime-gen/constructdouble.js | 6 + .../runtime-gen/createbreakiterator.js | 7 + .../mjsunit/runtime-gen/createcollator.js | 7 + .../runtime-gen/createglobalprivatesymbol.js | 5 + .../runtime-gen/createjsfunctionproxy.js | 8 + .../test/mjsunit/runtime-gen/createjsproxy.js | 6 + .../runtime-gen/createprivateownsymbol.js | 5 + .../runtime-gen/createprivatesymbol.js | 5 + .../test/mjsunit/runtime-gen/createsymbol.js | 5 + .../mjsunit/runtime-gen/dataviewgetbuffer.js | 5 + .../mjsunit/runtime-gen/dataviewgetfloat32.js | 7 + .../mjsunit/runtime-gen/dataviewgetfloat64.js | 7 + .../mjsunit/runtime-gen/dataviewgetint16.js | 7 + .../mjsunit/runtime-gen/dataviewgetint32.js | 7 + .../mjsunit/runtime-gen/dataviewgetint8.js | 7 + .../mjsunit/runtime-gen/dataviewgetuint16.js | 7 + .../mjsunit/runtime-gen/dataviewgetuint32.js | 7 + .../mjsunit/runtime-gen/dataviewgetuint8.js | 7 + .../mjsunit/runtime-gen/dataviewinitialize.js | 8 + .../mjsunit/runtime-gen/dataviewsetfloat32.js | 8 + .../mjsunit/runtime-gen/dataviewsetfloat64.js | 8 + .../mjsunit/runtime-gen/dataviewsetint16.js | 8 + .../mjsunit/runtime-gen/dataviewsetint32.js | 8 + .../mjsunit/runtime-gen/dataviewsetint8.js | 8 + .../mjsunit/runtime-gen/dataviewsetuint16.js | 8 + .../mjsunit/runtime-gen/dataviewsetuint32.js | 8 + .../mjsunit/runtime-gen/dataviewsetuint8.js | 8 + .../mjsunit/runtime-gen/datecacheversion.js | 4 + .../mjsunit/runtime-gen/datecurrenttime.js | 4 + .../mjsunit/runtime-gen/datelocaltimezone.js | 5 + .../test/mjsunit/runtime-gen/datemakeday.js | 6 + .../mjsunit/runtime-gen/dateparsestring.js | 6 + .../test/mjsunit/runtime-gen/datesetvalue.js | 7 + deps/v8/test/mjsunit/runtime-gen/datetoutc.js | 5 + .../runtime-gen/debugasynctaskevent.js | 5 + .../v8/test/mjsunit/runtime-gen/debugbreak.js | 4 + .../debugcallbacksupportsstepping.js | 5 + .../mjsunit/runtime-gen/debugconstructedby.js | 6 + .../debugdisassembleconstructor.js | 5 + .../runtime-gen/debugdisassemblefunction.js | 5 + .../test/mjsunit/runtime-gen/debugevaluate.js | 12 + .../runtime-gen/debugevaluateglobal.js | 10 + .../mjsunit/runtime-gen/debuggetproperty.js | 6 + .../runtime-gen/debuggetpropertydetails.js | 6 + .../mjsunit/runtime-gen/debuggetprototype.js | 5 + .../debugindexedinterceptorelementvalue.js | 8 + .../debugnamedinterceptorpropertyvalue.js | 8 + .../mjsunit/runtime-gen/debugpoppromise.js | 4 + .../debugpreparestepinifstepping.js | 5 + .../mjsunit/runtime-gen/debugprintscopes.js | 4 + .../mjsunit/runtime-gen/debugpromiseevent.js | 5 + .../runtime-gen/debugpromiserejectevent.js | 6 + .../debugpropertyattributesfromdetails.js | 5 + .../debugpropertyindexfromdetails.js | 5 + .../debugpropertytypefromdetails.js | 5 + .../mjsunit/runtime-gen/debugpushpromise.js | 5 + .../mjsunit/runtime-gen/debugreferencedby.js | 7 + .../v8/test/mjsunit/runtime-gen/debugtrace.js | 4 + .../defineaccessorpropertyunchecked.js | 9 + .../runtime-gen/defineapiaccessorproperty.js | 9 + .../definedatapropertyunchecked.js | 8 + .../mjsunit/runtime-gen/deleteproperty.js | 7 + .../mjsunit/runtime-gen/deoptimizefunction.js | 5 + deps/v8/test/mjsunit/runtime-gen/doublehi.js | 5 + deps/v8/test/mjsunit/runtime-gen/doublelo.js | 5 + .../mjsunit/runtime-gen/enqueuemicrotask.js | 5 + .../runtime-gen/estimatenumberofelements.js | 5 + .../runtime-gen/executeindebugcontext.js | 6 + .../runtime-gen/finisharrayprototypesetup.js | 5 + deps/v8/test/mjsunit/runtime-gen/fix.js | 5 + .../test/mjsunit/runtime-gen/flattenstring.js | 5 + .../runtime-gen/functionbindarguments.js | 8 + .../runtime-gen/functiongetinferredname.js | 5 + .../mjsunit/runtime-gen/functiongetname.js | 5 + .../mjsunit/runtime-gen/functiongetscript.js | 5 + .../functiongetscriptsourceposition.js | 5 + .../runtime-gen/functiongetsourcecode.js | 5 + .../runtime-gen/functionisapifunction.js | 5 + .../mjsunit/runtime-gen/functionisarrow.js | 5 + .../mjsunit/runtime-gen/functionisbuiltin.js | 5 + .../runtime-gen/functionisgenerator.js | 5 + .../functionmarknameshouldprintasanonymous.js | 5 + .../functionnameshouldprintasanonymous.js | 5 + .../runtime-gen/functionremoveprototype.js | 5 + .../functionsetinstanceclassname.js | 6 + .../mjsunit/runtime-gen/functionsetlength.js | 6 + .../mjsunit/runtime-gen/functionsetname.js | 6 + .../runtime-gen/functionsetprototype.js | 6 + .../runtime-gen/getallscopesdetails.js | 10 + .../runtime-gen/getargumentsproperty.js | 5 + .../test/mjsunit/runtime-gen/getarraykeys.js | 6 + .../mjsunit/runtime-gen/getbreaklocations.js | 6 + .../test/mjsunit/runtime-gen/getcalltrap.js | 5 + .../runtime-gen/getconstructordelegate.js | 5 + .../mjsunit/runtime-gen/getconstructtrap.js | 5 + .../mjsunit/runtime-gen/getdataproperty.js | 6 + .../runtime-gen/getdefaulticulocale.js | 4 + .../mjsunit/runtime-gen/getdefaultreceiver.js | 5 + .../test/mjsunit/runtime-gen/getframecount.js | 7 + .../mjsunit/runtime-gen/getframedetails.js | 8 + .../getfunctioncodepositionfromsource.js | 6 + .../runtime-gen/getfunctiondelegate.js | 5 + .../runtime-gen/getfunctionscopecount.js | 5 + .../runtime-gen/getfunctionscopedetails.js | 6 + .../v8/test/mjsunit/runtime-gen/gethandler.js | 5 + .../test/mjsunit/runtime-gen/getheapusage.js | 4 + .../getimplfrominitializedintlobject.js | 5 + .../getindexedinterceptorelementnames.js | 5 + .../mjsunit/runtime-gen/getinterceptorinfo.js | 5 + .../runtime-gen/getlanguagetagvariants.js | 5 + .../getnamedinterceptorpropertynames.js | 5 + .../getobjectcontextnotifierperformchange.js | 5 + .../getobjectcontextobjectgetnotifier.js | 5 + .../getobjectcontextobjectobserve.js | 5 + .../runtime-gen/getobservationstate.js | 4 + .../runtime-gen/getoptimizationcount.js | 5 + .../mjsunit/runtime-gen/getownelementnames.js | 5 + .../mjsunit/runtime-gen/getownproperty.js | 6 + .../runtime-gen/getownpropertynames.js | 6 + .../test/mjsunit/runtime-gen/getproperty.js | 6 + .../mjsunit/runtime-gen/getpropertynames.js | 5 + .../runtime-gen/getpropertynamesfast.js | 5 + .../test/mjsunit/runtime-gen/getprototype.js | 5 + .../v8/test/mjsunit/runtime-gen/getrootnan.js | 6 + .../test/mjsunit/runtime-gen/getscopecount.js | 8 + .../mjsunit/runtime-gen/getscopedetails.js | 10 + deps/v8/test/mjsunit/runtime-gen/getscript.js | 5 + .../mjsunit/runtime-gen/getstepinpositions.js | 8 + .../mjsunit/runtime-gen/gettemplatefield.js | 8 + .../mjsunit/runtime-gen/getthreadcount.js | 7 + .../mjsunit/runtime-gen/getthreaddetails.js | 8 + .../test/mjsunit/runtime-gen/getv8version.js | 4 + .../mjsunit/runtime-gen/getweakmapentries.js | 5 + .../mjsunit/runtime-gen/getweaksetvalues.js | 5 + .../test/mjsunit/runtime-gen/globalprint.js | 5 + .../test/mjsunit/runtime-gen/globalproxy.js | 5 + .../v8/test/mjsunit/runtime-gen/haselement.js | 6 + .../mjsunit/runtime-gen/hasownproperty.js | 6 + .../test/mjsunit/runtime-gen/hasproperty.js | 6 + .../test/mjsunit/runtime-gen/havesamemap.js | 6 + .../mjsunit/runtime-gen/internalcompare.js | 7 + .../mjsunit/runtime-gen/internaldateformat.js | 6 + .../mjsunit/runtime-gen/internaldateparse.js | 6 + .../runtime-gen/internalnumberformat.js | 6 + .../runtime-gen/internalnumberparse.js | 6 + .../runtime-gen/internalsetprototype.js | 6 + .../mjsunit/runtime-gen/isattachedglobal.js | 5 + .../mjsunit/runtime-gen/isbreakonexception.js | 5 + .../isconcurrentrecompilationsupported.js | 4 + .../test/mjsunit/runtime-gen/isextensible.js | 5 + .../runtime-gen/isinitializedintlobject.js | 5 + .../isinitializedintlobjectoftype.js | 6 + .../mjsunit/runtime-gen/isinprototypechain.js | 6 + .../mjsunit/runtime-gen/isjsfunctionproxy.js | 5 + .../mjsunit/runtime-gen/isjsglobalproxy.js | 5 + .../v8/test/mjsunit/runtime-gen/isjsmodule.js | 5 + deps/v8/test/mjsunit/runtime-gen/isjsproxy.js | 5 + .../v8/test/mjsunit/runtime-gen/isobserved.js | 5 + .../test/mjsunit/runtime-gen/isoptimized.js | 4 + .../runtime-gen/ispropertyenumerable.js | 6 + .../runtime-gen/issloppymodefunction.js | 5 + .../v8/test/mjsunit/runtime-gen/istemplate.js | 5 + .../v8/test/mjsunit/runtime-gen/isvalidsmi.js | 5 + .../mjsunit/runtime-gen/keyedgetproperty.js | 6 + .../liveeditcheckanddropactivations.js | 6 + .../runtime-gen/liveeditcomparestrings.js | 6 + .../runtime-gen/liveeditfunctionsetscript.js | 6 + .../mjsunit/runtime-gen/loadmutabledouble.js | 6 + .../mjsunit/runtime-gen/lookupaccessor.js | 7 + deps/v8/test/mjsunit/runtime-gen/mapclear.js | 5 + deps/v8/test/mjsunit/runtime-gen/mapdelete.js | 6 + deps/v8/test/mjsunit/runtime-gen/mapget.js | 6 + .../v8/test/mjsunit/runtime-gen/mapgetsize.js | 5 + deps/v8/test/mjsunit/runtime-gen/maphas.js | 6 + .../test/mjsunit/runtime-gen/mapinitialize.js | 5 + .../runtime-gen/mapiteratorinitialize.js | 7 + .../mjsunit/runtime-gen/mapiteratornext.js | 6 + deps/v8/test/mjsunit/runtime-gen/mapset.js | 7 + .../markasinitializedintlobjectoftype.js | 7 + deps/v8/test/mjsunit/runtime-gen/mathacos.js | 5 + deps/v8/test/mjsunit/runtime-gen/mathasin.js | 5 + deps/v8/test/mjsunit/runtime-gen/mathatan.js | 5 + deps/v8/test/mjsunit/runtime-gen/mathatan2.js | 6 + deps/v8/test/mjsunit/runtime-gen/mathexprt.js | 5 + .../test/mjsunit/runtime-gen/mathfloorrt.js | 5 + .../v8/test/mjsunit/runtime-gen/mathfround.js | 5 + deps/v8/test/mjsunit/runtime-gen/mathlogrt.js | 5 + .../v8/test/mjsunit/runtime-gen/mathsqrtrt.js | 5 + deps/v8/test/mjsunit/runtime-gen/maxsmi.js | 4 + .../mjsunit/runtime-gen/movearraycontents.js | 6 + .../runtime-gen/neveroptimizefunction.js | 5 + .../test/mjsunit/runtime-gen/newarguments.js | 5 + .../mjsunit/runtime-gen/newobjectfrombound.js | 5 + deps/v8/test/mjsunit/runtime-gen/newstring.js | 6 + .../mjsunit/runtime-gen/newstringwrapper.js | 5 + .../mjsunit/runtime-gen/newsymbolwrapper.js | 5 + .../runtime-gen/notifycontextdisposed.js | 4 + deps/v8/test/mjsunit/runtime-gen/numberadd.js | 6 + deps/v8/test/mjsunit/runtime-gen/numberand.js | 6 + .../test/mjsunit/runtime-gen/numbercompare.js | 7 + deps/v8/test/mjsunit/runtime-gen/numberdiv.js | 6 + .../test/mjsunit/runtime-gen/numberequals.js | 6 + .../v8/test/mjsunit/runtime-gen/numberimul.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbermod.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbermul.js | 6 + deps/v8/test/mjsunit/runtime-gen/numberor.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbersar.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbershl.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbershr.js | 6 + deps/v8/test/mjsunit/runtime-gen/numbersub.js | 6 + .../runtime-gen/numbertoexponential.js | 6 + .../test/mjsunit/runtime-gen/numbertofixed.js | 6 + .../mjsunit/runtime-gen/numbertointeger.js | 5 + .../numbertointegermapminuszero.js | 5 + .../mjsunit/runtime-gen/numbertojsint32.js | 5 + .../mjsunit/runtime-gen/numbertojsuint32.js | 5 + .../mjsunit/runtime-gen/numbertoprecision.js | 6 + .../runtime-gen/numbertoradixstring.js | 6 + .../mjsunit/runtime-gen/numbertostringrt.js | 5 + .../mjsunit/runtime-gen/numberunaryminus.js | 5 + deps/v8/test/mjsunit/runtime-gen/numberxor.js | 6 + .../test/mjsunit/runtime-gen/objectfreeze.js | 5 + .../objectwascreatedincurrentorigin.js | 5 + .../runtime-gen/observationweakmapcreate.js | 4 + .../observerobjectandrecordhavesameorigin.js | 7 + ...timizeobjectforaddingmultipleproperties.js | 6 + deps/v8/test/mjsunit/runtime-gen/ownkeys.js | 5 + deps/v8/test/mjsunit/runtime-gen/parsejson.js | 5 + .../mjsunit/runtime-gen/preventextensions.js | 5 + .../test/mjsunit/runtime-gen/pushifabsent.js | 6 + .../mjsunit/runtime-gen/quotejsonstring.js | 5 + .../test/mjsunit/runtime-gen/regexpcompile.js | 7 + .../runtime-gen/regexpconstructresult.js | 7 + .../mjsunit/runtime-gen/regexpexecmultiple.js | 8 + .../test/mjsunit/runtime-gen/regexpexecrt.js | 8 + .../runtime-gen/regexpinitializeobject.js | 9 + .../mjsunit/runtime-gen/removearrayholes.js | 6 + deps/v8/test/mjsunit/runtime-gen/rempio2.js | 5 + .../test/mjsunit/runtime-gen/roundnumber.js | 5 + .../test/mjsunit/runtime-gen/runmicrotasks.js | 4 + .../mjsunit/runtime-gen/runninginsimulator.js | 4 + deps/v8/test/mjsunit/runtime-gen/setadd.js | 6 + deps/v8/test/mjsunit/runtime-gen/setclear.js | 5 + deps/v8/test/mjsunit/runtime-gen/setcode.js | 6 + .../runtime-gen/setdebugeventlistener.js | 6 + deps/v8/test/mjsunit/runtime-gen/setdelete.js | 6 + .../mjsunit/runtime-gen/setdisablebreak.js | 5 + deps/v8/test/mjsunit/runtime-gen/setflags.js | 5 + .../runtime-gen/setfunctionbreakpoint.js | 7 + .../v8/test/mjsunit/runtime-gen/setgetsize.js | 5 + deps/v8/test/mjsunit/runtime-gen/sethas.js | 6 + .../test/mjsunit/runtime-gen/setinitialize.js | 5 + .../test/mjsunit/runtime-gen/setisobserved.js | 5 + .../runtime-gen/setiteratorinitialize.js | 7 + .../mjsunit/runtime-gen/setiteratornext.js | 6 + .../test/mjsunit/runtime-gen/setprototype.js | 6 + .../runtime-gen/setscopevariablevalue.js | 10 + .../runtime-gen/smilexicographiccompare.js | 6 + .../runtime-gen/sparsejoinwithseparator.js | 7 + .../runtime-gen/specialarrayfunctions.js | 4 + .../runtime-gen/stringbuilderconcat.js | 7 + .../mjsunit/runtime-gen/stringbuilderjoin.js | 7 + .../mjsunit/runtime-gen/stringcharcodeatrt.js | 6 + .../test/mjsunit/runtime-gen/stringequals.js | 6 + .../test/mjsunit/runtime-gen/stringindexof.js | 7 + .../mjsunit/runtime-gen/stringlastindexof.js | 7 + .../runtime-gen/stringlocalecompare.js | 6 + .../test/mjsunit/runtime-gen/stringmatch.js | 7 + .../mjsunit/runtime-gen/stringnormalize.js | 6 + .../mjsunit/runtime-gen/stringparsefloat.js | 5 + .../mjsunit/runtime-gen/stringparseint.js | 6 + .../stringreplaceglobalregexpwithstring.js | 8 + .../stringreplaceonecharwithstring.js | 7 + .../test/mjsunit/runtime-gen/stringsplit.js | 7 + .../test/mjsunit/runtime-gen/stringtoarray.js | 6 + .../mjsunit/runtime-gen/stringtolowercase.js | 5 + .../mjsunit/runtime-gen/stringtonumber.js | 5 + .../mjsunit/runtime-gen/stringtouppercase.js | 5 + .../v8/test/mjsunit/runtime-gen/stringtrim.js | 7 + .../mjsunit/runtime-gen/symboldescription.js | 5 + .../mjsunit/runtime-gen/symbolisprivate.js | 5 + .../mjsunit/runtime-gen/symbolregistry.js | 4 + deps/v8/test/mjsunit/runtime-gen/tobool.js | 5 + .../mjsunit/runtime-gen/tofastproperties.js | 5 + .../v8/test/mjsunit/runtime-gen/traceenter.js | 4 + deps/v8/test/mjsunit/runtime-gen/traceexit.js | 5 + .../mjsunit/runtime-gen/truncatestring.js | 6 + .../mjsunit/runtime-gen/trymigrateinstance.js | 5 + .../runtime-gen/typedarraygetbuffer.js | 5 + .../runtime-gen/typedarraygetlength.js | 5 + .../runtime-gen/typedarrayinitialize.js | 9 + .../typedarrayinitializefromarraylike.js | 8 + .../runtime-gen/typedarraymaxsizeinheap.js | 4 + .../runtime-gen/typedarraysetfastcases.js | 7 + deps/v8/test/mjsunit/runtime-gen/typeof.js | 5 + .../unblockconcurrentrecompilation.js | 6 + deps/v8/test/mjsunit/runtime-gen/uriescape.js | 5 + .../test/mjsunit/runtime-gen/uriunescape.js | 5 + .../runtime-gen/weakcollectiondelete.js | 6 + .../mjsunit/runtime-gen/weakcollectionget.js | 6 + .../mjsunit/runtime-gen/weakcollectionhas.js | 6 + .../runtime-gen/weakcollectioninitialize.js | 5 + .../mjsunit/runtime-gen/weakcollectionset.js | 7 + deps/v8/test/mjsunit/sin-cos.js | 97 +- deps/v8/test/mjsunit/stack-traces-overflow.js | 23 +- deps/v8/test/mjsunit/stack-traces.js | 20 + .../test/mjsunit/tools/profviz-test.default | 460 +- .../mjsunit/tools/tickprocessor-test.default | 20 +- .../tools/tickprocessor-test.func-info | 7 +- .../mjsunit/tools/tickprocessor-test.gc-state | 7 +- .../tools/tickprocessor-test.ignore-unknown | 15 +- .../tools/tickprocessor-test.separate-ic | 20 +- deps/v8/test/mjsunit/tools/tickprocessor.js | 6 +- .../v8/test/mjsunit/value-wrapper-accessor.js | 10 +- deps/v8/test/mjsunit/with-readonly.js | 2 - deps/v8/test/mozilla/mozilla.status | 36 +- deps/v8/test/preparser/duplicate-property.pyt | 2 +- deps/v8/test/promises-aplus/testcfg.py | 6 +- deps/v8/test/test262/test262.status | 25 +- deps/v8/test/test262/testcfg.py | 4 +- .../js/Object-defineProperty-expected.txt | 4 +- .../Object-getOwnPropertyNames-expected.txt | 44 +- .../fast/js/Object-getOwnPropertyNames.js | 44 +- ...ve-property-access-edge-cases-expected.txt | 18 +- .../fast/js/read-modify-eval-expected.txt | 2 +- .../webkit/fast/js/string-anchor-expected.txt | 4 +- .../fast/js/string-fontcolor-expected.txt | 4 +- .../fast/js/string-fontsize-expected.txt | 4 +- .../webkit/fast/js/string-link-expected.txt | 4 +- .../v8/test/webkit/for-in-cached-expected.txt | 4 +- deps/v8/test/webkit/for-in-cached.js | 4 +- .../object-literal-direct-put-expected.txt | 4 +- .../test/webkit/object-literal-direct-put.js | 4 +- .../webkit/object-literal-syntax-expected.txt | 24 +- deps/v8/test/webkit/object-literal-syntax.js | 24 +- ...tring-replacement-outofmemory-expected.txt | 9 + .../webkit/string-replacement-outofmemory.js | 2 +- deps/v8/test/webkit/webkit.status | 19 +- deps/v8/testing/gmock.gyp | 62 + deps/v8/testing/gtest-type-names.h | 34 + deps/v8/testing/gtest.gyp | 159 + deps/v8/third_party/fdlibm/LICENSE | 6 + deps/v8/third_party/fdlibm/README.v8 | 18 + deps/v8/third_party/fdlibm/fdlibm.cc | 273 + deps/v8/third_party/fdlibm/fdlibm.h | 31 + deps/v8/third_party/fdlibm/fdlibm.js | 518 ++ deps/v8/tools/DEPS | 8 + deps/v8/tools/check-static-initializers.sh | 3 +- ...ate-trig-table.py => concatenate-files.py} | 76 +- deps/v8/tools/disasm.py | 3 +- deps/v8/tools/external-reference-check.py | 43 + deps/v8/tools/fuzz-harness.sh | 2 +- deps/v8/tools/gcmole/Makefile | 15 +- deps/v8/tools/gcmole/bootstrap.sh | 11 +- deps/v8/tools/gcmole/gcmole.cc | 127 +- deps/v8/tools/gcmole/gcmole.lua | 12 +- deps/v8/tools/gdbinit | 33 + deps/v8/tools/gen-postmortem-metadata.py | 16 +- deps/v8/tools/generate-runtime-tests.py | 1412 ++++ deps/v8/tools/grokdump.py | 9 +- deps/v8/tools/gyp/v8.gyp | 695 +- deps/v8/tools/js2c.py | 92 +- deps/v8/tools/lexer-shell.cc | 54 +- deps/v8/tools/lexer-shell.gyp | 6 +- deps/v8/tools/ll_prof.py | 3 +- deps/v8/tools/parser-shell.cc | 67 +- deps/v8/tools/plot-timer-events | 30 +- deps/v8/tools/presubmit.py | 30 +- deps/v8/tools/profile_view.js | 18 - deps/v8/tools/profviz/composer.js | 26 +- deps/v8/tools/profviz/stdio.js | 2 +- deps/v8/tools/push-to-trunk/auto_roll.py | 23 + deps/v8/tools/push-to-trunk/auto_tag.py | 200 + .../v8/tools/push-to-trunk/bump_up_version.py | 241 + deps/v8/tools/push-to-trunk/chromium_roll.py | 6 +- .../v8/tools/push-to-trunk/common_includes.py | 55 +- deps/v8/tools/push-to-trunk/git_recipes.py | 13 +- deps/v8/tools/push-to-trunk/push_to_trunk.py | 46 +- deps/v8/tools/push-to-trunk/releases.py | 68 +- deps/v8/tools/push-to-trunk/test_scripts.py | 218 +- deps/v8/tools/run-deopt-fuzzer.py | 47 +- deps/v8/tools/run-tests.py | 127 +- deps/v8/tools/run.py | 12 + deps/v8/tools/run_benchmarks.py | 421 ++ deps/v8/tools/testrunner/local/commands.py | 89 +- deps/v8/tools/testrunner/local/execution.py | 229 +- .../testrunner/{network => local}/perfdata.py | 0 deps/v8/tools/testrunner/local/pool.py | 146 + .../tools/testrunner/local/pool_unittest.py | 41 + deps/v8/tools/testrunner/local/progress.py | 59 + deps/v8/tools/testrunner/local/statusfile.py | 4 +- deps/v8/tools/testrunner/local/testsuite.py | 17 +- deps/v8/tools/testrunner/local/utils.py | 8 + .../testrunner/network/network_execution.py | 4 +- deps/v8/tools/testrunner/objects/context.py | 13 +- deps/v8/tools/testrunner/objects/testcase.py | 2 + deps/v8/tools/tickprocessor.js | 71 +- .../v8/tools/unittests/run_benchmarks_test.py | 297 + deps/v8/tools/whitespace.txt | 8 + 1662 files changed, 245114 insertions(+), 74654 deletions(-) create mode 100644 deps/v8/benchmarks/v8.json create mode 100644 deps/v8/build/detect_v8_host_arch.py create mode 100755 deps/v8/build/get_landmines.py create mode 100644 deps/v8/build/landmine_utils.py create mode 100755 deps/v8/build/landmines.py create mode 100644 deps/v8/include/libplatform/libplatform.h create mode 100644 deps/v8/src/DEPS delete mode 100644 deps/v8/src/arm64/cpu-arm64.h create mode 100644 deps/v8/src/arm64/delayed-masm-arm64-inl.h create mode 100644 deps/v8/src/arm64/delayed-masm-arm64.cc create mode 100644 deps/v8/src/arm64/delayed-masm-arm64.h create mode 100644 deps/v8/src/ast-value-factory.cc create mode 100644 deps/v8/src/ast-value-factory.h create mode 100644 deps/v8/src/base/DEPS rename deps/v8/src/{ => base}/atomicops.h (90%) rename deps/v8/src/{ => base}/atomicops_internals_arm64_gcc.h (97%) rename deps/v8/src/{ => base}/atomicops_internals_arm_gcc.h (98%) rename deps/v8/src/{ => base}/atomicops_internals_atomicword_compat.h (87%) rename deps/v8/src/{ => base}/atomicops_internals_mac.h (97%) create mode 100644 deps/v8/src/base/atomicops_internals_mips64_gcc.h rename deps/v8/src/{ => base}/atomicops_internals_mips_gcc.h (96%) rename deps/v8/src/{ => base}/atomicops_internals_tsan.h (94%) rename deps/v8/src/{ => base}/atomicops_internals_x86_gcc.cc (89%) rename deps/v8/src/{ => base}/atomicops_internals_x86_gcc.h (97%) rename deps/v8/src/{ => base}/atomicops_internals_x86_msvc.h (96%) create mode 100644 deps/v8/src/base/build_config.h rename deps/v8/src/{ => base}/cpu.cc (88%) rename deps/v8/src/{ => base}/cpu.h (88%) rename deps/v8/src/{ => base}/lazy-instance.h (97%) create mode 100644 deps/v8/src/base/logging.cc create mode 100644 deps/v8/src/base/logging.h rename deps/v8/src/{ => base}/once.cc (92%) rename deps/v8/src/{ => base}/once.h (93%) rename deps/v8/src/{ => base}/platform/condition-variable.cc (89%) rename deps/v8/src/{ => base}/platform/condition-variable.h (89%) rename deps/v8/src/{ => base}/platform/elapsed-timer.h (74%) rename deps/v8/src/{ => base}/platform/mutex.cc (87%) rename deps/v8/src/{ => base}/platform/mutex.h (94%) rename deps/v8/src/{ => base/platform}/platform-cygwin.cc (80%) rename deps/v8/src/{ => base/platform}/platform-freebsd.cc (91%) rename deps/v8/src/{ => base/platform}/platform-linux.cc (92%) rename deps/v8/src/{ => base/platform}/platform-macos.cc (91%) rename deps/v8/src/{ => base/platform}/platform-openbsd.cc (91%) rename deps/v8/src/{ => base/platform}/platform-posix.cc (74%) rename deps/v8/src/{ => base/platform}/platform-qnx.cc (91%) rename deps/v8/src/{ => base/platform}/platform-solaris.cc (79%) rename deps/v8/src/{ => base/platform}/platform-win32.cc (88%) rename deps/v8/src/{ => base/platform}/platform.h (73%) rename deps/v8/src/{ => base}/platform/semaphore.cc (83%) rename deps/v8/src/{ => base}/platform/semaphore.h (85%) rename deps/v8/src/{ => base}/platform/time.cc (82%) rename deps/v8/src/{ => base}/platform/time.h (95%) rename deps/v8/src/{ => base}/qnx-math.h (77%) create mode 100644 deps/v8/src/base/safe_conversions.h create mode 100644 deps/v8/src/base/safe_conversions_impl.h create mode 100644 deps/v8/src/base/safe_math.h create mode 100644 deps/v8/src/base/safe_math_impl.h rename deps/v8/src/{ => base}/utils/random-number-generator.cc (78%) rename deps/v8/src/{ => base}/utils/random-number-generator.h (93%) rename deps/v8/src/{ => base}/win32-headers.h (94%) rename deps/v8/src/{ => base}/win32-math.cc (93%) rename deps/v8/src/{ => base}/win32-math.h (90%) create mode 100644 deps/v8/src/collection-iterator.js create mode 100644 deps/v8/src/compiler/arm/code-generator-arm.cc create mode 100644 deps/v8/src/compiler/arm/instruction-codes-arm.h create mode 100644 deps/v8/src/compiler/arm/instruction-selector-arm.cc create mode 100644 deps/v8/src/compiler/arm/linkage-arm.cc create mode 100644 deps/v8/src/compiler/arm64/code-generator-arm64.cc create mode 100644 deps/v8/src/compiler/arm64/instruction-codes-arm64.h create mode 100644 deps/v8/src/compiler/arm64/instruction-selector-arm64.cc create mode 100644 deps/v8/src/compiler/arm64/linkage-arm64.cc create mode 100644 deps/v8/src/compiler/ast-graph-builder.cc create mode 100644 deps/v8/src/compiler/ast-graph-builder.h create mode 100644 deps/v8/src/compiler/change-lowering.cc create mode 100644 deps/v8/src/compiler/change-lowering.h create mode 100644 deps/v8/src/compiler/code-generator-impl.h create mode 100644 deps/v8/src/compiler/code-generator.cc create mode 100644 deps/v8/src/compiler/code-generator.h create mode 100644 deps/v8/src/compiler/common-node-cache.h create mode 100644 deps/v8/src/compiler/common-operator.h create mode 100644 deps/v8/src/compiler/control-builders.cc create mode 100644 deps/v8/src/compiler/control-builders.h create mode 100644 deps/v8/src/compiler/frame.h create mode 100644 deps/v8/src/compiler/gap-resolver.cc create mode 100644 deps/v8/src/compiler/gap-resolver.h create mode 100644 deps/v8/src/compiler/generic-algorithm-inl.h create mode 100644 deps/v8/src/compiler/generic-algorithm.h create mode 100644 deps/v8/src/compiler/generic-graph.h create mode 100644 deps/v8/src/compiler/generic-node-inl.h create mode 100644 deps/v8/src/compiler/generic-node.h create mode 100644 deps/v8/src/compiler/graph-builder.cc create mode 100644 deps/v8/src/compiler/graph-builder.h create mode 100644 deps/v8/src/compiler/graph-inl.h create mode 100644 deps/v8/src/compiler/graph-reducer.cc create mode 100644 deps/v8/src/compiler/graph-reducer.h create mode 100644 deps/v8/src/compiler/graph-replay.cc create mode 100644 deps/v8/src/compiler/graph-replay.h create mode 100644 deps/v8/src/compiler/graph-visualizer.cc create mode 100644 deps/v8/src/compiler/graph-visualizer.h create mode 100644 deps/v8/src/compiler/graph.cc create mode 100644 deps/v8/src/compiler/graph.h create mode 100644 deps/v8/src/compiler/ia32/code-generator-ia32.cc create mode 100644 deps/v8/src/compiler/ia32/instruction-codes-ia32.h create mode 100644 deps/v8/src/compiler/ia32/instruction-selector-ia32.cc create mode 100644 deps/v8/src/compiler/ia32/linkage-ia32.cc create mode 100644 deps/v8/src/compiler/instruction-codes.h create mode 100644 deps/v8/src/compiler/instruction-selector-impl.h create mode 100644 deps/v8/src/compiler/instruction-selector.cc create mode 100644 deps/v8/src/compiler/instruction-selector.h create mode 100644 deps/v8/src/compiler/instruction.cc create mode 100644 deps/v8/src/compiler/instruction.h create mode 100644 deps/v8/src/compiler/ir-operations.txt create mode 100644 deps/v8/src/compiler/js-context-specialization.cc create mode 100644 deps/v8/src/compiler/js-context-specialization.h create mode 100644 deps/v8/src/compiler/js-generic-lowering.cc create mode 100644 deps/v8/src/compiler/js-generic-lowering.h create mode 100644 deps/v8/src/compiler/js-graph.cc create mode 100644 deps/v8/src/compiler/js-graph.h create mode 100644 deps/v8/src/compiler/js-operator.h create mode 100644 deps/v8/src/compiler/js-typed-lowering.cc create mode 100644 deps/v8/src/compiler/js-typed-lowering.h create mode 100644 deps/v8/src/compiler/linkage-impl.h create mode 100644 deps/v8/src/compiler/linkage.cc create mode 100644 deps/v8/src/compiler/linkage.h create mode 100644 deps/v8/src/compiler/lowering-builder.cc create mode 100644 deps/v8/src/compiler/lowering-builder.h create mode 100644 deps/v8/src/compiler/machine-node-factory.h create mode 100644 deps/v8/src/compiler/machine-operator-reducer.cc create mode 100644 deps/v8/src/compiler/machine-operator-reducer.h create mode 100644 deps/v8/src/compiler/machine-operator.h create mode 100644 deps/v8/src/compiler/machine-type.h create mode 100644 deps/v8/src/compiler/node-aux-data-inl.h create mode 100644 deps/v8/src/compiler/node-aux-data.h create mode 100644 deps/v8/src/compiler/node-cache.cc create mode 100644 deps/v8/src/compiler/node-cache.h create mode 100644 deps/v8/src/compiler/node-matchers.h create mode 100644 deps/v8/src/compiler/node-properties-inl.h create mode 100644 deps/v8/src/compiler/node-properties.h create mode 100644 deps/v8/src/compiler/node.cc create mode 100644 deps/v8/src/compiler/node.h create mode 100644 deps/v8/src/compiler/opcodes.h create mode 100644 deps/v8/src/compiler/operator-properties-inl.h create mode 100644 deps/v8/src/compiler/operator-properties.h create mode 100644 deps/v8/src/compiler/operator.h create mode 100644 deps/v8/src/compiler/phi-reducer.h create mode 100644 deps/v8/src/compiler/pipeline.cc create mode 100644 deps/v8/src/compiler/pipeline.h create mode 100644 deps/v8/src/compiler/raw-machine-assembler.cc create mode 100644 deps/v8/src/compiler/raw-machine-assembler.h create mode 100644 deps/v8/src/compiler/register-allocator.cc create mode 100644 deps/v8/src/compiler/register-allocator.h create mode 100644 deps/v8/src/compiler/representation-change.h create mode 100644 deps/v8/src/compiler/schedule.cc create mode 100644 deps/v8/src/compiler/schedule.h create mode 100644 deps/v8/src/compiler/scheduler.cc create mode 100644 deps/v8/src/compiler/scheduler.h create mode 100644 deps/v8/src/compiler/simplified-lowering.cc create mode 100644 deps/v8/src/compiler/simplified-lowering.h create mode 100644 deps/v8/src/compiler/simplified-node-factory.h create mode 100644 deps/v8/src/compiler/simplified-operator.h create mode 100644 deps/v8/src/compiler/source-position.cc create mode 100644 deps/v8/src/compiler/source-position.h create mode 100644 deps/v8/src/compiler/structured-machine-assembler.cc create mode 100644 deps/v8/src/compiler/structured-machine-assembler.h create mode 100644 deps/v8/src/compiler/typer.cc create mode 100644 deps/v8/src/compiler/typer.h create mode 100644 deps/v8/src/compiler/verifier.cc create mode 100644 deps/v8/src/compiler/verifier.h create mode 100644 deps/v8/src/compiler/x64/code-generator-x64.cc create mode 100644 deps/v8/src/compiler/x64/instruction-codes-x64.h create mode 100644 deps/v8/src/compiler/x64/instruction-selector-x64.cc create mode 100644 deps/v8/src/compiler/x64/linkage-x64.cc delete mode 100644 deps/v8/src/debug-agent.cc delete mode 100644 deps/v8/src/debug-agent.h create mode 100644 deps/v8/src/field-index-inl.h create mode 100644 deps/v8/src/field-index.cc create mode 100644 deps/v8/src/field-index.h delete mode 100644 deps/v8/src/harmony-math.js create mode 100644 deps/v8/src/heap/gc-tracer.cc create mode 100644 deps/v8/src/heap/gc-tracer.h rename deps/v8/src/{ => heap}/heap-inl.h (68%) rename deps/v8/src/{ => heap}/heap.cc (68%) rename deps/v8/src/{ => heap}/heap.h (72%) rename deps/v8/src/{ => heap}/incremental-marking-inl.h (82%) rename deps/v8/src/{ => heap}/incremental-marking.cc (72%) rename deps/v8/src/{ => heap}/incremental-marking.h (75%) rename deps/v8/src/{ => heap}/mark-compact-inl.h (74%) rename deps/v8/src/{ => heap}/mark-compact.cc (73%) rename deps/v8/src/{ => heap}/mark-compact.h (83%) rename deps/v8/src/{ => heap}/objects-visiting-inl.h (69%) rename deps/v8/src/{ => heap}/objects-visiting.cc (54%) rename deps/v8/src/{ => heap}/objects-visiting.h (68%) rename deps/v8/src/{ => heap}/spaces-inl.h (72%) rename deps/v8/src/{ => heap}/spaces.cc (79%) rename deps/v8/src/{ => heap}/spaces.h (83%) rename deps/v8/src/{ => heap}/store-buffer-inl.h (75%) rename deps/v8/src/{ => heap}/store-buffer.cc (61%) rename deps/v8/src/{ => heap}/store-buffer.h (84%) rename deps/v8/src/{ => heap}/sweeper-thread.cc (52%) rename deps/v8/src/{ => heap}/sweeper-thread.h (50%) create mode 100644 deps/v8/src/hydrogen-types.cc create mode 100644 deps/v8/src/hydrogen-types.h create mode 100644 deps/v8/src/libplatform/DEPS create mode 100644 deps/v8/src/lithium-inl.h create mode 100644 deps/v8/src/lookup-inl.h create mode 100644 deps/v8/src/lookup.cc create mode 100644 deps/v8/src/lookup.h create mode 100644 deps/v8/src/mips64/OWNERS create mode 100644 deps/v8/src/mips64/assembler-mips64-inl.h create mode 100644 deps/v8/src/mips64/assembler-mips64.cc create mode 100644 deps/v8/src/mips64/assembler-mips64.h create mode 100644 deps/v8/src/mips64/builtins-mips64.cc create mode 100644 deps/v8/src/mips64/code-stubs-mips64.cc create mode 100644 deps/v8/src/mips64/code-stubs-mips64.h create mode 100644 deps/v8/src/mips64/codegen-mips64.cc create mode 100644 deps/v8/src/mips64/codegen-mips64.h create mode 100644 deps/v8/src/mips64/constants-mips64.cc create mode 100644 deps/v8/src/mips64/constants-mips64.h create mode 100644 deps/v8/src/mips64/cpu-mips64.cc create mode 100644 deps/v8/src/mips64/debug-mips64.cc create mode 100644 deps/v8/src/mips64/deoptimizer-mips64.cc create mode 100644 deps/v8/src/mips64/disasm-mips64.cc create mode 100644 deps/v8/src/mips64/frames-mips64.cc create mode 100644 deps/v8/src/mips64/frames-mips64.h create mode 100644 deps/v8/src/mips64/full-codegen-mips64.cc create mode 100644 deps/v8/src/mips64/ic-mips64.cc create mode 100644 deps/v8/src/mips64/lithium-codegen-mips64.cc create mode 100644 deps/v8/src/mips64/lithium-codegen-mips64.h create mode 100644 deps/v8/src/mips64/lithium-gap-resolver-mips64.cc create mode 100644 deps/v8/src/mips64/lithium-gap-resolver-mips64.h create mode 100644 deps/v8/src/mips64/lithium-mips64.cc create mode 100644 deps/v8/src/mips64/lithium-mips64.h create mode 100644 deps/v8/src/mips64/macro-assembler-mips64.cc create mode 100644 deps/v8/src/mips64/macro-assembler-mips64.h create mode 100644 deps/v8/src/mips64/regexp-macro-assembler-mips64.cc create mode 100644 deps/v8/src/mips64/regexp-macro-assembler-mips64.h create mode 100644 deps/v8/src/mips64/simulator-mips64.cc create mode 100644 deps/v8/src/mips64/simulator-mips64.h create mode 100644 deps/v8/src/mips64/stub-cache-mips64.cc create mode 100644 deps/v8/src/natives-external.cc create mode 100644 deps/v8/src/ostreams.cc create mode 100644 deps/v8/src/ostreams.h create mode 100644 deps/v8/src/perf-jit.cc create mode 100644 deps/v8/src/perf-jit.h delete mode 100644 deps/v8/src/platform/socket.cc delete mode 100644 deps/v8/src/platform/socket.h create mode 100644 deps/v8/src/prototype.h create mode 100644 deps/v8/src/snapshot-external.cc create mode 100644 deps/v8/src/snapshot-source-sink.cc create mode 100644 deps/v8/src/snapshot-source-sink.h create mode 100644 deps/v8/src/string-iterator.js create mode 100644 deps/v8/src/third_party/kernel/tools/perf/util/jitdump.h delete mode 100644 deps/v8/src/trig-table.h delete mode 100644 deps/v8/src/v8checks.h delete mode 100644 deps/v8/src/v8globals.h create mode 100644 deps/v8/src/x87/OWNERS create mode 100644 deps/v8/src/x87/assembler-x87-inl.h create mode 100644 deps/v8/src/x87/assembler-x87.cc create mode 100644 deps/v8/src/x87/assembler-x87.h create mode 100644 deps/v8/src/x87/builtins-x87.cc create mode 100644 deps/v8/src/x87/code-stubs-x87.cc create mode 100644 deps/v8/src/x87/code-stubs-x87.h create mode 100644 deps/v8/src/x87/codegen-x87.cc create mode 100644 deps/v8/src/x87/codegen-x87.h create mode 100644 deps/v8/src/x87/cpu-x87.cc create mode 100644 deps/v8/src/x87/debug-x87.cc create mode 100644 deps/v8/src/x87/deoptimizer-x87.cc create mode 100644 deps/v8/src/x87/disasm-x87.cc create mode 100644 deps/v8/src/x87/frames-x87.cc create mode 100644 deps/v8/src/x87/frames-x87.h create mode 100644 deps/v8/src/x87/full-codegen-x87.cc create mode 100644 deps/v8/src/x87/ic-x87.cc create mode 100644 deps/v8/src/x87/lithium-codegen-x87.cc create mode 100644 deps/v8/src/x87/lithium-codegen-x87.h create mode 100644 deps/v8/src/x87/lithium-gap-resolver-x87.cc create mode 100644 deps/v8/src/x87/lithium-gap-resolver-x87.h create mode 100644 deps/v8/src/x87/lithium-x87.cc create mode 100644 deps/v8/src/x87/lithium-x87.h create mode 100644 deps/v8/src/x87/macro-assembler-x87.cc create mode 100644 deps/v8/src/x87/macro-assembler-x87.h create mode 100644 deps/v8/src/x87/regexp-macro-assembler-x87.cc create mode 100644 deps/v8/src/x87/regexp-macro-assembler-x87.h create mode 100644 deps/v8/src/x87/simulator-x87.cc create mode 100644 deps/v8/src/x87/simulator-x87.h create mode 100644 deps/v8/src/x87/stub-cache-x87.cc create mode 100644 deps/v8/test/base-unittests/DEPS create mode 100644 deps/v8/test/base-unittests/base-unittests.gyp create mode 100644 deps/v8/test/base-unittests/base-unittests.status create mode 100644 deps/v8/test/base-unittests/cpu-unittest.cc rename deps/v8/test/{cctest/test-condition-variable.cc => base-unittests/platform/condition-variable-unittest.cc} (58%) create mode 100644 deps/v8/test/base-unittests/platform/mutex-unittest.cc create mode 100644 deps/v8/test/base-unittests/platform/platform-unittest.cc create mode 100644 deps/v8/test/base-unittests/platform/time-unittest.cc create mode 100644 deps/v8/test/base-unittests/testcfg.py create mode 100644 deps/v8/test/base-unittests/utils/random-number-generator-unittest.cc create mode 100644 deps/v8/test/cctest/DEPS create mode 100644 deps/v8/test/cctest/compiler/call-tester.h create mode 100644 deps/v8/test/cctest/compiler/codegen-tester.cc create mode 100644 deps/v8/test/cctest/compiler/codegen-tester.h create mode 100644 deps/v8/test/cctest/compiler/function-tester.h create mode 100644 deps/v8/test/cctest/compiler/graph-builder-tester.cc create mode 100644 deps/v8/test/cctest/compiler/graph-builder-tester.h create mode 100644 deps/v8/test/cctest/compiler/graph-tester.h create mode 100644 deps/v8/test/cctest/compiler/instruction-selector-tester.h create mode 100644 deps/v8/test/cctest/compiler/simplified-graph-builder.cc create mode 100644 deps/v8/test/cctest/compiler/simplified-graph-builder.h create mode 100644 deps/v8/test/cctest/compiler/test-branch-combine.cc create mode 100644 deps/v8/test/cctest/compiler/test-changes-lowering.cc create mode 100644 deps/v8/test/cctest/compiler/test-codegen-deopt.cc create mode 100644 deps/v8/test/cctest/compiler/test-gap-resolver.cc create mode 100644 deps/v8/test/cctest/compiler/test-graph-reducer.cc create mode 100644 deps/v8/test/cctest/compiler/test-instruction-selector-arm.cc create mode 100644 deps/v8/test/cctest/compiler/test-instruction-selector-ia32.cc create mode 100644 deps/v8/test/cctest/compiler/test-instruction-selector.cc create mode 100644 deps/v8/test/cctest/compiler/test-instruction.cc create mode 100644 deps/v8/test/cctest/compiler/test-js-constant-cache.cc create mode 100644 deps/v8/test/cctest/compiler/test-js-context-specialization.cc create mode 100644 deps/v8/test/cctest/compiler/test-js-typed-lowering.cc create mode 100644 deps/v8/test/cctest/compiler/test-linkage.cc create mode 100644 deps/v8/test/cctest/compiler/test-machine-operator-reducer.cc create mode 100644 deps/v8/test/cctest/compiler/test-node-algorithm.cc create mode 100644 deps/v8/test/cctest/compiler/test-node-cache.cc create mode 100644 deps/v8/test/cctest/compiler/test-node.cc create mode 100644 deps/v8/test/cctest/compiler/test-operator.cc create mode 100644 deps/v8/test/cctest/compiler/test-phi-reducer.cc create mode 100644 deps/v8/test/cctest/compiler/test-pipeline.cc create mode 100644 deps/v8/test/cctest/compiler/test-representation-change.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-deopt.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-intrinsics.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-jsbranches.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-jscalls.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-jsexceptions.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-jsops.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-machops.cc create mode 100644 deps/v8/test/cctest/compiler/test-run-variables.cc create mode 100644 deps/v8/test/cctest/compiler/test-schedule.cc create mode 100644 deps/v8/test/cctest/compiler/test-scheduler.cc create mode 100644 deps/v8/test/cctest/compiler/test-simplified-lowering.cc create mode 100644 deps/v8/test/cctest/compiler/test-structured-ifbuilder-fuzzer.cc create mode 100644 deps/v8/test/cctest/compiler/test-structured-machine-assembler.cc create mode 100644 deps/v8/test/cctest/compiler/value-helper.h create mode 100644 deps/v8/test/cctest/test-assembler-mips64.cc create mode 100644 deps/v8/test/cctest/test-assembler-x87.cc create mode 100644 deps/v8/test/cctest/test-checks.cc create mode 100644 deps/v8/test/cctest/test-code-stubs-mips64.cc create mode 100644 deps/v8/test/cctest/test-code-stubs-x87.cc create mode 100644 deps/v8/test/cctest/test-disasm-mips64.cc create mode 100644 deps/v8/test/cctest/test-disasm-x87.cc create mode 100644 deps/v8/test/cctest/test-gc-tracer.cc create mode 100644 deps/v8/test/cctest/test-hydrogen-types.cc create mode 100644 deps/v8/test/cctest/test-libplatform-default-platform.cc create mode 100644 deps/v8/test/cctest/test-macro-assembler-mips64.cc create mode 100644 deps/v8/test/cctest/test-macro-assembler-x87.cc delete mode 100644 deps/v8/test/cctest/test-mutex.cc create mode 100644 deps/v8/test/cctest/test-ostreams.cc delete mode 100644 deps/v8/test/cctest/test-platform-tls.cc delete mode 100644 deps/v8/test/cctest/test-socket.cc delete mode 100644 deps/v8/test/cctest/test-time.cc create mode 100644 deps/v8/test/cctest/test-unscopables-hidden-prototype.cc create mode 100644 deps/v8/test/compiler-unittests/DEPS create mode 100644 deps/v8/test/compiler-unittests/arm/instruction-selector-arm-unittest.cc create mode 100644 deps/v8/test/compiler-unittests/change-lowering-unittest.cc create mode 100644 deps/v8/test/compiler-unittests/compiler-unittests.cc create mode 100644 deps/v8/test/compiler-unittests/compiler-unittests.gyp create mode 100644 deps/v8/test/compiler-unittests/compiler-unittests.h create mode 100644 deps/v8/test/compiler-unittests/compiler-unittests.status create mode 100644 deps/v8/test/compiler-unittests/instruction-selector-unittest.cc create mode 100644 deps/v8/test/compiler-unittests/instruction-selector-unittest.h create mode 100644 deps/v8/test/compiler-unittests/node-matchers.cc create mode 100644 deps/v8/test/compiler-unittests/node-matchers.h create mode 100644 deps/v8/test/compiler-unittests/testcfg.py create mode 100644 deps/v8/test/mjsunit/array-push-unshift-read-only-length.js create mode 100644 deps/v8/test/mjsunit/array-shift2.js create mode 100644 deps/v8/test/mjsunit/array-shift3.js create mode 100644 deps/v8/test/mjsunit/bounds-checks-elimination.js create mode 100644 deps/v8/test/mjsunit/cross-realm-filtering.js create mode 100644 deps/v8/test/mjsunit/debug-break-native.js create mode 100644 deps/v8/test/mjsunit/debug-compile-optimized.js create mode 100644 deps/v8/test/mjsunit/debug-is-active.js rename deps/v8/test/{cctest/test-cpu-x64.cc => mjsunit/debug-toggle-mirror-cache.js} (75%) create mode 100644 deps/v8/test/mjsunit/deserialize-reference.js create mode 100644 deps/v8/test/mjsunit/dictionary-properties.js rename deps/v8/test/mjsunit/{harmony => es6}/array-iterator.js (73%) create mode 100644 deps/v8/test/mjsunit/es6/collection-iterator.js rename deps/v8/test/mjsunit/{harmony => es6}/collections.js (68%) delete mode 100644 deps/v8/test/mjsunit/es6/debug-promises-throw-in-reject.js delete mode 100644 deps/v8/test/mjsunit/es6/debug-promises-undefined-reject.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/async-task-event.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/events.js rename deps/v8/test/mjsunit/es6/{debug-promises-reentry.js => debug-promises/reentry.js} (90%) create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-after-resolve.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-caught-all.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-caught-late.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-caught-uncaught.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-in-constructor.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-uncaught-all.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-uncaught-late.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-uncaught-uncaught.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-with-invalid-reject.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-with-throw-in-reject.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/reject-with-undefined-reject.js rename deps/v8/test/mjsunit/es6/{debug-promises-caught-all.js => debug-promises/throw-caught-all.js} (58%) rename deps/v8/test/mjsunit/es6/{debug-promises-caught-late.js => debug-promises/throw-caught-late.js} (70%) rename deps/v8/test/mjsunit/es6/{debug-promises-caught-uncaught.js => debug-promises/throw-caught-uncaught.js} (63%) rename deps/v8/test/mjsunit/es6/{debug-promises-throw-in-constructor.js => debug-promises/throw-in-constructor.js} (69%) rename deps/v8/test/mjsunit/es6/{debug-promises-uncaught-all.js => debug-promises/throw-uncaught-all.js} (59%) rename deps/v8/test/mjsunit/es6/{debug-promises-uncaught-uncaught.js => debug-promises/throw-uncaught-uncaught.js} (60%) create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/throw-with-throw-in-reject.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/throw-with-undefined-reject.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/try-reject-in-constructor.js create mode 100644 deps/v8/test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js create mode 100644 deps/v8/test/mjsunit/es6/debug-stepin-collections-foreach.js rename deps/v8/test/mjsunit/{harmony => es6}/iteration-semantics.js (82%) rename deps/v8/test/mjsunit/{harmony => es6}/iteration-syntax.js (98%) create mode 100644 deps/v8/test/mjsunit/es6/mirror-collections.js create mode 100644 deps/v8/test/mjsunit/es6/mirror-symbols.js rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-2186.js (98%) rename deps/v8/test/{cctest/test-cpu-ia32.cc => mjsunit/es6/regress/regress-cr372788.js} (75%) rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-crbug-248025.js (98%) rename deps/v8/test/mjsunit/{harmony => es6}/regress/regress-crbug-346141.js (89%) create mode 100644 deps/v8/test/mjsunit/es6/string-html.js create mode 100644 deps/v8/test/mjsunit/es6/string-iterator.js rename deps/v8/test/mjsunit/{harmony => es6}/symbols.js (90%) create mode 100644 deps/v8/test/mjsunit/es6/typed-array-iterator.js create mode 100644 deps/v8/test/mjsunit/es6/unscopables.js delete mode 100644 deps/v8/test/mjsunit/es6/weak_collections.js create mode 100644 deps/v8/test/mjsunit/es7/object-observe-debug-event.js create mode 100644 deps/v8/test/mjsunit/es7/object-observe-runtime.js create mode 100644 deps/v8/test/mjsunit/harmony/arrow-functions.js rename deps/v8/test/mjsunit/{regress/regress-2336.js => harmony/empty-for.js} (70%) create mode 100644 deps/v8/test/mjsunit/harmony/generators-debug-liveedit.js create mode 100644 deps/v8/test/mjsunit/harmony/generators-poisoned-properties.js create mode 100644 deps/v8/test/mjsunit/harmony/proxies-with-unscopables.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-3426.js create mode 100644 deps/v8/test/mjsunit/harmony/string-codepointat.js create mode 100644 deps/v8/test/mjsunit/harmony/string-fromcodepoint.js delete mode 100644 deps/v8/test/mjsunit/harmony/typeof.js create mode 100644 deps/v8/test/mjsunit/keyed-load-dictionary-stub.js create mode 100644 deps/v8/test/mjsunit/migrations.js create mode 100644 deps/v8/test/mjsunit/outobject-double-for-in.js create mode 100644 deps/v8/test/mjsunit/own-symbols.js create mode 100644 deps/v8/test/mjsunit/regress-3456.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3307.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3315.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3334.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3359.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3380.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3392.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3404.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3462.js create mode 100644 deps/v8/test/mjsunit/regress/regress-3476.js create mode 100644 deps/v8/test/mjsunit/regress/regress-370827.js create mode 100644 deps/v8/test/mjsunit/regress/regress-373283.js create mode 100644 deps/v8/test/mjsunit/regress/regress-377290.js create mode 100644 deps/v8/test/mjsunit/regress/regress-379770.js create mode 100644 deps/v8/test/mjsunit/regress/regress-380049.js create mode 100644 deps/v8/test/mjsunit/regress/regress-380092.js create mode 100644 deps/v8/test/mjsunit/regress/regress-381313.js rename deps/v8/test/{cctest/test-cpu.cc => mjsunit/regress/regress-392114.js} (63%) create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-374838.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-380512.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-381534.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-382513.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-385002.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-387599.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-387627.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-387636.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-390918.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-390925.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-393988.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-401915.js create mode 100644 deps/v8/test/mjsunit/regress/regress-debug-context-load.js create mode 100644 deps/v8/test/mjsunit/regress/regress-double-property.js rename deps/v8/test/mjsunit/regress/{regress-global-freeze-const.js => regress-freeze-setter.js} (68%) create mode 100644 deps/v8/test/mjsunit/regress/regress-function-constructor-receiver.js create mode 100644 deps/v8/test/mjsunit/regress/regress-mask-array-length.js rename deps/v8/test/{cctest/test-platform-macos.cc => mjsunit/regress/regress-regexp-nocase.js} (88%) create mode 100644 deps/v8/test/mjsunit/regress/regress-set-flags-stress-compact.js create mode 100644 deps/v8/test/mjsunit/regress/regress-update-field-type-attributes.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/apply.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybuffergetbytelength.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybufferinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybufferisview.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybufferneuter.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybuffersliceimpl.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybufferviewgetbytelength.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arraybufferviewgetbyteoffset.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/arrayconcat.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/availablelocalesof.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/basicjsonstringify.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/booleanize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/boundfunctiongetbindings.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/break.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/breakiteratoradopttext.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/breakiteratorbreaktype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/breakiteratorcurrent.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/breakiteratorfirst.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/breakiteratornext.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/canonicalizelanguagetag.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/changebreakonexception.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/charfromcode.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/checkexecutionstate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/checkisbootstrapping.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/clearbreakpoint.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/clearfunctiontypefeedback.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/clearstepping.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/collectstacktrace.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/compilestring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/constructdouble.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createbreakiterator.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createcollator.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createglobalprivatesymbol.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createjsfunctionproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createjsproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createprivateownsymbol.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createprivatesymbol.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/createsymbol.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetbuffer.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetfloat32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetfloat64.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetint16.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetint8.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetuint16.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetuint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewgetuint8.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetfloat32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetfloat64.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetint16.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetint8.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetuint16.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetuint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dataviewsetuint8.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datecacheversion.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datecurrenttime.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datelocaltimezone.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datemakeday.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/dateparsestring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datesetvalue.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/datetoutc.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugasynctaskevent.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugbreak.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugcallbacksupportsstepping.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugconstructedby.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugdisassembleconstructor.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugdisassemblefunction.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugevaluate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugevaluateglobal.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debuggetproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debuggetpropertydetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debuggetprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugindexedinterceptorelementvalue.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugnamedinterceptorpropertyvalue.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpoppromise.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpreparestepinifstepping.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugprintscopes.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpromiseevent.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpromiserejectevent.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpropertyattributesfromdetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpropertyindexfromdetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpropertytypefromdetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugpushpromise.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugreferencedby.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/debugtrace.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/defineaccessorpropertyunchecked.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/defineapiaccessorproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/definedatapropertyunchecked.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/deleteproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/deoptimizefunction.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/doublehi.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/doublelo.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/enqueuemicrotask.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/estimatenumberofelements.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/executeindebugcontext.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/finisharrayprototypesetup.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/fix.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/flattenstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionbindarguments.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functiongetinferredname.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functiongetname.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functiongetscript.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functiongetscriptsourceposition.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functiongetsourcecode.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionisapifunction.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionisarrow.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionisbuiltin.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionisgenerator.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionmarknameshouldprintasanonymous.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionnameshouldprintasanonymous.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionremoveprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionsetinstanceclassname.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionsetlength.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionsetname.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/functionsetprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getallscopesdetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getargumentsproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getarraykeys.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getbreaklocations.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getcalltrap.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getconstructordelegate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getconstructtrap.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getdataproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getdefaulticulocale.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getdefaultreceiver.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getframecount.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getframedetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getfunctioncodepositionfromsource.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getfunctiondelegate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getfunctionscopecount.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getfunctionscopedetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/gethandler.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getheapusage.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getimplfrominitializedintlobject.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getindexedinterceptorelementnames.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getinterceptorinfo.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getlanguagetagvariants.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getnamedinterceptorpropertynames.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getobjectcontextnotifierperformchange.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getobjectcontextobjectgetnotifier.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getobjectcontextobjectobserve.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getobservationstate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getoptimizationcount.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getownelementnames.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getownproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getownpropertynames.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getpropertynames.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getpropertynamesfast.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getrootnan.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getscopecount.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getscopedetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getscript.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getstepinpositions.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/gettemplatefield.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getthreadcount.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getthreaddetails.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getv8version.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getweakmapentries.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/getweaksetvalues.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/globalprint.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/globalproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/haselement.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/hasownproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/hasproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/havesamemap.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internalcompare.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internaldateformat.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internaldateparse.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internalnumberformat.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internalnumberparse.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/internalsetprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isattachedglobal.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isbreakonexception.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isconcurrentrecompilationsupported.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isextensible.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isinitializedintlobject.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isinitializedintlobjectoftype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isinprototypechain.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isjsfunctionproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isjsglobalproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isjsmodule.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isjsproxy.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isobserved.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isoptimized.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/ispropertyenumerable.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/issloppymodefunction.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/istemplate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/isvalidsmi.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/keyedgetproperty.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/liveeditcheckanddropactivations.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/liveeditcomparestrings.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/liveeditfunctionsetscript.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/loadmutabledouble.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/lookupaccessor.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapclear.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapdelete.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapget.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapgetsize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/maphas.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapiteratorinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapiteratornext.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mapset.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/markasinitializedintlobjectoftype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathacos.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathasin.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathatan.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathatan2.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathexprt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathfloorrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathfround.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathlogrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/mathsqrtrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/maxsmi.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/movearraycontents.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/neveroptimizefunction.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/newarguments.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/newobjectfrombound.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/newstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/newstringwrapper.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/newsymbolwrapper.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/notifycontextdisposed.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberadd.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberand.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbercompare.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberdiv.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberequals.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberimul.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbermod.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbermul.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberor.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbersar.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbershl.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbershr.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbersub.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertoexponential.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertofixed.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertointeger.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertointegermapminuszero.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertojsint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertojsuint32.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertoprecision.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertoradixstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numbertostringrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberunaryminus.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/numberxor.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/objectfreeze.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/objectwascreatedincurrentorigin.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/observationweakmapcreate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/observerobjectandrecordhavesameorigin.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/optimizeobjectforaddingmultipleproperties.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/ownkeys.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/parsejson.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/preventextensions.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/pushifabsent.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/quotejsonstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/regexpcompile.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/regexpconstructresult.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/regexpexecmultiple.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/regexpexecrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/regexpinitializeobject.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/removearrayholes.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/rempio2.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/roundnumber.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/runmicrotasks.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/runninginsimulator.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setadd.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setclear.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setcode.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setdebugeventlistener.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setdelete.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setdisablebreak.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setflags.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setfunctionbreakpoint.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setgetsize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/sethas.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setisobserved.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setiteratorinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setiteratornext.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setprototype.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/setscopevariablevalue.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/smilexicographiccompare.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/sparsejoinwithseparator.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/specialarrayfunctions.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringbuilderconcat.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringbuilderjoin.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringcharcodeatrt.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringequals.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringindexof.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringlastindexof.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringlocalecompare.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringmatch.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringnormalize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringparsefloat.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringparseint.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringreplaceglobalregexpwithstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringreplaceonecharwithstring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringsplit.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringtoarray.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringtolowercase.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringtonumber.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringtouppercase.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/stringtrim.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/symboldescription.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/symbolisprivate.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/symbolregistry.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/tobool.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/tofastproperties.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/traceenter.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/traceexit.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/truncatestring.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/trymigrateinstance.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarraygetbuffer.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarraygetlength.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarrayinitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarrayinitializefromarraylike.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarraymaxsizeinheap.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typedarraysetfastcases.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/typeof.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/unblockconcurrentrecompilation.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/uriescape.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/uriunescape.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/weakcollectiondelete.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/weakcollectionget.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/weakcollectionhas.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/weakcollectioninitialize.js create mode 100644 deps/v8/test/mjsunit/runtime-gen/weakcollectionset.js create mode 100644 deps/v8/testing/gmock.gyp create mode 100644 deps/v8/testing/gtest-type-names.h create mode 100644 deps/v8/testing/gtest.gyp create mode 100644 deps/v8/third_party/fdlibm/LICENSE create mode 100644 deps/v8/third_party/fdlibm/README.v8 create mode 100644 deps/v8/third_party/fdlibm/fdlibm.cc create mode 100644 deps/v8/third_party/fdlibm/fdlibm.h create mode 100644 deps/v8/third_party/fdlibm/fdlibm.js create mode 100644 deps/v8/tools/DEPS rename deps/v8/tools/{generate-trig-table.py => concatenate-files.py} (53%) create mode 100644 deps/v8/tools/external-reference-check.py create mode 100644 deps/v8/tools/gdbinit create mode 100755 deps/v8/tools/generate-runtime-tests.py create mode 100755 deps/v8/tools/push-to-trunk/auto_tag.py create mode 100755 deps/v8/tools/push-to-trunk/bump_up_version.py create mode 100755 deps/v8/tools/run.py create mode 100755 deps/v8/tools/run_benchmarks.py rename deps/v8/tools/testrunner/{network => local}/perfdata.py (100%) create mode 100644 deps/v8/tools/testrunner/local/pool.py create mode 100644 deps/v8/tools/testrunner/local/pool_unittest.py create mode 100644 deps/v8/tools/unittests/run_benchmarks_test.py create mode 100644 deps/v8/tools/whitespace.txt diff --git a/deps/v8/.DEPS.git b/deps/v8/.DEPS.git index e1e6982c05e..7775744953a 100644 --- a/deps/v8/.DEPS.git +++ b/deps/v8/.DEPS.git @@ -13,8 +13,14 @@ vars = { 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/icu46.git@7a1ec88f69e25b3efcf76196d07f7815255db025', + Var('git_url') + '/chromium/deps/icu52.git@26d8859357ac0bfb86b939bf21c087b8eae22494', } deps_os = { @@ -28,14 +34,68 @@ deps_os = { } 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': [ diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index ebcb5816b7d..d0d4b436df1 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -21,11 +21,18 @@ #*# *~ .cpplint-cache +.cproject .d8_history +.gclient_entries +.project +.pydevproject +.settings .*.sw? bsuite d8 d8_g +gccauses +gcsuspects shell shell_g /_* @@ -33,6 +40,7 @@ shell_g /build/gyp /build/ipch/ /build/Release +/buildtools /hydrogen.cfg /obj /out @@ -45,13 +53,18 @@ shell_g /test/benchmarks/sunspider /test/mozilla/CHECKED_OUT_VERSION /test/mozilla/data +/test/mozilla/data.old /test/mozilla/downloaded_* /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz /test/promises-aplus/sinon /test/test262/data +/test/test262/data.old /test/test262/tc39-test262-* -/third_party +/testing/gmock +/testing/gtest +/third_party/icu +/third_party/llvm /tools/jsfunfuzz /tools/jsfunfuzz.zip /tools/oom_dump/oom_dump diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 4ef2bcca339..7ac08156994 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -13,6 +13,7 @@ Bloomberg Finance L.P. NVIDIA Corporation BlackBerry Limited Opera Software ASA +Intel Corporation Akinori MUSHA Alexander Botero-Lowry @@ -24,6 +25,7 @@ Baptiste Afsa Bert Belder Burcu Dogan Craig Schlenter +Chunyang Dai Daniel Andersson Daniel James Derek J Conrod @@ -64,6 +66,7 @@ Subrato K De Tobias Burnus Vincent Belliard Vlad Burlik +Weiliang Lin Xi Qian Yuqiang Xian Zaheer Ahmad diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 2a6178eab07..efa4b717c9a 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -14,17 +14,11 @@ v8_enable_verify_heap = false v8_interpreted_regexp = false v8_object_print = false v8_postmortem_support = false -v8_use_default_platform = true v8_use_snapshot = true - -if (is_debug) { - v8_enable_extra_checks = true -} else { - v8_enable_extra_checks = false -} - -# TODO(jochen): Add support for want_seperate_host_toolset. -# TODO(jochen): Add toolchain.gypi support. +v8_use_external_startup_data = false +v8_enable_extra_checks = is_debug +v8_target_arch = cpu_arch +v8_random_seed = "314159265" ############################################################################### @@ -33,14 +27,32 @@ if (is_debug) { config("internal_config") { visibility = ":*" # Only targets in this file can depend on this. - include_dirs = [ "src" ] + include_dirs = [ "." ] if (component_mode == "shared_library") { defines = [ + "V8_SHARED", "BUILDING_V8_SHARED", + ] + } +} + +config("internal_config_base") { + visibility = ":*" # Only targets in this file can depend on this. + + include_dirs = [ "." ] +} + +# This config should only be applied to code using V8 and not any V8 code +# itself. +config("external_config") { + if (is_component_build) { + defines = [ "V8_SHARED", + "USING_V8_SHARED", ] } + include_dirs = [ "include" ] } config("features") { @@ -83,11 +95,6 @@ config("features") { "V8_I18N_SUPPORT", ] } - if (v8_use_default_platform == true) { - defines += [ - "V8_USE_DEFAULT_PLATFORM", - ] - } if (v8_compress_startup_data == "bz2") { defines += [ "COMPRESS_STARTUP_DATA_BZ2", @@ -103,25 +110,62 @@ config("features") { "ENABLE_HANDLE_ZAPPING", ] } + if (v8_use_external_startup_data == true) { + defines += [ + "V8_USE_EXTERNAL_STARTUP_DATA", + ] + } } -############################################################################### -# Actions -# - -# TODO(jochen): Do actions need visibility settings as well? -action("generate_trig_table") { +config("toolchain") { visibility = ":*" # Only targets in this file can depend on this. - script = "tools/generate-trig-table.py" + defines = [] + cflags = [] - outputs = [ - "$target_gen_dir/trig-table.cc" - ] + # TODO(jochen): Add support for arm, mips, mipsel. - args = rebase_path(outputs, root_build_dir) + if (v8_target_arch == "arm64") { + defines += [ + "V8_TARGET_ARCH_ARM64", + ] + } + if (v8_target_arch == "x86") { + defines += [ + "V8_TARGET_ARCH_IA32", + ] + } + if (v8_target_arch == "x64") { + defines += [ + "V8_TARGET_ARCH_X64", + ] + } + if (is_win) { + defines += [ + "WIN32", + ] + # TODO(jochen): Support v8_enable_prof. + } + + # TODO(jochen): Add support for compiling with simulators. + + if (is_debug) { + # TODO(jochen): Add support for different debug optimization levels. + defines += [ + "ENABLE_DISASSEMBLER", + "V8_ENABLE_CHECKS", + "OBJECT_PRINT", + "VERIFY_HEAP", + "DEBUG", + "OPTIMIZED_DEBUG", + ] + } } +############################################################################### +# Actions +# + action("js2c") { visibility = ":*" # Only targets in this file can depend on this. @@ -134,9 +178,11 @@ action("js2c") { sources = [ "src/runtime.js", "src/v8natives.js", + "src/symbol.js", "src/array.js", "src/string.js", "src/uri.js", + "third_party/fdlibm/fdlibm.js", "src/math.js", "src/messages.js", "src/apinatives.js", @@ -148,8 +194,14 @@ action("js2c") { "src/regexp.js", "src/arraybuffer.js", "src/typedarray.js", + "src/collection.js", + "src/collection-iterator.js", + "src/weak_collection.js", + "src/promise.js", "src/object-observe.js", "src/macros.py", + "src/array-iterator.js", + "src/string-iterator.js", ] outputs = [ @@ -160,10 +212,19 @@ action("js2c") { sources += [ "src/i18n.js" ] } - args = - rebase_path(outputs, root_build_dir) + - [ "EXPERIMENTAL", v8_compress_startup_data ] + - rebase_path(sources, root_build_dir) + 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) { + outputs += [ "$target_gen_dir/libraries.bin" ] + args += [ + "--startup_blob", + rebase_path("$target_gen_dir/libraries.bin", root_build_dir) + ] + } } action("js2c_experimental") { @@ -177,26 +238,53 @@ action("js2c_experimental") { sources = [ "src/macros.py", - "src/symbol.js", "src/proxy.js", - "src/collection.js", - "src/weak_collection.js", - "src/promise.js", "src/generator.js", - "src/array-iterator.js", "src/harmony-string.js", "src/harmony-array.js", - "src/harmony-math.js", ] outputs = [ "$target_gen_dir/experimental-libraries.cc" ] - args = - rebase_path(outputs, root_build_dir) + - [ "CORE", v8_compress_startup_data ] + - rebase_path(sources, root_build_dir) + 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) { + outputs += [ "$target_gen_dir/libraries_experimental.bin" ] + args += [ + "--startup_blob", + rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir) + ] + } +} + +if (v8_use_external_startup_data) { + action("natives_blob") { + visibility = ":*" # Only targets in this file can depend on this. + + deps = [ + ":js2c", + ":js2c_experimental" + ] + + sources = [ + "$target_gen_dir/libraries.bin", + "$target_gen_dir/libraries_experimental.bin" + ] + + outputs = [ + "$root_gen_dir/natives_blob.bin" + ] + + script = "tools/concatenate-files.py" + + args = rebase_path(sources + outputs, root_build_dir) + } } action("postmortem-metadata") { @@ -218,6 +306,40 @@ action("postmortem-metadata") { rebase_path(sources, root_build_dir) } +action("run_mksnapshot") { + visibility = ":*" # Only targets in this file can depend on this. + + deps = [ ":mksnapshot($host_toolchain)" ] + + script = "tools/run.py" + + outputs = [ + "$target_gen_dir/snapshot.cc" + ] + + args = [ + "./" + rebase_path(get_label_info(":mksnapshot($host_toolchain)", + "root_out_dir") + "/mksnapshot", + root_build_dir), + "--log-snapshot-positions", + "--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir), + rebase_path("$target_gen_dir/snapshot.cc", root_build_dir) + ] + + if (v8_random_seed != "0") { + args += [ "--random-seed", v8_random_seed ] + } + + if (v8_use_external_startup_data) { + outputs += [ "$root_gen_dir/snapshot_blob.bin" ] + args += [ + "--startup_blob", + rebase_path("$root_gen_dir/snapshot_blob.bin", root_build_dir) + ] + } +} + + ############################################################################### # Source Sets (aka static libraries) # @@ -228,18 +350,64 @@ source_set("v8_nosnapshot") { deps = [ ":js2c", ":js2c_experimental", - ":generate_trig_table", ":v8_base", ] sources = [ "$target_gen_dir/libraries.cc", "$target_gen_dir/experimental-libraries.cc", - "$target_gen_dir/trig-table.cc", "src/snapshot-empty.cc", + "src/snapshot-common.cc", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] +} + +source_set("v8_snapshot") { + visibility = ":*" # Only targets in this file can depend on this. + + deps = [ + ":js2c", + ":js2c_experimental", + ":run_mksnapshot", + ":v8_base", + ] + + sources = [ + "$target_gen_dir/libraries.cc", + "$target_gen_dir/experimental-libraries.cc", + "$target_gen_dir/snapshot.cc", + "src/snapshot-common.cc", ] - configs += [ ":internal_config", ":features" ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] +} + +if (v8_use_external_startup_data) { + source_set("v8_external_snapshot") { + visibility = ":*" # Only targets in this file can depend on this. + + deps = [ + ":js2c", + ":js2c_experimental", + ":run_mksnapshot", + ":v8_base", + ":natives_blob", + ] + + sources = [ + "src/natives-external.cc", + "src/snapshot-external.cc", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] + } } source_set("v8_base") { @@ -262,10 +430,10 @@ source_set("v8_base") { "src/assembler.h", "src/assert-scope.h", "src/assert-scope.cc", + "src/ast-value-factory.cc", + "src/ast-value-factory.h", "src/ast.cc", "src/ast.h", - "src/atomicops.h", - "src/atomicops_internals_x86_gcc.cc", "src/bignum-dtoa.cc", "src/bignum-dtoa.h", "src/bignum.cc", @@ -291,6 +459,95 @@ source_set("v8_base") { "src/codegen.h", "src/compilation-cache.cc", "src/compilation-cache.h", + "src/compiler/ast-graph-builder.cc", + "src/compiler/ast-graph-builder.h", + "src/compiler/code-generator-impl.h", + "src/compiler/code-generator.cc", + "src/compiler/code-generator.h", + "src/compiler/common-node-cache.h", + "src/compiler/common-operator.h", + "src/compiler/control-builders.cc", + "src/compiler/control-builders.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", + "src/compiler/graph-reducer.cc", + "src/compiler/graph-reducer.h", + "src/compiler/graph-replay.cc", + "src/compiler/graph-replay.h", + "src/compiler/graph-visualizer.cc", + "src/compiler/graph-visualizer.h", + "src/compiler/graph.cc", + "src/compiler/graph.h", + "src/compiler/instruction-codes.h", + "src/compiler/instruction-selector-impl.h", + "src/compiler/instruction-selector.cc", + "src/compiler/instruction-selector.h", + "src/compiler/instruction.cc", + "src/compiler/instruction.h", + "src/compiler/js-context-specialization.cc", + "src/compiler/js-context-specialization.h", + "src/compiler/js-generic-lowering.cc", + "src/compiler/js-generic-lowering.h", + "src/compiler/js-graph.cc", + "src/compiler/js-graph.h", + "src/compiler/js-operator.h", + "src/compiler/js-typed-lowering.cc", + "src/compiler/js-typed-lowering.h", + "src/compiler/linkage-impl.h", + "src/compiler/linkage.cc", + "src/compiler/linkage.h", + "src/compiler/lowering-builder.cc", + "src/compiler/lowering-builder.h", + "src/compiler/machine-node-factory.h", + "src/compiler/machine-operator-reducer.cc", + "src/compiler/machine-operator-reducer.h", + "src/compiler/machine-operator.h", + "src/compiler/node-aux-data-inl.h", + "src/compiler/node-aux-data.h", + "src/compiler/node-cache.cc", + "src/compiler/node-cache.h", + "src/compiler/node-matchers.h", + "src/compiler/node-properties-inl.h", + "src/compiler/node-properties.h", + "src/compiler/node.cc", + "src/compiler/node.h", + "src/compiler/opcodes.h", + "src/compiler/operator-properties-inl.h", + "src/compiler/operator-properties.h", + "src/compiler/operator.h", + "src/compiler/phi-reducer.h", + "src/compiler/pipeline.cc", + "src/compiler/pipeline.h", + "src/compiler/raw-machine-assembler.cc", + "src/compiler/raw-machine-assembler.h", + "src/compiler/register-allocator.cc", + "src/compiler/register-allocator.h", + "src/compiler/representation-change.h", + "src/compiler/schedule.cc", + "src/compiler/schedule.h", + "src/compiler/scheduler.cc", + "src/compiler/scheduler.h", + "src/compiler/simplified-lowering.cc", + "src/compiler/simplified-lowering.h", + "src/compiler/simplified-node-factory.h", + "src/compiler/simplified-operator.h", + "src/compiler/source-position.cc", + "src/compiler/source-position.h", + "src/compiler/structured-machine-assembler.cc", + "src/compiler/structured-machine-assembler.h", + "src/compiler/typer.cc", + "src/compiler/typer.h", + "src/compiler/verifier.cc", + "src/compiler/verifier.h", "src/compiler.cc", "src/compiler.h", "src/contexts.cc", @@ -303,8 +560,6 @@ source_set("v8_base") { "src/cpu-profiler-inl.h", "src/cpu-profiler.cc", "src/cpu-profiler.h", - "src/cpu.cc", - "src/cpu.h", "src/data-flow.cc", "src/data-flow.h", "src/date.cc", @@ -312,8 +567,6 @@ source_set("v8_base") { "src/dateparser-inl.h", "src/dateparser.cc", "src/dateparser.h", - "src/debug-agent.cc", - "src/debug-agent.h", "src/debug.cc", "src/debug.h", "src/deoptimizer.cc", @@ -348,6 +601,9 @@ source_set("v8_base") { "src/fast-dtoa.cc", "src/fast-dtoa.h", "src/feedback-slots.h", + "src/field-index.cc", + "src/field-index.h", + "src/field-index-inl.h", "src/fixed-dtoa.cc", "src/fixed-dtoa.h", "src/flag-definitions.h", @@ -369,14 +625,32 @@ source_set("v8_base") { "src/handles.cc", "src/handles.h", "src/hashmap.h", - "src/heap-inl.h", "src/heap-profiler.cc", "src/heap-profiler.h", "src/heap-snapshot-generator-inl.h", "src/heap-snapshot-generator.cc", "src/heap-snapshot-generator.h", - "src/heap.cc", - "src/heap.h", + "src/heap/gc-tracer.cc", + "src/heap/gc-tracer.h", + "src/heap/heap-inl.h", + "src/heap/heap.cc", + "src/heap/heap.h", + "src/heap/incremental-marking.cc", + "src/heap/incremental-marking.h", + "src/heap/mark-compact-inl.h", + "src/heap/mark-compact.cc", + "src/heap/mark-compact.h", + "src/heap/objects-visiting-inl.h", + "src/heap/objects-visiting.cc", + "src/heap/objects-visiting.h", + "src/heap/spaces-inl.h", + "src/heap/spaces.cc", + "src/heap/spaces.h", + "src/heap/store-buffer-inl.h", + "src/heap/store-buffer.cc", + "src/heap/store-buffer.h", + "src/heap/sweeper-thread.h", + "src/heap/sweeper-thread.cc", "src/hydrogen-alias-analysis.h", "src/hydrogen-bce.cc", "src/hydrogen-bce.h", @@ -425,6 +699,8 @@ source_set("v8_base") { "src/hydrogen-sce.h", "src/hydrogen-store-elimination.cc", "src/hydrogen-store-elimination.h", + "src/hydrogen-types.cc", + "src/hydrogen-types.h", "src/hydrogen-uint32-analysis.cc", "src/hydrogen-uint32-analysis.h", "src/i18n.cc", @@ -434,8 +710,6 @@ source_set("v8_base") { "src/ic-inl.h", "src/ic.cc", "src/ic.h", - "src/incremental-marking.cc", - "src/incremental-marking.h", "src/interface.cc", "src/interface.h", "src/interpreter-irregexp.cc", @@ -447,14 +721,6 @@ source_set("v8_base") { "src/jsregexp-inl.h", "src/jsregexp.cc", "src/jsregexp.h", - "src/lazy-instance.h", - # TODO(jochen): move libplatform/ files to their own target. - "src/libplatform/default-platform.cc", - "src/libplatform/default-platform.h", - "src/libplatform/task-queue.cc", - "src/libplatform/task-queue.h", - "src/libplatform/worker-thread.cc", - "src/libplatform/worker-thread.h", "src/list-inl.h", "src/list.h", "src/lithium-allocator-inl.h", @@ -471,9 +737,10 @@ source_set("v8_base") { "src/log-utils.h", "src/log.cc", "src/log.h", + "src/lookup-inl.h", + "src/lookup.cc", + "src/lookup.h", "src/macro-assembler.h", - "src/mark-compact.cc", - "src/mark-compact.h", "src/messages.cc", "src/messages.h", "src/msan.h", @@ -481,28 +748,16 @@ source_set("v8_base") { "src/objects-debug.cc", "src/objects-inl.h", "src/objects-printer.cc", - "src/objects-visiting.cc", - "src/objects-visiting.h", "src/objects.cc", "src/objects.h", - "src/once.cc", - "src/once.h", - "src/optimizing-compiler-thread.h", "src/optimizing-compiler-thread.cc", + "src/optimizing-compiler-thread.h", + "src/ostreams.cc", + "src/ostreams.h", "src/parser.cc", "src/parser.h", - "src/platform/elapsed-timer.h", - "src/platform/time.cc", - "src/platform/time.h", - "src/platform.h", - "src/platform/condition-variable.cc", - "src/platform/condition-variable.h", - "src/platform/mutex.cc", - "src/platform/mutex.h", - "src/platform/semaphore.cc", - "src/platform/semaphore.h", - "src/platform/socket.cc", - "src/platform/socket.h", + "src/perf-jit.cc", + "src/perf-jit.h", "src/preparse-data-format.h", "src/preparse-data.cc", "src/preparse-data.h", @@ -516,6 +771,7 @@ source_set("v8_base") { "src/property-details.h", "src/property.cc", "src/property.h", + "src/prototype.h", "src/regexp-macro-assembler-irregexp-inl.h", "src/regexp-macro-assembler-irregexp.cc", "src/regexp-macro-assembler-irregexp.h", @@ -547,14 +803,9 @@ 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/spaces-inl.h", - "src/spaces.cc", - "src/spaces.h", - "src/store-buffer-inl.h", - "src/store-buffer.cc", - "src/store-buffer.h", "src/string-search.cc", "src/string-search.h", "src/string-stream.cc", @@ -563,8 +814,6 @@ source_set("v8_base") { "src/strtod.h", "src/stub-cache.cc", "src/stub-cache.h", - "src/sweeper-thread.h", - "src/sweeper-thread.cc", "src/token.cc", "src/token.h", "src/transitions-inl.h", @@ -587,12 +836,8 @@ source_set("v8_base") { "src/utils-inl.h", "src/utils.cc", "src/utils.h", - "src/utils/random-number-generator.cc", - "src/utils/random-number-generator.h", "src/v8.cc", "src/v8.h", - "src/v8checks.h", - "src/v8globals.h", "src/v8memory.h", "src/v8threads.cc", "src/v8threads.h", @@ -605,9 +850,11 @@ source_set("v8_base") { "src/zone-inl.h", "src/zone.cc", "src/zone.h", + "third_party/fdlibm/fdlibm.cc", + "third_party/fdlibm/fdlibm.h", ] - if (cpu_arch == "x86") { + if (v8_target_arch == "x86") { sources += [ "src/ia32/assembler-ia32-inl.h", "src/ia32/assembler-ia32.cc", @@ -636,8 +883,12 @@ source_set("v8_base") { "src/ia32/regexp-macro-assembler-ia32.cc", "src/ia32/regexp-macro-assembler-ia32.h", "src/ia32/stub-cache-ia32.cc", + "src/compiler/ia32/code-generator-ia32.cc", + "src/compiler/ia32/instruction-codes-ia32.h", + "src/compiler/ia32/instruction-selector-ia32.cc", + "src/compiler/ia32/linkage-ia32.cc", ] - } else if (cpu_arch == "x64") { + } else if (v8_target_arch == "x64") { sources += [ "src/x64/assembler-x64-inl.h", "src/x64/assembler-x64.cc", @@ -666,8 +917,12 @@ source_set("v8_base") { "src/x64/regexp-macro-assembler-x64.cc", "src/x64/regexp-macro-assembler-x64.h", "src/x64/stub-cache-x64.cc", + "src/compiler/x64/code-generator-x64.cc", + "src/compiler/x64/instruction-codes-x64.h", + "src/compiler/x64/instruction-selector-x64.cc", + "src/compiler/x64/linkage-x64.cc", ] - } else if (cpu_arch == "arm") { + } else if (v8_target_arch == "arm") { sources += [ "src/arm/assembler-arm-inl.h", "src/arm/assembler-arm.cc", @@ -699,8 +954,12 @@ source_set("v8_base") { "src/arm/regexp-macro-assembler-arm.h", "src/arm/simulator-arm.cc", "src/arm/stub-cache-arm.cc", + "src/compiler/arm/code-generator-arm.cc", + "src/compiler/arm/instruction-codes-arm.h", + "src/compiler/arm/instruction-selector-arm.cc", + "src/compiler/arm/linkage-arm.cc", ] - } else if (cpu_arch == "arm64") { + } else if (v8_target_arch == "arm64") { sources += [ "src/arm64/assembler-arm64.cc", "src/arm64/assembler-arm64.h", @@ -712,7 +971,6 @@ source_set("v8_base") { "src/arm64/code-stubs-arm64.h", "src/arm64/constants-arm64.h", "src/arm64/cpu-arm64.cc", - "src/arm64/cpu-arm64.h", "src/arm64/debug-arm64.cc", "src/arm64/decoder-arm64.cc", "src/arm64/decoder-arm64.h", @@ -744,8 +1002,12 @@ source_set("v8_base") { "src/arm64/stub-cache-arm64.cc", "src/arm64/utils-arm64.cc", "src/arm64/utils-arm64.h", + "src/compiler/arm64/code-generator-arm64.cc", + "src/compiler/arm64/instruction-codes-arm64.h", + "src/compiler/arm64/instruction-selector-arm64.cc", + "src/compiler/arm64/linkage-arm64.cc", ] - } else if (cpu_arch == "mipsel") { + } else if (v8_target_arch == "mipsel") { sources += [ "src/mips/assembler-mips.cc", "src/mips/assembler-mips.h", @@ -780,41 +1042,122 @@ source_set("v8_base") { ] } - configs += [ ":internal_config", ":features" ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] + + defines = [] + deps = [ ":v8_libbase" ] + + if (is_linux) { + if (v8_compress_startup_data == "bz2") { + libs += [ "bz2" ] + } + } + + if (v8_enable_i18n_support) { + deps += [ "//third_party/icu" ] + if (is_win) { + deps += [ "//third_party/icu:icudata" ] + } + # TODO(jochen): Add support for icu_use_data_file_flag + defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ] + } else { + sources -= [ + "src/i18n.cc", + "src/i18n.h", + ] + } + + if (v8_postmortem_support) { + sources += [ "$target_gen_dir/debug-support.cc" ] + deps += [ ":postmortem-metadata" ] + } +} + +source_set("v8_libbase") { + visibility = ":*" # Only targets in this file can depend on this. + + sources = [ + "src/base/atomicops.h", + "src/base/atomicops_internals_arm64_gcc.h", + "src/base/atomicops_internals_arm_gcc.h", + "src/base/atomicops_internals_atomicword_compat.h", + "src/base/atomicops_internals_mac.h", + "src/base/atomicops_internals_mips_gcc.h", + "src/base/atomicops_internals_tsan.h", + "src/base/atomicops_internals_x86_gcc.cc", + "src/base/atomicops_internals_x86_gcc.h", + "src/base/atomicops_internals_x86_msvc.h", + "src/base/build_config.h", + "src/base/cpu.cc", + "src/base/cpu.h", + "src/base/lazy-instance.h", + "src/base/logging.cc", + "src/base/logging.h", + "src/base/macros.h", + "src/base/once.cc", + "src/base/once.h", + "src/base/platform/elapsed-timer.h", + "src/base/platform/time.cc", + "src/base/platform/time.h", + "src/base/platform/condition-variable.cc", + "src/base/platform/condition-variable.h", + "src/base/platform/mutex.cc", + "src/base/platform/mutex.h", + "src/base/platform/platform.h", + "src/base/platform/semaphore.cc", + "src/base/platform/semaphore.h", + "src/base/safe_conversions.h", + "src/base/safe_conversions_impl.h", + "src/base/safe_math.h", + "src/base/safe_math_impl.h", + "src/base/utils/random-number-generator.cc", + "src/base/utils/random-number-generator.h", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config_base", ":features", ":toolchain" ] defines = [] - deps = [] if (is_posix) { sources += [ - "src/platform-posix.cc" + "src/base/platform/platform-posix.cc" ] } if (is_linux) { sources += [ - "src/platform-linux.cc" + "src/base/platform/platform-linux.cc" ] - # TODO(brettw) - # 'conditions': [ - # ['v8_compress_startup_data=="bz2"', { - # 'libraries': [ - # '-lbz2', - # ] - # }], - # ], - libs = [ "rt" ] } else if (is_android) { - # TODO(brettw) OS=="android" condition from tools/gyp/v8.gyp + defines += [ "CAN_USE_VFP_INSTRUCTIONS" ] + + if (build_os == "mac") { + if (current_toolchain == host_toolchain) { + sources += [ "src/base/platform/platform-macos.cc" ] + } else { + sources += [ "src/base/platform/platform-linux.cc" ] + } + } else { + sources += [ "src/base/platform/platform-linux.cc" ] + if (current_toolchain == host_toolchain) { + defines += [ "V8_LIBRT_NOT_AVAILABLE" ] + } + } } else if (is_mac) { - sources += [ "src/platform-macos,cc" ] + sources += [ "src/base/platform/platform-macos.cc" ] } else if (is_win) { + # TODO(jochen): Add support for cygwin. sources += [ - "src/platform-win32.cc", - "src/win32-math.cc", - "src/win32-math.h", + "src/base/platform/platform-win32.cc", + "src/base/win32-headers.h", + "src/base/win32-math.cc", + "src/base/win32-math.h", ] defines += [ "_CRT_RAND_S" ] # for rand_s() @@ -822,52 +1165,117 @@ source_set("v8_base") { libs = [ "winmm.lib", "ws2_32.lib" ] } + # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris. +} + +source_set("v8_libplatform") { + sources = [ + "include/libplatform/libplatform.h", + "src/libplatform/default-platform.cc", + "src/libplatform/default-platform.h", + "src/libplatform/task-queue.cc", + "src/libplatform/task-queue.h", + "src/libplatform/worker-thread.cc", + "src/libplatform/worker-thread.h", + ] - if (v8_enable_i18n_support) { - deps += [ "//third_party/icu" ] - if (is_win) { - deps += [ "//third_party/icu:icudata" ] - } - } else { - sources -= [ - "src/i18n.cc", - "src/i18n.h", - ] - } + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config_base", ":features", ":toolchain" ] - # TODO(brettw) other conditions from v8.gyp - # TODO(brettw) icu_use_data_file_flag + deps = [ + ":v8_libbase", + ] } ############################################################################### # Executables # -# TODO(jochen): Remove this as soon as toolchain.gypi is integrated. -if (build_cpu_arch != cpu_arch) { +if (current_toolchain == host_toolchain) { + executable("mksnapshot") { + visibility = ":*" # Only targets in this file can depend on this. -executable("mksnapshot") { - sources = [ - ] + sources = [ + "src/mksnapshot.cc", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] + + deps = [ + ":v8_base", + ":v8_libplatform", + ":v8_nosnapshot", + ] + + if (v8_compress_startup_data == "bz2") { + libs = [ "bz2" ] + } + } } -} else { +############################################################################### +# Public targets +# + +if (component_mode == "shared_library") { -executable("mksnapshot") { +component("v8") { sources = [ - "src/mksnapshot.cc", + "src/v8dll-main.cc", ] - configs += [ ":internal_config", ":features" ] + if (v8_use_external_startup_data) { + deps = [ + ":v8_base", + ":v8_external_snapshot", + ] + } else if (v8_use_snapshot) { + deps = [ + ":v8_base", + ":v8_snapshot", + ] + } else { + deps = [ + ":v8_base", + ":v8_nosnapshot", + ] + } - deps = [ - ":v8_base", - ":v8_nosnapshot", - ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ ":internal_config", ":features", ":toolchain" ] - if (v8_compress_startup_data == "bz2") { - libs = [ "bz2" ] + direct_dependent_configs = [ ":external_config" ] + + if (is_android && current_toolchain != host_toolchain) { + libs += [ "log" ] } } +} else { + +group("v8") { + if (v8_use_external_startup_data) { + deps = [ + ":v8_base", + ":v8_external_snapshot", + ] + } else if (v8_use_snapshot) { + deps = [ + ":v8_base", + ":v8_snapshot", + ] + } else { + deps = [ + ":v8_base", + ":v8_nosnapshot", + ] + } + + direct_dependent_configs = [ ":external_config" ] +} + } diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 8f1d2563859..0b2872a7c21 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,726 @@ +2014-08-13: Version 3.28.73 + + Performance and stability improvements on all platforms. + + +2014-08-12: Version 3.28.71 + + ToNumber(Symbol) should throw TypeError (issue 3499). + + Performance and stability improvements on all platforms. + + +2014-08-11: Version 3.28.69 + + Performance and stability improvements on all platforms. + + +2014-08-09: Version 3.28.65 + + Performance and stability improvements on all platforms. + + +2014-08-08: Version 3.28.64 + + ES6: Implement WeakMap and WeakSet constructor logic (issue 3399). + + Enable ES6 unscopables (issue 3401). + + Turn on harmony_unscopables for es_staging (issue 3401). + + Remove proxies from --harmony switch for M38, because problems. + + Reland "Add initial support for compiler unit tests using GTest/GMock." + (issue 3489). + + Enable ES6 iteration by default (issue 2214). + + Performance and stability improvements on all platforms. + + +2014-08-07: Version 3.28.62 + + Only escape U+0022 in argument values of `String.prototype` HTML methods + (issue 2217). + + Update webkit test for expected own properties. + + This implements unscopables (issue 3401). + + Add `CheckObjectCoercible` for the `String.prototype` HTML methods + (issue 2218). + + Add initial support for compiler unit tests using GTest/GMock (issue + 3489). + + Trigger exception debug events on Promise reject (Chromium issue + 393913). + + Refactor unit tests for the base library to use GTest (issue 3489). + + Performance and stability improvements on all platforms. + + +2014-08-06: Version 3.28.60 + + Enable ES6 Map and Set by default (issue 1622). + + Performance and stability improvements on all platforms. + + +2014-08-06: Version 3.28.59 + + Removed GetConstructor from the API. Instead either get the + "constructor" property stored in the prototype, or keep a side-table. + + Enable ES6 Symbols by default (issue 2158). + + Performance and stability improvements on all platforms. + + +2014-08-05: Version 3.28.57 + + Add dependencies on gtest and gmock. + + Performance and stability improvements on all platforms. + + +2014-08-04: Version 3.28.54 + + Performance and stability improvements on all platforms. + + +2014-08-01: Version 3.28.53 + + Performance and stability improvements on all platforms. + + +2014-07-31: Version 3.28.52 + + Performance and stability improvements on all platforms. + + +2014-07-31: Version 3.28.51 + + Drop deprecated memory related notification API (Chromium issue 397026). + + Performance and stability improvements on all platforms. + + +2014-07-31: Version 3.28.50 + + Use emergency memory in the case of out of memory during evacuation + (Chromium issue 395314). + + Performance and stability improvements on all platforms. + + +2014-07-30: Version 3.28.48 + + Fix Object.freeze with field type tracking. Keep the descriptor properly + intact while update the field type (issue 3458). + + Performance and stability improvements on all platforms. + + +2014-07-29: Version 3.28.45 + + Performance and stability improvements on all platforms. + + +2014-07-28: Version 3.28.43 + + Performance and stability improvements on all platforms. + + +2014-07-25: Version 3.28.38 + + Fix issue with setters and their holders in accessors.cc (Chromium issue + 3462). + + Introduce more debug events for promises (issue 3093). + + Move gc notifications from V8 to Isolate and make idle hint mandatory + (Chromium issue 397026). + + The accessors should get the value from the holder and not from this + (issue 3461). + + Performance and stability improvements on all platforms. + + +2014-07-24: Version 3.28.35 + + Rebaseline/update the intl tests with ICU 52 (issue 3454). + + Expose the content of Sets and WeakSets through SetMirror (issue 3093). + + Performance and stability improvements on all platforms. + + +2014-07-23: Version 3.28.32 + + Update ICU to 5.2 (matching chromium) (issue 3452). + + Performance and stability improvements on all platforms. + + +2014-07-22: Version 3.28.31 + + Remove harmony-typeof. + + Implement String.prototype.codePointAt and String.fromCodePoint (issue + 2840). + + Performance and stability improvements on all platforms. + + +2014-07-21: Version 3.28.30 + + Performance and stability improvements on all platforms. + + +2014-07-21: Version 3.28.29 + + Performance and stability improvements on all platforms. + + +2014-07-18: Version 3.28.28 + + Performance and stability improvements on all platforms. + + +2014-07-17: Version 3.28.26 + + Ship ES6 Math functions (issue 2938). + + Make ToPrimitive throw on symbol wrappers (issue 3442). + + Performance and stability improvements on all platforms. + + +2014-07-16: Version 3.28.25 + + Performance and stability improvements on all platforms. + + +2014-07-16: Version 3.28.24 + + Removed some copy-n-paste from StackFrame::Foo API entries (issue 3436). + + Performance and stability improvements on all platforms. + + +2014-07-15: Version 3.28.23 + + Fix error message about read-only symbol properties (issue 3441). + + Include symbol properties in Object.{create,defineProperties} (issue + 3440). + + Performance and stability improvements on all platforms. + + +2014-07-14: Version 3.28.22 + + Performance and stability improvements on all platforms. + + +2014-07-11: Version 3.28.21 + + Make `let` usable as an identifier in ES6 sloppy mode (issue 2198). + + Support ES6 Map and Set in heap profiler (issue 3368). + + Performance and stability improvements on all platforms. + + +2014-07-10: Version 3.28.20 + + Remove deprecate counter/histogram methods. + + Fixed printing of external references (Chromium issue 392068). + + Fix several issues with ES6 redeclaration checks (issue 3426). + + Performance and stability improvements on all platforms. + + +2014-07-09: Version 3.28.19 + + Performance and stability improvements on all platforms. + + +2014-07-09: Version 3.28.18 + + Reland "Postpone termination exceptions in debug scope." (issue 3408). + + Performance and stability improvements on all platforms. + + +2014-07-08: Version 3.28.17 + + MIPS: Fix computed properties on object literals with a double as + propertyname (Chromium issue 390732). + + Performance and stability improvements on all platforms. + + +2014-07-08: Version 3.28.16 + + Fix computed properties on object literals with a double as propertyname + (Chromium issue 390732). + + Avoid brittle use of .bind in Promise.all (issue 3420). + + Performance and stability improvements on all platforms. + + +2014-07-07: Version 3.28.15 + + Remove a bunch of Isolate::UncheckedCurrent calls. + + Performance and stability improvements on all platforms. + + +2014-07-07: Version 3.28.14 + + Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue + 390732). + + Introduce debug events for Microtask queue (Chromium issue 272416). + + Split out libplatform into a separate libary. + + Add clang-format to presubmit checks. + + Stack traces exposed to Javascript should omit extensions (issue 311). + + Remove deprecated v8::Context::HasOutOfMemoryException. + + Postpone termination exceptions in debug scope (issue 3408). + + Performance and stability improvements on all platforms. + + +2014-07-04: Version 3.28.13 + + Rollback to r22134. + + +2014-07-04: Version 3.28.12 + + Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue + 390732). + + Introduce debug events for Microtask queue (Chromium issue 272416). + + Performance and stability improvements on all platforms. + + +2014-07-03: Version 3.28.11 + + Split out libplatform into a separate libary. + + Performance and stability improvements on all platforms. + + +2014-07-03: Version 3.28.10 + + Add clang-format to presubmit checks. + + Stack traces exposed to Javascript should omit extensions (issue 311). + + Remove deprecated v8::Context::HasOutOfMemoryException. + + Postpone termination exceptions in debug scope (issue 3408). + + Performance and stability improvements on all platforms. + + +2014-07-02: Version 3.28.9 + + Make freeze & friends ignore private properties (issue 3419). + + Introduce a builddeps make target (issue 3418). + + Performance and stability improvements on all platforms. + + +2014-07-01: Version 3.28.8 + + Remove static initializer from isolate. + + ES6: Add missing Set.prototype.keys function (issue 3411). + + Introduce debug events for promises (issue 3093). + + Performance and stability improvements on all platforms. + + +2014-06-30: Version 3.28.7 + + Performance and stability improvements on all platforms. + + +2014-06-30: Version 3.28.6 + + Unbreak "os" stuff in shared d8 builds (issue 3407). + + Performance and stability improvements on all platforms. + + +2014-06-26: Version 3.28.4 + + Compile optimized code with active debugger but no break points + (Chromium issue 386492). + + Optimize Map/Set.prototype.forEach. + + Collect garbage with kReduceMemoryFootprintMask in IdleNotification + (Chromium issue 350720). + + Performance and stability improvements on all platforms. + + +2014-06-26: Version 3.28.3 + + Grow heap slower if GC freed many global handles (Chromium issue + 263503). + + Performance and stability improvements on all platforms. + + +2014-06-25: Version 3.28.2 + + Remove bogus assertions in HCompareObjectEqAndBranch (Chromium issue + 387636). + + Do not eagerly update allow_osr_at_loop_nesting_level (Chromium issue + 387599). + + Set host_arch to ia32 on machines with a 32bit userland but a 64bit + kernel (Chromium issue 368384). + + Map/Set: Implement constructor parameter handling (issue 3398). + + Performance and stability improvements on all platforms. + + +2014-06-24: Version 3.28.1 + + Support LiveEdit on Arm64 (Chromium issue 368580). + + Run JS micro tasks in the appropriate context (Chromium issue 385349). + + Add a use counter API. + + Set host_arch to ia32 on machines with a 32bit userland but a 64bit + kernel. + + Performance and stability improvements on all platforms. + + +2014-06-23: Version 3.28.0 + + MIPS: Support LiveEdit (Chromium issue 368580). + + Array.concat: properly go to dictionary mode when required (Chromium + issue 387031). + + Support LiveEdit on ARM (Chromium issue 368580). + + Performance and stability improvements on all platforms. + + +2014-06-18: Version 3.27.34 + + Reduce number of writes to DependentCode array when inserting dependent + IC (Chromium issue 305878). + + Performance and stability improvements on all platforms. + + +2014-06-17: Version 3.27.33 + + Do GC if CodeRange fails to allocate a block (Chromium issue 305878). + + Throw syntax error when a getter/setter has the wrong number of params + (issue 3371). + + Performance and stability improvements on all platforms. + + +2014-06-17: Version 3.27.32 + + Performance and stability improvements on all platforms. + + +2014-06-16: Version 3.27.31 + + Version fix. + + +2014-06-16: Version 3.27.30 + + Fix representation of Phis for mutable-heapnumber-in-object-literal + properties (issue 3392). + + Performance and stability improvements on all platforms. + + +2014-06-16: Version 3.27.29 + + Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion. + + X87: Fixed flooring division by a power of 2, once again.. (issue 3259). + + Fixed undefined behavior in RNG (Chromium issue 377790). + + Performance and stability improvements on all platforms. + + +2014-06-13: Version 3.27.28 + + Add v8::Promise::Then (Chromium issue 371288). + + Performance and stability improvements on all platforms. + + +2014-06-12: Version 3.27.27 + + Fix detection of VFP3D16 on Galaxy Tab 10.1 (issue 3387). + + Performance and stability improvements on all platforms. + + +2014-06-12: Version 3.27.26 + + MIPS: Fixed flooring division by a power of 2, once again.. (issue + 3259). + + Fixed flooring division by a power of 2, once again.. (issue 3259). + + Fix unsigned comparisons (issue 3380). + + Performance and stability improvements on all platforms. + + +2014-06-11: Version 3.27.25 + + Performance and stability improvements on all platforms. + + +2014-06-11: Version 3.27.24 + + Fix invalid attributes when generalizing because of incompatible map + change (Chromium issue 382143). + + Fix missing smi check in inlined indexOf/lastIndexOf (Chromium issue + 382513). + + Performance and stability improvements on all platforms. + + +2014-06-06: Version 3.27.23 + + Performance and stability improvements on all platforms. + + +2014-06-06: Version 3.27.22 + + Performance and stability improvements on all platforms. + + +2014-06-06: Version 3.27.21 + + Turn on harmony_collections for es_staging (issue 1622). + + Do not make heap iterable eagerly (Chromium issue 379740). + + Performance and stability improvements on all platforms. + + +2014-06-05: Version 3.27.20 + + Fix invalid loop condition for Array.lastIndexOf() (Chromium issue + 380512). + + Add API support for passing a C++ function as a microtask callback. + + Performance and stability improvements on all platforms. + + +2014-06-04: Version 3.27.19 + + Split Put into Put and Remove. + + ES6: Add support for values/keys/entries for Map and Set (issue 1793). + + Performance and stability improvements on all platforms. + + +2014-06-03: Version 3.27.18 + + Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable + properties. + + Performance and stability improvements on all platforms. + + +2014-06-02: Version 3.27.17 + + BuildNumberToString: Check for undefined keys in the cache (Chromium + issue 368114). + + HRor and HSar can deoptimize (issue 3359). + + Simplify, speed-up correct-context ObjectObserve calls. + + Performance and stability improvements on all platforms. + + +2014-05-29: Version 3.27.16 + + Allow microtasks to throw exceptions and handle them gracefully + (Chromium issue 371566). + + Performance and stability improvements on all platforms. + + +2014-05-28: Version 3.27.15 + + Performance and stability improvements on all platforms. + + +2014-05-27: Version 3.27.14 + + Reland "Customized support for feedback on calls to Array." and follow- + up fixes (Chromium issues 377198, 377290). + + Performance and stability improvements on all platforms. + + +2014-05-26: Version 3.27.13 + + Performance and stability improvements on all platforms. + + +2014-05-26: Version 3.27.12 + + Check for cached transition to ExternalArray elements kind (issue 3337). + + Support ES6 weak collections in heap profiler (Chromium issue 376196). + + Performance and stability improvements on all platforms. + + +2014-05-23: Version 3.27.11 + + Add support for ES6 Symbol in heap profiler (Chromium issue 376194). + + Performance and stability improvements on all platforms. + + +2014-05-22: Version 3.27.10 + + Implement Mirror object for Symbols (issue 3290). + + Allow debugger to step into Map and Set forEach callbacks (issue 3341). + + Fix ArrayShift hydrogen support (Chromium issue 374838). + + Use SameValueZero for Map and Set (issue 1622). + + Array Iterator next should check for own property. + + Performance and stability improvements on all platforms. + + +2014-05-21: Version 3.27.9 + + Disable ArrayShift hydrogen support (Chromium issue 374838). + + ES6 Map/Set iterators/forEach improvements (issue 1793). + + Performance and stability improvements on all platforms. + + +2014-05-20: Version 3.27.8 + + Move microtask queueing logic from JavaScript to C++. + + Partial revert of "Next bunch of fixes for check elimination" (Chromium + issue 372173). + + Performance and stability improvements on all platforms. + + +2014-05-19: Version 3.27.7 + + Performance and stability improvements on all platforms. + + +2014-05-19: Version 3.27.6 + + Performance and stability improvements on all platforms. + + +2014-05-16: Version 3.27.5 + + Performance and stability improvements on all platforms. + + +2014-05-15: Version 3.27.4 + + Drop thenable coercion cache (Chromium issue 372788). + + Skip write barriers when updating the weak hash table (Chromium issue + 359401). + + Performance and stability improvements on all platforms. + + +2014-05-14: Version 3.27.3 + + Performance and stability improvements on all platforms. + + +2014-05-13: Version 3.27.2 + + Harden %SetIsObserved with RUNTIME_ASSERTs (Chromium issue 371782). + + Drop unused static microtask API. + + Introduce an api to query the microtask autorun state of an isolate. + + Performance and stability improvements on all platforms. + + +2014-05-12: Version 3.27.1 + + Object.observe: avoid accessing acceptList properties more than once + (issue 3315). + + Array Iterator prototype should not have a constructor (issue 3293). + + Fix typos in unit test for Array.prototype.fill(). + + Shorten autogenerated error message for functions only (issue 3019, + Chromium issue 331971). + + Reland "Removed default Isolate." (Chromium issue 359977). + + Performance and stability improvements on all platforms. + + +2014-05-09: Version 3.27.0 + + Unbreak samples and tools. + + Performance and stability improvements on all platforms. + + 2014-05-08: Version 3.26.33 Removed default Isolate (Chromium issue 359977). diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 24b7841584f..9459204f2cb 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -2,26 +2,89 @@ # directory and assume that the root of the checkout is in ./v8/, so # all paths in here must match this assumption. +vars = { + "chromium_trunk": "https://src.chromium.org/svn/trunk", + + "buildtools_revision": "fb782d4369d5ae04f17a2fceef7de5a63e50f07b", +} + deps = { # Remember to keep the revision in sync with the Makefile. "v8/build/gyp": "http://gyp.googlecode.com/svn/trunk@1831", "v8/third_party/icu": - "https://src.chromium.org/svn/trunk/deps/third_party/icu46@258359", + Var("chromium_trunk") + "/deps/third_party/icu52@277999", + + "v8/buildtools": + "https://chromium.googlesource.com/chromium/buildtools.git@" + + Var("buildtools_revision"), + + "v8/testing/gtest": + "http://googletest.googlecode.com/svn/trunk@692", + + "v8/testing/gmock": + "http://googlemock.googlecode.com/svn/trunk@485", } deps_os = { "win": { "v8/third_party/cygwin": - "http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844", + Var("chromium_trunk") + "/deps/third_party/cygwin@66844", "v8/third_party/python_26": - "http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111", + Var("chromium_trunk") + "/tools/third_party/python_26@89111", } } +include_rules = [ + # Everybody can use some things. + "+include", + "+unicode", + "+third_party/fdlibm", +] + +# checkdeps.py shouldn't check for includes in these directories: +skip_child_includes = [ + "build", + "third_party", +] + hooks = [ + # Pull clang-format binaries using checked-in hashes. + { + "name": "clang_format_win", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--platform=win32", + "--no_auth", + "--bucket", "chromium-clang-format", + "-s", "v8/buildtools/win/clang-format.exe.sha1", + ], + }, + { + "name": "clang_format_mac", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--platform=darwin", + "--no_auth", + "--bucket", "chromium-clang-format", + "-s", "v8/buildtools/mac/clang-format.sha1", + ], + }, + { + "name": "clang_format_linux", + "pattern": ".", + "action": [ "download_from_google_storage", + "--no_resume", + "--platform=linux*", + "--no_auth", + "--bucket", "chromium-clang-format", + "-s", "v8/buildtools/linux64/clang-format.sha1", + ], + }, { # 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 a99b09c0705..96d7a7ae4d3 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -70,6 +70,10 @@ ifeq ($(backtrace), off) else GYPFLAGS += -Dv8_enable_backtrace=1 endif +# verifypredictable=on +ifeq ($(verifypredictable), on) + GYPFLAGS += -Dv8_enable_verify_predictable=1 +endif # snapshot=off ifeq ($(snapshot), off) GYPFLAGS += -Dv8_use_snapshot='false' @@ -156,11 +160,6 @@ ifeq ($(armv7), true) endif endif endif -# vfp2=off. Deprecated, use armfpu= -# vfp3=off. Deprecated, use armfpu= -ifeq ($(vfp3), off) - GYPFLAGS += -Darm_fpu=vfp -endif # hardfp=on/off. Deprecated, use armfloatabi ifeq ($(hardfp),on) GYPFLAGS += -Darm_float_abi=hard @@ -169,16 +168,10 @@ ifeq ($(hardfp),off) GYPFLAGS += -Darm_float_abi=softfp endif endif -# armneon=on/off -ifeq ($(armneon), on) - GYPFLAGS += -Darm_neon=1 -endif # fpu: armfpu=xxx # xxx: vfp, vfpv3-d16, vfpv3, neon. ifeq ($(armfpu),) -ifneq ($(vfp3), off) GYPFLAGS += -Darm_fpu=default -endif else GYPFLAGS += -Darm_fpu=$(armfpu) endif @@ -198,19 +191,19 @@ ifeq ($(armthumb), on) GYPFLAGS += -Darm_thumb=1 endif endif -# armtest=on +# arm_test_noprobe=on # With this flag set, by default v8 will only use features implied # by the compiler (no probe). This is done by modifying the default -# values of enable_armv7, enable_vfp2, enable_vfp3 and enable_32dregs. +# values of enable_armv7, enable_vfp3, enable_32dregs and enable_neon. # Modifying these flags when launching v8 will enable the probing for # the specified values. -# When using the simulator, this flag is implied. -ifeq ($(armtest), on) - GYPFLAGS += -Darm_test=on +ifeq ($(arm_test_noprobe), on) + GYPFLAGS += -Darm_test_noprobe=on endif # ----------------- available targets: -------------------- -# - "dependencies": pulls in external dependencies (currently: GYP) +# - "builddeps": pulls in external dependencies for building +# - "dependencies": pulls in all external dependencies # - "grokdump": rebuilds heap constants lists used by grokdump # - any arch listed in ARCHES (see below) # - any mode listed in MODES @@ -228,11 +221,11 @@ endif # Architectures and modes to be compiled. Consider these to be internal # variables, don't override them (use the targets instead). -ARCHES = ia32 x64 arm arm64 mips mipsel +ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64el x87 DEFAULT_ARCHES = ia32 x64 arm MODES = release debug optdebug DEFAULT_MODES = release debug -ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel +ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel android_x87 NACL_ARCHES = nacl_ia32 nacl_x64 # List of files that trigger Makefile regeneration: @@ -258,7 +251,7 @@ NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS)) # File where previously used GYPFLAGS are stored. ENVFILE = $(OUTDIR)/environment -.PHONY: all check clean dependencies $(ENVFILE).new native \ +.PHONY: all check clean builddeps dependencies $(ENVFILE).new native \ qc quickcheck $(QUICKCHECKS) \ $(addsuffix .quickcheck,$(MODES)) $(addsuffix .quickcheck,$(ARCHES)) \ $(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ @@ -406,18 +399,22 @@ clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.cl # GYP file generation targets. OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS)) $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE) - PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ - PYTHONPATH="$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ + $(eval CXX_TARGET_ARCH:=$(shell $(CXX) -v 2>&1 | grep ^Target: | \ + cut -f 2 -d " " | cut -f 1 -d "-" )) + $(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH))) + $(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@)))) + PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ GYP_GENERATORS=make \ build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ -Ibuild/standalone.gypi --depth=. \ - -Dv8_target_arch=$(subst .,,$(suffix $(basename $@))) \ + -Dv8_target_arch=$(V8_TARGET_ARCH) \ + $(if $(findstring $(CXX_TARGET_ARCH),$(V8_TARGET_ARCH)), \ + -Dtarget_arch=$(V8_TARGET_ARCH),) \ $(if $(findstring optdebug,$@),-Dv8_optimized_debug=2,) \ -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS) $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE) - PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ - PYTHONPATH="$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ + PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \ GYP_GENERATORS=make \ build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS) @@ -471,11 +468,26 @@ GPATH GRTAGS GSYMS GTAGS: gtags.files $(shell cat gtags.files 2> /dev/null) gtags.clean: rm -f gtags.files GPATH GRTAGS GSYMS GTAGS -# Dependencies. +# Dependencies. "builddeps" are dependencies required solely for building, +# "dependencies" includes also dependencies required for development. # Remember to keep these in sync with the DEPS file. -dependencies: +builddeps: svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \ --revision 1831 - svn checkout --force \ - https://src.chromium.org/chrome/trunk/deps/third_party/icu46 \ - third_party/icu --revision 258359 + if svn info third_party/icu 2>&1 | grep -q icu46 ; then \ + svn switch --force \ + https://src.chromium.org/chrome/trunk/deps/third_party/icu52 \ + third_party/icu --revision 277999 ; \ + else \ + svn checkout --force \ + 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 \ + testing/gtest --revision 692 + svn checkout --force http://googlemock.googlecode.com/svn/trunk \ + testing/gmock --revision 485 + +dependencies: builddeps + # The spec is a copy of the hooks in v8's DEPS file. + gclient sync -r fb782d4369d5ae04f17a2fceef7de5a63e50f07b --spec="solutions = [{u'managed': False, u'name': u'buildtools', u'url': u'https://chromium.googlesource.com/chromium/buildtools.git', u'custom_deps': {}, u'custom_hooks': [{u'name': u'clang_format_win',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=win32',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/win/clang-format.exe.sha1']},{u'name': u'clang_format_mac',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=darwin',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/mac/clang-format.sha1']},{u'name': u'clang_format_linux',u'pattern': u'.',u'action': [u'download_from_google_storage',u'--no_resume',u'--platform=linux*',u'--no_auth',u'--bucket',u'chromium-clang-format',u'-s',u'buildtools/linux64/clang-format.sha1']}],u'deps_file': u'.DEPS.git', u'safesync_url': u''}]" diff --git a/deps/v8/Makefile.android b/deps/v8/Makefile.android index 396b58d7444..d46af31fdb7 100644 --- a/deps/v8/Makefile.android +++ b/deps/v8/Makefile.android @@ -26,7 +26,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Those definitions should be consistent with the main Makefile -ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel +ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel android_x87 MODES = release debug # Generates all combinations of ANDROID ARCHES and MODES, @@ -51,13 +51,13 @@ ifeq ($(ARCH), android_arm) DEFINES += arm_neon=0 arm_version=7 TOOLCHAIN_ARCH = arm-linux-androideabi TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) - TOOLCHAIN_VER = 4.6 + TOOLCHAIN_VER = 4.8 else ifeq ($(ARCH), android_arm64) - DEFINES = target_arch=arm64 v8_target_arch=arm64 android_target_arch=arm64 android_target_platform=20 + 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.8 + TOOLCHAIN_VER = 4.9 else ifeq ($(ARCH), android_mipsel) DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_platform=14 @@ -73,7 +73,14 @@ else TOOLCHAIN_PREFIX = i686-linux-android TOOLCHAIN_VER = 4.6 else - $(error Target architecture "${ARCH}" is not supported) + 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.6 + else + $(error Target architecture "${ARCH}" is not supported) + endif endif endif endif @@ -91,6 +98,7 @@ endif # For mksnapshot host generation. DEFINES += host_os=${HOST_OS} +DEFINES += OS=android .SECONDEXPANSION: $(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$@ @@ -112,7 +120,7 @@ $(ANDROID_MAKEFILES): GYP_DEFINES="${DEFINES}" \ CC="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-gcc" \ CXX="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-g++" \ - PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ + PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH)" \ build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \ -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \ -S$(suffix $(basename $@))$(suffix $@) ${GYPFLAGS} diff --git a/deps/v8/Makefile.nacl b/deps/v8/Makefile.nacl index 1d34a3b30aa..34bd960fed1 100644 --- a/deps/v8/Makefile.nacl +++ b/deps/v8/Makefile.nacl @@ -97,7 +97,7 @@ $(NACL_MAKEFILES): GYP_DEFINES="${GYPENV}" \ CC=${NACL_CC} \ CXX=${NACL_CXX} \ - PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ + PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH)" \ build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \ -Ibuild/standalone.gypi --depth=. \ -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS) \ diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index 2fbb3ef2ac1..f67b3ec5c62 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -18,4 +18,5 @@ titzer@chromium.org ulan@chromium.org vegorov@chromium.org verwaest@chromium.org +vogelheim@chromium.org yangguo@chromium.org diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 41d79eb5300..55bb99ab8ac 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -31,6 +31,9 @@ for more details about the presubmit API built into gcl. """ +import sys + + def _V8PresubmitChecks(input_api, output_api): """Runs the V8 presubmit checks.""" import sys @@ -38,6 +41,8 @@ def _V8PresubmitChecks(input_api, output_api): input_api.PresubmitLocalPath(), 'tools')) from presubmit import CppLintProcessor from presubmit import SourceProcessor + from presubmit import CheckGeneratedRuntimeTests + from presubmit import CheckExternalReferenceRegistration results = [] if not CppLintProcessor().Run(input_api.PresubmitLocalPath()): @@ -46,6 +51,65 @@ def _V8PresubmitChecks(input_api, output_api): results.append(output_api.PresubmitError( "Copyright header, trailing whitespaces and two empty lines " \ "between declarations check failed")) + if not CheckGeneratedRuntimeTests(input_api.PresubmitLocalPath()): + results.append(output_api.PresubmitError( + "Generated runtime tests check failed")) + if not CheckExternalReferenceRegistration(input_api.PresubmitLocalPath()): + results.append(output_api.PresubmitError( + "External references registration check failed")) + return results + + +def _CheckUnwantedDependencies(input_api, output_api): + """Runs checkdeps on #include statements added in this + change. Breaking - rules is an error, breaking ! rules is a + warning. + """ + # We need to wait until we have an input_api object and use this + # roundabout construct to import checkdeps because this file is + # eval-ed and thus doesn't have __file__. + original_sys_path = sys.path + try: + sys.path = sys.path + [input_api.os_path.join( + input_api.PresubmitLocalPath(), 'buildtools', 'checkdeps')] + import checkdeps + from cpp_checker import CppChecker + from rules import Rule + finally: + # Restore sys.path to what it was before. + sys.path = original_sys_path + + added_includes = [] + for f in input_api.AffectedFiles(): + if not CppChecker.IsCppFile(f.LocalPath()): + continue + + changed_lines = [line for line_num, line in f.ChangedContents()] + added_includes.append([f.LocalPath(), changed_lines]) + + deps_checker = checkdeps.DepsChecker(input_api.PresubmitLocalPath()) + + error_descriptions = [] + warning_descriptions = [] + for path, rule_type, rule_description in deps_checker.CheckAddedCppIncludes( + added_includes): + description_with_path = '%s\n %s' % (path, rule_description) + if rule_type == Rule.DISALLOW: + error_descriptions.append(description_with_path) + else: + warning_descriptions.append(description_with_path) + + results = [] + if error_descriptions: + results.append(output_api.PresubmitError( + 'You added one or more #includes that violate checkdeps rules.', + error_descriptions)) + if warning_descriptions: + results.append(output_api.PresubmitPromptOrNotify( + 'You added one or more #includes of files that are temporarily\n' + 'allowed but being removed. Can you avoid introducing the\n' + '#include? See relevant DEPS file(s) for details and contacts.', + warning_descriptions)) return results @@ -54,7 +118,10 @@ def _CommonChecks(input_api, output_api): results = [] results.extend(input_api.canned_checks.CheckOwners( input_api, output_api, source_file_filter=None)) + results.extend(input_api.canned_checks.CheckPatchFormatted( + input_api, output_api)) results.extend(_V8PresubmitChecks(input_api, output_api)) + results.extend(_CheckUnwantedDependencies(input_api, output_api)) return results @@ -110,7 +177,9 @@ def GetPreferredTryMasters(project, change): 'v8_linux64_rel': set(['defaulttests']), 'v8_linux_arm_dbg': set(['defaulttests']), 'v8_linux_arm64_rel': set(['defaulttests']), + 'v8_linux_layout_dbg': set(['defaulttests']), 'v8_mac_rel': set(['defaulttests']), 'v8_win_rel': set(['defaulttests']), + 'v8_win64_rel': set(['defaulttests']), }, } diff --git a/deps/v8/benchmarks/v8.json b/deps/v8/benchmarks/v8.json new file mode 100644 index 00000000000..f4210d9d406 --- /dev/null +++ b/deps/v8/benchmarks/v8.json @@ -0,0 +1,16 @@ +{ + "path": ["."], + "main": "run.js", + "run_count": 2, + "results_regexp": "^%s: (.+)$", + "benchmarks": [ + {"name": "Richards"}, + {"name": "DeltaBlue"}, + {"name": "Crypto"}, + {"name": "RayTrace"}, + {"name": "EarleyBoyer"}, + {"name": "RegExp"}, + {"name": "Splay"}, + {"name": "NavierStokes"} + ] +} diff --git a/deps/v8/build/all.gyp b/deps/v8/build/all.gyp index 3860379ea9c..5e410a3d0f2 100644 --- a/deps/v8/build/all.gyp +++ b/deps/v8/build/all.gyp @@ -10,7 +10,9 @@ 'dependencies': [ '../samples/samples.gyp:*', '../src/d8.gyp:d8', + '../test/base-unittests/base-unittests.gyp:*', '../test/cctest/cctest.gyp:*', + '../test/compiler-unittests/compiler-unittests.gyp:*', ], 'conditions': [ ['component!="shared_library"', { diff --git a/deps/v8/build/android.gypi b/deps/v8/build/android.gypi index 73ac93a434a..46ece08524e 100644 --- a/deps/v8/build/android.gypi +++ b/deps/v8/build/android.gypi @@ -35,9 +35,6 @@ 'variables': { 'android_ndk_root%': ' %r' % (func.__name__, val[0]) + return val[0] + return inner + return memoizer + + +@memoize() +def IsWindows(): + return sys.platform in ['win32', 'cygwin'] + + +@memoize() +def IsLinux(): + return sys.platform.startswith(('linux', 'freebsd')) + + +@memoize() +def IsMac(): + return sys.platform == 'darwin' + + +@memoize() +def gyp_defines(): + """Parses and returns GYP_DEFINES env var as a dictionary.""" + return dict(arg.split('=', 1) + for arg in shlex.split(os.environ.get('GYP_DEFINES', ''))) + +@memoize() +def gyp_msvs_version(): + return os.environ.get('GYP_MSVS_VERSION', '') + +@memoize() +def distributor(): + """ + Returns a string which is the distributed build engine in use (if any). + Possible values: 'goma', 'ib', '' + """ + if 'goma' in gyp_defines(): + return 'goma' + elif IsWindows(): + if 'CHROME_HEADLESS' in os.environ: + return 'ib' # use (win and !goma and headless) as approximation of ib + + +@memoize() +def platform(): + """ + Returns a string representing the platform this build is targetted for. + Possible values: 'win', 'mac', 'linux', 'ios', 'android' + """ + if 'OS' in gyp_defines(): + if 'android' in gyp_defines()['OS']: + return 'android' + else: + return gyp_defines()['OS'] + elif IsWindows(): + return 'win' + elif IsLinux(): + return 'linux' + else: + return 'mac' + + +@memoize() +def builder(): + """ + Returns a string representing the build engine (not compiler) to use. + Possible values: 'make', 'ninja', 'xcode', 'msvs', 'scons' + """ + if 'GYP_GENERATORS' in os.environ: + # for simplicity, only support the first explicit generator + generator = os.environ['GYP_GENERATORS'].split(',')[0] + if generator.endswith('-android'): + return generator.split('-')[0] + elif generator.endswith('-ninja'): + return 'ninja' + else: + return generator + else: + if platform() == 'android': + # Good enough for now? Do any android bots use make? + return 'make' + elif platform() == 'ios': + return 'xcode' + elif IsWindows(): + return 'msvs' + elif IsLinux(): + return 'make' + elif IsMac(): + return 'xcode' + else: + assert False, 'Don\'t know what builder we\'re using!' diff --git a/deps/v8/build/landmines.py b/deps/v8/build/landmines.py new file mode 100755 index 00000000000..bd1fb28f719 --- /dev/null +++ b/deps/v8/build/landmines.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python +# Copyright 2014 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +This script runs every build as a hook. If it detects that the build should +be clobbered, it will touch the file /.landmine_triggered. The +various build scripts will then check for the presence of this file and clobber +accordingly. The script will also emit the reasons for the clobber to stdout. + +A landmine is tripped when a builder checks out a different revision, and the +diff between the new landmines and the old ones is non-null. At this point, the +build is clobbered. +""" + +import difflib +import logging +import optparse +import os +import sys +import subprocess +import time + +import landmine_utils + + +SRC_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + + +def get_target_build_dir(build_tool, target): + """ + Returns output directory absolute path dependent on build and targets. + Examples: + r'c:\b\build\slave\win\build\src\out\Release' + '/mnt/data/b/build/slave/linux/build/src/out/Debug' + '/b/build/slave/ios_rel_device/build/src/xcodebuild/Release-iphoneos' + + Keep this function in sync with tools/build/scripts/slave/compile.py + """ + ret = None + if build_tool == 'xcode': + ret = os.path.join(SRC_DIR, 'xcodebuild', target) + elif build_tool in ['make', 'ninja', 'ninja-ios']: # TODO: Remove ninja-ios. + ret = os.path.join(SRC_DIR, 'out', target) + elif build_tool in ['msvs', 'vs', 'ib']: + ret = os.path.join(SRC_DIR, 'build', target) + else: + raise NotImplementedError('Unexpected GYP_GENERATORS (%s)' % build_tool) + return os.path.abspath(ret) + + +def set_up_landmines(target, new_landmines): + """Does the work of setting, planting, and triggering landmines.""" + out_dir = get_target_build_dir(landmine_utils.builder(), target) + + landmines_path = os.path.join(out_dir, '.landmines') + if not os.path.exists(out_dir): + return + + if not os.path.exists(landmines_path): + print "Landmines tracker didn't exists." + + # FIXME(machenbach): Clobber deletes the .landmines tracker. Difficult + # to know if we are right after a clobber or if it is first-time landmines + # deployment. Also, a landmine-triggered clobber right after a clobber is + # not possible. Different clobber methods for msvs, xcode and make all + # have different blacklists of files that are not deleted. + if os.path.exists(landmines_path): + triggered = os.path.join(out_dir, '.landmines_triggered') + with open(landmines_path, 'r') as f: + old_landmines = f.readlines() + if old_landmines != new_landmines: + old_date = time.ctime(os.stat(landmines_path).st_ctime) + diff = difflib.unified_diff(old_landmines, new_landmines, + fromfile='old_landmines', tofile='new_landmines', + fromfiledate=old_date, tofiledate=time.ctime(), n=0) + + with open(triggered, 'w') as f: + f.writelines(diff) + print "Setting landmine: %s" % triggered + elif os.path.exists(triggered): + # Remove false triggered landmines. + os.remove(triggered) + print "Removing landmine: %s" % triggered + with open(landmines_path, 'w') as f: + f.writelines(new_landmines) + + +def process_options(): + """Returns a list of landmine emitting scripts.""" + parser = optparse.OptionParser() + parser.add_option( + '-s', '--landmine-scripts', action='append', + default=[os.path.join(SRC_DIR, 'build', 'get_landmines.py')], + help='Path to the script which emits landmines to stdout. The target ' + 'is passed to this script via option -t. Note that an extra ' + 'script can be specified via an env var EXTRA_LANDMINES_SCRIPT.') + parser.add_option('-v', '--verbose', action='store_true', + default=('LANDMINES_VERBOSE' in os.environ), + help=('Emit some extra debugging information (default off). This option ' + 'is also enabled by the presence of a LANDMINES_VERBOSE environment ' + 'variable.')) + + options, args = parser.parse_args() + + if args: + parser.error('Unknown arguments %s' % args) + + logging.basicConfig( + level=logging.DEBUG if options.verbose else logging.ERROR) + + extra_script = os.environ.get('EXTRA_LANDMINES_SCRIPT') + if extra_script: + return options.landmine_scripts + [extra_script] + else: + return options.landmine_scripts + + +def main(): + landmine_scripts = process_options() + + if landmine_utils.builder() in ('dump_dependency_json', 'eclipse'): + return 0 + + landmines = [] + for s in landmine_scripts: + proc = subprocess.Popen([sys.executable, s], stdout=subprocess.PIPE) + output, _ = proc.communicate() + landmines.extend([('%s\n' % l.strip()) for l in output.splitlines()]) + + for target in ('Debug', 'Release'): + set_up_landmines(target, landmines) + + return 0 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/deps/v8/build/standalone.gypi b/deps/v8/build/standalone.gypi index befa73851e3..2ed19f65eac 100644 --- a/deps/v8/build/standalone.gypi +++ b/deps/v8/build/standalone.gypi @@ -33,8 +33,8 @@ 'includes': ['toolchain.gypi'], 'variables': { 'component%': 'static_library', - 'clang%': 0, 'asan%': 0, + 'tsan%': 0, 'visibility%': 'hidden', 'v8_enable_backtrace%': 0, 'v8_enable_i18n_support%': 1, @@ -51,13 +51,7 @@ # Anything else gets passed through, which probably won't work # very well; such hosts should pass an explicit target_arch # to gyp. - 'host_arch%': - '&1 | grep -q "^Target: arm" && echo "yes" || echo "no")', - }, 'conditions': [ - ['armcompiler=="yes"', { + ['v8_target_arch==host_arch and android_webview_build==0', { + # Host built with an Arm CXX compiler. 'conditions': [ [ 'arm_version==7', { 'cflags': ['-march=armv7-a',], }], [ 'arm_version==7 or arm_version=="default"', { 'conditions': [ - [ 'arm_neon==1', { - 'cflags': ['-mfpu=neon',], - }, - { - 'conditions': [ - [ 'arm_fpu!="default"', { - 'cflags': ['-mfpu=<(arm_fpu)',], - }], - ], + [ 'arm_fpu!="default"', { + 'cflags': ['-mfpu=<(arm_fpu)',], }], ], }], @@ -123,44 +173,11 @@ [ 'arm_thumb==0', { 'cflags': ['-marm',], }], - [ 'arm_test=="on"', { - 'defines': [ - 'ARM_TEST', - ], - }], ], }, { - # armcompiler=="no" + # 'v8_target_arch!=host_arch' + # Host not built with an Arm CXX compiler (simulator build). 'conditions': [ - [ 'arm_version==7 or arm_version=="default"', { - 'defines': [ - 'CAN_USE_ARMV7_INSTRUCTIONS=1', - ], - 'conditions': [ - [ 'arm_fpu=="default"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - ], - }], - [ 'arm_fpu=="vfpv3-d16"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - ], - }], - [ 'arm_fpu=="vfpv3"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - 'CAN_USE_VFP32DREGS', - ], - }], - [ 'arm_fpu=="neon" or arm_neon==1', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - 'CAN_USE_VFP32DREGS', - ], - }], - ], - }], [ 'arm_float_abi=="hard"', { 'defines': [ 'USE_EABI_HARDFLOAT=1', @@ -172,33 +189,21 @@ ], }], ], - 'defines': [ - 'ARM_TEST', - ], }], ], }], # _toolset=="host" ['_toolset=="target"', { - 'variables': { - 'armcompiler': '&1 | grep -q "^Target: arm" && echo "yes" || echo "no")', - }, 'conditions': [ - ['armcompiler=="yes"', { + ['v8_target_arch==target_arch and android_webview_build==0', { + # Target built with an Arm CXX compiler. 'conditions': [ [ 'arm_version==7', { 'cflags': ['-march=armv7-a',], }], [ 'arm_version==7 or arm_version=="default"', { 'conditions': [ - [ 'arm_neon==1', { - 'cflags': ['-mfpu=neon',], - }, - { - 'conditions': [ - [ 'arm_fpu!="default"', { - 'cflags': ['-mfpu=<(arm_fpu)',], - }], - ], + [ 'arm_fpu!="default"', { + 'cflags': ['-mfpu=<(arm_fpu)',], }], ], }], @@ -211,44 +216,11 @@ [ 'arm_thumb==0', { 'cflags': ['-marm',], }], - [ 'arm_test=="on"', { - 'defines': [ - 'ARM_TEST', - ], - }], ], }, { - # armcompiler=="no" + # 'v8_target_arch!=target_arch' + # Target not built with an Arm CXX compiler (simulator build). 'conditions': [ - [ 'arm_version==7 or arm_version=="default"', { - 'defines': [ - 'CAN_USE_ARMV7_INSTRUCTIONS=1', - ], - 'conditions': [ - [ 'arm_fpu=="default"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - ], - }], - [ 'arm_fpu=="vfpv3-d16"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - ], - }], - [ 'arm_fpu=="vfpv3"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - 'CAN_USE_VFP32DREGS', - ], - }], - [ 'arm_fpu=="neon" or arm_neon==1', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - 'CAN_USE_VFP32DREGS', - ], - }], - ], - }], [ 'arm_float_abi=="hard"', { 'defines': [ 'USE_EABI_HARDFLOAT=1', @@ -260,9 +232,6 @@ ], }], ], - 'defines': [ - 'ARM_TEST', - ], }], ], }], # _toolset=="target" @@ -278,15 +247,19 @@ 'V8_TARGET_ARCH_IA32', ], }], # v8_target_arch=="ia32" + ['v8_target_arch=="x87"', { + 'defines': [ + 'V8_TARGET_ARCH_X87', + ], + 'cflags': ['-march=i586'], + }], # v8_target_arch=="x87" ['v8_target_arch=="mips"', { 'defines': [ 'V8_TARGET_ARCH_MIPS', ], - 'variables': { - 'mipscompiler': '&1 | grep -q "^Target: mips" && echo "yes" || echo "no")', - }, 'conditions': [ - ['mipscompiler=="yes"', { + ['v8_target_arch==target_arch and android_webview_build==0', { + # Target built with a Mips CXX compiler. 'target_conditions': [ ['_toolset=="target"', { 'cflags': ['-EB'], @@ -299,10 +272,10 @@ 'cflags': ['-msoft-float'], 'ldflags': ['-msoft-float'], }], - ['mips_arch_variant=="mips32r2"', { + ['mips_arch_variant=="r2"', { 'cflags': ['-mips32r2', '-Wa,-mips32r2'], }], - ['mips_arch_variant=="mips32r1"', { + ['mips_arch_variant=="r1"', { 'cflags': ['-mips32', '-Wa,-mips32'], }], ], @@ -324,7 +297,7 @@ '__mips_soft_float=1' ], }], - ['mips_arch_variant=="mips32r2"', { + ['mips_arch_variant=="r2"', { 'defines': ['_MIPS_ARCH_MIPS32R2',], }], ], @@ -333,11 +306,9 @@ 'defines': [ 'V8_TARGET_ARCH_MIPS', ], - 'variables': { - 'mipscompiler': '&1 | grep -q "^Target: mips" && echo "yes" || echo "no")', - }, 'conditions': [ - ['mipscompiler=="yes"', { + ['v8_target_arch==target_arch and android_webview_build==0', { + # Target built with a Mips CXX compiler. 'target_conditions': [ ['_toolset=="target"', { 'cflags': ['-EL'], @@ -350,10 +321,10 @@ 'cflags': ['-msoft-float'], 'ldflags': ['-msoft-float'], }], - ['mips_arch_variant=="mips32r2"', { + ['mips_arch_variant=="r2"', { 'cflags': ['-mips32r2', '-Wa,-mips32r2'], }], - ['mips_arch_variant=="mips32r1"', { + ['mips_arch_variant=="r1"', { 'cflags': ['-mips32', '-Wa,-mips32'], }], ['mips_arch_variant=="loongson"', { @@ -378,7 +349,7 @@ '__mips_soft_float=1' ], }], - ['mips_arch_variant=="mips32r2"', { + ['mips_arch_variant=="r2"', { 'defines': ['_MIPS_ARCH_MIPS32R2',], }], ['mips_arch_variant=="loongson"', { @@ -386,6 +357,68 @@ }], ], }], # 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"', { + 'cflags': ['-EL'], + 'ldflags': ['-EL'], + 'conditions': [ + [ 'v8_use_mips_abi_hardfloat=="true"', { + 'cflags': ['-mhard-float'], + 'ldflags': ['-mhard-float'], + }, { + 'cflags': ['-msoft-float'], + 'ldflags': ['-msoft-float'], + }], + ['mips_arch_variant=="r6"', { + 'cflags': ['-mips64r6', '-mabi=64', '-Wa,-mips64r6'], + 'ldflags': [ + '-mips64r6', '-mabi=64', + '-Wl,--dynamic-linker=$(LDSO_PATH)', + '-Wl,--rpath=$(LD_R_PATH)', + ], + }], + ['mips_arch_variant=="r2"', { + 'cflags': ['-mips64r2', '-mabi=64', '-Wa,-mips64r2'], + 'ldflags': [ + '-mips64r2', '-mabi=64', + '-Wl,--dynamic-linker=$(LDSO_PATH)', + '-Wl,--rpath=$(LD_R_PATH)', + ], + }], + ], + }], + ], + }], + [ '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' + ], + }], + ['mips_arch_variant=="r6"', { + 'defines': ['_MIPS_ARCH_MIPS64R6',], + }], + ['mips_arch_variant=="r2"', { + 'defines': ['_MIPS_ARCH_MIPS64R2',], + }], + ], + }], # v8_target_arch=="mips64el" ['v8_target_arch=="x64"', { 'defines': [ 'V8_TARGET_ARCH_X64', @@ -400,16 +433,42 @@ }, 'msvs_configuration_platform': 'x64', }], # v8_target_arch=="x64" + ['v8_target_arch=="x32"', { + 'defines': [ + # x32 port shares the source code with x64 port. + 'V8_TARGET_ARCH_X64', + 'V8_TARGET_ARCH_32_BIT', + ], + 'cflags': [ + '-mx32', + # Inhibit warning if long long type is used. + '-Wno-long-long', + ], + 'ldflags': [ + '-mx32', + ], + }], # v8_target_arch=="x32" ['OS=="win"', { 'defines': [ 'WIN32', ], + # 4351: VS 2005 and later are warning us that they've fixed a bug + # present in VS 2003 and earlier. + 'msvs_disabled_warnings': [4351], 'msvs_configuration_attributes': { 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 'CharacterSet': '1', }, }], + ['OS=="win" and v8_target_arch=="ia32"', { + 'msvs_settings': { + 'VCCLCompilerTool': { + # Ensure no surprising artifacts from 80bit double math with x86. + 'AdditionalOptions': ['/arch:SSE2'], + }, + }, + }], ['OS=="win" and v8_enable_prof==1', { 'msvs_settings': { 'VCLinkerTool': { @@ -417,44 +476,28 @@ }, }, }], - ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ - or OS=="netbsd" or OS=="qnx"', { - 'conditions': [ - [ 'v8_no_strict_aliasing==1', { - 'cflags': [ '-fno-strict-aliasing' ], - }], - ], # conditions - }], - ['OS=="solaris"', { - 'defines': [ '__C99FEATURES__=1' ], # isinf() etc. - }], - ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ + ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ (v8_target_arch=="arm" or v8_target_arch=="ia32" or \ - v8_target_arch=="mips" or v8_target_arch=="mipsel")', { - # Check whether the host compiler and target compiler support the - # '-m32' option and set it if so. + v8_target_arch=="x87" or v8_target_arch=="mips" or \ + v8_target_arch=="mipsel")', { 'target_conditions': [ ['_toolset=="host"', { - 'variables': { - 'm32flag': ' /dev/null 2>&1 < /dev/null) && echo "-m32" || true)', - }, - 'cflags': [ '<(m32flag)' ], - 'ldflags': [ '<(m32flag)' ], + 'conditions': [ + ['host_cxx_is_biarch==1', { + 'cflags': [ '-m32' ], + 'ldflags': [ '-m32' ] + }], + ], 'xcode_settings': { 'ARCHS': [ 'i386' ], }, }], ['_toolset=="target"', { - 'variables': { - 'm32flag': ' /dev/null 2>&1 < /dev/null) && echo "-m32" || true)', - 'clang%': 0, - }, 'conditions': [ - ['((OS!="android" and OS!="qnx") or clang==1) and \ - nacl_target_arch!="nacl_x64"', { - 'cflags': [ '<(m32flag)' ], - 'ldflags': [ '<(m32flag)' ], + ['target_cxx_is_biarch==1 and nacl_target_arch!="nacl_x64"', { + 'cflags': [ '-m32' ], + 'ldflags': [ '-m32' ], }], ], 'xcode_settings': { @@ -465,28 +508,35 @@ }], ['(OS=="linux" or OS=="android") and \ (v8_target_arch=="x64" or v8_target_arch=="arm64")', { - # Check whether the host compiler and target compiler support the - # '-m64' option and set it if so. 'target_conditions': [ ['_toolset=="host"', { - 'variables': { - 'm64flag': ' /dev/null 2>&1 < /dev/null) && echo "-m64" || true)', - }, - 'cflags': [ '<(m64flag)' ], - 'ldflags': [ '<(m64flag)' ], - }], - ['_toolset=="target"', { - 'variables': { - 'm64flag': ' /dev/null 2>&1 < /dev/null) && echo "-m64" || true)', - }, 'conditions': [ - ['((OS!="android" and OS!="qnx") or clang==1)', { - 'cflags': [ '<(m64flag)' ], - 'ldflags': [ '<(m64flag)' ], + ['host_cxx_is_biarch==1', { + 'cflags': [ '-m64' ], + 'ldflags': [ '-m64' ] }], - ], - }] - ], + ], + }], + ['_toolset=="target"', { + 'conditions': [ + ['target_cxx_is_biarch==1', { + 'cflags': [ '-m64' ], + 'ldflags': [ '-m64' ], + }], + ] + }], + ], + }], + ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ + or OS=="netbsd" or OS=="qnx"', { + 'conditions': [ + [ 'v8_no_strict_aliasing==1', { + 'cflags': [ '-fno-strict-aliasing' ], + }], + ], # conditions + }], + ['OS=="solaris"', { + 'defines': [ '__C99FEATURES__=1' ], # isinf() etc. }], ['OS=="freebsd" or OS=="openbsd"', { 'cflags': [ '-I/usr/local/include' ], diff --git a/deps/v8/codereview.settings b/deps/v8/codereview.settings index 3f642f13bd9..b7f853cd594 100644 --- a/deps/v8/codereview.settings +++ b/deps/v8/codereview.settings @@ -5,3 +5,4 @@ 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 diff --git a/deps/v8/include/libplatform/libplatform.h b/deps/v8/include/libplatform/libplatform.h new file mode 100644 index 00000000000..2125e9746b9 --- /dev/null +++ b/deps/v8/include/libplatform/libplatform.h @@ -0,0 +1,38 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_LIBPLATFORM_LIBPLATFORM_H_ +#define V8_LIBPLATFORM_LIBPLATFORM_H_ + +#include "include/v8-platform.h" + +namespace v8 { +namespace platform { + +/** + * Returns a new instance of the default v8::Platform implementation. + * + * The caller will take ownership of the returned pointer. |thread_pool_size| + * is the number of worker threads to allocate for background jobs. If a value + * of zero is passed, a suitable default based on the current number of + * processors online will be chosen. + */ +v8::Platform* CreateDefaultPlatform(int thread_pool_size = 0); + + +/** + * Pumps the message loop for the given isolate. + * + * The caller has to make sure that this is called from the right thread. + * Returns true if a task was executed, and false otherwise. This call does + * not block if no task is pending. The |platform| has to be created using + * |CreateDefaultPlatform|. + */ +bool PumpMessageLoop(v8::Platform* platform, v8::Isolate* isolate); + + +} // namespace platform +} // namespace v8 + +#endif // V8_LIBPLATFORM_LIBPLATFORM_H_ diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index bd3eb77c4d7..e72415952d9 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -19,8 +19,10 @@ enum DebugEvent { NewFunction = 3, BeforeCompile = 4, AfterCompile = 5, - ScriptCollected = 6, - BreakForCommand = 7 + CompileError = 6, + PromiseEvent = 7, + AsyncTaskEvent = 8, + BreakForCommand = 9 }; @@ -137,7 +139,7 @@ class V8_EXPORT Debug { * A EventCallback2 does not take possession of the event data, * and must not rely on the data persisting after the handler returns. */ - typedef void (*EventCallback2)(const EventDetails& event_details); + typedef void (*EventCallback)(const EventDetails& event_details); /** * Debug message callback function. @@ -147,23 +149,14 @@ class V8_EXPORT Debug { * A MessageHandler2 does not take possession of the message data, * and must not rely on the data persisting after the handler returns. */ - typedef void (*MessageHandler2)(const Message& message); - - /** - * Debug host dispatch callback function. - */ - typedef void (*HostDispatchHandler)(); + typedef void (*MessageHandler)(const Message& message); /** * Callback function for the host to ensure debug messages are processed. */ typedef void (*DebugMessageDispatchHandler)(); - static bool SetDebugEventListener2(EventCallback2 that, - Handle data = Handle()); - - // Set a JavaScript debug event listener. - static bool SetDebugEventListener(v8::Handle that, + static bool SetDebugEventListener(EventCallback that, Handle data = Handle()); // Schedule a debugger break to happen when JavaScript code is run @@ -181,36 +174,13 @@ class V8_EXPORT Debug { // stops. static void DebugBreakForCommand(Isolate* isolate, ClientData* data); - // TODO(svenpanne) Remove this when Chrome is updated. - static void DebugBreakForCommand(ClientData* data, Isolate* isolate) { - DebugBreakForCommand(isolate, data); - } - // Message based interface. The message protocol is JSON. - static void SetMessageHandler2(MessageHandler2 handler); + static void SetMessageHandler(MessageHandler handler); static void SendCommand(Isolate* isolate, const uint16_t* command, int length, ClientData* client_data = NULL); - // Dispatch interface. - static void SetHostDispatchHandler(HostDispatchHandler handler, - int period = 100); - - /** - * Register a callback function to be called when a debug message has been - * received and is ready to be processed. For the debug messages to be - * processed V8 needs to be entered, and in certain embedding scenarios this - * callback can be used to make sure V8 is entered for the debug message to - * be processed. Note that debug messages will only be processed if there is - * a V8 break. This can happen automatically by using the option - * --debugger-auto-break. - * \param provide_locker requires that V8 acquires v8::Locker for you before - * calling handler - */ - static void SetDebugMessageDispatchHandler( - DebugMessageDispatchHandler handler, bool provide_locker = false); - /** * Run a JavaScript function in the debugger. * \param fun the function to call @@ -237,22 +207,6 @@ class V8_EXPORT Debug { */ static Local GetMirror(v8::Handle obj); - /** - * Enable the V8 builtin debug agent. The debugger agent will listen on the - * supplied TCP/IP port for remote debugger connection. - * \param name the name of the embedding application - * \param port the TCP/IP port to listen on - * \param wait_for_connection whether V8 should pause on a first statement - * allowing remote debugger to connect before anything interesting happened - */ - static bool EnableAgent(const char* name, int port, - bool wait_for_connection = false); - - /** - * Disable the V8 builtin debug agent. The TCP/IP connection will be closed. - */ - static void DisableAgent(); - /** * Makes V8 process all pending debug messages. * @@ -271,10 +225,6 @@ class V8_EXPORT Debug { * until V8 gets control again; however, embedding application may improve * this by manually calling this method. * - * It makes sense to call this method whenever a new debug message arrived and - * V8 is not already running. Method v8::Debug::SetDebugMessageDispatchHandler - * should help with the former condition. - * * Technically this method in many senses is equivalent to executing empty * script: * 1. It does nothing except for processing all pending debug messages. @@ -305,11 +255,6 @@ class V8_EXPORT Debug { * unexpectedly used. LiveEdit is enabled by default. */ static void SetLiveEditEnabled(Isolate* isolate, bool enable); - - // TODO(svenpanne) Remove this when Chrome is updated. - static void SetLiveEditEnabled(bool enable, Isolate* isolate) { - SetLiveEditEnabled(isolate, enable); - } }; diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 5667211c321..1f1679f0e0b 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -5,10 +5,10 @@ #ifndef V8_V8_PLATFORM_H_ #define V8_V8_PLATFORM_H_ -#include "v8.h" - namespace v8 { +class Isolate; + /** * A Task represents a unit of work. */ @@ -37,6 +37,8 @@ class Platform { kLongRunningTask }; + virtual ~Platform() {} + /** * Schedules a task to be invoked on a background thread. |expected_runtime| * indicates that the task will run a long time. The Platform implementation @@ -53,9 +55,6 @@ class Platform { * scheduling. The definition of "foreground" is opaque to V8. */ virtual void CallOnForegroundThread(Isolate* isolate, Task* task) = 0; - - protected: - virtual ~Platform() {} }; } // namespace v8 diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 19d143e01bb..7fc193db58e 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -219,19 +219,20 @@ class V8_EXPORT HeapGraphEdge { class V8_EXPORT HeapGraphNode { public: enum Type { - kHidden = 0, // Hidden node, may be filtered when shown to user. - kArray = 1, // An array of elements. - kString = 2, // A string. - kObject = 3, // A JS object (except for arrays and strings). - kCode = 4, // Compiled code. - kClosure = 5, // Function closure. - kRegExp = 6, // RegExp. - kHeapNumber = 7, // Number stored in the heap. - kNative = 8, // Native object (not from V8 heap). - kSynthetic = 9, // Synthetic object, usualy used for grouping - // snapshot items together. - kConsString = 10, // Concatenated string. A pair of pointers to strings. - kSlicedString = 11 // Sliced string. A fragment of another string. + kHidden = 0, // Hidden node, may be filtered when shown to user. + kArray = 1, // An array of elements. + kString = 2, // A string. + kObject = 3, // A JS object (except for arrays and strings). + kCode = 4, // Compiled code. + kClosure = 5, // Function closure. + kRegExp = 6, // RegExp. + kHeapNumber = 7, // Number stored in the heap. + kNative = 8, // Native object (not from V8 heap). + kSynthetic = 9, // Synthetic object, usualy used for grouping + // snapshot items together. + kConsString = 10, // Concatenated string. A pair of pointers to strings. + kSlicedString = 11, // Sliced string. A fragment of another string. + kSymbol = 12 // A Symbol (ES6). }; /** Returns node type (see HeapGraphNode::Type). */ @@ -292,7 +293,7 @@ class V8_EXPORT OutputStream { // NOLINT */ virtual WriteResult WriteHeapStatsChunk(HeapStatsUpdate* data, int count) { return kAbort; - }; + } }; diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 60feff549d9..1eaf1ab68f6 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -154,7 +154,7 @@ class PersistentValueMap { */ bool SetReturnValue(const K& key, ReturnValue returnValue) { - return SetReturnValueFromVal(returnValue, Traits::Get(&impl_, key)); + return SetReturnValueFromVal(&returnValue, Traits::Get(&impl_, key)); } /** @@ -227,7 +227,7 @@ class PersistentValueMap { } template bool SetReturnValue(ReturnValue returnValue) { - return SetReturnValueFromVal(returnValue, value_); + return SetReturnValueFromVal(&returnValue, value_); } void Reset() { value_ = kPersistentContainerNotFound; @@ -300,6 +300,7 @@ class PersistentValueMap { K key = Traits::KeyFromWeakCallbackData(data); Traits::Dispose(data.GetIsolate(), persistentValueMap->Remove(key).Pass(), key); + Traits::DisposeCallbackData(data.GetParameter()); } } @@ -308,10 +309,10 @@ class PersistentValueMap { } static bool SetReturnValueFromVal( - ReturnValue& returnValue, PersistentContainerValue value) { + ReturnValue* returnValue, PersistentContainerValue value) { bool hasValue = value != kPersistentContainerNotFound; if (hasValue) { - returnValue.SetInternal( + returnValue->SetInternal( *reinterpret_cast(FromVal(value))); } return hasValue; @@ -337,7 +338,7 @@ class PersistentValueMap { static UniquePersistent Release(PersistentContainerValue v) { UniquePersistent p; p.val_ = FromVal(v); - if (Traits::kCallbackType != kNotWeak && !p.IsEmpty()) { + if (Traits::kCallbackType != kNotWeak && p.IsWeak()) { Traits::DisposeCallbackData( p.template ClearWeak()); } @@ -422,7 +423,7 @@ class PersistentValueVector { */ void Append(UniquePersistent persistent) { Traits::Append(&impl_, ClearAndLeak(&persistent)); - }; + } /** * Are there any values in the vector? diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 538b6581f1d..ef0bda63f43 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -895,6 +895,13 @@ struct Maybe { }; +// Convenience wrapper. +template +inline Maybe maybe(T t) { + return Maybe(t); +} + + // --- Special objects --- @@ -916,20 +923,24 @@ class ScriptOrigin { Handle resource_name, Handle resource_line_offset = Handle(), Handle resource_column_offset = Handle(), - Handle resource_is_shared_cross_origin = Handle()) + Handle resource_is_shared_cross_origin = Handle(), + Handle script_id = Handle()) : resource_name_(resource_name), resource_line_offset_(resource_line_offset), resource_column_offset_(resource_column_offset), - resource_is_shared_cross_origin_(resource_is_shared_cross_origin) { } + resource_is_shared_cross_origin_(resource_is_shared_cross_origin), + script_id_(script_id) { } V8_INLINE Handle ResourceName() const; V8_INLINE Handle ResourceLineOffset() const; V8_INLINE Handle ResourceColumnOffset() const; V8_INLINE Handle ResourceIsSharedCrossOrigin() const; + V8_INLINE Handle ScriptID() const; private: Handle resource_name_; Handle resource_line_offset_; Handle resource_column_offset_; Handle resource_is_shared_cross_origin_; + Handle script_id_; }; @@ -946,6 +957,15 @@ class V8_EXPORT UnboundScript { int GetId(); Handle GetScriptName(); + /** + * Data read from magic sourceURL comments. + */ + Handle GetSourceURL(); + /** + * Data read from magic sourceMappingURL comments. + */ + Handle GetSourceMappingURL(); + /** * Returns zero based line number of the code_pos location in the script. * -1 will be returned if no information available. @@ -984,24 +1004,9 @@ class V8_EXPORT Script { */ Local GetUnboundScript(); - // To be deprecated; use GetUnboundScript()->GetId(); - int GetId() { - return GetUnboundScript()->GetId(); - } - - // Use GetUnboundScript()->GetId(); V8_DEPRECATED("Use GetUnboundScript()->GetId()", - Handle GetScriptName()) { - return GetUnboundScript()->GetScriptName(); - } - - /** - * Returns zero based line number of the code_pos location in the script. - * -1 will be returned if no information available. - */ - V8_DEPRECATED("Use GetUnboundScript()->GetLineNumber()", - int GetLineNumber(int code_pos)) { - return GetUnboundScript()->GetLineNumber(code_pos); + int GetId()) { + return GetUnboundScript()->GetId(); } }; @@ -1039,15 +1044,14 @@ class V8_EXPORT ScriptCompiler { int length; BufferPolicy buffer_policy; - private: - // Prevent copying. Not implemented. - CachedData(const CachedData&); - CachedData& operator=(const CachedData&); + private: + // Prevent copying. Not implemented. + CachedData(const CachedData&); + CachedData& operator=(const CachedData&); }; /** - * Source code which can be then compiled to a UnboundScript or - * BoundScript. + * Source code which can be then compiled to a UnboundScript or Script. */ class Source { public: @@ -1065,7 +1069,7 @@ class V8_EXPORT ScriptCompiler { private: friend class ScriptCompiler; - // Prevent copying. Not implemented. + // Prevent copying. Not implemented. Source(const Source&); Source& operator=(const Source&); @@ -1077,19 +1081,31 @@ class V8_EXPORT ScriptCompiler { Handle resource_column_offset; Handle resource_is_shared_cross_origin; - // Cached data from previous compilation (if any), or generated during - // compilation (if the generate_cached_data flag is passed to - // ScriptCompiler). + // Cached data from previous compilation (if a kConsume*Cache flag is + // set), or hold newly generated cache data (kProduce*Cache flags) are + // set when calling a compile method. CachedData* cached_data; }; enum CompileOptions { - kNoCompileOptions, - kProduceDataToCache = 1 << 0 + kNoCompileOptions = 0, + kProduceParserCache, + kConsumeParserCache, + kProduceCodeCache, + kConsumeCodeCache, + + // Support the previous API for a transition period. + kProduceDataToCache }; /** * Compiles the specified script (context-independent). + * Cached data as part of the source object can be optionally produced to be + * consumed later to speed up compilation of identical source scripts. + * + * Note that when producing cached data, the source must point to NULL for + * cached data. When consuming cached data, the cached data must have been + * produced by the same version of V8. * * \param source Script source code. * \return Compiled script object (context independent; for running it must be @@ -1124,6 +1140,12 @@ class V8_EXPORT Message { Local Get() const; Local GetSourceLine() const; + /** + * Returns the origin for the script from where the function causing the + * error originates. + */ + ScriptOrigin GetScriptOrigin() const; + /** * Returns the resource name for the script from where the function causing * the error originates. @@ -1201,6 +1223,7 @@ class V8_EXPORT StackTrace { kIsConstructor = 1 << 5, kScriptNameOrSourceURL = 1 << 6, kScriptId = 1 << 7, + kExposeFramesAcrossSecurityOrigins = 1 << 8, kOverview = kLineNumber | kColumnOffset | kScriptName | kFunctionName, kDetailed = kOverview | kIsEval | kIsConstructor | kScriptNameOrSourceURL }; @@ -2071,11 +2094,7 @@ typedef void (*AccessorSetterCallback)( * accessors have an explicit access control parameter which specifies * the kind of cross-context access that should be allowed. * - * Additionally, for security, accessors can prohibit overwriting by - * accessors defined in JavaScript. For objects that have such - * accessors either locally or in their prototype chain it is not - * possible to overwrite the accessor by using __defineGetter__ or - * __defineSetter__ from JavaScript code. + * TODO(dcarney): Remove PROHIBITS_OVERWRITING as it is now unused. */ enum AccessControl { DEFAULT = 0, @@ -2090,13 +2109,11 @@ enum AccessControl { */ class V8_EXPORT Object : public Value { public: - bool Set(Handle key, - Handle value, - PropertyAttribute attribs = None); + bool Set(Handle key, Handle value); bool Set(uint32_t index, Handle value); - // Sets a local property on this object bypassing interceptors and + // Sets an own property on this object bypassing interceptors and // overriding accessors or read-only properties. // // Note that if the object has an interceptor the property will be set @@ -2119,6 +2136,11 @@ class V8_EXPORT Object : public Value { */ PropertyAttribute GetPropertyAttributes(Handle key); + /** + * Returns Object.getOwnPropertyDescriptor as per ES5 section 15.2.3.3. + */ + Local GetOwnPropertyDescriptor(Local key); + bool Has(Handle key); bool Delete(Handle key); @@ -2203,12 +2225,6 @@ class V8_EXPORT Object : public Value { */ Local ObjectProtoToString(); - /** - * Returns the function invoked as a constructor for this object. - * May be the null value. - */ - Local GetConstructor(); - /** * Returns the name of the function invoked as a constructor for this object. */ @@ -2429,6 +2445,10 @@ class ReturnValue { // Convenience getter for Isolate V8_INLINE Isolate* GetIsolate(); + // Pointer setter: Uncompilable to prevent inadvertent misuse. + template + V8_INLINE void Set(S* whatever); + private: template friend class ReturnValue; template friend class FunctionCallbackInfo; @@ -2629,6 +2649,7 @@ class V8_EXPORT Promise : public Object { */ Local Chain(Handle handler); Local Catch(Handle handler); + Local Then(Handle handler); V8_INLINE static Promise* Cast(Value* obj); @@ -3865,8 +3886,8 @@ class V8_EXPORT ResourceConstraints { uint64_t virtual_memory_limit, uint32_t number_of_processors); - int max_new_space_size() const { return max_new_space_size_; } - void set_max_new_space_size(int value) { max_new_space_size_ = value; } + int max_semi_space_size() const { return max_semi_space_size_; } + void set_max_semi_space_size(int value) { max_semi_space_size_ = value; } int max_old_space_size() const { return max_old_space_size_; } void set_max_old_space_size(int value) { max_old_space_size_ = value; } int max_executable_size() const { return max_executable_size_; } @@ -3879,18 +3900,18 @@ class V8_EXPORT ResourceConstraints { void set_max_available_threads(int value) { max_available_threads_ = value; } - int code_range_size() const { return code_range_size_; } - void set_code_range_size(int value) { + size_t code_range_size() const { return code_range_size_; } + void set_code_range_size(size_t value) { code_range_size_ = value; } private: - int max_new_space_size_; + int max_semi_space_size_; int max_old_space_size_; int max_executable_size_; uint32_t* stack_limit_; int max_available_threads_; - int code_range_size_; + size_t code_range_size_; }; @@ -3965,6 +3986,9 @@ typedef void (*MemoryAllocationCallback)(ObjectSpace space, // --- Leave Script Callback --- typedef void (*CallCompletedCallback)(); +// --- Microtask Callback --- +typedef void (*MicrotaskCallback)(void* data); + // --- Failed Access Check Callback --- typedef void (*FailedAccessCheckCallback)(Local target, AccessType type, @@ -4133,6 +4157,20 @@ class V8_EXPORT Isolate { kMinorGarbageCollection }; + /** + * Features reported via the SetUseCounterCallback callback. Do not chang + * assigned numbers of existing items; add new features to the end of this + * list. + */ + enum UseCounterFeature { + kUseAsm = 0, + kUseCounterFeatureCount // This enum value must be last. + }; + + typedef void (*UseCounterCallback)(Isolate* isolate, + UseCounterFeature feature); + + /** * Creates a new isolate. Does not change the currently entered * isolate. @@ -4211,7 +4249,8 @@ class V8_EXPORT Isolate { * kept alive by JavaScript objects. * \returns the adjusted value. */ - int64_t AdjustAmountOfExternalAllocatedMemory(int64_t change_in_bytes); + V8_INLINE int64_t + AdjustAmountOfExternalAllocatedMemory(int64_t change_in_bytes); /** * Returns heap profiler for this isolate. Will return NULL until the isolate @@ -4375,6 +4414,7 @@ class V8_EXPORT Isolate { /** * Experimental: Runs the Microtask Work Queue until empty + * Any exceptions thrown by microtask callbacks are swallowed. */ void RunMicrotasks(); @@ -4383,12 +4423,71 @@ class V8_EXPORT Isolate { */ void EnqueueMicrotask(Handle microtask); + /** + * Experimental: Enqueues the callback to the Microtask Work Queue + */ + void EnqueueMicrotask(MicrotaskCallback microtask, void* data = NULL); + /** * Experimental: Controls whether the Microtask Work Queue is automatically * run when the script call depth decrements to zero. */ void SetAutorunMicrotasks(bool autorun); + /** + * Experimental: Returns whether the Microtask Work Queue is automatically + * run when the script call depth decrements to zero. + */ + bool WillAutorunMicrotasks() const; + + /** + * Sets a callback for counting the number of times a feature of V8 is used. + */ + void SetUseCounterCallback(UseCounterCallback callback); + + /** + * Enables the host application to provide a mechanism for recording + * statistics counters. + */ + void SetCounterFunction(CounterLookupCallback); + + /** + * Enables the host application to provide a mechanism for recording + * histograms. The CreateHistogram function returns a + * histogram which will later be passed to the AddHistogramSample + * function. + */ + void SetCreateHistogramFunction(CreateHistogramCallback); + void SetAddHistogramSampleFunction(AddHistogramSampleCallback); + + /** + * Optional notification that the embedder is idle. + * V8 uses the notification to reduce memory footprint. + * This call can be used repeatedly if the embedder remains idle. + * Returns true if the embedder should stop calling IdleNotification + * until real work has been done. This indicates that V8 has done + * as much cleanup as it will be able to do. + * + * The idle_time_in_ms argument specifies the time V8 has to do reduce + * the memory footprint. There is no guarantee that the actual work will be + * done within the time limit. + */ + bool IdleNotification(int idle_time_in_ms); + + /** + * Optional notification that the system is running low on memory. + * V8 uses these notifications to attempt to free memory. + */ + void LowMemoryNotification(); + + /** + * Optional notification that a context has been disposed. V8 uses + * these notifications to guide the GC heuristic. Returns the number + * of context disposals - including this one - since the last time + * V8 had a chance to clean up. + */ + int ContextDisposedNotification(); + private: template friend class PersistentValueMap; @@ -4402,6 +4501,7 @@ class V8_EXPORT Isolate { void SetObjectGroupId(internal::Object** object, UniqueId id); void SetReferenceFromGroup(UniqueId id, internal::Object** object); void SetReference(internal::Object** parent, internal::Object** child); + void CollectAllGarbage(const char* gc_reason); }; class V8_EXPORT StartupData { @@ -4512,7 +4612,7 @@ struct JitCodeEvent { // Size of the instructions. size_t code_len; // Script info for CODE_ADDED event. - Handle