Commit Graph

399 Commits

Author SHA1 Message Date
michael_dawson
f1ba8d8f86 Contribution of PowerPC port (continuation of 422063005) - AIX Common1
Contribution of PowerPC port (continuation of 422063005 and 817143002). This patch covers
the key changes needed to the common files needed to support AIX. Subsequent
patches will cover:
- changes to update the ppc directories so they are current with the changes
in the rest of the project.
- remaining AIX changes not resolved by 4.8 compiler
- individual optimizations for PPC

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

R=danno@chromium.org, svenpanne@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26343}
2015-01-30 08:02:08 +00:00
machenbach
5577dbdcf1 Remove version generation approach.
Revert "Partially reland Auto-generate v8 version based on tags."

This reverts commit 0707afc863.

Revert "Ensure tags are fetched when generating the V8 version."

This reverts commit ea6831e9de.

Revert "Restrict tag-update for version generation to cached git repos."

This reverts commit c6641e138b.

BUG=chromium:446166
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26244}
2015-01-23 10:45:39 +00:00
machenbach
9ae1c2382a Make version generation robust to other user-defined tags.
BUG=chromium:446166
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26224}
2015-01-22 15:06:57 +00:00
bmeurer
8d30c452bb Try to fix AOSP builder.
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#26215}
2015-01-22 09:30:27 +00:00
bmeurer
2620f7604a Fix ninja build with clang=1.
Review URL: https://codereview.chromium.org/862313002

Cr-Commit-Position: refs/heads/master@{#26211}
2015-01-22 07:21:52 +00:00
machenbach
4cc852685f Reland Make clang the default on linux.
TBR=jochen@chromium.org,jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26206}
2015-01-21 22:25:05 +00:00
machenbach
b0ea0810c6 Revert of Reland Make clang the default on linux. (patchset #3 id:40001 of https://codereview.chromium.org/861223002/)
Reason for revert:
Still missing these builders:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20full%20debug

Original issue's description:
> Reland Make clang the default on linux.
>
> BUG=
>
> Committed: https://crrev.com/72ef6843b0aff68e519a8f26e7d2f7dd87b4712c
> Cr-Commit-Position: refs/heads/master@{#26204}

TBR=jochen@chromium.org,jkummerow@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26205}
2015-01-21 20:38:32 +00:00
machenbach
72ef6843b0 Reland Make clang the default on linux.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26204}
2015-01-21 19:32:12 +00:00
machenbach
6024d24866 Properly configure goma.
Everything is c/p from common.gypi.

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

Cr-Commit-Position: refs/heads/master@{#26198}
2015-01-21 15:30:28 +00:00
machenbach
c6641e138b Restrict tag-update for version generation to cached git repos.
Otherwise it's impossible to compile v8 without internet
connection.

BUG=chromium:446166
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26186}
2015-01-21 13:02:39 +00:00
Benedikt Meurer
9eace97bba Use signaling NaN for holes in fixed double arrays.
TEST=mjsunit,cctest,unittests
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26180}
2015-01-21 08:52:25 +00:00
machenbach
ea6831e9de Ensure tags are fetched when generating the V8 version.
This is needed so that version generation works after
bot_update fetched v8 in a chromium checkout.

TBR=tandrii@chromium.org
BUG=chromium:446166
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26177}
2015-01-21 08:00:20 +00:00
machenbach
e26627e8da Don't use -O3 with sanitizers.
BUG=chromium:430614
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26169}
2015-01-20 16:07:22 +00:00
jochen
3fd5b96f3b Revert of Make clang the default on linux. (patchset #2 id:20001 of https://codereview.chromium.org/781983002/)
Reason for revert:
breaks arm and mips compilation on main waterfall

Original issue's description:
> Make clang the default on linux.
>
> TBR=jochen@chromium.org
>
> Committed: https://crrev.com/006b5c5cfd8517563601f331bc7a57e13bfeb202
> Cr-Commit-Position: refs/heads/master@{#26164}

TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26166}
2015-01-20 15:15:28 +00:00
machenbach
006b5c5cfd Make clang the default on linux.
TBR=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26164}
2015-01-20 15:01:09 +00:00
bmeurer
655b112466 [ia32] Require SSE2.
This way we stay in sync with what Chromium does and we reduce the
number of bugs caused by 80-to-{32,64}-bit rounding errors. It's also
a requirement for switching to signaling NaN for FixedDoubleArray holes.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26154}
2015-01-20 12:53:51 +00:00
machenbach
0707afc863 Partially reland Auto-generate v8 version based on tags.
This relands parts of
https://codereview.chromium.org/843913009

