diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2013-04-17 16:10:37 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2013-04-17 16:10:37 +0200 |
commit | 9f682265d6631a29457abeb53827d01fa77493c8 (patch) | |
tree | 92a1eec49b1f280931598a72dcf0cca3d795f210 /deps/v8/build/common.gypi | |
parent | 951e0b69fa3c8b1a5d708e29de9d6f7d1db79827 (diff) | |
download | node-new-9f682265d6631a29457abeb53827d01fa77493c8.tar.gz |
deps: upgrade v8 to 3.18.0
Diffstat (limited to 'deps/v8/build/common.gypi')
-rw-r--r-- | deps/v8/build/common.gypi | 148 |
1 files changed, 101 insertions, 47 deletions
diff --git a/deps/v8/build/common.gypi b/deps/v8/build/common.gypi index 38ed4f4c95..0b1f397268 100644 --- a/deps/v8/build/common.gypi +++ b/deps/v8/build/common.gypi @@ -35,6 +35,13 @@ 'CXX%': '${CXX:-$(which g++)}', # Used to assemble a shell command. 'v8_compress_startup_data%': 'off', 'v8_target_arch%': '<(target_arch)', + # Native Client builds currently use the V8 ARM JIT and + # arm/simulator-arm.cc to defer the significant effort required + # for NaCl JIT support. The nacl_target_arch variable provides + # the 'true' target arch for places in this file that need it. + # TODO(bradchen): get rid of nacl_target_arch when someday + # NaCl V8 builds stop using the ARM simulator + 'nacl_target_arch%': 'none', # must be set externally # Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code # generated by V8 to do unaligned memory access, and setting it to 'false' @@ -44,30 +51,17 @@ # access is allowed for all CPUs. 'v8_can_use_unaligned_accesses%': 'default', - # Setting 'v8_can_use_vfp2_instructions' to 'true' will enable use of ARM VFP - # instructions in the V8 generated code. VFP instructions will be enabled - # both for the snapshot and for the ARM target. Leaving the default value - # of 'false' will avoid VFP instructions in the snapshot and use CPU feature - # probing when running on the target. - 'v8_can_use_vfp2_instructions%': 'false', - 'v8_can_use_vfp3_instructions%': 'false', - # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP # registers d16-d31 in the generated code, both in the snapshot and for the # ARM target. Leaving the default value of 'false' will avoid the use of # these registers in the snapshot and use CPU feature probing when running # on the target. 'v8_can_use_vfp32dregs%': 'false', + 'arm_test%': 'off', # Similar to vfp but on MIPS. 'v8_can_use_fpu_instructions%': 'true', - # Setting v8_use_arm_eabi_hardfloat to true will turn on V8 support for ARM - # EABI calling convention where double arguments are passed in VFP - # registers. Note that the GCC flag '-mfloat-abi=hard' should be used as - # well when compiling for the ARM target. - 'v8_use_arm_eabi_hardfloat%': 'false', - # Similar to the ARM hard float ABI but on MIPS. 'v8_use_mips_abi_hardfloat%': 'true', @@ -136,55 +130,105 @@ 'defines': [ 'V8_TARGET_ARCH_ARM', ], + 'variables': { + 'armsimulator': '<!($(echo <(CXX)) -v 2>&1 | grep -q "^Target: arm" && echo "no" || echo "yes")', + }, 'conditions': [ - ['armv7==1', { - 'defines': [ - 'CAN_USE_ARMV7_INSTRUCTIONS=1', - ], - }], [ 'v8_can_use_unaligned_accesses=="true"', { 'defines': [ 'CAN_USE_UNALIGNED_ACCESSES=1', ], - }], - [ 'v8_can_use_unaligned_accesses=="false"', { + }, { 'defines': [ 'CAN_USE_UNALIGNED_ACCESSES=0', ], }], - # NEON implies VFP3 and VFP3 implies VFP2. - [ 'v8_can_use_vfp2_instructions=="true" or arm_neon==1 or \ - arm_fpu=="vfpv3" or arm_fpu=="vfpv3-d16"', { - 'defines': [ - 'CAN_USE_VFP2_INSTRUCTIONS', - ], - }], - # NEON implies VFP3. - [ 'v8_can_use_vfp3_instructions=="true" or arm_neon==1 or \ - arm_fpu=="vfpv3" or arm_fpu=="vfpv3-d16"', { - 'defines': [ - 'CAN_USE_VFP3_INSTRUCTIONS', - ], - }], - [ 'v8_use_arm_eabi_hardfloat=="true"', { - 'defines': [ - 'USE_EABI_HARDFLOAT=1', - 'CAN_USE_VFP2_INSTRUCTIONS', - ], + ['armsimulator=="no"', { 'target_conditions': [ ['_toolset=="target"', { - 'cflags': ['-mfloat-abi=hard',], + 'conditions': [ + [ 'armv7==1', { + 'cflags': ['-march=armv7-a',], + }], + [ 'armv7==1 or armv7=="default"', { + 'conditions': [ + [ 'arm_neon==1', { + 'cflags': ['-mfpu=neon',], + }, + { + 'conditions': [ + [ 'arm_fpu!="default"', { + 'cflags': ['-mfpu=<(arm_fpu)',], + }], + ] + }], + ] + }], + [ 'arm_float_abi!="default"', { + 'cflags': ['-mfloat-abi=<(arm_float_abi)',], + }], + [ 'arm_thumb==1', { + 'cflags': ['-mthumb',], + }], + [ 'arm_thumb==0', { + 'cflags': ['-marm',], + }], + ], }], ], - }, { - 'defines': [ - 'USE_EABI_HARDFLOAT=0', + 'conditions': [ + [ 'arm_test=="on"', { + 'defines': [ + 'ARM_TEST', + ], + }], ], }], - [ 'v8_can_use_vfp32dregs=="true"', { + ['armsimulator=="yes"', { 'defines': [ - 'CAN_USE_VFP32DREGS', + 'ARM_TEST', ], + 'conditions': [ + [ 'armv7==1 or armv7=="default"', { + 'defines': [ + 'CAN_USE_ARMV7_INSTRUCTIONS=1', + ], + 'conditions': [ + [ 'arm_fpu=="default"', { + 'defines': [ + 'CAN_USE_VFP3_INSTRUCTIONS', + ], + }], + [ 'arm_fpu=="vfpv3-d16"', { + 'defines': [ + 'CAN_USE_VFP3_INSTRUCTIONS', + ], + }], + [ 'arm_fpu=="vfpv3"', { + 'defines': [ + 'CAN_USE_VFP3_INSTRUCTIONS', + 'CAN_USE_VFP32DREGS', + ], + }], + [ 'arm_fpu=="neon" or arm_neon==1', { + 'defines': [ + 'CAN_USE_VFP3_INSTRUCTIONS', + 'CAN_USE_VFP32DREGS', + ], + }], + ], + }], + [ 'arm_float_abi=="hard"', { + 'defines': [ + 'USE_EABI_HARDFLOAT=1', + ], + }], + [ 'arm_float_abi=="softfp" or arm_float_abi=="default"', { + 'defines': [ + 'USE_EABI_HARDFLOAT=0', + ], + }], + ] }], ], }], # v8_target_arch=="arm" @@ -320,7 +364,8 @@ 'clang%': 0, }, 'conditions': [ - ['OS!="android" or clang==1', { + ['(OS!="android" or clang==1) and \ + nacl_target_arch!="nacl_x64"', { 'cflags': [ '<(m32flag)' ], 'ldflags': [ '<(m32flag)' ], }], @@ -409,6 +454,15 @@ }], ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \ or OS=="android"', { + 'cflags!': [ + '-O2', + '-Os', + ], + 'cflags': [ + '-fdata-sections', + '-ffunction-sections', + '-O3', + ], 'conditions': [ [ 'gcc_version==44 and clang==0', { 'cflags': [ |