Commit Graph

25498 Commits

Author SHA1 Message Date
jarin
904ac0ae2c [turbofan] Make string comparisons effectful.
BUG=v8:4446
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31006}
2015-09-29 14:39:01 +00:00
jarin
d06930fc4b [turbofan] Make Strict(Not)Equal, TypeOf, ToBoolean, UnaryNot effectful.
This is necessary because these operators can read heap (equality can actually write heap when flattening strings).

BUG=v8:4446
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31005}
2015-09-29 13:51:33 +00:00
mlippautz
92a7012b8b [heap] Remove NewSpace::set_top and the corresponding hack
- Remove the hack the resets the new space top pointer from SeqString::Truncate.
- Remove NewSpace::set_top completely as there are no callers (and there should
  be no!)

R=hpayer@chromium.org
BUG=chromium:536163
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#31004}
2015-09-29 13:07:39 +00:00
ishell
134180d494 AST pretty printer fix.
It was broken by https://codereview.chromium.org/1376443002.

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

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

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

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

Cr-Commit-Position: refs/heads/master@{#31002}
2015-09-29 11:16:14 +00:00
hablich
46579c0b74 [Docs] Fix formatting errors in migrated content
NOTRY=true
NOPRESUBMIT=true
R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#31001}
2015-09-29 10:17:05 +00:00
mvstanton
d8cdd6956a Introduce LiteralsArray to hide it's implementation.
The LiteralsArray will soon hold a type feedback vector. Code treats it as an
ordinary fixed array, and needs to stop that.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#31000}
2015-09-29 10:15:39 +00:00
hablich
02af9b8da6 [Docs] Adding information about general triaging
R=machenbach@chromium.org
NOPRESUBMIT=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30999}
2015-09-29 09:38:20 +00:00
hpayer
ce28d019eb [heap] Reland Remove retry space from AllocateRaw.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30998}
2015-09-29 09:08:22 +00:00
cbruni
eecf6cbd97 [cctest] adding --help option to output basic information about cctest
[run-tests.py]
- adding more detailed information about the flags
- show more detailed error message on failing Popen commands

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30997}
2015-09-29 08:41:43 +00:00
yurys
4fd8c327de Tell MSAN that profiler doesn't expect sp to point at initialized memory
BUG=v8:4444,v8:4151
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30996}
2015-09-29 08:19:04 +00:00
mstarzinger
3bb0174330 [heap] Cleanup string factory methods a bit.
This is mostly removing dead code and also dropping MUST_USE_RESULT
annotations from methods that cannot throw an exception anyways.

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30995}
2015-09-29 08:08:30 +00:00
jacob.bramley
0a844bc0dc Fix Frame::AlignSavedCalleeRegisterSlots
The return value is expected to be the number of padding slots added to the frame. However, the original logic would return -1 if padding was required, so insufficient stack space would be reserved.

This function now returns either 0 or 1, as the existing calling code expects.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30994}
2015-09-29 07:49:00 +00:00
bmeurer
93b2b2622b [es6] Introduce %ToInteger and %ToLength.
This adds ES6 compliant Object::ToInteger, Object::ToInt32,
Object::ToUint32 and Object::ToLength, and replaces the old
Execution wrappers of those abstract operations (which were
not using the correct ToPrimitive).

