Commit Graph

2063 Commits

Author SHA1 Message Date
bmeurer
733a246386 [turbofan] Proper dead code elimination as regular reducer.
The three different concerns that the ControlReducer used to deal with
are now properly separated into

  a.) DeadCodeElimination, which is a regular AdvancedReducer, that
      propagates Dead via control edges,
  b.) CommonOperatorReducer, which does strength reduction on common
      operators (i.e. Branch, Phi, and friends), and
  c.) GraphTrimming, which removes dead->live edges from the graph.

This will make it possible to run the DeadCodeElimination together with
other passes that actually introduce Dead nodes, i.e. typed lowering;
and it opens the door for general inlining without two stage fix point
iteration.

To make the DeadCodeElimination easier and more uniform, we basically
reverted the introduction of DeadValue and DeadEffect, and changed the
Dead operator to produce control, value and effect. Note however that
this is not a requirement, but merely a way to make dead propagation
easier and more uniform. We could always go back and decide to have
different Dead operators if some other change requires that.

Note that there are several additional opportunities for cleanup now,
i.e. OSR deconstruction could be a regular reducer now, and we don't
need to use TheHole as dead value marker in the GraphReducer. And we can
actually run the dead code elimination together with the other passes
instead of using separate passes over the graph.  We will do this in
follow up CLs.

R=jarin@chromium.org, mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29146}
2015-06-19 12:07:26 +00:00
rmcilroy
c136032c44 [tools] Add gc-nvp-to-csv.py script.
Adds a script for converting gc nvp output into csv files. Factors out common
code in gc-nvp-trace-processor.py to gc_nvp_common.py to be shared by both
scripts. Fixes a couple of issues in nvp parsing code.

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

Cr-Commit-Position: refs/heads/master@{#29141}
2015-06-19 10:40:47 +00:00
hablich
29c575bc7e Revert of [release-tools] Fix possible race condition in retrieval of latest rolled version (patchset #2 id:20001 of https://codereview.chromium.org/1186393007/)
Reason for revert:
Build slave fetches git repo from cache not from real repo.

Original issue's description:
> [release-tools] Fix possible race condition in retrieval of latest rolled version
>
> R=machenbach@chromium.org
> BUG=
> NOTRY=true
>
> Committed: https://crrev.com/5d2a85b2450f9f88a94949052c5b055c1304b9b8
> Cr-Commit-Position: refs/heads/master@{#29137}

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

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

Cr-Commit-Position: refs/heads/master@{#29140}
2015-06-19 09:33:00 +00:00
hablich
5d2a85b245 [release-tools] Fix possible race condition in retrieval of latest rolled version
R=machenbach@chromium.org
BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29137}
2015-06-19 09:12:07 +00:00
machenbach
370a8ea3f2 [test] Extend clusterfuzz check with more jobs.
BUG=chromium:493043
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29112}
2015-06-18 12:43:49 +00:00
jochen
aac18f3927 Extend find-anywhere so it also works while debugging a live process
R=yangguo@chromium.org
BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29110}
2015-06-18 11:57:03 +00:00
machenbach
221ae5a624 [test] Unskip layout tests after fixing bot.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29101}
2015-06-18 07:10:36 +00:00
bmeurer
80a6e53935 [turbofan] Move graph trimming functionality to dedicated GraphTrimmer.
Up until now that was still mixed with control reduction in the
ControlReducer. This separation allows us to remove the horrible
Reducer::Finish hack and also do graph trimming at more appropriate
places in the pipeline (i.e. trim dead nodes after generic lowering,
which can also make nodes dead).

R=jarin@chromium.org,mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29077}
2015-06-17 10:56:37 +00:00
Michael Achenbach
20bc6f530f Whitespace change to test infra.
Cr-Commit-Position: refs/heads/master@{#29073}
2015-06-17 10:00:08 +00:00
machenbach
72bb369d08 Revert of Update test262-es6 to 6/11 (patchset #2 id:40001 of https://codereview.chromium.org/1175313003/)
Reason for revert:
[Sheriff] Please fix test expectations for nosnap before reland. There are 54 tests failing:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/3422

Original issue's description:
> Update test262-es6 to 6/11
>
> This reverts commit 67b169199e and picks
> up the fixes to the yaml parser upstream.
>
> BUG=N
> LOG=N
> R=adamk@chromium.org, machenbach@chromium.org
>
> Committed: https://crrev.com/bc847230610d0518a700a69546d23784e6ce3479
> Cr-Commit-Position: refs/heads/master@{#29056}

TBR=adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N

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

Cr-Commit-Position: refs/heads/master@{#29067}
2015-06-17 06:53:04 +00:00
arv
bc84723061 Update test262-es6 to 6/11
This reverts commit 67b169199e and picks
up the fixes to the yaml parser upstream.

BUG=N
LOG=N
R=adamk@chromium.org, machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29056}
2015-06-16 22:16:08 +00:00
mtrofin
4e0b7b0cf5 Separated the new register allocator in its own files.
Opportunistically removed GreedyAllocator::TryReuseSpillForPhi because it is actually unsuitable for Greedy. It was copied from Linear and it relies on hints, however, the current implementation of hints assumes linear scan.

This change doesn't aim to address performance nor correctness for Greedy.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29054}
2015-06-16 17:10:31 +00:00
chunyang.dai
ebb0f9e52e X87: enable the X87 turbofan support.
This patch includes the following changes.
     1, Enable the turbofan backend support for X87 platform. It depends on previous CL: 3fdfebd26.
     2, Enable the test cases which are disabled because turbofan for X87 was not enabled.

BUG=v8:4135
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29049}
2015-06-16 11:23:19 +00:00
machenbach
6a10931820 [test] More debugging output in test runner.
Also use again the taskkill method, recently removed in
https://codereview.chromium.org/1156133006/

BUG=chromium:485932
LOG=n
TBR=jkummerow@chromium.org
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29001}
2015-06-12 13:43:57 +00:00
bmeurer
b5b00cc031 [turbofan] Move RawMachineAssembler to unittests.
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28993}
2015-06-12 10:33:19 +00:00
Michael Achenbach
c9368b2e77 Whitespace change to test infra clean-ups.
Cr-Commit-Position: refs/heads/master@{#28986}
2015-06-12 09:25:47 +00:00
jochen
21bca71c6d Update PrintStack signature in gdbinit
BUG=none
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28985}
2015-06-12 08:35:50 +00:00
Michael Achenbach
068008e985 Whitespace change to test infra clean-ups.
Cr-Commit-Position: refs/heads/master@{#28982}
2015-06-12 07:20:19 +00:00
machenbach
f3e8c11afd [test] Add random seed stress mode to test runner.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28936}
2015-06-11 11:42:37 +00:00
Michael Achenbach
20e1623113 Whitespace change to test infra change.
Cr-Commit-Position: refs/heads/master@{#28930}
2015-06-11 08:57:56 +00:00
machenbach
8b9b895f12 [test] Skip all philip layout tests to fix OOM issue.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28916}
2015-06-10 20:39:44 +00:00
machenbach
c745e98658 [test] Speculatively skip some layout tests to fix OOM issue.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28915}
2015-06-10 20:10:33 +00:00
machenbach
080771c1cf [test] Speculatively skip layout test to fix OOM issue.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28914}
2015-06-10 18:44:06 +00:00
machenbach
29c23977c4 [test] Speculatively skip layout test to fix OOM issue.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28910}
2015-06-10 17:07:00 +00:00
machenbach
816b5b1761 [test] Use generator to accelerate test runner startup.
This saves >1s for mjsunit and >10s for test262.

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

