2014-05-05 11:06:26 +00:00
|
|
|
# Copyright 2014 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.
|
|
|
|
|
2015-03-12 15:39:41 +00:00
|
|
|
import("//build/config/android/config.gni")
|
|
|
|
import("//build/config/arm.gni")
|
|
|
|
import("//build/config/mips.gni")
|
2015-09-07 15:22:42 +00:00
|
|
|
import("//build/config/sanitizers/sanitizers.gni")
|
2015-03-12 15:39:41 +00:00
|
|
|
|
2014-12-05 17:22:40 +00:00
|
|
|
# Because standalone V8 builds are not supported, assume this is part of a
|
|
|
|
# Chromium build.
|
|
|
|
import("//build/module_args/v8.gni")
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
# TODO(jochen): These will need to be user-settable to support standalone V8
|
|
|
|
# builds.
|
2014-05-06 15:01:24 +00:00
|
|
|
v8_deprecation_warnings = false
|
|
|
|
v8_enable_disassembler = false
|
|
|
|
v8_enable_gdbjit = false
|
|
|
|
v8_enable_handle_zapping = true
|
2014-05-05 11:06:26 +00:00
|
|
|
v8_enable_i18n_support = true
|
2014-05-06 15:01:24 +00:00
|
|
|
v8_enable_verify_heap = false
|
|
|
|
v8_interpreted_regexp = false
|
|
|
|
v8_object_print = false
|
2014-05-26 07:29:39 +00:00
|
|
|
v8_postmortem_support = false
|
2015-01-08 10:50:03 +00:00
|
|
|
v8_use_snapshot = true
|
2014-06-03 06:50:46 +00:00
|
|
|
v8_random_seed = "314159265"
|
2015-01-20 11:31:44 +00:00
|
|
|
v8_toolset_for_d8 = "host"
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2015-09-01 23:05:20 +00:00
|
|
|
if (is_msan) {
|
|
|
|
# Running the V8-generated code on an ARM simulator is a powerful hack that
|
|
|
|
# allows the tool to see the memory accesses from JITted code. Without this
|
|
|
|
# flag, JS code causes false positive reports from MSan.
|
|
|
|
v8_target_arch = "arm64"
|
|
|
|
} else {
|
|
|
|
v8_target_arch = target_cpu
|
|
|
|
}
|
|
|
|
|
2015-03-11 21:55:41 +00:00
|
|
|
# The snapshot needs to be compiled for the host, but compiled with
|
|
|
|
# a toolchain that matches the bit-width of the target.
|
|
|
|
#
|
2015-03-12 15:39:41 +00:00
|
|
|
# TODO(GYP): For now we only support 32-bit little-endian target builds from an
|
|
|
|
# x64 Linux host. Eventually we need to support all of the host/target
|
|
|
|
# configurations v8 runs on.
|
2015-04-01 01:44:22 +00:00
|
|
|
if (host_cpu == "x64" && host_os == "linux") {
|
|
|
|
if (target_cpu == "arm" || target_cpu == "mipsel" || target_cpu == "x86") {
|
|
|
|
snapshot_toolchain = "//build/toolchain/linux:clang_x86"
|
|
|
|
} else if (target_cpu == "x64") {
|
|
|
|
snapshot_toolchain = "//build/toolchain/linux:clang_x64"
|
|
|
|
} else {
|
|
|
|
assert(false, "Need environment for this arch")
|
|
|
|
}
|
2015-03-11 21:55:41 +00:00
|
|
|
} else {
|
|
|
|
snapshot_toolchain = default_toolchain
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
###############################################################################
|
|
|
|
# Configurations
|
|
|
|
#
|
|
|
|
config("internal_config") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2014-06-03 08:12:43 +00:00
|
|
|
include_dirs = [ "." ]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2015-06-09 08:36:09 +00:00
|
|
|
if (is_component_build) {
|
2014-05-05 11:06:26 +00:00
|
|
|
defines = [
|
2014-06-05 08:45:24 +00:00
|
|
|
"V8_SHARED",
|
2014-05-05 11:06:26 +00:00
|
|
|
"BUILDING_V8_SHARED",
|
2014-06-05 08:45:24 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-03 08:50:52 +00:00
|
|
|
config("internal_config_base") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-07-03 08:50:52 +00:00
|
|
|
|
|
|
|
include_dirs = [ "." ]
|
|
|
|
}
|
|
|
|
|
2014-06-05 08:45:24 +00:00
|
|
|
# This config should only be applied to code using V8 and not any V8 code
|
|
|
|
# itself.
|
|
|
|
config("external_config") {
|
|
|
|
if (is_component_build) {
|
|
|
|
defines = [
|
2014-05-05 11:06:26 +00:00
|
|
|
"V8_SHARED",
|
2014-06-05 08:45:24 +00:00
|
|
|
"USING_V8_SHARED",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
}
|
2014-06-05 08:45:24 +00:00
|
|
|
include_dirs = [ "include" ]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2014-05-06 15:01:24 +00:00
|
|
|
config("features") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-06 15:01:24 +00:00
|
|
|
|
|
|
|
defines = []
|
|
|
|
|
|
|
|
if (v8_enable_disassembler == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_DISASSEMBLER" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_enable_gdbjit == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_object_print == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "OBJECT_PRINT" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_enable_verify_heap == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "VERIFY_HEAP" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_interpreted_regexp == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_INTERPRETED_REGEXP" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_deprecation_warnings == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_DEPRECATION_WARNINGS" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_enable_i18n_support == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_I18N_SUPPORT" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
if (v8_enable_handle_zapping == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_HANDLE_ZAPPING" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2014-06-23 13:52:17 +00:00
|
|
|
if (v8_use_external_startup_data == true) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
|
2014-06-23 13:52:17 +00:00
|
|
|
}
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
|
|
|
|
2014-05-26 07:29:39 +00:00
|
|
|
config("toolchain") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-26 07:29:39 +00:00
|
|
|
|
|
|
|
defines = []
|
|
|
|
cflags = []
|
|
|
|
|
2015-03-17 23:13:00 +00:00
|
|
|
# TODO(jochen): Add support for arm subarchs, mips, mipsel, mips64el.
|
2015-01-20 14:33:58 +00:00
|
|
|
|
|
|
|
if (v8_target_arch == "arm") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_ARM" ]
|
2015-03-12 15:39:41 +00:00
|
|
|
if (current_cpu == "arm") {
|
|
|
|
if (arm_version == 7) {
|
|
|
|
defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ]
|
|
|
|
}
|
|
|
|
if (arm_fpu == "vfpv3-d16") {
|
|
|
|
defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ]
|
2015-03-16 09:54:46 +00:00
|
|
|
} else if (arm_fpu == "vfpv3") {
|
2015-03-12 15:39:41 +00:00
|
|
|
defines += [
|
|
|
|
"CAN_USE_VFP3_INSTRUCTIONS",
|
|
|
|
"CAN_USE_VFP32DREGS",
|
|
|
|
]
|
2015-03-16 09:54:46 +00:00
|
|
|
} else if (arm_fpu == "neon") {
|
2015-03-12 15:39:41 +00:00
|
|
|
defines += [
|
|
|
|
"CAN_USE_VFP3_INSTRUCTIONS",
|
|
|
|
"CAN_USE_VFP32DREGS",
|
|
|
|
"CAN_USE_NEON",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
} else {
|
2015-03-16 09:54:46 +00:00
|
|
|
# These defines ares used for the ARM simulator.
|
2015-01-20 14:33:58 +00:00
|
|
|
defines += [
|
2015-03-12 15:39:41 +00:00
|
|
|
"CAN_USE_ARMV7_INSTRUCTIONS",
|
2015-01-20 14:33:58 +00:00
|
|
|
"CAN_USE_VFP3_INSTRUCTIONS",
|
|
|
|
"CAN_USE_VFP32DREGS",
|
2015-03-12 15:39:41 +00:00
|
|
|
"USE_EABI_HARDFLOAT=0",
|
2015-01-20 14:33:58 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
# TODO(jochen): Add support for arm_test_noprobe.
|
|
|
|
}
|
2014-05-26 07:29:39 +00:00
|
|
|
if (v8_target_arch == "arm64") {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_TARGET_ARCH_ARM64" ]
|
2014-05-26 07:29:39 +00:00
|
|
|
}
|
2015-03-17 23:13:00 +00:00
|
|
|
if (v8_target_arch == "mipsel") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_MIPS" ]
|
|
|
|
}
|
|
|
|
if (v8_target_arch == "mips64el") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_MIPS64" ]
|
|
|
|
}
|
2014-05-26 07:29:39 +00:00
|
|
|
if (v8_target_arch == "x86") {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_TARGET_ARCH_IA32" ]
|
2014-05-26 07:29:39 +00:00
|
|
|
}
|
|
|
|
if (v8_target_arch == "x64") {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_TARGET_ARCH_X64" ]
|
2014-05-26 07:29:39 +00:00
|
|
|
}
|
|
|
|
if (is_win) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "WIN32" ]
|
2014-05-26 07:29:39 +00:00
|
|
|
# TODO(jochen): Support v8_enable_prof.
|
|
|
|
}
|
|
|
|
|
|
|
|
# TODO(jochen): Add support for compiling with simulators.
|
|
|
|
|
|
|
|
if (is_debug) {
|
|
|
|
# TODO(jochen): Add support for different debug optimization levels.
|
|
|
|
defines += [
|
|
|
|
"ENABLE_DISASSEMBLER",
|
|
|
|
"V8_ENABLE_CHECKS",
|
|
|
|
"OBJECT_PRINT",
|
|
|
|
"VERIFY_HEAP",
|
|
|
|
"DEBUG",
|
|
|
|
"OPTIMIZED_DEBUG",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
###############################################################################
|
|
|
|
# Actions
|
|
|
|
#
|
|
|
|
|
|
|
|
action("js2c") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-06 15:01:24 +00:00
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
# The script depends on this other script, this rule causes a rebuild if it
|
|
|
|
# changes.
|
2015-02-16 12:09:30 +00:00
|
|
|
inputs = [ "tools/jsmin.py" ]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
|
|
|
sources = [
|
2015-04-16 07:01:20 +00:00
|
|
|
"src/macros.py",
|
2015-05-15 15:09:46 +00:00
|
|
|
"src/messages.h",
|
2015-05-21 06:15:33 +00:00
|
|
|
"src/prologue.js",
|
2015-08-18 11:15:34 +00:00
|
|
|
"src/runtime.js",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/v8natives.js",
|
2014-08-09 10:02:42 +00:00
|
|
|
"src/symbol.js",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/array.js",
|
|
|
|
"src/string.js",
|
|
|
|
"src/uri.js",
|
|
|
|
"src/math.js",
|
2015-03-09 13:25:37 +00:00
|
|
|
"src/third_party/fdlibm/fdlibm.js",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/date.js",
|
|
|
|
"src/regexp.js",
|
|
|
|
"src/arraybuffer.js",
|
|
|
|
"src/typedarray.js",
|
2015-05-15 15:09:46 +00:00
|
|
|
"src/iterator-prototype.js",
|
2014-09-16 12:30:39 +00:00
|
|
|
"src/generator.js",
|
2014-08-19 08:29:48 +00:00
|
|
|
"src/object-observe.js",
|
2014-08-05 19:37:32 +00:00
|
|
|
"src/collection.js",
|
2014-08-19 08:29:48 +00:00
|
|
|
"src/weak-collection.js",
|
2014-08-05 19:37:32 +00:00
|
|
|
"src/collection-iterator.js",
|
2014-06-03 06:50:46 +00:00
|
|
|
"src/promise.js",
|
2014-08-19 08:29:48 +00:00
|
|
|
"src/messages.js",
|
|
|
|
"src/json.js",
|
2014-08-07 16:42:14 +00:00
|
|
|
"src/array-iterator.js",
|
|
|
|
"src/string-iterator.js",
|
2015-03-23 07:01:37 +00:00
|
|
|
"src/templates.js",
|
2015-07-01 23:10:13 +00:00
|
|
|
"src/harmony-array.js",
|
|
|
|
"src/harmony-typedarray.js",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/mirrors.js",
|
2015-08-12 14:22:07 +00:00
|
|
|
"src/debug/debug.js",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/liveedit.js",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/libraries.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
if (v8_enable_i18n_support) {
|
|
|
|
sources += [ "src/i18n.js" ]
|
|
|
|
}
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
args = [
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
|
|
|
|
"CORE",
|
|
|
|
] + rebase_path(sources, root_build_dir)
|
2014-06-23 13:52:17 +00:00
|
|
|
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
outputs += [ "$target_gen_dir/libraries.bin" ]
|
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$target_gen_dir/libraries.bin", root_build_dir),
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
}
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2015-07-13 09:45:43 +00:00
|
|
|
action("js2c_code_stubs") {
|
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
|
|
|
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
# The script depends on this other script, this rule causes a rebuild if it
|
|
|
|
# changes.
|
|
|
|
inputs = [ "tools/jsmin.py" ]
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
"src/macros.py",
|
|
|
|
"src/messages.h",
|
|
|
|
"src/code-stubs.js"
|
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/code-stub-libraries.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = [
|
|
|
|
rebase_path("$target_gen_dir/code-stub-libraries.cc",
|
|
|
|
root_build_dir),
|
|
|
|
"CODE_STUB",
|
|
|
|
] + rebase_path(sources, root_build_dir)
|
|
|
|
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
outputs += [ "$target_gen_dir/libraries_code_stub.bin" ]
|
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
|
|
|
rebase_path("$target_gen_dir/libraries_code_stub.bin", root_build_dir),
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
action("js2c_experimental") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-06 15:01:24 +00:00
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
# The script depends on this other script, this rule causes a rebuild if it
|
|
|
|
# changes.
|
2015-02-16 12:09:30 +00:00
|
|
|
inputs = [ "tools/jsmin.py" ]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
|
|
|
sources = [
|
|
|
|
"src/macros.py",
|
2015-05-15 15:09:46 +00:00
|
|
|
"src/messages.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/proxy.js",
|
|
|
|
"src/generator.js",
|
2015-06-03 17:58:29 +00:00
|
|
|
"src/harmony-atomics.js",
|
2014-12-10 08:58:04 +00:00
|
|
|
"src/harmony-array-includes.js",
|
2015-07-08 21:49:44 +00:00
|
|
|
"src/harmony-concat-spreadable.js",
|
2014-11-14 18:53:41 +00:00
|
|
|
"src/harmony-tostring.js",
|
2015-01-08 13:21:52 +00:00
|
|
|
"src/harmony-regexp.js",
|
2015-04-09 19:37:14 +00:00
|
|
|
"src/harmony-reflect.js",
|
2015-05-06 16:17:40 +00:00
|
|
|
"src/harmony-spread.js",
|
2015-05-22 13:43:38 +00:00
|
|
|
"src/harmony-object.js",
|
2015-08-04 20:52:42 +00:00
|
|
|
"src/harmony-object-observe.js",
|
2015-07-16 19:43:21 +00:00
|
|
|
"src/harmony-sharedarraybuffer.js",
|
|
|
|
"src/harmony-simd.js"
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/experimental-libraries.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
args = [
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$target_gen_dir/experimental-libraries.cc",
|
|
|
|
root_build_dir),
|
|
|
|
"EXPERIMENTAL",
|
|
|
|
] + rebase_path(sources, root_build_dir)
|
2014-06-23 13:52:17 +00:00
|
|
|
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
|
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir),
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-05-08 08:44:47 +00:00
|
|
|
action("js2c_extras") {
|
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
|
|
|
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
# The script depends on this other script, this rule causes a rebuild if it
|
|
|
|
# changes.
|
|
|
|
inputs = [ "tools/jsmin.py" ]
|
|
|
|
|
|
|
|
sources = v8_extra_library_files
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/extras-libraries.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = [
|
|
|
|
rebase_path("$target_gen_dir/extras-libraries.cc",
|
|
|
|
root_build_dir),
|
|
|
|
"EXTRAS",
|
|
|
|
] + rebase_path(sources, root_build_dir)
|
|
|
|
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
outputs += [ "$target_gen_dir/libraries_extras.bin" ]
|
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
|
|
|
rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir),
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-08-20 00:01:07 +00:00
|
|
|
action("js2c_experimental_extras") {
|
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
|
|
|
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
# The script depends on this other script, this rule causes a rebuild if it
|
|
|
|
# changes.
|
|
|
|
inputs = [ "tools/jsmin.py" ]
|
|
|
|
|
|
|
|
sources = v8_experimental_extra_library_files
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/experimental-extras-libraries.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = [
|
|
|
|
rebase_path("$target_gen_dir/experimental-extras-libraries.cc",
|
|
|
|
root_build_dir),
|
|
|
|
"EXPERIMENTAL_EXTRAS",
|
|
|
|
] + rebase_path(sources, root_build_dir)
|
|
|
|
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ]
|
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
|
|
|
rebase_path("$target_gen_dir/libraries_experimental_extras.bin", root_build_dir),
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-01-20 11:31:44 +00:00
|
|
|
action("d8_js2c") {
|
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
|
|
|
|
|
|
script = "tools/js2c.py"
|
|
|
|
|
|
|
|
inputs = [
|
|
|
|
"src/d8.js",
|
|
|
|
"src/macros.py",
|
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/d8-js.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
|
|
|
|
rebase_path(inputs, root_build_dir)
|
|
|
|
}
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
action("natives_blob") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-06-23 13:52:17 +00:00
|
|
|
|
|
|
|
deps = [
|
|
|
|
":js2c",
|
2015-07-13 09:45:43 +00:00
|
|
|
":js2c_code_stubs",
|
2015-01-08 13:21:52 +00:00
|
|
|
":js2c_experimental",
|
2015-05-08 08:44:47 +00:00
|
|
|
":js2c_extras",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
"$target_gen_dir/libraries.bin",
|
2015-07-13 09:45:43 +00:00
|
|
|
"$target_gen_dir/libraries_code_stub.bin",
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/libraries_experimental.bin",
|
2015-05-08 08:44:47 +00:00
|
|
|
"$target_gen_dir/libraries_extras.bin",
|
2015-08-20 00:01:07 +00:00
|
|
|
"$target_gen_dir/libraries_experimental_extras.bin",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
"$root_out_dir/natives_blob.bin",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
script = "tools/concatenate-files.py"
|
|
|
|
|
|
|
|
args = rebase_path(sources + outputs, root_build_dir)
|
|
|
|
}
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
action("postmortem-metadata") {
|
2015-05-05 21:16:12 +00:00
|
|
|
# Only targets in this file and the top-level visibility target can
|
|
|
|
# depend on this.
|
|
|
|
visibility = [
|
|
|
|
":*",
|
|
|
|
"//:gn_visibility",
|
|
|
|
]
|
2014-05-06 15:01:24 +00:00
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
script = "tools/gen-postmortem-metadata.py"
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
"src/objects.h",
|
|
|
|
"src/objects-inl.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/debug-support.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
2015-01-08 13:21:52 +00:00
|
|
|
args = rebase_path(outputs, root_build_dir) +
|
|
|
|
rebase_path(sources, root_build_dir)
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2014-06-03 06:50:46 +00:00
|
|
|
action("run_mksnapshot") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-06-03 06:50:46 +00:00
|
|
|
|
2015-01-08 13:21:52 +00:00
|
|
|
deps = [
|
2015-03-11 21:55:41 +00:00
|
|
|
":mksnapshot($snapshot_toolchain)",
|
2015-01-08 13:21:52 +00:00
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
|
|
|
|
script = "tools/run.py"
|
|
|
|
|
|
|
|
outputs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/snapshot.cc",
|
2014-06-03 06:50:46 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
args = [
|
2015-03-11 21:55:41 +00:00
|
|
|
"./" + rebase_path(get_label_info(":mksnapshot($snapshot_toolchain)",
|
2014-06-03 06:50:46 +00:00
|
|
|
"root_out_dir") + "/mksnapshot",
|
|
|
|
root_build_dir),
|
|
|
|
"--log-snapshot-positions",
|
2015-01-08 13:21:52 +00:00
|
|
|
"--logfile",
|
|
|
|
rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
|
2015-09-08 15:24:45 +00:00
|
|
|
"--startup_src",
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$target_gen_dir/snapshot.cc", root_build_dir),
|
2014-06-03 06:50:46 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
if (v8_random_seed != "0") {
|
2015-01-08 13:21:52 +00:00
|
|
|
args += [
|
|
|
|
"--random-seed",
|
|
|
|
v8_random_seed,
|
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
}
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
if (v8_use_external_startup_data) {
|
2014-12-15 17:00:58 +00:00
|
|
|
outputs += [ "$root_out_dir/snapshot_blob.bin" ]
|
2014-06-23 13:52:17 +00:00
|
|
|
args += [
|
|
|
|
"--startup_blob",
|
2015-01-08 13:21:52 +00:00
|
|
|
rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir),
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
}
|
2014-06-03 06:50:46 +00:00
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
###############################################################################
|
|
|
|
# Source Sets (aka static libraries)
|
|
|
|
#
|
|
|
|
|
|
|
|
source_set("v8_nosnapshot") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-05 11:06:26 +00:00
|
|
|
|
|
|
|
deps = [
|
|
|
|
":js2c",
|
2015-07-13 09:45:43 +00:00
|
|
|
":js2c_code_stubs",
|
2014-05-05 11:06:26 +00:00
|
|
|
":js2c_experimental",
|
2015-05-08 08:44:47 +00:00
|
|
|
":js2c_extras",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2014-05-05 11:06:26 +00:00
|
|
|
":v8_base",
|
|
|
|
]
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
"$target_gen_dir/libraries.cc",
|
2015-07-13 09:45:43 +00:00
|
|
|
"$target_gen_dir/code-stub-libraries.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"$target_gen_dir/experimental-libraries.cc",
|
2015-05-08 08:44:47 +00:00
|
|
|
"$target_gen_dir/extras-libraries.cc",
|
2015-08-20 00:01:07 +00:00
|
|
|
"$target_gen_dir/experimental-extras-libraries.cc",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/snapshot-empty.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
2014-05-19 09:58:46 +00:00
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2014-06-03 06:50:46 +00:00
|
|
|
source_set("v8_snapshot") {
|
2015-05-05 21:16:12 +00:00
|
|
|
# Only targets in this file and the top-level visibility target can
|
|
|
|
# depend on this.
|
|
|
|
visibility = [
|
|
|
|
":*",
|
|
|
|
"//:gn_visibility",
|
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
|
|
|
|
deps = [
|
|
|
|
":js2c",
|
2015-07-13 09:45:43 +00:00
|
|
|
":js2c_code_stubs",
|
2014-06-03 06:50:46 +00:00
|
|
|
":js2c_experimental",
|
2015-05-08 08:44:47 +00:00
|
|
|
":js2c_extras",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2014-06-03 06:50:46 +00:00
|
|
|
":v8_base",
|
|
|
|
]
|
2015-05-19 11:36:37 +00:00
|
|
|
public_deps = [
|
|
|
|
# This should be public so downstream targets can declare the snapshot
|
|
|
|
# output file as their inputs.
|
|
|
|
":run_mksnapshot",
|
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
|
|
|
|
sources = [
|
|
|
|
"$target_gen_dir/libraries.cc",
|
2015-07-13 09:45:43 +00:00
|
|
|
"$target_gen_dir/code-stub-libraries.cc",
|
2014-06-03 06:50:46 +00:00
|
|
|
"$target_gen_dir/experimental-libraries.cc",
|
2015-05-08 08:44:47 +00:00
|
|
|
"$target_gen_dir/extras-libraries.cc",
|
2015-08-20 00:01:07 +00:00
|
|
|
"$target_gen_dir/experimental-extras-libraries.cc",
|
2014-06-03 06:50:46 +00:00
|
|
|
"$target_gen_dir/snapshot.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
}
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
source_set("v8_external_snapshot") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-06-23 13:52:17 +00:00
|
|
|
|
|
|
|
deps = [
|
|
|
|
":js2c",
|
2015-07-13 09:45:43 +00:00
|
|
|
":js2c_code_stubs",
|
2014-06-23 13:52:17 +00:00
|
|
|
":js2c_experimental",
|
2015-05-08 08:44:47 +00:00
|
|
|
":js2c_extras",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2014-06-23 13:52:17 +00:00
|
|
|
":v8_base",
|
2015-05-19 11:36:37 +00:00
|
|
|
]
|
|
|
|
public_deps = [
|
2014-06-23 13:52:17 +00:00
|
|
|
":natives_blob",
|
2015-05-19 11:36:37 +00:00
|
|
|
":run_mksnapshot",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
sources = [
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/natives-external.cc",
|
|
|
|
"src/snapshot/snapshot-external.cc",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-06-23 13:52:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
source_set("v8_base") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-05 11:06:26 +00:00
|
|
|
|
|
|
|
sources = [
|
2015-06-27 19:39:42 +00:00
|
|
|
"include/v8-debug.h",
|
|
|
|
"include/v8-platform.h",
|
|
|
|
"include/v8-profiler.h",
|
|
|
|
"include/v8-testing.h",
|
|
|
|
"include/v8-util.h",
|
|
|
|
"include/v8-version.h",
|
|
|
|
"include/v8.h",
|
|
|
|
"include/v8config.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/accessors.cc",
|
|
|
|
"src/accessors.h",
|
|
|
|
"src/allocation.cc",
|
|
|
|
"src/allocation.h",
|
|
|
|
"src/allocation-site-scopes.cc",
|
|
|
|
"src/allocation-site-scopes.h",
|
|
|
|
"src/allocation-tracker.cc",
|
|
|
|
"src/allocation-tracker.h",
|
|
|
|
"src/api.cc",
|
|
|
|
"src/api.h",
|
2015-02-04 13:01:34 +00:00
|
|
|
"src/api-natives.cc",
|
|
|
|
"src/api-natives.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arguments.cc",
|
|
|
|
"src/arguments.h",
|
|
|
|
"src/assembler.cc",
|
|
|
|
"src/assembler.h",
|
|
|
|
"src/assert-scope.h",
|
|
|
|
"src/assert-scope.cc",
|
2015-08-24 17:16:38 +00:00
|
|
|
"src/ast-expression-visitor.cc",
|
|
|
|
"src/ast-expression-visitor.h",
|
2015-06-26 21:39:43 +00:00
|
|
|
"src/ast-literal-reindexer.cc",
|
|
|
|
"src/ast-literal-reindexer.h",
|
2014-10-21 12:16:37 +00:00
|
|
|
"src/ast-numbering.cc",
|
|
|
|
"src/ast-numbering.h",
|
2014-06-24 14:03:24 +00:00
|
|
|
"src/ast-value-factory.cc",
|
|
|
|
"src/ast-value-factory.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/ast.cc",
|
|
|
|
"src/ast.h",
|
2015-09-03 12:54:27 +00:00
|
|
|
"src/atomic-utils.h",
|
2014-09-12 09:12:08 +00:00
|
|
|
"src/background-parsing-task.cc",
|
|
|
|
"src/background-parsing-task.h",
|
2014-09-24 07:08:27 +00:00
|
|
|
"src/bailout-reason.cc",
|
|
|
|
"src/bailout-reason.h",
|
2014-09-29 07:29:14 +00:00
|
|
|
"src/basic-block-profiler.cc",
|
|
|
|
"src/basic-block-profiler.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/bignum-dtoa.cc",
|
|
|
|
"src/bignum-dtoa.h",
|
|
|
|
"src/bignum.cc",
|
|
|
|
"src/bignum.h",
|
2014-10-31 10:44:04 +00:00
|
|
|
"src/bit-vector.cc",
|
|
|
|
"src/bit-vector.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/bootstrapper.cc",
|
|
|
|
"src/bootstrapper.h",
|
|
|
|
"src/builtins.cc",
|
|
|
|
"src/builtins.h",
|
2015-07-20 15:03:51 +00:00
|
|
|
"src/cancelable-task.cc",
|
|
|
|
"src/cancelable-task.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/cached-powers.cc",
|
|
|
|
"src/cached-powers.h",
|
2014-10-10 07:13:46 +00:00
|
|
|
"src/char-predicates.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/char-predicates-inl.h",
|
|
|
|
"src/char-predicates.h",
|
|
|
|
"src/checks.h",
|
|
|
|
"src/circular-queue-inl.h",
|
|
|
|
"src/circular-queue.h",
|
2014-09-11 13:18:58 +00:00
|
|
|
"src/code-factory.cc",
|
|
|
|
"src/code-factory.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/code-stubs.cc",
|
|
|
|
"src/code-stubs.h",
|
|
|
|
"src/code-stubs-hydrogen.cc",
|
|
|
|
"src/codegen.cc",
|
|
|
|
"src/codegen.h",
|
|
|
|
"src/compilation-cache.cc",
|
|
|
|
"src/compilation-cache.h",
|
2015-04-20 15:22:02 +00:00
|
|
|
"src/compilation-dependencies.cc",
|
|
|
|
"src/compilation-dependencies.h",
|
2014-10-23 09:14:35 +00:00
|
|
|
"src/compilation-statistics.cc",
|
|
|
|
"src/compilation-statistics.h",
|
2014-09-02 11:36:55 +00:00
|
|
|
"src/compiler/access-builder.cc",
|
2014-08-28 14:35:11 +00:00
|
|
|
"src/compiler/access-builder.h",
|
2015-01-26 18:35:04 +00:00
|
|
|
"src/compiler/all-nodes.cc",
|
|
|
|
"src/compiler/all-nodes.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/ast-graph-builder.cc",
|
|
|
|
"src/compiler/ast-graph-builder.h",
|
2014-10-29 07:34:12 +00:00
|
|
|
"src/compiler/ast-loop-assignment-analyzer.cc",
|
|
|
|
"src/compiler/ast-loop-assignment-analyzer.h",
|
2014-09-29 07:29:14 +00:00
|
|
|
"src/compiler/basic-block-instrumentor.cc",
|
|
|
|
"src/compiler/basic-block-instrumentor.h",
|
2014-08-27 10:55:44 +00:00
|
|
|
"src/compiler/change-lowering.cc",
|
|
|
|
"src/compiler/change-lowering.h",
|
2015-07-30 12:42:00 +00:00
|
|
|
"src/compiler/c-linkage.cc",
|
2015-06-29 15:56:26 +00:00
|
|
|
"src/compiler/coalesced-live-ranges.cc",
|
|
|
|
"src/compiler/coalesced-live-ranges.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/code-generator-impl.h",
|
|
|
|
"src/compiler/code-generator.cc",
|
|
|
|
"src/compiler/code-generator.h",
|
2014-12-23 14:12:04 +00:00
|
|
|
"src/compiler/common-node-cache.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/common-node-cache.h",
|
2014-12-22 13:06:34 +00:00
|
|
|
"src/compiler/common-operator-reducer.cc",
|
|
|
|
"src/compiler/common-operator-reducer.h",
|
2014-09-12 11:59:26 +00:00
|
|
|
"src/compiler/common-operator.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/common-operator.h",
|
|
|
|
"src/compiler/control-builders.cc",
|
|
|
|
"src/compiler/control-builders.h",
|
2015-04-16 06:04:43 +00:00
|
|
|
"src/compiler/control-equivalence.cc",
|
2014-12-02 15:56:22 +00:00
|
|
|
"src/compiler/control-equivalence.h",
|
2015-02-17 13:29:31 +00:00
|
|
|
"src/compiler/control-flow-optimizer.cc",
|
|
|
|
"src/compiler/control-flow-optimizer.h",
|
[turbofan] Proper dead code elimination as regular reducer.
The three different concerns that the ControlReducer used to deal with
are now properly separated into
a.) DeadCodeElimination, which is a regular AdvancedReducer, that
propagates Dead via control edges,
b.) CommonOperatorReducer, which does strength reduction on common
operators (i.e. Branch, Phi, and friends), and
c.) GraphTrimming, which removes dead->live edges from the graph.
This will make it possible to run the DeadCodeElimination together with
other passes that actually introduce Dead nodes, i.e. typed lowering;
and it opens the door for general inlining without two stage fix point
iteration.
To make the DeadCodeElimination easier and more uniform, we basically
reverted the introduction of DeadValue and DeadEffect, and changed the
Dead operator to produce control, value and effect. Note however that
this is not a requirement, but merely a way to make dead propagation
easier and more uniform. We could always go back and decide to have
different Dead operators if some other change requires that.
Note that there are several additional opportunities for cleanup now,
i.e. OSR deconstruction could be a regular reducer now, and we don't
need to use TheHole as dead value marker in the GraphReducer. And we can
actually run the dead code elimination together with the other passes
instead of using separate passes over the graph. We will do this in
follow up CLs.
R=jarin@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/1193833002
Cr-Commit-Position: refs/heads/master@{#29146}
2015-06-19 12:07:17 +00:00
|
|
|
"src/compiler/dead-code-elimination.cc",
|
|
|
|
"src/compiler/dead-code-elimination.h",
|
2014-11-04 14:37:22 +00:00
|
|
|
"src/compiler/diamond.h",
|
[turbofan] Unify referencing of stack slots
Previously, it was not possible to specify StackSlotOperands for all
slots in both the caller and callee stacks. Specifically, the region
of the callee's stack including the saved return address, frame
pointer, function pointer and context pointer could not be addressed
by the register allocator/gap resolver.
In preparation for better tail call support, which will use the gap
resolver to reconcile outgoing parameters, this change makes it
possible to address all slots on the stack, because slots in the
previously inaccessible dead zone may become parameter slots for
outgoing tail calls. All caller stack slots are accessible as they
were before, with slot -1 corresponding to the last stack
parameter. Stack slot indices >= 0 access the callee stack, with slot
0 corresponding to the callee's saved return address, 1 corresponding
to the saved frame pointer, 2 corresponding to the current function
context, 3 corresponding to the frame marker/JSFunction, and slots 4
and above corresponding to spill slots.
The following changes were specifically needed:
* Frame has been changed to explicitly manage three areas of the
callee frame, the fixed header, the spill slot area, and the
callee-saved register area.
* Conversions from stack slot indices to fp offsets all now go through
a common bottleneck: OptimizedFrame::StackSlotOffsetRelativeToFp
* The generation of deoptimization translation tables has been changed
to support the new stack slot indexing scheme. Crankshaft, which
doesn't support the new slot numbering in its register allocator,
must adapt the indexes when creating translation tables.
* Callee-saved parameters are now kept below spill slots, not above,
to support saving only the optimal set of used registers, which is
only known after register allocation is finished and spill slots
have been allocated.
Review URL: https://codereview.chromium.org/1261923007
Cr-Commit-Position: refs/heads/master@{#30224}
2015-08-18 14:47:56 +00:00
|
|
|
"src/compiler/frame.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/frame.h",
|
2015-04-29 05:54:41 +00:00
|
|
|
"src/compiler/frame-elider.cc",
|
|
|
|
"src/compiler/frame-elider.h",
|
2015-05-11 08:03:03 +00:00
|
|
|
"src/compiler/frame-states.cc",
|
|
|
|
"src/compiler/frame-states.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/gap-resolver.cc",
|
|
|
|
"src/compiler/gap-resolver.h",
|
|
|
|
"src/compiler/graph-reducer.cc",
|
|
|
|
"src/compiler/graph-reducer.h",
|
|
|
|
"src/compiler/graph-replay.cc",
|
|
|
|
"src/compiler/graph-replay.h",
|
2015-06-17 10:56:27 +00:00
|
|
|
"src/compiler/graph-trimmer.cc",
|
|
|
|
"src/compiler/graph-trimmer.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/graph-visualizer.cc",
|
|
|
|
"src/compiler/graph-visualizer.h",
|
|
|
|
"src/compiler/graph.cc",
|
|
|
|
"src/compiler/graph.h",
|
2015-06-16 17:10:14 +00:00
|
|
|
"src/compiler/greedy-allocator.cc",
|
|
|
|
"src/compiler/greedy-allocator.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/instruction-codes.h",
|
|
|
|
"src/compiler/instruction-selector-impl.h",
|
|
|
|
"src/compiler/instruction-selector.cc",
|
|
|
|
"src/compiler/instruction-selector.h",
|
|
|
|
"src/compiler/instruction.cc",
|
|
|
|
"src/compiler/instruction.h",
|
2015-07-23 14:21:26 +00:00
|
|
|
"src/compiler/interpreter-assembler.cc",
|
|
|
|
"src/compiler/interpreter-assembler.h",
|
2014-09-19 15:02:58 +00:00
|
|
|
"src/compiler/js-builtin-reducer.cc",
|
|
|
|
"src/compiler/js-builtin-reducer.h",
|
[turbofan]: Add a context relaxation Reducer
In many cases, the context that TurboFan's ASTGraphBuilder or subsequent
reduction operations attaches to nodes does not need to be that exact
context, but rather only needs to be one with the same native context,
because it is used internally only to fetch the native context, e.g. for
creating and throwing exceptions.
This reducer recognizes common cases where the context that is specified
for a node can be relaxed to a canonical, less specific one. This
relaxed context can either be the enclosing function's context or a specific
Module or Script context that is explicitly created within the function.
This optimization is especially important for TurboFan-generated code stubs
which use context specialization and inlining to generate optimal code.
Without context relaxation, many extraneous moves are generated to pass
exactly the right context to internal functions like ToNumber and
AllocateHeapNumber, which only need the native context. By turning context
relaxation on, these moves disappear because all these common internal
context uses are unified to the context passed into the stub function, which
is typically already in the correct context register and remains there for
short stubs. It also eliminates the explicit use of a specialized context
constant in the code stub in these cases, which could cause memory leaks.
Review URL: https://codereview.chromium.org/1244583003
Cr-Commit-Position: refs/heads/master@{#29763}
2015-07-20 17:15:59 +00:00
|
|
|
"src/compiler/js-context-relaxation.cc",
|
|
|
|
"src/compiler/js-context-relaxation.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-context-specialization.cc",
|
|
|
|
"src/compiler/js-context-specialization.h",
|
2015-07-06 11:11:15 +00:00
|
|
|
"src/compiler/js-frame-specialization.cc",
|
|
|
|
"src/compiler/js-frame-specialization.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-generic-lowering.cc",
|
|
|
|
"src/compiler/js-generic-lowering.h",
|
|
|
|
"src/compiler/js-graph.cc",
|
|
|
|
"src/compiler/js-graph.h",
|
2014-08-20 13:05:03 +00:00
|
|
|
"src/compiler/js-inlining.cc",
|
|
|
|
"src/compiler/js-inlining.h",
|
2015-01-26 09:05:47 +00:00
|
|
|
"src/compiler/js-intrinsic-lowering.cc",
|
|
|
|
"src/compiler/js-intrinsic-lowering.h",
|
2014-09-30 10:42:44 +00:00
|
|
|
"src/compiler/js-operator.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-operator.h",
|
2015-03-26 09:38:11 +00:00
|
|
|
"src/compiler/js-type-feedback.cc",
|
|
|
|
"src/compiler/js-type-feedback.h",
|
2015-07-13 06:02:16 +00:00
|
|
|
"src/compiler/js-type-feedback-lowering.cc",
|
|
|
|
"src/compiler/js-type-feedback-lowering.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-typed-lowering.cc",
|
|
|
|
"src/compiler/js-typed-lowering.h",
|
2014-11-26 12:41:46 +00:00
|
|
|
"src/compiler/jump-threading.cc",
|
|
|
|
"src/compiler/jump-threading.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/linkage.cc",
|
|
|
|
"src/compiler/linkage.h",
|
[turbofan] Deferred blocks splintering.
This change encompasses what is necessary to enable stack checks in loops without suffering large regressions.
Primarily, it consists of a new mechanism for dealing with deferred blocks by "splintering", rather than splitting, inside deferred blocks.
My initial change was splitting along deferred block boundaries, but the regression introduced by stackchecks wasn't resolved conclusively. After investigation, it appears that just splitting ranges along cold block boundaries leads to a greater opportunity for moves on the hot path, hence the suboptimal outcome.
The alternative "splinters" ranges rather than splitting them. While splitting creates 2 ranges and links them (parent-child), in contrast, splintering creates a new independent range with no parent-child relation to the original. The original range appears as if it has a liveness hole in the place of the splintered one. All thus obtained ranges are then register allocated with no change to the register allocator.
The splinters (cold blocks) do not conflict with the hot path ranges, by construction. The hot path ones have less pressure to split, because we remove a source of conflicts. After allocation, we merge the splinters back to their original ranges and continue the pipeline. We leverage the previous changes made for deferred blocks (determining where to spill, for example).
Review URL: https://codereview.chromium.org/1305393003
Cr-Commit-Position: refs/heads/master@{#30357}
2015-08-25 14:47:26 +00:00
|
|
|
"src/compiler/live-range-separator.cc",
|
|
|
|
"src/compiler/live-range-separator.h",
|
2015-03-17 09:38:37 +00:00
|
|
|
"src/compiler/liveness-analyzer.cc",
|
|
|
|
"src/compiler/liveness-analyzer.h",
|
2014-12-05 07:59:04 +00:00
|
|
|
"src/compiler/load-elimination.cc",
|
|
|
|
"src/compiler/load-elimination.h",
|
2015-01-20 09:45:02 +00:00
|
|
|
"src/compiler/loop-peeling.cc",
|
2014-12-16 09:36:16 +00:00
|
|
|
"src/compiler/loop-analysis.cc",
|
|
|
|
"src/compiler/loop-analysis.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/machine-operator-reducer.cc",
|
|
|
|
"src/compiler/machine-operator-reducer.h",
|
2014-09-11 10:37:49 +00:00
|
|
|
"src/compiler/machine-operator.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/machine-operator.h",
|
2014-08-20 13:17:59 +00:00
|
|
|
"src/compiler/machine-type.cc",
|
|
|
|
"src/compiler/machine-type.h",
|
2014-11-27 09:19:31 +00:00
|
|
|
"src/compiler/move-optimizer.cc",
|
|
|
|
"src/compiler/move-optimizer.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/node-aux-data.h",
|
|
|
|
"src/compiler/node-cache.cc",
|
|
|
|
"src/compiler/node-cache.h",
|
2015-01-07 14:42:38 +00:00
|
|
|
"src/compiler/node-marker.cc",
|
|
|
|
"src/compiler/node-marker.h",
|
2015-02-24 12:26:16 +00:00
|
|
|
"src/compiler/node-matchers.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/node-matchers.h",
|
2015-01-16 11:04:01 +00:00
|
|
|
"src/compiler/node-properties.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/node-properties.h",
|
|
|
|
"src/compiler/node.cc",
|
|
|
|
"src/compiler/node.h",
|
2014-12-23 19:24:03 +00:00
|
|
|
"src/compiler/opcodes.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/opcodes.h",
|
2014-12-23 12:50:43 +00:00
|
|
|
"src/compiler/operator-properties.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/operator-properties.h",
|
2014-09-02 11:36:55 +00:00
|
|
|
"src/compiler/operator.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/operator.h",
|
2015-01-12 11:39:48 +00:00
|
|
|
"src/compiler/osr.cc",
|
|
|
|
"src/compiler/osr.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/pipeline.cc",
|
|
|
|
"src/compiler/pipeline.h",
|
2014-10-23 09:14:35 +00:00
|
|
|
"src/compiler/pipeline-statistics.cc",
|
|
|
|
"src/compiler/pipeline-statistics.h",
|
2015-07-07 15:02:39 +00:00
|
|
|
"src/compiler/raw-machine-assembler.cc",
|
|
|
|
"src/compiler/raw-machine-assembler.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/register-allocator.cc",
|
|
|
|
"src/compiler/register-allocator.h",
|
2014-11-10 11:28:54 +00:00
|
|
|
"src/compiler/register-allocator-verifier.cc",
|
|
|
|
"src/compiler/register-allocator-verifier.h",
|
2014-11-04 09:21:12 +00:00
|
|
|
"src/compiler/register-configuration.cc",
|
|
|
|
"src/compiler/register-configuration.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/representation-change.h",
|
|
|
|
"src/compiler/schedule.cc",
|
|
|
|
"src/compiler/schedule.h",
|
|
|
|
"src/compiler/scheduler.cc",
|
|
|
|
"src/compiler/scheduler.h",
|
2014-11-03 15:17:08 +00:00
|
|
|
"src/compiler/select-lowering.cc",
|
|
|
|
"src/compiler/select-lowering.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/simplified-lowering.cc",
|
|
|
|
"src/compiler/simplified-lowering.h",
|
2015-06-25 04:47:06 +00:00
|
|
|
"src/compiler/simplified-operator-reducer.cc",
|
|
|
|
"src/compiler/simplified-operator-reducer.h",
|
2014-09-02 11:36:55 +00:00
|
|
|
"src/compiler/simplified-operator.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/simplified-operator.h",
|
|
|
|
"src/compiler/source-position.cc",
|
|
|
|
"src/compiler/source-position.h",
|
2015-03-16 13:43:02 +00:00
|
|
|
"src/compiler/state-values-utils.cc",
|
|
|
|
"src/compiler/state-values-utils.h",
|
2015-05-05 09:42:59 +00:00
|
|
|
"src/compiler/tail-call-optimization.cc",
|
|
|
|
"src/compiler/tail-call-optimization.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/typer.cc",
|
|
|
|
"src/compiler/typer.h",
|
2014-09-04 11:13:35 +00:00
|
|
|
"src/compiler/value-numbering-reducer.cc",
|
|
|
|
"src/compiler/value-numbering-reducer.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/verifier.cc",
|
|
|
|
"src/compiler/verifier.h",
|
2014-10-21 18:16:50 +00:00
|
|
|
"src/compiler/zone-pool.cc",
|
|
|
|
"src/compiler/zone-pool.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/compiler.cc",
|
|
|
|
"src/compiler.h",
|
2015-08-05 14:06:43 +00:00
|
|
|
"src/context-measure.cc",
|
|
|
|
"src/context-measure.h",
|
2015-09-01 09:25:19 +00:00
|
|
|
"src/contexts-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/contexts.cc",
|
|
|
|
"src/contexts.h",
|
|
|
|
"src/conversions-inl.h",
|
|
|
|
"src/conversions.cc",
|
|
|
|
"src/conversions.h",
|
|
|
|
"src/counters.cc",
|
|
|
|
"src/counters.h",
|
|
|
|
"src/cpu-profiler-inl.h",
|
|
|
|
"src/cpu-profiler.cc",
|
|
|
|
"src/cpu-profiler.h",
|
|
|
|
"src/date.cc",
|
|
|
|
"src/date.h",
|
|
|
|
"src/dateparser-inl.h",
|
|
|
|
"src/dateparser.cc",
|
|
|
|
"src/dateparser.h",
|
2015-08-04 12:08:56 +00:00
|
|
|
"src/debug/debug-evaluate.cc",
|
|
|
|
"src/debug/debug-evaluate.h",
|
|
|
|
"src/debug/debug-frames.cc",
|
|
|
|
"src/debug/debug-frames.h",
|
|
|
|
"src/debug/debug-scopes.cc",
|
|
|
|
"src/debug/debug-scopes.h",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/debug.cc",
|
|
|
|
"src/debug/debug.h",
|
|
|
|
"src/debug/liveedit.cc",
|
|
|
|
"src/debug/liveedit.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/deoptimizer.cc",
|
|
|
|
"src/deoptimizer.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/effects.h",
|
|
|
|
"src/elements-kind.cc",
|
|
|
|
"src/elements-kind.h",
|
|
|
|
"src/elements.cc",
|
|
|
|
"src/elements.h",
|
|
|
|
"src/execution.cc",
|
|
|
|
"src/execution.h",
|
2015-06-09 17:13:35 +00:00
|
|
|
"src/expression-classifier.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/statistics-extension.cc",
|
|
|
|
"src/extensions/statistics-extension.h",
|
|
|
|
"src/extensions/trigger-failure-extension.cc",
|
|
|
|
"src/extensions/trigger-failure-extension.h",
|
|
|
|
"src/factory.cc",
|
|
|
|
"src/factory.h",
|
|
|
|
"src/fast-dtoa.cc",
|
|
|
|
"src/fast-dtoa.h",
|
2014-06-11 08:31:13 +00:00
|
|
|
"src/field-index.h",
|
|
|
|
"src/field-index-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/fixed-dtoa.cc",
|
|
|
|
"src/fixed-dtoa.h",
|
|
|
|
"src/flag-definitions.h",
|
|
|
|
"src/flags.cc",
|
|
|
|
"src/flags.h",
|
|
|
|
"src/frames-inl.h",
|
|
|
|
"src/frames.cc",
|
|
|
|
"src/frames.h",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/full-codegen.cc",
|
|
|
|
"src/full-codegen/full-codegen.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/func-name-inferrer.cc",
|
|
|
|
"src/func-name-inferrer.h",
|
2015-07-17 17:11:32 +00:00
|
|
|
"src/futex-emulation.cc",
|
|
|
|
"src/futex-emulation.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/hashmap.h",
|
|
|
|
"src/heap-profiler.cc",
|
|
|
|
"src/heap-profiler.h",
|
|
|
|
"src/heap-snapshot-generator-inl.h",
|
|
|
|
"src/heap-snapshot-generator.cc",
|
|
|
|
"src/heap-snapshot-generator.h",
|
2015-09-07 19:38:12 +00:00
|
|
|
"src/heap/array-buffer-tracker.cc",
|
|
|
|
"src/heap/array-buffer-tracker.h",
|
2014-08-20 10:33:03 +00:00
|
|
|
"src/heap/gc-idle-time-handler.cc",
|
|
|
|
"src/heap/gc-idle-time-handler.h",
|
2014-08-05 08:18:22 +00:00
|
|
|
"src/heap/gc-tracer.cc",
|
|
|
|
"src/heap/gc-tracer.h",
|
|
|
|
"src/heap/heap-inl.h",
|
|
|
|
"src/heap/heap.cc",
|
|
|
|
"src/heap/heap.h",
|
2015-09-08 15:54:24 +00:00
|
|
|
"src/heap/incremental-marking-job.cc",
|
|
|
|
"src/heap/incremental-marking-job.h",
|
2014-08-05 08:18:22 +00:00
|
|
|
"src/heap/incremental-marking.cc",
|
|
|
|
"src/heap/incremental-marking.h",
|
|
|
|
"src/heap/mark-compact-inl.h",
|
|
|
|
"src/heap/mark-compact.cc",
|
|
|
|
"src/heap/mark-compact.h",
|
2015-07-07 11:37:44 +00:00
|
|
|
"src/heap/memory-reducer.cc",
|
|
|
|
"src/heap/memory-reducer.h",
|
2015-09-02 16:43:21 +00:00
|
|
|
"src/heap/object-stats.cc",
|
|
|
|
"src/heap/object-stats.h",
|
2014-08-07 12:21:01 +00:00
|
|
|
"src/heap/objects-visiting-inl.h",
|
|
|
|
"src/heap/objects-visiting.cc",
|
|
|
|
"src/heap/objects-visiting.h",
|
2014-08-05 08:18:22 +00:00
|
|
|
"src/heap/spaces-inl.h",
|
|
|
|
"src/heap/spaces.cc",
|
|
|
|
"src/heap/spaces.h",
|
2014-08-11 14:22:24 +00:00
|
|
|
"src/heap/store-buffer-inl.h",
|
|
|
|
"src/heap/store-buffer.cc",
|
|
|
|
"src/heap/store-buffer.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/hydrogen-alias-analysis.h",
|
|
|
|
"src/hydrogen-bce.cc",
|
|
|
|
"src/hydrogen-bce.h",
|
|
|
|
"src/hydrogen-bch.cc",
|
|
|
|
"src/hydrogen-bch.h",
|
|
|
|
"src/hydrogen-canonicalize.cc",
|
|
|
|
"src/hydrogen-canonicalize.h",
|
|
|
|
"src/hydrogen-check-elimination.cc",
|
|
|
|
"src/hydrogen-check-elimination.h",
|
|
|
|
"src/hydrogen-dce.cc",
|
|
|
|
"src/hydrogen-dce.h",
|
|
|
|
"src/hydrogen-dehoist.cc",
|
|
|
|
"src/hydrogen-dehoist.h",
|
|
|
|
"src/hydrogen-environment-liveness.cc",
|
|
|
|
"src/hydrogen-environment-liveness.h",
|
|
|
|
"src/hydrogen-escape-analysis.cc",
|
|
|
|
"src/hydrogen-escape-analysis.h",
|
|
|
|
"src/hydrogen-flow-engine.h",
|
|
|
|
"src/hydrogen-instructions.cc",
|
|
|
|
"src/hydrogen-instructions.h",
|
|
|
|
"src/hydrogen.cc",
|
|
|
|
"src/hydrogen.h",
|
|
|
|
"src/hydrogen-gvn.cc",
|
|
|
|
"src/hydrogen-gvn.h",
|
|
|
|
"src/hydrogen-infer-representation.cc",
|
|
|
|
"src/hydrogen-infer-representation.h",
|
|
|
|
"src/hydrogen-infer-types.cc",
|
|
|
|
"src/hydrogen-infer-types.h",
|
|
|
|
"src/hydrogen-load-elimination.cc",
|
|
|
|
"src/hydrogen-load-elimination.h",
|
|
|
|
"src/hydrogen-mark-deoptimize.cc",
|
|
|
|
"src/hydrogen-mark-deoptimize.h",
|
|
|
|
"src/hydrogen-mark-unreachable.cc",
|
|
|
|
"src/hydrogen-mark-unreachable.h",
|
|
|
|
"src/hydrogen-osr.cc",
|
|
|
|
"src/hydrogen-osr.h",
|
|
|
|
"src/hydrogen-range-analysis.cc",
|
|
|
|
"src/hydrogen-range-analysis.h",
|
|
|
|
"src/hydrogen-redundant-phi.cc",
|
|
|
|
"src/hydrogen-redundant-phi.h",
|
|
|
|
"src/hydrogen-removable-simulates.cc",
|
|
|
|
"src/hydrogen-removable-simulates.h",
|
|
|
|
"src/hydrogen-representation-changes.cc",
|
|
|
|
"src/hydrogen-representation-changes.h",
|
|
|
|
"src/hydrogen-sce.cc",
|
|
|
|
"src/hydrogen-sce.h",
|
|
|
|
"src/hydrogen-store-elimination.cc",
|
|
|
|
"src/hydrogen-store-elimination.h",
|
2014-06-02 11:10:03 +00:00
|
|
|
"src/hydrogen-types.cc",
|
|
|
|
"src/hydrogen-types.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/hydrogen-uint32-analysis.cc",
|
|
|
|
"src/hydrogen-uint32-analysis.h",
|
|
|
|
"src/i18n.cc",
|
|
|
|
"src/i18n.h",
|
|
|
|
"src/icu_util.cc",
|
|
|
|
"src/icu_util.h",
|
2014-08-22 14:36:54 +00:00
|
|
|
"src/ic/access-compiler.cc",
|
|
|
|
"src/ic/access-compiler.h",
|
|
|
|
"src/ic/call-optimization.cc",
|
|
|
|
"src/ic/call-optimization.h",
|
2014-08-25 11:17:37 +00:00
|
|
|
"src/ic/handler-compiler.cc",
|
|
|
|
"src/ic/handler-compiler.h",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/ic-inl.h",
|
2014-09-16 12:51:33 +00:00
|
|
|
"src/ic/ic-state.cc",
|
|
|
|
"src/ic/ic-state.h",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/ic.cc",
|
|
|
|
"src/ic/ic.h",
|
2014-08-22 12:30:25 +00:00
|
|
|
"src/ic/ic-compiler.cc",
|
|
|
|
"src/ic/ic-compiler.h",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/stub-cache.cc",
|
|
|
|
"src/ic/stub-cache.h",
|
2015-08-28 13:00:59 +00:00
|
|
|
"src/identity-map.cc",
|
|
|
|
"src/identity-map.h",
|
2014-08-29 10:40:02 +00:00
|
|
|
"src/interface-descriptors.cc",
|
|
|
|
"src/interface-descriptors.h",
|
2015-07-23 14:21:26 +00:00
|
|
|
"src/interpreter/bytecodes.cc",
|
|
|
|
"src/interpreter/bytecodes.h",
|
2015-08-18 13:46:43 +00:00
|
|
|
"src/interpreter/bytecode-array-builder.cc",
|
|
|
|
"src/interpreter/bytecode-array-builder.h",
|
|
|
|
"src/interpreter/bytecode-generator.cc",
|
|
|
|
"src/interpreter/bytecode-generator.h",
|
2015-07-23 14:21:26 +00:00
|
|
|
"src/interpreter/interpreter.cc",
|
|
|
|
"src/interpreter/interpreter.h",
|
2015-09-01 09:25:19 +00:00
|
|
|
"src/isolate-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/isolate.cc",
|
|
|
|
"src/isolate.h",
|
|
|
|
"src/json-parser.h",
|
|
|
|
"src/json-stringifier.h",
|
2014-11-11 10:24:52 +00:00
|
|
|
"src/layout-descriptor-inl.h",
|
|
|
|
"src/layout-descriptor.cc",
|
|
|
|
"src/layout-descriptor.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/list-inl.h",
|
|
|
|
"src/list.h",
|
|
|
|
"src/lithium-allocator-inl.h",
|
|
|
|
"src/lithium-allocator.cc",
|
|
|
|
"src/lithium-allocator.h",
|
|
|
|
"src/lithium-codegen.cc",
|
|
|
|
"src/lithium-codegen.h",
|
|
|
|
"src/lithium.cc",
|
|
|
|
"src/lithium.h",
|
|
|
|
"src/log-inl.h",
|
|
|
|
"src/log-utils.cc",
|
|
|
|
"src/log-utils.h",
|
|
|
|
"src/log.cc",
|
|
|
|
"src/log.h",
|
2014-08-05 09:32:55 +00:00
|
|
|
"src/lookup-inl.h",
|
2014-06-11 09:59:14 +00:00
|
|
|
"src/lookup.cc",
|
|
|
|
"src/lookup.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/macro-assembler.h",
|
|
|
|
"src/messages.cc",
|
|
|
|
"src/messages.h",
|
2015-02-18 18:25:00 +00:00
|
|
|
"src/modules.cc",
|
|
|
|
"src/modules.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/msan.h",
|
|
|
|
"src/objects-debug.cc",
|
|
|
|
"src/objects-inl.h",
|
|
|
|
"src/objects-printer.cc",
|
|
|
|
"src/objects.cc",
|
|
|
|
"src/objects.h",
|
2015-04-14 13:57:35 +00:00
|
|
|
"src/optimizing-compile-dispatcher.cc",
|
|
|
|
"src/optimizing-compile-dispatcher.h",
|
2014-06-27 08:42:17 +00:00
|
|
|
"src/ostreams.cc",
|
|
|
|
"src/ostreams.h",
|
2015-05-11 16:28:28 +00:00
|
|
|
"src/pattern-rewriter.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/parser.cc",
|
|
|
|
"src/parser.h",
|
2015-02-25 14:17:39 +00:00
|
|
|
"src/pending-compilation-error-handler.cc",
|
|
|
|
"src/pending-compilation-error-handler.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/preparse-data-format.h",
|
|
|
|
"src/preparse-data.cc",
|
|
|
|
"src/preparse-data.h",
|
|
|
|
"src/preparser.cc",
|
|
|
|
"src/preparser.h",
|
|
|
|
"src/prettyprinter.cc",
|
|
|
|
"src/prettyprinter.h",
|
|
|
|
"src/profile-generator-inl.h",
|
|
|
|
"src/profile-generator.cc",
|
|
|
|
"src/profile-generator.h",
|
|
|
|
"src/property-details.h",
|
|
|
|
"src/property.cc",
|
|
|
|
"src/property.h",
|
2014-07-14 07:19:49 +00:00
|
|
|
"src/prototype.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/rewriter.cc",
|
|
|
|
"src/rewriter.h",
|
2015-08-13 06:55:21 +00:00
|
|
|
"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-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-stack.cc",
|
|
|
|
"src/regexp/regexp-stack.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/runtime-profiler.cc",
|
|
|
|
"src/runtime-profiler.h",
|
2014-10-10 14:59:53 +00:00
|
|
|
"src/runtime/runtime-array.cc",
|
2015-06-03 17:58:29 +00:00
|
|
|
"src/runtime/runtime-atomics.cc",
|
2014-10-01 12:11:12 +00:00
|
|
|
"src/runtime/runtime-classes.cc",
|
2014-09-29 09:32:38 +00:00
|
|
|
"src/runtime/runtime-collections.cc",
|
|
|
|
"src/runtime/runtime-compiler.cc",
|
2014-09-30 08:23:02 +00:00
|
|
|
"src/runtime/runtime-date.cc",
|
|
|
|
"src/runtime/runtime-debug.cc",
|
2015-06-01 07:20:50 +00:00
|
|
|
"src/runtime/runtime-forin.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"src/runtime/runtime-function.cc",
|
2015-07-17 17:11:32 +00:00
|
|
|
"src/runtime/runtime-futex.cc",
|
2014-09-30 08:23:02 +00:00
|
|
|
"src/runtime/runtime-generator.cc",
|
2014-10-10 14:59:53 +00:00
|
|
|
"src/runtime/runtime-i18n.cc",
|
|
|
|
"src/runtime/runtime-internal.cc",
|
2014-09-29 07:08:15 +00:00
|
|
|
"src/runtime/runtime-json.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"src/runtime/runtime-literals.cc",
|
2014-09-30 08:23:02 +00:00
|
|
|
"src/runtime/runtime-liveedit.cc",
|
2014-09-29 09:32:38 +00:00
|
|
|
"src/runtime/runtime-maths.cc",
|
|
|
|
"src/runtime/runtime-numbers.cc",
|
2014-10-10 14:59:53 +00:00
|
|
|
"src/runtime/runtime-object.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"src/runtime/runtime-observe.cc",
|
|
|
|
"src/runtime/runtime-proxy.cc",
|
2014-09-29 07:08:15 +00:00
|
|
|
"src/runtime/runtime-regexp.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"src/runtime/runtime-scopes.cc",
|
2015-07-16 19:43:21 +00:00
|
|
|
"src/runtime/runtime-simd.cc",
|
2014-09-29 07:08:15 +00:00
|
|
|
"src/runtime/runtime-strings.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"src/runtime/runtime-symbol.cc",
|
2014-09-29 09:32:38 +00:00
|
|
|
"src/runtime/runtime-test.cc",
|
|
|
|
"src/runtime/runtime-typedarray.cc",
|
2014-09-29 07:08:15 +00:00
|
|
|
"src/runtime/runtime-uri.cc",
|
2014-09-25 07:16:15 +00:00
|
|
|
"src/runtime/runtime-utils.h",
|
|
|
|
"src/runtime/runtime.cc",
|
|
|
|
"src/runtime/runtime.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/safepoint-table.cc",
|
|
|
|
"src/safepoint-table.h",
|
|
|
|
"src/sampler.cc",
|
|
|
|
"src/sampler.h",
|
|
|
|
"src/scanner-character-streams.cc",
|
|
|
|
"src/scanner-character-streams.h",
|
|
|
|
"src/scanner.cc",
|
|
|
|
"src/scanner.h",
|
|
|
|
"src/scopeinfo.cc",
|
|
|
|
"src/scopeinfo.h",
|
|
|
|
"src/scopes.cc",
|
|
|
|
"src/scopes.h",
|
2015-05-04 10:11:50 +00:00
|
|
|
"src/signature.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/simulator.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/small-pointer-list.h",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/natives.h",
|
2015-08-18 14:31:26 +00:00
|
|
|
"src/snapshot/natives-common.cc",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/serialize.cc",
|
|
|
|
"src/snapshot/serialize.h",
|
|
|
|
"src/snapshot/snapshot-common.cc",
|
|
|
|
"src/snapshot/snapshot-source-sink.cc",
|
|
|
|
"src/snapshot/snapshot-source-sink.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/splay-tree.h",
|
|
|
|
"src/splay-tree-inl.h",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/snapshot.h",
|
2015-08-14 12:11:29 +00:00
|
|
|
"src/startup-data-util.h",
|
|
|
|
"src/startup-data-util.cc",
|
2014-11-12 08:11:57 +00:00
|
|
|
"src/string-builder.cc",
|
2014-11-12 08:04:41 +00:00
|
|
|
"src/string-builder.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/string-search.h",
|
|
|
|
"src/string-stream.cc",
|
|
|
|
"src/string-stream.h",
|
2015-02-20 15:15:49 +00:00
|
|
|
"src/strings-storage.cc",
|
|
|
|
"src/strings-storage.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/strtod.cc",
|
|
|
|
"src/strtod.h",
|
|
|
|
"src/token.cc",
|
|
|
|
"src/token.h",
|
|
|
|
"src/transitions-inl.h",
|
|
|
|
"src/transitions.cc",
|
|
|
|
"src/transitions.h",
|
2014-09-18 12:31:31 +00:00
|
|
|
"src/type-feedback-vector-inl.h",
|
2014-09-18 09:59:53 +00:00
|
|
|
"src/type-feedback-vector.cc",
|
|
|
|
"src/type-feedback-vector.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/type-info.cc",
|
|
|
|
"src/type-info.h",
|
|
|
|
"src/types-inl.h",
|
|
|
|
"src/types.cc",
|
|
|
|
"src/types.h",
|
2015-09-01 18:30:34 +00:00
|
|
|
"src/typing-asm.cc",
|
|
|
|
"src/typing-asm.h",
|
2015-08-24 17:16:38 +00:00
|
|
|
"src/typing-reset.cc",
|
|
|
|
"src/typing-reset.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/typing.cc",
|
|
|
|
"src/typing.h",
|
|
|
|
"src/unbound-queue-inl.h",
|
|
|
|
"src/unbound-queue.h",
|
|
|
|
"src/unicode-inl.h",
|
|
|
|
"src/unicode.cc",
|
|
|
|
"src/unicode.h",
|
2015-08-20 11:46:54 +00:00
|
|
|
"src/unicode-cache-inl.h",
|
|
|
|
"src/unicode-cache.h",
|
2014-10-08 14:55:03 +00:00
|
|
|
"src/unicode-decoder.cc",
|
|
|
|
"src/unicode-decoder.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/unique.h",
|
|
|
|
"src/utils.cc",
|
|
|
|
"src/utils.h",
|
|
|
|
"src/v8.cc",
|
|
|
|
"src/v8.h",
|
|
|
|
"src/v8memory.h",
|
|
|
|
"src/v8threads.cc",
|
|
|
|
"src/v8threads.h",
|
|
|
|
"src/variables.cc",
|
|
|
|
"src/variables.h",
|
2015-01-18 15:43:02 +00:00
|
|
|
"src/version.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/version.h",
|
|
|
|
"src/vm-state-inl.h",
|
|
|
|
"src/vm-state.h",
|
2015-08-26 21:40:52 +00:00
|
|
|
"src/zone-type-cache.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/zone.cc",
|
|
|
|
"src/zone.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/zone-allocator.h",
|
|
|
|
"src/zone-containers.h",
|
2014-10-08 11:19:51 +00:00
|
|
|
"src/third_party/fdlibm/fdlibm.cc",
|
|
|
|
"src/third_party/fdlibm/fdlibm.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
2014-05-26 07:29:39 +00:00
|
|
|
if (v8_target_arch == "x86") {
|
2014-05-05 11:06:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/ia32/assembler-ia32-inl.h",
|
|
|
|
"src/ia32/assembler-ia32.cc",
|
|
|
|
"src/ia32/assembler-ia32.h",
|
|
|
|
"src/ia32/builtins-ia32.cc",
|
|
|
|
"src/ia32/code-stubs-ia32.cc",
|
|
|
|
"src/ia32/code-stubs-ia32.h",
|
|
|
|
"src/ia32/codegen-ia32.cc",
|
|
|
|
"src/ia32/codegen-ia32.h",
|
|
|
|
"src/ia32/cpu-ia32.cc",
|
|
|
|
"src/ia32/deoptimizer-ia32.cc",
|
|
|
|
"src/ia32/disasm-ia32.cc",
|
|
|
|
"src/ia32/frames-ia32.cc",
|
|
|
|
"src/ia32/frames-ia32.h",
|
2014-08-29 10:40:02 +00:00
|
|
|
"src/ia32/interface-descriptors-ia32.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/ia32/lithium-codegen-ia32.cc",
|
|
|
|
"src/ia32/lithium-codegen-ia32.h",
|
|
|
|
"src/ia32/lithium-gap-resolver-ia32.cc",
|
|
|
|
"src/ia32/lithium-gap-resolver-ia32.h",
|
|
|
|
"src/ia32/lithium-ia32.cc",
|
|
|
|
"src/ia32/lithium-ia32.h",
|
|
|
|
"src/ia32/macro-assembler-ia32.cc",
|
|
|
|
"src/ia32/macro-assembler-ia32.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/ia32/code-generator-ia32.cc",
|
|
|
|
"src/compiler/ia32/instruction-codes-ia32.h",
|
|
|
|
"src/compiler/ia32/instruction-selector-ia32.cc",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/ia32/debug-ia32.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/ia32/full-codegen-ia32.cc",
|
2014-09-30 08:22:16 +00:00
|
|
|
"src/ic/ia32/access-compiler-ia32.cc",
|
|
|
|
"src/ic/ia32/handler-compiler-ia32.cc",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/ia32/ic-ia32.cc",
|
2014-09-08 10:48:29 +00:00
|
|
|
"src/ic/ia32/ic-compiler-ia32.cc",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/ia32/stub-cache-ia32.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/ia32/regexp-macro-assembler-ia32.cc",
|
|
|
|
"src/regexp/ia32/regexp-macro-assembler-ia32.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
2014-05-26 07:29:39 +00:00
|
|
|
} else if (v8_target_arch == "x64") {
|
2014-05-05 11:06:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/x64/assembler-x64-inl.h",
|
|
|
|
"src/x64/assembler-x64.cc",
|
|
|
|
"src/x64/assembler-x64.h",
|
|
|
|
"src/x64/builtins-x64.cc",
|
|
|
|
"src/x64/code-stubs-x64.cc",
|
|
|
|
"src/x64/code-stubs-x64.h",
|
|
|
|
"src/x64/codegen-x64.cc",
|
|
|
|
"src/x64/codegen-x64.h",
|
|
|
|
"src/x64/cpu-x64.cc",
|
|
|
|
"src/x64/deoptimizer-x64.cc",
|
|
|
|
"src/x64/disasm-x64.cc",
|
|
|
|
"src/x64/frames-x64.cc",
|
|
|
|
"src/x64/frames-x64.h",
|
2014-08-29 10:40:02 +00:00
|
|
|
"src/x64/interface-descriptors-x64.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/x64/lithium-codegen-x64.cc",
|
|
|
|
"src/x64/lithium-codegen-x64.h",
|
|
|
|
"src/x64/lithium-gap-resolver-x64.cc",
|
|
|
|
"src/x64/lithium-gap-resolver-x64.h",
|
|
|
|
"src/x64/lithium-x64.cc",
|
|
|
|
"src/x64/lithium-x64.h",
|
|
|
|
"src/x64/macro-assembler-x64.cc",
|
|
|
|
"src/x64/macro-assembler-x64.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/x64/code-generator-x64.cc",
|
|
|
|
"src/compiler/x64/instruction-codes-x64.h",
|
|
|
|
"src/compiler/x64/instruction-selector-x64.cc",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/x64/debug-x64.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/x64/full-codegen-x64.cc",
|
2014-08-22 14:36:54 +00:00
|
|
|
"src/ic/x64/access-compiler-x64.cc",
|
2014-08-25 11:17:37 +00:00
|
|
|
"src/ic/x64/handler-compiler-x64.cc",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/x64/ic-x64.cc",
|
|
|
|
"src/ic/x64/ic-compiler-x64.cc",
|
|
|
|
"src/ic/x64/stub-cache-x64.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/x64/regexp-macro-assembler-x64.cc",
|
|
|
|
"src/regexp/x64/regexp-macro-assembler-x64.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
2014-05-26 07:29:39 +00:00
|
|
|
} else if (v8_target_arch == "arm") {
|
2014-05-05 11:06:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/arm/assembler-arm-inl.h",
|
|
|
|
"src/arm/assembler-arm.cc",
|
|
|
|
"src/arm/assembler-arm.h",
|
|
|
|
"src/arm/builtins-arm.cc",
|
|
|
|
"src/arm/code-stubs-arm.cc",
|
|
|
|
"src/arm/code-stubs-arm.h",
|
|
|
|
"src/arm/codegen-arm.cc",
|
|
|
|
"src/arm/codegen-arm.h",
|
|
|
|
"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/frames-arm.cc",
|
|
|
|
"src/arm/frames-arm.h",
|
2014-08-29 10:40:02 +00:00
|
|
|
"src/arm/interface-descriptors-arm.cc",
|
|
|
|
"src/arm/interface-descriptors-arm.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm/lithium-arm.cc",
|
|
|
|
"src/arm/lithium-arm.h",
|
|
|
|
"src/arm/lithium-codegen-arm.cc",
|
|
|
|
"src/arm/lithium-codegen-arm.h",
|
|
|
|
"src/arm/lithium-gap-resolver-arm.cc",
|
|
|
|
"src/arm/lithium-gap-resolver-arm.h",
|
|
|
|
"src/arm/macro-assembler-arm.cc",
|
|
|
|
"src/arm/macro-assembler-arm.h",
|
|
|
|
"src/arm/simulator-arm.cc",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/arm/simulator-arm.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/arm/code-generator-arm.cc",
|
|
|
|
"src/compiler/arm/instruction-codes-arm.h",
|
|
|
|
"src/compiler/arm/instruction-selector-arm.cc",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/arm/debug-arm.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/arm/full-codegen-arm.cc",
|
2014-08-22 14:36:54 +00:00
|
|
|
"src/ic/arm/access-compiler-arm.cc",
|
2014-08-25 11:17:37 +00:00
|
|
|
"src/ic/arm/handler-compiler-arm.cc",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/arm/ic-arm.cc",
|
|
|
|
"src/ic/arm/ic-compiler-arm.cc",
|
|
|
|
"src/ic/arm/stub-cache-arm.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/arm/regexp-macro-assembler-arm.cc",
|
|
|
|
"src/regexp/arm/regexp-macro-assembler-arm.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
2014-05-26 07:29:39 +00:00
|
|
|
} else if (v8_target_arch == "arm64") {
|
2014-05-05 11:06:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/arm64/assembler-arm64.cc",
|
|
|
|
"src/arm64/assembler-arm64.h",
|
|
|
|
"src/arm64/assembler-arm64-inl.h",
|
|
|
|
"src/arm64/builtins-arm64.cc",
|
|
|
|
"src/arm64/codegen-arm64.cc",
|
|
|
|
"src/arm64/codegen-arm64.h",
|
|
|
|
"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",
|
2015-09-01 23:05:20 +00:00
|
|
|
"src/arm64/delayed-masm-arm64.cc",
|
|
|
|
"src/arm64/delayed-masm-arm64.h",
|
|
|
|
"src/arm64/delayed-masm-arm64-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/deoptimizer-arm64.cc",
|
|
|
|
"src/arm64/disasm-arm64.cc",
|
|
|
|
"src/arm64/disasm-arm64.h",
|
|
|
|
"src/arm64/frames-arm64.cc",
|
|
|
|
"src/arm64/frames-arm64.h",
|
|
|
|
"src/arm64/instructions-arm64.cc",
|
|
|
|
"src/arm64/instructions-arm64.h",
|
|
|
|
"src/arm64/instrument-arm64.cc",
|
|
|
|
"src/arm64/instrument-arm64.h",
|
2014-08-29 10:40:02 +00:00
|
|
|
"src/arm64/interface-descriptors-arm64.cc",
|
|
|
|
"src/arm64/interface-descriptors-arm64.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/lithium-arm64.cc",
|
|
|
|
"src/arm64/lithium-arm64.h",
|
|
|
|
"src/arm64/lithium-codegen-arm64.cc",
|
|
|
|
"src/arm64/lithium-codegen-arm64.h",
|
|
|
|
"src/arm64/lithium-gap-resolver-arm64.cc",
|
|
|
|
"src/arm64/lithium-gap-resolver-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/utils-arm64.cc",
|
|
|
|
"src/arm64/utils-arm64.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/arm64/code-generator-arm64.cc",
|
|
|
|
"src/compiler/arm64/instruction-codes-arm64.h",
|
|
|
|
"src/compiler/arm64/instruction-selector-arm64.cc",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/arm64/debug-arm64.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/arm64/full-codegen-arm64.cc",
|
2014-08-22 14:36:54 +00:00
|
|
|
"src/ic/arm64/access-compiler-arm64.cc",
|
2014-08-25 11:17:37 +00:00
|
|
|
"src/ic/arm64/handler-compiler-arm64.cc",
|
2014-08-22 11:43:39 +00:00
|
|
|
"src/ic/arm64/ic-arm64.cc",
|
|
|
|
"src/ic/arm64/ic-compiler-arm64.cc",
|
|
|
|
"src/ic/arm64/stub-cache-arm64.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/arm64/regexp-macro-assembler-arm64.cc",
|
|
|
|
"src/regexp/arm64/regexp-macro-assembler-arm64.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
2014-05-26 07:29:39 +00:00
|
|
|
} else if (v8_target_arch == "mipsel") {
|
2014-05-05 11:06:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/mips/assembler-mips.cc",
|
|
|
|
"src/mips/assembler-mips.h",
|
|
|
|
"src/mips/assembler-mips-inl.h",
|
|
|
|
"src/mips/builtins-mips.cc",
|
|
|
|
"src/mips/codegen-mips.cc",
|
|
|
|
"src/mips/codegen-mips.h",
|
|
|
|
"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/frames-mips.cc",
|
|
|
|
"src/mips/frames-mips.h",
|
2014-08-29 15:28:26 +00:00
|
|
|
"src/mips/interface-descriptors-mips.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/mips/lithium-codegen-mips.cc",
|
|
|
|
"src/mips/lithium-codegen-mips.h",
|
|
|
|
"src/mips/lithium-gap-resolver-mips.cc",
|
|
|
|
"src/mips/lithium-gap-resolver-mips.h",
|
|
|
|
"src/mips/lithium-mips.cc",
|
|
|
|
"src/mips/lithium-mips.h",
|
|
|
|
"src/mips/macro-assembler-mips.cc",
|
|
|
|
"src/mips/macro-assembler-mips.h",
|
|
|
|
"src/mips/simulator-mips.cc",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/mips/simulator-mips.h",
|
2014-10-13 14:18:10 +00:00
|
|
|
"src/compiler/mips/code-generator-mips.cc",
|
|
|
|
"src/compiler/mips/instruction-codes-mips.h",
|
|
|
|
"src/compiler/mips/instruction-selector-mips.cc",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/mips/debug-mips.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/mips/full-codegen-mips.cc",
|
2014-08-25 11:35:22 +00:00
|
|
|
"src/ic/mips/access-compiler-mips.cc",
|
2014-08-25 16:22:04 +00:00
|
|
|
"src/ic/mips/handler-compiler-mips.cc",
|
2014-08-25 09:09:25 +00:00
|
|
|
"src/ic/mips/ic-mips.cc",
|
|
|
|
"src/ic/mips/ic-compiler-mips.cc",
|
|
|
|
"src/ic/mips/stub-cache-mips.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/mips/regexp-macro-assembler-mips.cc",
|
|
|
|
"src/regexp/mips/regexp-macro-assembler-mips.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
2014-08-26 17:57:18 +00:00
|
|
|
} else if (v8_target_arch == "mips64el") {
|
2014-08-25 15:15:26 +00:00
|
|
|
sources += [
|
|
|
|
"src/mips64/assembler-mips64.cc",
|
|
|
|
"src/mips64/assembler-mips64.h",
|
|
|
|
"src/mips64/assembler-mips64-inl.h",
|
|
|
|
"src/mips64/builtins-mips64.cc",
|
|
|
|
"src/mips64/codegen-mips64.cc",
|
|
|
|
"src/mips64/codegen-mips64.h",
|
|
|
|
"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/frames-mips64.cc",
|
|
|
|
"src/mips64/frames-mips64.h",
|
2014-08-29 15:28:26 +00:00
|
|
|
"src/mips64/interface-descriptors-mips64.cc",
|
2014-08-25 15:15:26 +00:00
|
|
|
"src/mips64/lithium-codegen-mips64.cc",
|
|
|
|
"src/mips64/lithium-codegen-mips64.h",
|
|
|
|
"src/mips64/lithium-gap-resolver-mips64.cc",
|
|
|
|
"src/mips64/lithium-gap-resolver-mips64.h",
|
|
|
|
"src/mips64/lithium-mips64.cc",
|
|
|
|
"src/mips64/lithium-mips64.h",
|
|
|
|
"src/mips64/macro-assembler-mips64.cc",
|
|
|
|
"src/mips64/macro-assembler-mips64.h",
|
|
|
|
"src/mips64/simulator-mips64.cc",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/mips64/simulator-mips64.h",
|
2015-07-31 11:07:50 +00:00
|
|
|
"src/debug/mips64/debug-mips64.cc",
|
2015-07-24 10:11:46 +00:00
|
|
|
"src/full-codegen/mips64/full-codegen-mips64.cc",
|
2014-08-25 15:15:26 +00:00
|
|
|
"src/ic/mips64/access-compiler-mips64.cc",
|
2014-08-25 16:22:04 +00:00
|
|
|
"src/ic/mips64/handler-compiler-mips64.cc",
|
2014-08-25 15:15:26 +00:00
|
|
|
"src/ic/mips64/ic-mips64.cc",
|
|
|
|
"src/ic/mips64/ic-compiler-mips64.cc",
|
|
|
|
"src/ic/mips64/stub-cache-mips64.cc",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/mips64/regexp-macro-assembler-mips64.cc",
|
|
|
|
"src/regexp/mips64/regexp-macro-assembler-mips64.h",
|
2014-08-25 15:15:26 +00:00
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2014-05-19 09:58:46 +00:00
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2014-09-15 14:48:01 +00:00
|
|
|
if (!is_debug) {
|
|
|
|
configs -= [ "//build/config/compiler:optimize" ]
|
|
|
|
configs += [ "//build/config/compiler:optimize_max" ]
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
defines = []
|
2015-01-08 13:21:52 +00:00
|
|
|
deps = [
|
|
|
|
":v8_libbase",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2014-09-08 10:48:29 +00:00
|
|
|
if (is_win) {
|
|
|
|
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
|
|
|
|
cflags = [ "/wd4267" ]
|
|
|
|
}
|
2014-05-05 11:06:26 +00:00
|
|
|
|
|
|
|
if (v8_enable_i18n_support) {
|
|
|
|
deps += [ "//third_party/icu" ]
|
|
|
|
if (is_win) {
|
|
|
|
deps += [ "//third_party/icu:icudata" ]
|
|
|
|
}
|
2015-01-08 13:21:52 +00:00
|
|
|
|
2014-05-26 07:29:39 +00:00
|
|
|
# TODO(jochen): Add support for icu_use_data_file_flag
|
|
|
|
defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ]
|
2014-05-05 11:06:26 +00:00
|
|
|
} else {
|
|
|
|
sources -= [
|
|
|
|
"src/i18n.cc",
|
|
|
|
"src/i18n.h",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2014-05-26 07:29:39 +00:00
|
|
|
if (v8_postmortem_support) {
|
|
|
|
sources += [ "$target_gen_dir/debug-support.cc" ]
|
|
|
|
deps += [ ":postmortem-metadata" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
source_set("v8_libbase") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-05-26 07:29:39 +00:00
|
|
|
|
|
|
|
sources = [
|
2015-04-20 16:24:52 +00:00
|
|
|
"src/base/adapters.h",
|
2014-06-05 12:14:47 +00:00
|
|
|
"src/base/atomicops.h",
|
|
|
|
"src/base/atomicops_internals_arm64_gcc.h",
|
|
|
|
"src/base/atomicops_internals_arm_gcc.h",
|
|
|
|
"src/base/atomicops_internals_atomicword_compat.h",
|
|
|
|
"src/base/atomicops_internals_mac.h",
|
|
|
|
"src/base/atomicops_internals_mips_gcc.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/base/atomicops_internals_mips64_gcc.h",
|
|
|
|
"src/base/atomicops_internals_portable.h",
|
2014-06-05 12:14:47 +00:00
|
|
|
"src/base/atomicops_internals_tsan.h",
|
|
|
|
"src/base/atomicops_internals_x86_gcc.cc",
|
|
|
|
"src/base/atomicops_internals_x86_gcc.h",
|
|
|
|
"src/base/atomicops_internals_x86_msvc.h",
|
2014-09-02 13:36:35 +00:00
|
|
|
"src/base/bits.cc",
|
2014-08-14 09:07:58 +00:00
|
|
|
"src/base/bits.h",
|
2014-05-28 08:07:18 +00:00
|
|
|
"src/base/build_config.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
"src/base/cpu.cc",
|
|
|
|
"src/base/cpu.h",
|
2014-09-05 11:48:47 +00:00
|
|
|
"src/base/division-by-constant.cc",
|
|
|
|
"src/base/division-by-constant.h",
|
2014-08-27 12:16:36 +00:00
|
|
|
"src/base/flags.h",
|
2014-10-06 12:27:24 +00:00
|
|
|
"src/base/functional.cc",
|
|
|
|
"src/base/functional.h",
|
2014-12-16 07:31:46 +00:00
|
|
|
"src/base/iterator.h",
|
2014-06-05 12:14:47 +00:00
|
|
|
"src/base/lazy-instance.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
"src/base/logging.cc",
|
|
|
|
"src/base/logging.h",
|
2014-05-26 07:29:39 +00:00
|
|
|
"src/base/macros.h",
|
2014-06-05 12:14:47 +00:00
|
|
|
"src/base/once.cc",
|
|
|
|
"src/base/once.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
"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",
|
2014-06-18 11:01:54 +00:00
|
|
|
"src/base/safe_conversions.h",
|
|
|
|
"src/base/safe_conversions_impl.h",
|
|
|
|
"src/base/safe_math.h",
|
|
|
|
"src/base/safe_math_impl.h",
|
2015-07-14 08:39:49 +00:00
|
|
|
"src/base/smart-pointers.h",
|
2014-08-27 08:29:22 +00:00
|
|
|
"src/base/sys-info.cc",
|
|
|
|
"src/base/sys-info.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
"src/base/utils/random-number-generator.cc",
|
|
|
|
"src/base/utils/random-number-generator.h",
|
2014-05-26 07:29:39 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config_base",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-06-30 13:25:46 +00:00
|
|
|
|
2014-09-15 14:48:01 +00:00
|
|
|
if (!is_debug) {
|
|
|
|
configs -= [ "//build/config/compiler:optimize" ]
|
|
|
|
configs += [ "//build/config/compiler:optimize_max" ]
|
|
|
|
}
|
|
|
|
|
2014-06-30 13:25:46 +00:00
|
|
|
defines = []
|
|
|
|
|
|
|
|
if (is_posix) {
|
2015-01-08 13:21:52 +00:00
|
|
|
sources += [ "src/base/platform/platform-posix.cc" ]
|
2014-06-30 13:25:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (is_linux) {
|
2015-01-08 13:21:52 +00:00
|
|
|
sources += [ "src/base/platform/platform-linux.cc" ]
|
2014-06-30 13:25:46 +00:00
|
|
|
|
2015-03-19 15:43:22 +00:00
|
|
|
libs = [ "dl", "rt" ]
|
2014-06-30 13:25:46 +00:00
|
|
|
} else if (is_android) {
|
|
|
|
defines += [ "CAN_USE_VFP_INSTRUCTIONS" ]
|
|
|
|
|
2015-03-31 12:08:10 +00:00
|
|
|
if (current_toolchain == host_toolchain) {
|
|
|
|
libs = [ "dl", "rt" ]
|
|
|
|
if (host_os == "mac") {
|
2014-06-30 13:25:46 +00:00
|
|
|
sources += [ "src/base/platform/platform-macos.cc" ]
|
|
|
|
} else {
|
|
|
|
sources += [ "src/base/platform/platform-linux.cc" ]
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
sources += [ "src/base/platform/platform-linux.cc" ]
|
|
|
|
}
|
|
|
|
} else if (is_mac) {
|
|
|
|
sources += [ "src/base/platform/platform-macos.cc" ]
|
|
|
|
} else if (is_win) {
|
|
|
|
# TODO(jochen): Add support for cygwin.
|
|
|
|
sources += [
|
|
|
|
"src/base/platform/platform-win32.cc",
|
2014-07-17 17:39:54 +00:00
|
|
|
"src/base/win32-headers.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
defines += [ "_CRT_RAND_S" ] # for rand_s()
|
|
|
|
|
2015-01-08 13:21:52 +00:00
|
|
|
libs = [
|
|
|
|
"winmm.lib",
|
|
|
|
"ws2_32.lib",
|
|
|
|
]
|
2014-06-30 13:25:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2014-07-03 07:37:27 +00:00
|
|
|
source_set("v8_libplatform") {
|
|
|
|
sources = [
|
|
|
|
"include/libplatform/libplatform.h",
|
|
|
|
"src/libplatform/default-platform.cc",
|
|
|
|
"src/libplatform/default-platform.h",
|
|
|
|
"src/libplatform/task-queue.cc",
|
|
|
|
"src/libplatform/task-queue.h",
|
|
|
|
"src/libplatform/worker-thread.cc",
|
|
|
|
"src/libplatform/worker-thread.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config_base",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-07-03 07:37:27 +00:00
|
|
|
|
2014-09-15 14:48:01 +00:00
|
|
|
if (!is_debug) {
|
|
|
|
configs -= [ "//build/config/compiler:optimize" ]
|
|
|
|
configs += [ "//build/config/compiler:optimize_max" ]
|
|
|
|
}
|
|
|
|
|
2014-07-03 07:37:27 +00:00
|
|
|
deps = [
|
|
|
|
":v8_libbase",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2014-05-05 11:06:26 +00:00
|
|
|
###############################################################################
|
|
|
|
# Executables
|
|
|
|
#
|
|
|
|
|
2015-03-11 21:55:41 +00:00
|
|
|
if (current_toolchain == snapshot_toolchain) {
|
2014-06-05 08:45:24 +00:00
|
|
|
executable("mksnapshot") {
|
2014-09-09 08:57:29 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
2014-06-03 06:50:46 +00:00
|
|
|
|
2014-06-05 08:45:24 +00:00
|
|
|
sources = [
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/mksnapshot.cc",
|
2014-06-05 08:45:24 +00:00
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2014-06-05 08:45:24 +00:00
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2014-06-04 15:21:26 +00:00
|
|
|
|
2014-06-05 08:45:24 +00:00
|
|
|
deps = [
|
|
|
|
":v8_base",
|
2014-07-03 07:37:27 +00:00
|
|
|
":v8_libplatform",
|
2014-06-05 08:45:24 +00:00
|
|
|
":v8_nosnapshot",
|
2014-11-04 08:27:49 +00:00
|
|
|
"//build/config/sanitizers:deps",
|
2014-06-05 08:45:24 +00:00
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
2015-01-08 10:48:04 +00:00
|
|
|
}
|
|
|
|
|
2015-01-08 13:21:52 +00:00
|
|
|
###############################################################################
|
|
|
|
# Public targets
|
|
|
|
#
|
2015-01-08 05:16:32 +00:00
|
|
|
|
2015-06-09 08:36:09 +00:00
|
|
|
if (is_component_build) {
|
2015-01-08 13:21:52 +00:00
|
|
|
component("v8") {
|
|
|
|
sources = [
|
|
|
|
"src/v8dll-main.cc",
|
2015-01-08 10:48:04 +00:00
|
|
|
]
|
2015-01-08 13:21:52 +00:00
|
|
|
|
|
|
|
if (v8_use_snapshot && v8_use_external_startup_data) {
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
2015-06-09 08:36:09 +00:00
|
|
|
]
|
|
|
|
public_deps = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":v8_external_snapshot",
|
|
|
|
]
|
|
|
|
} else if (v8_use_snapshot) {
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
2015-05-19 11:36:37 +00:00
|
|
|
]
|
|
|
|
# v8_snapshot should be public so downstream targets can declare the
|
|
|
|
# snapshot file as their input.
|
|
|
|
public_deps = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":v8_snapshot",
|
|
|
|
]
|
|
|
|
} else {
|
|
|
|
assert(!v8_use_external_startup_data)
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
|
|
|
":v8_nosnapshot",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
configs += [
|
|
|
|
":internal_config",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
2015-01-08 10:48:04 +00:00
|
|
|
]
|
|
|
|
|
2015-04-09 19:36:02 +00:00
|
|
|
public_configs = [ ":external_config" ]
|
2015-01-08 10:48:04 +00:00
|
|
|
|
2015-01-08 13:21:52 +00:00
|
|
|
libs = []
|
|
|
|
if (is_android && current_toolchain != host_toolchain) {
|
|
|
|
libs += [ "log" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
group("v8") {
|
|
|
|
if (v8_use_snapshot && v8_use_external_startup_data) {
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
|
|
|
":v8_external_snapshot",
|
|
|
|
]
|
|
|
|
} else if (v8_use_snapshot) {
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
2015-05-19 11:36:37 +00:00
|
|
|
]
|
|
|
|
public_deps = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":v8_snapshot",
|
|
|
|
]
|
|
|
|
} else {
|
|
|
|
assert(!v8_use_external_startup_data)
|
|
|
|
deps = [
|
|
|
|
":v8_base",
|
|
|
|
":v8_nosnapshot",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2015-04-09 19:36:02 +00:00
|
|
|
public_configs = [ ":external_config" ]
|
2015-01-08 13:21:52 +00:00
|
|
|
}
|
2014-05-28 11:48:55 +00:00
|
|
|
}
|
2015-01-20 11:31:44 +00:00
|
|
|
|
|
|
|
if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") ||
|
|
|
|
(current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) {
|
|
|
|
executable("d8") {
|
|
|
|
sources = [
|
|
|
|
"src/d8.cc",
|
|
|
|
"src/d8.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
configs += [
|
2015-04-09 19:36:02 +00:00
|
|
|
# Note: don't use :internal_config here because this target will get
|
|
|
|
# the :external_config applied to it by virtue of depending on :v8, and
|
|
|
|
# you can't have both applied to the same target.
|
|
|
|
":internal_config_base",
|
2015-01-20 11:31:44 +00:00
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":d8_js2c",
|
|
|
|
":v8",
|
|
|
|
":v8_libplatform",
|
|
|
|
"//build/config/sanitizers:deps",
|
|
|
|
]
|
|
|
|
|
2015-07-23 13:20:14 +00:00
|
|
|
# TODO(jochen): Add support for vtunejit.
|
2015-01-20 11:31:44 +00:00
|
|
|
|
|
|
|
if (is_posix) {
|
|
|
|
sources += [ "src/d8-posix.cc" ]
|
|
|
|
} else if (is_win) {
|
|
|
|
sources += [ "src/d8-windows.cc" ]
|
|
|
|
}
|
|
|
|
|
2015-06-09 08:36:09 +00:00
|
|
|
if (!is_component_build) {
|
2015-01-20 11:31:44 +00:00
|
|
|
sources += [
|
|
|
|
"$target_gen_dir/d8-js.cc",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
if (v8_enable_i18n_support) {
|
|
|
|
deps += [ "//third_party/icu" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|