This also introduces proper %ToInteger and %ToLength runtime
entries, with a fast path %_ToInteger supported in fullcodegen
and Crankshaft (for now). Internal JavaScript code should use
TO_INTEGER and TO_LENGTH respectively.

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
BUG=v8:4307
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30993}
2015-09-29 07:41:13 +00:00
machenbach
2839811584 Revert of Clean up rewriter. (patchset #3 id:40001 of https://codereview.chromium.org/1362333002/ )
Reason for revert:
[Sheriff] Seems to break layout tests:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2073

https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_64/2073/layout-test-results/results.html

Please request rebaseline upstream first.

Original issue's description:
> Clean up rewriter.
>
> The main changes are:
> - Fix treatment of loops, which was incorrect and sometimes resulted in
>   the wrong completion value.
> - Get rid of unnecessary variables.
>
> This is in preparation of implementing ES6 completion semantics.
>
> R=rossberg
> BUG=
>
> Committed: https://crrev.com/b466dc14791844b7ae6d1e9ebd00a778965c206d
> Cr-Commit-Position: refs/heads/master@{#30981}

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

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

Cr-Commit-Position: refs/heads/master@{#30992}
2015-09-29 04:53:13 +00:00
bmeurer
6529971a7f Revert of [heap] Remove retry space from AllocateRaw. (patchset #3 id:40001 of https://codereview.chromium.org/1370123002/ )
Reason for revert:
Breaks arm64 nosnap simulator (bogus cctest?): https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/2934/steps/Bisect%202786ceec.Retry/logs/IncrementalWriteBarri..

Original issue's description:
> [heap] Remove retry space from AllocateRaw.
>
> BUG=
>
> Committed: https://crrev.com/2786ceec1eb491494d24d29a59eefbe3b6704be2
> Cr-Commit-Position: refs/heads/master@{#30984}

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

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

Cr-Commit-Position: refs/heads/master@{#30991}
2015-09-29 04:40:02 +00:00
mtrofin
d5a9dd6539 [turbofan] Greedy: smarter last resort splitting.
When all heuristics fail, we run a "last resort" heuristic. Before, it was
splitting at the first found splittable position either before or after a
use position. That turns out to be too naive: it may split in loops, when
alternative split positions exist outside loops.

This change chooses a "before" use case location that is outside the
loop.

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

Cr-Commit-Position: refs/heads/master@{#30990}
2015-09-29 03:47:35 +00:00
v8-autoroll
5a13102df9 Update V8 DEPS.
Rolling v8/buildtools to e7111440c07a883b82ffbbe6d26c744dfc6c9673

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30989}
2015-09-29 03:23:52 +00:00
chunyang.dai
22a38d7252 X87: [es6] Fix invalid ToString in implementation of ToName.
port 09626525fe (r30957).

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30988}
2015-09-29 02:21:08 +00:00
alph
e0606c9f00 Move heap and CPU profilers into a dedicated directory.
Drive-by: remove unnecessary includes.

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

Cr-Commit-Position: refs/heads/master@{#30987}
2015-09-28 19:34:18 +00:00
oth
003648772a [Interpreter] Add tests for adding strings and heap number arithmetic.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30986}
2015-09-28 19:14:30 +00:00
mstarzinger
df7df4df2a [heap] Move CALL_HEAP_FUNCTION macro into factory.cc file.
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30985}
2015-09-28 18:08:30 +00:00
hpayer
2786ceec1e [heap] Remove retry space from AllocateRaw.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30984}
2015-09-28 18:07:30 +00:00
oth
17363fa4f3 [Interpreter] Add interpreter support for compare ops and ToBoolean.
The comparison operators and ToBoolean are implemented by calling into
the runtime. There are new runtime methods are prefixed with Interpreter
to make use case clear.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30983}
2015-09-28 18:07:05 +00:00
ishell
4d03c3aaba Revert of Introduce a V8_NORETURN macro and use it to make GCC 4.9.2 happy again. (patchset #3 id:80001 of https://codereview.chromium.org/1361763004/ )
Reason for revert:
This CL breaks cross-compiling to arm.

Original issue's description:
> Introduce a V8_NORETURN macro and use it to make GCC 4.9.2 happy again.
>
> Without that, it has a few false positives about out-of-bounds array accesses.
> Also makes the clang static-analyzer happy.
>
> Original code review from Sven Panne:
> https://codereview.chromium.org/790723002/
>
> Committed: https://crrev.com/0b48b2a8ebfc791a36f4ec1f299f46db76265a3a
> Cr-Commit-Position: refs/heads/master@{#30977}

TBR=jochen@chromium.org,bmeurer@chromium.org,jkummerow@chromium.org,karl@skomski.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30982}
2015-09-28 16:47:07 +00:00
neis
b466dc1479 Clean up rewriter.
The main changes are:
- Fix treatment of loops, which was incorrect and sometimes resulted in
  the wrong completion value.
- Get rid of unnecessary variables.

This is in preparation of implementing ES6 completion semantics.

R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30981}
2015-09-28 15:09:56 +00:00
ishell
601c8d9f87 Add ishell@ and mvstanton@ to full codegen owners list.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30980}
2015-09-28 15:04:37 +00:00
caitpotter88
7b405200b0 [test] Remove FAIL expectation for intl/collator/default-locale on Android and Mac
BUG=v8:2899
LOG=N
R=

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

Cr-Commit-Position: refs/heads/master@{#30979}
2015-09-28 14:51:57 +00:00
ben
e874579f28 Fix DCHECK in ScopeInfo::Print().
Review URL: https://codereview.chromium.org/1369913002

Cr-Commit-Position: refs/heads/master@{#30978}
2015-09-28 14:12:54 +00:00
karl
0b48b2a8eb Introduce a V8_NORETURN macro and use it to make GCC 4.9.2 happy again.
Without that, it has a few false positives about out-of-bounds array accesses.
Also makes the clang static-analyzer happy.

Original code review from Sven Panne:
https://codereview.chromium.org/790723002/

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

Cr-Commit-Position: refs/heads/master@{#30977}
2015-09-28 14:03:10 +00:00
machenbach
8679b9d78b [test] Remove test262-es6.
This was copied into test262.

BUG=v8:4254
NOTRY=true
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30976}
2015-09-28 14:03:09 +00:00
jkummerow
7117acd26c objects-inl.h: Remove ACCESSORS_TO_SMI macro
Replacing it with SMI_ACCESSORS.
This change makes accesses to Smi fields in objects more regular (the
accessors now always consume/return an int rather than a Smi*), which
avoids a bunch of manual Smi::FromInt() and Smi::value() conversions,
and is a step on the way towards being able to generate objects-inl.h.

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

Cr-Commit-Position: refs/heads/master@{#30975}
2015-09-28 13:10:29 +00:00
ishell
27ff0671a0 Removing the Class/ObjectLiteral::LayoutFeedbackSlots().
Review URL: https://codereview.chromium.org/1372003002

Cr-Commit-Position: refs/heads/master@{#30974}
2015-09-28 13:02:50 +00:00
mstarzinger
8dc8903f3d [heap] Simplify CALL_HEAP_FUNCTION macro dance.
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30973}
2015-09-28 13:01:49 +00:00
andybons
6e0cd21569 [Docs] Add wiki content to Markdown docs
NOTE: You will have to land this as I don’t have write perms to this repo.

BUG=none
R=hablich@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30972}
2015-09-28 12:41:25 +00:00
ishell
b2d82a22a1 Refactored interface of FeedbackVectorSpec and friends.
This is a second step towards merging FeedbackVectorSlot and FeedbackVectorICSlot.

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

Cr-Commit-Position: refs/heads/master@{#30971}
2015-09-28 11:41:48 +00:00
neis
d3ef8f4b95 [es6] Ship rest parameters.
R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30970}
2015-09-28 11:19:35 +00:00
hpayer
91397ac7aa [heap] Reland Move large object space selection into AllocateRaw.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30969}
2015-09-28 09:57:43 +00:00
bmeurer
8611fb31a2 [bootstrapper] Fix raw pointer use during potential GC.
This should fix a weird random crash we keep seeing on Linux nosnap
bot with TurboFan enabled.

BUG=v8:4435,v8:4423
LOG=n
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30968}
2015-09-28 09:42:21 +00:00
bmeurer
39114da1a7 [api] Make sure InterceptorInfo is always in a verifyable state.
This should fix the Threading1 flakiness that we see on the waterfall.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30967}
2015-09-28 09:02:38 +00:00
ben
f78215962b Remove obsolete try/catch from ObjectIsPromise().
Review URL: https://codereview.chromium.org/1367123003

