Reviewers: Kasper Lund, Description: Enable -fstrict-aliasing in the GYP build of V8 for the Mac in Release mode. -fstrict-aliasing is enabled by mainline gcc at -O2 and higher, but in Apple gcc, it must be enabled explicitly. This results in a 1.5% improvement in V8 benchmark scores.
This also removes the -fno-exceptions and -fno-rtti settings from v8.gyp for the Mac, and removes -fno-rtti from v8.gyp for Linux, because these settings have become part of Chromium's common.gypi, included here, as of r23304 at the latest. The settings in v8.gyp have become redundant. Please review this at http://codereview.chromium.org/174154 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M tools/gyp/v8.gyp Index: tools/gyp/v8.gyp =================================================================== --- tools/gyp/v8.gyp (revision 2733) +++ tools/gyp/v8.gyp (working copy) @@ -97,15 +97,16 @@ ], }], ], - 'cflags_cc': [ - '-fno-rtti', - ], }], - ['OS=="mac"', { - 'xcode_settings': { - 'GCC_OPTIMIZATION_LEVEL': '3', - }, - }], + ['OS=="mac"', { + 'xcode_settings': { + 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 + 'GCC_STRICT_ALIASING': 'YES', # -fstrict-aliasing. Mainline gcc + # enables this at -O2 and above, + # but Apple gcc does not unless it + # is specified explicitly. + }, + }], ['OS=="win"', { 'msvs_configuration_attributes': { 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', @@ -133,10 +134,6 @@ ], }, }, - 'xcode_settings': { - 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', - 'GCC_ENABLE_CPP_RTTI': 'NO', - }, }, 'targets': [ { @@ -392,7 +389,7 @@ '../../src/arm/assembler-arm.cc', '../../src/arm/assembler-arm.h', '../../src/arm/builtins-arm.cc', - '../../src/arm/cfg-arm.cc', + '../../src/arm/cfg-arm.cc', '../../src/arm/codegen-arm.cc', '../../src/arm/codegen-arm.h', '../../src/arm/constants-arm.h', @@ -423,7 +420,7 @@ '../../src/ia32/assembler-ia32.cc', '../../src/ia32/assembler-ia32.h', '../../src/ia32/builtins-ia32.cc', - '../../src/ia32/cfg-ia32.cc', + '../../src/ia32/cfg-ia32.cc', '../../src/ia32/codegen-ia32.cc', '../../src/ia32/codegen-ia32.h', '../../src/ia32/cpu-ia32.cc', @@ -456,7 +453,7 @@ '../../src/x64/assembler-x64.cc', '../../src/x64/assembler-x64.h', '../../src/x64/builtins-x64.cc', - '../../src/x64/cfg-x64.cc', + '../../src/x64/cfg-x64.cc', '../../src/x64/codegen-x64.cc', '../../src/x64/codegen-x64.h', '../../src/x64/cpu-x64.cc', --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
