Commit Graph

1844 Commits

Author SHA1 Message Date
dslomov
5bbe7992db [destructuring] Implement basic binding destructuring infrastructure
This patch:
  - Refactors Parser::ParseVariableDeclarations
  - Introduces Parser::PatternMatcher class
  - Implements matching a single variable pattern
  - Implements rudimentary matching against object literal pattern
    as a proof of concept

R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28345}
2015-05-11 16:28:22 +00:00
machenbach
10b9a8662b [test] Skip Slimming Paint layout tests.
Also make the expectation lint check happy.

TBR=jochen@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28336}
2015-05-11 11:03:46 +00:00
machenbach
0b81f67b12 [test-runner] Improve test execution without tmp files for output.
BUG=chromium:485932
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28334}
2015-05-11 09:26:35 +00:00
yangguo
0208b8e3a1 Fix build after revert at 28332.
TBR=machenbach@chromium.org
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#28333}
2015-05-11 08:50:38 +00:00
titzer
256ae73652 [turbofan] Extract frame-states.h from common-operator.h
R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28330}
2015-05-11 08:02:58 +00:00
Michael Achenbach
53930ea3b8 Whitespace CL to test master split.
Cr-Commit-Position: refs/heads/master@{#28324}
2015-05-08 21:32:12 +00:00
domenic
570fca61fc Re-land: Make V8 extras a separate type of native
Instead of making them an extra option that gets passed in and compiled
at the end of the natives file for a given run of js2c, we now make them a
separate run of js2c with a separate natives file output.

This natives file output is then compiled in the bootstrapper. It is not part
of the snapshot (yet), but instead is treated similar to the experimental
natives, just without any of the complexity that comes from tieing the
behavior to flags. We also don't need counterparts to
InitializeExperimentalGlobal and InstallExperimentalNativeFunctions (yet?).

This fixes the issue with https://codereview.chromium.org/1129743003 by making
the dummy file that is generated for snapshots with no extras (or no experimental
features) nonempty.

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

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

Cr-Commit-Position: refs/heads/master@{#28311}
2015-05-08 08:44:51 +00:00
domenic
010c515d0f Revert of Make V8 extras a separate type of native (patchset #4 id:60001 of https://codereview.chromium.org/1129743003/)
Reason for revert:
https://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2745

Original issue's description:
> Make V8 extras a separate type of native
>
> Instead of making them an extra option that gets passed in and compiled
> at the end of the natives file for a given run of js2c, we now make them a
> separate run of js2c with a separate natives file output.
>
> This natives file output is then compiled in the bootstrapper. It is not part
> of the snapshot (yet), but instead is treated similar to the experimental
> natives, just without any of the complexity that comes from tieing the
> behavior to flags. We also don't add counterparts to
> InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.
>
> R=yangguo@chromium.org, jochen@chromium.org
> BUG=
>
> Committed: https://crrev.com/c93aff4ac63ad9ffb6318e750335208de32b7902
> Cr-Commit-Position: refs/heads/master@{#28296}

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

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

Cr-Commit-Position: refs/heads/master@{#28299}
2015-05-07 14:26:44 +00:00
domenic
c93aff4ac6 Make V8 extras a separate type of native
Instead of making them an extra option that gets passed in and compiled
at the end of the natives file for a given run of js2c, we now make them a
separate run of js2c with a separate natives file output.

This natives file output is then compiled in the bootstrapper. It is not part
of the snapshot (yet), but instead is treated similar to the experimental
natives, just without any of the complexity that comes from tieing the
behavior to flags. We also don't add counterparts to
InitializeExperimentalGlobal and InstallExperimentalNativeFunctions, yet.

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

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

Cr-Commit-Position: refs/heads/master@{#28296}
2015-05-07 12:44:10 +00:00
ishell
0e499bfe4a [grokdump] Annoying line wrapping fixed.
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28294}
2015-05-07 10:43:41 +00:00
Michael Achenbach
eaf0a6b1cf Whitespace CL for perf changes.
Cr-Commit-Position: refs/heads/master@{#28290}
2015-05-07 09:43:42 +00:00
scottmg
addbe75e19 Shard v8_base.lib on Windows to avoid 2G .lib limit
R=jochen@chromium.org
BUG=chromium:485155
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#28276}
2015-05-06 19:40:09 +00:00
caitpotter88
fda20efb2f [es6] implement Object.assign
BUG=v8:4007
LOG=N
R=arv@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28270}
2015-05-06 16:17:50 +00:00
titzer
6d26ec0b4c Implement IdentityMap<V>, a robust, GC-safe object-identity HashMap.
R=hpayer@chromium.org, erikcorry@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28257}
2015-05-06 12:40:29 +00:00
jkummerow
0897244dd4 [grokdump] Update v8heapconst.py
Review URL: https://codereview.chromium.org/1125543004

Cr-Commit-Position: refs/heads/master@{#28231}
2015-05-05 14:26:35 +00:00
jkummerow
367d14d467 [tick processor] Introduce --pairwise-timed-range processing mode
Review URL: https://codereview.chromium.org/1123883002

Cr-Commit-Position: refs/heads/master@{#28228}
2015-05-05 14:17:48 +00:00
machenbach
e47c362642 [test] Add arm perf trybot to runner script.
BUG=chromium:484589
LOG=n
NOTRY=true
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28227}
2015-05-05 14:17:47 +00:00
bmeurer
d21de2a48b [turbofan] Fix tail call optimization.
Tail calls are matched on the graph, with a dedicated tail call
optimization that is actually testable. The instruction selection can
still fall back to a regular if the platform constraints don't allow to
emit a tail call (i.e. the return locations of caller and callee differ
or the callee takes non-register parameters, which is a restriction that
will be removed in the future).

Also explicitly limit tail call optimization to stubs for now and drop
the global flag.

BUG=v8:4076
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28219}
2015-05-05 09:43:02 +00:00
yangguo
b0eb920fe2 Reland #2 "Wrap v8natives.js into a function."
TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28217}
2015-05-05 09:16:01 +00:00
machenbach
6afc0dcbfc Revert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https://codereview.chromium.org/1123703002/)
Reason for revert:
[Sheriff] Speculative revert for braking arm64 nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314

(reverted already titzer's CL which didn't help)

Original issue's description:
> Reland "Wrap v8natives.js into a function."
>
> Committed: https://crrev.com/72ab42172979b60a1b784ea0c6a495d7ee2bba67
> Cr-Commit-Position: refs/heads/master@{#28193}

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

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

Cr-Commit-Position: refs/heads/master@{#28208}
2015-05-04 16:49:58 +00:00
machenbach
0fa31f75cd [test] Skip some flaky layout tests.
NOTRY=true
TBR=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28204}
2015-05-04 15:38:36 +00:00
hablich
276a846f69 [release-tools] Tool to find related commits
usage: This tool analyzes the commit range between <of> and <until>. It finds commits which belong together e.g. Implement/Revert pairs and Implement/Port/Revert triples. All supplied hashes need to be from the same branch e.g. master.

Example for M42: ./search_related_commits.py --prettyprint --separator e0110920d6 b856e87859 b1c2a34956

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28197}
2015-05-04 12:20:16 +00:00
yangguo
72ab421729 Reland "Wrap v8natives.js into a function."
Review URL: https://codereview.chromium.org/1123703002

Cr-Commit-Position: refs/heads/master@{#28193}
2015-05-04 11:17:01 +00:00
titzer
acdb5336a9 Extract Signature from src/compiler/machine-type.h to src/signature.h
R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28191}
2015-05-04 10:11:54 +00:00
machenbach
b0b82fa89d Revert of Wrap v8natives.js into a function. (patchset #2 id:20001 of https://codereview.chromium.org/1109343004/)
Reason for revert:
[Sheriff] Speculative revert for breaking layout tests, e.g.:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2682

See. e.g.:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/3130/layout-test-results/http/tests/websocket/workers/worker-reload-diff.txt

Original issue's description:
> Wrap v8natives.js into a function.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/ee1b39b4303829e6c6805fe8b2f2602b13f6463a
> Cr-Commit-Position: refs/heads/master@{#28174}

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

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

Cr-Commit-Position: refs/heads/master@{#28182}
2015-04-30 17:33:19 +00:00
yangguo
ee1b39b430 Wrap v8natives.js into a function.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28174}
2015-04-30 14:59:09 +00:00
domenic
b40071974e Fix error messages for extra files in js2c.py
https://codereview.chromium.org/1117663002 contained a copy-paste
error; this is a follow-up fixing that so that error messages now
contain the correct filename when using the --extra option to js2c.py.

R=yangguo@chromium.org, jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28158}
2015-04-30 11:24:15 +00:00
machenbach
4b8bb5ed1e [test-runner] Enable specification of trybots.
Now it's possible to specify the desired trybots for perf
tries, e.g.:

tools/try_perf.py --linux64_haswell octane sunspider

BUG=chromium:478460
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28142}
2015-04-30 05:12:42 +00:00
domenic
8e2e83f0b3 Don't run macros or jsmin on extra snapshot scripts
js2c.py now distinguishes between the JS internal sources and any
extra scripts passed in. The latter only get validation and
comment/trailing whitespace removal applied now.

Also added a --js option to js2c.py, which will output a JS file
instead of a C++ file, for debugging. (I got tired of finding the
generated .cc file and extracting its byte array so that I could feed
it to a separate helper script I wrote.)

R=yangguo@chromium.org, jochen@chromium.org
BUG=v8:4064
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28133}
2015-04-29 14:01:44 +00:00
jochen
9ba5fe028f Pass ArrayBuffer::Allocator via Isolate::CreateParams
We shouldn't have shared state between isolates by default. The embedder
is free to pass the same allocator to all isolates it creates.

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

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

Cr-Commit-Position: refs/heads/master@{#28127}
2015-04-29 09:54:43 +00:00
svenpanne
bc7f79a670 Calculate blocks needing a frame and frame (de)construction sites.
Review URL: https://codereview.chromium.org/1053123006

Cr-Commit-Position: refs/heads/master@{#28120}
2015-04-29 05:54:52 +00:00
domenic
f39707cd96 Use "define" instead of "const" for natives macros
The use of "const" prevented the actual JavaScript const keyword from
functioning as intended.

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

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

Cr-Commit-Position: refs/heads/master@{#28111}
2015-04-28 14:58:25 +00:00
domenic
8a89a4a5ce Allow extra library files to be snapshotted
BUG=
R=jochen@chromium.org, yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28110}
2015-04-28 14:56:07 +00:00
jochen
b584bab2f5 Remove support for malloc'd typed arrays
All typed arrays should be allocated through the array buffer allocator

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

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

Cr-Commit-Position: refs/heads/master@{#28105}
2015-04-28 11:24:55 +00:00
machenbach
4b95b9bb32 [test] Restrict msan to default variant.
NOTRY=true
BUG=chromium:425187
LOG=n
TBR=Sven Panne, titzer

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

Cr-Commit-Position: refs/heads/master@{#28097}
2015-04-28 09:05:11 +00:00
bmeurer
4486c47d9b [clang] Use -Wshorten-64-to-32 to enable warnings about 64bit to 32bit truncations.
Currently only the Win64 bots report this warnings, which adds quite
some overhead to the development process. With this flag we also get
compiler warnings about implicit 64bit to 32bit truncations when
building with clang on Linux/x64 and Mac/x64.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28093}
2015-04-28 06:53:41 +00:00
yangguo
77e37028c6 Wrap messages implementation in a function.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28074}
2015-04-27 12:33:34 +00:00
hablich
8d8b742b9d [release-tools] Return no hash if version is not available.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28070}
2015-04-27 11:32:05 +00:00
mstarzinger
e81ee90018 [test] Limit "unittests" suite to default variant.
This changes the unittests suite to be run in only the default variant,
because unit tests are (and should be) written to be independent from
global flags.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28054}
2015-04-27 08:19:55 +00:00
yangguo
cadf96da90 Migrate error messages, part 5 (array.js and i18n.js).
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28040}
2015-04-24 10:21:43 +00:00
Michael Achenbach
b962eb459d Whitespace change for greenification.
Cr-Commit-Position: refs/heads/master@{#28010}
2015-04-22 13:29:43 +00:00
svenpanne
9bb8b58549 Add an --omit-quit flag to d8 for Emscripten's sake.
Review URL: https://codereview.chromium.org/1101683002

Cr-Commit-Position: refs/heads/master@{#28004}
2015-04-22 12:24:15 +00:00
Benedikt Meurer
556221a23e [mjsunit] Import asm.js test case for poppler.
R=hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27996}
2015-04-22 09:33:43 +00:00
Benedikt Meurer
78f2efe0e4 [mjsunit] Add custom tests based on SQLite 3.8.9.
Also adjust the test runner to remove --always-opt for FAST_VARIANTS.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27989}
2015-04-22 07:44:50 +00:00
Benedikt Meurer
f68e24ad46 Revert "[test] Initial import of an emscripten test suite."
This reverts commit bb346227db because it
adds a lot of overhead without significantly increasing our test
coverage. We need a different approach to deal with this.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27987}
2015-04-22 04:31:56 +00:00
Benedikt Meurer
bb346227db [test] Initial import of an emscripten test suite.
These tests are based on individual tests from the Emscripten benchmark
suite, which are used to test Emscripten itself. We adopt them to test
asm.js code paths in V8.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27962}
2015-04-21 12:24:10 +00:00
svenpanne
4d3044e161 Removed src/{isolate,property-details,utils}-inl.h
Baby steps towards saner #includes...

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

Cr-Commit-Position: refs/heads/master@{#27958}
2015-04-21 10:21:37 +00:00
machenbach
c15ca44b0c [test-runner] Add dedicated test mode for tryserver.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27952}
2015-04-21 08:17:01 +00:00
svenpanne
314e73d1ec Import Reversed adapter from Chromium and use it in v8.
Review URL: https://codereview.chromium.org/1098863003

Cr-Commit-Position: refs/heads/master@{#27947}
2015-04-20 16:24:37 +00:00
titzer
f557d75360 Reland "Refactor compilation dependency handling."
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27945}
2015-04-20 15:21:44 +00:00