Commit Graph

6 Commits

Author SHA1 Message Date
machenbach@chromium.org
a37040b275 Make optimized debug builds link against debug CRT.
We recently had some XP issues on chromium.win after https://codereview.chromium.org/19384011/.

This might fix it - quote: "The most likely cause of the problem is a gyp (or similar) change that resulted in v8.dll linking against the release version of the crt (for a debug build). There are two MS VC related files: the crt and the c++ std lib (MSVCR100.DLL and MSVCP100D.DLL). The former is set to release, the latter to debug."

I am not entirely sure if this change fits to the linker options for debug level 2.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 10:59:23 +00:00
machenbach@chromium.org
5666c32d0b Revert windows-specific part of r15937 for debug level 1.
The change in r15937 might have broken a mozilla test under windows. See https://codereview.chromium.org/19384011/

Each case of debug 0,1,2 is now stated explicitly for better clarity in the msvs section. This causes some minor code duplications, which we can squeeze again after toolchain.gypi is in a stable state.

R=dpranke@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 07:58:23 +00:00
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
machenbach@chromium.org
1d1b846778 Suppress array bounds check for nacl build.
The NaCl and the ARM builder started failing to compile at revision 15593 with spurious array bounds warnings.

The ARM builder will be fixed by updating the cross-compiler version. Since the nacl compiler comes with the nacl toolchain, the warning will be suppressed for that builder.

See also: http://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=array%20subscript%20is%20above%20array%20bounds

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 16:21:17 +00:00
machenbach@chromium.org
dfd955ff9f Enable debug builds with some optimizations turned on.
A new gyp variable 'v8_full_debug' can be set to 0 in order to turn on optimization level 1 for debug builds. With the default (=1), it builds in debug mode like before.

The intention is to run some bots on the waterfall with this configuration. Tests have a x5 speed-up like that.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 15:21:43 +00:00
jochen@chromium.org
865ce5806f Factor out toolset definitions in a separate gypi file
That way, third-party libraries use the correct toolset settings.

BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 11:15:16 +00:00