Commit Graph

99 Commits

Author SHA1 Message Date
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
danno@chromium.org
f5b660ac97 Intel VTune integration for V8/d8
In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.

We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.

Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 12:48:27 +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
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
a50259f75c Add Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
With these Makefile changes, it is possible to build V8 on the Raspberry Pi with the following make invocation:

make native armv7=false vfp3=off hardfp=on disassembler=on console=readline snapshot=on gdbjit=on strictaliasing=off

R=danno@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11722003
Patch from Luis Reis <luis.m.reis@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 08:56:05 +00:00
danno@chromium.org
1f4b4625ff Re-land Crankshaft-generated KeyedLoad stubs.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 16:25:45 +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
danno@chromium.org
64fc1f99cb Revert 13157, 13145 and 13140: Crankshaft code stubs.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-10 11:09:12 +00:00
danno@chromium.org
f19959cd22 Enable stub generation using Hydrogen/Lithium (again)
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.

Committed: https://code.google.com/p/v8/source/detail?r=13105

Committed: https://code.google.com/p/v8/source/detail?r=13117

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-05 11:04:10 +00:00
danno@chromium.org
66f6a8182c Revert 13117: "Enable stub generation using Hydrogen/Lithium (again)"
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 17:16:51 +00:00
danno@chromium.org
78b09625d5 Enable stub generation using Hydrogen/Lithium (again)
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.

Committed: https://code.google.com/p/v8/source/detail?r=13105

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 15:51:05 +00:00
danno@chromium.org
0a3bcc8c05 Revert 13105: "Enable stub generation using Hydrogen/Lithium."
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:45:45 +00:00
danno@chromium.org
c115ff4e33 Enable stub generation using Hydrogen/Lithium.
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:31:30 +00:00
mstarzinger@chromium.org
c71c3cfd65 Fix typo in Makefile in ARM VFP support flag.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 10:00:28 +00:00
jkummerow@chromium.org
230bec1274 Use tools/run-tests.py for "check" targets in the top-level Makefile.
Bonus content: a few minor fixes for run-tests.py

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-18 14:21:35 +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
jkummerow@chromium.org
c9adda2647 Pull more recent gyp.
This pulls in https://chromiumcodereview.appspot.com/10079030/
and https://chromiumcodereview.appspot.com/10876082/ among others,
which are needed for more *nix platforms support.

Review URL: https://codereview.chromium.org/10983022
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-26 09:12:45 +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
59818a2eb6 Add option to build using a standalone Android toolchain without Android NDK.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-31 13:31:09 +00:00
jkummerow@chromium.org
6e1b979e4f Add hardfp flag to the Makefile.
This flag passes -Dv8_use_arm_eabi_hardfloat=true to gyp.

This is needed for Linux distros that are experimenting
with hardfp.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/10889026
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-30 16:43:58 +00:00
ulan@chromium.org
c6d4094e44 Android: increase default test timeout and skip time sensitive mjsunit/regress/regress-1969.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-01 13:06:08 +00:00
yangguo@chromium.org
49400e22b6 Rewrite Makefile rules for Android to allow parallel execution
BUG=v8:2257

Review URL: https://chromiumcodereview.appspot.com/10824039
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-27 11:14:44 +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
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
ulan@chromium.org
c22c7054f2 Add Makefile targets for running tests on Android.
This allows to run tests on the attached Android device using
> make android.check
> make android.debug.check
> make android.release.check
> ANDROID_V8=/data/local/v8 TESTJOBS=-j4 make android.release.check -j10

Tests and binaries are copied to device location specified by the ANDROID_V8
variable and then tests are executed using the 'adb shell' program.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 07:45:58 +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
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
1819105559 Prepare for using GYP build on buildbots
Review URL: https://chromiumcodereview.appspot.com/10383128

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 12:18:09 +00:00
jkummerow@chromium.org
10b0eee0d0 Clean up Makefile, enable MIPS cross-compilation
Review URL: https://chromiumcodereview.appspot.com/10268010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 08:11:38 +00:00
jkummerow@chromium.org
0070d4dfd7 Fix native ARM build
BUG=v8:1744, v8:539

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-13 07:59:09 +00:00
jkummerow@chromium.org
da5b44cbd1 Add support for Mac OS X 64bit builds with GYP
Note that in order to build for 64bits mode, you'll have
to specify the target architecture explicitely, the default
is still 32bits for Mac OS X.

