Commit Graph

166 Commits

Author SHA1 Message Date
yangguo
f507bc1c72 [serializer] Add API to warm up startup snapshot with an additional script.
A startup snapshot is considered cold when it does not contain any
function code. We can now create a warm startup snapshot from a cold one
by running a warm-up script. Functions exercised by the warm-up script
are compiled and its code included in the warm startup snapshot. Side
effects caused by the warm-up script does not persist.

R=vogelheim@chromium.org
BUG=v8:4836
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34849}
2016-03-17 10:34:16 +00:00
ssanfilippo
8136372a46 Add option in Makefile to preserve frame pointer.
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34670}
2016-03-10 12:59:50 +00:00
jochen
cf0435881c Add a library suitable for libfuzzer with a small unit test runner shell
BUG=chromium:577261
R=machenbach@chromium.org,jarin@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33508}
2016-01-26 10:39:03 +00:00
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
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
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
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
mvstanton
18bba7cb41 Vector ICs: gyp flag to run with vector-stores on.
This is so we can build with the flag on in the snapshot.
D8 then needs to be run with --vector-stores.

BUG=
R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30692}
2015-09-11 10:00:17 +00:00
bradnelson
dacb3d76a7 Add a makefile option for wasm prototype.
Adding wasm=on when invoking make will build with the wasm prototype, Ex:

make x64.debug wasm=on V=1

BUG=None
TEST=manual
R=titzer@chromium.org,ncbray@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30236}
2015-08-18 18:25:31 +00:00
yangguo
8e027195b4 Remove readline support from d8.
Nobody seems to use it. A good alternative is rlwrap.

R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29810}
2015-07-23 13:20:31 +00:00
rmcilroy
91255190ea Add goma=on option to Makefile build.
Review URL: https://codereview.chromium.org/1225683010

Cr-Commit-Position: refs/heads/master@{#29551}
2015-07-09 09:50:59 +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
jochen
29deaef505 Introduce a new gyp flag to warn about to be deprecated APIs
This should help to keep syntax errors from creeping into v8.h

Also, I'll remove usages of to-be-deprecated APIs and turn this flag on
for standalone builds

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

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

Cr-Commit-Position: refs/heads/master@{#28538}
2015-05-21 10:34:22 +00:00
Jakob Kummerow
2064c3c9b2 Makefile: introduce debugsymbols=on flag
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27852}
2015-04-15 15:20:18 +00:00
Weiliang Lin
a5fa093d0b introduce android_x64 build target
BUG=
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27055}
2015-03-09 03:23:12 +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
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
jochen
9d25205b29 Revert of Temporarily restore make dependencies (patchset #1 id:1 of https://codereview.chromium.org/733203008/)
Reason for revert:
make dependencies is stale now, and everybody should have switched over

Original issue's description:
> Temporarily restore make dependencies
>
> We will remove dependencies in about a week again.
>
> BUG=none
> R=machenbach@chromium.org
> LOG=y

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

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

Cr-Commit-Position: refs/heads/master@{#26134}
2015-01-19 13:21:16 +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
5d22f59d7b Update gyp files to guarantee proper recreation when changing deps
Also make sure that x86_64 is mapped to x64 as target arch

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

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

Cr-Commit-Position: refs/heads/master@{#26052}
2015-01-14 12:48:36 +00:00
yangguo
39cd762c6c Embed custom script into the snapshot.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26029}
2015-01-12 15:26:31 +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
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
fdf6777072 Remove the magic that sets CXX in the toplevel Makefile
The logic was supposed to trigger a rebuild if the CXX variable is
changed. However, it failed to track the other compiler related
variables, and, what is worse, conflicted with the clang=1 gyp setting
by forcing CXX to g++

The new logic just relies on tracking GYP defines, and checks whether
the CXX binary - if set - has a target different from the host
architecture.

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

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

Cr-Commit-Position: refs/heads/master@{#25973}
2015-01-07 13:33:20 +00:00
yangguo
7cff32a9bd Reland "Use same blob format for internal and external snapshots."
Review URL: https://codereview.chromium.org/791723004

Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
machenbach
da6dbe78bc Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/787033002/)
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293

Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org

TBR=vogelheim@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25729}
2014-12-09 16:19:57 +00:00
yangguo
03ba4becbf Use same blob format for internal and external snapshots.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25727}
2014-12-09 15:12:27 +00:00
jochen
8a7a81141f Temporarily restore make dependencies
We will remove dependencies in about a week again.

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

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

Cr-Commit-Position: refs/heads/master@{#25719}
2014-12-09 10:55:47 +00:00
jochen
779076e006 Update all DEPS to match chromium's DEPS at edb488e
Also remove the now disfunctinal 'builddeps' and 'dependencies' targets

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

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

Cr-Commit-Position: refs/heads/master@{#25710}
2014-12-08 12:27:26 +00:00
mstarzinger@chromium.org
f7763ac68d Switch 'make builddeps' to use HTTPS everywhere.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25290}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 10:12:16 +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
4a679c8288 Add turbocheck Makefile target.
The turbocheck target is similar to quickcheck, but runs only the
turbofan variant.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25026}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 08:39:43 +00:00
machenbach@chromium.org
711218bc07 Make asan and lsan make flags work like on the bots.
BUG=
R=ishell@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 15:21:37 +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
mstarzinger@chromium.org
3a7cd5d273 Fix Makefile regeneration for compiler-unittests.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:44:31 +00:00
bmeurer@chromium.org
ab9bbed9d3 Synchronize GTest/GMock dependencies with Chromium.
Dependencies were updated in Chromium, see
https://codereview.chromium.org/425333002/ for details.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 05:45:04 +00:00
jochen@chromium.org
8a20c73e3d Add dependencies on gtest and gmock
Because Benedikt said so.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 09:11:02 +00:00
paul.lind@imgtec.com
0f687199f2 Fix cross-compilation in Makefile.
Fix r22531, I dropped a necessary pair of parens.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 14:54:12 +00:00
paul.lind@imgtec.com
14e88a5b53 Fix remaining CXX cross-compilation builds in Makefile.
r22509 fixed arm and mips (big-endian) cross-compilation builds.

It did not fix mipsel, mips64el, or arm64 builds, since the
toolchain prefix did not match the v8_target_arch.

For mips, the toolchain is typically named mips-linux-gnu-g++,
but it can compile for mipsel or mips64el via flags. (There can
also be mipsel-linux-gnu-g++ toolchains, and this patch will
work for mipsel build in that case).

For arm64, the toolchains seem to be named aarch64-linux-gnu-g++.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 15:29:22 +00:00
jochen@chromium.org
b45ea40d93 Avoid bash-ism in Makefile
BUG=none
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 14:53:29 +00:00
jochen@chromium.org
a9462576d6 Update ICU to 5.2 (matching chromium)
BUG=v8:3452
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 12:27:59 +00:00
rmcilroy@chromium.org
8968425caa Add CXX cross-compile detection into Makefile after it was removed from gyp.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 15:25:50 +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
0941f24566 Introduce a builddeps make target
In contrast to "dependencies", this only pulls in dependencies required
for building. The dependencies make target will also pull in development
tools and requires depot_tools to be installed and in the path.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:03:30 +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
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
jochen@chromium.org
6096f1bb0f Roll buildtools to fb782d4369d5ae04f17a2fceef7de5a63e50f07b
Also add hooks to download clang-format binaries.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 10:49:27 +00:00