Merge V8 5.3.332.45. DO NOT MERGE
Test: Manual
FPIIM-449
Change-Id: Id3254828b068abdea3cb10442e0172a8c9a98e03
(cherry picked from commit 13e2dadd00298019ed862f2b2fc5068bba730bcf)
diff --git a/test/unittests/BUILD.gn b/test/unittests/BUILD.gn
new file mode 100644
index 0000000..b962673
--- /dev/null
+++ b/test/unittests/BUILD.gn
@@ -0,0 +1,182 @@
+# 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.
+
+# Please keep this file in sync with unittests.gyp.
+
+import("../../gni/v8.gni")
+
+v8_executable("unittests") {
+ testonly = true
+
+ sources = [
+ "base/atomic-utils-unittest.cc",
+ "base/bits-unittest.cc",
+ "base/cpu-unittest.cc",
+ "base/division-by-constant-unittest.cc",
+ "base/flags-unittest.cc",
+ "base/functional-unittest.cc",
+ "base/ieee754-unittest.cc",
+ "base/iterator-unittest.cc",
+ "base/logging-unittest.cc",
+ "base/platform/condition-variable-unittest.cc",
+ "base/platform/mutex-unittest.cc",
+ "base/platform/platform-unittest.cc",
+ "base/platform/semaphore-unittest.cc",
+ "base/platform/time-unittest.cc",
+ "base/sys-info-unittest.cc",
+ "base/utils/random-number-generator-unittest.cc",
+ "cancelable-tasks-unittest.cc",
+ "char-predicates-unittest.cc",
+ "compiler/branch-elimination-unittest.cc",
+ "compiler/checkpoint-elimination-unittest.cc",
+ "compiler/common-operator-reducer-unittest.cc",
+ "compiler/common-operator-unittest.cc",
+ "compiler/compiler-test-utils.h",
+ "compiler/control-equivalence-unittest.cc",
+ "compiler/control-flow-optimizer-unittest.cc",
+ "compiler/dead-code-elimination-unittest.cc",
+ "compiler/diamond-unittest.cc",
+ "compiler/effect-control-linearizer-unittest.cc",
+ "compiler/escape-analysis-unittest.cc",
+ "compiler/graph-reducer-unittest.cc",
+ "compiler/graph-reducer-unittest.h",
+ "compiler/graph-trimmer-unittest.cc",
+ "compiler/graph-unittest.cc",
+ "compiler/graph-unittest.h",
+ "compiler/instruction-selector-unittest.cc",
+ "compiler/instruction-selector-unittest.h",
+ "compiler/instruction-sequence-unittest.cc",
+ "compiler/instruction-sequence-unittest.h",
+ "compiler/int64-lowering-unittest.cc",
+ "compiler/js-builtin-reducer-unittest.cc",
+ "compiler/js-create-lowering-unittest.cc",
+ "compiler/js-intrinsic-lowering-unittest.cc",
+ "compiler/js-operator-unittest.cc",
+ "compiler/js-typed-lowering-unittest.cc",
+ "compiler/linkage-tail-call-unittest.cc",
+ "compiler/live-range-unittest.cc",
+ "compiler/liveness-analyzer-unittest.cc",
+ "compiler/load-elimination-unittest.cc",
+ "compiler/loop-peeling-unittest.cc",
+ "compiler/machine-operator-reducer-unittest.cc",
+ "compiler/machine-operator-unittest.cc",
+ "compiler/move-optimizer-unittest.cc",
+ "compiler/node-cache-unittest.cc",
+ "compiler/node-matchers-unittest.cc",
+ "compiler/node-properties-unittest.cc",
+ "compiler/node-test-utils.cc",
+ "compiler/node-test-utils.h",
+ "compiler/node-unittest.cc",
+ "compiler/opcodes-unittest.cc",
+ "compiler/register-allocator-unittest.cc",
+ "compiler/schedule-unittest.cc",
+ "compiler/scheduler-rpo-unittest.cc",
+ "compiler/scheduler-unittest.cc",
+ "compiler/simplified-operator-reducer-unittest.cc",
+ "compiler/simplified-operator-unittest.cc",
+ "compiler/state-values-utils-unittest.cc",
+ "compiler/tail-call-optimization-unittest.cc",
+ "compiler/typer-unittest.cc",
+ "compiler/value-numbering-reducer-unittest.cc",
+ "compiler/zone-pool-unittest.cc",
+ "counters-unittest.cc",
+ "heap/bitmap-unittest.cc",
+ "heap/gc-idle-time-handler-unittest.cc",
+ "heap/gc-tracer-unittest.cc",
+ "heap/heap-unittest.cc",
+ "heap/memory-reducer-unittest.cc",
+ "heap/scavenge-job-unittest.cc",
+ "heap/slot-set-unittest.cc",
+ "interpreter/bytecode-array-builder-unittest.cc",
+ "interpreter/bytecode-array-iterator-unittest.cc",
+ "interpreter/bytecode-array-writer-unittest.cc",
+ "interpreter/bytecode-dead-code-optimizer-unittest.cc",
+ "interpreter/bytecode-peephole-optimizer-unittest.cc",
+ "interpreter/bytecode-pipeline-unittest.cc",
+ "interpreter/bytecode-register-allocator-unittest.cc",
+ "interpreter/bytecode-register-optimizer-unittest.cc",
+ "interpreter/bytecodes-unittest.cc",
+ "interpreter/constant-array-builder-unittest.cc",
+ "interpreter/interpreter-assembler-unittest.cc",
+ "interpreter/interpreter-assembler-unittest.h",
+ "interpreter/source-position-table-unittest.cc",
+ "libplatform/default-platform-unittest.cc",
+ "libplatform/task-queue-unittest.cc",
+ "libplatform/worker-thread-unittest.cc",
+ "locked-queue-unittest.cc",
+ "register-configuration-unittest.cc",
+ "run-all-unittests.cc",
+ "test-utils.cc",
+ "test-utils.h",
+ "wasm/asm-types-unittest.cc",
+ "wasm/ast-decoder-unittest.cc",
+ "wasm/control-transfer-unittest.cc",
+ "wasm/decoder-unittest.cc",
+ "wasm/encoder-unittest.cc",
+ "wasm/leb-helper-unittest.cc",
+ "wasm/loop-assignment-analysis-unittest.cc",
+ "wasm/module-decoder-unittest.cc",
+ "wasm/switch-logic-unittest.cc",
+ "wasm/wasm-macro-gen-unittest.cc",
+ ]
+
+ if (v8_target_cpu == "arm") {
+ sources += [ "compiler/arm/instruction-selector-arm-unittest.cc" ]
+ } else if (v8_target_cpu == "arm64") {
+ sources += [ "compiler/arm64/instruction-selector-arm64-unittest.cc" ]
+ } else if (v8_target_cpu == "x86") {
+ sources += [ "compiler/ia32/instruction-selector-ia32-unittest.cc" ]
+ } else if (v8_target_cpu == "mips" || v8_target_cpu == "mipsel") {
+ sources += [ "compiler/mips/instruction-selector-mips-unittest.cc" ]
+ } else if (v8_target_cpu == "mips64" || v8_target_cpu == "mips64el") {
+ sources += [ "compiler/mips64/instruction-selector-mips64-unittest.cc" ]
+ } else if (v8_target_cpu == "x64") {
+ sources += [ "compiler/x64/instruction-selector-x64-unittest.cc" ]
+ } else if (v8_target_cpu == "ppc" || v8_target_cpu == "ppc64") {
+ sources += [ "compiler/ppc/instruction-selector-ppc-unittest.cc" ]
+ } else if (v8_target_cpu == "s390" || v8_target_cpu == "s390x") {
+ sources += [ "compiler/s390/instruction-selector-s390-unittest.cc" ]
+ }
+
+ configs = [
+ "../..:external_config",
+ "../..:internal_config_base",
+ ]
+
+ # TODO(machenbach): Translate from gyp.
+ #['OS=="aix"', {
+ # 'ldflags': [ '-Wl,-bbigtoc' ],
+ #}],
+
+ deps = [
+ "../..:v8_libplatform",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ "//testing/gmock",
+ "//testing/gtest",
+ ]
+
+ if (is_component_build) {
+ # compiler-unittests can't be built against a shared library, so we
+ # need to depend on the underlying static target in that case.
+ deps += [ "../..:v8_maybe_snapshot" ]
+ } else {
+ deps += [ "../..:v8" ]
+ }
+
+ if (is_win) {
+ # This warning is benignly triggered by the U16 and U32 macros in
+ # bytecode-utils.h.
+ # C4309: 'static_cast': truncation of constant value
+ cflags = [ "/wd4309" ]
+
+ # Suppress warnings about importing locally defined symbols.
+ if (is_component_build) {
+ ldflags = [
+ "/ignore:4049",
+ "/ignore:4217",
+ ]
+ }
+ }
+}