It prepares for using this script outside of v8, e.g. in a
chromium hook.

The script is intended to run as a hook and will create
version_gen.cc if the content has changed.

Changes to gyp and gn files can land as a follow up, once
calling the hook on the chromium side has landed.

BUG=chromium:446166
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26144}
2015-01-19 16:23:39 +00:00
Sven Panne
e4c5b84652 Contribution of PowerPC port (continuation of 422063005)
Contribution of PowerPC port (continuation of 422063005). The inital patch
covers the core changes to the common files.  Subsequent patches will cover
changes to common files to support AIX and to update the ppc directories so
they are current with the changes in the rest of the project.

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

BUG=
R=svenpanne@chromium.org, danno@chromium.org, sevnpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26091}
2015-01-16 07:42:15 +00:00
jochen
dfdc8ca12e Remove unused iossim setting from mac asan config
R=glider@chromium.org
LOG=n
BUG=none
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26023}
2015-01-12 12:25:17 +00:00
jochen
aeb09e6dcf Merge v8_optimized_debug 1 and 2
All builders that used level 1 should meanwhile define
v8_enable_slow_dchecks, and so they can use level 2 without losing
coverage. Level 2, however, is considerably faster, so we want to use it
on those builders as well. The make optdebug setting is not affected by
this change.

BUG=none
R=machenbach@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26019}
2015-01-12 09:58:42 +00:00
jochen
77e3e48ee2 Introduce a gyp variable to control whether or not slow dchecks are on
The default for the various debug modes doesn't change.

In a follow-up, OptDebug1 and OptDebug2 will be merged

R=machenbach@chromium.org
LOG=y
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#26015}
2015-01-09 16:25:51 +00:00
jochen
8216f1bc7c Add ASAN and TSAN support for Mac
BUG=none
LOG=n
R=machenbach@chromium.org,glider@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26013}
2015-01-09 13:38:25 +00:00
jochen
0959123e57 Remove "extra checks"
Instead, just use DCHECKs. The builders that want them in release mode
should already be useding dcheck_always_on anyways

BUG=none
R=machenbach@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26001}
2015-01-08 16:29:39 +00:00
jochen
bbe8b00d6a Don't pass -pie when building a shared library build on android
BUG=none
R=ulan@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25938}
2014-12-23 19:23:03 +00:00
jochen
333a92bd5e Define SDKROOT for Mac
otherwise, the clang we ship doesn't work

BUG=none
R=adamk@chromium.org,thakis@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25893}
2014-12-18 20:42:46 +00:00
svenpanne
71bb00e261 Consistently use only one of virtual/OVERRIDE/FINAL.
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance.

While we're here, port r24662 to x87.

The net result is that v8 compiles again with a current clang.

BUG=v8:3753
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +00:00
jochen
b0f9ac831d Temporarily remove warning about inconsistent overrides
Otherwise, V8 won't compile with the latest clang anymore

BUG=v8:3753
R=machenbach@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25788}
2014-12-11 19:10:45 +00:00
mostynb
68870ab6ee move v8_use_external_startup_data to standalone.gypi
This allows the setting to be overridable by embedders,
at the cost of forcing embedders that don't build v8
using standalone.gypi to add this setting to their build
config.

BUG=chromium:421063
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25781}
2014-12-11 15:27:44 +00:00
jochen
93f3531051 Really enable DEBUG code on android unless full debug is specified
R=machenbach@chromium.rg
LOG=n
BUG=none
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25721}
2014-12-09 11:32:36 +00:00
jochen
97c1f4b15c Turn on DCHECKs and other debugging code if dcheck_always_on is 1
When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and
supporting code gets compiled and enabled.

