Commit Graph

166 Commits

Author SHA1 Message Date
joransiu
1091c2f07e S390: Makefile + Build Toolchain Updates
This is the first of several commits to contribute Linux on z Systems
(s390/s390x) port of V8.  We will be breaking up the changes into several
(hopefully) logical commits.

This commit contains the changes to V8 Makefile and build toolchains to
introduce S390 macros and compiler options.  Just for awareness for reviewers
is that s390 is 31-bit (not 32!) big-endian platform on Linux on z.  (MSB of address
is used to distinguish between 24-bit vs 31-bit addressing!)  s390x is
64-bit Linux on z.  Names follow the general linux convention on the platform.

A quick roadmap on upcoming commits:
- Add \#include of S390 header files in common files
- S390 related tests + tooling changes
- printf macro for printing size_t values.
- S390 platform-specific code generation code (bulk of changes!)

R=danno@chromium.org,svenpanne@chromium.org,michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33304}
2016-01-14 17:17:11 +00:00
thakis
e375ceaca4 Stop disabling compiler warning 4481, v8 edition.
Matches https://crrev.com/366832

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33182}
2016-01-08 15:21:56 +00:00
thakis
25864f2d00 Remove an unneeded OS!=win now that update.py is used.
Follow-up to https://codereview.chromium.org/1495653002, and makes it easier
to maybe have a clang/win build of v8 at some point in the future.

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33037}
2015-12-24 11:58:30 +00:00
fmeawad
70a7c754bf Implement tracing interface for v8
This is based on the Skia Implementation.

More on the project can be found here:
https://docs.google.com/a/chromium.org/document/d/1_4LAnInOB8tM_DLjptWiszRwa4qwiSsDzMkO4tU-Qes/edit#heading=h.p97rw6yt8o2j

The V8 Tracing platform will replace the isolate->event_logger().
But since the current embedders (namely chromium) currently use the isolate->event_logger, I made the default implementation (event-tracer) call into isolate->event_logger if an event_logger was set.
Once the embedders properly implement the interface (for example in chromium it would look like this: https://codereview.chromium.org/707273005/), the default implementation will be doing nothing.

Once the embedders side is fixed, we will change how V8 uses the tracing framework beyond the call from Logger:CallEventLogger. (which would also include a d8 implementation)

BUG=v8:4560
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32959}
2015-12-17 18:48:35 +00:00
jkummerow
ce47fc8b72 [build system] Support code coverage.
Review URL: https://codereview.chromium.org/1511893004

Cr-Commit-Position: refs/heads/master@{#32743}
2015-12-10 10:11:16 +00:00
jochen
6f472db65a Disable soon to be deprecated APIs per default for v8
Embedders still can use those APIs by default

test-api.cc still has an exception to use the old APIs...

BUG=v8:4143
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32701}
2015-12-09 10:35:04 +00:00
thakis
39bef217a3 Let v8 standalone builds use update.py instead of update.sh.
update.sh is gone in chromium, and using update.py will do the right
thing both before and after the deletion in chromium (previously,
update.py used to call update.sh internally on non-win).

This also has the benefit of working on Windows.

No intended behavior change.

BUG=chromium:494442
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32529}
2015-12-02 20:28:14 +00:00
balazs.kilvady
8e54a667b2 Add -Wno-sign-compare flag to gcc builds.
Fix gcc 4.9.2 signed-compare warnings/errors.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32367}
2015-11-27 11:43:10 +00:00
machenbach
58f4a052a1 [build] Fix msan after clang roll.
Port https://codereview.chromium.org/1474923002

BUG=chromium:538614,chromium:559530,chromium:560589
LOG=n
TBR=jochen@chromium.org, thakis@chromium.org, hans@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#32326}
2015-11-26 10:34:46 +00:00
machenbach
f54a055901 Work-around for passing CC/CXX for arm cross-compilation with make.
BUG=chromium:534332
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32214}
2015-11-24 14:34:08 +00:00
machenbach
321c4ace97 Prepare switching arm cross-compile to ninja.
BUG=chromium:534332
LOG=n
TBR=jochen@chromium.org
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#32133}
2015-11-20 08:46:04 +00:00
machenbach
3fc27dcf8a [Swarming] Isolate files for windows.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31777}
2015-11-04 10:46:37 +00:00
machenbach
52276b36a0 Use msvs toolchain from depot_tools.
This ports some code from chromium for using the bundled
toolchain.

