Commit Graph

198 Commits

Author SHA1 Message Date
jochen@chromium.org
a9af0948cf Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc

R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=v8:3015
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
jochen@chromium.org
e744b82fae Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
This also reverts 17879 and 17880.

BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:28:07 +00:00
jochen@chromium.org
c24ce076e9 Introduce a v8::Platform class that bundles embedder callbacks
Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
jkummerow@chromium.org
ec9a9ac103 Fix broken pipe caused by commands in toolchain.gypi.
I sometimes observe broken pipe errors when I run gyp, which causes the gyp
process to fail. This seems to happen if gyp is executed under heavy I/O
pressure.

This change removes the pipes by replacing "echo |" with "< /dev/null".
Technically these are not the same, because "echo |" prints a newline while
"< /dev/null" doesn't, but this difference is not significant in the context of
the commands in toolchain.gypi.

BUG=
R=jkummerow@chromium.org

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

Patch from Yuta Kitamura <yutak@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:32:30 +00:00
ulan@chromium.org
f621f50fb2 Fix shared library build after r17692.
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/70663003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:59:49 +00:00
ulan@chromium.org
81761f9dc6 Add lexer-shell for running lexer benchmarks.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/70263003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:26:09 +00:00
jochen@chromium.org
a380ffc36f Revert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""
Apparently, this wasn't the cause for dromaeo regressions.

> BUG=none
> R=jkummerow@chromium.org
>
> Review URL: https://codereview.chromium.org/26457002

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 12:13:01 +00:00
danno@chromium.org
7339d45a9f Define DEBUG for v8_optimized_debug=2
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
jkummerow@chromium.org
74bf8b8f70 Move v8_optimized_debug default value to standalone.gypi
This is so that Chromium can have its own overridable default value without colliding with ours.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:07:41 +00:00
jochen@chromium.org
06f16a132c Revert r17018 - "Turn on handle zapping for release builds"
BUG=none
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 07:42:43 +00:00
mstarzinger@chromium.org
3c8e87d840 Remove obsolete preparser binary.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:21:23 +00:00
jochen@chromium.org
2cf500644e Turn on handle zapping for release builds
The impact on performance appears to be negligible, see the golem results on r17004

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:49:48 +00:00
dcarney@chromium.org
6dd72b6416 change of V8_DEPRECATED to be enabled behind a gyp flag
also add a deprecation message for newer gcc versions

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:28:23 +00:00
jochen@chromium.org
3387afd33e Split extra checks into extra checks and handle zapping
That will make it easier to turn on handle zapping alone and experiment
with it.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:56:52 +00:00
jochen@chromium.org
416f2a9ba7 Turn on i18n support by default
This reverts commit r16789

BUG=none
R=machenbach@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:07:03 +00:00
machenbach@chromium.org
eca42c42cb Revert "Turn on i18n support by default", "Update test262 expectations, now that 15.5.4.9_CE passes", "Make testing i18n the default.", "Mark two failing mozilla tests as failing.", "Mark mozilla tests as flaky instead of failing" and "Fix test expectations for i18n."
This reverts commit 16783-16788 due to several crashers on nosnap builder.

TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 13:50:00 +00:00
jochen@chromium.org
f41f6c2b41 Turn on i18n support by default
BUG=v8:2745
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 08:11:44 +00:00
jochen@chromium.org
b3310c3a98 Use icu_gyp_path variable to reference ICU gyp file
That way, embedders can put the icu sources whereever they want and
aren't forced to put them under third_party/gyp

BUG=none
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 08:31:56 +00:00
jkummerow@chromium.org
31691477b7 Avoid -O3 in nacl as it does not play well with -W.
Also cleans up some uninitialized data I saw while investigating
the problem.

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

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