This increases test coverage for chromium release buildbots

BUG=v8:3731
R=jkummerow@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25701}
2014-12-08 09:26:16 +00:00
ulan
1fb3932221 Android ARM: enable PIE.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25584}
2014-12-01 14:06:28 +00:00
machenbach
01be1b0084 Set clang directory in gyp.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25553}
2014-11-27 17:18:12 +00:00
jochen
6eed147d45 Move C++ flags for Android to cxxflags section
BUG=v8:3693
R=ulan@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25505}
2014-11-25 15:42:32 +00:00
yangguo
9b8d40594a Rip out bzip compression for native sources.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25464}
2014-11-21 12:45:20 +00:00
svenpanne@chromium.org
34b6acd532 Removed gcc_version magic from our GYP files, we don't support GCC 4.4 anymore.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25260}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 11:47:28 +00:00
dusan.milosavljevic@imgtec.com
61c0aa96e3 MIPS: Resolve chromium and android webview build conflicts.
The mips related gyp variables and compiler flags for webview
and chromium builds are set externally. The CL ensures this
behaviour and prevents conflicts in configuration with standalone builds.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25243}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:48:17 +00:00
jkummerow@chromium.org
e2e9e1d3f6 Add FLAG_trace_maps
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25219}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:03:44 +00:00
bmeurer@chromium.org
4ac3d1407b Remove deprecated lexer-shell.
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 11:42:30 +00:00
bmeurer@chromium.org
08e20d1291 Disable libstdc++ debug mode on x64 for now.
TBR=mstarzinger@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 09:37:42 +00:00
bmeurer@chromium.org
ded822a5de Enable libstdc++ debug mode in debug builds.
For now it's only enabled on Linux/Intel.

R=mstarzinger@chromium.org
BUG=v8:3638
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:12:17 +00:00
bmeurer@chromium.org
a58000d11e Revert "Enable libstdc++ debug mode in debug builds.".
This reverts commit r24676 to see if it was the cause for the mysterious
crashes on some bots. If not, we'll reland it.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 04:16:06 +00:00
bmeurer@chromium.org
6353ff20ed Fix Mac build after r24676.
BUG=v8:3638
LOG=n
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 07:12:30 +00:00
bmeurer@chromium.org
c987974dcc Enable libstdc++ debug mode in debug builds.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html for
details about the debug mode.

BUG=v8:3638
LOG=y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 06:58:20 +00:00
dusan.milosavljevic@imgtec.com
3758fceca9 MIPS: Improve runtime detection and compatibility wrt arch. revisions.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:39:23 +00:00
jochen@chromium.org
3d7bd81ea3 Don't enable WPO on Win64 and require Server 2003 / x64 for win64
WPO was only enabled to work around an issue with the Isolate's static
initializer which no longer exists.

Requiring XP on Win64 doesn't make sense.

BUG=421363
R=machenbach@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 09:09:57 +00:00
jochen@chromium.org
524d185116 Don't filter out -O0 for debug configurations
BUG=none
R=svenpanne@chromium.org
LOG=n

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:17:19 +00:00
bmeurer@chromium.org
bfd37ab267 Move unit tests to test/unittests.
As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.

BUG=v8:3489
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:34:25 +00:00
ulan@chromium.org
b91704fd69 Enable FDO for v8 in android build.
R=benm@chromium.org, ulan@chromium.org, torne@chromium.org

TEST=manual
BUG=

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

Patch from Dehao Chen <dehao@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 10:19:09 +00:00
bmeurer@chromium.org
dd34bc2cab Add missing -Wno-missing-field-initializer flag to standalone.gypi.
Chrome uses -Wno-missing-field-initializers when building V8, so we
should better use that as well. It silences warnings generated for the
GTest port files.

BUG=v8:3518
LOG=n
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 09:23:50 +00:00
bmeurer@chromium.org
b22724966b [turbofan] Merge compiler unit tests into src.
BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:26:12 +00:00
bmeurer@chromium.org
58a5d15ba7 Merge heap unit tests into src.
Also rip out the unused runtime-unittests; will be added back on-demand.