Example with make and gcc:

$ export GYP_GENERATORS=make
$ make dependencies
$ make -j 8 library=shared x64.release

Example with make and clang:

$ export GYP_GENERATORS=make
$ export CC=/usr/bin/clang
$ export CXX=/usr/bin/clang++
$ export GYP_DEFINES="clang=1"
$ make dependencies
$ make -j 8 library=shared x64.release

Example with xcode:

$ export GYP_GENERATORS=xcode
$ build/gyp_v8 -Dtarget_arch=x64
$ xcodebuild -project build/all.xcodeproj -configuration Release

Contributed by Filipe David Manana <fdmanana@gmail.com>

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-30 15:01:11 +00:00
jkummerow@chromium.org
28a33dddda Hard-code GYP_GENERATORS=make into top-level Makefile
removing the need to manually specify this on platforms where it's not the default (Mac).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-28 12:42:49 +00:00
yangguo@chromium.org
67540abe08 Fix compile with debuggersupport=off.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-07 10:57:36 +00:00
jkummerow@chromium.org
001dea475f Provide a switch to specify -fno-strict-aliasing
BUG=v8:1887

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 10:17:03 +00:00
jkummerow@chromium.org
2dc816bb2d Add Android cross-compilation support to top-level Makefile
TEST=make android

Review URL: http://codereview.chromium.org/9179009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 13:29:12 +00:00
jkummerow@chromium.org
2485ced505 Add MIPS support to top-level Makefile
For now, MIPS targets are not included in the "all", "release", "debug" and corresponding ".check" convenience targets, but they can be built explicitly (e.g. "mips.release.check").

Review URL: http://codereview.chromium.org/8510014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-09 16:18:36 +00:00
jkummerow@chromium.org
11d79c5233 Add presubmit=no and werror=no flags to Makefile
Review URL: http://codereview.chromium.org/8159015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-06 11:08:41 +00:00
danno@chromium.org
2c13e0e41a Allow gyp build to turn on OBJECT_PRINT
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/7970015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 09:38:03 +00:00
jkummerow@chromium.org
5ab7a66a49 Add "native" target to Makefile for the benefit of Linux distros
TEST=make native; make native.check; make native.clean

Review URL: http://codereview.chromium.org/7891045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 08:16:07 +00:00
jkummerow@chromium.org
6dcf7cc4a7 Add "soname_version" parameter to common.gypi, v8.gyp, Makefile
TEST=compile with component=shared_library and soname_version=1.2.3 and find "libv8-1.2.3.so" in the output.

Review URL: http://codereview.chromium.org/7848017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:20:49 +00:00
jkummerow@chromium.org
f131cce3fe Add "dependencies" target to top-level Makefile
Review URL: http://codereview.chromium.org/7739021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:48:29 +00:00
jkummerow@chromium.org
829e174a02 Add tools/presubmit.py call to tools/test-wrapper-gypbuild.py
Review URL: http://codereview.chromium.org/7785025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 13:01:28 +00:00
jkummerow@chromium.org
b2bc11a602 Add a bunch of compile-time flags to the gyp build (and top-level Makefile)
Review URL: http://codereview.chromium.org/7748018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 11:23:51 +00:00
jkummerow@chromium.org
dda2889ba1 Refactor .gyp files:
common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.

TEST=compiles and tests pass on all platforms

Review URL: http://codereview.chromium.org/7740020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 14:50:09 +00:00
jkummerow@chromium.org
2e981982ac Support OUTDIR variable for tests triggered by Makefile
TEST="make -j16 check OUTDIR=whatever" works as expected

Review URL: http://codereview.chromium.org/7606025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 11:07:31 +00:00
jkummerow@chromium.org
1a849d2754 Make GYP build usable for day-to-day work (second attempt)
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing

Original review URL: http://codereview.chromium.org/7383006/

Review URL: http://codereview.chromium.org/7550030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 09:44:30 +00:00
jkummerow@chromium.org
7ac9dfcc81 Revert "Make GYP build usable for day-to-day work"
This reverts r8674 due to failures on the buildbots.

Review URL: http://codereview.chromium.org/7396022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-18 16:39:41 +00:00
jkummerow@chromium.org
93c5c5fa23 Make GYP build usable for day-to-day work
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing

Review URL: http://codereview.chromium.org/7383006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-18 14:19:48 +00:00