Cr-Commit-Position: refs/heads/master@{#28904}
2015-06-10 11:15:19 +00:00
machenbach
f8fe5c6bcf Reland [test] Refactoring - Let runner handle test IDs.
Reason for revert:
All build problems had other reasons.

Original issue's description:
> Revert of [test] Refactoring - Let runner handle test IDs. (patchset #1 id:1 of https://codereview.chromium.org/1168303007/)
>
> Reason for revert:
> [Sheriff] Revert until the tree is in a better state.
>
> Original issue's description:
> > [test] Refactoring - Let runner handle test IDs.
> >
> > This prepares for properly rerunning tests. Currently when
> > tests are rerun, the same test object is reused. This
> > will be changed in a follow up.
> >
> > Committed: https://crrev.com/f41a81b8a513fc360c500c066b74f223bc9c0223
> > Cr-Commit-Position: refs/heads/master@{#28864}
>
> TBR=jkummerow@chromium.org,tandrii@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/f83444a5f24381ec9ccc28b1e18e1e9370415bb2
> Cr-Commit-Position: refs/heads/master@{#28891}

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

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

Cr-Commit-Position: refs/heads/master@{#28903}
2015-06-10 10:15:28 +00:00
machenbach
1a511b0e38 Revert of Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #1 id:1 of https://codereview.chromium.org/1163373005/)
Reason for revert:
All build problems had other causes.

Original issue's description:
> Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #3 id:40001 of https://codereview.chromium.org/1171943002/)
>
> Reason for revert:
> might break stuff
>
> Original issue's description:
> > [test] Refactoring - Use subject/observer pattern for progress indicators.
> >
> > This should prevent bugs caused by missing super calls in
> > overridden methods. The assumption is that methods of
> > different indicators are independent.
> >
> > Committed: https://crrev.com/fbe973ff1722a6158a5b2babce9c1a32d26a1d3b
> > Cr-Commit-Position: refs/heads/master@{#28866}
>
> TBR=jkummerow@chromium.org,tandrii@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/2a3962d9d2a7415378811f4d56522531332d5a3e
> Cr-Commit-Position: refs/heads/master@{#28869}

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

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

Cr-Commit-Position: refs/heads/master@{#28901}
2015-06-10 09:42:31 +00:00
machenbach
f83444a5f2 Revert of [test] Refactoring - Let runner handle test IDs. (patchset #1 id:1 of https://codereview.chromium.org/1168303007/)
Reason for revert:
[Sheriff] Revert until the tree is in a better state.

Original issue's description:
> [test] Refactoring - Let runner handle test IDs.
>
> This prepares for properly rerunning tests. Currently when
> tests are rerun, the same test object is reused. This
> will be changed in a follow up.
>
> Committed: https://crrev.com/f41a81b8a513fc360c500c066b74f223bc9c0223
> Cr-Commit-Position: refs/heads/master@{#28864}

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

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

Cr-Commit-Position: refs/heads/master@{#28891}
2015-06-10 06:46:45 +00:00
machenbach
67b169199e Revert of Update Test262 to 5/30 (patchset #4 id:60001 of https://codereview.chromium.org/1136553008/)
Reason for revert:
[Sheriff] Still lots of breakages on some builders. E.g. http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/3313

Original issue's description:
> Update Test262 to 5/30
>
> This updates the test runner to run all tests in both sloppy
> and strict mode.
>
> It also marks the test in the status file as failing in
> sloppy mode even if all it does is marking the test as
> [PASS, FAIL]. A future CL will have to validate that the
> tests pass and fail in the correct mode.
>
> Committed: https://crrev.com/d869f4a4801d4ef6868c266c07f9e29d2e29cba5
> Cr-Commit-Position: refs/heads/master@{#28879}

TBR=rossberg@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28890}
2015-06-10 06:36:55 +00:00
arv
d869f4a480 Update Test262 to 5/30
This updates the test runner to run all tests in both sloppy
and strict mode.

It also marks the test in the status file as failing in
sloppy mode even if all it does is marking the test as
[PASS, FAIL]. A future CL will have to validate that the
tests pass and fail in the correct mode.

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

Cr-Commit-Position: refs/heads/master@{#28879}
2015-06-09 17:27:27 +00:00
dslomov
b64e13b0d8 [destructuring] Refactor duplicate parameter name detection.
Pushed the detection logic down to ParseAndClassifyIdentifier in
preparation to having patterns in parameter positions.

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

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

Cr-Commit-Position: refs/heads/master@{#28876}
2015-06-09 17:13:48 +00:00
machenbach
2a3962d9d2 Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #3 id:40001 of https://codereview.chromium.org/1171943002/)
Reason for revert:
might break stuff

Original issue's description:
> [test] Refactoring - Use subject/observer pattern for progress indicators.
>
> This should prevent bugs caused by missing super calls in
> overridden methods. The assumption is that methods of
> different indicators are independent.
>
> Committed: https://crrev.com/fbe973ff1722a6158a5b2babce9c1a32d26a1d3b
> Cr-Commit-Position: refs/heads/master@{#28866}

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

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

Cr-Commit-Position: refs/heads/master@{#28869}
2015-06-09 15:32:50 +00:00
machenbach
fbe973ff17 [test] Refactoring - Use subject/observer pattern for progress indicators.
This should prevent bugs caused by missing super calls in
overridden methods. The assumption is that methods of
different indicators are independent.

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

Cr-Commit-Position: refs/heads/master@{#28866}
2015-06-09 14:41:26 +00:00
machenbach
f41a81b8a5 [test] Refactoring - Let runner handle test IDs.
This prepares for properly rerunning tests. Currently when
tests are rerun, the same test object is reused. This
will be changed in a follow up.

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

Cr-Commit-Position: refs/heads/master@{#28864}
2015-06-09 14:17:08 +00:00
mbrandy
1c56723d1b [grokdump] Update v8heapconst.py
R=jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28843}
2015-06-08 18:16:12 +00:00
machenbach
e728125131 [test] Fix missing heartbeats in test runner.
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28808}
2015-06-05 09:51:01 +00:00
binji
e59e40a354 Implement Atomics API
This is behind the flag "--harmony-atomics", and it only works on
SharedArrayBuffers. This implementation only includes the runtime functions.
The TurboFan implementation will be next.

The draft spec for Atomics can be found here:
https://docs.google.com/document/d/1NDGA_gZJ7M7w1Bh8S0AoDyEqwDdRh4uSoTPSNn77PFk

BUG=
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28796}
2015-06-03 17:58:42 +00:00
ulan
d903c5c0e5 Add ARM64 suppport to grokdump.py
Constants are taken from chromium/src/google_breakpad/common/minidump_cpu_arm64.h

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28785}
2015-06-03 11:07:31 +00:00
jochen
696184a047 Remove usage of to-be-deprecated APIs from v8 core
Also turn on the macro to disable to-be-deprecated APIs for core

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

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

Cr-Commit-Position: refs/heads/master@{#28783}
2015-06-03 10:27:56 +00:00
erikcorry
f2eb98b900 Tiny fix to grokdump heap stats printer
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28730}
2015-06-01 14:54:17 +00:00
bmeurer
e2e47f30be [turbofan] First step towards sanitizing for-in and making it optimizable.
In a nutshell: The FILTER_KEY builtin is gone, and was replaced by a
simple runtime call to ForInFilter, which does everything and is even
cheaper (because FILTER_KEY used to call into the runtime anyway).
And ForInFilter returns either the name or undefined, which makes it
possible to remove the control flow construction from the AstGraphBuilder,
and thereby make both the initialization and the per-loop code of for-in
optimizable later (in typed lowering).

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28711}
2015-06-01 07:20:58 +00:00
jarin
9058ac3be1 Remove the experimental perf jit support until the license is clarified.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28697}
2015-05-29 10:39:52 +00:00
erikcorry
2cb3920688 grokdump.py - some support for on-stack HeapStats
R=ulan@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28694}
2015-05-29 09:05:06 +00:00
erikcorry
9079b99ad4 grokdump.py: work around int size limits on xrange
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28680}
2015-05-28 13:12:17 +00:00
machenbach
5effc7131a [test] Fix assert for predictable mode in test runner.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28679}
2015-05-28 13:06:49 +00:00
bmeurer
19482d29e5 [turbofan] Remove the useless SimplifiedOperatorReducer.
The SimplifiedOperatorReducer is (mostly) unused, except for the very
rough store elimination, and just eats compilation time.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28673}
2015-05-28 08:38:13 +00:00
machenbach
4d6f1abbdb [test] Remove default for zero test cases.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28654}
2015-05-27 13:50:48 +00:00
vegorov
e85f979ed3 gdb-v8-support.py: add FindAnywhere helper.
R=jkummerow@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28653}
2015-05-27 13:49:10 +00:00
machenbach
2dda8c3d4e [test] Verbose test runner output on windows.
TBR=jkummerow@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28643}
2015-05-26 19:50:54 +00:00
machenbach
a2b6dfb2d1 [test] Correctly merge expected test outcomes.
Without this change, wildcards always overwrite the outcomes
of more specific rules. Now we always merge.

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

Cr-Commit-Position: refs/heads/master@{#28629}
2015-05-26 13:22:23 +00:00
Michael Achenbach
4ccf4d4ffa White space change after infra breakage.
Cr-Commit-Position: refs/heads/master@{#28626}
2015-05-26 12:41:27 +00:00
machenbach
8712d032e7 [release-tools] Fix auto-roller after depot tools change.
BUG=chromium:491581
LOG=n
NOTRY=true
TBR=hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28604}
2015-05-23 19:24:48 +00:00
machenbach
5116cbf10e Whitespace change to test CQ.
TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28603}
2015-05-22 19:40:30 +00:00
binji
aff8ebb0eb Implement SharedArrayBuffer.
This adds a new external type (v8::SharedArrayBuffer) that uses a JSArrayBuffer
under the hood. It can be distinguished from an ArrayBuffer by the newly-added
is_shared() bit.

Currently there is no difference in functionality between a SharedArrayBuffer
and an ArrayBuffer. However, a future CL will add the Atomics API, which is
only available on an SharedArrayBuffer. All non-atomic accesses are identical
to ArrayBuffer accesses.

LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28594}
2015-05-22 13:43:17 +00:00
yangguo
57ee3c0f6e Revert of Implement SharedArrayBuffer (patchset #7 id:120001 of https://codereview.chromium.org/1136553006/)
Reason for revert:
breaks build

Original issue's description:
> Implement SharedArrayBuffer.
>
> This adds a new external type (v8::SharedArrayBuffer) that uses a JSArrayBuffer under the hood. It can be distinguished from an ArrayBuffer by the newly-added is_shared() bit.
>
> Currently there is no difference in functionality between a SharedArrayBuffer and an ArrayBuffer. However, a future CL will add the Atomics API, which is only available on an SharedArrayBuffer. All non-atomic accesses are identical to ArrayBuffer accesses.
>
> BUG=
>
> Committed: https://crrev.com/57170bff7baf341c666252a7f6a49e9c08d51263
> Cr-Commit-Position: refs/heads/master@{#28588}

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

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

Cr-Commit-Position: refs/heads/master@{#28589}
2015-05-22 12:17:49 +00:00
binji
57170bff7b Implement SharedArrayBuffer.
This adds a new external type (v8::SharedArrayBuffer) that uses a JSArrayBuffer under the hood. It can be distinguished from an ArrayBuffer by the newly-added is_shared() bit.

Currently there is no difference in functionality between a SharedArrayBuffer and an ArrayBuffer. However, a future CL will add the Atomics API, which is only available on an SharedArrayBuffer. All non-atomic accesses are identical to ArrayBuffer accesses.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28588}
2015-05-22 12:06:44 +00:00
yangguo
e56585077b Use shared container to manage imports/exports.
Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd
Cr-Commit-Position: refs/heads/master@{#28521}

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

Cr-Commit-Position: refs/heads/master@{#28533}
2015-05-21 06:15:19 +00:00
bradnelson
3cc9c0e36f Skip presubmits when doing --download-data-only.
BUG=v8:4124
LOG=N
R=machenbach@chromium.org
TEST=None

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

Cr-Commit-Position: refs/heads/master@{#28527}
2015-05-20 17:06:01 +00:00
jkummerow
1ec5561685 Revert of Use shared container to manage imports/exports. (patchset #2 id:20001 of https://codereview.chromium.org/1143993003/)
Reason for revert:
Breaks nosnap bots

Original issue's description:
> Use shared container to manage imports/exports.
>
> Also changed string.js and math.js to adapt this change.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd
> Cr-Commit-Position: refs/heads/master@{#28521}

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

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

Cr-Commit-Position: refs/heads/master@{#28523}
2015-05-20 15:59:37 +00:00
yangguo
e25058b0b7 Use shared container to manage imports/exports.
Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28521}
2015-05-20 14:58:43 +00:00
Michael Achenbach
ea01e6e3f3 Whitespace change to test new test suite.
Cr-Commit-Position: refs/heads/master@{#28483}
2015-05-19 14:44:05 +00:00
machenbach
5db7ae4797 [test] Refactoring: Remove code duplication in perf runner.
BUG=484208
LOG=n
TBR=kjellander@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28451}
2015-05-18 15:10:52 +00:00
machenbach
9d17058651 [release-tools] Add more jobs to clusterfuzz check.
This will send automatic email notifications about reliable
failures from the respective jobs.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28448}
2015-05-18 14:40:56 +00:00
bradnelson
f3a18ee662 Add --download-data-only option to run-test.py
The simd.js benchmarks reside in the same repository
that holds the compliance tests.

Adding an option to run-test.py to download test data
and exit, so that a recipe to run the simd.js
benchmarks can call run-test.py with this option
to fetch the test data.

BUG=https://code.google.com/p/v8/issues/detail?id=4124
LOG=N
TEST=manual verification it works.
NOTRY=true
R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28446}
2015-05-18 14:11:04 +00:00
domenic
f344e524d8 Fix V8 extras js2c pipeline
570fca61 introduced a regression that caused minification etc. to be
applied to V8 extras.

R=yangguo@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28427}
2015-05-15 15:32:45 +00:00
arv
834a8e9f63 [es6] Iterators and generators should "extend" %IteratorPrototype%
All the builtin iterators as well as the generator objects have an
object called %IteratorPrototype% in the spec between them and
%ObjectPrototype%.

BUG=v8:3568
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28426}
2015-05-15 15:09:38 +00:00
dslomov
7f6ae2300b [destructuring] Adapting PatternRewriter to work in C-style for-statements.
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28417}
2015-05-15 09:56:24 +00:00
jochen
8324dfdb69 Remove unnecessary call to Isolate::Current in parser-shell
R=vogelheim@chromium.org
BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28406}
2015-05-15 01:47:09 +00:00
machenbach
687e6ddf47 [test] Make perf runner able to pass extra flags to d8.
TEST=tools/run_perf.py --arch x64 --extra-flags="--turbo --turbo-verify-allocation --turbo-greedy-regalloc" /path/to/SunSpider.json
BUG=484208
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28384}
2015-05-13 10:00:36 +00:00
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
Benedikt Meurer
7eb7141fc4 [mjsunit] Import test case based on the Massive/SQLite benchmark.
This adds a stripped down version of the SQLite benchmark (running with
--size 1) to the mjsunit suite. We might want to move that to a
dedicated slow/stress/whatever test suite once an appropriate decision
is made.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27930}
2015-04-20 07:58:31 +00:00
yangguo
5a9a0b20e7 Migrate error messages, part 3 (runtime.js).
Motivation for this is reducing the size of the native context.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27917}
2015-04-17 13:27:28 +00:00
Michael Achenbach
46c4c707e2 Whitespace commit to trigger bots.
Cr-Commit-Position: refs/heads/master@{#27913}
2015-04-17 11:01:43 +00:00
machenbach
e3c2ba776a Revert of Refactor compilation dependency handling. (patchset #4 id:60001 of https://codereview.chromium.org/1095433002/)
Reason for revert:
[Sheriff] Causes crashes in laout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2543

Extra bisect run:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2548

Original issue's description:
> Refactor compilation dependency handling.
>
> Extract a new data structure CompilationDependencies and move (most) logic there.
>
> R=mstarzinger@chromium.org,verwaest@chromium.org
> BUG=
>
> Committed: https://crrev.com/b882479f1c84a48961b8aec81fa1bb1225034784
> Cr-Commit-Position: refs/heads/master@{#27892}

TBR=mstarzinger@chromium.org,verwaest@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27904}
2015-04-17 07:47:09 +00:00
mstarzinger
8924a9e1b7 [turbofan] Add single --turbo flag.
This flag is intended as a staging flag for TurboFan. It serves as a
single flag that always enables a most recent configuration of TurboFan
for test suites and benchmarks, without needing to update test drivers.

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

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

Cr-Commit-Position: refs/heads/master@{#27896}
2015-04-16 16:28:39 +00:00
titzer
b882479f1c Refactor compilation dependency handling.
Extract a new data structure CompilationDependencies and move (most) logic there.

R=mstarzinger@chromium.org,verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27892}
2015-04-16 16:04:34 +00:00
hablich
0bc1a1526f Store hashes of current and previous shipped V8 version
Will be used for calculating changes between versions

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27882}
2015-04-16 12:51:42 +00:00
yangguo
a5ac029058 Start migrating error message templates to the runtime.
Currently done with two templates, one used from native js, one from runtime.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27864}
2015-04-16 07:01:16 +00:00
bmeurer
d641cc457c [turbofan] Split ControlEquivalence implementation and add trace flag.
Split interface and implementation of ControlEquivalence and add a
dedicated trace flag --trace-turbo-ceq to make it reusable outside the
scheduler.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27862}
2015-04-16 06:04:36 +00:00
hablich
6198bbc56d Retrieval of information by release channel
Polls omahaproxy for data about Chrome releases

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27841}
2015-04-15 12:25:22 +00:00
jochen
e683048416 Reland "Remove support for thread-based recompilation"
Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/ed5db223a19dfe126af01
> Cr-Commit-Position: refs/heads/master@{#27619}

BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27821}
2015-04-14 13:57:29 +00:00
jochen
cf663c487f Revert of Reland "Remove support for thread-based recompilation" (patchset #1 id:1 of https://codereview.chromium.org/1059853004/)
Reason for revert:
still times out

Original issue's description:
> Reland "Remove support for thread-based recompilation"
>
> Original issue's description:
> > Remove support for thread-based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7
> > Cr-Commit-Position: refs/heads/master@{#27619}
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/f1ceccb8b8b352a91e6366e3e3103f1db0df6afb
> Cr-Commit-Position: refs/heads/master@{#27813}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#27816}
2015-04-14 12:29:26 +00:00
jochen
f1ceccb8b8 Reland "Remove support for thread-based recompilation"
Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7
> Cr-Commit-Position: refs/heads/master@{#27619}

BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27813}
2015-04-14 10:26:41 +00:00
titzer
dee044d601 Add more exhaustive tests for Math.min and Math.max.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27747}
2015-04-10 12:35:16 +00:00
machenbach
fd0556efa0 [test-runner] Make perf runner robust for missing executable.
TBR=yangguo@chromium.org
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#27743}
2015-04-10 12:01:27 +00:00
yangguo
c0593a1fc8 Add perf test configuration to track memory use of context and isolate.
R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27738}
2015-04-10 09:48:57 +00:00
machenbach
ec0329e2d6 [release-tools] Make chromium roll more robust after failing rolls.
Always use the same branch name (the old version leaked
branches). Always try to delete a possibly existing branch
on start-up and also clean up in the end.

NOTRY=true
TBR=tandrii@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27722}
2015-04-09 21:37:37 +00:00
caitpotter88
74c381221c [es6] implement spread calls
BUG=v8:3018
R=
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27714}
2015-04-09 19:37:19 +00:00
machenbach
99be3e82bf [test-runner] Pass slowest test durations to buildbot.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27696}
2015-04-09 09:56:03 +00:00
titzer
1b400a14cb Add more systematic tests for comparisons.
Because, well, JavaScript is tricky and compilers like folding.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27668}
2015-04-08 13:15:41 +00:00
yangguo
c4081d2503 Revert of Remove support for thread-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/966653002/)
Reason for revert:
speculative revert due to gc-stress timeouts.

Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7
> Cr-Commit-Position: refs/heads/master@{#27619}

TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
BUG=v8:3608
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27654}
2015-04-08 10:29:33 +00:00
machenbach
a54f22d418 Make test runner more chatty to avoid it getting killed by buildbot.
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#27653}
2015-04-08 09:53:39 +00:00
svenpanne
a326fd86ed Unbreak check-name-clashes.py after recent macro renamings.
This should have been part of https://codereview.chromium.org/1056863002/. :-/

TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27647}
2015-04-08 07:04:11 +00:00
machenbach
3449e4f833 [release-tools] Only read from the chromium checkout in v8rel.
Don't create local branches or otherwise manipulate the
checkout. This reads refs from remote branches and
reads file contents using show. It is faster and requires
less bootstrapping and cleanup.

TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27640}
2015-04-07 19:42:37 +00:00
hpayer
59be4ba7f4 Reland "Merge old data and pointer space."
This reverts commit cbfcee5575.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27623}
2015-04-07 11:32:10 +00:00
machenbach
b9871d6f37 [release-tools] Fix v8rel in branch period.
In case the v8 revision in chromium was set to an older
revision that's not in the list of recent v8 releases, the
script will bail out too early. This changes iterates over
10 more revisions, which should cover all exceeding revisions
in branch period.

NOTRY=true
TBR=hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27622}
2015-04-07 11:28:28 +00:00
Jochen Eisinger
ed5db223a1 Remove support for thread-based recompilation
BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27619}
2015-04-07 10:59:57 +00:00
jochen
83f827a00b Add initial set of sub directory OWNERS file
BUG=none
R=danno@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27579}
2015-04-02 08:46:24 +00:00
hablich
ef7e6fb165 usage: Tool to check where a git commit was merged and reverted.
[-h] [-g GIT_DIR] hash