Patch from Ken Mixter <kmixter@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-20 08:12:19 +00:00
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
jochen@chromium.org
0da9a28967 Never define 'DEBUG' for non-v8 code
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 19:20:01 +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
jochen@chromium.org
3f5f455a26 Fix gyp_v8 to work with use_system_icu=1
If you want to use the system icu library, you'll need to use gyp_v8 (as
opposed to the standalone Makefiles)

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-15 15:41:21 +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
jochen@chromium.org
e369f17c0c Fix win build after r15568
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 10:20:59 +00:00
jochen@chromium.org
d32de2c957 Update standalone configuration for compiling icu on windows
BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 09:55:27 +00:00
verwaest@chromium.org
b5f63ae659 Revert "Introduce a handle zapping setting, and enable it by default for release and debug" due to performance impact.
R=jochen@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18325027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:28:25 +00:00
jochen@chromium.org
ab5addd86d Introduce a handle zapping setting, and enable it by default for release and debug
The checks are split out from "extra checks" which are too expensive to
turn on by default.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:29:55 +00:00
mstarzinger@chromium.org
2c942ea6ff Enable GDBJIT interface for standalone by default.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 12:00:40 +00:00
jkummerow@chromium.org
56ab3e3404 Import the v8-i18n extension into v8
This adds the gyp flag v8_enable_i18n_support (off by default), and the
v8 flag FLAG_enable_i18n (on by default, but without effect if
v8_enable_i18n_support is off).

BUG=v8:2745
R=cira@chromium.org, danno@chromium.org, jkummerow@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 11:22:29 +00:00
jkummerow@chromium.org
afc0724fe6 Introduce -m64 flag for making x64 when the default gcc compiler is for X32
R=jkummerow@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-02 15:03:54 +00:00
jkummerow@chromium.org
75451d3c2c Add dependency to ICU 4.6
We use the patched version from the chromium project, as it already has
a gyp file and allows for using the system icu instead of the bundled
version if desired.

This is in preparation of bringing in v8-i18n.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 08:32:41 +00:00
jkummerow@chromium.org
2fb7ab5530 Introduce a notion of "v8_code" in gyp config files.
This allows for compiling third-party code (such as ICU) with less
strict flags.

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

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:22:46 +00:00
jkummerow@chromium.org
ebfe1b8eb1 Move C++ specific flags from C flags to C++ flags
This allows to compile non-C++ files in the v8 standalone build, e.g.
assembly files found in ICU.

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

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 14:39:27 +00:00
ulan@chromium.org
1e4448b581 Use -O2 instead -O3 for Android build.
It produces smaller binary with almost the same performance.

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

Review URL: https://chromiumcodereview.appspot.com/15929009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 08:05:43 +00:00
ulan@chromium.org
7556e52aba ARM: Fix build flags for snapshot generation.
The existing code ignores armv7 and arm_fpu flags since r14288.

R=jkummerow@chromium.org, rodolph.perfetta@gmail.com

Review URL: https://chromiumcodereview.appspot.com/16313003

Patch from Jakob Kummerow <jkummerow@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:02:42 +00:00
jkummerow@chromium.org
b762c9d53f Disable extra checks in Release mode.
They caused test failures and performance regressions.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 16:31:55 +00:00
jkummerow@chromium.org
6ebdc6df1c Enable extra checks for release builds as well
R=jkummerow@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 15:13:57 +00:00
jkummerow@chromium.org
3e3cd01c95 Remove use_system_v8 logic from the mainline gyp file
Re-upload of https://codereview.chromium.org/14872005/

BUG=chromium:226860
R=ulan@chromium.org

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

Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 13:09:57 +00:00
mstarzinger@chromium.org
7b412a7443 Fix ugly typo in r14391.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 10:52:40 +00:00
mstarzinger@chromium.org
1794ac9bd9 Switch GYP script to not use utils.py anymore.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 10:41:55 +00:00
jkummerow@chromium.org
981af21dd5 Fix outdated build/README.txt
BUG=v8:2649

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 13:32:40 +00:00
jkummerow@chromium.org
41d2b14d1b Enable Native Client build of V8.
These changes implement make targets nacl_ia32.check, nacl_x64.check,
and related debug/release targets.

BUG=2614

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

Patch from Brad Chen <bradchen@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-17 08:27:40 +00:00
jkummerow@chromium.org
decb5394ef More ARM GYP fixes
Review URL: https://codereview.chromium.org/13902014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 15:36:11 +00:00
jkummerow@chromium.org
e1d9543a5e Fix ARM specific GYP variables
Review URL: https://codereview.chromium.org/14208011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 15:17:27 +00:00
rodolph.perfetta@gmail.com
caa37597ad ARM: Makefile/gyp update allowing better control of ARM specific options.
This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
 * armfpu      = vfp, vfpv3-d16, vfpv3, neon.
 * armfloatabi = softfp, hard
 * armneon     = on
 * armthumb    = on, off
 * armtest     = on