BUG=chromium:548586
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31706}
2015-11-02 10:40:28 +00:00
machenbach
d6ebeb4e0d [test] Make cfi more verbose.
Set "no recover" in diagnostic mode to keep triggering
crashes. Otherwise, the v8 test driver won't notice tests
as failing.

Also port some common sanitizer cflags to cfi - those can be
removed on the build side afterwards.

BUG=chromium:515782
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31442}
2015-10-21 13:35:42 +00:00
akos.palfi
d7f813b4da GYP: Don't pass -Wno-format-pedantic to GCC.
This flag is not understood correctly by GCC and breaks the GCC ARM and MIPS optdebug builds.

Patch from Brendan Kirby <brendan.kirby@imgtec.com>

BUG=

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

Cr-Commit-Position: refs/heads/master@{#31013}
2015-09-29 22:10:25 +00:00
machenbach
7b3e8a4b03 [swarming] Add isolate configs for d8 on linux.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30943}
2015-09-25 14:37:11 +00:00
machenbach
81121b4049 Port cfi blacklist from chromium.
BUG=chromium:515782
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30734}
2015-09-15 08:45:51 +00:00
machenbach
34ce987586 Port enabling rtti for cfi.
Partially port https://codereview.chromium.org/1243373003/

BUG=chromium:515782
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30497}
2015-09-01 08:03:11 +00:00
domenic
6f582f088a Add experimental, non-snapshotted V8 extras
Embedders would use these for features which must be able to be turned
off at runtime, despite being compiled into V8. They can be turned on
and off by the embedder using the --experimental_extras flag, e.g. via
v8::SetFlagsFromString.

R=yangguo@chromium.org, mlippautz@chromium.org, hpayer@chromium.org
BUG=chromium:507137
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#30260}
2015-08-20 00:01:14 +00:00
vogelheim
ec4bb0e91c Default-enable external startup snapshot for, like, everywhere.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30198}
2015-08-17 13:59:50 +00:00
machenbach
9d5c571291 Port cfi configuration from chromium.
BUG=chromium:515782
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30058}
2015-08-07 09:05:26 +00:00
dstence
8d2eec506f Enable gdb-jit for PPC64 on Linux (both big-endian and little-endian).
R=danno@chromium.org, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29984}
2015-08-03 18:02:33 +00:00
jochen
2714ee5539 Make V8 compile with MSVS 2015
BUG=v8:4326
R=machenbach@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29868}
2015-07-27 11:51:23 +00:00
balazs.kilvady
30b39f25fc Add -Wshorten-64-to-32 flag to mac builds.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29652}
2015-07-14 16:05:29 +00:00
machenbach
0a3b77397b Prepare for using ninja for win64.
BUG=chromium:508921
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29605}
2015-07-13 12:39:28 +00:00
machenbach
976e1e5c59 Revert of Use third_party clang on Mac. (patchset #4 id:60001 of https://codereview.chromium.org/1200833013/)
Reason for revert:
[Sheriff] Breaks mac on the main waterfall (though not on the tryserver):
http://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/3925

Original issue's description:
> Use third_party clang on Mac.
>
> BUG=
>
> Committed: https://crrev.com/57b20413294940476ab2b2e71ed0802aaf8c223f
> Cr-Commit-Position: refs/heads/master@{#29343}

TBR=danno@chromium.org,jkummerow@chromium.org,paul.lind@imgtec.com,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29345}
2015-06-29 13:06:36 +00:00
balazs.kilvady
57b2041329 Use third_party clang on Mac.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29343}
2015-06-29 12:27:59 +00:00
machenbach
c4121b28b1 [android] Configure building android with ninja and clang.
Make clang dir absolute to avoid differences between ninja
and make gyp generator.