positional arguments:
  hash                  Hash of the commit to be searched.

optional arguments:
  -h, --help            show this help message and exit
  -g GIT_DIR, --git-dir GIT_DIR
                        The path to your git working directory.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27563}
2015-04-01 09:42:15 +00:00
Michael Achenbach
974cdb6d18 Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#27560}
2015-04-01 08:19:38 +00:00
arv
a56fa150d1 [es6] Update test262 tests
Second try. Disabled the tests that were failing due to
https://github.com/tc39/test262/issues/215

This updates test262 to revision d24fd10 (2015/03/11).

The files moved around in the test repo and a lot of new tests are
failing.

BUG=None
LOG=N
R=adamk, rossberg

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

Cr-Commit-Position: refs/heads/master@{#27543}
2015-03-31 13:56:57 +00:00
rmcilroy
11c4e2f2f7 Fix libdl dependency on Android and remove librt hack.
The libdl library is already included on target builds of Android and needs
to be added to the build command line with a particular order to avoid
undefined references in other libraries. Fix this by only explicitly including
it in host builds and relying on the implicit inclusion on target builds.

Also remove the librt hack which is not longer necessary due to the AOSP build
bot having been removed.

BUG=chromium:469973
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27535}
2015-03-31 12:08:21 +00:00
arv
06a17e54d9 Revert of [es6] Update test262 tests (patchset #4 id:60001 of https://codereview.chromium.org/1025043002/)
Reason for revert:
Bot failed to include verifyNotEnumerable function for some screwed up reason.

Original issue's description:
> [es6] Update test262 tests
>
> This updates test262 to revision d24fd10 (2015/03/11).
>
> The files moved around in the test repo and a lot of new tests are
> failing.
>
> BUG=None
> LOG=N
> R=rossberg
>
> Committed: https://crrev.com/4f2fb3835feff3663146f12be42b01a226d0065e
> Cr-Commit-Position: refs/heads/master@{#27522}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

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

Cr-Commit-Position: refs/heads/master@{#27525}
2015-03-30 15:22:54 +00:00
vogelheim
ee9c738929 Re-work the 'external snapshot' related build rules.
This prepares for re-landing crrev.com/956373002

This pulls all decision about the snapshot [no|internal|external] into one rule. Previously, this logic was in separate places and not /quite/ the same, which causes build problems.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27523}
2015-03-30 14:54:27 +00:00
arv
4f2fb3835f [es6] Update test262 tests
This updates test262 to revision d24fd10 (2015/03/11).

The files moved around in the test repo and a lot of new tests are
failing.

BUG=None
LOG=N
R=rossberg

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

Cr-Commit-Position: refs/heads/master@{#27522}
2015-03-30 14:28:15 +00:00
yangguo
019096f829 Serializer: move to a subfolder and clean up includes.
R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27501}
2015-03-27 15:29:07 +00:00
mvstanton
e7c2bd1a0e perf-to-html.py - render JSON try perf jobs in a pleasing way.
Convert a perf trybot JSON file into a pleasing HTML page. It can read
from standard input or via the --filename option. Examples:

  cat results.json | perf-to-html.py --title "ia32 results"
  perf-to-html.py -f results.json -t "ia32 results" -o results.html

Options:
  -h, --help            show this help message and exit
  -f FILENAME, --filename=FILENAME
                        Specifies the filename for the JSON results rather
                        than reading from stdin.
  -t TITLE, --title=TITLE
                        Optional title of the web page.
  -o OUTPUT, --output=OUTPUT
                        Write html output to this file rather than stdout.

R=machenbach@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27496}
2015-03-27 09:52:25 +00:00
titzer
78abf9d9d9 [turbofan]: Integrate basic type feedback for property accesses.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27470}
2015-03-26 09:38:25 +00:00
fedor
93a290d0ff postmortem: fixup after 33994b4
This commit has changed the enum names:

