diff options
author | Myles Borins <mylesborins@google.com> | 2018-04-10 21:39:51 -0400 |
---|---|---|
committer | Myles Borins <mylesborins@google.com> | 2018-04-11 13:22:42 -0400 |
commit | 12a1b9b8049462e47181a298120243dc83e81c55 (patch) | |
tree | 8605276308c8b4e3597516961266bae1af57557a /deps/v8/gypfiles | |
parent | 78cd8263354705b767ef8c6a651740efe4931ba0 (diff) | |
download | android-node-v8-12a1b9b8049462e47181a298120243dc83e81c55.tar.gz android-node-v8-12a1b9b8049462e47181a298120243dc83e81c55.tar.bz2 android-node-v8-12a1b9b8049462e47181a298120243dc83e81c55.zip |
deps: update V8 to 6.6.346.23
PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/gypfiles')
27 files changed, 4822 insertions, 694 deletions
diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp index 2f9cf858c0..5592ee1b36 100644 --- a/deps/v8/gypfiles/all.gyp +++ b/deps/v8/gypfiles/all.gyp @@ -8,46 +8,23 @@ 'target_name': 'All', 'type': 'none', 'dependencies': [ - '../src/d8.gyp:d8', - '../test/inspector/inspector.gyp:*', - '../test/mkgrokdump/mkgrokdump.gyp:*', + 'd8.gyp:d8', + 'inspector-test.gyp:*', + 'mkgrokdump.gyp:*', ], 'conditions': [ ['component!="shared_library"', { 'dependencies': [ - '../tools/parser-shell.gyp:parser-shell', + 'parser-shell.gyp:parser-shell', ], }], # These items don't compile for Android on Mac. ['host_os!="mac" or OS!="android"', { 'dependencies': [ - '../samples/samples.gyp:*', - '../test/cctest/cctest.gyp:*', - '../test/fuzzer/fuzzer.gyp:*', - '../test/unittests/unittests.gyp:*', - ], - }], - ['test_isolation_mode != "noop"', { - 'dependencies': [ - '../test/bot_default.gyp:*', - '../test/benchmarks/benchmarks.gyp:*', - '../test/debugger/debugger.gyp:*', - '../test/default.gyp:*', - '../test/d8_default.gyp:*', - '../test/intl/intl.gyp:*', - '../test/message/message.gyp:*', - '../test/mjsunit/mjsunit.gyp:*', - '../test/mozilla/mozilla.gyp:*', - '../test/optimize_for_size.gyp:*', - '../test/perf.gyp:*', - '../test/preparser/preparser.gyp:*', - '../test/test262/test262.gyp:*', - '../test/webkit/webkit.gyp:*', - '../tools/check-static-initializers.gyp:*', - '../tools/gcmole/run_gcmole.gyp:*', - '../tools/jsfunfuzz/jsfunfuzz.gyp:*', - '../tools/run-deopt-fuzzer.gyp:*', - '../tools/run-num-fuzzer.gyp:*', + 'samples.gyp:*', + 'cctest.gyp:*', + 'fuzzer.gyp:*', + 'unittests.gyp:*', ], }], ] diff --git a/deps/v8/gypfiles/cctest.gyp b/deps/v8/gypfiles/cctest.gyp new file mode 100644 index 0000000000..6e7fddae0b --- /dev/null +++ b/deps/v8/gypfiles/cctest.gyp @@ -0,0 +1,468 @@ +# Copyright 2012 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. + +{ + 'variables': { + 'v8_code': 1, + 'generated_file': '<(SHARED_INTERMEDIATE_DIR)/resources.cc', + 'cctest_sources': [ + '../test/cctest/compiler/c-signature.h', + '../test/cctest/compiler/call-tester.h', + '../test/cctest/compiler/codegen-tester.cc', + '../test/cctest/compiler/codegen-tester.h', + '../test/cctest/compiler/code-assembler-tester.h', + '../test/cctest/compiler/function-tester.cc', + '../test/cctest/compiler/function-tester.h', + '../test/cctest/compiler/graph-builder-tester.h', + '../test/cctest/compiler/test-basic-block-profiler.cc', + '../test/cctest/compiler/test-branch-combine.cc', + '../test/cctest/compiler/test-run-unwinding-info.cc', + '../test/cctest/compiler/test-gap-resolver.cc', + '../test/cctest/compiler/test-graph-visualizer.cc', + '../test/cctest/compiler/test-code-generator.cc', + '../test/cctest/compiler/test-code-assembler.cc', + '../test/cctest/compiler/test-instruction.cc', + '../test/cctest/compiler/test-js-context-specialization.cc', + '../test/cctest/compiler/test-js-constant-cache.cc', + '../test/cctest/compiler/test-js-typed-lowering.cc', + '../test/cctest/compiler/test-jump-threading.cc', + '../test/cctest/compiler/test-linkage.cc', + '../test/cctest/compiler/test-loop-analysis.cc', + '../test/cctest/compiler/test-machine-operator-reducer.cc', + '../test/cctest/compiler/test-multiple-return.cc', + '../test/cctest/compiler/test-node.cc', + '../test/cctest/compiler/test-operator.cc', + '../test/cctest/compiler/test-representation-change.cc', + '../test/cctest/compiler/test-run-bytecode-graph-builder.cc', + '../test/cctest/compiler/test-run-calls-to-external-references.cc', + '../test/cctest/compiler/test-run-deopt.cc', + '../test/cctest/compiler/test-run-intrinsics.cc', + '../test/cctest/compiler/test-run-jsbranches.cc', + '../test/cctest/compiler/test-run-jscalls.cc', + '../test/cctest/compiler/test-run-jsexceptions.cc', + '../test/cctest/compiler/test-run-jsobjects.cc', + '../test/cctest/compiler/test-run-jsops.cc', + '../test/cctest/compiler/test-run-load-store.cc', + '../test/cctest/compiler/test-run-machops.cc', + '../test/cctest/compiler/test-run-native-calls.cc', + '../test/cctest/compiler/test-run-retpoline.cc', + '../test/cctest/compiler/test-run-stackcheck.cc', + '../test/cctest/compiler/test-run-stubs.cc', + '../test/cctest/compiler/test-run-tail-calls.cc', + '../test/cctest/compiler/test-run-variables.cc', + '../test/cctest/compiler/test-run-wasm-machops.cc', + '../test/cctest/compiler/value-helper.cc', + '../test/cctest/compiler/value-helper.h', + '../test/cctest/cctest.cc', + '../test/cctest/cctest.h', + '../test/cctest/expression-type-collector-macros.h', + '../test/cctest/gay-fixed.cc', + '../test/cctest/gay-fixed.h', + '../test/cctest/gay-precision.cc', + '../test/cctest/gay-precision.h', + '../test/cctest/gay-shortest.cc', + '../test/cctest/gay-shortest.h', + '../test/cctest/heap/heap-tester.h', + '../test/cctest/heap/heap-utils.cc', + '../test/cctest/heap/heap-utils.h', + '../test/cctest/heap/test-alloc.cc', + '../test/cctest/heap/test-array-buffer-tracker.cc', + '../test/cctest/heap/test-compaction.cc', + '../test/cctest/heap/test-concurrent-marking.cc', + '../test/cctest/heap/test-embedder-tracing.cc', + '../test/cctest/heap/test-heap.cc', + '../test/cctest/heap/test-incremental-marking.cc', + '../test/cctest/heap/test-invalidated-slots.cc', + '../test/cctest/heap/test-lab.cc', + '../test/cctest/heap/test-mark-compact.cc', + '../test/cctest/heap/test-page-promotion.cc', + '../test/cctest/heap/test-spaces.cc', + '../test/cctest/interpreter/interpreter-tester.cc', + '../test/cctest/interpreter/interpreter-tester.h', + '../test/cctest/interpreter/source-position-matcher.cc', + '../test/cctest/interpreter/source-position-matcher.h', + '../test/cctest/interpreter/test-bytecode-generator.cc', + '../test/cctest/interpreter/test-interpreter.cc', + '../test/cctest/interpreter/test-interpreter-intrinsics.cc', + '../test/cctest/interpreter/test-source-positions.cc', + '../test/cctest/interpreter/bytecode-expectations-printer.cc', + '../test/cctest/interpreter/bytecode-expectations-printer.h', + '../test/cctest/libplatform/test-tracing.cc', + '../test/cctest/libsampler/test-sampler.cc', + '../test/cctest/parsing/test-parse-decision.cc', + '../test/cctest/parsing/test-preparser.cc', + '../test/cctest/parsing/test-scanner-streams.cc', + '../test/cctest/parsing/test-scanner.cc', + '../test/cctest/print-extension.cc', + '../test/cctest/print-extension.h', + '../test/cctest/profiler-extension.cc', + '../test/cctest/profiler-extension.h', + '../test/cctest/scope-test-helper.h', + '../test/cctest/setup-isolate-for-tests.cc', + '../test/cctest/setup-isolate-for-tests.h', + '../test/cctest/test-access-checks.cc', + '../test/cctest/test-accessor-assembler.cc', + '../test/cctest/test-accessors.cc', + '../test/cctest/test-allocation.cc', + '../test/cctest/test-api.cc', + '../test/cctest/test-api.h', + '../test/cctest/test-api-accessors.cc', + '../test/cctest/test-api-interceptors.cc', + '../test/cctest/test-array-list.cc', + '../test/cctest/test-atomicops.cc', + '../test/cctest/test-bignum.cc', + '../test/cctest/test-bignum-dtoa.cc', + '../test/cctest/test-bit-vector.cc', + '../test/cctest/test-circular-queue.cc', + '../test/cctest/test-code-layout.cc', + '../test/cctest/test-code-stub-assembler.cc', + '../test/cctest/test-compiler.cc', + '../test/cctest/test-constantpool.cc', + '../test/cctest/test-conversions.cc', + '../test/cctest/test-cpu-profiler.cc', + '../test/cctest/test-date.cc', + '../test/cctest/test-debug.cc', + '../test/cctest/test-decls.cc', + '../test/cctest/test-deoptimization.cc', + '../test/cctest/test-dictionary.cc', + '../test/cctest/test-diy-fp.cc', + '../test/cctest/test-double.cc', + '../test/cctest/test-dtoa.cc', + '../test/cctest/test-elements-kind.cc', + '../test/cctest/test-fast-dtoa.cc', + '../test/cctest/test-feedback-vector.cc', + '../test/cctest/test-feedback-vector.h', + '../test/cctest/test-field-type-tracking.cc', + '../test/cctest/test-fixed-dtoa.cc', + '../test/cctest/test-flags.cc', + '../test/cctest/test-func-name-inference.cc', + '../test/cctest/test-global-handles.cc', + '../test/cctest/test-global-object.cc', + '../test/cctest/test-hashcode.cc', + '../test/cctest/test-hashmap.cc', + '../test/cctest/test-heap-profiler.cc', + '../test/cctest/test-identity-map.cc', + '../test/cctest/test-intl.cc', + '../test/cctest/test-inobject-slack-tracking.cc', + '../test/cctest/test-isolate-independent-builtins.cc', + '../test/cctest/test-liveedit.cc', + '../test/cctest/test-lockers.cc', + '../test/cctest/test-log.cc', + '../test/cctest/test-managed.cc', + '../test/cctest/test-mementos.cc', + '../test/cctest/test-modules.cc', + '../test/cctest/test-object.cc', + '../test/cctest/test-orderedhashtable.cc', + '../test/cctest/test-parsing.cc', + '../test/cctest/test-platform.cc', + '../test/cctest/test-profile-generator.cc', + '../test/cctest/test-random-number-generator.cc', + '../test/cctest/test-regexp.cc', + '../test/cctest/test-representation.cc', + '../test/cctest/test-sampler-api.cc', + '../test/cctest/test-serialize.cc', + '../test/cctest/test-strings.cc', + '../test/cctest/test-symbols.cc', + '../test/cctest/test-strtod.cc', + '../test/cctest/test-thread-termination.cc', + '../test/cctest/test-threads.cc', + '../test/cctest/test-trace-event.cc', + '../test/cctest/test-traced-value.cc', + '../test/cctest/test-transitions.cc', + '../test/cctest/test-transitions.h', + '../test/cctest/test-typedarrays.cc', + '../test/cctest/test-types.cc', + '../test/cctest/test-unbound-queue.cc', + '../test/cctest/test-unboxed-doubles.cc', + '../test/cctest/test-unscopables-hidden-prototype.cc', + '../test/cctest/test-usecounters.cc', + '../test/cctest/test-utils.cc', + '../test/cctest/test-version.cc', + '../test/cctest/test-weakmaps.cc', + '../test/cctest/test-weaksets.cc', + '../test/cctest/trace-extension.cc', + '../test/cctest/trace-extension.h', + '../test/cctest/types-fuzz.h', + '../test/cctest/unicode-helpers.h', + '../test/cctest/wasm/test-c-wasm-entry.cc', + '../test/cctest/wasm/test-streaming-compilation.cc', + '../test/cctest/wasm/test-run-wasm.cc', + '../test/cctest/wasm/test-run-wasm-64.cc', + '../test/cctest/wasm/test-run-wasm-asmjs.cc', + '../test/cctest/wasm/test-run-wasm-atomics.cc', + '../test/cctest/wasm/test-run-wasm-interpreter.cc', + '../test/cctest/wasm/test-run-wasm-js.cc', + '../test/cctest/wasm/test-run-wasm-module.cc', + '../test/cctest/wasm/test-run-wasm-relocation.cc', + '../test/cctest/wasm/test-run-wasm-sign-extension.cc', + '../test/cctest/wasm/test-run-wasm-simd.cc', + '../test/cctest/wasm/test-wasm-breakpoints.cc', + "../test/cctest/wasm/test-wasm-codegen.cc", + '../test/cctest/wasm/test-wasm-interpreter-entry.cc', + '../test/cctest/wasm/test-wasm-stack.cc', + '../test/cctest/wasm/test-wasm-trap-position.cc', + '../test/cctest/wasm/wasm-run-utils.cc', + '../test/cctest/wasm/wasm-run-utils.h', + ], + 'cctest_sources_ia32': [ + '../test/cctest/test-assembler-ia32.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-ia32.cc', + '../test/cctest/test-disasm-ia32.cc', + '../test/cctest/test-log-stack-tracer.cc', + '../test/cctest/test-run-wasm-relocation-ia32.cc', + ], + 'cctest_sources_x64': [ + '../test/cctest/test-assembler-x64.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-x64.cc', + '../test/cctest/test-disasm-x64.cc', + '../test/cctest/test-macro-assembler-x64.cc', + '../test/cctest/test-log-stack-tracer.cc', + '../test/cctest/test-run-wasm-relocation-x64.cc', + ], + 'cctest_sources_arm': [ + '../test/cctest/assembler-helper-arm.cc', + '../test/cctest/assembler-helper-arm.h', + '../test/cctest/test-assembler-arm.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-arm.cc', + '../test/cctest/test-disasm-arm.cc', + '../test/cctest/test-macro-assembler-arm.cc', + '../test/cctest/test-run-wasm-relocation-arm.cc', + '../test/cctest/test-sync-primitives-arm.cc', + ], + 'cctest_sources_arm64': [ + '../test/cctest/test-utils-arm64.cc', + '../test/cctest/test-utils-arm64.h', + '../test/cctest/test-assembler-arm64.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-arm64.cc', + '../test/cctest/test-disasm-arm64.cc', + '../test/cctest/test-fuzz-arm64.cc', + '../test/cctest/test-javascript-arm64.cc', + '../test/cctest/test-js-arm64-variables.cc', + '../test/cctest/test-run-wasm-relocation-arm64.cc', + '../test/cctest/test-sync-primitives-arm64.cc', + ], + 'cctest_sources_s390': [ + '../test/cctest/test-assembler-s390.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-disasm-s390.cc', + ], + 'cctest_sources_ppc': [ + '../test/cctest/test-assembler-ppc.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-disasm-ppc.cc', + ], + 'cctest_sources_mips': [ + '../test/cctest/test-assembler-mips.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-mips.cc', + '../test/cctest/test-disasm-mips.cc', + '../test/cctest/test-macro-assembler-mips.cc', + ], + 'cctest_sources_mipsel': [ + '../test/cctest/test-assembler-mips.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-mips.cc', + '../test/cctest/test-disasm-mips.cc', + '../test/cctest/test-macro-assembler-mips.cc', + ], + 'cctest_sources_mips64': [ + '../test/cctest/test-assembler-mips64.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-mips64.cc', + '../test/cctest/test-disasm-mips64.cc', + '../test/cctest/test-macro-assembler-mips64.cc', + ], + 'cctest_sources_mips64el': [ + '../test/cctest/test-assembler-mips64.cc', + '../test/cctest/test-code-stubs.cc', + '../test/cctest/test-code-stubs.h', + '../test/cctest/test-code-stubs-mips64.cc', + '../test/cctest/test-disasm-mips64.cc', + '../test/cctest/test-macro-assembler-mips64.cc', + ], + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'cctest', + 'type': 'executable', + 'dependencies': [ + 'resources', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/common/wasm/flag-utils.h', + '../test/common/wasm/test-signatures.h', + '../test/common/wasm/wasm-macro-gen.h', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '<@(cctest_sources)', + '<(generated_file)', + ], + 'conditions': [ + ['v8_target_arch=="ia32"', { + 'sources': [ + '<@(cctest_sources_ia32)', + ], + }], + ['v8_target_arch=="x64"', { + 'sources': [ + '<@(cctest_sources_x64)', + ], + }], + ['v8_target_arch=="arm"', { + 'sources': [ + '<@(cctest_sources_arm)', + ], + }], + ['v8_target_arch=="arm64"', { + 'sources': [ + '<@(cctest_sources_arm64)', + ], + }], + ['v8_target_arch=="s390"', { + 'sources': [ + '<@(cctest_sources_s390)', + ], + }], + ['v8_target_arch=="s390x"', { + 'sources': [ + '<@(cctest_sources_s390)', + ], + }], + ['v8_target_arch=="ppc"', { + 'sources': [ + '<@(cctest_sources_ppc)', + ], + }], + ['v8_target_arch=="ppc64"', { + 'sources': [ + '<@(cctest_sources_ppc)', + ], + }], + ['v8_target_arch=="mips"', { + 'sources': [ + '<@(cctest_sources_mips)', + ], + }], + ['v8_target_arch=="mipsel"', { + 'sources': [ + '<@(cctest_sources_mipsel)', + ], + }], + ['v8_target_arch=="mips64"', { + 'sources': [ + '<@(cctest_sources_mips64)', + ], + }], + ['v8_target_arch=="mips64el"', { + 'sources': [ + '<@(cctest_sources_mips64el)', + ], + }], + [ 'OS=="win"', { + 'msvs_settings': { + 'VCCLCompilerTool': { + # MSVS wants this for gay-{precision,shortest}.cc. + 'AdditionalOptions': ['/bigobj'], + }, + }, + }], + ['v8_target_arch=="ppc" or v8_target_arch=="ppc64" \ + or v8_target_arch=="arm" or v8_target_arch=="arm64" \ + or v8_target_arch=="s390" or v8_target_arch=="s390x" \ + or v8_target_arch=="mips" or v8_target_arch=="mips64" \ + or v8_target_arch=="mipsel" or v8_target_arch=="mips64el"', { + # disable fmadd/fmsub so that expected results match generated code in + # RunFloat64MulAndFloat64Add1 and friends. + 'cflags': ['-ffp-contract=off'], + }], + ['OS=="aix"', { + 'ldflags': [ '-Wl,-bbigtoc' ], + }], + ['component=="shared_library"', { + # cctest can't be built against a shared library, so we need to + # depend on the underlying static target in that case. + 'dependencies': ['v8.gyp:v8_maybe_snapshot'], + 'defines': [ 'BUILDING_V8_SHARED', ] + }, { + 'dependencies': ['v8.gyp:v8'], + }], + ['v8_use_snapshot=="true"', { + 'dependencies': ['v8.gyp:v8_initializers'], + }], + ], + }, + { + 'target_name': 'resources', + 'type': 'none', + 'variables': { + 'file_list': [ + '../tools/splaytree.js', + '../tools/codemap.js', + '../tools/csvparser.js', + '../tools/consarray.js', + '../tools/profile.js', + '../tools/profile_view.js', + '../tools/arguments.js', + '../tools/logreader.js', + '../test/cctest/log-eq-of-logging-and-traversal.js', + ], + }, + 'actions': [ + { + 'action_name': 'js2c', + 'inputs': [ + '../tools/js2c.py', + '<@(file_list)', + ], + 'outputs': [ + '<(generated_file)', + ], + 'action': [ + 'python', + '../tools/js2c.py', + '<@(_outputs)', + 'TEST', # type + '<@(file_list)', + ], + } + ], + }, + { + 'target_name': 'generate-bytecode-expectations', + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'include_dirs+': [ + '..', + ], + 'sources': [ + '../test/cctest/interpreter/bytecode-expectations-printer.cc', + '../test/cctest/interpreter/bytecode-expectations-printer.h', + '../test/cctest/interpreter/generate-bytecode-expectations.cc', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/coverage_wrapper.py b/deps/v8/gypfiles/coverage_wrapper.py index d5fdee43cf..d5fdee43cf 100755..100644 --- a/deps/v8/gypfiles/coverage_wrapper.py +++ b/deps/v8/gypfiles/coverage_wrapper.py diff --git a/deps/v8/gypfiles/d8.gyp b/deps/v8/gypfiles/d8.gyp new file mode 100644 index 0000000000..f593a2b044 --- /dev/null +++ b/deps/v8/gypfiles/d8.gyp @@ -0,0 +1,119 @@ +# Copyright 2018 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. + +{ + 'variables': { + 'v8_code': 1, + # Enable support for Intel VTune. Supported on ia32/x64 only + 'v8_enable_vtunejit%': 0, + 'v8_enable_i18n_support%': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'd8', + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + # Generated source files need this explicitly: + 'include_dirs+': [ + '..', + '<(DEPTH)', + ], + 'sources': [ + '../src/d8.h', + '../src/d8.cc', + '../src/d8-console.h', + '../src/d8-console.cc', + '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', + ], + 'conditions': [ + [ 'want_separate_host_toolset==1', { + 'toolsets': [ 'target', ], + 'dependencies': [ + 'd8_js2c#host', + ], + }, { + 'dependencies': [ + 'd8_js2c', + ], + }], + ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \ + or OS=="openbsd" or OS=="solaris" or OS=="android" \ + or OS=="qnx" or OS=="aix")', { + 'sources': [ '../src/d8-posix.cc', ] + }], + [ 'OS=="win"', { + 'sources': [ '../src/d8-windows.cc', ] + }], + [ 'component!="shared_library"', { + 'conditions': [ + [ 'v8_postmortem_support=="true"', { + 'xcode_settings': { + 'OTHER_LDFLAGS': [ + '-Wl,-force_load,<(PRODUCT_DIR)/libv8_base.a' + ], + }, + }], + ], + }], + ['v8_enable_vtunejit==1', { + 'dependencies': [ + 'v8vtune.gyp:v8_vtune', + ], + }], + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ['OS=="win" and v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icudata', + ], + }], + ], + }, + { + 'target_name': 'd8_js2c', + 'type': 'none', + 'variables': { + 'js_files': [ + '../src/d8.js', + '../src/js/macros.py', + ], + }, + 'conditions': [ + [ 'want_separate_host_toolset==1', { + 'toolsets': ['host'], + }, { + 'toolsets': ['target'], + }] + ], + 'actions': [ + { + 'action_name': 'd8_js2c', + 'inputs': [ + '../tools/js2c.py', + '<@(js_files)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', + ], + 'action': [ + 'python', + '../tools/js2c.py', + '<@(_outputs)', + 'D8', + '<@(js_files)' + ], + }, + ], + }, + ], +} diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi index 8c99b4f086..69ff763be0 100644 --- a/deps/v8/gypfiles/features.gypi +++ b/deps/v8/gypfiles/features.gypi @@ -87,6 +87,9 @@ # Enable concurrent marking. 'v8_enable_concurrent_marking%': 1, + # Enables various testing features. + 'v8_enable_test_features%': 0, + # Controls the threshold for on-heap/off-heap Typed Arrays. 'v8_typed_array_max_size_in_heap%': 64, @@ -119,6 +122,9 @@ ['v8_trace_maps==1', { 'defines': ['V8_TRACE_MAPS',], }], + ['v8_enable_test_features==1', { + 'defines': ['V8_ENABLE_ALLOCATION_TIMEOUT', 'V8_ENABLE_FORCE_SLOW_PATH'], + }], ['v8_enable_verify_predictable==1', { 'defines': ['VERIFY_PREDICTABLE',], }], @@ -164,7 +170,7 @@ }, # Debug 'Release': { 'variables': { - 'v8_enable_handle_zapping%': 0, + 'v8_enable_handle_zapping%': 1, }, 'conditions': [ ['v8_enable_handle_zapping==1', { diff --git a/deps/v8/gypfiles/fuzzer.gyp b/deps/v8/gypfiles/fuzzer.gyp new file mode 100644 index 0000000000..f65b7dc6d0 --- /dev/null +++ b/deps/v8/gypfiles/fuzzer.gyp @@ -0,0 +1,518 @@ +# Copyright 2016 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. + +{ + 'variables': { + 'v8_code': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'v8_simple_json_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'json_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'json_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/json.cc', + ], + }, + { + 'target_name': 'v8_simple_parser_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'parser_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'parser_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/parser.cc', + ], + }, + { + 'target_name': 'v8_simple_regexp_builtins_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'regexp_builtins_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'regexp_builtins_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/regexp-builtins.cc', + '../test/fuzzer/regexp_builtins/mjsunit.js.h', + ], + }, + { + 'target_name': 'v8_simple_regexp_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'regexp_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'regexp_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/regexp.cc', + ], + }, + { + 'target_name': 'v8_simple_multi_return_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'multi_return_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'multi_return_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/cctest/compiler/c-signature.h', + '../test/cctest/compiler/call-helper.h', + '../test/cctest/compiler/raw-machine-assembler-tester.h', + '../test/fuzzer/multi-return.cc', + ], + }, + { + 'target_name': 'v8_simple_wasm_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_async_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_async_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_async_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-async.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_code_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_code_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_code_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-code.cc', + '../test/common/wasm/test-signatures.h', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_compile_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_compile_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_compile_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-compile.cc', + '../test/common/wasm/test-signatures.h', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_data_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_data_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_data_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-data-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_function_sigs_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_function_sigs_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_function_sigs_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-function-sigs-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_globals_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_globals_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_globals_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-globals-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_imports_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_imports_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_imports_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-imports-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_memory_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_memory_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_memory_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-memory-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_names_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_names_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_names_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-names-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'v8_simple_wasm_types_section_fuzzer', + 'type': 'executable', + 'dependencies': [ + 'wasm_types_section_fuzzer_lib', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer.cc', + ], + }, + { + 'target_name': 'wasm_types_section_fuzzer_lib', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'fuzzer_support', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/wasm-types-section.cc', + '../test/common/wasm/wasm-module-runner.cc', + '../test/common/wasm/wasm-module-runner.h', + '../test/fuzzer/wasm-fuzzer-common.cc', + '../test/fuzzer/wasm-fuzzer-common.h', + ], + }, + { + 'target_name': 'fuzzer_support', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/fuzzer/fuzzer-support.cc', + '../test/fuzzer/fuzzer-support.h', + ], + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ], + }, + ], +} diff --git a/deps/v8/gypfiles/get_landmines.py b/deps/v8/gypfiles/get_landmines.py deleted file mode 100755 index 6137648e6d..0000000000 --- a/deps/v8/gypfiles/get_landmines.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 file emits the list of reasons why a particular build needs to be clobbered -(or a list of 'landmines'). -""" - -import sys - - -def main(): - """ - ALL LANDMINES ARE EMITTED FROM HERE. - """ - print 'Need to clobber after ICU52 roll.' - print 'Landmines test.' - print 'Activating MSVS 2013.' - print 'Revert activation of MSVS 2013.' - print 'Activating MSVS 2013 again.' - print 'Clobber after ICU roll.' - print 'Moar clobbering...' - print 'Remove build/android.gypi' - print 'Cleanup after windows ninja switch attempt.' - print 'Switching to pinned msvs toolchain.' - print 'Clobbering to hopefully resolve problem with mksnapshot' - print 'Clobber after ICU roll.' - print 'Clobber after Android NDK update.' - print 'Clober to fix windows build problems.' - print 'Clober again to fix windows build problems.' - print 'Clobber to possibly resolve failure on win-32 bot.' - print 'Clobber for http://crbug.com/668958.' - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/deps/v8/gypfiles/gmock.gyp b/deps/v8/gypfiles/gmock.gyp new file mode 100644 index 0000000000..a80387298b --- /dev/null +++ b/deps/v8/gypfiles/gmock.gyp @@ -0,0 +1,72 @@ +# 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. + +{ + 'targets': [ + { + 'target_name': 'gmock', + 'type': 'static_library', + 'dependencies': [ + 'gtest.gyp:gtest', + ], + 'sources': [ + # Sources based on files in r173 of gmock. + '../testing/gmock/include/gmock/gmock-actions.h', + '../testing/gmock/include/gmock/gmock-cardinalities.h', + '../testing/gmock/include/gmock/gmock-generated-actions.h', + '../testing/gmock/include/gmock/gmock-generated-function-mockers.h', + '../testing/gmock/include/gmock/gmock-generated-matchers.h', + '../testing/gmock/include/gmock/gmock-generated-nice-strict.h', + '../testing/gmock/include/gmock/gmock-matchers.h', + '../testing/gmock/include/gmock/gmock-spec-builders.h', + '../testing/gmock/include/gmock/gmock.h', + '../testing/gmock/include/gmock/internal/gmock-generated-internal-utils.h', + '../testing/gmock/include/gmock/internal/gmock-internal-utils.h', + '../testing/gmock/include/gmock/internal/gmock-port.h', + '../testing/gmock/src/gmock-all.cc', + '../testing/gmock/src/gmock-cardinalities.cc', + '../testing/gmock/src/gmock-internal-utils.cc', + '../testing/gmock/src/gmock-matchers.cc', + '../testing/gmock/src/gmock-spec-builders.cc', + '../testing/gmock/src/gmock.cc', + '../testing/gmock-support.h', # gMock helpers + '../testing/gmock_custom/gmock/internal/custom/gmock-port.h', + ], + 'sources!': [ + '../testing/gmock/src/gmock-all.cc', # Not needed by our build. + ], + 'include_dirs': [ + '../testing/gmock_custom', + '../testing/gmock', + '../testing/gmock/include', + ], + 'all_dependent_settings': { + 'include_dirs': [ + '../testing/gmock_custom', + '../testing/gmock/include', # So that gmock headers can find themselves. + ], + }, + 'export_dependent_settings': [ + 'gtest.gyp:gtest', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ], + }, + { + 'target_name': 'gmock_main', + 'type': 'static_library', + 'dependencies': [ + 'gmock', + ], + 'sources': [ + '../testing/gmock/src/gmock_main.cc', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/gtest.gyp b/deps/v8/gypfiles/gtest.gyp new file mode 100644 index 0000000000..82ae105293 --- /dev/null +++ b/deps/v8/gypfiles/gtest.gyp @@ -0,0 +1,122 @@ +# 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. + +{ + 'targets': [ + { + 'target_name': 'gtest', + 'toolsets': ['host', 'target'], + 'type': 'static_library', + 'sources': [ + '../testing/gtest/include/gtest/gtest-death-test.h', + '../testing/gtest/include/gtest/gtest-message.h', + '../testing/gtest/include/gtest/gtest-param-test.h', + '../testing/gtest/include/gtest/gtest-printers.h', + '../testing/gtest/include/gtest/gtest-spi.h', + '../testing/gtest/include/gtest/gtest-test-part.h', + '../testing/gtest/include/gtest/gtest-typed-test.h', + '../testing/gtest/include/gtest/gtest.h', + '../testing/gtest/include/gtest/gtest_pred_impl.h', + '../testing/gtest/include/gtest/internal/gtest-death-test-internal.h', + '../testing/gtest/include/gtest/internal/gtest-filepath.h', + '../testing/gtest/include/gtest/internal/gtest-internal.h', + '../testing/gtest/include/gtest/internal/gtest-linked_ptr.h', + '../testing/gtest/include/gtest/internal/gtest-param-util-generated.h', + '../testing/gtest/include/gtest/internal/gtest-param-util.h', + '../testing/gtest/include/gtest/internal/gtest-port.h', + '../testing/gtest/include/gtest/internal/gtest-string.h', + '../testing/gtest/include/gtest/internal/gtest-tuple.h', + '../testing/gtest/include/gtest/internal/gtest-type-util.h', + '../testing/gtest/src/gtest-all.cc', + '../testing/gtest/src/gtest-death-test.cc', + '../testing/gtest/src/gtest-filepath.cc', + '../testing/gtest/src/gtest-internal-inl.h', + '../testing/gtest/src/gtest-port.cc', + '../testing/gtest/src/gtest-printers.cc', + '../testing/gtest/src/gtest-test-part.cc', + '../testing/gtest/src/gtest-typed-test.cc', + '../testing/gtest/src/gtest.cc', + '../testing/gtest-support.h', + ], + 'sources!': [ + '../testing/gtest/src/gtest-all.cc', # Not needed by our build. + ], + 'include_dirs': [ + '../testing/gtest', + '../testing/gtest/include', + ], + 'dependencies': [ + 'gtest_prod', + ], + 'defines': [ + # In order to allow regex matches in gtest to be shared between Windows + # and other systems, we tell gtest to always use it's internal engine. + 'GTEST_HAS_POSIX_RE=0', + 'GTEST_LANG_CXX11=1', + ], + 'all_dependent_settings': { + 'defines': [ + 'GTEST_HAS_POSIX_RE=0', + 'GTEST_LANG_CXX11=1', + ], + }, + 'conditions': [ + ['OS=="android"', { + 'defines': [ + 'GTEST_HAS_CLONE=0', + ], + 'direct_dependent_settings': { + 'defines': [ + 'GTEST_HAS_CLONE=0', + ], + }, + }], + ], + 'direct_dependent_settings': { + 'defines': [ + 'UNIT_TEST', + ], + 'include_dirs': [ + '../testing/gtest/include', # So that gtest headers can find themselves. + ], + 'target_conditions': [ + ['_type=="executable"', { + 'test': 1, + 'conditions': [ + ['OS=="mac"', { + 'run_as': { + 'action????': ['${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}'], + }, + }], + ['OS=="win"', { + 'run_as': { + 'action????': ['$(TargetPath)', '--gtest_print_time'], + }, + }], + ], + }], + ], + 'msvs_disabled_warnings': [4800], + }, + }, + { + 'target_name': 'gtest_main', + 'type': 'static_library', + 'dependencies': [ + 'gtest', + ], + 'sources': [ + '../testing/gtest/src/gtest_main.cc', + ], + }, + { + 'target_name': 'gtest_prod', + 'toolsets': ['host', 'target'], + 'type': 'none', + 'sources': [ + '../testing/gtest/include/gtest/gtest_prod.h', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/gyp_v8 b/deps/v8/gypfiles/gyp_v8 index 5215f51352..62e13d86e6 100755..100644 --- a/deps/v8/gypfiles/gyp_v8 +++ b/deps/v8/gypfiles/gyp_v8 @@ -48,7 +48,8 @@ import gyp # Add paths so that pymod_do_main(...) can import files. sys.path.insert( 1, os.path.abspath(os.path.join(v8_root, 'tools', 'generate_shim_headers'))) - +sys.path.append( + os.path.abspath(os.path.join(v8_root, 'third_party', 'binutils'))) def GetOutputDirectory(): """Returns the output directory that GYP will use.""" @@ -108,14 +109,19 @@ def run_gyp(args): if __name__ == '__main__': args = sys.argv[1:] - gyp_chromium_no_action = os.environ.get('GYP_CHROMIUM_NO_ACTION', '1') - if gyp_chromium_no_action != '0': - print 'GYP is now disabled by default.\n' - print 'If you really want to run this, set the environment variable ' - print 'GYP_CHROMIUM_NO_ACTION=0.' + gyp_chromium_no_action = os.environ.get('GYP_CHROMIUM_NO_ACTION') + if gyp_chromium_no_action == '1': + print 'Skipping gyp_v8 due to GYP_CHROMIUM_NO_ACTION env var.' sys.exit(0) running_as_hook = '--running-as-hook' + if running_as_hook in args and gyp_chromium_no_action != '0': + print 'GYP is now disabled by default in runhooks.\n' + print 'If you really want to run this, either run ' + print '`python gypfiles/gyp_v8` explicitly by hand ' + print 'or set the environment variable GYP_CHROMIUM_NO_ACTION=0.' + sys.exit(0) + if running_as_hook in args: args.remove(running_as_hook) diff --git a/deps/v8/gypfiles/inspector-test.gyp b/deps/v8/gypfiles/inspector-test.gyp new file mode 100644 index 0000000000..c8cc5561a4 --- /dev/null +++ b/deps/v8/gypfiles/inspector-test.gyp @@ -0,0 +1,39 @@ +# Copyright 2016 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. + +{ + 'variables': { + 'v8_code': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'inspector-test', + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8_libplatform', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/inspector/inspector-test.cc', + '../test/inspector/isolate-data.cc', + '../test/inspector/isolate-data.h', + '../test/inspector/task-runner.cc', + '../test/inspector/task-runner.h', + ], + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ], + }, + ], +} diff --git a/deps/v8/gypfiles/inspector.gyp b/deps/v8/gypfiles/inspector.gyp new file mode 100644 index 0000000000..c0b503d9ce --- /dev/null +++ b/deps/v8/gypfiles/inspector.gyp @@ -0,0 +1,89 @@ +# Copyright 2016 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. + +{ + 'variables': { + 'protocol_path': '../third_party/inspector_protocol', + 'inspector_path': '../src/inspector', + }, + 'includes': [ + 'inspector.gypi', + '../third_party/inspector_protocol/inspector_protocol.gypi', + ], + 'targets': [ + { 'target_name': 'inspector_injected_script', + 'type': 'none', + 'toolsets': ['target'], + 'actions': [ + { + 'action_name': 'convert_js_to_cpp_char_array', + 'inputs': [ + '<(inspector_path)/build/xxd.py', + '<(inspector_injected_script_source)', + ], + 'outputs': [ + '<(inspector_generated_injected_script)', + ], + 'action': [ + 'python', + '<(inspector_path)/build/xxd.py', + 'InjectedScriptSource_js', + '<(inspector_path)/injected-script-source.js', + '<@(_outputs)' + ], + }, + ], + # Since this target generates header files, it needs to be a hard dependency. + 'hard_dependency': 1, + }, + { 'target_name': 'protocol_compatibility', + 'type': 'none', + 'toolsets': ['target'], + 'actions': [ + { + 'action_name': 'protocol_compatibility', + 'inputs': [ + '<(inspector_path)/js_protocol.json', + ], + 'outputs': [ + '<@(SHARED_INTERMEDIATE_DIR)/src/js_protocol.stamp', + ], + 'action': [ + 'python', + '<(protocol_path)/CheckProtocolCompatibility.py', + '--stamp', '<@(_outputs)', + '<(inspector_path)/js_protocol.json', + ], + 'message': 'Generating inspector protocol sources from protocol json definition', + }, + ] + }, + { 'target_name': 'protocol_generated_sources', + 'type': 'none', + 'dependencies': [ 'protocol_compatibility' ], + 'toolsets': ['target'], + 'actions': [ + { + 'action_name': 'protocol_generated_sources', + 'inputs': [ + '<(inspector_path)/js_protocol.json', + '<(inspector_path)/inspector_protocol_config.json', + '<@(inspector_protocol_files)', + ], + 'outputs': [ + '<@(inspector_generated_sources)', + ], + 'action': [ + 'python', + '<(protocol_path)/CodeGenerator.py', + '--jinja_dir', '../third_party', + '--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/inspector', + '--config', '<(inspector_path)/inspector_protocol_config.json', + ], + 'message': 'Generating inspector protocol sources from protocol json', + }, + ] + }, + ], +} diff --git a/deps/v8/gypfiles/inspector.gypi b/deps/v8/gypfiles/inspector.gypi new file mode 100644 index 0000000000..00cbbfaecb --- /dev/null +++ b/deps/v8/gypfiles/inspector.gypi @@ -0,0 +1,90 @@ +# Copyright 2016 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. + +{ + 'variables': { + 'inspector_generated_sources': [ + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Forward.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Protocol.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Protocol.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Console.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Console.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Debugger.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Debugger.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/HeapProfiler.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/HeapProfiler.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Profiler.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Profiler.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Runtime.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Runtime.h', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Schema.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/inspector/protocol/Schema.h', + '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Debugger.h', + '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Runtime.h', + '<(SHARED_INTERMEDIATE_DIR)/include/inspector/Schema.h', + ], + + 'inspector_injected_script_source': '../src/inspector/injected-script-source.js', + 'inspector_generated_injected_script': '<(SHARED_INTERMEDIATE_DIR)/src/inspector/injected-script-source.h', + + 'inspector_all_sources': [ + '<@(inspector_generated_sources)', + '<(inspector_generated_injected_script)', + '../include/v8-inspector.h', + '../include/v8-inspector-protocol.h', + '../src/inspector/injected-script.cc', + '../src/inspector/injected-script.h', + '../src/inspector/inspected-context.cc', + '../src/inspector/inspected-context.h', + '../src/inspector/remote-object-id.cc', + '../src/inspector/remote-object-id.h', + '../src/inspector/search-util.cc', + '../src/inspector/search-util.h', + '../src/inspector/string-16.cc', + '../src/inspector/string-16.h', + '../src/inspector/string-util.cc', + '../src/inspector/string-util.h', + '../src/inspector/test-interface.cc', + '../src/inspector/test-interface.h', + '../src/inspector/v8-console.cc', + '../src/inspector/v8-console.h', + '../src/inspector/v8-console-agent-impl.cc', + '../src/inspector/v8-console-agent-impl.h', + '../src/inspector/v8-console-message.cc', + '../src/inspector/v8-console-message.h', + '../src/inspector/v8-debugger.cc', + '../src/inspector/v8-debugger.h', + '../src/inspector/v8-debugger-agent-impl.cc', + '../src/inspector/v8-debugger-agent-impl.h', + '../src/inspector/v8-debugger-script.cc', + '../src/inspector/v8-debugger-script.h', + '../src/inspector/v8-function-call.cc', + '../src/inspector/v8-function-call.h', + '../src/inspector/v8-heap-profiler-agent-impl.cc', + '../src/inspector/v8-heap-profiler-agent-impl.h', + '../src/inspector/v8-injected-script-host.cc', + '../src/inspector/v8-injected-script-host.h', + '../src/inspector/v8-inspector-impl.cc', + '../src/inspector/v8-inspector-impl.h', + '../src/inspector/v8-inspector-session-impl.cc', + '../src/inspector/v8-inspector-session-impl.h', + '../src/inspector/v8-internal-value-type.cc', + '../src/inspector/v8-internal-value-type.h', + '../src/inspector/v8-profiler-agent-impl.cc', + '../src/inspector/v8-profiler-agent-impl.h', + '../src/inspector/v8-regex.cc', + '../src/inspector/v8-regex.h', + '../src/inspector/v8-runtime-agent-impl.cc', + '../src/inspector/v8-runtime-agent-impl.h', + '../src/inspector/v8-schema-agent-impl.cc', + '../src/inspector/v8-schema-agent-impl.h', + '../src/inspector/v8-stack-trace-impl.cc', + '../src/inspector/v8-stack-trace-impl.h', + '../src/inspector/v8-value-utils.cc', + '../src/inspector/v8-value-utils.h', + '../src/inspector/wasm-translation.cc', + '../src/inspector/wasm-translation.h', + ] + } +} diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi deleted file mode 100644 index 3e85b530e2..0000000000 --- a/deps/v8/gypfiles/isolate.gypi +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 2015 the V8 project authors. All rights reserved. -# Copyright (c) 2012 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# This file is meant to be included into a target to provide a rule -# to "build" .isolate files into a .isolated file. -# -# To use this, create a gyp target with the following form: -# 'conditions': [ -# ['test_isolation_mode != "noop"', { -# 'targets': [ -# { -# 'target_name': 'foo_test_run', -# 'type': 'none', -# 'dependencies': [ -# 'foo_test', -# ], -# 'includes': [ -# '../gypfiles/isolate.gypi', -# ], -# 'sources': [ -# 'foo_test.isolate', -# ], -# }, -# ], -# }], -# ], -# -# Note: foo_test.isolate is included and a source file. It is an inherent -# property of the .isolate format. This permits to define GYP variables but is -# a stricter format than GYP so isolate.py can read it. -# -# The generated .isolated file will be: -# <(PRODUCT_DIR)/foo_test.isolated -# -# See http://dev.chromium.org/developers/testing/isolated-testing/for-swes -# for more information. - -{ - 'rules': [ - { - 'rule_name': 'isolate', - 'extension': 'isolate', - 'inputs': [ - # Files that are known to be involved in this step. - '<(DEPTH)/tools/isolate_driver.py', - '<(DEPTH)/tools/swarming_client/isolate.py', - '<(DEPTH)/tools/swarming_client/run_isolated.py', - ], - 'outputs': [ - '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', - ], - 'action': [ - 'python', - '<(DEPTH)/tools/isolate_driver.py', - '<(test_isolation_mode)', - '--isolated', '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', - '--isolate', '<(RULE_INPUT_PATH)', - - # Variables should use the -V FOO=<(FOO) form so frequent values, - # like '0' or '1', aren't stripped out by GYP. Run 'isolate.py help' - # for more details. - - # Path variables are used to replace file paths when loading a .isolate - # file - '--path-variable', 'DEPTH', '<(DEPTH)', - '--path-variable', 'PRODUCT_DIR', '<(PRODUCT_DIR)', - - '--config-variable', 'CONFIGURATION_NAME=<(CONFIGURATION_NAME)', - '--config-variable', 'OS=<(OS)', - '--config-variable', 'asan=<(asan)', - '--config-variable', 'cfi_vptr=<(cfi_vptr)', - '--config-variable', 'gcmole=<(gcmole)', - '--config-variable', 'has_valgrind=<(has_valgrind)', - '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)', - '--config-variable', 'msan=<(msan)', - '--config-variable', 'tsan=<(tsan)', - '--config-variable', 'coverage=<(coverage)', - '--config-variable', 'sanitizer_coverage=<(sanitizer_coverage)', - '--config-variable', 'component=<(component)', - '--config-variable', 'target_arch=<(target_arch)', - '--config-variable', 'ubsan_vptr=0', - '--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)', - '--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)', - ], - 'conditions': [ - ['OS=="win"', { - 'action': [ - '--config-variable', 'msvs_version=2013', - ], - }, { - 'action': [ - '--config-variable', 'msvs_version=0', - ], - }], - ], - }, - ], -} diff --git a/deps/v8/gypfiles/landmine_utils.py b/deps/v8/gypfiles/landmine_utils.py deleted file mode 100644 index 8bdc2b648b..0000000000 --- a/deps/v8/gypfiles/landmine_utils.py +++ /dev/null @@ -1,123 +0,0 @@ -# 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. - - -import functools -import logging -import os -import shlex -import sys - - -def memoize(default=None): - """This decorator caches the return value of a parameterless pure function""" - def memoizer(func): - val = [] - @functools.wraps(func) - def inner(): - if not val: - ret = func() - val.append(ret if ret is not None else default) - if logging.getLogger().isEnabledFor(logging.INFO): - print '%s -> %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_generator_flags(): - """Parses and returns GYP_GENERATOR_FLAGS env var as a dictionary.""" - return dict(arg.split('=', 1) - for arg in shlex.split(os.environ.get('GYP_GENERATOR_FLAGS', ''))) - - -@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 targeted 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/gypfiles/landmines.py b/deps/v8/gypfiles/landmines.py deleted file mode 100755 index 2a81c66d1a..0000000000 --- a/deps/v8/gypfiles/landmines.py +++ /dev/null @@ -1,245 +0,0 @@ -#!/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 the first hook (See DEPS). If it detects that -the build should be clobbered, it will delete the contents of the build -directory. - -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 errno -import gyp_environment -import logging -import optparse -import os -import re -import shutil -import sys -import subprocess -import time - -import landmine_utils - - -SRC_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - - -def get_build_dir(build_tool, is_iphone=False): - """ - Returns output directory absolute path dependent on build and targets. - Examples: - r'c:\b\build\slave\win\build\src\out' - '/mnt/data/b/build/slave/linux/build/src/out' - '/b/build/slave/ios_rel_device/build/src/xcodebuild' - - 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') - elif build_tool in ['make', 'ninja', 'ninja-ios']: # TODO: Remove ninja-ios. - if 'CHROMIUM_OUT_DIR' in os.environ: - output_dir = os.environ.get('CHROMIUM_OUT_DIR').strip() - if not output_dir: - raise Error('CHROMIUM_OUT_DIR environment variable is set but blank!') - else: - output_dir = landmine_utils.gyp_generator_flags().get('output_dir', 'out') - ret = os.path.join(SRC_DIR, output_dir) - elif build_tool in ['msvs', 'vs', 'ib']: - ret = os.path.join(SRC_DIR, 'build') - else: - raise NotImplementedError('Unexpected GYP_GENERATORS (%s)' % build_tool) - return os.path.abspath(ret) - - -def extract_gn_build_commands(build_ninja_file): - """Extracts from a build.ninja the commands to run GN. - - The commands to run GN are the gn rule and build.ninja build step at the - top of the build.ninja file. We want to keep these when deleting GN builds - since we want to preserve the command-line flags to GN. - - On error, returns the empty string.""" - result = "" - with open(build_ninja_file, 'r') as f: - # Read until the second blank line. The first thing GN writes to the file - # is the "rule gn" and the second is the section for "build build.ninja", - # separated by blank lines. - num_blank_lines = 0 - while num_blank_lines < 2: - line = f.readline() - if len(line) == 0: - return '' # Unexpected EOF. - result += line - if line[0] == '\n': - num_blank_lines = num_blank_lines + 1 - return result - -def delete_build_dir(build_dir): - # GN writes a build.ninja.d file. Note that not all GN builds have args.gn. - build_ninja_d_file = os.path.join(build_dir, 'build.ninja.d') - if not os.path.exists(build_ninja_d_file): - shutil.rmtree(build_dir) - return - - # GN builds aren't automatically regenerated when you sync. To avoid - # messing with the GN workflow, erase everything but the args file, and - # write a dummy build.ninja file that will automatically rerun GN the next - # time Ninja is run. - build_ninja_file = os.path.join(build_dir, 'build.ninja') - build_commands = extract_gn_build_commands(build_ninja_file) - - try: - gn_args_file = os.path.join(build_dir, 'args.gn') - with open(gn_args_file, 'r') as f: - args_contents = f.read() - except IOError: - args_contents = '' - - shutil.rmtree(build_dir) - - # Put back the args file (if any). - os.mkdir(build_dir) - if args_contents != '': - with open(gn_args_file, 'w') as f: - f.write(args_contents) - - # Write the build.ninja file sufficiently to regenerate itself. - with open(os.path.join(build_dir, 'build.ninja'), 'w') as f: - if build_commands != '': - f.write(build_commands) - else: - # Couldn't parse the build.ninja file, write a default thing. - f.write('''rule gn -command = gn -q gen //out/%s/ -description = Regenerating ninja files - -build build.ninja: gn -generator = 1 -depfile = build.ninja.d -''' % (os.path.split(build_dir)[1])) - - # Write a .d file for the build which references a nonexistant file. This - # will make Ninja always mark the build as dirty. - with open(build_ninja_d_file, 'w') as f: - f.write('build.ninja: nonexistant_file.gn\n') - - -def needs_clobber(landmines_path, new_landmines): - if os.path.exists(landmines_path): - 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) - sys.stdout.write('Clobbering due to:\n') - sys.stdout.writelines(diff) - return True - else: - sys.stdout.write('Clobbering due to missing landmines file.\n') - return True - return False - - -def clobber_if_necessary(new_landmines): - """Does the work of setting, planting, and triggering landmines.""" - out_dir = get_build_dir(landmine_utils.builder()) - landmines_path = os.path.normpath(os.path.join(out_dir, '..', '.landmines')) - try: - os.makedirs(out_dir) - except OSError as e: - if e.errno == errno.EEXIST: - pass - - if needs_clobber(landmines_path, new_landmines): - # Clobber contents of build directory but not directory itself: some - # checkouts have the build directory mounted. - for f in os.listdir(out_dir): - path = os.path.join(out_dir, f) - if os.path.basename(out_dir) == 'build': - # Only delete build directories and files for MSVS builds as the folder - # shares some checked out files and directories. - if (os.path.isdir(path) and - re.search(r'(?:[Rr]elease)|(?:[Dd]ebug)', f)): - delete_build_dir(path) - elif (os.path.isfile(path) and - (path.endswith('.sln') or - path.endswith('.vcxproj') or - path.endswith('.vcxproj.user'))): - os.unlink(path) - else: - if os.path.isfile(path): - os.unlink(path) - elif os.path.isdir(path): - delete_build_dir(path) - if os.path.basename(out_dir) == 'xcodebuild': - # Xcodebuild puts an additional project file structure into build, - # while the output folder is xcodebuild. - project_dir = os.path.join(SRC_DIR, 'build', 'all.xcodeproj') - if os.path.exists(project_dir) and os.path.isdir(project_dir): - delete_build_dir(project_dir) - - # Save current set of landmines for next time. - 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, 'gypfiles', '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 - - gyp_environment.set_environment() - - 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()]) - clobber_if_necessary(landmines) - - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/deps/v8/gypfiles/mkgrokdump.gyp b/deps/v8/gypfiles/mkgrokdump.gyp new file mode 100644 index 0000000000..75e8fc75cd --- /dev/null +++ b/deps/v8/gypfiles/mkgrokdump.gyp @@ -0,0 +1,27 @@ +# Copyright 2017 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. + +{ + 'variables': { + 'v8_code': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'mkgrokdump', + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '../test/mkgrokdump/mkgrokdump.cc', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/detect_v8_host_arch.py b/deps/v8/gypfiles/parser-shell.gyp index 89e8286e1f..464e2676ac 100644 --- a/deps/v8/gypfiles/detect_v8_host_arch.py +++ b/deps/v8/gypfiles/parser-shell.gyp @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# Copyright 2014 the V8 project authors. All rights reserved. +# Copyright 2013 the V8 project authors. All rights reserved. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: @@ -26,52 +25,36 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -"""Outputs host CPU architecture in format recognized by gyp.""" - -import platform -import re -import sys - - -def main(): - print DoMain([]) - return 0 - -def DoMain(_): - """Hook to be called from gyp without starting a separate python - interpreter.""" - host_arch = platform.machine() - host_system = platform.system(); - - # Convert machine type to format recognized by gyp. - if re.match(r'i.86', host_arch) or host_arch == 'i86pc': - host_arch = 'ia32' - elif host_arch in ['x86_64', 'amd64']: - host_arch = 'x64' - elif host_arch.startswith('arm'): - host_arch = 'arm' - elif host_arch == 'aarch64': - host_arch = 'arm64' - elif host_arch == 'mips64': - host_arch = 'mips64el' - elif host_arch.startswith('mips'): - host_arch = 'mipsel' - - # Under AIX the value returned by platform.machine is not - # the best indicator of the host architecture - # AIX 6.1 which is the lowest level supported only provides - # a 64 bit kernel - if host_system == 'AIX': - host_arch = 'ppc64' - - # platform.machine is based on running kernel. It's possible to use 64-bit - # kernel with 32-bit userland, e.g. to give linker slightly more memory. - # Distinguish between different userland bitness by querying - # the python binary. - if host_arch == 'x64' and platform.architecture()[0] == '32bit': - host_arch = 'ia32' - - return host_arch - -if __name__ == '__main__': - sys.exit(main()) +{ + 'variables': { + 'v8_code': 1, + 'v8_enable_i18n_support%': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'parser-shell', + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ], + 'include_dirs+': [ + '..', + ], + 'sources': [ + '../tools/parser-shell.cc', + '../tools/shell-utils.h', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/run-tests-legacy.py b/deps/v8/gypfiles/run-tests-legacy.py index f1ea478c62..f1ea478c62 100755..100644 --- a/deps/v8/gypfiles/run-tests-legacy.py +++ b/deps/v8/gypfiles/run-tests-legacy.py diff --git a/deps/v8/gypfiles/samples.gyp b/deps/v8/gypfiles/samples.gyp new file mode 100644 index 0000000000..9080c0d445 --- /dev/null +++ b/deps/v8/gypfiles/samples.gyp @@ -0,0 +1,61 @@ +# Copyright 2012 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. + +{ + 'variables': { + 'v8_code': 1, + 'v8_enable_i18n_support%': 1, + 'v8_toolset_for_shell%': 'target', + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'target_defaults': { + 'type': 'executable', + 'dependencies': [ + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + ], + 'include_dirs': [ + '..', + ], + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ['OS=="win" and v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icudata', + ], + }], + ], + }, + 'targets': [ + { + 'target_name': 'v8_shell', + 'sources': [ + '../samples/shell.cc', + ], + 'conditions': [ + [ 'want_separate_host_toolset==1', { + 'toolsets': [ '<(v8_toolset_for_shell)', ], + }], + ], + }, + { + 'target_name': 'hello-world', + 'sources': [ + '../samples/hello-world.cc', + ], + }, + { + 'target_name': 'process', + 'sources': [ + '../samples/process.cc', + ], + }, + ], +} diff --git a/deps/v8/gypfiles/sysroot_ld_flags.sh b/deps/v8/gypfiles/sysroot_ld_flags.sh index 5cc8011b32..5cc8011b32 100755..100644 --- a/deps/v8/gypfiles/sysroot_ld_flags.sh +++ b/deps/v8/gypfiles/sysroot_ld_flags.sh diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi index 80844cecc6..e67a5e22b9 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -58,6 +58,9 @@ # Similar to the ARM hard float ABI but on MIPS. 'v8_use_mips_abi_hardfloat%': 'true', + # MIPS MSA support + 'mips_use_msa%': 0, + # Print to stdout on Android. 'v8_android_log_stdout%': 0, @@ -439,6 +442,9 @@ 'cflags': ['-mips32r6'], 'ldflags': ['-mips32r6'], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ [ 'mips_fpu_mode=="fp64"', { @@ -507,6 +513,9 @@ 'FPU_MODE_FP64', ], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ [ 'mips_fpu_mode=="fp64"', { @@ -558,6 +567,9 @@ 'FPU_MODE_FP64', ], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ ['mips_fpu_mode=="fp64"', { @@ -640,6 +652,9 @@ 'cflags': ['-mips32r6'], 'ldflags': ['-mips32r6'], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ [ 'mips_fpu_mode=="fp64"', { @@ -721,6 +736,9 @@ 'FPU_MODE_FP64', ], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ [ 'mips_fpu_mode=="fp64"', { @@ -778,6 +796,9 @@ 'FPU_MODE_FP64', ], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'conditions': [ ['mips_fpu_mode=="fp64"', { @@ -877,6 +898,9 @@ 'cflags': ['-mips64r6', '-mabi=64'], 'ldflags': ['-mips64r6', '-mabi=64'], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'defines': ['_MIPS_ARCH_MIPS64R2',], 'conditions': [ @@ -895,6 +919,9 @@ ['mips_arch_variant=="r6"', { 'defines': ['_MIPS_ARCH_MIPS64R6',], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'defines': ['_MIPS_ARCH_MIPS64R2',], }], @@ -907,6 +934,9 @@ ['mips_arch_variant=="r6"', { 'defines': ['_MIPS_ARCH_MIPS64R6',], }], + ['mips_arch_variant=="r6" and mips_use_msa==1', { + 'defines': [ '_MIPS_MSA' ], + }], ['mips_arch_variant=="r2"', { 'defines': ['_MIPS_ARCH_MIPS64R2',], }], @@ -1225,7 +1255,9 @@ 'OBJECT_PRINT', 'VERIFY_HEAP', 'DEBUG', - 'V8_TRACE_MAPS' + 'V8_TRACE_MAPS', + 'V8_ENABLE_ALLOCATION_TIMEOUT', + 'V8_ENABLE_FORCE_SLOW_PATH', ], 'conditions': [ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ diff --git a/deps/v8/gypfiles/unittests.gyp b/deps/v8/gypfiles/unittests.gyp new file mode 100644 index 0000000000..c6d3713b0c --- /dev/null +++ b/deps/v8/gypfiles/unittests.gyp @@ -0,0 +1,287 @@ +# 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. + +# The sources are kept automatically in sync with BUILD.gn. + +{ + 'variables': { + 'v8_code': 1, + 'unittests_sources': [ + '../test/unittests/allocation-unittest.cc', + '../test/unittests/api/access-check-unittest.cc', + '../test/unittests/api/exception-unittest.cc', + '../test/unittests/api/interceptor-unittest.cc', + '../test/unittests/api/isolate-unittest.cc', + '../test/unittests/api/remote-object-unittest.cc', + '../test/unittests/api/v8-object-unittest.cc', + '../test/unittests/asmjs/asm-scanner-unittest.cc', + '../test/unittests/asmjs/asm-types-unittest.cc', + '../test/unittests/asmjs/switch-logic-unittest.cc', + '../test/unittests/base/atomic-utils-unittest.cc', + '../test/unittests/base/bits-unittest.cc', + '../test/unittests/base/cpu-unittest.cc', + '../test/unittests/base/division-by-constant-unittest.cc', + '../test/unittests/base/flags-unittest.cc', + '../test/unittests/base/functional-unittest.cc', + '../test/unittests/base/ieee754-unittest.cc', + '../test/unittests/base/logging-unittest.cc', + '../test/unittests/base/macros-unittest.cc', + '../test/unittests/base/iterator-unittest.cc', + '../test/unittests/base/ostreams-unittest.cc', + '../test/unittests/base/platform/condition-variable-unittest.cc', + '../test/unittests/base/platform/mutex-unittest.cc', + '../test/unittests/base/platform/platform-unittest.cc', + '../test/unittests/base/platform/semaphore-unittest.cc', + '../test/unittests/base/platform/time-unittest.cc', + '../test/unittests/base/sys-info-unittest.cc', + '../test/unittests/base/template-utils-unittest.cc', + '../test/unittests/base/utils/random-number-generator-unittest.cc', + '../test/unittests/bigint-unittest.cc', + '../test/unittests/cancelable-tasks-unittest.cc', + '../test/unittests/char-predicates-unittest.cc', + "../test/unittests/code-stub-assembler-unittest.cc", + "../test/unittests/code-stub-assembler-unittest.h", + '../test/unittests/compiler/branch-elimination-unittest.cc', + '../test/unittests/compiler/bytecode-analysis-unittest.cc', + '../test/unittests/compiler/checkpoint-elimination-unittest.cc', + "../test/unittests/compiler/code-assembler-unittest.cc", + "../test/unittests/compiler/code-assembler-unittest.h", + '../test/unittests/compiler/common-operator-reducer-unittest.cc', + '../test/unittests/compiler/common-operator-unittest.cc', + '../test/unittests/compiler/compiler-test-utils.h', + '../test/unittests/compiler/control-equivalence-unittest.cc', + '../test/unittests/compiler/control-flow-optimizer-unittest.cc', + '../test/unittests/compiler/dead-code-elimination-unittest.cc', + '../test/unittests/compiler/diamond-unittest.cc', + '../test/unittests/compiler/effect-control-linearizer-unittest.cc', + '../test/unittests/compiler/graph-reducer-unittest.cc', + '../test/unittests/compiler/graph-reducer-unittest.h', + '../test/unittests/compiler/graph-trimmer-unittest.cc', + '../test/unittests/compiler/graph-unittest.cc', + '../test/unittests/compiler/graph-unittest.h', + '../test/unittests/compiler/instruction-unittest.cc', + '../test/unittests/compiler/instruction-selector-unittest.cc', + '../test/unittests/compiler/instruction-selector-unittest.h', + '../test/unittests/compiler/instruction-sequence-unittest.cc', + '../test/unittests/compiler/instruction-sequence-unittest.h', + '../test/unittests/compiler/int64-lowering-unittest.cc', + '../test/unittests/compiler/js-builtin-reducer-unittest.cc', + '../test/unittests/compiler/js-create-lowering-unittest.cc', + '../test/unittests/compiler/js-intrinsic-lowering-unittest.cc', + '../test/unittests/compiler/js-operator-unittest.cc', + '../test/unittests/compiler/js-typed-lowering-unittest.cc', + '../test/unittests/compiler/linkage-tail-call-unittest.cc', + '../test/unittests/compiler/live-range-builder.h', + '../test/unittests/compiler/regalloc/live-range-unittest.cc', + '../test/unittests/compiler/load-elimination-unittest.cc', + '../test/unittests/compiler/loop-peeling-unittest.cc', + '../test/unittests/compiler/machine-operator-reducer-unittest.cc', + '../test/unittests/compiler/machine-operator-unittest.cc', + '../test/unittests/compiler/regalloc/move-optimizer-unittest.cc', + '../test/unittests/compiler/node-cache-unittest.cc', + '../test/unittests/compiler/node-matchers-unittest.cc', + '../test/unittests/compiler/node-properties-unittest.cc', + '../test/unittests/compiler/node-test-utils.cc', + '../test/unittests/compiler/node-test-utils.h', + '../test/unittests/compiler/node-unittest.cc', + '../test/unittests/compiler/opcodes-unittest.cc', + '../test/unittests/compiler/persistent-unittest.cc', + '../test/unittests/compiler/regalloc/register-allocator-unittest.cc', + '../test/unittests/compiler/schedule-unittest.cc', + '../test/unittests/compiler/scheduler-unittest.cc', + '../test/unittests/compiler/scheduler-rpo-unittest.cc', + '../test/unittests/compiler/simplified-lowering-unittest.cc', + '../test/unittests/compiler/simplified-operator-reducer-unittest.cc', + '../test/unittests/compiler/simplified-operator-unittest.cc', + '../test/unittests/compiler/state-values-utils-unittest.cc', + '../test/unittests/compiler/typed-optimization-unittest.cc', + '../test/unittests/compiler/typer-unittest.cc', + '../test/unittests/compiler/value-numbering-reducer-unittest.cc', + '../test/unittests/compiler/zone-stats-unittest.cc', + '../test/unittests/compiler-dispatcher/compiler-dispatcher-tracer-unittest.cc', + '../test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc', + '../test/unittests/compiler-dispatcher/optimizing-compile-dispatcher-unittest.cc', + '../test/unittests/compiler-dispatcher/unoptimized-compile-job-unittest.cc', + '../test/unittests/counters-unittest.cc', + '../test/unittests/detachable-vector-unittest.cc', + '../test/unittests/eh-frame-iterator-unittest.cc', + '../test/unittests/eh-frame-writer-unittest.cc', + '../test/unittests/heap/barrier-unittest.cc', + '../test/unittests/heap/bitmap-unittest.cc', + '../test/unittests/heap/embedder-tracing-unittest.cc', + '../test/unittests/heap/gc-idle-time-handler-unittest.cc', + '../test/unittests/heap/gc-tracer-unittest.cc', + '../test/unittests/heap/item-parallel-job-unittest.cc', + '../test/unittests/heap/marking-unittest.cc', + '../test/unittests/heap/memory-reducer-unittest.cc', + '../test/unittests/heap/object-stats-unittest.cc', + '../test/unittests/heap/heap-unittest.cc', + '../test/unittests/heap/scavenge-job-unittest.cc', + '../test/unittests/heap/slot-set-unittest.cc', + '../test/unittests/heap/spaces-unittest.cc', + '../test/unittests/heap/unmapper-unittest.cc', + '../test/unittests/heap/worklist-unittest.cc', + '../test/unittests/interpreter/bytecodes-unittest.cc', + '../test/unittests/interpreter/bytecode-array-builder-unittest.cc', + '../test/unittests/interpreter/bytecode-array-iterator-unittest.cc', + '../test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc', + '../test/unittests/interpreter/bytecode-array-writer-unittest.cc', + '../test/unittests/interpreter/bytecode-decoder-unittest.cc', + '../test/unittests/interpreter/bytecode-node-unittest.cc', + '../test/unittests/interpreter/bytecode-operands-unittest.cc', + '../test/unittests/interpreter/bytecode-register-allocator-unittest.cc', + '../test/unittests/interpreter/bytecode-register-optimizer-unittest.cc', + '../test/unittests/interpreter/bytecode-source-info-unittest.cc', + '../test/unittests/interpreter/bytecode-utils.h', + '../test/unittests/interpreter/constant-array-builder-unittest.cc', + '../test/unittests/interpreter/interpreter-assembler-unittest.cc', + '../test/unittests/interpreter/interpreter-assembler-unittest.h', + '../test/unittests/libplatform/default-platform-unittest.cc', + '../test/unittests/libplatform/task-queue-unittest.cc', + '../test/unittests/libplatform/worker-thread-unittest.cc', + '../test/unittests/locked-queue-unittest.cc', + '../test/unittests/object-unittest.cc', + '../test/unittests/parser/ast-value-unittest.cc', + '../test/unittests/parser/preparser-unittest.cc', + '../test/unittests/register-configuration-unittest.cc', + '../test/unittests/run-all-unittests.cc', + '../test/unittests/source-position-table-unittest.cc', + '../test/unittests/test-helpers.cc', + '../test/unittests/test-helpers.h', + '../test/unittests/test-utils.h', + '../test/unittests/test-utils.cc', + '../test/unittests/unicode-unittest.cc', + '../test/unittests/utils-unittest.cc', + '../test/unittests/value-serializer-unittest.cc', + '../test/unittests/zone/segmentpool-unittest.cc', + '../test/unittests/zone/zone-allocator-unittest.cc', + '../test/unittests/zone/zone-chunk-list-unittest.cc', + '../test/unittests/zone/zone-unittest.cc', + '../test/unittests/wasm/control-transfer-unittest.cc', + '../test/unittests/wasm/decoder-unittest.cc', + '../test/unittests/wasm/function-body-decoder-unittest.cc', + '../test/unittests/wasm/wasm-code-manager-unittest.cc', + '../test/unittests/wasm/leb-helper-unittest.cc', + '../test/unittests/wasm/loop-assignment-analysis-unittest.cc', + '../test/unittests/wasm/module-decoder-unittest.cc', + '../test/unittests/wasm/streaming-decoder-unittest.cc', + '../test/unittests/wasm/trap-handler-unittest.cc', + '../test/unittests/wasm/wasm-macro-gen-unittest.cc', + '../test/unittests/wasm/wasm-module-builder-unittest.cc', + '../test/unittests/wasm/wasm-opcodes-unittest.cc', + ], + 'unittests_sources_arm': [ + '../test/unittests/compiler/arm/instruction-selector-arm-unittest.cc', + ], + 'unittests_sources_arm64': [ + '../test/unittests/compiler/arm64/instruction-selector-arm64-unittest.cc', + ], + 'unittests_sources_ia32': [ + '../test/unittests/compiler/ia32/instruction-selector-ia32-unittest.cc', + ], + 'unittests_sources_mips': [ + '../test/unittests/compiler/mips/instruction-selector-mips-unittest.cc', + ], + 'unittests_sources_mips64': [ + '../test/unittests/compiler/mips64/instruction-selector-mips64-unittest.cc', + ], + 'unittests_sources_x64': [ + '../test/unittests/compiler/x64/instruction-selector-x64-unittest.cc', + ], + 'unittests_sources_ppc': [ + '../test/unittests/compiler/ppc/instruction-selector-ppc-unittest.cc', + ], + 'unittests_sources_s390': [ + '../test/unittests/compiler/s390/instruction-selector-s390-unittest.cc', + ], + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'unittests', + 'type': 'executable', + 'variables': { + 'optimize': 'max', + }, + 'dependencies': [ + 'gmock.gyp:gmock', + 'gtest.gyp:gtest', + 'v8.gyp:v8', + 'v8.gyp:v8_libbase', + 'v8.gyp:v8_libplatform', + 'v8.gyp:v8_maybe_snapshot', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '<@(unittests_sources)', + ], + 'conditions': [ + ['v8_target_arch=="arm"', { + 'sources': [ + '<@(unittests_sources_arm)', + ], + }], + ['v8_target_arch=="arm64"', { + 'sources': [ + '<@(unittests_sources_arm64)', + ], + }], + ['v8_target_arch=="ia32"', { + 'sources': [ + '<@(unittests_sources_ia32)', + ], + }], + ['v8_target_arch=="mips"', { + 'sources': [ + '<@(unittests_sources_mips)', + ], + }], + ['v8_target_arch=="mipsel"', { + 'sources': [ + '<@(unittests_sources_mips)', + ], + }], + ['v8_target_arch=="mips64"', { + 'sources': [ + '<@(unittests_sources_mips64)', + ], + }], + ['v8_target_arch=="mips64el"', { + 'sources': [ + '<@(unittests_sources_mips64)', + ], + }], + ['v8_target_arch=="x64"', { + 'sources': [ + '<@(unittests_sources_x64)', + ], + }], + ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', { + 'sources': [ + '<@(unittests_sources_ppc)', + ], + }], + ['v8_target_arch=="s390" or v8_target_arch=="s390x"', { + 'sources': [ + '<@(unittests_sources_s390)', + ], + }], + ['OS=="aix"', { + 'ldflags': [ '-Wl,-bbigtoc' ], + }], + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + }], + ['v8_use_snapshot=="true"', { + 'dependencies': ['v8.gyp:v8_initializers'], + }], + ], + }, + ], +} diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp new file mode 100644 index 0000000000..433166290a --- /dev/null +++ b/deps/v8/gypfiles/v8.gyp @@ -0,0 +1,2613 @@ +# Copyright 2012 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. + +{ + 'variables': { + 'v8_code': 1, + 'v8_random_seed%': 314159265, + 'v8_vector_stores%': 0, + 'embed_script%': "", + 'warmup_script%': "", + 'v8_extra_library_files%': [], + 'v8_experimental_extra_library_files%': [], + 'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)', + 'v8_os_page_size%': 0, + }, + 'includes': ['toolchain.gypi', 'features.gypi', 'inspector.gypi'], + 'targets': [ + { + 'target_name': 'v8', + 'dependencies_traverse': 1, + 'dependencies': ['v8_maybe_snapshot', 'v8_dump_build_config#target'], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ['component=="shared_library"', { + 'type': '<(component)', + 'sources': [ + # Note: on non-Windows we still build this file so that gyp + # has some sources to link into the component. + '../src/v8dll-main.cc', + ], + 'include_dirs': [ + '..', + ], + 'defines': [ + 'BUILDING_V8_SHARED', + ], + 'direct_dependent_settings': { + 'defines': [ + 'USING_V8_SHARED', + ], + }, + 'conditions': [ + ['OS=="mac"', { + 'xcode_settings': { + 'OTHER_LDFLAGS': ['-dynamiclib', '-all_load'] + }, + }], + ['soname_version!=""', { + 'product_extension': 'so.<(soname_version)', + }], + ], + }, + { + 'type': 'none', + }], + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../include/', + ], + }, + }, + { + # This rule delegates to either v8_snapshot, v8_nosnapshot, or + # v8_external_snapshot, depending on the current variables. + # The intention is to make the 'calling' rules a bit simpler. + 'target_name': 'v8_maybe_snapshot', + 'type': 'none', + 'conditions': [ + ['v8_use_snapshot!="true"', { + # The dependency on v8_base should come from a transitive + # dependency however the Android toolchain requires libv8_base.a + # to appear before libv8_snapshot.a so it's listed explicitly. + 'dependencies': ['v8_base', 'v8_init', 'v8_nosnapshot'], + }], + ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', { + # The dependency on v8_base should come from a transitive + # dependency however the Android toolchain requires libv8_base.a + # to appear before libv8_snapshot.a so it's listed explicitly. + 'dependencies': ['v8_base', 'v8_snapshot'], + }], + ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', { + 'dependencies': ['v8_base', 'v8_external_snapshot'], + 'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ], + }], + ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', { + 'dependencies': ['v8_base', 'v8_external_snapshot'], + 'target_conditions': [ + ['_toolset=="host"', { + 'inputs': [ + '<(PRODUCT_DIR)/snapshot_blob_host.bin', + ], + }, { + 'inputs': [ + '<(PRODUCT_DIR)/snapshot_blob.bin', + ], + }], + ], + }], + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ] + }, + { + 'target_name': 'v8_init', + 'type': 'static_library', + 'dependencies': [ + 'v8_initializers', + ], + 'variables': { + 'optimize': 'max', + }, + 'include_dirs+': [ + '..', + '../include/', + ], + 'sources': [ + '../src/setup-isolate-full.cc', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ], + }, + { + 'target_name': 'v8_initializers', + 'type': 'static_library', + 'dependencies': [ + 'v8_base', + ], + 'variables': { + 'optimize': 'max', + }, + 'include_dirs+': [ + '..', + '../include/', + ], + 'sources': [ + '../src/builtins/builtins-arguments-gen.cc', + '../src/builtins/builtins-arguments-gen.h', + '../src/builtins/builtins-array-gen.cc', + '../src/builtins/builtins-array-gen.h', + '../src/builtins/builtins-async-function-gen.cc', + '../src/builtins/builtins-async-gen.cc', + '../src/builtins/builtins-async-gen.h', + '../src/builtins/builtins-async-generator-gen.cc', + '../src/builtins/builtins-async-iterator-gen.cc', + '../src/builtins/builtins-boolean-gen.cc', + '../src/builtins/builtins-call-gen.cc', + '../src/builtins/builtins-call-gen.h', + '../src/builtins/builtins-collections-gen.cc', + '../src/builtins/builtins-console-gen.cc', + '../src/builtins/builtins-constructor-gen.cc', + '../src/builtins/builtins-constructor-gen.h', + '../src/builtins/builtins-constructor.h', + '../src/builtins/builtins-conversion-gen.cc', + '../src/builtins/builtins-date-gen.cc', + '../src/builtins/builtins-debug-gen.cc', + '../src/builtins/builtins-function-gen.cc', + '../src/builtins/builtins-generator-gen.cc', + '../src/builtins/builtins-global-gen.cc', + '../src/builtins/builtins-handler-gen.cc', + '../src/builtins/builtins-ic-gen.cc', + '../src/builtins/builtins-internal-gen.cc', + '../src/builtins/builtins-interpreter-gen.cc', + '../src/builtins/builtins-intl-gen.cc', + '../src/builtins/builtins-iterator-gen.h', + '../src/builtins/builtins-iterator-gen.cc', + '../src/builtins/builtins-math-gen.cc', + '../src/builtins/builtins-math-gen.h', + '../src/builtins/builtins-number-gen.cc', + '../src/builtins/builtins-object-gen.cc', + '../src/builtins/builtins-promise-gen.cc', + '../src/builtins/builtins-promise-gen.h', + '../src/builtins/builtins-proxy-gen.cc', + '../src/builtins/builtins-proxy-gen.h', + '../src/builtins/builtins-reflect-gen.cc', + '../src/builtins/builtins-regexp-gen.cc', + '../src/builtins/builtins-regexp-gen.h', + '../src/builtins/builtins-sharedarraybuffer-gen.cc', + '../src/builtins/builtins-string-gen.cc', + '../src/builtins/builtins-string-gen.h', + '../src/builtins/builtins-symbol-gen.cc', + '../src/builtins/builtins-typedarray-gen.cc', + '../src/builtins/builtins-typedarray-gen.h', + '../src/builtins/builtins-utils-gen.h', + '../src/builtins/builtins-wasm-gen.cc', + '../src/builtins/growable-fixed-array-gen.cc', + '../src/builtins/growable-fixed-array-gen.h', + '../src/builtins/setup-builtins-internal.cc', + '../src/heap/setup-heap-internal.cc', + '../src/ic/accessor-assembler.cc', + '../src/ic/accessor-assembler.h', + '../src/ic/binary-op-assembler.cc', + '../src/ic/binary-op-assembler.h', + '../src/ic/keyed-store-generic.cc', + '../src/ic/keyed-store-generic.h', + '../src/interpreter/interpreter-assembler.cc', + '../src/interpreter/interpreter-assembler.h', + '../src/interpreter/interpreter-generator.cc', + '../src/interpreter/interpreter-generator.h', + '../src/interpreter/interpreter-intrinsics-generator.cc', + '../src/interpreter/interpreter-intrinsics-generator.h', + '../src/interpreter/setup-interpreter-internal.cc', + '../src/interpreter/setup-interpreter.h', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ['v8_target_arch=="ia32"', { + 'sources': [ + '../src/builtins/ia32/builtins-ia32.cc', + ], + }], + ['v8_target_arch=="x64"', { + 'sources': [ + '../src/builtins/x64/builtins-x64.cc', + ], + }], + ['v8_target_arch=="arm"', { + 'sources': [ + '../src/builtins/arm/builtins-arm.cc', + ], + }], + ['v8_target_arch=="arm64"', { + 'sources': [ + '../src/builtins/arm64/builtins-arm64.cc', + ], + }], + ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', { + 'sources': [ + '../src/builtins/mips/builtins-mips.cc', + ], + }], + ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', { + 'sources': [ + '../src/builtins/mips64/builtins-mips64.cc', + ], + }], + ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', { + 'sources': [ + '../src/builtins/ppc/builtins-ppc.cc', + ], + }], + ['v8_target_arch=="s390" or v8_target_arch=="s390x"', { + 'sources': [ + '../src/builtins/s390/builtins-s390.cc', + ], + }], + ['v8_enable_i18n_support==0', { + 'sources!': [ + '../src/builtins/builtins-intl-gen.cc', + ], + }], + ], + }, + { + 'target_name': 'v8_snapshot', + 'type': 'static_library', + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + 'dependencies': [ + 'mksnapshot#host', + 'js2c#host', + ], + }, { + 'toolsets': ['target'], + 'dependencies': [ + 'mksnapshot', + 'js2c', + ], + }], + ['component=="shared_library"', { + 'defines': [ + 'BUILDING_V8_SHARED', + ], + 'direct_dependent_settings': { + 'defines': [ + 'USING_V8_SHARED', + ], + }, + }], + ], + 'dependencies': [ + 'v8_base', + ], + 'include_dirs+': [ + '..', + '<(DEPTH)', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', + '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc', + '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc', + '<(INTERMEDIATE_DIR)/snapshot.cc', + '../src/setup-isolate-deserialize.cc', + ], + 'actions': [ + { + 'action_name': 'run_mksnapshot', + 'inputs': [ + '<(mksnapshot_exec)', + ], + 'conditions': [ + ['embed_script!=""', { + 'inputs': [ + '<(embed_script)', + ], + }], + ['warmup_script!=""', { + 'inputs': [ + '<(warmup_script)', + ], + }], + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/snapshot.cc', + ], + 'variables': { + 'mksnapshot_flags': [], + 'conditions': [ + ['v8_random_seed!=0', { + 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], + }], + ['v8_vector_stores!=0', { + 'mksnapshot_flags': ['--vector-stores'], + }], + ], + }, + 'action': [ + '<(mksnapshot_exec)', + '<@(mksnapshot_flags)', + '--startup_src', '<@(INTERMEDIATE_DIR)/snapshot.cc', + '<(embed_script)', + '<(warmup_script)', + ], + }, + ], + }, + { + 'target_name': 'v8_nosnapshot', + 'type': 'static_library', + 'dependencies': [ + 'v8_base', + ], + 'include_dirs+': [ + '..', + '<(DEPTH)', + ], + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', + '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc', + '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc', + '../src/snapshot/snapshot-empty.cc', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + 'dependencies': ['js2c#host'], + }, { + 'toolsets': ['target'], + 'dependencies': ['js2c'], + }], + ['component=="shared_library"', { + 'defines': [ + 'BUILDING_V8_SHARED', + ], + }], + ] + }, + { + 'target_name': 'v8_external_snapshot', + 'type': 'static_library', + 'conditions': [ + [ 'v8_use_external_startup_data==1', { + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + 'dependencies': [ + 'mksnapshot#host', + 'js2c#host', + 'natives_blob', + ]}, { + 'toolsets': ['target'], + 'dependencies': [ + 'mksnapshot', + 'js2c', + 'natives_blob', + ], + }], + ['component=="shared_library"', { + 'defines': [ + 'BUILDING_V8_SHARED', + ], + 'direct_dependent_settings': { + 'defines': [ + 'USING_V8_SHARED', + ], + }, + }], + ], + 'dependencies': [ + 'v8_base', + ], + 'include_dirs+': [ + '..', + '<(DEPTH)', + ], + 'sources': [ + '../src/setup-isolate-deserialize.cc', + '../src/snapshot/natives-external.cc', + '../src/snapshot/snapshot-external.cc', + ], + 'actions': [ + { + 'action_name': 'run_mksnapshot (external)', + 'inputs': [ + '<(mksnapshot_exec)', + ], + 'variables': { + 'mksnapshot_flags': [], + 'conditions': [ + ['v8_random_seed!=0', { + 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], + }], + ['v8_vector_stores!=0', { + 'mksnapshot_flags': ['--vector-stores'], + }], + ['v8_os_page_size!=0', { + 'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'], + }], + ], + }, + 'conditions': [ + ['embed_script!=""', { + 'inputs': [ + '<(embed_script)', + ], + }], + ['warmup_script!=""', { + 'inputs': [ + '<(warmup_script)', + ], + }], + ['want_separate_host_toolset==1', { + 'target_conditions': [ + ['_toolset=="host"', { + 'outputs': [ + '<(PRODUCT_DIR)/snapshot_blob_host.bin', + ], + 'action': [ + '<(mksnapshot_exec)', + '<@(mksnapshot_flags)', + '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin', + '<(embed_script)', + '<(warmup_script)', + ], + }, { + 'outputs': [ + '<(PRODUCT_DIR)/snapshot_blob.bin', + ], + 'action': [ + '<(mksnapshot_exec)', + '<@(mksnapshot_flags)', + '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin', + '<(embed_script)', + '<(warmup_script)', + ], + }], + ], + }, { + 'outputs': [ + '<(PRODUCT_DIR)/snapshot_blob.bin', + ], + 'action': [ + '<(mksnapshot_exec)', + '<@(mksnapshot_flags)', + '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin', + '<(embed_script)', + '<(warmup_script)', + ], + }], + ], + }, + ], + }], + ], + }, + { + 'target_name': 'v8_base', + 'type': 'static_library', + 'dependencies': [ + 'v8_libbase', + 'v8_libsampler', + 'inspector.gyp:protocol_generated_sources#target', + 'inspector.gyp:inspector_injected_script#target', + ], + 'objs': ['foo.o'], + 'variables': { + 'optimize': 'max', + }, + 'include_dirs+': [ + '..', + '<(DEPTH)', + '<(SHARED_INTERMEDIATE_DIR)' + ], + 'sources': [ + '<@(inspector_all_sources)', + '../include//v8-debug.h', + '../include//v8-platform.h', + '../include//v8-profiler.h', + '../include//v8-testing.h', + '../include//v8-util.h', + '../include//v8-value-serializer-version.h', + '../include//v8-version-string.h', + '../include//v8-version.h', + '../include//v8.h', + '../include//v8config.h', + '../src/accessors.cc', + '../src/accessors.h', + '../src/address-map.cc', + '../src/address-map.h', + '../src/allocation.cc', + '../src/allocation.h', + '../src/allocation-site-scopes.h', + '../src/api.cc', + '../src/api.h', + '../src/api-arguments-inl.h', + '../src/api-arguments.cc', + '../src/api-arguments.h', + '../src/api-natives.cc', + '../src/api-natives.h', + '../src/arguments.cc', + '../src/arguments.h', + '../src/asmjs/asm-js.cc', + '../src/asmjs/asm-js.h', + '../src/asmjs/asm-names.h', + '../src/asmjs/asm-parser.cc', + '../src/asmjs/asm-parser.h', + '../src/asmjs/asm-scanner.cc', + '../src/asmjs/asm-scanner.h', + '../src/asmjs/asm-types.cc', + '../src/asmjs/asm-types.h', + '../src/asmjs/switch-logic.h', + '../src/asmjs/switch-logic.cc', + '../src/assembler.cc', + '../src/assembler.h', + '../src/assembler-inl.h', + '../src/assert-scope.h', + '../src/assert-scope.cc', + '../src/ast/ast-function-literal-id-reindexer.cc', + '../src/ast/ast-function-literal-id-reindexer.h', + '../src/ast/ast-source-ranges.h', + '../src/ast/ast-traversal-visitor.h', + '../src/ast/ast-value-factory.cc', + '../src/ast/ast-value-factory.h', + '../src/ast/ast.cc', + '../src/ast/ast.h', + '../src/ast/compile-time-value.cc', + '../src/ast/compile-time-value.h', + '../src/ast/context-slot-cache.cc', + '../src/ast/context-slot-cache.h', + '../src/ast/modules.cc', + '../src/ast/modules.h', + '../src/ast/prettyprinter.cc', + '../src/ast/prettyprinter.h', + '../src/ast/scopes.cc', + '../src/ast/scopes.h', + '../src/ast/variables.cc', + '../src/ast/variables.h', + '../src/bailout-reason.cc', + '../src/bailout-reason.h', + '../src/basic-block-profiler.cc', + '../src/basic-block-profiler.h', + '../src/bignum-dtoa.cc', + '../src/bignum-dtoa.h', + '../src/bignum.cc', + '../src/bignum.h', + '../src/bit-vector.cc', + '../src/bit-vector.h', + '../src/bootstrapper.cc', + '../src/bootstrapper.h', + '../src/boxed-float.h', + '../src/builtins/builtins-api.cc', + '../src/builtins/builtins-arraybuffer.cc', + '../src/builtins/builtins-array.cc', + '../src/builtins/builtins-bigint.cc', + '../src/builtins/builtins-boolean.cc', + '../src/builtins/builtins-call.cc', + '../src/builtins/builtins-callsite.cc', + '../src/builtins/builtins-collections.cc', + '../src/builtins/builtins-console.cc', + '../src/builtins/builtins-constructor.h', + '../src/builtins/builtins-dataview.cc', + '../src/builtins/builtins-date.cc', + '../src/builtins/builtins-definitions.h', + '../src/builtins/builtins-descriptors.h', + '../src/builtins/builtins-error.cc', + '../src/builtins/builtins-function.cc', + '../src/builtins/builtins-global.cc', + '../src/builtins/builtins-internal.cc', + '../src/builtins/builtins-interpreter.cc', + '../src/builtins/builtins-json.cc', + '../src/builtins/builtins-math.cc', + '../src/builtins/builtins-number.cc', + '../src/builtins/builtins-object.cc', + '../src/builtins/builtins-promise.cc', + '../src/builtins/builtins-reflect.cc', + '../src/builtins/builtins-regexp.cc', + '../src/builtins/builtins-sharedarraybuffer.cc', + '../src/builtins/builtins-string.cc', + '../src/builtins/builtins-intl.cc', + '../src/builtins/builtins-intl.h', + '../src/builtins/builtins-symbol.cc', + '../src/builtins/builtins-typedarray.cc', + '../src/builtins/builtins-utils.h', + '../src/builtins/builtins.cc', + '../src/builtins/builtins.h', + '../src/cached-powers.cc', + '../src/cached-powers.h', + '../src/callable.h', + '../src/cancelable-task.cc', + '../src/cancelable-task.h', + '../src/char-predicates.cc', + '../src/char-predicates-inl.h', + '../src/char-predicates.h', + '../src/checks.h', + '../src/code-events.h', + '../src/code-factory.cc', + '../src/code-factory.h', + '../src/code-stub-assembler.cc', + '../src/code-stub-assembler.h', + '../src/code-stubs.cc', + '../src/code-stubs.h', + '../src/code-stubs-utils.h', + '../src/codegen.cc', + '../src/codegen.h', + '../src/collector.h', + '../src/compilation-cache.cc', + '../src/compilation-cache.h', + '../src/compilation-dependencies.cc', + '../src/compilation-dependencies.h', + '../src/compilation-info.cc', + '../src/compilation-info.h', + '../src/compilation-statistics.cc', + '../src/compilation-statistics.h', + '../src/compiler/access-builder.cc', + '../src/compiler/access-builder.h', + '../src/compiler/access-info.cc', + '../src/compiler/access-info.h', + '../src/compiler/all-nodes.cc', + '../src/compiler/all-nodes.h', + '../src/compiler/allocation-builder.h', + '../src/compiler/basic-block-instrumentor.cc', + '../src/compiler/basic-block-instrumentor.h', + '../src/compiler/branch-elimination.cc', + '../src/compiler/branch-elimination.h', + '../src/compiler/bytecode-analysis.cc', + '../src/compiler/bytecode-analysis.h', + '../src/compiler/bytecode-graph-builder.cc', + '../src/compiler/bytecode-graph-builder.h', + '../src/compiler/bytecode-liveness-map.cc', + '../src/compiler/bytecode-liveness-map.h', + '../src/compiler/c-linkage.cc', + '../src/compiler/checkpoint-elimination.cc', + '../src/compiler/checkpoint-elimination.h', + '../src/compiler/code-generator-impl.h', + '../src/compiler/code-generator.cc', + '../src/compiler/code-generator.h', + '../src/compiler/code-assembler.cc', + '../src/compiler/code-assembler.h', + '../src/compiler/common-node-cache.cc', + '../src/compiler/common-node-cache.h', + '../src/compiler/common-operator-reducer.cc', + '../src/compiler/common-operator-reducer.h', + '../src/compiler/common-operator.cc', + '../src/compiler/common-operator.h', + '../src/compiler/control-equivalence.cc', + '../src/compiler/control-equivalence.h', + '../src/compiler/control-flow-optimizer.cc', + '../src/compiler/control-flow-optimizer.h', + '../src/compiler/dead-code-elimination.cc', + '../src/compiler/dead-code-elimination.h', + '../src/compiler/diamond.h', + '../src/compiler/effect-control-linearizer.cc', + '../src/compiler/effect-control-linearizer.h', + '../src/compiler/escape-analysis.cc', + '../src/compiler/escape-analysis.h', + '../src/compiler/escape-analysis-reducer.cc', + '../src/compiler/escape-analysis-reducer.h', + '../src/compiler/frame.cc', + '../src/compiler/frame.h', + '../src/compiler/frame-elider.cc', + '../src/compiler/frame-elider.h', + '../src/compiler/frame-states.cc', + '../src/compiler/frame-states.h', + '../src/compiler/functional-list.h', + '../src/compiler/gap-resolver.cc', + '../src/compiler/gap-resolver.h', + '../src/compiler/graph-assembler.cc', + '../src/compiler/graph-assembler.h', + '../src/compiler/graph-reducer.cc', + '../src/compiler/graph-reducer.h', + '../src/compiler/graph-trimmer.cc', + '../src/compiler/graph-trimmer.h', + '../src/compiler/graph-visualizer.cc', + '../src/compiler/graph-visualizer.h', + '../src/compiler/graph.cc', + '../src/compiler/graph.h', + '../src/compiler/instruction-codes.h', + '../src/compiler/instruction-selector-impl.h', + '../src/compiler/instruction-selector.cc', + '../src/compiler/instruction-selector.h', + '../src/compiler/instruction-scheduler.cc', + '../src/compiler/instruction-scheduler.h', + '../src/compiler/instruction.cc', + '../src/compiler/instruction.h', + '../src/compiler/int64-lowering.cc', + '../src/compiler/int64-lowering.h', + '../src/compiler/js-builtin-reducer.cc', + '../src/compiler/js-builtin-reducer.h', + '../src/compiler/js-call-reducer.cc', + '../src/compiler/js-call-reducer.h', + '../src/compiler/js-context-specialization.cc', + '../src/compiler/js-context-specialization.h', + '../src/compiler/js-create-lowering.cc', + '../src/compiler/js-create-lowering.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-inlining.cc', + '../src/compiler/js-inlining.h', + '../src/compiler/js-inlining-heuristic.cc', + '../src/compiler/js-inlining-heuristic.h', + '../src/compiler/js-intrinsic-lowering.cc', + '../src/compiler/js-intrinsic-lowering.h', + '../src/compiler/js-native-context-specialization.cc', + '../src/compiler/js-native-context-specialization.h', + '../src/compiler/js-operator.cc', + '../src/compiler/js-operator.h', + '../src/compiler/js-type-hint-lowering.cc', + '../src/compiler/js-type-hint-lowering.h', + '../src/compiler/js-typed-lowering.cc', + '../src/compiler/js-typed-lowering.h', + '../src/compiler/jump-threading.cc', + '../src/compiler/jump-threading.h', + '../src/compiler/linkage.cc', + '../src/compiler/linkage.h', + '../src/compiler/live-range-separator.cc', + '../src/compiler/live-range-separator.h', + '../src/compiler/load-elimination.cc', + '../src/compiler/load-elimination.h', + '../src/compiler/loop-analysis.cc', + '../src/compiler/loop-analysis.h', + '../src/compiler/loop-peeling.cc', + '../src/compiler/loop-peeling.h', + '../src/compiler/loop-variable-optimizer.cc', + '../src/compiler/loop-variable-optimizer.h', + '../src/compiler/machine-operator-reducer.cc', + '../src/compiler/machine-operator-reducer.h', + '../src/compiler/machine-operator.cc', + '../src/compiler/machine-operator.h', + '../src/compiler/machine-graph-verifier.cc', + '../src/compiler/machine-graph-verifier.h', + '../src/compiler/memory-optimizer.cc', + '../src/compiler/memory-optimizer.h', + '../src/compiler/move-optimizer.cc', + '../src/compiler/move-optimizer.h', + '../src/compiler/node-aux-data.h', + '../src/compiler/node-cache.cc', + '../src/compiler/node-cache.h', + '../src/compiler/node-marker.cc', + '../src/compiler/node-marker.h', + '../src/compiler/node-matchers.cc', + '../src/compiler/node-matchers.h', + '../src/compiler/node-properties.cc', + '../src/compiler/node-properties.h', + '../src/compiler/node.cc', + '../src/compiler/node.h', + '../src/compiler/opcodes.cc', + '../src/compiler/opcodes.h', + '../src/compiler/operation-typer.cc', + '../src/compiler/operation-typer.h', + '../src/compiler/operator-properties.cc', + '../src/compiler/operator-properties.h', + '../src/compiler/operator.cc', + '../src/compiler/operator.h', + '../src/compiler/osr.cc', + '../src/compiler/osr.h', + '../src/compiler/persistent-map.h', + '../src/compiler/pipeline.cc', + '../src/compiler/pipeline.h', + '../src/compiler/pipeline-statistics.cc', + '../src/compiler/pipeline-statistics.h', + '../src/compiler/property-access-builder.cc', + '../src/compiler/property-access-builder.h', + '../src/compiler/raw-machine-assembler.cc', + '../src/compiler/raw-machine-assembler.h', + '../src/compiler/redundancy-elimination.cc', + '../src/compiler/redundancy-elimination.h', + '../src/compiler/register-allocator.cc', + '../src/compiler/register-allocator.h', + '../src/compiler/register-allocator-verifier.cc', + '../src/compiler/register-allocator-verifier.h', + '../src/compiler/representation-change.cc', + '../src/compiler/representation-change.h', + '../src/compiler/schedule.cc', + '../src/compiler/schedule.h', + '../src/compiler/scheduler.cc', + '../src/compiler/scheduler.h', + '../src/compiler/select-lowering.cc', + '../src/compiler/select-lowering.h', + '../src/compiler/simd-scalar-lowering.cc', + '../src/compiler/simd-scalar-lowering.h', + '../src/compiler/simplified-lowering.cc', + '../src/compiler/simplified-lowering.h', + '../src/compiler/simplified-operator-reducer.cc', + '../src/compiler/simplified-operator-reducer.h', + '../src/compiler/simplified-operator.cc', + '../src/compiler/simplified-operator.h', + '../src/compiler/compiler-source-position-table.cc', + '../src/compiler/compiler-source-position-table.h', + '../src/compiler/state-values-utils.cc', + '../src/compiler/state-values-utils.h', + '../src/compiler/store-store-elimination.cc', + '../src/compiler/store-store-elimination.h', + '../src/compiler/types.cc', + '../src/compiler/types.h', + '../src/compiler/type-cache.cc', + '../src/compiler/type-cache.h', + '../src/compiler/typed-optimization.cc', + '../src/compiler/typed-optimization.h', + '../src/compiler/typer.cc', + '../src/compiler/typer.h', + '../src/compiler/unwinding-info-writer.h', + '../src/compiler/value-numbering-reducer.cc', + '../src/compiler/value-numbering-reducer.h', + '../src/compiler/verifier.cc', + '../src/compiler/verifier.h', + '../src/compiler/wasm-compiler.cc', + '../src/compiler/wasm-compiler.h', + '../src/compiler/wasm-linkage.cc', + '../src/compiler/zone-stats.cc', + '../src/compiler/zone-stats.h', + '../src/compiler-dispatcher/compiler-dispatcher.cc', + '../src/compiler-dispatcher/compiler-dispatcher.h', + '../src/compiler-dispatcher/compiler-dispatcher-job.cc', + '../src/compiler-dispatcher/compiler-dispatcher-job.h', + '../src/compiler-dispatcher/compiler-dispatcher-tracer.cc', + '../src/compiler-dispatcher/compiler-dispatcher-tracer.h', + '../src/compiler-dispatcher/optimizing-compile-dispatcher.cc', + '../src/compiler-dispatcher/optimizing-compile-dispatcher.h', + '../src/compiler-dispatcher/unoptimized-compile-job.cc', + '../src/compiler-dispatcher/unoptimized-compile-job.h', + '../src/compiler.cc', + '../src/compiler.h', + '../src/contexts-inl.h', + '../src/contexts.cc', + '../src/contexts.h', + '../src/conversions-inl.h', + '../src/conversions.cc', + '../src/conversions.h', + '../src/counters-inl.h', + '../src/counters.cc', + '../src/counters.h', + '../src/date.cc', + '../src/date.h', + '../src/dateparser-inl.h', + '../src/dateparser.cc', + '../src/dateparser.h', + '../src/debug/debug-coverage.cc', + '../src/debug/debug-coverage.h', + '../src/debug/debug-evaluate.cc', + '../src/debug/debug-evaluate.h', + '../src/debug/debug-interface.h', + '../src/debug/debug-frames.cc', + '../src/debug/debug-frames.h', + '../src/debug/debug-scope-iterator.cc', + '../src/debug/debug-scope-iterator.h', + '../src/debug/debug-scopes.cc', + '../src/debug/debug-scopes.h', + '../src/debug/debug-stack-trace-iterator.cc', + '../src/debug/debug-stack-trace-iterator.h', + '../src/debug/debug-type-profile.cc', + '../src/debug/debug-type-profile.h', + '../src/debug/debug.cc', + '../src/debug/debug.h', + '../src/debug/interface-types.h', + '../src/debug/liveedit.cc', + '../src/debug/liveedit.h', + '../src/deoptimize-reason.cc', + '../src/deoptimize-reason.h', + '../src/deoptimizer.cc', + '../src/deoptimizer.h', + '../src/detachable-vector.h', + '../src/disasm.h', + '../src/disassembler.cc', + '../src/disassembler.h', + '../src/diy-fp.cc', + '../src/diy-fp.h', + '../src/double.h', + '../src/dtoa.cc', + '../src/dtoa.h', + '../src/eh-frame.cc', + '../src/eh-frame.h', + '../src/elements-kind.cc', + '../src/elements-kind.h', + '../src/elements.cc', + '../src/elements.h', + '../src/execution.cc', + '../src/execution.h', + '../src/extensions/externalize-string-extension.cc', + '../src/extensions/externalize-string-extension.h', + '../src/extensions/free-buffer-extension.cc', + '../src/extensions/free-buffer-extension.h', + '../src/extensions/gc-extension.cc', + '../src/extensions/gc-extension.h', + '../src/extensions/ignition-statistics-extension.cc', + '../src/extensions/ignition-statistics-extension.h', + '../src/extensions/statistics-extension.cc', + '../src/extensions/statistics-extension.h', + '../src/extensions/trigger-failure-extension.cc', + '../src/extensions/trigger-failure-extension.h', + '../src/external-reference-table.cc', + '../src/external-reference-table.h', + '../src/factory-inl.h', + '../src/factory.cc', + '../src/factory.h', + '../src/fast-dtoa.cc', + '../src/fast-dtoa.h', + '../src/feedback-vector-inl.h', + '../src/feedback-vector.cc', + '../src/feedback-vector.h', + '../src/field-index.h', + '../src/field-index-inl.h', + '../src/field-type.cc', + '../src/field-type.h', + '../src/fixed-dtoa.cc', + '../src/fixed-dtoa.h', + '../src/flag-definitions.h', + '../src/flags.cc', + '../src/flags.h', + '../src/frame-constants.h', + '../src/frames-inl.h', + '../src/frames.cc', + '../src/frames.h', + '../src/futex-emulation.cc', + '../src/futex-emulation.h', + '../src/gdb-jit.cc', + '../src/gdb-jit.h', + '../src/global-handles.cc', + '../src/global-handles.h', + '../src/globals.h', + '../src/handles-inl.h', + '../src/handles.cc', + '../src/handles.h', + '../src/heap-symbols.h', + '../src/heap/array-buffer-collector.cc', + '../src/heap/array-buffer-collector.h', + '../src/heap/array-buffer-tracker-inl.h', + '../src/heap/array-buffer-tracker.cc', + '../src/heap/array-buffer-tracker.h', + '../src/heap/barrier.h', + '../src/heap/code-stats.cc', + '../src/heap/code-stats.h', + '../src/heap/concurrent-marking.cc', + '../src/heap/concurrent-marking.h', + '../src/heap/embedder-tracing.cc', + '../src/heap/embedder-tracing.h', + '../src/heap/memory-reducer.cc', + '../src/heap/memory-reducer.h', + '../src/heap/gc-idle-time-handler.cc', + '../src/heap/gc-idle-time-handler.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-inl.h', + '../src/heap/incremental-marking-job.cc', + '../src/heap/incremental-marking-job.h', + '../src/heap/incremental-marking.cc', + '../src/heap/incremental-marking.h', + '../src/heap/invalidated-slots-inl.h', + '../src/heap/invalidated-slots.cc', + '../src/heap/invalidated-slots.h', + '../src/heap/item-parallel-job.cc', + '../src/heap/item-parallel-job.h', + '../src/heap/local-allocator.h', + '../src/heap/mark-compact-inl.h', + '../src/heap/mark-compact.cc', + '../src/heap/mark-compact.h', + '../src/heap/marking.cc', + '../src/heap/marking.h', + '../src/heap/object-stats.cc', + '../src/heap/object-stats.h', + '../src/heap/objects-visiting-inl.h', + '../src/heap/objects-visiting.cc', + '../src/heap/objects-visiting.h', + '../src/heap/remembered-set.h', + '../src/heap/scavenge-job.h', + '../src/heap/scavenge-job.cc', + '../src/heap/scavenger-inl.h', + '../src/heap/scavenger.cc', + '../src/heap/scavenger.h', + '../src/heap/slot-set.h', + '../src/heap/spaces-inl.h', + '../src/heap/spaces.cc', + '../src/heap/spaces.h', + '../src/heap/store-buffer.cc', + '../src/heap/store-buffer.h', + '../src/heap/stress-marking-observer.cc', + '../src/heap/stress-marking-observer.h', + '../src/heap/stress-scavenge-observer.cc', + '../src/heap/stress-scavenge-observer.h', + '../src/heap/sweeper.cc', + '../src/heap/sweeper.h', + '../src/heap/worklist.h', + '../src/intl.cc', + '../src/intl.h', + '../src/icu_util.cc', + '../src/icu_util.h', + '../src/ic/call-optimization.cc', + '../src/ic/call-optimization.h', + '../src/ic/handler-configuration.cc', + '../src/ic/handler-configuration-inl.h', + '../src/ic/handler-configuration.h', + '../src/ic/ic-inl.h', + '../src/ic/ic-stats.cc', + '../src/ic/ic-stats.h', + '../src/ic/ic.cc', + '../src/ic/ic.h', + '../src/identity-map.cc', + '../src/identity-map.h', + '../src/instruction-stream.cc', + '../src/instruction-stream.h', + '../src/interface-descriptors.cc', + '../src/interface-descriptors.h', + '../src/interpreter/block-coverage-builder.h', + '../src/interpreter/bytecodes.cc', + '../src/interpreter/bytecodes.h', + '../src/interpreter/bytecode-array-accessor.cc', + '../src/interpreter/bytecode-array-accessor.h', + '../src/interpreter/bytecode-array-builder.cc', + '../src/interpreter/bytecode-array-builder.h', + '../src/interpreter/bytecode-array-iterator.cc', + '../src/interpreter/bytecode-array-iterator.h', + '../src/interpreter/bytecode-array-random-iterator.cc', + '../src/interpreter/bytecode-array-random-iterator.h', + '../src/interpreter/bytecode-array-writer.cc', + '../src/interpreter/bytecode-array-writer.h', + '../src/interpreter/bytecode-decoder.cc', + '../src/interpreter/bytecode-decoder.h', + '../src/interpreter/bytecode-flags.cc', + '../src/interpreter/bytecode-flags.h', + '../src/interpreter/bytecode-generator.cc', + '../src/interpreter/bytecode-generator.h', + '../src/interpreter/bytecode-label.cc', + '../src/interpreter/bytecode-label.h', + '../src/interpreter/bytecode-node.cc', + '../src/interpreter/bytecode-node.h', + '../src/interpreter/bytecode-operands.cc', + '../src/interpreter/bytecode-operands.h', + '../src/interpreter/bytecode-register.cc', + '../src/interpreter/bytecode-register.h', + '../src/interpreter/bytecode-register-allocator.h', + '../src/interpreter/bytecode-register-optimizer.cc', + '../src/interpreter/bytecode-register-optimizer.h', + '../src/interpreter/bytecode-source-info.cc', + '../src/interpreter/bytecode-source-info.h', + '../src/interpreter/bytecode-jump-table.h', + '../src/interpreter/bytecode-traits.h', + '../src/interpreter/constant-array-builder.cc', + '../src/interpreter/constant-array-builder.h', + '../src/interpreter/control-flow-builders.cc', + '../src/interpreter/control-flow-builders.h', + '../src/interpreter/handler-table-builder.cc', + '../src/interpreter/handler-table-builder.h', + '../src/interpreter/interpreter.cc', + '../src/interpreter/interpreter.h', + '../src/interpreter/interpreter-generator.h', + '../src/interpreter/interpreter-intrinsics.cc', + '../src/interpreter/interpreter-intrinsics.h', + '../src/isolate-inl.h', + '../src/isolate.cc', + '../src/isolate.h', + '../src/json-parser.cc', + '../src/json-parser.h', + '../src/json-stringifier.cc', + '../src/json-stringifier.h', + '../src/keys.h', + '../src/keys.cc', + '../src/label.h', + '../src/layout-descriptor-inl.h', + '../src/layout-descriptor.cc', + '../src/layout-descriptor.h', + '../src/locked-queue-inl.h', + '../src/locked-queue.h', + '../src/log-inl.h', + '../src/log-utils.cc', + '../src/log-utils.h', + '../src/log.cc', + '../src/log.h', + '../src/lookup-cache-inl.h', + '../src/lookup-cache.cc', + '../src/lookup-cache.h', + '../src/lookup.cc', + '../src/lookup.h', + '../src/map-updater.cc', + '../src/map-updater.h', + '../src/macro-assembler-inl.h', + '../src/macro-assembler.h', + '../src/machine-type.cc', + '../src/machine-type.h', + '../src/managed.h', + '../src/messages.cc', + '../src/messages.h', + '../src/msan.h', + '../src/objects-body-descriptors-inl.h', + '../src/objects-body-descriptors.h', + '../src/objects-debug.cc', + '../src/objects-inl.h', + '../src/objects-printer.cc', + '../src/objects.cc', + '../src/objects.h', + '../src/objects/arguments-inl.h', + '../src/objects/arguments.h', + '../src/objects/bigint.cc', + '../src/objects/bigint.h', + '../src/objects/code-inl.h', + '../src/objects/code.h', + '../src/objects/compilation-cache.h', + '../src/objects/compilation-cache-inl.h', + '../src/objects/data-handler.h', + '../src/objects/data-handler-inl.h', + '../src/objects/debug-objects-inl.h', + '../src/objects/debug-objects.cc', + '../src/objects/debug-objects.h', + '../src/objects/descriptor-array.h', + '../src/objects/dictionary.h', + '../src/objects/fixed-array.h', + '../src/objects/fixed-array-inl.h', + '../src/objects/frame-array.h', + '../src/objects/frame-array-inl.h', + '../src/objects/hash-table-inl.h', + '../src/objects/hash-table.h', + '../src/objects/intl-objects.cc', + '../src/objects/intl-objects.h', + '../src/objects/js-array.h', + '../src/objects/js-array-inl.h', + '../src/objects/js-collection.h', + '../src/objects/js-collection-inl.h', + '../src/objects/js-regexp.h', + '../src/objects/js-regexp-inl.h', + '../src/objects/literal-objects.cc', + '../src/objects/literal-objects-inl.h', + '../src/objects/literal-objects.h', + '../src/objects/map-inl.h', + '../src/objects/map.h', + '../src/objects/name-inl.h', + '../src/objects/name.h', + '../src/objects/module-inl.h', + '../src/objects/module.cc', + '../src/objects/module.h', + '../src/objects/object-macros.h', + '../src/objects/object-macros-undef.h', + '../src/objects/property-descriptor-object.h', + '../src/objects/property-descriptor-object-inl.h', + '../src/objects/regexp-match-info.h', + '../src/objects/scope-info.cc', + '../src/objects/scope-info.h', + '../src/objects/script.h', + '../src/objects/script-inl.h', + '../src/objects/shared-function-info-inl.h', + '../src/objects/shared-function-info.h', + '../src/objects/string-inl.h', + '../src/objects/string.h', + '../src/objects/string-table.h', + '../src/objects/template-objects.cc', + '../src/objects/template-objects.h', + '../src/ostreams.cc', + '../src/ostreams.h', + '../src/parsing/background-parsing-task.cc', + '../src/parsing/background-parsing-task.h', + '../src/parsing/duplicate-finder.h', + '../src/parsing/expression-classifier.h', + '../src/parsing/expression-scope-reparenter.cc', + '../src/parsing/expression-scope-reparenter.h', + '../src/parsing/func-name-inferrer.cc', + '../src/parsing/func-name-inferrer.h', + '../src/parsing/parse-info.cc', + '../src/parsing/parse-info.h', + '../src/parsing/parser-base.h', + '../src/parsing/parser.cc', + '../src/parsing/parser.h', + '../src/parsing/parsing.cc', + '../src/parsing/parsing.h', + '../src/parsing/pattern-rewriter.cc', + '../src/parsing/preparse-data-format.h', + '../src/parsing/preparse-data.cc', + '../src/parsing/preparse-data.h', + '../src/parsing/preparsed-scope-data.cc', + '../src/parsing/preparsed-scope-data.h', + '../src/parsing/preparser.cc', + '../src/parsing/preparser.h', + '../src/parsing/rewriter.cc', + '../src/parsing/rewriter.h', + '../src/parsing/scanner-character-streams.cc', + '../src/parsing/scanner-character-streams.h', + '../src/parsing/scanner.cc', + '../src/parsing/scanner.h', + '../src/parsing/token.cc', + '../src/parsing/token.h', + '../src/pending-compilation-error-handler.cc', + '../src/pending-compilation-error-handler.h', + '../src/perf-jit.cc', + '../src/perf-jit.h', + '../src/profiler/allocation-tracker.cc', + '../src/profiler/allocation-tracker.h', + '../src/profiler/circular-queue-inl.h', + '../src/profiler/circular-queue.h', + '../src/profiler/cpu-profiler-inl.h', + '../src/profiler/cpu-profiler.cc', + '../src/profiler/cpu-profiler.h', + '../src/profiler/heap-profiler.cc', + '../src/profiler/heap-profiler.h', + '../src/profiler/heap-snapshot-generator-inl.h', + '../src/profiler/heap-snapshot-generator.cc', + '../src/profiler/heap-snapshot-generator.h', + '../src/profiler/profiler-listener.cc', + '../src/profiler/profiler-listener.h', + '../src/profiler/profile-generator-inl.h', + '../src/profiler/profile-generator.cc', + '../src/profiler/profile-generator.h', + '../src/profiler/sampling-heap-profiler.cc', + '../src/profiler/sampling-heap-profiler.h', + '../src/profiler/strings-storage.cc', + '../src/profiler/strings-storage.h', + '../src/profiler/tick-sample.cc', + '../src/profiler/tick-sample.h', + '../src/profiler/tracing-cpu-profiler.cc', + '../src/profiler/tracing-cpu-profiler.h', + '../src/profiler/unbound-queue-inl.h', + '../src/profiler/unbound-queue.h', + '../src/property-descriptor.cc', + '../src/property-descriptor.h', + '../src/property-details.h', + '../src/property.cc', + '../src/property.h', + '../src/prototype.h', + '../src/regexp/bytecodes-irregexp.h', + '../src/regexp/interpreter-irregexp.cc', + '../src/regexp/interpreter-irregexp.h', + '../src/regexp/jsregexp-inl.h', + '../src/regexp/jsregexp.cc', + '../src/regexp/jsregexp.h', + '../src/regexp/regexp-ast.cc', + '../src/regexp/regexp-ast.h', + '../src/regexp/regexp-macro-assembler-irregexp-inl.h', + '../src/regexp/regexp-macro-assembler-irregexp.cc', + '../src/regexp/regexp-macro-assembler-irregexp.h', + '../src/regexp/regexp-macro-assembler-tracer.cc', + '../src/regexp/regexp-macro-assembler-tracer.h', + '../src/regexp/regexp-macro-assembler.cc', + '../src/regexp/regexp-macro-assembler.h', + '../src/regexp/regexp-parser.cc', + '../src/regexp/regexp-parser.h', + '../src/regexp/regexp-stack.cc', + '../src/regexp/regexp-stack.h', + '../src/regexp/regexp-utils.cc', + '../src/regexp/regexp-utils.h', + '../src/register-configuration.cc', + '../src/register-configuration.h', + '../src/reglist.h', + '../src/runtime-profiler.cc', + '../src/runtime-profiler.h', + '../src/runtime/runtime-array.cc', + '../src/runtime/runtime-atomics.cc', + '../src/runtime/runtime-bigint.cc', + '../src/runtime/runtime-classes.cc', + '../src/runtime/runtime-collections.cc', + '../src/runtime/runtime-compiler.cc', + '../src/runtime/runtime-date.cc', + '../src/runtime/runtime-debug.cc', + '../src/runtime/runtime-forin.cc', + '../src/runtime/runtime-function.cc', + '../src/runtime/runtime-error.cc', + '../src/runtime/runtime-futex.cc', + '../src/runtime/runtime-generator.cc', + '../src/runtime/runtime-intl.cc', + '../src/runtime/runtime-internal.cc', + '../src/runtime/runtime-interpreter.cc', + '../src/runtime/runtime-literals.cc', + '../src/runtime/runtime-liveedit.cc', + '../src/runtime/runtime-maths.cc', + '../src/runtime/runtime-module.cc', + '../src/runtime/runtime-numbers.cc', + '../src/runtime/runtime-object.cc', + '../src/runtime/runtime-operators.cc', + '../src/runtime/runtime-promise.cc', + '../src/runtime/runtime-proxy.cc', + '../src/runtime/runtime-regexp.cc', + '../src/runtime/runtime-scopes.cc', + '../src/runtime/runtime-strings.cc', + '../src/runtime/runtime-symbol.cc', + '../src/runtime/runtime-test.cc', + '../src/runtime/runtime-typedarray.cc', + '../src/runtime/runtime-utils.h', + '../src/runtime/runtime-wasm.cc', + '../src/runtime/runtime.cc', + '../src/runtime/runtime.h', + '../src/safepoint-table.cc', + '../src/safepoint-table.h', + '../src/setup-isolate.h', + '../src/signature.h', + '../src/simulator-base.cc', + '../src/simulator-base.h', + '../src/simulator.h', + '../src/snapshot/builtin-deserializer-allocator.cc', + '../src/snapshot/builtin-deserializer-allocator.h', + '../src/snapshot/builtin-deserializer.cc', + '../src/snapshot/builtin-deserializer.h', + '../src/snapshot/builtin-serializer-allocator.cc', + '../src/snapshot/builtin-serializer-allocator.h', + '../src/snapshot/builtin-serializer.cc', + '../src/snapshot/builtin-serializer.h', + '../src/snapshot/builtin-snapshot-utils.cc', + '../src/snapshot/builtin-snapshot-utils.h', + '../src/snapshot/code-serializer.cc', + '../src/snapshot/code-serializer.h', + '../src/snapshot/default-deserializer-allocator.cc', + '../src/snapshot/default-deserializer-allocator.h', + '../src/snapshot/default-serializer-allocator.cc', + '../src/snapshot/default-serializer-allocator.h', + '../src/snapshot/deserializer.cc', + '../src/snapshot/deserializer.h', + '../src/snapshot/natives-common.cc', + '../src/snapshot/natives.h', + '../src/snapshot/object-deserializer.cc', + '../src/snapshot/object-deserializer.h', + '../src/snapshot/partial-deserializer.cc', + '../src/snapshot/partial-deserializer.h', + '../src/snapshot/partial-serializer.cc', + '../src/snapshot/partial-serializer.h', + '../src/snapshot/serializer.cc', + '../src/snapshot/serializer-common.cc', + '../src/snapshot/serializer-common.h', + '../src/snapshot/serializer.h', + '../src/snapshot/snapshot-common.cc', + '../src/snapshot/snapshot.h', + '../src/snapshot/snapshot-source-sink.cc', + '../src/snapshot/snapshot-source-sink.h', + '../src/snapshot/startup-deserializer.cc', + '../src/snapshot/startup-deserializer.h', + '../src/snapshot/startup-serializer.cc', + '../src/snapshot/startup-serializer.h', + '../src/source-position-table.cc', + '../src/source-position-table.h', + '../src/source-position.cc', + '../src/source-position.h', + '../src/splay-tree.h', + '../src/splay-tree-inl.h', + '../src/startup-data-util.cc', + '../src/startup-data-util.h', + '../src/string-builder.cc', + '../src/string-builder.h', + '../src/string-case.cc', + '../src/string-case.h', + '../src/string-hasher-inl.h', + '../src/string-hasher.h', + '../src/string-search.h', + '../src/string-stream.cc', + '../src/string-stream.h', + '../src/strtod.cc', + '../src/strtod.h', + '../src/ic/stub-cache.cc', + '../src/ic/stub-cache.h', + '../src/third_party/utf8-decoder/utf8-decoder.h', + '../src/tracing/trace-event.cc', + '../src/tracing/trace-event.h', + '../src/tracing/traced-value.cc', + '../src/tracing/traced-value.h', + '../src/tracing/tracing-category-observer.cc', + '../src/tracing/tracing-category-observer.h', + '../src/transitions-inl.h', + '../src/transitions.cc', + '../src/transitions.h', + '../src/trap-handler/handler-outside.cc', + '../src/trap-handler/handler-shared.cc', + '../src/trap-handler/trap-handler.h', + '../src/trap-handler/trap-handler-internal.h', + '../src/type-hints.cc', + '../src/type-hints.h', + '../src/unicode-inl.h', + '../src/unicode.cc', + '../src/unicode.h', + '../src/unicode-cache-inl.h', + '../src/unicode-cache.h', + '../src/unicode-decoder.cc', + '../src/unicode-decoder.h', + '../src/uri.cc', + '../src/uri.h', + '../src/utils-inl.h', + '../src/utils.cc', + '../src/utils.h', + '../src/v8.cc', + '../src/v8.h', + '../src/v8memory.h', + '../src/v8threads.cc', + '../src/v8threads.h', + '../src/value-serializer.cc', + '../src/value-serializer.h', + '../src/vector-slot-pair.cc', + '../src/vector-slot-pair.h', + '../src/vector.h', + '../src/version.cc', + '../src/version.h', + '../src/visitors.cc', + '../src/visitors.h', + '../src/vm-state-inl.h', + '../src/vm-state.h', + '../src/wasm/baseline/liftoff-assembler-defs.h', + '../src/wasm/baseline/liftoff-assembler.cc', + '../src/wasm/baseline/liftoff-assembler.h', + '../src/wasm/baseline/liftoff-compiler.cc', + '../src/wasm/baseline/liftoff-register.h', + '../src/wasm/compilation-manager.cc', + '../src/wasm/compilation-manager.h', + '../src/wasm/decoder.h', + '../src/wasm/function-body-decoder.cc', + '../src/wasm/function-body-decoder.h', + '../src/wasm/function-body-decoder-impl.h', + '../src/wasm/leb-helper.h', + '../src/wasm/local-decl-encoder.cc', + '../src/wasm/local-decl-encoder.h', + '../src/wasm/memory-tracing.cc', + '../src/wasm/memory-tracing.h', + '../src/wasm/module-compiler.cc', + '../src/wasm/module-compiler.h', + '../src/wasm/module-decoder.cc', + '../src/wasm/module-decoder.h', + '../src/wasm/signature-map.cc', + '../src/wasm/signature-map.h', + '../src/wasm/streaming-decoder.cc', + '../src/wasm/streaming-decoder.h', + '../src/wasm/wasm-code-manager.cc', + '../src/wasm/wasm-code-manager.h', + '../src/wasm/wasm-code-specialization.cc', + '../src/wasm/wasm-code-specialization.h', + '../src/wasm/wasm-code-wrapper.cc', + '../src/wasm/wasm-code-wrapper.h', + '../src/wasm/wasm-constants.h', + '../src/wasm/wasm-debug.cc', + '../src/wasm/wasm-engine.cc', + '../src/wasm/wasm-engine.h', + '../src/wasm/wasm-external-refs.cc', + '../src/wasm/wasm-external-refs.h', + '../src/wasm/wasm-js.cc', + '../src/wasm/wasm-js.h', + '../src/wasm/wasm-limits.h', + '../src/wasm/wasm-memory.cc', + '../src/wasm/wasm-memory.h', + '../src/wasm/wasm-module.cc', + '../src/wasm/wasm-module.h', + '../src/wasm/wasm-module-builder.cc', + '../src/wasm/wasm-module-builder.h', + '../src/wasm/wasm-interpreter.cc', + '../src/wasm/wasm-interpreter.h', + '../src/wasm/wasm-objects-inl.h', + '../src/wasm/wasm-objects.cc', + '../src/wasm/wasm-objects.h', + '../src/wasm/wasm-opcodes.cc', + '../src/wasm/wasm-opcodes.h', + '../src/wasm/wasm-result.cc', + '../src/wasm/wasm-result.h', + '../src/wasm/wasm-serialization.cc', + '../src/wasm/wasm-serialization.h', + '../src/wasm/wasm-text.cc', + '../src/wasm/wasm-text.h', + '../src/wasm/wasm-value.h', + '../src/zone/accounting-allocator.cc', + '../src/zone/accounting-allocator.h', + '../src/zone/zone-segment.cc', + '../src/zone/zone-segment.h', + '../src/zone/zone.cc', + '../src/zone/zone.h', + '../src/zone/zone-chunk-list.h', + '../src/zone/zone-segment.cc', + '../src/zone/zone-segment.h', + '../src/zone/zone-allocator.h', + '../src/zone/zone-containers.h', + '../src/zone/zone-handle-set.h', + '../src/zone/zone-list-inl.h', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ['v8_target_arch=="arm"', { + 'sources': [ + '../src/arm/assembler-arm-inl.h', + '../src/arm/assembler-arm.cc', + '../src/arm/assembler-arm.h', + '../src/arm/code-stubs-arm.cc', + '../src/arm/code-stubs-arm.h', + '../src/arm/codegen-arm.cc', + '../src/arm/constants-arm.h', + '../src/arm/constants-arm.cc', + '../src/arm/cpu-arm.cc', + '../src/arm/deoptimizer-arm.cc', + '../src/arm/disasm-arm.cc', + '../src/arm/frame-constants-arm.cc', + '../src/arm/frame-constants-arm.h', + '../src/arm/interface-descriptors-arm.cc', + '../src/arm/interface-descriptors-arm.h', + '../src/arm/macro-assembler-arm.cc', + '../src/arm/macro-assembler-arm.h', + '../src/arm/simulator-arm.cc', + '../src/arm/simulator-arm.h', + '../src/arm/eh-frame-arm.cc', + '../src/compiler/arm/code-generator-arm.cc', + '../src/compiler/arm/instruction-codes-arm.h', + '../src/compiler/arm/instruction-scheduler-arm.cc', + '../src/compiler/arm/instruction-selector-arm.cc', + '../src/compiler/arm/unwinding-info-writer-arm.cc', + '../src/compiler/arm/unwinding-info-writer-arm.h', + '../src/debug/arm/debug-arm.cc', + '../src/regexp/arm/regexp-macro-assembler-arm.cc', + '../src/regexp/arm/regexp-macro-assembler-arm.h', + '../src/wasm/baseline/arm/liftoff-assembler-arm.h', + ], + }], + ['v8_target_arch=="arm64"', { + 'sources': [ + '../src/arm64/assembler-arm64.cc', + '../src/arm64/assembler-arm64.h', + '../src/arm64/assembler-arm64-inl.h', + '../src/arm64/codegen-arm64.cc', + '../src/arm64/code-stubs-arm64.cc', + '../src/arm64/code-stubs-arm64.h', + '../src/arm64/constants-arm64.h', + '../src/arm64/cpu-arm64.cc', + '../src/arm64/decoder-arm64.cc', + '../src/arm64/decoder-arm64.h', + '../src/arm64/decoder-arm64-inl.h', + '../src/arm64/deoptimizer-arm64.cc', + '../src/arm64/disasm-arm64.cc', + '../src/arm64/disasm-arm64.h', + '../src/arm64/frame-constants-arm64.cc', + '../src/arm64/frame-constants-arm64.h', + '../src/arm64/instructions-arm64-constants.cc', + '../src/arm64/instructions-arm64.cc', + '../src/arm64/instructions-arm64.h', + '../src/arm64/instrument-arm64.cc', + '../src/arm64/instrument-arm64.h', + '../src/arm64/interface-descriptors-arm64.cc', + '../src/arm64/interface-descriptors-arm64.h', + '../src/arm64/macro-assembler-arm64.cc', + '../src/arm64/macro-assembler-arm64.h', + '../src/arm64/macro-assembler-arm64-inl.h', + '../src/arm64/simulator-arm64.cc', + '../src/arm64/simulator-arm64.h', + '../src/arm64/simulator-logic-arm64.cc', + '../src/arm64/utils-arm64.cc', + '../src/arm64/utils-arm64.h', + '../src/arm64/eh-frame-arm64.cc', + '../src/compiler/arm64/code-generator-arm64.cc', + '../src/compiler/arm64/instruction-codes-arm64.h', + '../src/compiler/arm64/instruction-scheduler-arm64.cc', + '../src/compiler/arm64/instruction-selector-arm64.cc', + '../src/compiler/arm64/unwinding-info-writer-arm64.cc', + '../src/compiler/arm64/unwinding-info-writer-arm64.h', + '../src/debug/arm64/debug-arm64.cc', + '../src/regexp/arm64/regexp-macro-assembler-arm64.cc', + '../src/regexp/arm64/regexp-macro-assembler-arm64.h', + '../src/wasm/baseline/arm64/liftoff-assembler-arm64.h', + ], + }], + ['v8_target_arch=="ia32"', { + 'sources': [ + '../src/ia32/assembler-ia32-inl.h', + '../src/ia32/assembler-ia32.cc', + '../src/ia32/assembler-ia32.h', + '../src/ia32/code-stubs-ia32.cc', + '../src/ia32/codegen-ia32.cc', + '../src/ia32/cpu-ia32.cc', + '../src/ia32/deoptimizer-ia32.cc', + '../src/ia32/disasm-ia32.cc', + '../src/ia32/frame-constants-ia32.cc', + '../src/ia32/frame-constants-ia32.h', + '../src/ia32/interface-descriptors-ia32.cc', + '../src/ia32/macro-assembler-ia32.cc', + '../src/ia32/macro-assembler-ia32.h', + '../src/ia32/simulator-ia32.cc', + '../src/ia32/simulator-ia32.h', + '../src/ia32/sse-instr.h', + '../src/compiler/ia32/code-generator-ia32.cc', + '../src/compiler/ia32/instruction-codes-ia32.h', + '../src/compiler/ia32/instruction-scheduler-ia32.cc', + '../src/compiler/ia32/instruction-selector-ia32.cc', + '../src/debug/ia32/debug-ia32.cc', + '../src/regexp/ia32/regexp-macro-assembler-ia32.cc', + '../src/regexp/ia32/regexp-macro-assembler-ia32.h', + '../src/wasm/baseline/ia32/liftoff-assembler-ia32.h', + ], + }], + ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', { + 'sources': [ + '../src/mips/assembler-mips.cc', + '../src/mips/assembler-mips.h', + '../src/mips/assembler-mips-inl.h', + '../src/mips/codegen-mips.cc', + '../src/mips/code-stubs-mips.cc', + '../src/mips/code-stubs-mips.h', + '../src/mips/constants-mips.cc', + '../src/mips/constants-mips.h', + '../src/mips/cpu-mips.cc', + '../src/mips/deoptimizer-mips.cc', + '../src/mips/disasm-mips.cc', + '../src/mips/frame-constants-mips.cc', + '../src/mips/frame-constants-mips.h', + '../src/mips/interface-descriptors-mips.cc', + '../src/mips/macro-assembler-mips.cc', + '../src/mips/macro-assembler-mips.h', + '../src/mips/simulator-mips.cc', + '../src/mips/simulator-mips.h', + '../src/compiler/mips/code-generator-mips.cc', + '../src/compiler/mips/instruction-codes-mips.h', + '../src/compiler/mips/instruction-scheduler-mips.cc', + '../src/compiler/mips/instruction-selector-mips.cc', + '../src/debug/mips/debug-mips.cc', + '../src/regexp/mips/regexp-macro-assembler-mips.cc', + '../src/regexp/mips/regexp-macro-assembler-mips.h', + '../src/wasm/baseline/mips/liftoff-assembler-mips.h', + ], + }], + ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', { + 'sources': [ + '../src/mips64/assembler-mips64.cc', + '../src/mips64/assembler-mips64.h', + '../src/mips64/assembler-mips64-inl.h', + '../src/mips64/codegen-mips64.cc', + '../src/mips64/code-stubs-mips64.cc', + '../src/mips64/code-stubs-mips64.h', + '../src/mips64/constants-mips64.cc', + '../src/mips64/constants-mips64.h', + '../src/mips64/cpu-mips64.cc', + '../src/mips64/deoptimizer-mips64.cc', + '../src/mips64/disasm-mips64.cc', + '../src/mips64/frame-constants-mips64.cc', + '../src/mips64/frame-constants-mips64.h', + '../src/mips64/interface-descriptors-mips64.cc', + '../src/mips64/macro-assembler-mips64.cc', + '../src/mips64/macro-assembler-mips64.h', + '../src/mips64/simulator-mips64.cc', + '../src/mips64/simulator-mips64.h', + '../src/compiler/mips64/code-generator-mips64.cc', + '../src/compiler/mips64/instruction-codes-mips64.h', + '../src/compiler/mips64/instruction-scheduler-mips64.cc', + '../src/compiler/mips64/instruction-selector-mips64.cc', + '../src/debug/mips64/debug-mips64.cc', + '../src/regexp/mips64/regexp-macro-assembler-mips64.cc', + '../src/regexp/mips64/regexp-macro-assembler-mips64.h', + '../src/wasm/baseline/mips64/liftoff-assembler-mips64.h', + ], + }], + ['v8_target_arch=="x64"', { + 'sources': [ + '../src/compiler/x64/code-generator-x64.cc', + '../src/compiler/x64/instruction-codes-x64.h', + '../src/compiler/x64/instruction-scheduler-x64.cc', + '../src/compiler/x64/instruction-selector-x64.cc', + '../src/compiler/x64/unwinding-info-writer-x64.cc', + '../src/compiler/x64/unwinding-info-writer-x64.h', + '../src/x64/assembler-x64-inl.h', + '../src/x64/assembler-x64.cc', + '../src/x64/assembler-x64.h', + '../src/x64/code-stubs-x64.cc', + '../src/x64/codegen-x64.cc', + '../src/x64/cpu-x64.cc', + '../src/x64/deoptimizer-x64.cc', + '../src/x64/disasm-x64.cc', + '../src/x64/eh-frame-x64.cc', + '../src/x64/frame-constants-x64.cc', + '../src/x64/frame-constants-x64.h', + '../src/x64/interface-descriptors-x64.cc', + '../src/x64/macro-assembler-x64.cc', + '../src/x64/macro-assembler-x64.h', + '../src/x64/simulator-x64.cc', + '../src/x64/simulator-x64.h', + '../src/x64/sse-instr.h', + '../src/debug/x64/debug-x64.cc', + '../src/regexp/x64/regexp-macro-assembler-x64.cc', + '../src/regexp/x64/regexp-macro-assembler-x64.h', + '../src/third_party/valgrind/valgrind.h', + '../src/wasm/baseline/x64/liftoff-assembler-x64.h', + ], + }], + ['v8_target_arch=="x64" and OS=="linux"', { + 'sources': ['../src/trap-handler/handler-inside.cc'] + }], + ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', { + 'sources': [ + '../src/compiler/ppc/code-generator-ppc.cc', + '../src/compiler/ppc/instruction-codes-ppc.h', + '../src/compiler/ppc/instruction-scheduler-ppc.cc', + '../src/compiler/ppc/instruction-selector-ppc.cc', + '../src/debug/ppc/debug-ppc.cc', + '../src/ppc/assembler-ppc-inl.h', + '../src/ppc/assembler-ppc.cc', + '../src/ppc/assembler-ppc.h', + '../src/ppc/code-stubs-ppc.cc', + '../src/ppc/code-stubs-ppc.h', + '../src/ppc/codegen-ppc.cc', + '../src/ppc/constants-ppc.h', + '../src/ppc/constants-ppc.cc', + '../src/ppc/cpu-ppc.cc', + '../src/ppc/deoptimizer-ppc.cc', + '../src/ppc/disasm-ppc.cc', + '../src/ppc/frame-constants-ppc.cc', + '../src/ppc/frame-constants-ppc.h', + '../src/ppc/interface-descriptors-ppc.cc', + '../src/ppc/macro-assembler-ppc.cc', + '../src/ppc/macro-assembler-ppc.h', + '../src/ppc/simulator-ppc.cc', + '../src/ppc/simulator-ppc.h', + '../src/regexp/ppc/regexp-macro-assembler-ppc.cc', + '../src/regexp/ppc/regexp-macro-assembler-ppc.h', + '../src/wasm/baseline/ppc/liftoff-assembler-ppc.h', + ], + }], + ['v8_target_arch=="s390" or v8_target_arch=="s390x"', { + 'sources': [ + '../src/compiler/s390/code-generator-s390.cc', + '../src/compiler/s390/instruction-codes-s390.h', + '../src/compiler/s390/instruction-scheduler-s390.cc', + '../src/compiler/s390/instruction-selector-s390.cc', + '../src/debug/s390/debug-s390.cc', + '../src/regexp/s390/regexp-macro-assembler-s390.cc', + '../src/regexp/s390/regexp-macro-assembler-s390.h', + '../src/s390/assembler-s390.cc', + '../src/s390/assembler-s390.h', + '../src/s390/assembler-s390-inl.h', + '../src/s390/codegen-s390.cc', + '../src/s390/code-stubs-s390.cc', + '../src/s390/code-stubs-s390.h', + '../src/s390/constants-s390.cc', + '../src/s390/constants-s390.h', + '../src/s390/cpu-s390.cc', + '../src/s390/deoptimizer-s390.cc', + '../src/s390/disasm-s390.cc', + '../src/s390/frame-constants-s390.cc', + '../src/s390/frame-constants-s390.h', + '../src/s390/interface-descriptors-s390.cc', + '../src/s390/macro-assembler-s390.cc', + '../src/s390/macro-assembler-s390.h', + '../src/s390/simulator-s390.cc', + '../src/s390/simulator-s390.h', + '../src/wasm/baseline/s390/liftoff-assembler-s390.h', + ], + }], + ['OS=="win"', { + 'variables': { + 'gyp_generators': '<!(echo $GYP_GENERATORS)', + }, + 'msvs_disabled_warnings': [4351, 4355, 4800], + # When building Official, the .lib is too large and exceeds the 2G + # limit. This breaks it into multiple pieces to avoid the limit. + # See http://crbug.com/485155. + 'msvs_shard': 4, + # This will prevent V8's .cc files conflicting with the inspector's + # .cpp files in the same shard. + 'msvs_settings': { + 'VCCLCompilerTool': { + 'ObjectFile':'$(IntDir)%(Extension)\\', + }, + }, + }], + ['component=="shared_library"', { + 'defines': [ + 'BUILDING_V8_SHARED', + ], + }], + ['v8_postmortem_support=="true"', { + 'sources': [ + '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', + ] + }], + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ], + 'conditions': [ + ['icu_use_data_file_flag==1', { + 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'], + }, { # else icu_use_data_file_flag !=1 + 'conditions': [ + ['OS=="win"', { + 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'], + }, { + 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'], + }], + ], + }], + ], + }, { # v8_enable_i18n_support==0 + 'sources!': [ + '../src/builtins/builtins-intl.cc', + '../src/builtins/builtins-intl.h', + '../src/char-predicates.cc', + '../src/intl.cc', + '../src/intl.h', + '../src/objects/intl-objects.cc', + '../src/objects/intl-objects.h', + '../src/runtime/runtime-intl.cc', + ], + }], + ['OS=="win" and v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icudata', + ], + }], + ], + }, + { + 'target_name': 'v8_libbase', + 'type': '<(component)', + 'variables': { + 'optimize': 'max', + }, + 'include_dirs+': [ + '..', + ], + 'sources': [ + '../src/base/adapters.h', + '../src/base/atomic-utils.h', + '../src/base/atomicops.h', + '../src/base/atomicops_internals_atomicword_compat.h', + '../src/base/atomicops_internals_portable.h', + '../src/base/atomicops_internals_std.h', + '../src/base/base-export.h', + '../src/base/bits.cc', + '../src/base/bits.h', + '../src/base/build_config.h', + '../src/base/compiler-specific.h', + '../src/base/cpu.cc', + '../src/base/cpu.h', + '../src/base/division-by-constant.cc', + '../src/base/division-by-constant.h', + '../src/base/debug/stack_trace.cc', + '../src/base/debug/stack_trace.h', + '../src/base/export-template.h', + '../src/base/file-utils.cc', + '../src/base/file-utils.h', + '../src/base/flags.h', + '../src/base/format-macros.h', + '../src/base/free_deleter.h', + '../src/base/functional.cc', + '../src/base/functional.h', + '../src/base/hashmap.h', + '../src/base/hashmap-entry.h', + '../src/base/ieee754.cc', + '../src/base/ieee754.h', + '../src/base/iterator.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/optional.h', + '../src/base/page-allocator.cc', + '../src/base/page-allocator.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/ring-buffer.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/sys-info.cc', + '../src/base/sys-info.h', + '../src/base/template-utils.h', + '../src/base/timezone-cache.h', + '../src/base/tsan.h', + '../src/base/utils/random-number-generator.cc', + '../src/base/utils/random-number-generator.h', + ], + 'target_conditions': [ + ['OS=="android" and _toolset=="target"', { + 'libraries': [ + '-llog', + ], + 'include_dirs': [ + 'src/common/android/include', + ], + }], + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ['component=="shared_library"', { + 'defines': [ + 'BUILDING_V8_BASE_SHARED', + ], + 'direct_dependent_settings': { + 'defines': [ + 'USING_V8_BASE_SHARED', + ], + }, + }], + ['OS=="linux"', { + 'link_settings': { + 'libraries': [ + '-ldl', + '-lrt' + ], + }, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-linux.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ], + } + ], + ['OS=="android"', { + 'sources': [ + '../src/base/debug/stack_trace_android.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ], + 'link_settings': { + 'target_conditions': [ + ['_toolset=="host" and host_os!="mac"', { + # Only include libdl and librt on host builds because they + # are included by default on Android target builds, and we + # don't want to re-include them here since this will change + # library order and break (see crbug.com/469973). + # These libraries do not exist on Mac hosted builds. + 'libraries': [ + '-ldl', + '-lrt' + ] + }] + ] + }, + 'conditions': [ + ['host_os=="mac"', { + 'target_conditions': [ + ['_toolset=="host"', { + 'sources': [ + '../src/base/platform/platform-macos.cc' + ] + }, { + 'sources': [ + '../src/base/platform/platform-linux.cc' + ] + }], + ], + }, { + 'sources': [ + '../src/base/platform/platform-linux.cc' + ] + }], + ], + }, + ], + ['OS=="qnx"', { + 'link_settings': { + 'target_conditions': [ + ['_toolset=="host" and host_os=="linux"', { + 'libraries': [ + '-lrt' + ], + }], + ['_toolset=="target"', { + 'libraries': [ + '-lbacktrace' + ], + }], + ], + }, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + '../src/base/qnx-math.h' + ], + 'target_conditions': [ + ['_toolset=="host" and host_os=="linux"', { + 'sources': [ + '../src/base/platform/platform-linux.cc' + ], + }], + ['_toolset=="host" and host_os=="mac"', { + 'sources': [ + '../src/base/platform/platform-macos.cc' + ], + }], + ['_toolset=="target"', { + 'sources': [ + '../src/base/platform/platform-qnx.cc' + ], + }], + ], + }, + ], + ['OS=="freebsd"', { + 'link_settings': { + 'libraries': [ + '-L/usr/local/lib -lexecinfo', + ]}, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-freebsd.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ], + } + ], + ['OS=="openbsd"', { + 'link_settings': { + 'libraries': [ + '-L/usr/local/lib -lexecinfo', + ]}, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-openbsd.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ], + } + ], + ['OS=="netbsd"', { + 'link_settings': { + 'libraries': [ + '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo', + ]}, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-openbsd.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ], + } + ], + ['OS=="aix"', { + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-aix.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc' + ]}, + ], + ['OS=="fuchsia"', { + 'sources': [ + '../src/base/debug/stack_trace_fuchsia.cc', + '../src/base/platform/platform-fuchsia.cc', + ]}, + ], + ['OS=="solaris"', { + 'link_settings': { + 'libraries': [ + '-lnsl -lrt', + ]}, + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-solaris.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + ], + } + ], + ['OS=="mac"', { + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-macos.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + '../src/base/platform/platform-posix-time.h', + '../src/base/platform/platform-posix-time.cc', + ]}, + ], + ['OS=="win"', { + 'defines': [ + '_CRT_RAND_S' # for rand_s() + ], + 'variables': { + 'gyp_generators': '<!(echo $GYP_GENERATORS)', + }, + 'conditions': [ + ['gyp_generators=="make"', { + 'variables': { + 'build_env': '<!(uname -o)', + }, + 'conditions': [ + ['build_env=="Cygwin"', { + 'sources': [ + '../src/base/debug/stack_trace_posix.cc', + '../src/base/platform/platform-cygwin.cc', + '../src/base/platform/platform-posix.h', + '../src/base/platform/platform-posix.cc', + ], + }, { + 'sources': [ + '../src/base/debug/stack_trace_win.cc', + '../src/base/platform/platform-win32.cc', + '../src/base/win32-headers.h', + ], + }], + ], + 'link_settings': { + 'libraries': [ '-lwinmm', '-lws2_32' ], + }, + }, { + 'sources': [ + '../src/base/debug/stack_trace_win.cc', + '../src/base/platform/platform-win32.cc', + '../src/base/win32-headers.h', + ], + 'msvs_disabled_warnings': [4351, 4355, 4800], + 'link_settings': { + 'libraries': [ + '-ldbghelp.lib', + '-lshlwapi.lib', + '-lwinmm.lib', + '-lws2_32.lib' + ], + }, + }], + ], + }], + ], + }, + { + 'target_name': 'v8_libplatform', + 'type': '<(component)', + 'variables': { + 'optimize': 'max', + }, + 'dependencies': [ + 'v8_libbase', + ], + 'include_dirs+': [ + '..', + '<(DEPTH)', + '../include/', + ], + 'sources': [ + '../include//libplatform/libplatform.h', + '../include//libplatform/libplatform-export.h', + '../include//libplatform/v8-tracing.h', + '../src/libplatform/default-background-task-runner.cc', + '../src/libplatform/default-background-task-runner.h', + '../src/libplatform/default-foreground-task-runner.cc', + '../src/libplatform/default-foreground-task-runner.h', + '../src/libplatform/default-platform.cc', + '../src/libplatform/default-platform.h', + '../src/libplatform/task-queue.cc', + '../src/libplatform/task-queue.h', + '../src/libplatform/tracing/trace-buffer.cc', + '../src/libplatform/tracing/trace-buffer.h', + '../src/libplatform/tracing/trace-config.cc', + '../src/libplatform/tracing/trace-object.cc', + '../src/libplatform/tracing/trace-writer.cc', + '../src/libplatform/tracing/trace-writer.h', + '../src/libplatform/tracing/tracing-controller.cc', + '../src/libplatform/worker-thread.cc', + '../src/libplatform/worker-thread.h', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ['component=="shared_library"', { + 'direct_dependent_settings': { + 'defines': [ 'USING_V8_PLATFORM_SHARED' ], + }, + 'defines': [ 'BUILDING_V8_PLATFORM_SHARED' ], + }] + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../include/', + ], + }, + }, + { + 'target_name': 'v8_libsampler', + 'type': 'static_library', + 'variables': { + 'optimize': 'max', + }, + 'dependencies': [ + 'v8_libbase', + ], + 'include_dirs+': [ + '..', + '../include/', + ], + 'sources': [ + '../src/libsampler/sampler.cc', + '../src/libsampler/sampler.h' + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../include/', + ], + }, + }, + { + 'target_name': 'natives_blob', + 'type': 'none', + 'conditions': [ + [ 'v8_use_external_startup_data==1', { + 'conditions': [ + ['want_separate_host_toolset==1', { + 'dependencies': ['js2c#host'], + }, { + 'dependencies': ['js2c'], + }], + ], + 'actions': [{ + 'action_name': 'concatenate_natives_blob', + 'inputs': [ + '../tools//concatenate-files.py', + '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', + '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin', + '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin', + ], + 'conditions': [ + ['want_separate_host_toolset==1', { + 'target_conditions': [ + ['_toolset=="host"', { + 'outputs': [ + '<(PRODUCT_DIR)/natives_blob_host.bin', + ], + 'action': [ + 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin' + ], + }, { + 'outputs': [ + '<(PRODUCT_DIR)/natives_blob.bin', + ], + 'action': [ + 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin' + ], + }], + ], + }, { + 'outputs': [ + '<(PRODUCT_DIR)/natives_blob.bin', + ], + 'action': [ + 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin' + ], + }], + ], + }], + }], + ['want_separate_host_toolset==1', { + 'toolsets': ['host', 'target'], + }, { + 'toolsets': ['target'], + }], + ] + }, + { + 'target_name': 'js2c', + 'type': 'none', + 'conditions': [ + ['want_separate_host_toolset==1', { + 'toolsets': ['host'], + }, { + 'toolsets': ['target'], + }], + ], + 'variables': { + 'library_files': [ + '../src/js/macros.py', + '../src/messages.h', + '../src/js/prologue.js', + '../src/js/array.js', + '../src/js/typedarray.js', + '../src/js/messages.js', + '../src/js/spread.js', + '../src/debug/mirrors.js', + '../src/debug/debug.js', + '../src/debug/liveedit.js', + ], + 'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', + 'libraries_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin', + 'libraries_experimental_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin', + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'library_files': ['../src/js/intl.js'], + }], + ], + }, + 'actions': [ + { + 'action_name': 'js2c', + 'inputs': [ + '../tools//js2c.py', + '<@(library_files)', + ], + 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/libraries.cc'], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', + 'CORE', + '<@(library_files)', + ], + }, + { + 'action_name': 'js2c_bin', + 'inputs': [ + '../tools//js2c.py', + '<@(library_files)', + ], + 'outputs': ['<@(libraries_bin_file)'], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', + 'CORE', + '<@(library_files)', + '--startup_blob', '<@(libraries_bin_file)', + '--nojs', + ], + }, + { + 'action_name': 'js2c_extras', + 'inputs': [ + '../tools//js2c.py', + '<@(v8_extra_library_files)', + ], + 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc'], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc', + 'EXTRAS', + '<@(v8_extra_library_files)', + ], + }, + { + 'action_name': 'js2c_extras_bin', + 'inputs': [ + '../tools//js2c.py', + '<@(v8_extra_library_files)', + ], + 'outputs': ['<@(libraries_extras_bin_file)'], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc', + 'EXTRAS', + '<@(v8_extra_library_files)', + '--startup_blob', '<@(libraries_extras_bin_file)', + '--nojs', + ], + }, + { + 'action_name': 'js2c_experimental_extras', + 'inputs': [ + '../tools//js2c.py', + '<@(v8_experimental_extra_library_files)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc', + ], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc', + 'EXPERIMENTAL_EXTRAS', + '<@(v8_experimental_extra_library_files)', + ], + }, + { + 'action_name': 'js2c_experimental_extras_bin', + 'inputs': [ + '../tools//js2c.py', + '<@(v8_experimental_extra_library_files)', + ], + 'outputs': ['<@(libraries_experimental_extras_bin_file)'], + 'action': [ + 'python', + '../tools//js2c.py', + '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc', + 'EXPERIMENTAL_EXTRAS', + '<@(v8_experimental_extra_library_files)', + '--startup_blob', '<@(libraries_experimental_extras_bin_file)', + '--nojs', + ], + }, + ], + }, + { + 'target_name': 'postmortem-metadata', + 'type': 'none', + 'variables': { + 'heapobject_files': [ + '../src/objects.h', + '../src/objects-inl.h', + '../src/objects/code.h', + '../src/objects/code-inl.h', + '../src/objects/fixed-array.h', + '../src/objects/fixed-array-inl.h', + '../src/objects/js-array.h', + '../src/objects/js-array-inl.h', + '../src/objects/js-regexp.h', + '../src/objects/js-regexp-inl.h', + '../src/objects/map.h', + '../src/objects/map-inl.h', + '../src/objects/script.h', + '../src/objects/script-inl.h', + '../src/objects/shared-function-info.h', + '../src/objects/shared-function-info-inl.h', + '../src/objects/string.h', + '../src/objects/string-inl.h', + ], + }, + 'actions': [ + { + 'action_name': 'gen-postmortem-metadata', + 'inputs': [ + '../tools//gen-postmortem-metadata.py', + '<@(heapobject_files)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', + ], + 'action': [ + 'python', + '../tools//gen-postmortem-metadata.py', + '<@(_outputs)', + '<@(heapobject_files)' + ] + } + ] + }, + { + 'target_name': 'mksnapshot', + 'type': 'executable', + 'dependencies': [ + 'v8_base', + 'v8_init', + 'v8_libbase', + 'v8_libplatform', + 'v8_nosnapshot', + ], + 'include_dirs+': [ + '..', + '<(DEPTH)', + ], + 'sources': [ + '../src/snapshot/mksnapshot.cc', + ], + 'conditions': [ + ['v8_enable_i18n_support==1', { + 'dependencies': [ + '<(icu_gyp_path):icui18n', + '<(icu_gyp_path):icuuc', + ] + }], + ['want_separate_host_toolset==1', { + 'toolsets': ['host'], + }, { + 'toolsets': ['target'], + }], + ], + }, + { + 'target_name': 'v8_dump_build_config', + 'type': 'none', + 'variables': { + }, + 'actions': [ + { + 'action_name': 'v8_dump_build_config', + 'inputs': [ + '../tools//testrunner/utils/dump_build_config_gyp.py', + ], + 'outputs': [ + '<(PRODUCT_DIR)/v8_build_config.json', + ], + 'action': [ + 'python', + '../tools//testrunner/utils/dump_build_config_gyp.py', + '<(PRODUCT_DIR)/v8_build_config.json', + 'dcheck_always_on=<(dcheck_always_on)', + 'is_asan=<(asan)', + 'is_cfi=<(cfi_vptr)', + 'is_component_build=<(component)', + 'is_debug=<(CONFIGURATION_NAME)', + # Not available in gyp. + 'is_gcov_coverage=0', + 'is_msan=<(msan)', + 'is_tsan=<(tsan)', + # Not available in gyp. + 'is_ubsan_vptr=0', + 'target_cpu=<(target_arch)', + 'v8_enable_i18n_support=<(v8_enable_i18n_support)', + 'v8_enable_verify_predictable=<(v8_enable_verify_predictable)', + 'v8_target_cpu=<(v8_target_arch)', + 'v8_use_snapshot=<(v8_use_snapshot)', + ], + 'conditions': [ + ['v8_target_arch=="mips" or v8_target_arch=="mipsel" \ + or v8_target_arch=="mips64" or v8_target_arch=="mips64el"', { + 'action':[ + 'mips_arch_variant=<(mips_arch_variant)', + 'mips_use_msa=<(mips_use_msa)', + ], + }], + ], + }, + ], + }, + { + 'target_name': 'v8_monolith', + 'type': 'none', + 'direct_dependent_settings': { + 'include_dirs': [ + '../include/', + ], + }, + 'actions': [ + { + 'action_name': 'build_with_gn', + 'inputs': [ + '../tools//node/build_gn.py', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/gn/obj/libv8_monolith.a', + '<(INTERMEDIATE_DIR)/gn/args.gn', + ], + 'action': [ + '../tools//node/build_gn.py', + '--mode', '<(CONFIGURATION_NAME)', + '--v8_path', '../', + '--build_path', '<(INTERMEDIATE_DIR)/gn', + '--host_os', '<(host_os)', + '--flag', 'v8_promise_internal_field_count=<(v8_promise_internal_field_count)', + '--flag', 'target_cpu="<(target_arch)"', + '--flag', 'target_os="<(OS)"', + '--flag', 'v8_target_cpu="<(v8_target_arch)"', + '--flag', 'v8_embedder_string="<(v8_embedder_string)"', + '--flag', 'v8_use_snapshot=<(v8_use_snapshot)', + '--flag', 'v8_optimized_debug=<(v8_optimized_debug)', + '--flag', 'v8_enable_disassembler=<(v8_enable_disassembler)', + '--flag', 'v8_postmortem_support=<(v8_postmortem_support)', + ], + }, + ], + }, + ], +} diff --git a/deps/v8/gypfiles/v8vtune.gyp b/deps/v8/gypfiles/v8vtune.gyp new file mode 100644 index 0000000000..2a756d4b80 --- /dev/null +++ b/deps/v8/gypfiles/v8vtune.gyp @@ -0,0 +1,36 @@ +# Copyright 2012 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. + +{ + 'variables': { + 'v8_code': 1, + }, + 'includes': ['toolchain.gypi', 'features.gypi'], + 'targets': [ + { + 'target_name': 'v8_vtune', + 'type': 'static_library', + 'dependencies': [ + 'v8.gyp:v8', + ], + 'sources': [ + '../src/third_party/vtune/ittnotify_config.h', + '../src/third_party/vtune/ittnotify_types.h', + '../src/third_party/vtune/jitprofiling.cc', + '../src/third_party/vtune/jitprofiling.h', + '../src/third_party/vtune/v8-vtune.h', + '../src/third_party/vtune/vtune-jit.cc', + '../src/third_party/vtune/vtune-jit.h', + ], + 'direct_dependent_settings': { + 'defines': ['ENABLE_VTUNE_JIT_INTERFACE',], + 'conditions': [ + ['OS != "win"', { + 'libraries': ['-ldl',], + }], + ], + }, + }, + ], +} diff --git a/deps/v8/gypfiles/verify_source_deps.py b/deps/v8/gypfiles/verify_source_deps.py new file mode 100644 index 0000000000..714c6fe84b --- /dev/null +++ b/deps/v8/gypfiles/verify_source_deps.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python +# Copyright 2015 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. + +""" +Script to print potentially missing source dependencies based on the actual +.h and .cc files in the source tree and which files are included in the gyp +and gn files. The latter inclusion is overapproximated. + +TODO(machenbach): If two source files with the same name exist, but only one +is referenced from a gyp/gn file, we won't necessarily detect it. +""" + +import itertools +import re +import os +import subprocess +import sys + + +V8_BASE = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + +GYP_FILES = [ + os.path.join(V8_BASE, 'gypfiles', 'd8.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'v8.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'inspector.gypi'), + os.path.join(V8_BASE, 'gypfiles', 'v8vtune.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'samples.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'cctest.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'fuzzer.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'unittests.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'inspector-test.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'mkgrokdump.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'gmock.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'gtest.gyp'), + os.path.join(V8_BASE, 'gypfiles', 'parser-shell.gyp'), +] + +ALL_GYP_PREFIXES = [ + '..', + 'common', + os.path.join('src', 'third_party', 'vtune'), + 'src', + 'samples', + 'testing', + 'tools', + os.path.join('test', 'cctest'), + os.path.join('test', 'common'), + os.path.join('test', 'fuzzer'), + os.path.join('test', 'unittests'), + os.path.join('test', 'inspector'), + os.path.join('test', 'mkgrokdump'), +] + +GYP_UNSUPPORTED_FEATURES = [ + 'gcmole', + 'setup-isolate-deserialize.cc', + 'v8-version.h' +] + +GN_FILES = [ + os.path.join(V8_BASE, 'BUILD.gn'), + os.path.join(V8_BASE, 'build', 'secondary', 'testing', 'gmock', 'BUILD.gn'), + os.path.join(V8_BASE, 'build', 'secondary', 'testing', 'gtest', 'BUILD.gn'), + os.path.join(V8_BASE, 'src', 'inspector', 'BUILD.gn'), + os.path.join(V8_BASE, 'test', 'cctest', 'BUILD.gn'), + os.path.join(V8_BASE, 'test', 'unittests', 'BUILD.gn'), + os.path.join(V8_BASE, 'test', 'inspector', 'BUILD.gn'), + os.path.join(V8_BASE, 'test', 'mkgrokdump', 'BUILD.gn'), + os.path.join(V8_BASE, 'tools', 'BUILD.gn'), +] + +GN_UNSUPPORTED_FEATURES = [ + 'aix', + 'cygwin', + 'freebsd', + 'gcmole', + 'openbsd', + 'ppc', + 'qnx', + 'solaris', + 'vtune', + 'v8-version.h', +] + +ALL_GN_PREFIXES = [ + '..', + os.path.join('src', 'inspector'), + 'src', + 'testing', + os.path.join('test', 'cctest'), + os.path.join('test', 'unittests'), + os.path.join('test', 'inspector'), + os.path.join('test', 'mkgrokdump'), +] + +def pathsplit(path): + return re.split('[/\\\\]', path) + +def path_no_prefix(path, prefixes): + for prefix in prefixes: + if path.startswith(prefix + os.sep): + return path_no_prefix(path[len(prefix) + 1:], prefixes) + return path + + +def isources(prefixes): + cmd = ['git', 'ls-tree', '-r', 'HEAD', '--full-name', '--name-only'] + for f in subprocess.check_output(cmd, universal_newlines=True).split('\n'): + if not (f.endswith('.h') or f.endswith('.cc')): + continue + yield path_no_prefix(os.path.join(*pathsplit(f)), prefixes) + + +def iflatten(obj): + if isinstance(obj, dict): + for value in obj.values(): + for i in iflatten(value): + yield i + elif isinstance(obj, list): + for value in obj: + for i in iflatten(value): + yield i + elif isinstance(obj, basestring): + yield path_no_prefix(os.path.join(*pathsplit(obj)), ALL_GYP_PREFIXES) + + +def iflatten_gyp_file(gyp_file): + """Overaproximates all values in the gyp file. + + Iterates over all string values recursively. Removes '../' path prefixes. + """ + with open(gyp_file) as f: + return iflatten(eval(f.read())) + + +def iflatten_gn_file(gn_file): + """Overaproximates all values in the gn file. + + Iterates over all double quoted strings. + """ + with open(gn_file) as f: + for line in f.read().splitlines(): + match = re.match(r'.*"([^"]*)".*', line) + if match: + yield path_no_prefix( + os.path.join(*pathsplit(match.group(1))), ALL_GN_PREFIXES) + + +def icheck_values(values, prefixes): + for source_file in isources(prefixes): + if source_file not in values: + yield source_file + + +def missing_gyp_files(): + gyp_values = set(itertools.chain( + *[iflatten_gyp_file(gyp_file) for gyp_file in GYP_FILES] + )) + gyp_files = sorted(icheck_values(gyp_values, ALL_GYP_PREFIXES)) + return filter( + lambda x: not any(i in x for i in GYP_UNSUPPORTED_FEATURES), gyp_files) + + +def missing_gn_files(): + gn_values = set(itertools.chain( + *[iflatten_gn_file(gn_file) for gn_file in GN_FILES] + )) + + gn_files = sorted(icheck_values(gn_values, ALL_GN_PREFIXES)) + return filter( + lambda x: not any(i in x for i in GN_UNSUPPORTED_FEATURES), gn_files) + + +def main(): + print "----------- Files not in gyp: ------------" + for i in missing_gyp_files(): + print i + + print "\n----------- Files not in gn: -------------" + for i in missing_gn_files(): + print i + return 0 + +if '__main__' == __name__: + sys.exit(main()) diff --git a/deps/v8/gypfiles/win/msvs_dependencies.isolate b/deps/v8/gypfiles/win/msvs_dependencies.isolate deleted file mode 100644 index 2859126659..0000000000 --- a/deps/v8/gypfiles/win/msvs_dependencies.isolate +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# TODO(machenbach): Remove this when crbug.com/669910 is resolved. -{ - 'conditions': [ - # Copy the VS runtime DLLs into the isolate so that they - # don't have to be preinstalled on the target machine. - # - # VS2013 runtimes - ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp120d.dll', - '<(PRODUCT_DIR)/msvcr120d.dll', - ], - }, - }], - ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp120.dll', - '<(PRODUCT_DIR)/msvcr120.dll', - ], - }, - }], - # VS2015/2017 runtimes - ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp140d.dll', - '<(PRODUCT_DIR)/vccorlib140d.dll', - '<(PRODUCT_DIR)/vcruntime140d.dll', - '<(PRODUCT_DIR)/ucrtbased.dll', - ], - }, - }], - ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/msvcp140.dll', - '<(PRODUCT_DIR)/vccorlib140.dll', - '<(PRODUCT_DIR)/vcruntime140.dll', - '<(PRODUCT_DIR)/ucrtbase.dll', - ], - }, - }], - ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library"', { - # Windows 10 Universal C Runtime binaries. - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/api-ms-win-core-console-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-datetime-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-debug-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-errorhandling-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-file-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-file-l1-2-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-file-l2-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-handle-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-heap-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-interlocked-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-libraryloader-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-localization-l1-2-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-memory-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-namedpipe-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-processenvironment-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-1.dll', - '<(PRODUCT_DIR)/api-ms-win-core-profile-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-rtlsupport-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-string-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-2-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-sysinfo-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-timezone-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-core-util-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-conio-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-convert-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-environment-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-filesystem-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-heap-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-locale-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-math-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-multibyte-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-private-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-process-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-runtime-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-stdio-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-string-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-time-l1-1-0.dll', - '<(PRODUCT_DIR)/api-ms-win-crt-utility-l1-1-0.dll', - ], - }, - }], - ], -} |