Cr-Commit-Position: refs/heads/master@{#30966}
2015-09-28 08:44:46 +00:00
mlippautz
660d4fa7b0 [heap] Adjust number of parallel compaction tasks
This is a trivial spinoff of the more complicated CL splitting up memory:
  https://codereview.chromium.org/1365743003/

- Parallel compaction is still off.
- We now compute the number of parallel compaction tasks, depending on the
  evacuation candidate list, the number of cores, and some hard limit.

BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30965}
2015-09-28 08:35:48 +00:00
ishell
6ca00aac1a Use FeedbackVectorSlotKind instead of Code::Kind for type feedback vector.
This is a first step towards merging FeedbackVectorSlot and FeedbackVectorICSlot.

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

Cr-Commit-Position: refs/heads/master@{#30964}
2015-09-28 08:23:50 +00:00
mstarzinger
6a20034d24 [presubmit] Fix whitespace/semicolon linter violations.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30963}
2015-09-28 08:18:49 +00:00
jarin
dac7c95376 [turbofan] Move node verification methods to the Verifier class.
Review URL: https://codereview.chromium.org/1367423002

Cr-Commit-Position: refs/heads/master@{#30962}
2015-09-28 08:15:19 +00:00
mstarzinger
4f55b83012 [heap] No leakage of mark-compact.h outside of heap.
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30961}
2015-09-28 08:04:25 +00:00
machenbach
d64315c7a3 [test] Skip test on noi18n.
Fails since test262-es6 is tested without i18n support.

BUG=v8:4437
LOG=n
NOTRY=true
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30960}
2015-09-28 07:14:05 +00:00
Michael Achenbach
1fe1c74a37 remove byte-accounting assert for crbug.com/536163
The change https://codereview.chromium.org/1274453002 is causing a breakage
on the Chrome OS builds. It is not clear how to easily revert because there is
a following on dependent change (https://codereview.chromium.org/1351983002) am
I am not too familiar with the revert process.

The simplest revert is to remove the DCHECK.

BUG=chromium:536163
LOG=n
NOTRY=true
R=machenbach@chromium.org, cmumford@chromium.org, hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30959}
2015-09-28 06:59:04 +00:00
jarin
5b5bde03d8 [turbofan] In GraphReducer::Replace, check uses to not misuse the replacement.
Review URL: https://codereview.chromium.org/1361893006

Cr-Commit-Position: refs/heads/master@{#30958}
2015-09-28 05:37:41 +00:00
bmeurer
09626525fe [es6] Fix invalid ToString in implementation of ToName.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30957}
2015-09-28 05:34:08 +00:00