33994b4a22

`FIELD` is now called `DATA`.

BUG=
R=danno

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

Cr-Commit-Position: refs/heads/master@{#27434}
2015-03-25 10:10:06 +00:00
caitpotter88
fd51f615eb [es6] remove --harmony-templates flag
BUG=v8:3230
R=dslomov@chromium.org, arv@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27352}
2015-03-23 07:01:48 +00:00
dslomov
af04fdfec8 Remove harmony-strings flag.
String functions are shipping since 4.1/Chrome M41, it is time to unflag.

R=yanngguo@chromium.org,rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27337}
2015-03-20 10:43:38 +00:00
hpayer
cbfcee5575 Revert "Merge old data and pointer space."
TBR=verwaest@chromium.org,ulan@chromium.org,ishell@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27323}
2015-03-19 22:03:32 +00:00
jochen
843634994f Use libdl to get symbols for backtraces
With this patch, it'll look like this:

$ out/x64.optdebug/d8 --expose-trigger-failure test/mjsunit/mjsunit.js test/mjsunit/verify-assert-false.js

==== C stack trace ===============================

 1: V8_Fatal
 2: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
 3: 0x727ced
 4: 0x72b6ba
 5: 0x188c7f607f9b

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

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

Cr-Commit-Position: refs/heads/master@{#27318}
2015-03-19 15:43:35 +00:00
caitpotter88
d21fd15467 [es6] implement Reflect.apply() & Reflect.construct()
BUG=v8:3900
LOG=N
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27316}
2015-03-19 14:47:27 +00:00
hpayer
257ff48931 Merge old data and pointer space.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27259}
2015-03-18 09:39:03 +00:00
jarin
ca3abde2fa [turbofan] Variable liveness analysis for deopt.
This change introduces a liveness analyzer for local variables in frame states.