One existing paratemer has been modified:
 * armv7       = true, false
A number of parameters have been deprecated (but are still working):
 * hardfp      = on, off
 * vfp2        = off
 * vfp3        = off

the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.

The shell help now prints the target options and features detected.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/14263018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:39:48 +00:00
mstarzinger@chromium.org
61d9399e8d Disable zapping of global handles in release mode.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 14:18:16 +00:00
jkummerow@chromium.org
e45d08488e Enable extra API checks, add a check for zapped global handles
Review URL: https://codereview.chromium.org/12833015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 11:59:47 +00:00
dcarney@chromium.org
fbe34d4ba5 remove latin-1 flag
R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 20:04:50 +00:00
yangguo@chromium.org
89bac02bac Rename android_build_type to android_webview_build.
Rename this gyp variable to something meaningful to better explain what
it actually does.

BUG=184431

Review URL: https://chromiumcodereview.appspot.com/12605007
Patch from Richard Coles <torne@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 17:35:33 +00:00
jkummerow@chromium.org
ccf368ef58 Remove "library" variable from standalone.gypi.
BUG=111541
R=jkummerow@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>

Review URL: https://codereview.chromium.org/12379082
Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 09:28:48 +00:00
jkummerow@chromium.org
8336fd2d3a MIPS: Add android build support for mips in gyp.
Added mipsel target in gyp and makefiles used for android build.

BUG=

Review URL: https://codereview.chromium.org/12248014
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 16:39:03 +00:00
jkummerow@chromium.org
c6e670928d MIPS: Fix mips gyp build for chromium.
Our planned CL for the Chromium build system passes the toolchain
vars though the Makefiles, so that we do not depend on $CXX, etc.,
in the environment.

That causes a problem with deriving the 'm32flag' in v8 gyp.

This patch lets us build with or without the toolchain vars in
the environment.

BUG=

Review URL: https://codereview.chromium.org/12218113
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 15:22:12 +00:00
yangguo@chromium.org
072bad2ed5 Enable Latin-1
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/12039038
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:27:46 +00:00
mstarzinger@chromium.org
d6622203a5 Add explicit Release configuration to standalone.gypi to appease Xcode.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 10:51:55 +00:00
mstarzinger@chromium.org
e6c381ccdb Switch GYP to use LLVM-GCC when using Xcode.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 09:31:18 +00:00
jkummerow@chromium.org
6948fece08 Unify the shebang line of python scripts
Review URL: https://codereview.chromium.org/12095012
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:40:43 +00:00
ulan@chromium.org
bed569b548 ARM: Make use of d16-d31 when available.
Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:29:48 +00:00
yangguo@chromium.org
5da9e75670 Remove support for Live Object List and inspector module.
These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while.  Test cases do not exist.

R=mstarzinger@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11975012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:44:26 +00:00
yangguo@chromium.org
45f20e366a Introduce ENABLE_LATIN_1 compile flag
Mostly a bunch of renaming when flag is disabled.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11759008
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 10:30:54 +00:00
yangguo@chromium.org
171a4de75f Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.

BUG=v8:2393

Review URL: https://chromiumcodereview.appspot.com/11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 09:48:51 +00:00
rossberg@chromium.org
6380b81524 Attempt to fix build.
R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-14 14:39:18 +00:00
rossberg@chromium.org
9fc844b760 V8_Fatal now prints C++ stack trace in debug mode.
Currently only supported on Linux. When compiled with GCC, also demangles C++ identifier names.

Should make debugging those flaky crashes on buildbots easier... :)