BUG=chromium:502176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29341}
2015-06-29 10:47:30 +00:00
vogelheim
a845d3e552 Default-enable external startup snapshot for more types of builds.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29325}
2015-06-26 12:45:38 +00:00
machenbach
7879474601 Reland [android] Migrate more configs to gyp.
This reverts commit e93e4dad63.

BUG=chromium:502176
LOG=n
NOTRY=true
TBR=ulan@chromium.org, jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29323}
2015-06-26 12:04:09 +00:00
machenbach
e93e4dad63 Revert of Reland [android] Migrate more configs to gyp. (patchset #2 id:20001 of https://codereview.chromium.org/1210393003/)
Reason for revert:
[Sheriff] Fails runhooks.

Original issue's description:
> Reland [android] Migrate more configs to gyp.
>
> This reverts commit 3e8892b589.
>
> BUG=chromium:502176
> LOG=n
> NOTRY=true
> TBR=ulan@chromium.org, jochen@chromium.org
>
> Committed: https://crrev.com/c0d70e43c4cbe2a09c8f1bd55fe2be03cd9ba041
> Cr-Commit-Position: refs/heads/master@{#29317}

TBR=ulan@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:502176

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

Cr-Commit-Position: refs/heads/master@{#29319}
2015-06-26 10:39:22 +00:00
machenbach
c0d70e43c4 Reland [android] Migrate more configs to gyp.
This reverts commit 3e8892b589.

BUG=chromium:502176
LOG=n
NOTRY=true
TBR=ulan@chromium.org, jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29317}
2015-06-26 10:33:34 +00:00
bmeurer
3e8892b589 Revert of [android] Migrate more configs to gyp. (patchset #4 id:60001 of https://codereview.chromium.org/1207693004/)
Reason for revert:
Breaks arm64 bots.

Original issue's description:
> [android] Migrate more configs to gyp.
>
> BUG=chromium:502176
> LOG=n
>
> Committed: https://crrev.com/174869573e42c999da1489c264b9c4602b98ba31
> Cr-Commit-Position: refs/heads/master@{#29314}

TBR=jochen@chromium.org,ulan@chromium.org,dusan.milosavljevic@imgtec.com,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:502176

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

Cr-Commit-Position: refs/heads/master@{#29316}
2015-06-26 10:02:28 +00:00
machenbach
174869573e [android] Migrate more configs to gyp.
BUG=chromium:502176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29314}
2015-06-26 09:19:27 +00:00
machenbach
d70419e474 [android] Completly move path logic to gyp config.
BUG=chromium:502176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29245}
2015-06-24 05:35:14 +00:00
machenbach
2197ef2aaf [android] Merge gyp configurations.
The merge makes it possible to reuse variables from the
android configuration in standalone.gypi.

BUG=chromium:502176
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29189}
2015-06-22 13:17:23 +00:00
machenbach
5fe960a966 [android] Add toolchain path logic to gyp config.
BUG=chromium:502176
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29183}
2015-06-22 11:32:18 +00:00
vogelheim
17c1cf2865 Re-Re-land: Enable external startup by default on Linux.
crrev.com/1177163002 should have fixed the issues that broke this last time.

Notes:
- The current functionality is meant to stay. If you prefer the old way,
  just set v8_use_external_startup_data=0.
- You might notice this if you call d8 via PATH. Either explicitly tell d8
  where your external snapshot/built-ins are, or change the build options
  as above.
- This follows Chromium practice, that mostly uses this feature these days.
- Other platforms to follow later.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29050}
2015-06-16 11:27:01 +00:00
balazs.kilvady
a12f119112 MIPS64: Reland 'Enable shorten-64-to-32 warning.'
Port cdc43bc5fd