The main idea is to use the AstGraphBuilder::Environment class to build the control flow graph, and record local variable loads, stores and checkpoints in the CFG basic blocks (LivenessAnalyzerBlock class).

After the graph building finishes, we run a simple data flow analysis over the CFG to figure out liveness of each local variable at each checkpoint. Finally, we run a pass over all the checkpoints and replace dead local variables in the frame states with the 'undefined' value.

Performance numbers for Embenchen are below.

----------- box2d.js
Current --turbo-deoptimization: EmbenchenBox2d(RunTime): 11265 ms.
d8-master --turbo-deoptimization: EmbenchenBox2d(RunTime): 11768 ms.
d8-master: EmbenchenBox2d(RunTime): 10996 ms.
----------- bullet.js
Current --turbo-deoptimization: EmbenchenBullet(RunTime): 17049 ms.
d8-master --turbo-deoptimization: EmbenchenBullet(RunTime): 17384 ms.
d8-master: EmbenchenBullet(RunTime): 16153 ms.
----------- copy.js
Current --turbo-deoptimization: EmbenchenCopy(RunTime): 4877 ms.
d8-master --turbo-deoptimization: EmbenchenCopy(RunTime): 4938 ms.
d8-master: EmbenchenCopy(RunTime): 4940 ms.
----------- corrections.js
Current --turbo-deoptimization: EmbenchenCorrections(RunTime): 7068 ms.
d8-master --turbo-deoptimization: EmbenchenCorrections(RunTime): 6718 ms.
d8-master: EmbenchenCorrections(RunTime): 6858 ms.
----------- fannkuch.js
Current --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4167 ms.
d8-master --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4608 ms.
d8-master: EmbenchenFannkuch(RunTime): 4149 ms.
----------- fasta.js
Current --turbo-deoptimization: EmbenchenFasta(RunTime): 9981 ms.
d8-master --turbo-deoptimization: EmbenchenFasta(RunTime): 9848 ms.
d8-master: EmbenchenFasta(RunTime): 9640 ms.
----------- lua_binarytrees.js
Current --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 11571 ms.
d8-master --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 13089 ms.
d8-master: EmbenchenLuaBinaryTrees(RunTime): 10957 ms.
----------- memops.js
Current --turbo-deoptimization: EmbenchenMemOps(RunTime): 7766 ms.
d8-master --turbo-deoptimization: EmbenchenMemOps(RunTime): 7346 ms.
d8-master: EmbenchenMemOps(RunTime): 7738 ms.
----------- primes.js
Current --turbo-deoptimization: EmbenchenPrimes(RunTime): 7459 ms.
d8-master --turbo-deoptimization: EmbenchenPrimes(RunTime): 7453 ms.
d8-master: EmbenchenPrimes(RunTime): 7451 ms.
----------- skinning.js
Current --turbo-deoptimization: EmbenchenSkinning(RunTime): 15564 ms.
d8-master --turbo-deoptimization: EmbenchenSkinning(RunTime): 15611 ms.
d8-master: EmbenchenSkinning(RunTime): 15583 ms.
----------- zlib.js
Current --turbo-deoptimization: EmbenchenZLib(RunTime): 10825 ms.
d8-master --turbo-deoptimization: EmbenchenZLib(RunTime): 11180 ms.
d8-master: EmbenchenZLib(RunTime): 10823 ms.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27232}
2015-03-17 09:38:43 +00:00
jarin
cd67e97a7e [turbofan] Cache for reusing parts of value vector nodes in frame states.
Instead of the current approach of storing flat vectors in frame states (and possibly reusing the last vector in AST graph builder), this change list builds a tree for the values and tries to reuse the nodes for different frame states. At the moment, we only use this for the local variable part of frame state, but nothing prevents us from using this for all parts.