R=mstarzinger@chromium.org,ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-14 14:27:06 +00:00
ulan@chromium.org
a1d10c69a1 Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu flags.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11472023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-07 15:28:40 +00:00
jkummerow@chromium.org
c9ed3d9cc4 Turn off optimization for Mac Debug builds
Review URL: https://codereview.chromium.org/11414237
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 10:14:21 +00:00
jkummerow@chromium.org
778499e55f Disable EXTRA_CHECKS in Release
This patch causes V8 to disable EXTRA_CHECKS when building in release. You can
still enable the checks in release using a GYP flag.

This patch speeds up Dromeo's dom-traverse by around 4%.

Review URL: https://codereview.chromium.org/11275324
Patch from Adam Barth <abarth@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 08:58:53 +00:00
jkummerow@chromium.org
8daf7e7de1 MIPS: fix mips_arch_variant bug in GYP build.
There is a small bug that causes to build mips32r2
version of v8 as mips32 (r1). This affects only
the compiled code.

In the default case of building for mips32r2,
the compiler flags are the following:

-EL -mhard-float -mips32r2 -Wa,-mips32r2 -mips32 -Wa,-mips32

Since the "last flag wins" the object files are
compiled as mips32. In a funny twist, the
code sourcery lite compilers do not have multi-lib support,
and there is a bug that if you tell it to link mips32,
it will silently link the object files with
mips32r2 libraries, and then the resulting binary is mips32r2.

This commit fixes the mips32r1/mips32r2 build.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11289003
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-30 10:54:44 +00:00
yangguo@chromium.org
e40b33d39e Correctly check for stack limit in JSON.stringify.
Changes include:
 - inline functions in a way as not to waste stack space.
 - reset StackReserveSize to the value prior to r12808.
 - check stack overflow dynamically.

R=ulan@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11271021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:18:24 +00:00
yangguo@chromium.org
b2d41f8fe8 Fix stack overflow in JSON.stringify.
R=verwaest@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11265011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 15:49:59 +00:00
ulan@chromium.org
8f0501f509 Define CAN_USE_ARMV7_INSTRUCTIONS if armv7 gyp flag is set.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11274008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 12:38:24 +00:00
ulan@chromium.org
cb7645b43b Enable shared library on android
This change fixed link errors in building shared library
for android. crtbegin_so.o is added to resolve dso_handle
and exclude-libs option is removed for shared library.

Review URL: https://chromiumcodereview.appspot.com/11262003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 12:11:15 +00:00
ulan@chromium.org
d558d1e522 Disable GDBJIT support by default in Debug mode.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11195043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 15:26:37 +00:00
mvstanton@chromium.org
b3c0ed8245 Enable --verify-heap in release mode
R=mstarzinger@chromium.org
BUG=v8:2120

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 11:41:14 +00:00
ulan@chromium.org
cd3907cadd ARM: allow VFP3 instructions when hardfloat is enabled.
R=danno@chromium.org
BUG=152506

Review URL: https://chromiumcodereview.appspot.com/11028116

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-10 16:15:29 +00:00
mstarzinger@chromium.org
2c7b630d09 Enable compilation of GDBJIT interface on Linux.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-10 11:13:15 +00:00
jkummerow@chromium.org
45f16dba6a Not set -m32 flag when compiling with Android ARM compiler.
We are removing CXX_target environment variables and only use the
make_global_settings to select compiler in chromium Android.

BUG=143889

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-28 14:38:59 +00:00
yangguo@chromium.org
123e85f400 Replace VFP by VFP2 in common.gypi
This fixes an omission in cl 10818026.
Patch by Nathan Rajlich.

Review URL: https://chromiumcodereview.appspot.com/10913256
Patch from Bert Belder <bertbelder@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-14 07:41:55 +00:00
jkummerow@chromium.org
a5a4b4930b Fix missing colon in common.gypi
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10912092

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-05 09:29:15 +00:00
jkummerow@chromium.org
3efb50237d Add build system infrastructure for ENABLE_EXTRA_CHECKS flag (not used yet)
Review URL: https://chromiumcodereview.appspot.com/10905093

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-05 09:24:37 +00:00
ulan@chromium.org
a50dbcea44 Fix android.gypi to provide correct include and library paths when using standalone Android toolchain.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10910062

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-03 11:27:09 +00:00
ulan@chromium.org
fcc1791a82 Provide option to disable full DEBUG build on Android.
V8 full DEBUG is too slow on Android. Disable it when android_full_debug==0.