BUG=v8:3489
LOG=n
R=ulan@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:12:50 +00:00
bmeurer@chromium.org
4edcff907f Refactor libplatform unit tests to use GTest/GMock.
Also migrate them to src.

BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:13:55 +00:00
bmeurer@chromium.org
e552ffc687 Revert "Move base library definitions from v8.gyp to base.gyp."
This reverts commit r23518 for breaking Blink bots.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 12:30:50 +00:00
bmeurer@chromium.org
5a37d2276f Move base library definitions from v8.gyp to base.gyp.
Less confusion is best confusion.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 11:18:50 +00:00
bmeurer@chromium.org
5992acc242 Merge base unit tests into src to be in line with Chrome.
We still need the test/base-unittests folder until the test driver is
updated to handle unittests without the boilerplate.

TEST=base-unittests
R=svenpanne@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:53:08 +00:00
svenpanne@chromium.org
c6f044b397 Tweaks to generate XP-compatible .exes
BUG=407517
LOG=y
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:45:39 +00:00
machenbach@chromium.org
46bd2aff47 Enable C++11 tests on windows.
TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:00:44 +00:00
yangguo@chromium.org
0944419447 Add LTO support for Android Chromium.
This is to add support for a Link-Time Optimizations experiment in Android Chromium. As it is disabled by default, it won't change anything for most configurations.

R=ulan@chromium.org

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

Patch from Fabrice de Gans <fdegans@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:32:29 +00:00
bmeurer@chromium.org
10678fb22f Setup heap-unittests and runtime-unittests.
Initial import of empty unit test suites for Toon and Hannes.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:54:54 +00:00
ulan@chromium.org
96038b7183 Fix Android build.
BUG=v8:3506
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:27:33 +00:00
dusan.milosavljevic@imgtec.com
8804736ba3 Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Fixing gclient runhooks failure caused by reverted commit r23050.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 19:04:15 +00:00
machenbach@chromium.org
604c52da52 Revert "Enable C++11 tests on windows."
This reverts commit r23052. This sets a new landmine.

TBR=jochen@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:28:54 +00:00
machenbach@chromium.org
f744c68936 Revert "Reland "MIPS: Add support for arch. revision 6 to mips32 port.""
This reverts commit r23050 for breaking runhooks on chromium.

See e.g.:
http://build.chromium.org/p/client.v8/builders/Chrome%20Linux%20Perf/builds/1438/steps/runhooks/logs/stdio

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:18:49 +00:00
machenbach@chromium.org
c9d217adf5 Enable C++11 tests on windows.
This also adds a landmine as windows bots need a clobber.

BUG=400033
LOG=n
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:10:29 +00:00
dusan.milosavljevic@imgtec.com
2097fa59b3 Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Original commit r23028 breaks ARM64 build due to conflicting FP64 symbolic constant definition in src/globals.h and src/arm64/constants-arm64.h.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:46:32 +00:00
jochen@chromium.org
152c3b809c Revert 23028 - "MIPS: Add support for arch. revision 6 to mips32 port."
Breaks compilation of ARM64.

| Additional summary:
|  - Introduce fp64 fpu mode into mips32 port required for r6.
|  - Implement runtime detections for fpu mode and arch. revision to preserve
|    compatibility with previous architecture revisions.
|
| TEST=
| BUG=
| R=jkummerow@chromium.org, paul.lind@imgtec.com
|
| Review URL: https://codereview.chromium.org/453043002

BUG=none
LOG=n
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 11:01:06 +00:00
dusan.milosavljevic@imgtec.com
6c47bc726c MIPS: Add support for arch. revision 6 to mips32 port.
Additional summary:
 - Introduce fp64 fpu mode into mips32 port required for r6.
 - Implement runtime detections for fpu mode and arch. revision to preserve
   compatibility with previous architecture revisions.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:40:25 +00:00
machenbach@chromium.org
7f156ffefa Fix v8 landmines script.
Currently, some builders are in a clobber-landmine loop.

