Commit Graph

429 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
machenbach
835813c38c [swarming] Isolate static initializer check.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33176}
2016-01-08 12:58:30 +00:00
bradnelson
0e8b7ec8b1 Remove wasm compile time option and enable wasm behind a runtime flag.
Deferring enabling of tests to separate per platform CLs.

R=machenbach@chromium.org,titzer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33123}
2016-01-05 18:06:54 +00:00
machenbach
ee66506737 [test] Add ignition test set.
Add control for the ignition test suites. This will be
followed by a change on the infra side that targets the
ignition set instead of the hardcoded mjsunit.

After that, cctest can be enabled in a separate CL. This CL
already includes the logic for running cctest for ignition
on swarming.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33089}
2016-01-04 17:26:42 +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
Ilija.Pavlovic
6dd99f19da MIPS: Fix enabling v8 compilation with CLANG.
Updated toolchain.gypi to support v8 using CLANG on MIPS. These changes
include using integrated assembler with CLANG, and disabling options
used by GCC which are not supported by CLANG.

Reland https://codereview.chromium.org/1519493002 with fix to remove
duplicated 'conditions' sections.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32963}
2015-12-18 08:03:15 +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
machenbach
2a09d7f9b5 Revert of Remove wasm compile time option and enable wasm behind a runtime flag. (patchset #54 id:1050001 of https://codereview.chromium.org/1516753007/ )
Reason for revert:
[Sheriff] Some build failures, e.g.:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/7502

Original issue's description:
> Remove wasm compile time option and enable wasm behind a runtime flag.
>
> R=titzer@chromium.org
> BUG=
>
> Committed: https://crrev.com/153f2bd47cce9d5dfa74074dda34c02731d96924
> Cr-Commit-Position: refs/heads/master@{#32955}

TBR=titzer@chromium.org,bradnelson@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32957}
2015-12-17 17:59:00 +00:00
bradnelson
153f2bd47c Remove wasm compile time option and enable wasm behind a runtime flag.
R=titzer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32955}
2015-12-17 16:04:57 +00:00
machenbach
eaac00b4e7 Revert of MIPS: Enable v8 compilation with CLANG. (patchset #1 id:1 of https://codereview.chromium.org/1519493002/ )
Reason for revert:
[Sheriff] This seems to break chromium runhooks for android:
https://build.chromium.org/p/client.v8.fyi/builders/Android%20Builder/builds/1794

Original issue's description:
> MIPS: Enable v8 compilation with CLANG.
>
> Updated toolchain.gypi to support v8 using CLANG on MIPS. These changes
> include using integrated assembler with CLANG, and disabling options
> used by GCC which are not supported by CLANG.
>
> TEST=
> BUG=
>
> Committed: https://crrev.com/0bae3c393575de4503cb179faa220e597e35dd8f
> Cr-Commit-Position: refs/heads/master@{#32780}

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

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

Cr-Commit-Position: refs/heads/master@{#32781}
2015-12-11 09:10:28 +00:00
Ilija.Pavlovic
0bae3c3935 MIPS: Enable v8 compilation with CLANG.
Updated toolchain.gypi to support v8 using CLANG on MIPS. These changes
include using integrated assembler with CLANG, and disabling options
used by GCC which are not supported by CLANG.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32780}
2015-12-11 08:07:49 +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
hablich
4fb84b9dd6 Clobber to hopefully resolve a clang problem
BUG=chromium:500934
LOG=N
TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32493}
2015-12-02 08:09:19 +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
epertoso
4307e44899 Adds the possibility of setting a Code object as the callback of a FunctionTemplate.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32213}
2015-11-24 14:33:23 +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
mostynb
d62efc1284 make v8_use_snapshot configurable in gn
Changing this value is not guaranteed to work yet, but it needs to be
an arg in order to experiment with it.

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

Cr-Commit-Position: refs/heads/master@{#31932}
2015-11-11 01:09:15 +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
7153c7f48c [swarming] Isolate llvm symbolizer and tsan suppressions file.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31696}
2015-10-30 16:21:13 +00:00
machenbach
fd0ee28048 [swarming] Isolate custom libcxx.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31612}
2015-10-27 17:09:31 +00:00
machenbach
424ae37746 [swarming] Isolate shared libraries for linux32.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31608}
2015-10-27 15:27:48 +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
machenbach
80df08b59f [swarming] Isolate more tests.
BUG=chromium:535160
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#31370}
2015-10-19 11:37:26 +00:00
machenbach
1f7490b3df [swarming] Isolate bot_default.
Depends on https://codereview.chromium.org/1413023002/

BUG=chromium:535160
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#31363}
2015-10-19 09:52:47 +00:00
machenbach
e6d45f1a78 [swarming] Isolate webkit and optimize_for_size.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31267}
2015-10-14 17:35:05 +00:00
machenbach
749b419a82 [swarming] Isolate test262.
BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31250}
2015-10-14 08:44:27 +00:00
machenbach
35d2028d10 [swarming] Run unittests together with default tests.
This adds the unittests to the "default" test set. Now that
the "default" and the DEFAULT_TESTS (i.e. runner with
no arguments) are the same, removed DEFAULT_TESTS and use
TEST_MAP["default"] instead.

