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
|
|
|
|
2015-11-05 17:28:57 +00:00
|
|
|
if (is_android) {
|
|
|
|
import("//build/config/android/rules.gni")
|
|
|
|
}
|
|
|
|
|
2014-12-05 17:22:40 +00:00
|
|
|
# Because standalone V8 builds are not supported, assume this is part of a
|
|
|
|
# Chromium build.
|
2015-10-13 23:56:17 +00:00
|
|
|
import("//build_overrides/v8.gni")
|
2014-12-05 17:22:40 +00:00
|
|
|
|
2015-09-22 02:28:32 +00:00
|
|
|
import("snapshot_toolchain.gni")
|
|
|
|
|
2015-11-11 01:09:06 +00:00
|
|
|
declare_args() {
|
|
|
|
# Enable the snapshot feature, for fast context creation.
|
|
|
|
# http://v8project.blogspot.com/2015/09/custom-startup-snapshots.html
|
|
|
|
v8_use_snapshot = true
|
2016-04-08 14:16:47 +00:00
|
|
|
|
2016-05-12 14:10:42 +00:00
|
|
|
# Use external files for startup data blobs:
|
|
|
|
# the JS builtins sources and the start snapshot.
|
|
|
|
v8_use_external_startup_data = true
|
|
|
|
|
2016-04-08 14:16:47 +00:00
|
|
|
# Sets -DVERIFY_HEAP.
|
|
|
|
v8_enable_verify_heap = false
|
|
|
|
|
|
|
|
# Enable compiler warnings when using V8_DEPRECATED apis.
|
|
|
|
v8_deprecation_warnings = false
|
|
|
|
|
|
|
|
# Enable compiler warnings when using V8_DEPRECATE_SOON apis.
|
|
|
|
v8_imminent_deprecation_warnings = false
|
|
|
|
|
|
|
|
# Sets -dENABLE_DISASSEMBLER.
|
|
|
|
v8_enable_disassembler = false
|
|
|
|
|
|
|
|
# Sets -dENABLE_GDB_JIT_INTERFACE.
|
|
|
|
v8_enable_gdbjit = false
|
|
|
|
|
|
|
|
# Sets -dENABLE_HANDLE_ZAPPING.
|
|
|
|
v8_enable_handle_zapping = true
|
|
|
|
|
|
|
|
# Enable ECMAScript Internationalization API. Enabling this feature will
|
|
|
|
# add a dependency on the ICU library.
|
|
|
|
v8_enable_i18n_support = true
|
|
|
|
|
|
|
|
# Interpreted regexp engine exists as platform-independent alternative
|
|
|
|
# based where the regular expression is compiled to a bytecode.
|
|
|
|
v8_interpreted_regexp = false
|
|
|
|
|
|
|
|
# Sets -dOBJECT_PRINT.
|
|
|
|
v8_object_print = false
|
|
|
|
|
|
|
|
# With post mortem support enabled, metadata is embedded into libv8 that
|
|
|
|
# describes various parameters of the VM for use by debuggers. See
|
|
|
|
# tools/gen-postmortem-metadata.py for details.
|
|
|
|
v8_postmortem_support = false
|
2016-05-02 08:10:32 +00:00
|
|
|
|
|
|
|
# Similar to vfp but on MIPS.
|
|
|
|
v8_can_use_fpu_instructions = true
|
|
|
|
|
|
|
|
# Similar to the ARM hard float ABI but on MIPS.
|
|
|
|
v8_use_mips_abi_hardfloat = true
|
2015-11-11 01:09:06 +00:00
|
|
|
}
|
|
|
|
|
2014-06-03 06:50:46 +00:00
|
|
|
v8_random_seed = "314159265"
|
2016-05-06 07:30:52 +00:00
|
|
|
v8_toolset_for_shell = "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
|
|
|
|
}
|
|
|
|
|
2016-01-26 12:19:28 +00:00
|
|
|
if (v8_use_snapshot && v8_use_external_startup_data) {
|
|
|
|
snapshot_target = ":v8_external_snapshot"
|
|
|
|
} else if (v8_use_snapshot) {
|
|
|
|
snapshot_target = ":v8_snapshot"
|
|
|
|
} else {
|
|
|
|
assert(!v8_use_external_startup_data)
|
|
|
|
snapshot_target = ":v8_nosnapshot"
|
|
|
|
}
|
|
|
|
|
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 = [ "." ]
|
|
|
|
}
|
|
|
|
|
2016-02-29 11:02:52 +00:00
|
|
|
# This config should be applied to code using the libplatform.
|
|
|
|
config("libplatform_config") {
|
|
|
|
include_dirs = [ "include" ]
|
|
|
|
}
|
|
|
|
|
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" ]
|
2016-05-13 14:01:07 +00:00
|
|
|
libs = []
|
|
|
|
if (is_android && current_toolchain != host_toolchain) {
|
|
|
|
libs += [ "log" ]
|
|
|
|
}
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2015-10-21 00:37:28 +00:00
|
|
|
# This config should only be applied to code that needs to be explicitly
|
|
|
|
# aware of whether we are using startup data or not.
|
|
|
|
config("external_startup_data") {
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
defines = [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 = []
|
|
|
|
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_enable_disassembler) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_DISASSEMBLER" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_enable_gdbjit) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_object_print) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "OBJECT_PRINT" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_enable_verify_heap) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "VERIFY_HEAP" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_interpreted_regexp) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_INTERPRETED_REGEXP" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_deprecation_warnings) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_DEPRECATION_WARNINGS" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_imminent_deprecation_warnings) {
|
|
|
|
defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
|
|
|
|
}
|
|
|
|
if (v8_enable_i18n_support) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "V8_I18N_SUPPORT" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_enable_handle_zapping) {
|
2015-01-08 13:21:52 +00:00
|
|
|
defines += [ "ENABLE_HANDLE_ZAPPING" ]
|
2014-05-06 15:01:24 +00:00
|
|
|
}
|
2016-04-08 14:16:47 +00:00
|
|
|
if (v8_use_external_startup_data) {
|
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-01-20 14:33:58 +00:00
|
|
|
if (v8_target_arch == "arm") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_ARM" ]
|
2016-05-02 08:10:32 +00:00
|
|
|
if (arm_version == 7) {
|
|
|
|
defines += [ "CAN_USE_ARMV7_INSTRUCTIONS" ]
|
|
|
|
}
|
|
|
|
if (arm_fpu == "vfpv3-d16") {
|
|
|
|
defines += [ "CAN_USE_VFP3_INSTRUCTIONS" ]
|
|
|
|
} else if (arm_fpu == "vfpv3") {
|
2015-01-20 14:33:58 +00:00
|
|
|
defines += [
|
|
|
|
"CAN_USE_VFP3_INSTRUCTIONS",
|
|
|
|
"CAN_USE_VFP32DREGS",
|
2016-05-02 08:10:32 +00:00
|
|
|
]
|
|
|
|
} else if (arm_fpu == "neon") {
|
|
|
|
defines += [
|
|
|
|
"CAN_USE_VFP3_INSTRUCTIONS",
|
|
|
|
"CAN_USE_VFP32DREGS",
|
|
|
|
"CAN_USE_NEON",
|
2015-01-20 14:33:58 +00:00
|
|
|
]
|
|
|
|
}
|
2016-05-10 10:11:06 +00:00
|
|
|
|
2015-01-20 14:33:58 +00:00
|
|
|
# TODO(jochen): Add support for arm_test_noprobe.
|
2016-05-02 08:10:32 +00:00
|
|
|
|
|
|
|
if (current_cpu != "arm") {
|
|
|
|
# These defines ares used for the ARM simulator.
|
|
|
|
if (arm_float_abi == "hard") {
|
|
|
|
defines += [ "USE_EABI_HARDFLOAT=1" ]
|
|
|
|
} else if (arm_float_abi == "softfp") {
|
|
|
|
defines += [ "USE_EABI_HARDFLOAT=0" ]
|
|
|
|
}
|
|
|
|
}
|
2015-01-20 14:33:58 +00:00
|
|
|
}
|
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
|
|
|
}
|
2016-05-10 10:11:06 +00:00
|
|
|
|
2016-05-02 08:10:32 +00:00
|
|
|
# TODO(jochen): Add support for mips.
|
2015-03-17 23:13:00 +00:00
|
|
|
if (v8_target_arch == "mipsel") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_MIPS" ]
|
2016-05-02 08:10:32 +00:00
|
|
|
if (v8_can_use_fpu_instructions) {
|
|
|
|
defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
|
|
|
|
}
|
|
|
|
if (v8_use_mips_abi_hardfloat) {
|
|
|
|
defines += [
|
|
|
|
"__mips_hard_float=1",
|
|
|
|
"CAN_USE_FPU_INSTRUCTIONS",
|
|
|
|
]
|
|
|
|
} else {
|
|
|
|
defines += [ "__mips_soft_float=1" ]
|
|
|
|
}
|
|
|
|
if (mips_arch_variant == "r6") {
|
|
|
|
defines += [
|
|
|
|
"_MIPS_ARCH_MIPS32R6",
|
|
|
|
"FPU_MODE_FP64",
|
|
|
|
]
|
|
|
|
} else if (mips_arch_variant == "r2") {
|
|
|
|
defines += [ "_MIPS_ARCH_MIPS32R2" ]
|
|
|
|
if (mips_fpu_mode == "fp64") {
|
|
|
|
defines += [ "FPU_MODE_FP64" ]
|
|
|
|
} else if (mips_fpu_mode == "fpxx") {
|
|
|
|
defines += [ "FPU_MODE_FPXX" ]
|
|
|
|
} else if (mips_fpu_mode == "fp32") {
|
|
|
|
defines += [ "FPU_MODE_FP32" ]
|
|
|
|
}
|
|
|
|
} else if (mips_arch_variant == "r1") {
|
|
|
|
defines += [ "FPU_MODE_FP32" ]
|
|
|
|
}
|
2016-05-10 10:11:06 +00:00
|
|
|
|
2016-05-02 08:10:32 +00:00
|
|
|
# TODO(jochen): Add support for mips_arch_variant rx and loongson.
|
2015-03-17 23:13:00 +00:00
|
|
|
}
|
2016-05-10 10:11:06 +00:00
|
|
|
|
2016-05-02 08:10:32 +00:00
|
|
|
# TODO(jochen): Add support for mips64.
|
2015-03-17 23:13:00 +00:00
|
|
|
if (v8_target_arch == "mips64el") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_MIPS64" ]
|
2016-05-02 08:10:32 +00:00
|
|
|
if (v8_can_use_fpu_instructions) {
|
|
|
|
defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
|
|
|
|
}
|
2016-05-10 10:11:06 +00:00
|
|
|
|
2016-05-02 08:10:32 +00:00
|
|
|
# TODO(jochen): Add support for big endian host byteorder.
|
|
|
|
defines += [ "V8_TARGET_ARCH_MIPS64_LE" ]
|
|
|
|
if (v8_use_mips_abi_hardfloat) {
|
|
|
|
defines += [
|
|
|
|
"__mips_hard_float=1",
|
|
|
|
"CAN_USE_FPU_INSTRUCTIONS",
|
|
|
|
]
|
|
|
|
} else {
|
|
|
|
defines += [ "__mips_soft_float=1" ]
|
|
|
|
}
|
|
|
|
if (mips_arch_variant == "r6") {
|
|
|
|
defines += [ "_MIPS_ARCH_MIPS64R6" ]
|
|
|
|
} else if (mips_arch_variant == "r2") {
|
|
|
|
defines += [ "_MIPS_ARCH_MIPS64R2" ]
|
|
|
|
}
|
2015-03-17 23:13:00 +00:00
|
|
|
}
|
2016-01-14 17:16:10 +00:00
|
|
|
if (v8_target_arch == "s390") {
|
|
|
|
defines += [ "V8_TARGET_ARCH_S390" ]
|
2016-04-29 12:24:58 +00:00
|
|
|
}
|
2016-01-14 17:16:10 +00:00
|
|
|
if (v8_target_arch == "s390x") {
|
|
|
|
defines += [
|
|
|
|
"V8_TARGET_ARCH_S390",
|
|
|
|
"V8_TARGET_ARCH_S390X",
|
|
|
|
]
|
|
|
|
}
|
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
|
|
|
}
|
2016-04-29 12:24:58 +00:00
|
|
|
|
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",
|
2016-04-12 13:47:44 +00:00
|
|
|
"TRACE_MAPS",
|
2014-05-26 07:29:39 +00:00
|
|
|
]
|
2016-04-12 13:47:44 +00:00
|
|
|
if (!v8_optimized_debug) {
|
|
|
|
defines += [ "ENABLE_SLOW_DCHECKS" ]
|
|
|
|
}
|
2014-05-26 07:29:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
###############################################################################
|
|
|
|
# Templates
|
|
|
|
#
|
|
|
|
|
|
|
|
template("v8_source_set") {
|
|
|
|
source_set(target_name) {
|
|
|
|
forward_variables_from(invoker, "*", ["configs"])
|
|
|
|
configs += invoker.configs
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
configs += [
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
|
|
|
|
|
|
|
if (!is_debug || v8_optimized_debug) {
|
|
|
|
configs -= [ "//build/config/compiler:default_optimization" ]
|
|
|
|
configs += [ "//build/config/compiler:optimize_max" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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.
|
2016-03-31 07:30:16 +00:00
|
|
|
inputs = [
|
|
|
|
"tools/jsmin.py",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2016-03-31 07:30:16 +00:00
|
|
|
# NOSORT
|
2014-05-05 11:06:26 +00:00
|
|
|
sources = [
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/macros.py",
|
2015-05-15 15:09:46 +00:00
|
|
|
"src/messages.h",
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/prologue.js",
|
|
|
|
"src/js/runtime.js",
|
|
|
|
"src/js/v8natives.js",
|
|
|
|
"src/js/symbol.js",
|
|
|
|
"src/js/array.js",
|
|
|
|
"src/js/string.js",
|
|
|
|
"src/js/uri.js",
|
|
|
|
"src/js/math.js",
|
2015-03-09 13:25:37 +00:00
|
|
|
"src/third_party/fdlibm/fdlibm.js",
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/regexp.js",
|
|
|
|
"src/js/arraybuffer.js",
|
|
|
|
"src/js/typedarray.js",
|
|
|
|
"src/js/iterator-prototype.js",
|
|
|
|
"src/js/collection.js",
|
|
|
|
"src/js/weak-collection.js",
|
|
|
|
"src/js/collection-iterator.js",
|
|
|
|
"src/js/promise.js",
|
|
|
|
"src/js/messages.js",
|
|
|
|
"src/js/json.js",
|
|
|
|
"src/js/array-iterator.js",
|
|
|
|
"src/js/string-iterator.js",
|
|
|
|
"src/js/templates.js",
|
2015-10-28 15:57:01 +00:00
|
|
|
"src/js/spread.js",
|
2016-03-21 19:39:16 +00:00
|
|
|
"src/js/proxy.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) {
|
2015-10-13 09:38:08 +00:00
|
|
|
sources += [ "src/js/i18n.js" ]
|
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/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
|
|
|
}
|
|
|
|
|
|
|
|
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.
|
2016-03-31 07:30:16 +00:00
|
|
|
inputs = [
|
|
|
|
"tools/jsmin.py",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
|
2016-03-31 07:30:16 +00:00
|
|
|
# NOSORT
|
2014-05-05 11:06:26 +00:00
|
|
|
sources = [
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/macros.py",
|
2015-05-15 15:09:46 +00:00
|
|
|
"src/messages.h",
|
2016-05-17 00:26:53 +00:00
|
|
|
"src/js/harmony-async-await.js",
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/harmony-atomics.js",
|
2016-03-24 22:26:15 +00:00
|
|
|
"src/js/harmony-regexp-exec.js",
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/harmony-sharedarraybuffer.js",
|
2015-12-10 23:57:39 +00:00
|
|
|
"src/js/harmony-simd.js",
|
2016-01-04 19:39:52 +00:00
|
|
|
"src/js/harmony-species.js",
|
2015-12-28 16:38:37 +00:00
|
|
|
"src/js/harmony-unicode-regexps.js",
|
2016-03-24 17:14:53 +00:00
|
|
|
"src/js/harmony-string-padding.js",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/js/promise-extra.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
|
|
|
]
|
|
|
|
|
Use ICU case conversion/transliterator for case conversion
When I18N is enabled, use ICU's case conversion API and transliteration
API [1] to implement String.prototype.to{Upper,Lower}Case and
String.prototype.toLocale{Upper,Lower}Case.
* ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js
* The above 4 functions are overridden with those in i18n.js when
--icu_case_mapping flag is turned on. To control the override by the flag,
they're overriden in icu-case-mapping.js
Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't
support locale-sensitive case conversion for Turkic languages (az, tr),
Greek (el) and Lithuanian (lt).
Before ICU APIs for the most general case are called, a fast-path for Latin-1
is tried. It's taken from Blink and adopted as necessary. This fast path
is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken
when a locale (explicitly specified or default) is not in {az, el, lt, tr}.
With these changes, a build with --icu_case_mapping=true passes a bunch
of tests in test262/intl402/Strings/* and intl/* that failed before.
Handling of pure ASCII strings (aligned at word boundary) are not as fast
as Unibrow's implementation that uses word-by-word case conversion. OTOH,
Latin-1 input handling is faster than Unibrow. General Unicode input
handling is slower but more accurate.
See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark.
This CL started with http://crrev.com/1544023002#ps200001 by littledan@,
but has changed significantly since.
[1] See why transliteration API is needed for uppercasing in Greek.
http://bugs.icu-project.org/trac/ticket/10582
R=yangguo
BUG=v8:4476,v8:4477
LOG=Y
TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case,
intl/general/case*
Review-Url: https://codereview.chromium.org/1812673005
Cr-Commit-Position: refs/heads/master@{#36187}
2016-05-11 19:01:41 +00:00
|
|
|
if (v8_enable_i18n_support) {
|
2016-05-12 02:41:39 +00:00
|
|
|
sources += [
|
|
|
|
"src/js/icu-case-mapping.js",
|
|
|
|
"src/js/intl-extra.js",
|
|
|
|
]
|
Use ICU case conversion/transliterator for case conversion
When I18N is enabled, use ICU's case conversion API and transliteration
API [1] to implement String.prototype.to{Upper,Lower}Case and
String.prototype.toLocale{Upper,Lower}Case.
* ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js
* The above 4 functions are overridden with those in i18n.js when
--icu_case_mapping flag is turned on. To control the override by the flag,
they're overriden in icu-case-mapping.js
Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't
support locale-sensitive case conversion for Turkic languages (az, tr),
Greek (el) and Lithuanian (lt).
Before ICU APIs for the most general case are called, a fast-path for Latin-1
is tried. It's taken from Blink and adopted as necessary. This fast path
is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken
when a locale (explicitly specified or default) is not in {az, el, lt, tr}.
With these changes, a build with --icu_case_mapping=true passes a bunch
of tests in test262/intl402/Strings/* and intl/* that failed before.
Handling of pure ASCII strings (aligned at word boundary) are not as fast
as Unibrow's implementation that uses word-by-word case conversion. OTOH,
Latin-1 input handling is faster than Unibrow. General Unicode input
handling is slower but more accurate.
See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark.
This CL started with http://crrev.com/1544023002#ps200001 by littledan@,
but has changed significantly since.
[1] See why transliteration API is needed for uppercasing in Greek.
http://bugs.icu-project.org/trac/ticket/10582
R=yangguo
BUG=v8:4476,v8:4477
LOG=Y
TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case,
intl/general/case*
Review-Url: https://codereview.chromium.org/1812673005
Cr-Commit-Position: refs/heads/master@{#36187}
2016-05-11 19:01:41 +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.
|
2016-03-31 07:30:16 +00:00
|
|
|
inputs = [
|
|
|
|
"tools/jsmin.py",
|
|
|
|
]
|
2015-05-08 08:44:47 +00:00
|
|
|
|
|
|
|
sources = v8_extra_library_files
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/extras-libraries.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = [
|
2016-03-31 07:30:16 +00:00
|
|
|
rebase_path("$target_gen_dir/extras-libraries.cc", root_build_dir),
|
2015-05-08 08:44:47 +00:00
|
|
|
"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.
|
2016-03-31 07:30:16 +00:00
|
|
|
inputs = [
|
|
|
|
"tools/jsmin.py",
|
|
|
|
]
|
2015-08-20 00:01:07 +00:00
|
|
|
|
|
|
|
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",
|
2016-03-31 07:30:16 +00:00
|
|
|
rebase_path("$target_gen_dir/libraries_experimental_extras.bin",
|
|
|
|
root_build_dir),
|
2015-08-20 00:01:07 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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"
|
|
|
|
|
2016-03-31 07:30:16 +00:00
|
|
|
# NOSORT
|
2015-01-20 11:31:44 +00:00
|
|
|
inputs = [
|
|
|
|
"src/d8.js",
|
2015-10-13 09:38:08 +00:00
|
|
|
"src/js/macros.py",
|
2015-01-20 11:31:44 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"$target_gen_dir/d8-js.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
|
|
|
|
rebase_path(inputs, root_build_dir)
|
|
|
|
}
|
|
|
|
|
2015-11-05 17:28:57 +00:00
|
|
|
if (is_android) {
|
|
|
|
android_assets("v8_external_startup_data_assets") {
|
|
|
|
if (v8_use_external_startup_data) {
|
|
|
|
deps = [
|
|
|
|
"//v8",
|
|
|
|
]
|
2015-11-08 01:44:35 +00:00
|
|
|
renaming_sources = v8_external_startup_data_renaming_sources
|
|
|
|
renaming_destinations = v8_external_startup_data_renaming_destinations
|
2015-11-05 17:28:57 +00:00
|
|
|
disable_compression = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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-01-08 13:21:52 +00:00
|
|
|
":js2c_experimental",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2016-03-31 07:30:16 +00:00
|
|
|
":js2c_extras",
|
2014-06-23 13:52:17 +00:00
|
|
|
]
|
|
|
|
|
2016-03-31 13:57:24 +00:00
|
|
|
# NOSORT
|
2014-06-23 13:52:17 +00:00
|
|
|
sources = [
|
|
|
|
"$target_gen_dir/libraries.bin",
|
2015-01-08 13:21:52 +00:00
|
|
|
"$target_gen_dir/libraries_experimental.bin",
|
2016-03-31 07:30:16 +00:00
|
|
|
"$target_gen_dir/libraries_extras.bin",
|
2016-03-31 13:57:24 +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"
|
|
|
|
|
2016-03-31 11:12:10 +00:00
|
|
|
# NOSORT
|
2014-05-05 11:06:26 +00:00
|
|
|
sources = [
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/objects.h",
|
2016-03-31 11:12:10 +00:00
|
|
|
"src/objects-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
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),
|
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)
|
|
|
|
#
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_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",
|
|
|
|
":js2c_experimental",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2016-03-31 07:30:16 +00:00
|
|
|
":js2c_extras",
|
2014-05-05 11:06:26 +00:00
|
|
|
":v8_base",
|
|
|
|
]
|
|
|
|
|
|
|
|
sources = [
|
2016-03-31 07:30:16 +00:00
|
|
|
"$target_gen_dir/experimental-extras-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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"$target_gen_dir/libraries.cc",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/snapshot-empty.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_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",
|
|
|
|
":js2c_experimental",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2016-03-31 07:30:16 +00:00
|
|
|
":js2c_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 = [
|
2016-03-31 07:30:16 +00:00
|
|
|
"$target_gen_dir/experimental-extras-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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"$target_gen_dir/libraries.cc",
|
2014-06-03 06:50:46 +00:00
|
|
|
"$target_gen_dir/snapshot.cc",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
2014-06-03 06:50:46 +00:00
|
|
|
}
|
|
|
|
|
2014-06-23 13:52:17 +00:00
|
|
|
if (v8_use_external_startup_data) {
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_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",
|
|
|
|
":js2c_experimental",
|
2015-08-20 00:01:07 +00:00
|
|
|
":js2c_experimental_extras",
|
2016-03-31 07:30:16 +00:00
|
|
|
":js2c_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
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
2014-06-23 13:52:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_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-12-17 18:48:07 +00:00
|
|
|
# TODO(fmeawad): This needs to be updated to support standalone V8 builds.
|
|
|
|
"../base/trace_event/common/trace_event_common.h",
|
2015-06-27 19:39:42 +00:00
|
|
|
"include/v8-debug.h",
|
2015-12-11 09:53:50 +00:00
|
|
|
"include/v8-experimental.h",
|
2015-06-27 19:39:42 +00:00
|
|
|
"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",
|
2015-10-23 08:28:25 +00:00
|
|
|
"src/address-map.cc",
|
|
|
|
"src/address-map.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/allocation-site-scopes.cc",
|
|
|
|
"src/allocation-site-scopes.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/allocation.cc",
|
|
|
|
"src/allocation.h",
|
2016-03-10 12:14:46 +00:00
|
|
|
"src/api-arguments.cc",
|
|
|
|
"src/api-arguments.h",
|
2015-12-11 09:53:50 +00:00
|
|
|
"src/api-experimental.cc",
|
|
|
|
"src/api-experimental.h",
|
2015-02-04 13:01:34 +00:00
|
|
|
"src/api-natives.cc",
|
|
|
|
"src/api-natives.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/api.cc",
|
|
|
|
"src/api.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arguments.cc",
|
|
|
|
"src/arguments.h",
|
|
|
|
"src/assembler.cc",
|
|
|
|
"src/assembler.h",
|
|
|
|
"src/assert-scope.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/assert-scope.h",
|
2016-01-11 12:41:44 +00:00
|
|
|
"src/ast/ast-expression-rewriter.cc",
|
|
|
|
"src/ast/ast-expression-rewriter.h",
|
2015-11-26 16:22:34 +00:00
|
|
|
"src/ast/ast-expression-visitor.cc",
|
|
|
|
"src/ast/ast-expression-visitor.h",
|
|
|
|
"src/ast/ast-literal-reindexer.cc",
|
|
|
|
"src/ast/ast-literal-reindexer.h",
|
|
|
|
"src/ast/ast-numbering.cc",
|
|
|
|
"src/ast/ast-numbering.h",
|
Remove Expression::bounds_, in order to conserve memory during parsing.
Expression::bounds_ is used only by a subset of compile passes, but the
data structure occupies space for every Expression node ever parsed. This
unneccessarily increases memory consumption. Particularly, peak memory
consumption during startup, which may cause out-of-memory errors.
This CL
- removes Expression::bounds_;
- introduces an AstTypeBounds container, which mappes Expression* to Bounds;
- modifies the code that actually requires bounds information, namely
Crankshaft compile and AsmWasmBuilder, to instantiate such an AstTypeBounds
container before typing and to pass it to the code that consumes this
information; and
- modifies all accesses to Expression::bounds_ to instead access the bounds
via the container instead.
Additionally, this rewrites test-ast-expression-visitor. The reason is that
this code attempted to test AstExpressionVisitor but did so exclusively
through its subclass ExpressionTypeCollector, meaning that the test dealt
almost exclusively with type bounds despite the class-under-test having
no knowledge or functionality related to it. Worse, the test was written
in a way to assume that type bounds were available outside & after
compilation, which is something this change changes.
BUG=v8:4947
Review-Url: https://codereview.chromium.org/1968383002
Cr-Commit-Position: refs/heads/master@{#36222}
2016-05-12 22:24:03 +00:00
|
|
|
"src/ast/ast-type-bounds.h",
|
2015-11-26 16:22:34 +00:00
|
|
|
"src/ast/ast-value-factory.cc",
|
|
|
|
"src/ast/ast-value-factory.h",
|
|
|
|
"src/ast/ast.cc",
|
|
|
|
"src/ast/ast.h",
|
|
|
|
"src/ast/modules.cc",
|
|
|
|
"src/ast/modules.h",
|
|
|
|
"src/ast/prettyprinter.cc",
|
|
|
|
"src/ast/prettyprinter.h",
|
|
|
|
"src/ast/scopeinfo.cc",
|
|
|
|
"src/ast/scopeinfo.h",
|
|
|
|
"src/ast/scopes.cc",
|
|
|
|
"src/ast/scopes.h",
|
|
|
|
"src/ast/variables.cc",
|
|
|
|
"src/ast/variables.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",
|
|
|
|
"src/cached-powers.cc",
|
|
|
|
"src/cached-powers.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/cancelable-task.cc",
|
|
|
|
"src/cancelable-task.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/char-predicates-inl.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/char-predicates.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/char-predicates.h",
|
|
|
|
"src/checks.h",
|
2014-09-11 13:18:58 +00:00
|
|
|
"src/code-factory.cc",
|
|
|
|
"src/code-factory.h",
|
2016-04-18 11:57:06 +00:00
|
|
|
"src/code-stub-assembler.cc",
|
|
|
|
"src/code-stub-assembler.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/code-stubs-hydrogen.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/code-stubs.cc",
|
|
|
|
"src/code-stubs.h",
|
|
|
|
"src/codegen.cc",
|
|
|
|
"src/codegen.h",
|
2016-03-01 14:42:57 +00:00
|
|
|
"src/collector.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler.cc",
|
|
|
|
"src/compiler.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-11-02 18:29:47 +00:00
|
|
|
"src/compiler/access-info.cc",
|
|
|
|
"src/compiler/access-info.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",
|
2015-10-17 17:50:11 +00:00
|
|
|
"src/compiler/branch-elimination.cc",
|
|
|
|
"src/compiler/branch-elimination.h",
|
2015-12-16 16:29:09 +00:00
|
|
|
"src/compiler/bytecode-branch-analysis.cc",
|
|
|
|
"src/compiler/bytecode-branch-analysis.h",
|
2015-09-10 16:21:34 +00:00
|
|
|
"src/compiler/bytecode-graph-builder.cc",
|
|
|
|
"src/compiler/bytecode-graph-builder.h",
|
2016-03-31 07:30:16 +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",
|
2016-04-18 11:57:06 +00:00
|
|
|
"src/compiler/code-assembler.cc",
|
|
|
|
"src/compiler/code-assembler.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",
|
2016-04-18 08:28:33 +00:00
|
|
|
"src/compiler/effect-control-linearizer.cc",
|
|
|
|
"src/compiler/effect-control-linearizer.h",
|
2015-12-02 10:53:28 +00:00
|
|
|
"src/compiler/escape-analysis-reducer.cc",
|
|
|
|
"src/compiler/escape-analysis-reducer.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/escape-analysis.cc",
|
|
|
|
"src/compiler/escape-analysis.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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/frame.cc",
|
|
|
|
"src/compiler/frame.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",
|
2015-12-15 14:51:43 +00:00
|
|
|
"src/compiler/instruction-scheduler.cc",
|
|
|
|
"src/compiler/instruction-scheduler.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/instruction-selector-impl.h",
|
|
|
|
"src/compiler/instruction-selector.cc",
|
|
|
|
"src/compiler/instruction-selector.h",
|
|
|
|
"src/compiler/instruction.cc",
|
|
|
|
"src/compiler/instruction.h",
|
2016-02-04 09:40:55 +00:00
|
|
|
"src/compiler/int64-lowering.cc",
|
|
|
|
"src/compiler/int64-lowering.h",
|
2014-09-19 15:02:58 +00:00
|
|
|
"src/compiler/js-builtin-reducer.cc",
|
|
|
|
"src/compiler/js-builtin-reducer.h",
|
2015-11-13 12:19:37 +00:00
|
|
|
"src/compiler/js-call-reducer.cc",
|
|
|
|
"src/compiler/js-call-reducer.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-context-specialization.cc",
|
|
|
|
"src/compiler/js-context-specialization.h",
|
2016-02-08 12:33:44 +00:00
|
|
|
"src/compiler/js-create-lowering.cc",
|
|
|
|
"src/compiler/js-create-lowering.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",
|
2015-11-03 14:20:15 +00:00
|
|
|
"src/compiler/js-global-object-specialization.cc",
|
|
|
|
"src/compiler/js-global-object-specialization.h",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/js-graph.cc",
|
|
|
|
"src/compiler/js-graph.h",
|
2015-10-07 12:18:21 +00:00
|
|
|
"src/compiler/js-inlining-heuristic.cc",
|
|
|
|
"src/compiler/js-inlining-heuristic.h",
|
2016-03-31 07:30:16 +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",
|
2015-10-19 08:20:51 +00:00
|
|
|
"src/compiler/js-native-context-specialization.cc",
|
|
|
|
"src/compiler/js-native-context-specialization.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",
|
|
|
|
"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",
|
2014-12-16 09:36:16 +00:00
|
|
|
"src/compiler/loop-analysis.cc",
|
|
|
|
"src/compiler/loop-analysis.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/loop-peeling.cc",
|
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",
|
2016-05-10 10:11:06 +00:00
|
|
|
"src/compiler/memory-optimizer.cc",
|
|
|
|
"src/compiler/memory-optimizer.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-10-23 09:14:35 +00:00
|
|
|
"src/compiler/pipeline-statistics.cc",
|
|
|
|
"src/compiler/pipeline-statistics.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/pipeline.cc",
|
|
|
|
"src/compiler/pipeline.h",
|
2015-07-07 15:02:39 +00:00
|
|
|
"src/compiler/raw-machine-assembler.cc",
|
|
|
|
"src/compiler/raw-machine-assembler.h",
|
2014-11-10 11:28:54 +00:00
|
|
|
"src/compiler/register-allocator-verifier.cc",
|
|
|
|
"src/compiler/register-allocator-verifier.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/register-allocator.cc",
|
|
|
|
"src/compiler/register-allocator.h",
|
2015-11-25 09:59:03 +00:00
|
|
|
"src/compiler/representation-change.cc",
|
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",
|
2015-12-01 09:03:10 +00:00
|
|
|
"src/compiler/type-hint-analyzer.cc",
|
|
|
|
"src/compiler/type-hint-analyzer.h",
|
|
|
|
"src/compiler/type-hints.cc",
|
|
|
|
"src/compiler/type-hints.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",
|
2016-01-05 18:06:34 +00:00
|
|
|
"src/compiler/wasm-compiler.cc",
|
|
|
|
"src/compiler/wasm-compiler.h",
|
|
|
|
"src/compiler/wasm-linkage.cc",
|
2014-10-21 18:16:50 +00:00
|
|
|
"src/compiler/zone-pool.cc",
|
|
|
|
"src/compiler/zone-pool.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",
|
2016-05-11 12:59:46 +00:00
|
|
|
"src/counters-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/counters.cc",
|
|
|
|
"src/counters.h",
|
2016-03-02 17:30:34 +00:00
|
|
|
"src/crankshaft/compilation-phase.cc",
|
|
|
|
"src/crankshaft/compilation-phase.h",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/crankshaft/hydrogen-alias-analysis.h",
|
|
|
|
"src/crankshaft/hydrogen-bce.cc",
|
|
|
|
"src/crankshaft/hydrogen-bce.h",
|
|
|
|
"src/crankshaft/hydrogen-canonicalize.cc",
|
|
|
|
"src/crankshaft/hydrogen-canonicalize.h",
|
|
|
|
"src/crankshaft/hydrogen-check-elimination.cc",
|
|
|
|
"src/crankshaft/hydrogen-check-elimination.h",
|
|
|
|
"src/crankshaft/hydrogen-dce.cc",
|
|
|
|
"src/crankshaft/hydrogen-dce.h",
|
|
|
|
"src/crankshaft/hydrogen-dehoist.cc",
|
|
|
|
"src/crankshaft/hydrogen-dehoist.h",
|
|
|
|
"src/crankshaft/hydrogen-environment-liveness.cc",
|
|
|
|
"src/crankshaft/hydrogen-environment-liveness.h",
|
|
|
|
"src/crankshaft/hydrogen-escape-analysis.cc",
|
|
|
|
"src/crankshaft/hydrogen-escape-analysis.h",
|
|
|
|
"src/crankshaft/hydrogen-flow-engine.h",
|
|
|
|
"src/crankshaft/hydrogen-gvn.cc",
|
|
|
|
"src/crankshaft/hydrogen-gvn.h",
|
|
|
|
"src/crankshaft/hydrogen-infer-representation.cc",
|
|
|
|
"src/crankshaft/hydrogen-infer-representation.h",
|
|
|
|
"src/crankshaft/hydrogen-infer-types.cc",
|
|
|
|
"src/crankshaft/hydrogen-infer-types.h",
|
|
|
|
"src/crankshaft/hydrogen-instructions.cc",
|
|
|
|
"src/crankshaft/hydrogen-instructions.h",
|
|
|
|
"src/crankshaft/hydrogen-load-elimination.cc",
|
|
|
|
"src/crankshaft/hydrogen-load-elimination.h",
|
|
|
|
"src/crankshaft/hydrogen-mark-deoptimize.cc",
|
|
|
|
"src/crankshaft/hydrogen-mark-deoptimize.h",
|
|
|
|
"src/crankshaft/hydrogen-mark-unreachable.cc",
|
|
|
|
"src/crankshaft/hydrogen-mark-unreachable.h",
|
|
|
|
"src/crankshaft/hydrogen-osr.cc",
|
|
|
|
"src/crankshaft/hydrogen-osr.h",
|
|
|
|
"src/crankshaft/hydrogen-range-analysis.cc",
|
|
|
|
"src/crankshaft/hydrogen-range-analysis.h",
|
|
|
|
"src/crankshaft/hydrogen-redundant-phi.cc",
|
|
|
|
"src/crankshaft/hydrogen-redundant-phi.h",
|
|
|
|
"src/crankshaft/hydrogen-removable-simulates.cc",
|
|
|
|
"src/crankshaft/hydrogen-removable-simulates.h",
|
|
|
|
"src/crankshaft/hydrogen-representation-changes.cc",
|
|
|
|
"src/crankshaft/hydrogen-representation-changes.h",
|
|
|
|
"src/crankshaft/hydrogen-sce.cc",
|
|
|
|
"src/crankshaft/hydrogen-sce.h",
|
|
|
|
"src/crankshaft/hydrogen-store-elimination.cc",
|
|
|
|
"src/crankshaft/hydrogen-store-elimination.h",
|
|
|
|
"src/crankshaft/hydrogen-types.cc",
|
|
|
|
"src/crankshaft/hydrogen-types.h",
|
|
|
|
"src/crankshaft/hydrogen-uint32-analysis.cc",
|
|
|
|
"src/crankshaft/hydrogen-uint32-analysis.h",
|
|
|
|
"src/crankshaft/hydrogen.cc",
|
|
|
|
"src/crankshaft/hydrogen.h",
|
|
|
|
"src/crankshaft/lithium-allocator-inl.h",
|
|
|
|
"src/crankshaft/lithium-allocator.cc",
|
|
|
|
"src/crankshaft/lithium-allocator.h",
|
|
|
|
"src/crankshaft/lithium-codegen.cc",
|
|
|
|
"src/crankshaft/lithium-codegen.h",
|
|
|
|
"src/crankshaft/lithium.cc",
|
|
|
|
"src/crankshaft/lithium.h",
|
|
|
|
"src/crankshaft/typing.cc",
|
|
|
|
"src/crankshaft/typing.h",
|
|
|
|
"src/crankshaft/unique.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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",
|
|
|
|
"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",
|
2016-04-27 11:10:41 +00:00
|
|
|
"src/extensions/ignition-statistics-extension.cc",
|
|
|
|
"src/extensions/ignition-statistics-extension.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/extensions/statistics-extension.cc",
|
|
|
|
"src/extensions/statistics-extension.h",
|
|
|
|
"src/extensions/trigger-failure-extension.cc",
|
|
|
|
"src/extensions/trigger-failure-extension.h",
|
2016-03-17 13:14:11 +00:00
|
|
|
"src/external-reference-table.cc",
|
|
|
|
"src/external-reference-table.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/factory.cc",
|
|
|
|
"src/factory.h",
|
2016-03-17 11:04:51 +00:00
|
|
|
"src/fast-accessor-assembler.cc",
|
|
|
|
"src/fast-accessor-assembler.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/fast-dtoa.cc",
|
|
|
|
"src/fast-dtoa.h",
|
2014-06-11 08:31:13 +00:00
|
|
|
"src/field-index-inl.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/field-index.h",
|
2016-02-16 10:22:23 +00:00
|
|
|
"src/field-type.cc",
|
|
|
|
"src/field-type.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",
|
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",
|
2016-01-26 09:23:11 +00:00
|
|
|
"src/heap-symbols.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",
|
2016-03-10 12:18:25 +00:00
|
|
|
"src/heap/page-parallel-job.h",
|
2016-02-16 12:34:30 +00:00
|
|
|
"src/heap/remembered-set.cc",
|
|
|
|
"src/heap/remembered-set.h",
|
2015-09-25 14:49:07 +00:00
|
|
|
"src/heap/scavenge-job.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/heap/scavenge-job.h",
|
2015-09-14 11:44:20 +00:00
|
|
|
"src/heap/scavenger-inl.h",
|
|
|
|
"src/heap/scavenger.cc",
|
|
|
|
"src/heap/scavenger.h",
|
2016-02-08 08:51:02 +00:00
|
|
|
"src/heap/slot-set.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.cc",
|
|
|
|
"src/heap/store-buffer.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/i18n.cc",
|
|
|
|
"src/i18n.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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/ic/ic-compiler.cc",
|
|
|
|
"src/ic/ic-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",
|
|
|
|
"src/ic/stub-cache.cc",
|
|
|
|
"src/ic/stub-cache.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/icu_util.cc",
|
|
|
|
"src/icu_util.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-08-18 13:46:43 +00:00
|
|
|
"src/interpreter/bytecode-array-builder.cc",
|
|
|
|
"src/interpreter/bytecode-array-builder.h",
|
2015-09-10 16:21:34 +00:00
|
|
|
"src/interpreter/bytecode-array-iterator.cc",
|
|
|
|
"src/interpreter/bytecode-array-iterator.h",
|
2016-05-12 19:18:07 +00:00
|
|
|
"src/interpreter/bytecode-array-writer.cc",
|
|
|
|
"src/interpreter/bytecode-array-writer.h",
|
2015-08-18 13:46:43 +00:00
|
|
|
"src/interpreter/bytecode-generator.cc",
|
|
|
|
"src/interpreter/bytecode-generator.h",
|
2016-05-12 19:18:07 +00:00
|
|
|
"src/interpreter/bytecode-peephole-optimizer.cc",
|
|
|
|
"src/interpreter/bytecode-peephole-optimizer.h",
|
|
|
|
"src/interpreter/bytecode-pipeline.cc",
|
|
|
|
"src/interpreter/bytecode-pipeline.h",
|
2016-01-14 13:43:14 +00:00
|
|
|
"src/interpreter/bytecode-register-allocator.cc",
|
|
|
|
"src/interpreter/bytecode-register-allocator.h",
|
2015-10-01 17:22:58 +00:00
|
|
|
"src/interpreter/bytecode-traits.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/interpreter/bytecodes.cc",
|
|
|
|
"src/interpreter/bytecodes.h",
|
2016-01-05 19:08:11 +00:00
|
|
|
"src/interpreter/constant-array-builder.cc",
|
|
|
|
"src/interpreter/constant-array-builder.h",
|
2015-10-01 15:04:09 +00:00
|
|
|
"src/interpreter/control-flow-builders.cc",
|
|
|
|
"src/interpreter/control-flow-builders.h",
|
2016-01-20 10:46:18 +00:00
|
|
|
"src/interpreter/handler-table-builder.cc",
|
|
|
|
"src/interpreter/handler-table-builder.h",
|
2016-02-10 16:38:49 +00:00
|
|
|
"src/interpreter/interpreter-assembler.cc",
|
|
|
|
"src/interpreter/interpreter-assembler.h",
|
2016-03-22 11:35:09 +00:00
|
|
|
"src/interpreter/interpreter-intrinsics.cc",
|
|
|
|
"src/interpreter/interpreter-intrinsics.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/interpreter/interpreter.cc",
|
|
|
|
"src/interpreter/interpreter.h",
|
2016-02-04 10:50:01 +00:00
|
|
|
"src/interpreter/source-position-table.cc",
|
|
|
|
"src/interpreter/source-position-table.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",
|
2016-02-10 11:28:13 +00:00
|
|
|
"src/json-parser.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/json-stringifier.h",
|
2016-03-07 19:25:12 +00:00
|
|
|
"src/keys.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/keys.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/log-inl.h",
|
|
|
|
"src/log-utils.cc",
|
|
|
|
"src/log-utils.h",
|
|
|
|
"src/log.cc",
|
|
|
|
"src/log.h",
|
2014-06-11 09:59:14 +00:00
|
|
|
"src/lookup.cc",
|
|
|
|
"src/lookup.h",
|
2015-12-03 13:33:14 +00:00
|
|
|
"src/machine-type.cc",
|
|
|
|
"src/machine-type.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/macro-assembler.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/messages.cc",
|
|
|
|
"src/messages.h",
|
|
|
|
"src/msan.h",
|
2015-11-13 12:32:08 +00:00
|
|
|
"src/objects-body-descriptors-inl.h",
|
|
|
|
"src/objects-body-descriptors.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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-11-26 16:22:34 +00:00
|
|
|
"src/parsing/expression-classifier.h",
|
|
|
|
"src/parsing/func-name-inferrer.cc",
|
|
|
|
"src/parsing/func-name-inferrer.h",
|
|
|
|
"src/parsing/parameter-initializer-rewriter.cc",
|
|
|
|
"src/parsing/parameter-initializer-rewriter.h",
|
2016-01-14 11:36:14 +00:00
|
|
|
"src/parsing/parser-base.h",
|
2015-11-26 16:22:34 +00:00
|
|
|
"src/parsing/parser.cc",
|
|
|
|
"src/parsing/parser.h",
|
|
|
|
"src/parsing/pattern-rewriter.cc",
|
|
|
|
"src/parsing/preparse-data-format.h",
|
|
|
|
"src/parsing/preparse-data.cc",
|
|
|
|
"src/parsing/preparse-data.h",
|
|
|
|
"src/parsing/preparser.cc",
|
|
|
|
"src/parsing/preparser.h",
|
|
|
|
"src/parsing/rewriter.cc",
|
|
|
|
"src/parsing/rewriter.h",
|
|
|
|
"src/parsing/scanner-character-streams.cc",
|
|
|
|
"src/parsing/scanner-character-streams.h",
|
|
|
|
"src/parsing/scanner.cc",
|
|
|
|
"src/parsing/scanner.h",
|
|
|
|
"src/parsing/token.cc",
|
|
|
|
"src/parsing/token.h",
|
2015-02-25 14:17:39 +00:00
|
|
|
"src/pending-compilation-error-handler.cc",
|
|
|
|
"src/pending-compilation-error-handler.h",
|
2016-03-29 06:23:56 +00:00
|
|
|
"src/perf-jit.cc",
|
|
|
|
"src/perf-jit.h",
|
2015-09-28 19:34:08 +00:00
|
|
|
"src/profiler/allocation-tracker.cc",
|
|
|
|
"src/profiler/allocation-tracker.h",
|
|
|
|
"src/profiler/circular-queue-inl.h",
|
|
|
|
"src/profiler/circular-queue.h",
|
|
|
|
"src/profiler/cpu-profiler-inl.h",
|
|
|
|
"src/profiler/cpu-profiler.cc",
|
|
|
|
"src/profiler/cpu-profiler.h",
|
|
|
|
"src/profiler/heap-profiler.cc",
|
|
|
|
"src/profiler/heap-profiler.h",
|
|
|
|
"src/profiler/heap-snapshot-generator-inl.h",
|
|
|
|
"src/profiler/heap-snapshot-generator.cc",
|
|
|
|
"src/profiler/heap-snapshot-generator.h",
|
|
|
|
"src/profiler/profile-generator-inl.h",
|
|
|
|
"src/profiler/profile-generator.cc",
|
|
|
|
"src/profiler/profile-generator.h",
|
|
|
|
"src/profiler/sampler.cc",
|
|
|
|
"src/profiler/sampler.h",
|
2016-01-22 16:36:40 +00:00
|
|
|
"src/profiler/sampling-heap-profiler.cc",
|
|
|
|
"src/profiler/sampling-heap-profiler.h",
|
2015-10-01 18:10:58 +00:00
|
|
|
"src/profiler/strings-storage.cc",
|
|
|
|
"src/profiler/strings-storage.h",
|
2015-09-28 19:34:08 +00:00
|
|
|
"src/profiler/unbound-queue-inl.h",
|
|
|
|
"src/profiler/unbound-queue.h",
|
2015-10-13 14:38:16 +00:00
|
|
|
"src/property-descriptor.cc",
|
|
|
|
"src/property-descriptor.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/property-details.h",
|
|
|
|
"src/property.cc",
|
|
|
|
"src/property.h",
|
2014-07-14 07:19:49 +00:00
|
|
|
"src/prototype.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",
|
2016-01-08 09:55:29 +00:00
|
|
|
"src/regexp/regexp-ast.cc",
|
|
|
|
"src/regexp/regexp-ast.h",
|
2015-08-13 06:55:21 +00:00
|
|
|
"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",
|
2016-01-08 09:55:29 +00:00
|
|
|
"src/regexp/regexp-parser.cc",
|
|
|
|
"src/regexp/regexp-parser.h",
|
2015-08-13 06:55:21 +00:00
|
|
|
"src/regexp/regexp-stack.cc",
|
|
|
|
"src/regexp/regexp-stack.h",
|
2015-10-02 16:55:12 +00:00
|
|
|
"src/register-configuration.cc",
|
|
|
|
"src/register-configuration.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",
|
2015-09-28 18:05:56 +00:00
|
|
|
"src/runtime/runtime-interpreter.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",
|
2015-09-10 13:04:15 +00:00
|
|
|
"src/runtime/runtime-operators.cc",
|
2014-09-30 10:46:04 +00:00
|
|
|
"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",
|
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",
|
2016-03-01 14:42:57 +00:00
|
|
|
"src/snapshot/code-serializer.cc",
|
|
|
|
"src/snapshot/code-serializer.h",
|
|
|
|
"src/snapshot/deserializer.cc",
|
|
|
|
"src/snapshot/deserializer.h",
|
2015-08-18 14:31:26 +00:00
|
|
|
"src/snapshot/natives-common.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/snapshot/natives.h",
|
2016-03-01 14:42:57 +00:00
|
|
|
"src/snapshot/partial-serializer.cc",
|
|
|
|
"src/snapshot/partial-serializer.h",
|
|
|
|
"src/snapshot/serializer-common.cc",
|
|
|
|
"src/snapshot/serializer-common.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/snapshot/serializer.cc",
|
|
|
|
"src/snapshot/serializer.h",
|
2015-03-27 15:28:55 +00:00
|
|
|
"src/snapshot/snapshot-common.cc",
|
|
|
|
"src/snapshot/snapshot-source-sink.cc",
|
|
|
|
"src/snapshot/snapshot-source-sink.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/snapshot/snapshot.h",
|
2016-03-01 14:42:57 +00:00
|
|
|
"src/snapshot/startup-serializer.cc",
|
|
|
|
"src/snapshot/startup-serializer.h",
|
2016-01-15 12:11:35 +00:00
|
|
|
"src/source-position.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/splay-tree-inl.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/splay-tree.h",
|
2015-08-14 12:11:29 +00:00
|
|
|
"src/startup-data-util.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/startup-data-util.h",
|
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",
|
|
|
|
"src/strtod.cc",
|
|
|
|
"src/strtod.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/third_party/fdlibm/fdlibm.cc",
|
|
|
|
"src/third_party/fdlibm/fdlibm.h",
|
2015-12-17 18:48:07 +00:00
|
|
|
"src/tracing/trace-event.cc",
|
|
|
|
"src/tracing/trace-event.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/transitions-inl.h",
|
|
|
|
"src/transitions.cc",
|
|
|
|
"src/transitions.h",
|
2015-10-28 13:31:10 +00:00
|
|
|
"src/type-cache.cc",
|
|
|
|
"src/type-cache.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.cc",
|
|
|
|
"src/types.h",
|
2015-09-01 18:30:34 +00:00
|
|
|
"src/typing-asm.cc",
|
|
|
|
"src/typing-asm.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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/unicode-inl.h",
|
|
|
|
"src/unicode.cc",
|
|
|
|
"src/unicode.h",
|
Reland of "[heap] Parallel newspace evacuation, semispace copy, and compaction \o/"
This reverts commit 85ba94f28ce4b5d64e4c148efb1fee85bdb6579b.
All parallelism can be turned off using --predictable, or --noparallel-compaction.
This patch completely parallelizes
- semispace copy: from space -> to space (within newspace)
- newspace evacuation: newspace -> oldspace
- oldspace compaction: oldspace -> oldspace
Previously newspace has been handled sequentially (semispace copy, newspace
evacuation) before compacting oldspace in parallel. However, on a high level
there are no dependencies between those two actions, hence we parallelize them
altogether. We base the number of evacuation tasks on the overall set of
to-be-processed pages (newspace + oldspace compaction pages).
Some low-level details:
- The hard cap on number of tasks has been lifted
- We cache store buffer entries locally before merging them back into the global
StoreBuffer in a finalization phase.
- We cache AllocationSite operations locally before merging them back into the
global pretenuring storage in a finalization phase.
- AllocationSite might be compacted while they would be needed for newspace
evacuation. To mitigate any problems we defer checking allocation sites for
newspace till merging locally buffered data.
CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel
BUG=chromium:524425
LOG=N
R=hpayer@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/1640563004
Cr-Commit-Position: refs/heads/master@{#33552}
2016-01-27 13:23:54 +00:00
|
|
|
"src/utils-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/utils.cc",
|
|
|
|
"src/utils.h",
|
|
|
|
"src/v8.cc",
|
|
|
|
"src/v8.h",
|
|
|
|
"src/v8memory.h",
|
|
|
|
"src/v8threads.cc",
|
|
|
|
"src/v8threads.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",
|
2016-01-05 18:06:34 +00:00
|
|
|
"src/wasm/asm-wasm-builder.cc",
|
|
|
|
"src/wasm/asm-wasm-builder.h",
|
|
|
|
"src/wasm/ast-decoder.cc",
|
|
|
|
"src/wasm/ast-decoder.h",
|
|
|
|
"src/wasm/decoder.h",
|
|
|
|
"src/wasm/encoder.cc",
|
|
|
|
"src/wasm/encoder.h",
|
2016-04-21 10:14:34 +00:00
|
|
|
"src/wasm/leb-helper.h",
|
2016-01-05 18:06:34 +00:00
|
|
|
"src/wasm/module-decoder.cc",
|
|
|
|
"src/wasm/module-decoder.h",
|
2016-04-21 10:14:34 +00:00
|
|
|
"src/wasm/switch-logic.cc",
|
|
|
|
"src/wasm/switch-logic.h",
|
2016-04-06 09:24:23 +00:00
|
|
|
"src/wasm/wasm-external-refs.cc",
|
2016-03-04 09:50:48 +00:00
|
|
|
"src/wasm/wasm-external-refs.h",
|
2016-04-29 12:24:58 +00:00
|
|
|
"src/wasm/wasm-function-name-table.cc",
|
|
|
|
"src/wasm/wasm-function-name-table.h",
|
2016-01-05 18:06:34 +00:00
|
|
|
"src/wasm/wasm-js.cc",
|
|
|
|
"src/wasm/wasm-js.h",
|
|
|
|
"src/wasm/wasm-macro-gen.h",
|
|
|
|
"src/wasm/wasm-module.cc",
|
|
|
|
"src/wasm/wasm-module.h",
|
|
|
|
"src/wasm/wasm-opcodes.cc",
|
|
|
|
"src/wasm/wasm-opcodes.h",
|
|
|
|
"src/wasm/wasm-result.cc",
|
|
|
|
"src/wasm/wasm-result.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/zone-allocator.h",
|
|
|
|
"src/zone-containers.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/zone.cc",
|
|
|
|
"src/zone.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 += [
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/compiler/ia32/code-generator-ia32.cc",
|
|
|
|
"src/compiler/ia32/instruction-codes-ia32.h",
|
|
|
|
"src/compiler/ia32/instruction-scheduler-ia32.cc",
|
|
|
|
"src/compiler/ia32/instruction-selector-ia32.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/crankshaft/ia32/lithium-codegen-ia32.cc",
|
|
|
|
"src/crankshaft/ia32/lithium-codegen-ia32.h",
|
|
|
|
"src/crankshaft/ia32/lithium-gap-resolver-ia32.cc",
|
|
|
|
"src/crankshaft/ia32/lithium-gap-resolver-ia32.h",
|
|
|
|
"src/crankshaft/ia32/lithium-ia32.cc",
|
|
|
|
"src/crankshaft/ia32/lithium-ia32.h",
|
|
|
|
"src/debug/ia32/debug-ia32.cc",
|
|
|
|
"src/full-codegen/ia32/full-codegen-ia32.cc",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/macro-assembler-ia32.cc",
|
|
|
|
"src/ia32/macro-assembler-ia32.h",
|
2014-09-30 08:22:16 +00:00
|
|
|
"src/ic/ia32/access-compiler-ia32.cc",
|
|
|
|
"src/ic/ia32/handler-compiler-ia32.cc",
|
2014-09-08 10:48:29 +00:00
|
|
|
"src/ic/ia32/ic-compiler-ia32.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/ic/ia32/ic-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 += [
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/compiler/x64/code-generator-x64.cc",
|
|
|
|
"src/compiler/x64/instruction-codes-x64.h",
|
2015-12-15 14:51:43 +00:00
|
|
|
"src/compiler/x64/instruction-scheduler-x64.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/compiler/x64/instruction-selector-x64.cc",
|
|
|
|
"src/crankshaft/x64/lithium-codegen-x64.cc",
|
|
|
|
"src/crankshaft/x64/lithium-codegen-x64.h",
|
|
|
|
"src/crankshaft/x64/lithium-gap-resolver-x64.cc",
|
|
|
|
"src/crankshaft/x64/lithium-gap-resolver-x64.h",
|
|
|
|
"src/crankshaft/x64/lithium-x64.cc",
|
|
|
|
"src/crankshaft/x64/lithium-x64.h",
|
|
|
|
"src/debug/x64/debug-x64.cc",
|
|
|
|
"src/full-codegen/x64/full-codegen-x64.cc",
|
|
|
|
"src/ic/x64/access-compiler-x64.cc",
|
|
|
|
"src/ic/x64/handler-compiler-x64.cc",
|
|
|
|
"src/ic/x64/ic-compiler-x64.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/ic/x64/ic-x64.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/ic/x64/stub-cache-x64.cc",
|
|
|
|
"src/regexp/x64/regexp-macro-assembler-x64.cc",
|
|
|
|
"src/regexp/x64/regexp-macro-assembler-x64.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/macro-assembler-x64.cc",
|
|
|
|
"src/x64/macro-assembler-x64.h",
|
|
|
|
]
|
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.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/arm/constants-arm.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/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",
|
2015-12-15 14:51:43 +00:00
|
|
|
"src/compiler/arm/instruction-scheduler-arm.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/arm/instruction-selector-arm.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/crankshaft/arm/lithium-arm.cc",
|
|
|
|
"src/crankshaft/arm/lithium-arm.h",
|
|
|
|
"src/crankshaft/arm/lithium-codegen-arm.cc",
|
|
|
|
"src/crankshaft/arm/lithium-codegen-arm.h",
|
|
|
|
"src/crankshaft/arm/lithium-gap-resolver-arm.cc",
|
|
|
|
"src/crankshaft/arm/lithium-gap-resolver-arm.h",
|
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 += [
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/arm64/assembler-arm64-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/assembler-arm64.cc",
|
|
|
|
"src/arm64/assembler-arm64.h",
|
|
|
|
"src/arm64/builtins-arm64.cc",
|
|
|
|
"src/arm64/code-stubs-arm64.cc",
|
|
|
|
"src/arm64/code-stubs-arm64.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/arm64/codegen-arm64.cc",
|
|
|
|
"src/arm64/codegen-arm64.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/constants-arm64.h",
|
|
|
|
"src/arm64/cpu-arm64.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/arm64/decoder-arm64-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/decoder-arm64.cc",
|
|
|
|
"src/arm64/decoder-arm64.h",
|
|
|
|
"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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/arm64/macro-assembler-arm64-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/arm64/macro-assembler-arm64.cc",
|
|
|
|
"src/arm64/macro-assembler-arm64.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",
|
2015-12-15 14:51:43 +00:00
|
|
|
"src/compiler/arm64/instruction-scheduler-arm64.cc",
|
2014-07-31 15:36:22 +00:00
|
|
|
"src/compiler/arm64/instruction-selector-arm64.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/crankshaft/arm64/delayed-masm-arm64-inl.h",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/crankshaft/arm64/delayed-masm-arm64.cc",
|
|
|
|
"src/crankshaft/arm64/delayed-masm-arm64.h",
|
|
|
|
"src/crankshaft/arm64/lithium-arm64.cc",
|
|
|
|
"src/crankshaft/arm64/lithium-arm64.h",
|
|
|
|
"src/crankshaft/arm64/lithium-codegen-arm64.cc",
|
|
|
|
"src/crankshaft/arm64/lithium-codegen-arm64.h",
|
|
|
|
"src/crankshaft/arm64/lithium-gap-resolver-arm64.cc",
|
|
|
|
"src/crankshaft/arm64/lithium-gap-resolver-arm64.h",
|
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 += [
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/compiler/mips/code-generator-mips.cc",
|
|
|
|
"src/compiler/mips/instruction-codes-mips.h",
|
2015-12-15 14:51:43 +00:00
|
|
|
"src/compiler/mips/instruction-scheduler-mips.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/compiler/mips/instruction-selector-mips.cc",
|
|
|
|
"src/crankshaft/mips/lithium-codegen-mips.cc",
|
|
|
|
"src/crankshaft/mips/lithium-codegen-mips.h",
|
|
|
|
"src/crankshaft/mips/lithium-gap-resolver-mips.cc",
|
|
|
|
"src/crankshaft/mips/lithium-gap-resolver-mips.h",
|
|
|
|
"src/crankshaft/mips/lithium-mips.cc",
|
|
|
|
"src/crankshaft/mips/lithium-mips.h",
|
|
|
|
"src/debug/mips/debug-mips.cc",
|
|
|
|
"src/full-codegen/mips/full-codegen-mips.cc",
|
|
|
|
"src/ic/mips/access-compiler-mips.cc",
|
|
|
|
"src/ic/mips/handler-compiler-mips.cc",
|
|
|
|
"src/ic/mips/ic-compiler-mips.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/ic/mips/ic-mips.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/ic/mips/stub-cache-mips.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/mips/assembler-mips-inl.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"src/mips/assembler-mips.cc",
|
|
|
|
"src/mips/assembler-mips.h",
|
|
|
|
"src/mips/builtins-mips.cc",
|
|
|
|
"src/mips/code-stubs-mips.cc",
|
|
|
|
"src/mips/code-stubs-mips.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/mips/codegen-mips.cc",
|
|
|
|
"src/mips/codegen-mips.h",
|
2014-05-05 11:06:26 +00:00
|
|
|
"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/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",
|
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 += [
|
2015-10-20 13:25:47 +00:00
|
|
|
"compiler/mips64/code-generator-mips64.cc",
|
|
|
|
"compiler/mips64/instruction-codes-mips64.h",
|
2015-12-15 14:51:43 +00:00
|
|
|
"compiler/mips64/instruction-scheduler-mips64.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"compiler/mips64/instruction-selector-mips64.cc",
|
|
|
|
"src/crankshaft/mips64/lithium-codegen-mips64.cc",
|
|
|
|
"src/crankshaft/mips64/lithium-codegen-mips64.h",
|
|
|
|
"src/crankshaft/mips64/lithium-gap-resolver-mips64.cc",
|
|
|
|
"src/crankshaft/mips64/lithium-gap-resolver-mips64.h",
|
|
|
|
"src/crankshaft/mips64/lithium-mips64.cc",
|
|
|
|
"src/crankshaft/mips64/lithium-mips64.h",
|
|
|
|
"src/debug/mips64/debug-mips64.cc",
|
|
|
|
"src/full-codegen/mips64/full-codegen-mips64.cc",
|
|
|
|
"src/ic/mips64/access-compiler-mips64.cc",
|
|
|
|
"src/ic/mips64/handler-compiler-mips64.cc",
|
|
|
|
"src/ic/mips64/ic-compiler-mips64.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/ic/mips64/ic-mips64.cc",
|
2015-10-20 13:25:47 +00:00
|
|
|
"src/ic/mips64/stub-cache-mips64.cc",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/mips64/assembler-mips64-inl.h",
|
2014-08-25 15:15:26 +00:00
|
|
|
"src/mips64/assembler-mips64.cc",
|
|
|
|
"src/mips64/assembler-mips64.h",
|
|
|
|
"src/mips64/builtins-mips64.cc",
|
|
|
|
"src/mips64/code-stubs-mips64.cc",
|
|
|
|
"src/mips64/code-stubs-mips64.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/mips64/codegen-mips64.cc",
|
|
|
|
"src/mips64/codegen-mips64.h",
|
2014-08-25 15:15:26 +00:00
|
|
|
"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/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-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
|
|
|
]
|
2016-02-26 16:24:36 +00:00
|
|
|
} else if (v8_target_arch == "s390" || v8_target_arch == "s390x") {
|
|
|
|
sources += [
|
2016-03-04 15:38:18 +00:00
|
|
|
"src/compiler/s390/code-generator-s390.cc",
|
|
|
|
"src/compiler/s390/instruction-codes-s390.h",
|
|
|
|
"src/compiler/s390/instruction-scheduler-s390.cc",
|
|
|
|
"src/compiler/s390/instruction-selector-s390.cc",
|
2016-03-07 14:48:47 +00:00
|
|
|
"src/crankshaft/s390/lithium-codegen-s390.cc",
|
|
|
|
"src/crankshaft/s390/lithium-codegen-s390.h",
|
|
|
|
"src/crankshaft/s390/lithium-gap-resolver-s390.cc",
|
|
|
|
"src/crankshaft/s390/lithium-gap-resolver-s390.h",
|
|
|
|
"src/crankshaft/s390/lithium-s390.cc",
|
|
|
|
"src/crankshaft/s390/lithium-s390.h",
|
2016-03-01 17:00:08 +00:00
|
|
|
"src/debug/s390/debug-s390.cc",
|
2016-03-07 14:00:04 +00:00
|
|
|
"src/full-codegen/s390/full-codegen-s390.cc",
|
2016-03-01 17:00:08 +00:00
|
|
|
"src/ic/s390/access-compiler-s390.cc",
|
|
|
|
"src/ic/s390/handler-compiler-s390.cc",
|
|
|
|
"src/ic/s390/ic-compiler-s390.cc",
|
|
|
|
"src/ic/s390/ic-s390.cc",
|
|
|
|
"src/ic/s390/stub-cache-s390.cc",
|
2016-03-08 15:08:01 +00:00
|
|
|
"src/regexp/s390/regexp-macro-assembler-s390.cc",
|
|
|
|
"src/regexp/s390/regexp-macro-assembler-s390.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/s390/assembler-s390-inl.h",
|
2016-02-26 16:24:36 +00:00
|
|
|
"src/s390/assembler-s390.cc",
|
|
|
|
"src/s390/assembler-s390.h",
|
|
|
|
"src/s390/builtins-s390.cc",
|
2016-03-08 15:08:01 +00:00
|
|
|
"src/s390/code-stubs-s390.cc",
|
|
|
|
"src/s390/code-stubs-s390.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/s390/codegen-s390.cc",
|
|
|
|
"src/s390/codegen-s390.h",
|
2016-02-26 16:24:36 +00:00
|
|
|
"src/s390/constants-s390.cc",
|
|
|
|
"src/s390/constants-s390.h",
|
|
|
|
"src/s390/cpu-s390.cc",
|
|
|
|
"src/s390/deoptimizer-s390.cc",
|
|
|
|
"src/s390/disasm-s390.cc",
|
|
|
|
"src/s390/frames-s390.cc",
|
|
|
|
"src/s390/frames-s390.h",
|
|
|
|
"src/s390/interface-descriptors-s390.cc",
|
|
|
|
"src/s390/macro-assembler-s390.cc",
|
|
|
|
"src/s390/macro-assembler-s390.h",
|
|
|
|
"src/s390/simulator-s390.cc",
|
|
|
|
"src/s390/simulator-s390.h",
|
|
|
|
]
|
2014-05-05 11:06:26 +00:00
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
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" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_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 = [
|
2016-04-01 10:00:30 +00:00
|
|
|
"src/base/accounting-allocator.cc",
|
|
|
|
"src/base/accounting-allocator.h",
|
2015-04-20 16:24:52 +00:00
|
|
|
"src/base/adapters.h",
|
2016-05-09 16:22:09 +00:00
|
|
|
"src/base/atomic-utils.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",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/base/atomicops_internals_mips64_gcc.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/base/atomicops_internals_mips_gcc.h",
|
2015-06-26 14:24:42 +00:00
|
|
|
"src/base/atomicops_internals_portable.h",
|
2016-01-26 14:48:21 +00:00
|
|
|
"src/base/atomicops_internals_s390_gcc.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",
|
2016-04-12 16:13:08 +00:00
|
|
|
"src/base/format-macros.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/condition-variable.cc",
|
|
|
|
"src/base/platform/condition-variable.h",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/base/platform/elapsed-timer.h",
|
2014-06-30 13:25:46 +00:00
|
|
|
"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",
|
2016-03-31 07:30:16 +00:00
|
|
|
"src/base/platform/time.cc",
|
|
|
|
"src/base/platform/time.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
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config_base",
|
|
|
|
]
|
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
|
|
|
|
2016-03-31 07:30:16 +00:00
|
|
|
libs = [
|
|
|
|
"dl",
|
|
|
|
"rt",
|
|
|
|
]
|
2014-06-30 13:25:46 +00:00
|
|
|
} else if (is_android) {
|
2015-03-31 12:08:10 +00:00
|
|
|
if (current_toolchain == host_toolchain) {
|
2016-03-31 07:30:16 +00:00
|
|
|
libs = [
|
|
|
|
"dl",
|
|
|
|
"rt",
|
|
|
|
]
|
2015-03-31 12:08:10 +00:00
|
|
|
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
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("v8_libplatform") {
|
2014-07-03 07:37:27 +00:00
|
|
|
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",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2015-01-08 13:21:52 +00:00
|
|
|
":internal_config_base",
|
|
|
|
]
|
2014-07-03 07:37:27 +00:00
|
|
|
|
2016-05-11 12:03:16 +00:00
|
|
|
public_configs = [
|
|
|
|
":libplatform_config"
|
|
|
|
]
|
|
|
|
|
2014-07-03 07:37:27 +00:00
|
|
|
deps = [
|
|
|
|
":v8_libbase",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("fuzzer_support") {
|
2016-01-26 12:19:28 +00:00
|
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
"test/fuzzer/fuzzer-support.cc",
|
|
|
|
"test/fuzzer/fuzzer-support.h",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-01-26 12:19:28 +00:00
|
|
|
":internal_config_base",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
snapshot_target,
|
|
|
|
]
|
2016-05-11 12:03:16 +00:00
|
|
|
|
|
|
|
public_deps = [
|
|
|
|
":v8_libplatform",
|
|
|
|
]
|
2016-01-26 12:19:28 +00:00
|
|
|
}
|
|
|
|
|
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",
|
2016-05-02 16:46:13 +00:00
|
|
|
"//build/win:default_exe_manifest",
|
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
|
|
|
|
2015-09-18 09:32:30 +00:00
|
|
|
public_deps = [
|
|
|
|
":v8_base",
|
|
|
|
snapshot_target,
|
|
|
|
]
|
2015-01-08 13:21:52 +00:00
|
|
|
|
|
|
|
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 13:21:52 +00:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
group("v8") {
|
2015-09-18 09:32:30 +00:00
|
|
|
public_deps = [
|
|
|
|
":v8_base",
|
|
|
|
snapshot_target,
|
|
|
|
]
|
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
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
executable("d8") {
|
|
|
|
sources = [
|
|
|
|
"src/d8.cc",
|
|
|
|
"src/d8.h",
|
|
|
|
]
|
2015-01-20 11:31:44 +00:00
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
configs += [
|
|
|
|
# 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",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
2015-01-20 11:31:44 +00:00
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
deps = [
|
|
|
|
":d8_js2c",
|
|
|
|
":v8",
|
|
|
|
":v8_libplatform",
|
|
|
|
"//build/config/sanitizers:deps",
|
|
|
|
"//build/win:default_exe_manifest",
|
|
|
|
]
|
2015-01-20 11:31:44 +00:00
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
# TODO(jochen): Add support for vtunejit.
|
2015-01-20 11:31:44 +00:00
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
if (is_posix) {
|
|
|
|
sources += [ "src/d8-posix.cc" ]
|
|
|
|
} else if (is_win) {
|
|
|
|
sources += [ "src/d8-windows.cc" ]
|
|
|
|
}
|
2015-01-20 11:31:44 +00:00
|
|
|
|
2016-05-13 16:11:24 +00:00
|
|
|
if (!is_component_build) {
|
|
|
|
sources += [ "$target_gen_dir/d8-js.cc" ]
|
|
|
|
}
|
|
|
|
if (v8_enable_i18n_support) {
|
|
|
|
deps += [ "//third_party/icu" ]
|
2015-01-20 11:31:44 +00:00
|
|
|
}
|
|
|
|
}
|
2016-01-26 12:19:28 +00:00
|
|
|
|
2016-05-10 10:11:06 +00:00
|
|
|
if ((current_toolchain == host_toolchain && v8_toolset_for_shell == "host") || (current_toolchain == snapshot_toolchain && v8_toolset_for_shell == "host") || (current_toolchain != host_toolchain && v8_toolset_for_shell == "target")) {
|
2016-05-10 12:30:22 +00:00
|
|
|
executable("v8_shell") {
|
2016-05-06 07:30:52 +00:00
|
|
|
sources = [
|
|
|
|
"samples/shell.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
configs += [
|
|
|
|
# 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",
|
|
|
|
":features",
|
|
|
|
":toolchain",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":v8",
|
|
|
|
":v8_libplatform",
|
|
|
|
"//build/config/sanitizers:deps",
|
|
|
|
"//build/win:default_exe_manifest",
|
|
|
|
]
|
|
|
|
|
|
|
|
if (v8_enable_i18n_support) {
|
|
|
|
deps += [ "//third_party/icu" ]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("json_fuzzer") {
|
2016-02-02 11:28:47 +00:00
|
|
|
sources = [
|
|
|
|
"test/fuzzer/json.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":fuzzer_support",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-02-02 11:28:47 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("parser_fuzzer") {
|
2016-01-26 12:19:28 +00:00
|
|
|
sources = [
|
|
|
|
"test/fuzzer/parser.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":fuzzer_support",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-01-26 12:19:28 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
|
|
|
}
|
2016-02-01 14:00:12 +00:00
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("regexp_fuzzer") {
|
2016-02-01 14:00:12 +00:00
|
|
|
sources = [
|
|
|
|
"test/fuzzer/regexp.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":fuzzer_support",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-02-01 14:00:12 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
|
|
|
}
|
2016-03-02 00:53:19 +00:00
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("wasm_fuzzer") {
|
2016-03-02 00:53:19 +00:00
|
|
|
sources = [
|
|
|
|
"test/fuzzer/wasm.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":fuzzer_support",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-03-02 00:53:19 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
v8_source_set("wasm_asmjs_fuzzer") {
|
2016-03-02 00:53:19 +00:00
|
|
|
sources = [
|
|
|
|
"test/fuzzer/wasm-asmjs.cc",
|
|
|
|
]
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
":fuzzer_support",
|
|
|
|
]
|
|
|
|
|
2016-05-11 10:17:37 +00:00
|
|
|
configs = [
|
2016-03-02 00:53:19 +00:00
|
|
|
":internal_config",
|
|
|
|
]
|
|
|
|
}
|