Clobber deletes the .landmines tracker (sigh). Difficult to
know if we are right after a clobber or if it is first-time
landmines deployment. Also, a landmine-triggered clobber
right after a clobber is not possible. Different clobber
methods for msvs, xcode and make all have different
blacklists of files that are not deleted.

After the branch point, all v8 branch builders have to be
manually clobbered, because the appearance of the
landmines.py script and the first landmine request are in
the same branch CL.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-09 08:31:01 +00:00
machenbach@chromium.org
d941a443f2 More landmines debug output.
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 14:51:16 +00:00
bmeurer@chromium.org
12e8b34b07 Reland "Add initial support for compiler unit tests using GTest/GMock.".
LOG=y
BUG=v8:3489
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 07:04:07 +00:00
bmeurer@chromium.org
38ca3f4fc2 Revert "Add initial support for compiler unit tests using GTest/GMock."
This reverts commit r22927 for breaking build.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:59:02 +00:00
bmeurer@chromium.org
1f1e9495e5 Add initial support for compiler unit tests using GTest/GMock.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:52:47 +00:00
bmeurer@chromium.org
ef17fe7633 Refactor unit tests for the base library to use GTest.
TEST=base-unittests
BUG=v8:3489
LOG=y
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:35:21 +00:00
bmeurer@chromium.org
11fb976bf4 Revert "Unbreak build with clang."
This reverts commit r22878 and fixes the actual bug instead.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:19:22 +00:00
svenpanne@chromium.org
99bfb3d974 Unbreak build with clang.
It's unclear whether it's a clang bug or our code is wrong, to be
verified later...

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:58:11 +00:00
svenpanne@chromium.org
337015e5dd Enable C++11. Synch toolchains with Chrome.
* Consistently enable C++11 features on all platforms.
* Use the same ARM toolchain version as Chrome.
* Make clang the default on Mac OS X, just like Chrome.
* Use C99 on Mac OS X, again following Chrome.
* Small build fixes.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:23:55 +00:00
bmeurer@chromium.org
ecec301571 Revert "Initial import of unittests using GTest/GMock."
This reverts commit r22847 and r22848. Isolate initialization/shutdown
still broken (so certain debug builds just crash), and our compiler flags
do not work with other Google projects (i.e. GTest/GMock).

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:16:47 +00:00
bmeurer@chromium.org
62ac0d1050 Initial import of unittests using GTest/GMock.
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:07:25 +00:00
danno@chromium.org
9ac4b4e329 Only activate SSE2 by default on ia32
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:00:39 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71 MIPS64: Add support for architecture revision 6.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
danno@chromium.org
1273155b74 Activate SSE2 for all Visual Studio builds
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 14:31:12 +00:00
machenbach@chromium.org
f5a4b26061 Add tsan support to v8's gyp and test driver.
Tests only the default variant for now.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 13:14:26 +00:00
machenbach@chromium.org
dcc2a25f2f Test landmines.
BUG=
R=jochen@chromium.org
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 13:12:00 +00:00
machenbach@chromium.org
1539860866 Make landmines work on the first landmine.
With the original script, landmines don't work if the initial commit of the landmine script and the first landmine are in the same build. In this case, the landmine file wouldn't exist yet and no landmine would be triggered. But the updated landmine content would have still been written, omitting the landmine.

Now, the script will initialize an empty landmine file if none exists. This will make sure that a landmine is set on the branch builders after the next branch point.

This also adds some debugging output to better trace when landmines are set/deleted.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:33:29 +00:00
machenbach@chromium.org
7e685ba295 Landmine after ICU52 roll.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 15:09:58 +00:00
machenbach@chromium.org
2ba5bcf208 Add landmines support.
The scripts are copied from chromium/src/build and simplified.

BUG=
R=jkummerow@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 15:06:18 +00:00
rmcilroy@chromium.org
fb3128f3f8 Really fix the arm builder bots by copying android_webview_build out one scope in toolchain.gypi
Move android_webview_build variable to toolchain.gypi to fix arm builders.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:36:40 +00:00
rmcilroy@chromium.org
d09d81f977 Move android_webview_build variable to toolchain.gypi to fix arm builders.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:54:33 +00:00
rmcilroy@chromium.org
9d5bd59204 Fix the android_webview build's gyp files after the changes in r22444.
The android_webview get's it's compiler flags from the Android build system,
so we should not be setting these flags in gyp when building the webview.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 10:17:01 +00:00
rmcilroy@chromium.org
e6936f2145 Reland "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.