R=ulan
BUG=none

Review URL: https://chromiumcodereview.appspot.com/10874062
Patch from Xianzhu Wang <wangxianzhu@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 15:25:15 +00:00
yangguo@chromium.org
59f212e7eb Relax requirement from VFP3 to VFP2 where possible.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10818026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-25 15:26:16 +00:00
jkummerow@chromium.org
82bcbf88db Enable building V8 for Android on Mac
Review URL: https://chromiumcodereview.appspot.com/10795045
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-23 12:02:46 +00:00
jkummerow@chromium.org
5f42d27f75 MIPS: Fix mipsel GYP build on Emdebian.
Emdebian's cross compiler identifies itself as
"Target: mipsel-linux-gnu"; modified pattern to
match this compiler too.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10810006
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-19 10:36:19 +00:00
jkummerow@chromium.org
6a60899022 Build V8 for Android IA
Review URL: https://chromiumcodereview.appspot.com/10778033
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-18 11:43:44 +00:00
jkummerow@chromium.org
2f43f5e9d7 MIPS: Rename "mips" arch to "mipsel" in the GYP build.
In the traditional MIPS naming scheme, "mips" is used for
big-endian mips and "mipsel" is used for little-endian mips.
In V8 the "mips" build is little-endian, so the "mips" target is
renamed to "mipsel" to be compliant with the traditional MIPS
naming scheme.

This change is also required for supporting the Chromium project on MIPS.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10695114

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-11 15:15:04 +00:00
jkummerow@chromium.org
70d56acd1f Make MACOSX_DEPLOYMENT_TARGET configurable.
BUG=v8:2151

Review URL: https://chromiumcodereview.appspot.com/10693065

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 14:58:43 +00:00
jkummerow@chromium.org
d7c11199cb Remove -fomit-frame-pointer flag from Release builds
BUG=133723

Review URL: https://chromiumcodereview.appspot.com/10659030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 15:31:27 +00:00
ulan@chromium.org
2b5e60f3d2 Enable whole program optimization for WIN64 to make build-bot green.
R=jkummerow@chromium.org
BUG=v8:2207

Review URL: https://chromiumcodereview.appspot.com/10636055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 15:27:12 +00:00
jkummerow@chromium.org
a40f7b516e Add msvs_configuration_platform to common.gypi to allow x64 builds on Windows
Review URL: https://chromiumcodereview.appspot.com/10573008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:20:29 +00:00
yangguo@chromium.org
bda964340b Fix lint.
R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10546163

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 08:42:40 +00:00
yangguo@chromium.org
3a616628d8 Introduce regexp=interpreted to GYP to enable building with interpreted regexp engine.
This option existis for scons. It does not compile yet since there are some broken stuff yet to be fixed.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10544138

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-14 08:01:05 +00:00
jkummerow@chromium.org
da8817f02a Prevent Windows buildbots from unnecessarily clobbering directories
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 10:00:57 +00:00
jkummerow@chromium.org
ee13c8b2dc Speculative fix for ChromiumOS(ARM) cross-compile buildbots
R=mstarzinger@chromium.org

TEST=http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28arm%29 build succeeds

Review URL: https://chromiumcodereview.appspot.com/10432004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:19:28 +00:00
jkummerow@chromium.org
eedb79534b Some cleanup to common.gypi. This fixes some host/target combinations that weren't working in the Make build on Mac.
Review URL: https://chromiumcodereview.appspot.com/10416005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 08:10:58 +00:00
jkummerow@chromium.org
9dedc37b09 Set '-m32' option for host and target platforms
For different host and target archs, try to check whether
their compilers support '-m32' option individually. If yes,
then add this option into cflags and ldflags. The exception is
that both host and target archs are 'x64'.

Review URL: https://chromiumcodereview.appspot.com/10335014
Patch from Yongsheng Zhu <yongsheng.zhu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:01:19 +00:00
jkummerow@chromium.org
db6c266c53 GYP build: Provide automatic host_arch detection on Mac
TEST="make x64.release" works fine on MacOS

Review URL: https://chromiumcodereview.appspot.com/10310123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 13:52:16 +00:00