This change provides two new classes: one for creating the tree (StateValuesCache) and one for iterating the trees (StateValuesAccess).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27222}
2015-03-16 13:43:13 +00:00
svenpanne
cf1c4911b9 Remove BLACKLIST from check-name-clashes.py, it's wrong nowadays.
Fix the resulting warnings by renaming things apart.

BUG=v8:3947
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27219}
2015-03-16 13:08:49 +00:00
jacob.bramley
2ffc970bcd Fix ll_prof.py for static binaries.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27213}
2015-03-16 11:34:52 +00:00
Michael Achenbach
06036ec286 Whitespace change for updating perf shards (2)
Cr-Commit-Position: refs/heads/master@{#27199}
2015-03-14 17:12:57 +00:00
Michael Achenbach
11d4bb95ad Whitespace change for updating perf shards (1)
Cr-Commit-Position: refs/heads/master@{#27198}
2015-03-14 16:49:37 +00:00
machenbach
e48e413523 Make release scripts even more robust.
Also clean up left alone release branch in the chromium
checkout of the v8rel script.

TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27197}
2015-03-14 02:04:48 +00:00
machenbach
db7e074d92 Make release scripts more robust.
Remembering the current branch is a relic from the past
where no work-dir checkout was used. Now this doesn't give
much benefit and screws up the script if it was left in
a bad state (e.g. after a master restart).

TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27196}
2015-03-14 01:20:55 +00:00
Michael Achenbach
4d23fc1ecf Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27195}
2015-03-14 00:33:34 +00:00
Michael Achenbach
86163bc04e Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27194}
2015-03-13 21:52:09 +00:00
Michael Achenbach
fbe1b9f27a Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27193}
2015-03-13 21:50:59 +00:00
Hannes Payer
a1a2046274 Reactivate all the cores in cpu.sh.
BUG=
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27170}
2015-03-12 18:01:58 +00:00
Sven Panne
40567349df Remove funky 2-stage initialization of ParserInfo and an adventurous memset.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27155}
2015-03-12 11:46:32 +00:00
bmeurer
022ea7e057 [turbofan] Unify Math.floor / Math.ceil optimization.
Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
both Math.ceil and Math.floor, and use the JS inlining mechanism to
inline Math.ceil into TurboFan code. Although we need to touch code
outside of TurboFan to make this work, this does not affect the way we
handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
the old-style builtin function id based inlining still kicks in first.

Once this solution is stabilized, we can use it for Math.floor as well.
And once that is settled, we can establish it as the unified way to
inline builtins, and get rid of the specialized builtin function id
based inlining at some point.

Note that "builtin" applies to basically every piece of internal
JavaScript/intrinsics based code, so this also applies to the yet to be
defined JavaScript based code stubs and handlers.