This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination.  The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support.  The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.

Original Review URL: https://codereview.chromium.org/382343003
TBR=jkummerow@chromium.org

BUG=384474
LOG=NO

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 09:56:58 +00:00
rmcilroy@chromium.org
c9087a715a Revert "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
This reverts commit r22425 for breaking the Arm debug builder.

BUG=384474
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:53:32 +00:00
rmcilroy@chromium.org
83bb0f1001 Remove erroneous uses of CXX / CXX_target / CXX_host from gyp.
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.

This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination.  The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support.  The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.

BUG=384474
LOG=NO
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:20:37 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
jochen@chromium.org
ca16bb7ae2 Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.

Change all binaries to use the default platfrom from libplatform.

Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).

BUG=none
R=jkummerow@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
yangguo@chromium.org
12d0d1b74f Revert "Add msan build option." (r22109)
Building d8 with msan requires instrumented libc++. Currently the
advised way to do this is from a chromium checkout with d8 as target.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:51:27 +00:00
jarin@chromium.org
06e082c815 Revert "Linux perf tool support update + refactoring." (r22118).
Android ninja build still failing.

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:12:08 +00:00
jarin@chromium.org
2b7580c2d4 Reland "Linux perf tool support update + refactoring."
This relands r22098.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:20:21 +00:00
yangguo@chromium.org
e711d193c3 Add msan build option.
Currently works only in combination with i18nsupport=off.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 09:04:48 +00:00
svenpanne@chromium.org
e25f833496 Added slim versions of output streams.
R=bmeurer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:42:17 +00:00
jochen@chromium.org
a05abda445 Set OS=android via GYP_DEFINES
Otherwise, the variable isn't available in all scopes. Instead of playing around
with nested scopes, we just set it in GYP_DEFINES (same as chromium does)

BUG=v8:3405
R=ulan@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 09:48:49 +00:00
jochen@chromium.org
bab70ca936 Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.

This is similar to https://codereview.chromium.org/342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.

Originally reviewed at https://codereview.chromium.org/346643002/

BUG=368384
LOG=Y
R=jochen@chromium.org

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

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 07:12:48 +00:00
haitao.feng@intel.com
5970d4fa10 Add X32 port into V8
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
vogelheim@chromium.org
7b7bb25a24 Support external startup data in V8.
[Re-retry of r21696 and r21739]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +00:00
rmcilroy@chromium.org
7f429e62c3 [Arm]: Simplify compile-time Arm feature detection.
Simplify the compile time feature detection on Arm:
 - Define CAN_USE_XXX definitions unconditionally for all target/host
   toolchain combinations
 - Rename arm_test / ARM_TEST to arm_test_noprob / ARM_TEST_NO_FEATURE_PROBE
 - Don't set ARM_TEST_NO_FEATURE_PROBE implicitly on the simulator to make
   make simulator / native more consistent
 - Unify CpuFeatures::PrintTarget for simulator and native builds
 - Remove unecessary CAN_USE_VFP_INSTRUCTIONS definition for android (this is
   the default for arm_fpu=default)
 - Add a CpuFeatures::Probe() before calling CpuFeatures::PrintFeatures() in PrintHelp
    to ensure we have probed features before printing them.

BUG=384474
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 12:19:54 +00:00
marja@chromium.org
2c8eef08ca Revert "Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel."
This reverts r21909.

Reason: breaks NaCL build.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:47:07 +00:00
jochen@chromium.org
1ef52275d5 Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.

This is similar to https://codereview.chromium.org/342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.

BUG=368384 possibly?
LOG=Y
R=jochen@chromium.org

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

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:19:54 +00:00
ishell@chromium.org
a685c2e005 --verify-predictable mode added for ensuring that GC behaves deterministically.
In order to be able to use it one should pass verifypredictable=on to the make tool or specify v8_enable_verify_predictable=1 in GYP_DEFINES.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 07:35:48 +00:00
machenbach@chromium.org
6ccf6f8bf8 Revert "Support external startup data in V8."
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.