Original review: https://codereview.chromium.org/1133163005/

Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29024}
2015-06-15 12:05:19 +00:00
yangguo
74534bb8be Revert of MIPS64: Enable shorten-64-to-32 warning. (patchset #12 id:240001 of https://codereview.chromium.org/1133163005/)
Reason for revert:
Compile failure: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Mac64%20-%20debug/builds/3070/steps/compile/logs/stdio

Original issue's description:
> MIPS64: Enable shorten-64-to-32 warning.
>
> Port cdc43bc5fd
>
> Original commit message:
> Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
> that arise.
>
> BUG=
>
> Committed: https://crrev.com/9af578a7c83b58a0ce25345998d9287cbf2030cb
> Cr-Commit-Position: refs/heads/master@{#28990}

TBR=danno@chromium.org,martyn.capewell@arm.com,paul.lind@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,jkummerow@chromium.org,machenbach@chromium.org,svenpanne@chromium.org,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28991}
2015-06-12 09:58:34 +00:00
balazs.kilvady
9af578a7c8 MIPS64: Enable shorten-64-to-32 warning.
Port cdc43bc5fd

Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28990}
2015-06-12 09:40:06 +00:00
vogelheim
1e49631ae6 Revert of Re-land: Enable external startup by default on Linux. (patchset #3 id:40001 of https://codereview.chromium.org/1041683002/)
Reason for revert:
Revert, due to problems with stale build artefacts uncovered by this.

Details: https://code.google.com/p/v8/issues/detail?id=4171

Original issue's description:
> Re-land: Enable external startup by default on Linux.
>
> crrev.com/1016603004 should have fixed the issues that broke this last time.
>
> Notes:
> - The current functionality is meant to stay. If you prefer the old way,
>   just set v8_use_external_startup_data=0.
> - You might notice this if you call d8 via PATH. Either explicitly tell d8
>   where your external snapshot/built-ins are, or change the build options
>   as above.
> - This follows Chromium practice, that mostly uses this feature these days.
> - Other platforms to follow later.
>
> BUG=
>
> Committed: https://crrev.com/bb9c774c164c3552b67b4f1b60809852a44f2ecd
> Cr-Commit-Position: refs/heads/master@{#28858}

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

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

Cr-Commit-Position: refs/heads/master@{#28929}
2015-06-11 08:32:34 +00:00
vogelheim
bb9c774c16 Re-land: Enable external startup by default on Linux.
crrev.com/1016603004 should have fixed the issues that broke this last time.

Notes:
- The current functionality is meant to stay. If you prefer the old way,
  just set v8_use_external_startup_data=0.
- You might notice this if you call d8 via PATH. Either explicitly tell d8
  where your external snapshot/built-ins are, or change the build options
  as above.
- This follows Chromium practice, that mostly uses this feature these days.
- Other platforms to follow later.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28858}
2015-06-09 09:59:28 +00:00
machenbach
03f4ddb1f2 Make x32 compile with gcc.
BUG=chromium:430032
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28821}
2015-06-08 07:14:40 +00:00
machenbach
77b7b39b4e [test] Use instrumented libc++ for asan and tsan builds.
BUG=chromium:489254
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28676}
2015-05-28 11:50:55 +00:00
machenbach
a814516a08 [test] Add sanitizer coverage to gyp configs.
BUG=chromium:489254
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28663}
2015-05-27 16:18:33 +00:00
machenbach
543bcf4d5a [test] Sync in *san configurations from chromium.
This configures *san in v8 just like in chromium's
common.gypi. I also addresses compilation problems with ICU
and usage of instrumented libc++.

TBR=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28631}
2015-05-26 14:51:46 +00:00
machenbach
17d2f3b13b [test] Fix no-exceptions cc flag.
BUG=chromium:425187
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28599}
2015-05-22 16:40:09 +00:00
machenbach
643c85a792 [test] Apply more detailed origin tracking in MSAN builds.
BUG=chromium:425187
LOG=n
TBR=svenpanne@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28561}
2015-05-21 15:45:00 +00:00
jochen
9ebf94c8e8 Fix typo in standalone.gypi
without the % we can't override the value which makes the Makefile thing
not work

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

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

Cr-Commit-Position: refs/heads/master@{#28553}
2015-05-21 13:12:59 +00:00