v8/build
dslomov@chromium.org d0e0ff01ad Revamp v8_optimized_debug options
This patch changes the definition of v8_optimized_debug==1 to match the release-mode compiler optimization settings (generally, going from -O1 to -O3 on Linux, similar switches for Mac/Win). This produces a minor speed up on Linux, but significant speedups on Mac and Win. This may make it much harder to debug, though.

It also adds a v8_optimized_debug==2 that, in addition to the compiler optimizations, undef's DEBUG and defines DEBUG. This leaves V8_ENABLE_CHECKS alone (so that the assertions are still enabled), but otherwise basically matches a release mode build.

Builds with v8_optimized_debug==2 roughly match a Release mode build for speed; the V8_ENABLE_CHECKS checks appear to have minimal performance impact (maybe 5-10%, unlike what was previously thought). In addition, switching from the previous optimization settings makes a significant improvement on Mac and Win (50% or more), and switching from DEBUG to NDEBUG makes a significant improvement (another 50% or more).

Note that using v8_optimized_debug==2 may also cause some v8 tests to fail. This is currently is believed to be acceptable.

R=machenbach@chromium.org
BUG=254188

Review URL: https://codereview.chromium.org/19384011

Patch from Dirk Pranke <dpranke@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 14:00:06 +00:00
..
all.gyp Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
android.gypi Use -O2 instead -O3 for Android build. 2013-06-12 08:05:43 +00:00
features.gypi Factor out toolset definitions in a separate gypi file 2013-07-10 11:15:16 +00:00
gyp_v8 Fix gyp_v8 to work with use_system_icu=1 2013-07-15 15:41:21 +00:00
README.txt Fix outdated build/README.txt 2013-04-22 13:32:40 +00:00
shim_headers.gypi Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
standalone.gypi Factor out toolset definitions in a separate gypi file 2013-07-10 11:15:16 +00:00
toolchain.gypi Revamp v8_optimized_debug options 2013-07-29 14:00:06 +00:00

For build instructions, please refer to:

https://code.google.com/p/v8/wiki/BuildingWithGYP

TL;DR version on *nix:
$ make dependencies        # Only needed once.
$ make ia32.release -j8
$ make ia32.release.check  # Optionally: run tests.