Conflicts:
	src/d8.cc

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
vogelheim@chromium.org
ba9f391bc0 Support external startup data in V8.
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
mvstanton@chromium.org
e039477000 Revert "Support external startup data in V8."
This reverts commit r21646, as it blocks pushing to chromium.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
vogelheim@chromium.org
61509aaea5 Support external startup data in V8.
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=bmeurer@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
weiliang.lin@intel.com
2f04631d9e X87: use more suitable build flag
BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:39:44 +00:00
danno@chromium.org
9c485e182b Introduce x87 port
Support x87-only platform (ia32 without SSE)

R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
ulan@chromium.org
70813e6a82 ARM64: Enable PIE on Android.
BUG=373219
LOG=N
R=rmcilroy@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 14:11:54 +00:00
m.m.capewell@googlemail.com
2bdd088cde ARM: update defaults for flags
R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:25:32 +00:00
yangguo@chromium.org
cb2f43cb14 Always include debugger support.
Motivation: we do not have test coverage for debuggersupport=off.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
m.m.capewell@googlemail.com
10bbd65525 ARM64: Fix native builds
Rearrange sed lines to enable native builds for ARM64.

BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:25:15 +00:00
plind44@gmail.com
5a016958c6 MIPS: Add big-endian support for MIPS.
Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
rmcilroy@chromium.org
8c573aa6cd Fix android_arm64 target for experimental ndk
BUG=354405
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 21:28:40 +00:00
jochen@chromium.org
d426cd1012 Use abstract configurations to switch between opt debug settings
The problem is that conditions are evaluated before configuration inheritance is resolved, so we can't just define a configuration like this:

'Optdebug': {
  'inherits_from': ['Debug'],
  'variables': {
    'v8_optimized_debug': 2,
  }
}

Instead, we have to put the different settings depending on the optimization level into separate configurations, and use conditions inside the concrete configurations to inherit from the correct base class.

Common settings go in the base configuration DebugBaseCommon, and v8_optimized_debug dependent settings go into DebugBase{0,1,2}

The new Debug configuration inherits from DebugBaseCommon and DebugBase<(v8_optimized_debug), while the new configuration Optdebug inherits from DebugBaseCommon and DebugBase2.

BUG=v8:3252
R=machenbach@chromium.org, jkummerow@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 09:54:49 +00:00
jochen@chromium.org
066956dd3f Make build/gyp_v8 cope with ninja on linux
ninja doesn't support/need the output dir and generator dir flags

BUG=v8:3252
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:40:32 +00:00
jkummerow@chromium.org
8e5f6d98fc Remove Apple-only GCC_WARN_ABOUT_MISSING_NEWLINE
R=jkummerow@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:55:22 +00:00
jkummerow@chromium.org
9e54d6175a Fix "make arm asan=$CLANG"
Bonus cleanup: remove a few duplicate compiler flags

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:53:07 +00:00
rmcilroy@chromium.org
75e4fa300c Modify toolchain.gypi to avoid adding -m64 flag on android.
The -m64 flag isn't supported on Android.  Add a similar gyp condition to avoid
setting the flag on Android in a similar manner to how the -m32 flag is avoided
on android.

BUG=354405
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 18:23:34 +00:00
jkummerow@chromium.org
985c98a1eb Don't try to use ASan on Windows
Let ASan support depend on __has_feature(address_sanitizer) instead of defined(ADDRESS_SANITIZER)

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 16:18:28 +00:00
jkummerow@chromium.org
c6bff48f09 ASan support for the Zone
R=jarin@chromium.org, kcc@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:01:53 +00:00
ulan@chromium.org
0e0624c0b6 Enable x64 build for Android
BUG=
R=ulan@chromium.org

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