On the bots, where unittests and default were run in
separation before, the explicit unittests step should now
be skipped.

This is necessary for swarming, as the unittests step is
too small to justify its own swarming job.

BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31122}
2015-10-06 09:31:49 +00:00
machenbach
e1743816d3 Reland [swarming] Isolate v8 testing.
This reverts commit 280a6f8ec8.

Reland of https://codereview.chromium.org/1380593002/

BUG=chromium:535160
LOG=n
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel;

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

Cr-Commit-Position: refs/heads/master@{#31094}
2015-10-05 09:48:42 +00:00
danno
280a6f8ec8 Revert of [swarming] Isolate v8 testing. (patchset #8 id:140001 of https://codereview.chromium.org/1380593002/ )
Reason for revert:
Prime suspect in breakage of V8 Linux -- no snap

Original issue's description:
> [swarming] Isolate v8 testing.
>
> Add gyp support and isolates for default test suites.
> Add two default isolates, one (default) for using the
> test suite collection we call "default" on the bots. One
> (developer_default) for also supporting the way developers
> call the driver (i.e. without argument, which includes
> the unittests).
>
> BUG=chromium:535160
> LOG=n
>
> Committed: https://crrev.com/9bd83f58f29ab0c7c5b71b00bcb1df3a9e641f05
> Cr-Commit-Position: refs/heads/master@{#31081}

TBR=tandrii@chromium.org,jochen@chromium.org,maruel@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:535160

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

Cr-Commit-Position: refs/heads/master@{#31084}
2015-10-02 15:45:13 +00:00
machenbach
9bd83f58f2 [swarming] Isolate v8 testing.
Add gyp support and isolates for default test suites.
Add two default isolates, one (default) for using the
test suite collection we call "default" on the bots. One
(developer_default) for also supporting the way developers
call the driver (i.e. without argument, which includes
the unittests).

BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31081}
2015-10-02 15:15:39 +00:00
Djordje.Pesic
d36667b391 MIPS: Pass -fp32 flag to the compiler when building for loongson
BUG=

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

Cr-Commit-Position: refs/heads/master@{#31065}
2015-10-02 07:32:06 +00:00
machenbach
983747acce [swarming] Add isolate driver.
This is a simplified version of chromium's isolate driver:
- 'prepare' will create a *.isolate.gen.json with the
arguments to be used later.
- other modes will just be passed through to the isolate
script.

BUG=chromium:535160
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#31046}
2015-10-01 12:32:09 +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
dusan.m.milosavljevic
8bd431de92 MIPS64: Add big-endian support for mips64.
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#31011}
2015-09-29 17:23:55 +00:00
vogelheim
ed110a1715 Allow JavaScript accessors on API objects.
(This is somewhat experimental; hence protected by #ifdef.)

R=epertoso@chromium.org, jochen@chromium.org
BUG=chromium:508898
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#31002}
2015-09-29 11:16:14 +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
d9fd711a61 Make gold plugin download more robust.
BUG=chromium:515782
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30583}
2015-09-04 08:52:30 +00:00
machenbach
589a095200 Reland Automatically download gold plugin for cfi builds.
This relands https://codereview.chromium.org/1303183005

BUG=chromium:515782
LOG=n
TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30567}
2015-09-03 14:18:24 +00:00
machenbach
1ec920704e Revert of Automatically download gold plugin for cfi builds. (patchset #1 id:1 of https://codereview.chromium.org/1303183005/ )
Reason for revert:
Breaks windows.

Original issue's description:
> Automatically download gold plugin for cfi builds.
>
> BUG=chromium:515782
> LOG=n
> NOTRY=true
>
> Committed: https://crrev.com/c8dbd2c477c47a34593a0e7deee55915425b4ac2
> Cr-Commit-Position: refs/heads/master@{#30556}

TBR=bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:515782

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

Cr-Commit-Position: refs/heads/master@{#30558}
2015-09-03 12:50:49 +00:00
machenbach
c8dbd2c477 Automatically download gold plugin for cfi builds.
BUG=chromium:515782
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30556}
2015-09-03 12:15:15 +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
pcc
fef4fab6bb Re-enable LLVM LTO for ARM.
v8 is optimized for speed. Because GCC LTO merges flags at link time,
we disable LTO to prevent any -O2 flags from taking precedence over v8's
-Os flag. However, LLVM LTO does not work this way so we keep LTO enabled
under LLVM.

This fixes the ARM build in the cfi_vptr==1 configuration, which requires
LLVM LTO.

R=adamk@chromium.org
BUG=chromium:469376
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30455}
2015-08-28 23:05:37 +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