BUG=v8:3953
LOG=n
R=yangguo@chromium.org,svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27086}
2015-03-10 08:42:53 +00:00
titzer
0f6702562e Extract ParseInfo from CompilationInfo.
Rationale: separate the inputs and outputs of parsing + analysis from the business of compiling (i.e. generating machine code).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27078}
2015-03-09 14:51:24 +00:00
yangguo
67bc45c278 Hide Math function implementations in a closure.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27072}
2015-03-09 13:25:44 +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
Michael Achenbach
5a3f085de9 Whitespace change to test recipe trigger.
Cr-Commit-Position: refs/heads/master@{#27053}
2015-03-06 19:55:19 +00:00
machenbach
934dd88d3b Make automated branch creation gnumbd-save.
This makes now the same simplification as the chromium
release scripts do. For creating branch B from a gnumbd'ed
(aka real) commit X do:
1. Branch Y off the real X
2. Set refs/pending/heads/B to Y
3. Set refs/pending-tags/B to X
4. Set refs/heads/B to X

The old algorithm tried to branch off the pending
correspondent of X. That commit was determined by comparing
tree objects of the real X and commits on pending.
Unfortunately, multiple commits on one branch can refer to
the same tree object, e.g., for commits P, Q, R with R being
the revert of Q, P and R refer to the same tree object.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=tools/release/create_release.py -a me -r you --dry-run

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

Cr-Commit-Position: refs/heads/master@{#27042}
2015-03-06 13:10:33 +00:00
machenbach
f96e226011 Fix progress check in auto-roller.
Using a git range check for checking progress is wrong when
the last rolled revision and the revision candidate are on
different branches. The range A..B will always show the
commits from the merge-base of A and B until B.

Better compare the tags of the last rolled revision and the
candidate. The candidate's version must be strictly greater
than what's in chromium.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#27021}
2015-03-05 14:05:12 +00:00
machenbach
a6a0bd8846 Make auto-roller roll recent release based on timestamp.
Before this change, out of two versions 4.2.13.1 and
4.2.14, the latter would have been considered the newest.
Now, the timestamp of the commit determines the age, which
allows to roll a patched version first. The auto-roller
will only roll forward (i.e. there needs to be a commit
range between the last roll and the new candidate).

Additionally, this CL does some cleanups:
- Use the sheriff detection mechanism in the auto-roller.
- Require the roll revision parameter in the chromium_roll
script to avoid redundancy. The auto_roll script determines
that revision automatically.
- Simplify the revision summary in the commit message. The
summary will now show last_roll..new_roll, which e.g.
includes the version change CL. It'll now show useful
information for cherry-picks, which it didn't before.
- Remove unused clusterfuzz check. That check is part of the
release process script.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=./tools/release/chromium_roll.py --dry-run --sheriff -c ~/tmp/chromium/src --last-roll 55b9049ea3978a589d8db2aa191d21222eef737f fc263505535a175c8efa18f4c787bd92a1d1ab3d --use-commit-queue -r me -a you

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

Cr-Commit-Position: refs/heads/master@{#27009}
2015-03-05 10:50:08 +00:00
machenbach
002b1ddb0e Make the auto-pusher recover easier.
The auto-push script is only used in an automated fashion
on bots. It doesn't need to check for a clean git
environment as it has a special workdir checkout.

If the release creation fails for whatever reason (e.g.
a master restart happens in the middle), the workdir
checkout might be left dirty. Any new attempt of the auto
pusher then bails out.

After this change it will call the create_release script
in any case which tidies up the workspace on startup.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26928}
2015-02-27 22:23:33 +00:00
machenbach
9dac60ad2d Add public version macros.
Side note: tools/v8-info.sh seems to have been broken ever
since the move to git.  At least it's not more broken now.

BUG=v8:3075
LOG=y

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26873}
2015-02-26 08:59:23 +00:00
marja
238ad54d0f Move compilation error handling into a separate class.
In addition to Parser, other phases (such as scope analysis) need to handle
compilation errors in the future. PendingCompilationErrorHandled takes care of
error handling in a unified way.

Split from https://codereview.chromium.org/943543002/ .

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26853}
2015-02-25 14:18:34 +00:00
machenbach
c61fceca68 Prepare v8 android perf runner for external startup data.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26825}
2015-02-24 14:07:30 +00:00
machenbach
42dcc6f4b7 Switch to new branching model in auto-push script.
BUG=chromium:391261
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26821}
2015-02-24 13:03:58 +00:00
bmeurer
dcf193f18c [turbofan] Strength reduction for inline comparisons.
Perform strength reduction on machine operators with inline comparisons:

  CMP & 1 => CMP
  1 & CMP => CMP
  CMP << 31 >> 31 => CMP

Also strength reduce the following constructs:

  x + (0 - y) => x - y
  (0 - y) + x => x - y

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26817}
2015-02-24 12:26:29 +00:00
loislo
9b02dc5b5f CpuProfiler: move StringsStorage class to separate source and header files.
Mechanical change.

This will break dependency between profiler-generator and heap-profiler-generator.
Later this will help us to reuse SourcePosition in cpu-profiler.

BUG=452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26780}
2015-02-20 15:16:00 +00:00
machenbach
b039a75ec5 Whitespace change to test new CQ config.
TBR=tandrii@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#26776}
2015-02-20 13:47:39 +00:00
Benedikt Meurer
9e6181d5c3 [turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org

Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}

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

Cr-Commit-Position: refs/heads/master@{#26767}
2015-02-20 10:12:00 +00:00
machenbach
c7810004bb Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/)
Reason for revert:
Breaks dbg builds.

Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26763}
2015-02-20 09:14:44 +00:00
machenbach
ef01ef07ab Add sheriff details to roll commit message.
Add a link with instructions about how to assign v8
issues to the chromium roll commit message.

Remove googler mapping feature as it doesn't apply anymore
to any generalist sheriff.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26761}
2015-02-20 08:50:53 +00:00
Benedikt Meurer
5bbe693e48 [turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26760}
2015-02-20 08:42:51 +00:00
ishell
ab64150956 Minor tools/grokdump improvements: avoid some None dereferences and add some line breaks to generated html pages.
Review URL: https://codereview.chromium.org/943573002

Cr-Commit-Position: refs/heads/master@{#26752}
2015-02-19 14:36:24 +00:00
adamk
27e8a455df Rename Interface to ModuleDescriptor
ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.

Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26728}
2015-02-18 18:25:21 +00:00
machenbach
94e683b526 Make gcmole execute in parallel.
TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26724}
2015-02-18 15:35:34 +00:00