Patch from Yang Gu <yang.gu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:56:35 +00:00
marja@chromium.org
dccd57f1ec Add parser-shell.
parser-shell will help to see how much PreParsing gets slower when PreParser
starts doing more checks (especially tracking variables and scopes). It will
also show how much having preparse data (or cached data) speeds up the parsing.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:43:41 +00:00
ulan@chromium.org
d700952b4f ARM64: update the path to android_stlport_libs.
BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 13:00:01 +00:00
jochen@chromium.org
2ce0bebba1 Rename A64 port to ARM64 port
BUG=354405
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
jochen@chromium.org
9fccfc37c8 Prepare switch from a64 to arm64
BUG=354405
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
jochen@chromium.org
a992481b9e Allow for compiling with xcode 5.1 (which doesn't have gcc anymore)
BUG=none
R=jkummerow@chromium.org, machenbach@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 07:47:08 +00:00
machenbach@chromium.org
717c4d3bb5 Add ASAN option to stand-alone gyp config.
BUG=
R=jkummerow@chromium.org, jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 10:36:55 +00:00
ulan@chromium.org
e95bc7eec8 Merge experimental/a64 to bleeding_edge.
BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
jkummerow@chromium.org
7fd59e5295 Don't hardcode GCC_VERSION for Xcode in standalone.gypi.
This fixes standalone command-line Xcode compilation with Xcode 5.x.

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 15:55:20 +00:00
jochen@chromium.org
3a954aa52d Introduce a setting to control the toolset for which d8 is compiled
BUG=v8:1775
R=machenbach@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 09:11:22 +00:00
machenbach@chromium.org
bb372d9e23 Revert "Make it possible to compile d8 for the host toolset as well" and "For V8, only build d8 on target"
This reverts commits r18618 and r18619 for breaking arm compilation.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 14:24:32 +00:00
jochen@chromium.org
95ab47fadb For V8, only build d8 on target
BUG=none
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 14:00:29 +00:00
jochen@chromium.org
4934263a77 Remove generated makefiles on linux when running gyp_v8
BUG=331475
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 09:09:24 +00:00
jochen@chromium.org
b4c5627abf Revert r18435 "... Roll gyp 1685:1806"
TBR=ulan@chromium.org
LOG=n
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:13:53 +00:00
jochen@chromium.org
6ba3919003 Set the gyp DEPTH variable as relative path.
After r18439, it's an absolute variable which confuses gy

LOG=n
R=ulan@chromium.org
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 14:35:32 +00:00
jochen@chromium.org
22376a103a Don't modify the PWD in gyp_v8
When running gyp in parallel mode (soon the default), we need to be able
to find the script by looking at the path relative to the PWD when the
script was originally invoked.

Instead of changing the directory and relying on relative paths, just
use absolute paths (as gyp_chromium does).

BUG=v8:2973
R=ulan@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 13:50:50 +00:00
ulan@chromium.org
0aa98cf5b6 Revert "Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""" because of broken windows bots.
R=jochen@chromium.org
TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 10:49:48 +00:00
jochen@chromium.org
e785e60bea Revert r19394 - "Revert r18390 - "Roll gyp 1685:1806""
Also include a gyp_v8.py wrapper for new import rules.

> Doesn't work with python2.7 - I tested with 2.6 :-/
>
> BUG=none
> TBR=hpayer@chromium.org
> LOG=n

BUG=none
LOG=n
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 09:58:06 +00:00
bmeurer@chromium.org
0899da3697 Add support for the QNX operating system.
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

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

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
jkummerow@chromium.org
7967a195c7 Switch armv7 setting to arm_version==7 in v8 gyp files
BUG=chromium:234135
LOG=Y
R=jkummerow@chromium.org

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 11:58:07 +00:00
machenbach@chromium.org
24912a794c Pass -Goutput_dir=. to the make generator.
This makes it possible to remove the builddir_name hack added in r238632.

BUG=315004

Patch from Nico Weber <thakis@chromium.org>.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 11:19:10 +00:00
jkummerow@chromium.org
37e2c7e500 Support 'werror=no' on Mac/Xcode
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:29:31 +00:00
yangguo@chromium.org
aa3518a0f3 Make sure files end with exactly one new line and police this in presubmit.
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00