mbrandy [Wed, 30 Sep 2015 17:01:01 +0000 (10:01 -0700)]
PPC: [es6] Introduce spec compliant IsConstructor.
Port
8fe3ac07014ce5891be0a1cbd8019e9f3b02ff0b
Original commit message:
There was already a bit on the Map named "function with prototype",
which basically meant that the Map was a map for a JSFunction that could
be used as a constructor. Now this CL generalizes that bit to
IsConstructor, which says that whatever (Heap)Object you are looking at
can be used as a constructor (i.e. the bit is also set for bound
functions that can be used as constructors and proxies that have a
[[Construct]] internal method).
This way we have a single chokepoint for IsConstructor checking, which
allows us to get rid of the various ways in which we tried to guess
whether something could be used as a constructor or not.
Drive-by-fix: Renamed IsConstructor on FunctionKind to
IsClassConstructor to resolve the weird name clash, and the
IsClassConstructor name also matches the spec.
R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=v8:4413, v8:4430
LOG=n
Review URL: https://codereview.chromium.org/
1382673002
Cr-Commit-Position: refs/heads/master@{#31027}
mbrandy [Wed, 30 Sep 2015 16:29:52 +0000 (09:29 -0700)]
PPC: [runtime] Remove weird pushing of something on StackOverflow.
Port
556b522ac62414c87d05f5d6bab33f6b6cab9b13
Original commit message:
We somehow try to push some stuff on the stack when we detect a stack
overflow, that we don't need. Even worse we might access outside the
valid stack bounds. Since we don't need this, it's gone.
R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=chromium:534881
LOG=n
Review URL: https://codereview.chromium.org/
1382633002
Cr-Commit-Position: refs/heads/master@{#31026}
mbrandy [Wed, 30 Sep 2015 16:28:41 +0000 (09:28 -0700)]
PPC: [builtin] Refactor Invoke to deal with any kind of callable.
Port
634d1d86d8e98584097c6cb548a68ecf705c44f7
Original commit message:
Now both Execution::Call and Execution::New can deal with any
kind of target and will raise a proper exception if the target is not
callable (which is not yet spec compliant for New, as we would
have to check IsConstructor instead, which we don't have yet).
Now we no longer need to do any of these weird call/construct
delegate gymnastics in C++, and we finally have a single true
bottleneck for Call/Construct abstract operations in the code
base, with only a few special handlings left in the compilers to
optimize the JSFunction case.
R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=v8:4430, v8:4413
LOG=n
Review URL: https://codereview.chromium.org/
1374683006
Cr-Commit-Position: refs/heads/master@{#31025}
jkummerow [Wed, 30 Sep 2015 15:00:23 +0000 (08:00 -0700)]
Teach JSReceiver::GetKeys() how to include symbols
No users of that functionality yet, those will come separately.
Review URL: https://codereview.chromium.org/
1375003002
Cr-Commit-Position: refs/heads/master@{#31024}
jkummerow [Wed, 30 Sep 2015 14:51:45 +0000 (07:51 -0700)]
Add LookupIterator constructor for arbitrary Object keys
Continuing unification of properties/elements handling, the new
LookupIterator::PropertyOrElement(..., Handle<Object> key, ...) takes
any Object and does the required ToPrimitive/ToName/ToArrayIndex
conversions on it.
Review URL: https://codereview.chromium.org/
1375943002
Cr-Commit-Position: refs/heads/master@{#31023}
neis [Wed, 30 Sep 2015 14:43:14 +0000 (07:43 -0700)]
Reland "Clean up rewriter" (issue
1362333002).
R=rossberg
BUG=
Review URL: https://codereview.chromium.org/
1383553002
Cr-Commit-Position: refs/heads/master@{#31022}
neis [Wed, 30 Sep 2015 14:22:57 +0000 (07:22 -0700)]
Make AstPrinter print position information.
R=rossberg
BUG=
Review URL: https://codereview.chromium.org/
1377833002
Cr-Commit-Position: refs/heads/master@{#31021}
machenbach [Wed, 30 Sep 2015 13:48:08 +0000 (06:48 -0700)]
[swarming] Only isolate d8 with target toolset.
BUG=chromium:535160,chromium:537247
LOG=n
Review URL: https://codereview.chromium.org/
1383473002
Cr-Commit-Position: refs/heads/master@{#31020}
mstarzinger [Wed, 30 Sep 2015 13:46:56 +0000 (06:46 -0700)]
[presubmit] Enable readability/namespace linter checking.
This enables linter checking for "readability/namespace" violations
during presubmit and instead marks the few known exceptions that we
allow explicitly.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1371083003
Cr-Commit-Position: refs/heads/master@{#31019}
cbruni [Wed, 30 Sep 2015 12:49:07 +0000 (05:49 -0700)]
JSObject::GetEnumProperty cleanup
BUG=
Committed: https://crrev.com/
a00d47c802f93cf9835eafce4c9da2dd10b44f6a
Cr-Commit-Position: refs/heads/master@{#30946}
Review URL: https://codereview.chromium.org/
1363293002
Cr-Commit-Position: refs/heads/master@{#31018}
mstarzinger [Wed, 30 Sep 2015 08:23:55 +0000 (01:23 -0700)]
[heap] Less aggressive inlining of IncrementalMarking code.
This moves some methods of IncrementalMarking from the inlined header
into the compilation unit. The methods in question are either not hot
or are being called through a non-inline function already.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1380523002
Cr-Commit-Position: refs/heads/master@{#31017}
ofrobots [Wed, 30 Sep 2015 06:02:14 +0000 (23:02 -0700)]
remove unused Debug::has_break_points_
Previous debug refactoring changes removed uses of has_break_points_, but
omitted removing the field itself. This is not necessary anymore.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1382443002
Cr-Commit-Position: refs/heads/master@{#31016}
chunyang.dai [Wed, 30 Sep 2015 05:37:28 +0000 (22:37 -0700)]
X87: Introduce LiteralsArray to hide it's implementation.
port
d8cdd6956a04cfcf03159ef7802c44838eee3146 (r31000).
original commit message:
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/
1378793003
Cr-Commit-Position: refs/heads/master@{#31015}
v8-autoroll@chromium.org [Wed, 30 Sep 2015 17:55:14 +0000 (10:55 -0700)]
Version 4.7.80
Performance and stability improvements on all platforms.
Cr-Commit-Position: refs/heads/4.7.80@{#1}
Cr-Branched-From:
f3c89267db0fc6120d95046c3ff35a35ca34614f-refs/heads/master@{#31014}
v8-autoroll [Wed, 30 Sep 2015 03:24:42 +0000 (20:24 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
0150e39a3112dbc7e4c7a3ab25276b8d7781f3b6
TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
Review URL: https://codereview.chromium.org/
1375053003
Cr-Commit-Position: refs/heads/master@{#31014}
akos.palfi [Tue, 29 Sep 2015 22:10:13 +0000 (15:10 -0700)]
GYP: Don't pass -Wno-format-pedantic to GCC.
This flag is not understood correctly by GCC and breaks the GCC ARM and MIPS optdebug builds.
Patch from Brendan Kirby <brendan.kirby@imgtec.com>
BUG=
Review URL: https://codereview.chromium.org/
1369273003
Cr-Commit-Position: refs/heads/master@{#31013}
mlippautz [Tue, 29 Sep 2015 19:17:23 +0000 (12:17 -0700)]
[api] Avoid recursive GCs through reaching external allocation limit
See bug description.
BUG=chromium:536231
LOG=N
Review URL: https://codereview.chromium.org/
1378693002
Cr-Commit-Position: refs/heads/master@{#31012}
dusan.m.milosavljevic [Tue, 29 Sep 2015 17:23:44 +0000 (10:23 -0700)]
MIPS64: Add big-endian support for mips64.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1334793004
Cr-Commit-Position: refs/heads/master@{#31011}
mstarzinger [Tue, 29 Sep 2015 16:59:01 +0000 (09:59 -0700)]
[heap] No leakage of incremental-marking.h outside of heap.
This prevents the internal incremental-marking.h to be usable outisde
of the "heap" directory. The logic inside that component is only useful
within the GC and is now properly encapsulated.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1374203002
Cr-Commit-Position: refs/heads/master@{#31010}
mstarzinger [Tue, 29 Sep 2015 15:53:08 +0000 (08:53 -0700)]
[turbofan] Pass scope infos as static operator parameters.
This changes the operators for JSCreate[Block|Script]Context to take
their ScopeInfo as a static parameter as opposed to a value input and
in turn allows for easier access to that parameter during lowerings.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1379593002
Cr-Commit-Position: refs/heads/master@{#31009}
jacob.bramley [Tue, 29 Sep 2015 15:11:18 +0000 (08:11 -0700)]
[arm] Fix a double-register push operation.
It is not safe to access memory below sp, and this is also forbidden by
the ABI. When pushing, we must either use an atomic operation (such as
vstm+db_w) or move sp before writing the data.
This patch fixes one stack access, and also adds vpush and vpop helpers
to simplify similar code.
BUG=
Review URL: https://codereview.chromium.org/
1378563002
Cr-Commit-Position: refs/heads/master@{#31008}
mstarzinger [Tue, 29 Sep 2015 14:42:42 +0000 (07:42 -0700)]
[turbofan] Remove obsolete helpers from graph verifier.
The NodeProperties helpers are here to stay and won't go away anytime
soon. This removes a TODO from the graph verifier in that regard.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1375923002
Cr-Commit-Position: refs/heads/master@{#31007}
jarin [Tue, 29 Sep 2015 14:38:56 +0000 (07:38 -0700)]
[turbofan] Make string comparisons effectful.
BUG=v8:4446
LOG=n
Review URL: https://codereview.chromium.org/
1369313004
Cr-Commit-Position: refs/heads/master@{#31006}
jarin [Tue, 29 Sep 2015 13:51:25 +0000 (06:51 -0700)]
[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}
mlippautz [Tue, 29 Sep 2015 13:07:24 +0000 (06:07 -0700)]
[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}
ishell [Tue, 29 Sep 2015 12:22:39 +0000 (05:22 -0700)]
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}
vogelheim [Tue, 29 Sep 2015 11:15:59 +0000 (04:15 -0700)]
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}
hablich [Tue, 29 Sep 2015 10:16:48 +0000 (03:16 -0700)]
[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}
mvstanton [Tue, 29 Sep 2015 10:15:31 +0000 (03:15 -0700)]
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}
hablich [Tue, 29 Sep 2015 09:38:04 +0000 (02:38 -0700)]
[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}
hpayer [Tue, 29 Sep 2015 09:08:10 +0000 (02:08 -0700)]
[heap] Reland Remove retry space from AllocateRaw.
BUG=
Review URL: https://codereview.chromium.org/
1374163002
Cr-Commit-Position: refs/heads/master@{#30998}
cbruni [Tue, 29 Sep 2015 08:41:26 +0000 (01:41 -0700)]
[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}
yurys [Tue, 29 Sep 2015 08:18:57 +0000 (01:18 -0700)]
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}
mstarzinger [Tue, 29 Sep 2015 08:08:14 +0000 (01:08 -0700)]
[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}
jacob.bramley [Tue, 29 Sep 2015 07:48:43 +0000 (00:48 -0700)]
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}
bmeurer [Tue, 29 Sep 2015 07:41:03 +0000 (00:41 -0700)]
[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}
machenbach [Tue, 29 Sep 2015 04:53:06 +0000 (21:53 -0700)]
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}
bmeurer [Tue, 29 Sep 2015 04:39:51 +0000 (21:39 -0700)]
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}
mtrofin [Tue, 29 Sep 2015 03:46:53 +0000 (20:46 -0700)]
[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}
v8-autoroll [Tue, 29 Sep 2015 03:23:41 +0000 (20:23 -0700)]
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}
chunyang.dai [Tue, 29 Sep 2015 02:20:47 +0000 (19:20 -0700)]
X87: [es6] Fix invalid ToString in implementation of ToName.
port
09626525fea63396c8a200deb9081d6dd1034d57 (r30957).
original commit message:
BUG=
Review URL: https://codereview.chromium.org/
1370283003
Cr-Commit-Position: refs/heads/master@{#30988}
alph [Mon, 28 Sep 2015 19:34:08 +0000 (12:34 -0700)]
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}
oth [Mon, 28 Sep 2015 19:14:16 +0000 (12:14 -0700)]
[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}
mstarzinger [Mon, 28 Sep 2015 18:08:17 +0000 (11:08 -0700)]
[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}
hpayer [Mon, 28 Sep 2015 18:07:09 +0000 (11:07 -0700)]
[heap] Remove retry space from AllocateRaw.
BUG=
Review URL: https://codereview.chromium.org/
1370123002
Cr-Commit-Position: refs/heads/master@{#30984}
oth [Mon, 28 Sep 2015 18:05:56 +0000 (11:05 -0700)]
[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}
ishell [Mon, 28 Sep 2015 16:40:52 +0000 (09:40 -0700)]
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}
neis [Mon, 28 Sep 2015 15:09:42 +0000 (08:09 -0700)]
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}
ishell [Mon, 28 Sep 2015 15:04:11 +0000 (08:04 -0700)]
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}
caitpotter88 [Mon, 28 Sep 2015 14:51:42 +0000 (07:51 -0700)]
[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}
ben [Mon, 28 Sep 2015 14:12:35 +0000 (07:12 -0700)]
Fix DCHECK in ScopeInfo::Print().
Review URL: https://codereview.chromium.org/
1369913002
Cr-Commit-Position: refs/heads/master@{#30978}
karl [Mon, 28 Sep 2015 14:02:50 +0000 (07:02 -0700)]
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}
machenbach [Mon, 28 Sep 2015 13:59:38 +0000 (06:59 -0700)]
[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}
jkummerow [Mon, 28 Sep 2015 13:10:13 +0000 (06:10 -0700)]
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}
ishell [Mon, 28 Sep 2015 13:02:43 +0000 (06:02 -0700)]
Removing the Class/ObjectLiteral::LayoutFeedbackSlots().
Review URL: https://codereview.chromium.org/
1372003002
Cr-Commit-Position: refs/heads/master@{#30974}
mstarzinger [Mon, 28 Sep 2015 12:55:45 +0000 (05:55 -0700)]
[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}
andybons [Mon, 28 Sep 2015 12:40:25 +0000 (05:40 -0700)]
[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}
ishell [Mon, 28 Sep 2015 11:41:40 +0000 (04:41 -0700)]
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}
neis [Mon, 28 Sep 2015 11:16:55 +0000 (04:16 -0700)]
[es6] Ship rest parameters.
R=rossberg
BUG=
Review URL: https://codereview.chromium.org/
1371963002
Cr-Commit-Position: refs/heads/master@{#30970}
hpayer [Mon, 28 Sep 2015 09:55:35 +0000 (02:55 -0700)]
[heap] Reland Move large object space selection into AllocateRaw.
BUG=
Review URL: https://codereview.chromium.org/
1371033002
Cr-Commit-Position: refs/heads/master@{#30969}
bmeurer [Mon, 28 Sep 2015 09:42:09 +0000 (02:42 -0700)]
[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}
bmeurer [Mon, 28 Sep 2015 09:02:31 +0000 (02:02 -0700)]
[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}
ben [Mon, 28 Sep 2015 08:44:31 +0000 (01:44 -0700)]
Remove obsolete try/catch from ObjectIsPromise().
Review URL: https://codereview.chromium.org/
1367123003
Cr-Commit-Position: refs/heads/master@{#30966}
mlippautz [Mon, 28 Sep 2015 08:32:40 +0000 (01:32 -0700)]
[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}
ishell [Mon, 28 Sep 2015 08:23:35 +0000 (01:23 -0700)]
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}
mstarzinger [Mon, 28 Sep 2015 08:18:29 +0000 (01:18 -0700)]
[presubmit] Fix whitespace/semicolon linter violations.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1365803004
Cr-Commit-Position: refs/heads/master@{#30963}
jarin [Mon, 28 Sep 2015 08:12:41 +0000 (01:12 -0700)]
[turbofan] Move node verification methods to the Verifier class.
Review URL: https://codereview.chromium.org/
1367423002
Cr-Commit-Position: refs/heads/master@{#30962}
mstarzinger [Mon, 28 Sep 2015 08:04:11 +0000 (01:04 -0700)]
[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}
machenbach [Mon, 28 Sep 2015 07:03:44 +0000 (00:03 -0700)]
[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}
Michael Achenbach [Mon, 28 Sep 2015 06:58:49 +0000 (08:58 +0200)]
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}
jarin [Mon, 28 Sep 2015 05:37:26 +0000 (22:37 -0700)]
[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}
bmeurer [Mon, 28 Sep 2015 05:33:55 +0000 (22:33 -0700)]
[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}
bmeurer [Mon, 28 Sep 2015 05:03:29 +0000 (22:03 -0700)]
[builtins] Fix ToString in Array.prototype.join.
The internal ConvertToString helper was using the wrong ToPrimitive,
actually the old ES5 like DefaultString, and it also prematurely
optimized for no real benefit.
BUG=v8:4307
LOG=n
Review URL: https://codereview.chromium.org/
1370943002
Cr-Commit-Position: refs/heads/master@{#30956}
bmeurer [Mon, 28 Sep 2015 05:01:10 +0000 (22:01 -0700)]
[crankshaft] Add support for %_ToString.
Also support %_ToString in Crankshaft utilizing the ToStringStub, which
is also used in TurboFan and fullcodegen. This is necessary to repair a
regression on Octane that was introduced when switching from the hand
crafted NonStringToString/ToString magic to %_ToString (which properly
supports @@toPrimitive).
BUG=chromium:535953,v8:4307
LOG=n
Review URL: https://codereview.chromium.org/
1373743002
Cr-Commit-Position: refs/heads/master@{#30955}
chunyang.dai [Mon, 28 Sep 2015 03:09:00 +0000 (20:09 -0700)]
X87: Full code shouldn't embed the type feedback vector.
port
c90c60ba2689fb524a1526503c9c87f534cf58fb (r30940)
original commit message:
Make sure to always reference it indirectly. This allows us to make the vector
native-context dependent should we wish.
BUG=
Review URL: https://codereview.chromium.org/
1369963002
Cr-Commit-Position: refs/heads/master@{#30954}
v8-autoroll [Sun, 27 Sep 2015 03:25:02 +0000 (20:25 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
8d89c1b15f80323b54b3305b2be7b26686fd5611
TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
Review URL: https://codereview.chromium.org/
1368213002
Cr-Commit-Position: refs/heads/master@{#30953}
machenbach [Sat, 26 Sep 2015 12:07:43 +0000 (05:07 -0700)]
[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/
1369113002
Cr-Commit-Position: refs/heads/master@{#30952}
v8-autoroll [Sat, 26 Sep 2015 03:24:58 +0000 (20:24 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
423fc7e1107fb08ccf007c4aeb76dcab8b2747c1
Rolling v8/tools/clang to
290301c180118e27755bfced176ff61bd0acb1b8
TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
Review URL: https://codereview.chromium.org/
1373683002
Cr-Commit-Position: refs/heads/master@{#30951}
vogelheim [Fri, 25 Sep 2015 17:22:05 +0000 (10:22 -0700)]
Revert of JSObject::GetEnumProperty cleanup (patchset #2 id:20001 of https://codereview.chromium.org/
1363293002/ )
Reason for revert:
Reverting, because of broken GC stress bots.
@cbruni: Sorry for the revert. I'm not entirely sure it's actually your CL; but policy is to revert speculatively if we can't determine an exact cause.
Original issue's description:
> JSObject::GetEnumProperty cleanup
>
> BUG=
>
> Committed: https://crrev.com/
a00d47c802f93cf9835eafce4c9da2dd10b44f6a
> Cr-Commit-Position: refs/heads/master@{#30946}
TBR=jkummerow@chromium.org,cbruni@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1371673004
Cr-Commit-Position: refs/heads/master@{#30950}
mlippautz [Fri, 25 Sep 2015 16:14:03 +0000 (09:14 -0700)]
[tools] Add capability of generating log2-based histograms to eval_gc_nvp.py
BUG=
Review URL: https://codereview.chromium.org/
1372623002
Cr-Commit-Position: refs/heads/master@{#30949}
machenbach [Fri, 25 Sep 2015 16:11:11 +0000 (09:11 -0700)]
Revert of [heap] Move large object space selection into AllocateRaw. (patchset #2 id:20001 of https://codereview.chromium.org/
1373523002/ )
Reason for revert:
Breaks mac asan:
http://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/2895
According to auto bisect
Original issue's description:
> [heap] Move large object space selection into AllocateRaw.
>
> BUG=
>
> Committed: https://crrev.com/
e4f7ebb000432cc2011ecaaa71a69e2e60f416f0
> Cr-Commit-Position: refs/heads/master@{#30938}
TBR=mlippautz@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1368833004
Cr-Commit-Position: refs/heads/master@{#30948}
mlippautz [Fri, 25 Sep 2015 15:40:27 +0000 (08:40 -0700)]
Revert of "[heap] Add more tasks for parallel compaction" (patchset #4 id:100001 of https://codereview.chromium.org/
1365743003/ )
Reason for revert:
failing again: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Mac/builds/4505/steps/Mozilla%20%28flakes%29/logs/regress-416628
Original issue's description:
> Reland of "[heap] Add more tasks for parallel compaction"
>
> - We now compute the number of parallel compaction tasks, depending on the
> evacuation candidate list, the number of cores, and some hard limit.
> - Free memory is moved over to compaction tasks (up to some limit)
> - Moving over memory is done by dividing the free list of a given space up among
> other free lists. Since this is potentially slow we limit the maximum amount
> of moved memory.
>
> This reverts commit
bfccd5187ceb21c99feea4538e08ca7aef48b65b.
>
> BUG=chromium:524425
> LOG=N
>
> Committed: https://crrev.com/
7e283d746a194ceaaca114e2ba17504653d6a109
> Cr-Commit-Position: refs/heads/master@{#30945}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:524425
Review URL: https://codereview.chromium.org/
1371653002
Cr-Commit-Position: refs/heads/master@{#30947}
cbruni [Fri, 25 Sep 2015 15:27:32 +0000 (08:27 -0700)]
JSObject::GetEnumProperty cleanup
BUG=
Review URL: https://codereview.chromium.org/
1363293002
Cr-Commit-Position: refs/heads/master@{#30946}
mlippautz [Fri, 25 Sep 2015 15:05:07 +0000 (08:05 -0700)]
Reland of "[heap] Add more tasks for parallel compaction"
- We now compute the number of parallel compaction tasks, depending on the
evacuation candidate list, the number of cores, and some hard limit.
- Free memory is moved over to compaction tasks (up to some limit)
- Moving over memory is done by dividing the free list of a given space up among
other free lists. Since this is potentially slow we limit the maximum amount
of moved memory.
This reverts commit
bfccd5187ceb21c99feea4538e08ca7aef48b65b.
BUG=chromium:524425
LOG=N
Review URL: https://codereview.chromium.org/
1365743003
Cr-Commit-Position: refs/heads/master@{#30945}
ulan [Fri, 25 Sep 2015 14:49:07 +0000 (07:49 -0700)]
Perform scavenge in idle tasks.
BUG=chromium:490559
LOG=NO
Review URL: https://codereview.chromium.org/
1352453004
Cr-Commit-Position: refs/heads/master@{#30944}
machenbach [Fri, 25 Sep 2015 14:36:58 +0000 (07:36 -0700)]
[swarming] Add isolate configs for d8 on linux.
BUG=chromium:535160
LOG=n
Review URL: https://codereview.chromium.org/
1361953003
Cr-Commit-Position: refs/heads/master@{#30943}
vogelheim [Fri, 25 Sep 2015 14:35:20 +0000 (07:35 -0700)]
Fix use of deprecated API.
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1366173002
Cr-Commit-Position: refs/heads/master@{#30942}
ben [Fri, 25 Sep 2015 13:57:31 +0000 (06:57 -0700)]
Remove unused imports from tools/js2c.py
Review URL: https://codereview.chromium.org/
1359033002
Cr-Commit-Position: refs/heads/master@{#30941}
mvstanton [Fri, 25 Sep 2015 13:56:24 +0000 (06:56 -0700)]
Full code shouldn't embed the type feedback vector.
Make sure to always reference it indirectly. This allows us to make the vector
native-context dependent should we wish.
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1364373003
Cr-Commit-Position: refs/heads/master@{#30940}
mstarzinger [Fri, 25 Sep 2015 13:55:11 +0000 (06:55 -0700)]
[heap] No leakage of gc-idle-time-handler.h outside of heap.
This prevents the internal gc-idle-time-handler.h to be usable outisde
of the "heap" directory. The logic inside that component is only useful
within the GC and is now properly encapsulated.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
1368983002
Cr-Commit-Position: refs/heads/master@{#30939}
hpayer [Fri, 25 Sep 2015 13:54:01 +0000 (06:54 -0700)]
[heap] Move large object space selection into AllocateRaw.
BUG=
Review URL: https://codereview.chromium.org/
1373523002
Cr-Commit-Position: refs/heads/master@{#30938}
machenbach [Fri, 25 Sep 2015 13:51:33 +0000 (06:51 -0700)]
[test] Skip test262-es6 tests failing on mac.
Looks like we never ran test262-es6 on mac. After merging
into test262 we've got these failures. Skipping for now.
BUG=v8:4437
LOG=n
NOTRY=true
NOTREECHECKS=true
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1372603002
Cr-Commit-Position: refs/heads/master@{#30937}
machenbach [Fri, 25 Sep 2015 13:03:27 +0000 (06:03 -0700)]
[test] Copy test262-es6 into test262.
BUG=v8:4254
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1365293002
Cr-Commit-Position: refs/heads/master@{#30936}
jkummerow [Fri, 25 Sep 2015 12:26:22 +0000 (05:26 -0700)]
[elements.cc] Clean up CopyDoubleToObjectElements
Review URL: https://codereview.chromium.org/
1372533002
Cr-Commit-Position: refs/heads/master@{#30935}
bmeurer [Fri, 25 Sep 2015 11:33:28 +0000 (04:33 -0700)]
[turbofan] Rename --context-specialization to --function-context-specialization.
This name makes it clear that the flag (also the variant in the Compiler)
is talking about specializing to the function context instead of i.e. the
native context.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1372513003
Cr-Commit-Position: refs/heads/master@{#30934}
mstarzinger [Fri, 25 Sep 2015 11:32:38 +0000 (04:32 -0700)]
[presubmit] Enable runtime/threadsafe_fn linter checking.
This enables linter checking for "runtime/threadsafe_fn" violations
during presubmit and instead marks the few known exceptions that we
allow explicitly.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1369673003
Cr-Commit-Position: refs/heads/master@{#30933}
paul.lind [Fri, 25 Sep 2015 11:31:27 +0000 (04:31 -0700)]
Fix a sign-compare error to make gcc 4.9.2 happy.
This is from
https://chromium.googlesource.com/v8/v8/+/
347fa90626a448e3535cf6aa100124dfd5b711ce
BUG=
Review URL: https://codereview.chromium.org/
1365113003
Cr-Commit-Position: refs/heads/master@{#30932}
machenbach [Fri, 25 Sep 2015 11:27:43 +0000 (04:27 -0700)]
Revert of [heap] Move large object space selection into AllocateRaw. (patchset #1 id:1 of https://codereview.chromium.org/
1360903004/ )
Reason for revert:
[Sheriff] Breaks:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/2080
And maybe (not sure):
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1529
Original issue's description:
> [heap] Move large object space selection into AllocateRaw.
>
> BUG=
>
> Committed: https://crrev.com/
1403815bdbcbd3336b2d85291704640fada30ffe
> Cr-Commit-Position: refs/heads/master@{#30930}
TBR=mlippautz@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1368103002
Cr-Commit-Position: refs/heads/master@{#30931}
hpayer [Fri, 25 Sep 2015 10:41:02 +0000 (03:41 -0700)]
[heap] Move large object space selection into AllocateRaw.
BUG=
Review URL: https://codereview.chromium.org/
1360903004
Cr-Commit-Position: refs/heads/master@{#30930}
mstarzinger [Fri, 25 Sep 2015 09:29:27 +0000 (02:29 -0700)]
[turbofan] Remove obsolete method from RawMachineAssembler.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1370663002
Cr-Commit-Position: refs/heads/master@{#30929}