hpayer [Tue, 26 May 2015 10:14:13 +0000 (03:14 -0700)]
Don't shrink new space based on allocation rate in predictable mode.
BUG=
Review URL: https://codereview.chromium.org/
1155163003
Cr-Commit-Position: refs/heads/master@{#28618}
ishell [Tue, 26 May 2015 10:06:47 +0000 (03:06 -0700)]
Fixed a couple of failing DCHECK(has_pending_exception()).
BUG=chromium:491062
LOG=N
Review URL: https://codereview.chromium.org/
1151373002
Cr-Commit-Position: refs/heads/master@{#28617}
jochen [Tue, 26 May 2015 09:23:45 +0000 (02:23 -0700)]
Fix lookup iterator checks in GetRealNamedProperty* methods
BUG=v8:4143
R=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1161553004
Cr-Commit-Position: refs/heads/master@{#28616}
mvstanton [Tue, 26 May 2015 09:05:53 +0000 (02:05 -0700)]
Move work to omit unnecessary ObjectLiteral stores to the numbering pass.
The reason is that this information will be needed to compute the number of
vector ic slots done at numbering time.
BUG=
Review URL: https://codereview.chromium.org/
1150323002
Cr-Commit-Position: refs/heads/master@{#28615}
jarin [Tue, 26 May 2015 08:46:57 +0000 (01:46 -0700)]
Exclude non-optimizable functions from OptimizeFunctionOnNextCall.
BUG=chromium:491481
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1143223004
Cr-Commit-Position: refs/heads/master@{#28614}
mstarzinger [Tue, 26 May 2015 08:45:10 +0000 (01:45 -0700)]
[turbofan] Fix known issue about computed property names.
This fixes a corner-case where deoptimization while evaluating the
value to a __proto__ property after computed property names appeared
in an object literal, lead to environments not being in sync with
unoptimized code.
R=arv@chromium.org
TEST=mjsunit/harmony/computed-property-names-deopt
Review URL: https://codereview.chromium.org/
1158443004
Cr-Commit-Position: refs/heads/master@{#28613}
yangguo [Tue, 26 May 2015 08:00:04 +0000 (01:00 -0700)]
Do not leak message object beyond try-catch.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1150293002
Cr-Commit-Position: refs/heads/master@{#28612}
machenbach [Tue, 26 May 2015 07:55:23 +0000 (00:55 -0700)]
[test] Mark slow tests on msan.
TBR=svenpanne@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1159743002
Cr-Commit-Position: refs/heads/master@{#28611}
vogelheim [Tue, 26 May 2015 07:54:14 +0000 (00:54 -0700)]
Implement bookmarks for ExternalStreamingStream.
(Requires the embedder's ExternalSourceStream implementation to cooperate.
See crrev.com/
1154883003 for Blink.)
R=jochen@chromium.org
BUG=chromium:470930
LOG=Y
Review URL: https://codereview.chromium.org/
1156733002
Cr-Commit-Position: refs/heads/master@{#28610}
yangguo [Tue, 26 May 2015 07:39:51 +0000 (00:39 -0700)]
Fix harmony-sharedarraybuffer implementation.
NOTREECHECKS=true
NOTRY=true
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1161553002
Cr-Commit-Position: refs/heads/master@{#28609}
yangguo [Tue, 26 May 2015 07:24:13 +0000 (00:24 -0700)]
Revert of Revert of Hook up more import/exports in natives. (patchset #1 id:1 of https://codereview.chromium.org/
1154743003/)
Reason for revert:
Unrelated failure that was uncovered by this CL has been fixed (https://codereview.chromium.org/
1152243002/)
Original issue's description:
> Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/
1154483002/)
>
> Reason for revert:
> [Sheriff] Speculative revert for gc stress failures:
> http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481
>
> Original issue's description:
> > Hook up more import/exports in natives.
> >
> > R=jkummerow@chromium.org
> >
> > Committed: https://crrev.com/
7a918ac9658d11778f39593bfcc19d7c506defd9
> > Cr-Commit-Position: refs/heads/master@{#28573}
> >
> > Committed: https://crrev.com/
e13a39dd7f4062898709d7c68900677df0513995
> > Cr-Commit-Position: refs/heads/master@{#28578}
>
> TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/
eb0024d1dbdda5f51b006dd54887404ee6c5cbfc
> Cr-Commit-Position: refs/heads/master@{#28584}
TBR=jkummerow@chromium.org,erik.corry@gmail.com,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1149773003
Cr-Commit-Position: refs/heads/master@{#28608}
yangguo [Tue, 26 May 2015 06:56:15 +0000 (23:56 -0700)]
Do not patch IC in deoptimized code.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1152243002
Cr-Commit-Position: refs/heads/master@{#28607}
chunyang.dai [Mon, 25 May 2015 13:15:22 +0000 (06:15 -0700)]
X87: [es6] Spread in array literals
port
9502e91adbed48a546463aa848656d07619d14e6 (r28534)
original commit message:
This allows you to put iterables into your array literals
and the will get spread into the array.
let x = [0, ...range(1, 3)]; // [0, 1, 2]
This is done by treating the array literal up to the first
spread element as usual, including using a boiler plate
array, and then appending the remaining expressions and rest
expressions.
BUG=
Review URL: https://codereview.chromium.org/
1152173002
Cr-Commit-Position: refs/heads/master@{#28606}
chunyang.dai [Mon, 25 May 2015 13:13:34 +0000 (06:13 -0700)]
X87: Vector ICs: Introduce Store and KeyedStore IC code stubs.
port
a86384f192f88458bb46eece0a8f2709979057b8 (r28597).
original commit message:
Also introduce new interface descriptors for the trampoline and full
versions of those stubs.
Currently, the stubs aren't functional.
BUG=
Review URL: https://codereview.chromium.org/
1148963003
Cr-Commit-Position: refs/heads/master@{#28605}
machenbach [Sat, 23 May 2015 19:24:37 +0000 (12:24 -0700)]
[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}
machenbach [Fri, 22 May 2015 19:40:50 +0000 (12:40 -0700)]
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}
sergiyb [Fri, 22 May 2015 18:48:42 +0000 (11:48 -0700)]
Use OAuth for accessing Rietveld
R=machenbach@chromium.org, tandrii@chromium.org
BUG=489483
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1150333002
Cr-Commit-Position: refs/heads/master@{#28602}
jochen [Fri, 22 May 2015 18:47:36 +0000 (11:47 -0700)]
Update UTF-8 decoder to detect more special cases.
The blink version is stricter and for parsing it's important that both
decoders behave the same.
BUG=chromium:489944
R=vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1148653007
Cr-Commit-Position: refs/heads/master@{#28601}
jochen [Fri, 22 May 2015 18:39:40 +0000 (11:39 -0700)]
Introduce a maybe-version of Function::New
Internally, it invokes GetFunction() which returns a MaybeLocal<>
BUG=4134
R=vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1156693003
Cr-Commit-Position: refs/heads/master@{#28600}
machenbach [Fri, 22 May 2015 16:40:27 +0000 (09:40 -0700)]
[test] Fix no-exceptions cc flag.
BUG=chromium:425187
LOG=n
Review URL: https://codereview.chromium.org/
1154833002
Cr-Commit-Position: refs/heads/master@{#28599}
mstarzinger [Fri, 22 May 2015 15:42:59 +0000 (08:42 -0700)]
[turbofan] Simplify handling of spreads in array literals.
R=arv@chromium.org
TEST=mjsunit/harmony/spread-array
Review URL: https://codereview.chromium.org/
1154873002
Cr-Commit-Position: refs/heads/master@{#28598}
mvstanton [Fri, 22 May 2015 14:36:48 +0000 (07:36 -0700)]
Vector ICs: Introduce Store and KeyedStore IC code stubs.
Also introduce new interface descriptors for the trampoline and full
versions of those stubs.
Currently, the stubs aren't functional.
BUG=
Review URL: https://codereview.chromium.org/
1149903005
Cr-Commit-Position: refs/heads/master@{#28597}
mvstanton [Fri, 22 May 2015 14:32:31 +0000 (07:32 -0700)]
Remove unnecessary TypeFeedbackIds, saves memory and simplifies TurboFan.
Consequence of going whole-hog for vector-based Load/KeyedLoad ICs.
BUG=
Review URL: https://codereview.chromium.org/
1152063003
Cr-Commit-Position: refs/heads/master@{#28596}
Djordje.Pesic [Fri, 22 May 2015 13:49:20 +0000 (06:49 -0700)]
MIPS: Add float instructions and test coverage, part two
Implement assembler, disassembler tests for all instructions for mips32 and mips64. Additionally, add missing single precision float instructions for r2 and r6 architecture variants in assembler, simulator and disassembler with corresponding tests.
Review URL: https://codereview.chromium.org/
1145223002
Cr-Commit-Position: refs/heads/master@{#28595}
binji [Fri, 22 May 2015 13:43:38 +0000 (06:43 -0700)]
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}
hpayer [Fri, 22 May 2015 13:10:18 +0000 (06:10 -0700)]
Idle old generation limit is used when allocation rate is low.
BUG=
Review URL: https://codereview.chromium.org/
1153763003
Cr-Commit-Position: refs/heads/master@{#28593}
conradw [Fri, 22 May 2015 13:09:09 +0000 (06:09 -0700)]
Make delete API consistent for String objects
Deleting an in-bounds character index from a String object should always return
false.
BUG=
LOG=N
Review URL: https://codereview.chromium.org/
1153673003
Cr-Commit-Position: refs/heads/master@{#28592}
jochen [Fri, 22 May 2015 12:42:00 +0000 (05:42 -0700)]
Remove v8::Private
Nothing uses it
R=rossberg@chromium.org
LOG=y
BUG=none
Review URL: https://codereview.chromium.org/
1152523002
Cr-Commit-Position: refs/heads/master@{#28591}
yangguo [Fri, 22 May 2015 12:33:04 +0000 (05:33 -0700)]
Fix build.
TBR=machenbach@chromium.org
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1150303002
Cr-Commit-Position: refs/heads/master@{#28590}
yangguo [Fri, 22 May 2015 12:18:13 +0000 (05:18 -0700)]
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}
binji [Fri, 22 May 2015 12:07:00 +0000 (05:07 -0700)]
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}
bbudge [Fri, 22 May 2015 12:01:59 +0000 (05:01 -0700)]
Generalize alignment in heap GC functions.
Changes template parameters from int to AllocationAlignment.
LOG=N
BUG=v8:4124
Review URL: https://codereview.chromium.org/
1152513002
Cr-Commit-Position: refs/heads/master@{#28587}
yangguo [Fri, 22 May 2015 11:50:38 +0000 (04:50 -0700)]
Use conservative hash table capacity growth during entire snapshotting.
We want to use the conservative growth strategy during
- isolate initialization
- bootstrapping a context
But not when
- not creating a snapshot
- running additional code for custom snapshot.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1155823003
Cr-Commit-Position: refs/heads/master@{#28586}
hpayer [Fri, 22 May 2015 11:43:11 +0000 (04:43 -0700)]
Uncommit and shrink semi-spaces only on low allocation rate.
BUG=chromium:481811
LOG=n
Review URL: https://codereview.chromium.org/
1148633005
Cr-Commit-Position: refs/heads/master@{#28585}
machenbach [Fri, 22 May 2015 11:21:32 +0000 (04:21 -0700)]
Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/
1154483002/)
Reason for revert:
[Sheriff] Speculative revert for gc stress failures:
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481
Original issue's description:
> Hook up more import/exports in natives.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/
7a918ac9658d11778f39593bfcc19d7c506defd9
> Cr-Commit-Position: refs/heads/master@{#28573}
>
> Committed: https://crrev.com/
e13a39dd7f4062898709d7c68900677df0513995
> Cr-Commit-Position: refs/heads/master@{#28578}
TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1154743003
Cr-Commit-Position: refs/heads/master@{#28584}
titzer [Fri, 22 May 2015 11:13:02 +0000 (04:13 -0700)]
[turbofan] Rework Node guts to save space.
This reduces the storage per-Node storage from 7 words to 6 and per-edge
storage from 6 words to 4.
On average this is about 10%-15% space savings over the whole graph.
Remove the use of std::deque as the out-of-line storage for inputs.
Reduce size of Use links and use pointer arithmetic to find Node
from Use.
R=mstarzinger@chromium.org,jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1150923003
Cr-Commit-Position: refs/heads/master@{#28583}
erikcorry [Fri, 22 May 2015 11:07:37 +0000 (04:07 -0700)]
Don't UnshiftGrey any black objects
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1128683006
Cr-Commit-Position: refs/heads/master@{#28582}
svenpanne [Fri, 22 May 2015 11:01:53 +0000 (04:01 -0700)]
JavaScript stubs have access to their calling convention and minor key now.
First steps only, the TurboFan compilation is still triggered from C++ land.
Includes some simplifications/cleanups, too.
Review URL: https://codereview.chromium.org/
1150263002
Cr-Commit-Position: refs/heads/master@{#28581}
verwaest [Fri, 22 May 2015 10:57:39 +0000 (03:57 -0700)]
Fix ToNameArray
BUG=
Review URL: https://codereview.chromium.org/
1146113004
Cr-Commit-Position: refs/heads/master@{#28580}
rossberg [Fri, 22 May 2015 10:51:49 +0000 (03:51 -0700)]
[strong] cache strong object literal maps
Also, add more literal tests.
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1145213005
Cr-Commit-Position: refs/heads/master@{#28579}
yangguo [Fri, 22 May 2015 10:32:52 +0000 (03:32 -0700)]
Hook up more import/exports in natives.
R=jkummerow@chromium.org
Committed: https://crrev.com/
7a918ac9658d11778f39593bfcc19d7c506defd9
Cr-Commit-Position: refs/heads/master@{#28573}
Review URL: https://codereview.chromium.org/
1154483002
Cr-Commit-Position: refs/heads/master@{#28578}
mstarzinger [Fri, 22 May 2015 10:05:16 +0000 (03:05 -0700)]
Remove obsolete JSFunction::IsOptimizable predicate.
This just delegates to SharedFunctionInfo::optimization_disabled and
was primarily used for assertions. Removing it due to misleading name
because already optimized functions reported being "non-optimizable".
This relands commit
181d7b85977eb752b19e1de902093783e31330ef.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1146423002
Cr-Commit-Position: refs/heads/master@{#28577}
mvstanton [Fri, 22 May 2015 09:58:06 +0000 (02:58 -0700)]
VectorICs: Create a StoreICState to more easily create matching code stubs.
This follows the logic of the load ics, in that the base extra ic state is
better encapsulated.
Introduce flag vector_stores to aid development of vector-based store ics.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1151253004
Cr-Commit-Position: refs/heads/master@{#28576}
bmeurer [Fri, 22 May 2015 09:13:32 +0000 (02:13 -0700)]
[turbofan] Don't mix up name/property accesses.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1149663003
Cr-Commit-Position: refs/heads/master@{#28575}
machenbach [Fri, 22 May 2015 08:53:21 +0000 (01:53 -0700)]
Revert of Hook up more import/exports in natives. (patchset #2 id:20001 of https://codereview.chromium.org/
1154483002/)
Reason for revert:
[Sheriff] Breaks nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6943
Original issue's description:
> Hook up more import/exports in natives.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/
7a918ac9658d11778f39593bfcc19d7c506defd9
> Cr-Commit-Position: refs/heads/master@{#28573}
TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1154793003
Cr-Commit-Position: refs/heads/master@{#28574}
yangguo [Fri, 22 May 2015 08:32:52 +0000 (01:32 -0700)]
Hook up more import/exports in natives.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1154483002
Cr-Commit-Position: refs/heads/master@{#28573}
svenpanne [Fri, 22 May 2015 08:24:41 +0000 (01:24 -0700)]
Unbreak %DebugPrint output.
Review URL: https://codereview.chromium.org/
1155773003
Cr-Commit-Position: refs/heads/master@{#28572}
jing.bao [Fri, 22 May 2015 06:34:07 +0000 (23:34 -0700)]
Android IA32: enable PIE
BUG=
Review URL: https://codereview.chromium.org/
1145513006
Cr-Commit-Position: refs/heads/master@{#28571}
danno [Fri, 22 May 2015 05:53:19 +0000 (22:53 -0700)]
[turbofan] Pick word representation for phis with Type::Internal().
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1154463004
Cr-Commit-Position: refs/heads/master@{#28570}
machenbach [Fri, 22 May 2015 05:52:10 +0000 (22:52 -0700)]
Revert of Revert of Pass GC flags to incremental marker and start incremental marking with (patchset #1 id:1 of https://codereview.chromium.org/
1151143002/)
Reason for revert:
Wasn't the reason...
Original issue's description:
> Revert of Pass GC flags to incremental marker and start incremental marking with (patchset #3 id:40001 of https://codereview.chromium.org/
1156463002/)
>
> Reason for revert:
> [Sheriff] Speculative revert because chromebook is really misbehaving:
> http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/2109
>
> I also triggered a retry with the failing build to be sure. If the revert doesn't help or the bot had a scary hiccup, this can reland.
>
> Original issue's description:
> > Pass GC flags to incremental marker and start incremental marking with
> > reduce memory footprint in idle notification.
> >
> > BUG=
> >
> > Committed: https://crrev.com/
4656308147b12405037678b1ab192fb4f2437bbc
> > Cr-Commit-Position: refs/heads/master@{#28567}
>
> TBR=hpayer@chromium.org,ulan@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/
634c58a4f10b346a98208ec34d169e1bdb04e1b7
> Cr-Commit-Position: refs/heads/master@{#28568}
TBR=hpayer@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1157613002
Cr-Commit-Position: refs/heads/master@{#28569}
machenbach [Thu, 21 May 2015 20:34:45 +0000 (13:34 -0700)]
Revert of Pass GC flags to incremental marker and start incremental marking with (patchset #3 id:40001 of https://codereview.chromium.org/
1156463002/)
Reason for revert:
[Sheriff] Speculative revert because chromebook is really misbehaving:
http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/2109
I also triggered a retry with the failing build to be sure. If the revert doesn't help or the bot had a scary hiccup, this can reland.
Original issue's description:
> Pass GC flags to incremental marker and start incremental marking with
> reduce memory footprint in idle notification.
>
> BUG=
>
> Committed: https://crrev.com/
4656308147b12405037678b1ab192fb4f2437bbc
> Cr-Commit-Position: refs/heads/master@{#28567}
TBR=hpayer@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1151143002
Cr-Commit-Position: refs/heads/master@{#28568}
ulan [Thu, 21 May 2015 18:23:30 +0000 (11:23 -0700)]
Pass GC flags to incremental marker and start incremental marking with
reduce memory footprint in idle notification.
BUG=
Review URL: https://codereview.chromium.org/
1156463002
Cr-Commit-Position: refs/heads/master@{#28567}
ssid [Thu, 21 May 2015 18:14:50 +0000 (11:14 -0700)]
Fixing Heap::Available() to return total of all spaces.
The Heap::Available method adds up the available size from only 4 of
the spaces. This CL fixes the method to return total of all spaces.
BUG=481504
LOG=N
Review URL: https://codereview.chromium.org/
1141693003
Cr-Commit-Position: refs/heads/master@{#28566}
dslomov [Thu, 21 May 2015 17:47:07 +0000 (10:47 -0700)]
[destructuring] Grand for statement parsing unification.
Also support patterns in ``for (var p in/of ...)``
This CL extends the rewriting we used to do for ``for (let p in/of...)`` to
``for (var p in/of ...)``. For all for..in/of loop declaring variable,
we rewrite
for (var/let/const pattern in/of e) b
into
for (x' in/of e) { var/let/const pattern = e; b }
This adds a small complication for debugger: for a statement
for (var v in/of e) ...
we used to have
var v;
for (v in/of e) ...
and there was a separate breakpoint on ``var v`` line.
This breakpoint is actually useless since it is immediately followed by
a breakpoint on evaluation of ``e``, so this CL removes that breakpoint
location.
Similiraly, for let, it used to be that
for (let v in/of e) ...
became
for (x' in/of e) { let v; v = x'; ... }
``let v``generetaed a useless breakpoint (with the location at the
loop's head. This CL removes that breakpoint as well.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1149043005
Cr-Commit-Position: refs/heads/master@{#28565}
verwaest [Thu, 21 May 2015 17:24:28 +0000 (10:24 -0700)]
Prepare GetProperty(Attributes)WithInterceptor to support elements
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1147863002
Cr-Commit-Position: refs/heads/master@{#28564}
hans [Thu, 21 May 2015 16:21:24 +0000 (09:21 -0700)]
Set V8_HAS_DECLSPEC_SELECTANY for clang-cl
This macro is used for defining static data members with
STATIC_CONST_MEMBER_DEFINITION. Clang-cl mimics MSVC's
behaviour here, so it also needs __declspec(selectany).
This change was prompted by Clang r237787 which changed
a bug where Clang would previously not emit symbols for
some static data members.
BUG=82385
LOG=N
Review URL: https://codereview.chromium.org/
1145213004
Cr-Commit-Position: refs/heads/master@{#28563}
ulan [Thu, 21 May 2015 16:01:56 +0000 (09:01 -0700)]
Reland "Avoid excessive GCs in small heaps."
Original issue's description:
> Avoid excessive GCs in small heaps.
>
> Small heaps and small heap growing factor can lead to excessive GCs in corner cases.
>
> Consider function F(old_gen_size, factor) that returns the number of bytes that
> have to be allocated in the old generation to start incremental marking.
>
> F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
> F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
> F(8MB, 1.1) = 800KB
>
> Funtion F should be monotonic in old_gen_size, but it currently has a minimum
> at kMinimumOldGenerationAllocationLimit.
>
> This CL makes F monotonic.
>
> BUG=
>
> Committed: https://crrev.com/
22b1da99732b4db0754bf267ec470a2831216fb2
> Cr-Commit-Position: refs/heads/master@{#28549}
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1148953005
Cr-Commit-Position: refs/heads/master@{#28562}
machenbach [Thu, 21 May 2015 15:45:17 +0000 (08:45 -0700)]
[test] Apply more detailed origin tracking in MSAN builds.
BUG=chromium:425187
LOG=n
TBR=svenpanne@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1148333004
Cr-Commit-Position: refs/heads/master@{#28561}
mbrandy [Thu, 21 May 2015 15:35:46 +0000 (08:35 -0700)]
PPC: [es6] Spread in array literals
Port
9502e91adbed48a546463aa848656d07619d14e6
Original commit message:
This allows you to put iterables into your array literals
and the will get spread into the array.
let x = [0, ...range(1, 3)]; // [0, 1, 2]
This is done by treating the array literal up to the first
spread element as usual, including using a boiler plate
array, and then appending the remaining expressions and rest
expressions.
R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1149873005
Cr-Commit-Position: refs/heads/master@{#28560}
verwaest [Thu, 21 May 2015 15:24:53 +0000 (08:24 -0700)]
Adjust GetPropertyWithFailedAccessCheck to support elements
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1155503003
Cr-Commit-Position: refs/heads/master@{#28559}
ulan [Thu, 21 May 2015 14:47:20 +0000 (07:47 -0700)]
Revert of Avoid excessive GCs in small heaps. (patchset #1 id:1 of https://codereview.chromium.org/
1144223002/)
Reason for revert:
Regressed Sunspider.
Original issue's description:
> Avoid excessive GCs in small heaps.
>
> Small heaps and small heap growing factor can lead to excessive GCs in corner cases.
>
> Consider function F(old_gen_size, factor) that returns the number of bytes that
> have to be allocated in the old generation to start incremental marking.
>
> F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
> F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
> F(8MB, 1.1) = 800KB
>
> Funtion F should be monotonic in old_gen_size, but it currently has a minimum
> at kMinimumOldGenerationAllocationLimit.
>
> This CL makes F monotonic.
>
> BUG=
>
> Committed: https://crrev.com/
22b1da99732b4db0754bf267ec470a2831216fb2
> Cr-Commit-Position: refs/heads/master@{#28549}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1152533002
Cr-Commit-Position: refs/heads/master@{#28558}
machenbach [Thu, 21 May 2015 14:36:40 +0000 (07:36 -0700)]
[test] Raise timeout for js-perf-tests.
TBR=dslomov@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1147323002
Cr-Commit-Position: refs/heads/master@{#28557}
verwaest [Thu, 21 May 2015 14:34:52 +0000 (07:34 -0700)]
Simplify GetProperty helpers to ease element support
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1148583002
Cr-Commit-Position: refs/heads/master@{#28556}
svenpanne [Thu, 21 May 2015 14:31:41 +0000 (07:31 -0700)]
Add a TurboFan skeleton for StringAddStub.
Currently the stub simply calls out to the runtime, this will be
improved in a later CLs. The current state at least avoids bit-rot and
later merging horror.
Fixes frame construction logic for stubs, too, and contains quite a few
tiny cleanups in stub-land.
Review URL: https://codereview.chromium.org/
1150673002
Cr-Commit-Position: refs/heads/master@{#28555}
mstarzinger [Thu, 21 May 2015 13:34:51 +0000 (06:34 -0700)]
Revert of Remove obsolete JSFunction::IsOptimizable predicate. (patchset #1 id:1 of https://codereview.chromium.org/
1150683002/)
Reason for revert:
Causes assertions to fire when serializing optimized code.
Original issue's description:
> Remove obsolete JSFunction::IsOptimizable predicate.
>
> This just delegates to SharedFunctionInfo::optimization_disabled and
> was primarily used for assertions. Removing it due to misleading name
> because already optimized functions reported being "non-optimizable".
>
> R=titzer@chromium.org
>
> Committed: https://crrev.com/
181d7b85977eb752b19e1de902093783e31330ef
> Cr-Commit-Position: refs/heads/master@{#28551}
TBR=titzer@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1148973005
Cr-Commit-Position: refs/heads/master@{#28554}
jochen [Thu, 21 May 2015 13:13:21 +0000 (06:13 -0700)]
Fix typo in standalone.gypi
without the % we can't override the value which makes the Makefile thing
not work
R=vogelheim@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
1147273002
Cr-Commit-Position: refs/heads/master@{#28553}
hpayer [Thu, 21 May 2015 13:09:29 +0000 (06:09 -0700)]
Reduce new space size during idle times only in memory mode after scavenge, full gc, or finalized incremental full gc.
BUG=
Review URL: https://codereview.chromium.org/
1143973003
Cr-Commit-Position: refs/heads/master@{#28552}
mstarzinger [Thu, 21 May 2015 13:05:48 +0000 (06:05 -0700)]
Remove obsolete JSFunction::IsOptimizable predicate.
This just delegates to SharedFunctionInfo::optimization_disabled and
was primarily used for assertions. Removing it due to misleading name
because already optimized functions reported being "non-optimizable".
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1150683002
Cr-Commit-Position: refs/heads/master@{#28551}
bmeurer [Thu, 21 May 2015 13:02:18 +0000 (06:02 -0700)]
[turbofan] Fix UnifyReturn magic in the inliner.
The inliner previously assumed that there will only be returns reaching
the end node, but that's not true. This refactoring will make it
possible to also hook up Deoptimize, Throw and Terminate nodes reaching
end properly.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1146393002
Cr-Commit-Position: refs/heads/master@{#28550}
ulan [Thu, 21 May 2015 12:50:45 +0000 (05:50 -0700)]
Avoid excessive GCs in small heaps.
Small heaps and small heap growing factor can lead to excessive GCs in corner cases.
Consider function F(old_gen_size, factor) that returns the number of bytes that
have to be allocated in the old generation to start incremental marking.
F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
F(8MB, 1.1) = 800KB
Funtion F should be monotonic in old_gen_size, but it currently has a minimum
at kMinimumOldGenerationAllocationLimit.
This CL makes F monotonic.
BUG=
Review URL: https://codereview.chromium.org/
1144223002
Cr-Commit-Position: refs/heads/master@{#28549}
bradnelson [Thu, 21 May 2015 12:49:37 +0000 (05:49 -0700)]
Dropping iterations and speedup from perf results.
The dashboard displays everything on one scale.
This isn't very useful.
Dropping these two fields as they're not really that
interesting anyway.
BUG=https://code.google.com/p/v8/issues/detail?id=4124
LOG=N
TEST=None
NOTRY=true
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1144263002
Cr-Commit-Position: refs/heads/master@{#28548}
dslomov [Thu, 21 May 2015 12:36:11 +0000 (05:36 -0700)]
[destructuring] Implement pattern matching in lexcal for-of/for-in.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1152503002
Cr-Commit-Position: refs/heads/master@{#28547}
verwaest [Thu, 21 May 2015 12:19:39 +0000 (05:19 -0700)]
Start adding support for elements to the LookupIterator
BUG=
Review URL: https://codereview.chromium.org/
1144883002
Cr-Commit-Position: refs/heads/master@{#28546}
mstarzinger [Thu, 21 May 2015 12:12:14 +0000 (05:12 -0700)]
[turbofan] Ship TF for "with" and "for-of" constructs.
R=danno@chromium.org
BUG=v8:4131
LOG=N
Review URL: https://codereview.chromium.org/
1148653005
Cr-Commit-Position: refs/heads/master@{#28545}
mstarzinger [Thu, 21 May 2015 11:41:14 +0000 (04:41 -0700)]
[turbofan] Prepare mechanism to enable TF on language subset.
This allows enabling TurboFan on a certain subset of language features
in the AstNumberingVisitor. The heuristics of when to optimize remain
unchanged, only the choice of which optimizing compiler to use changes.
R=bmeurer@chromium.org
BUG=v8:4131
LOG=N
Review URL: https://codereview.chromium.org/
1155503002
Cr-Commit-Position: refs/heads/master@{#28544}
bmeurer [Thu, 21 May 2015 11:33:42 +0000 (04:33 -0700)]
[turbofan] Enable deoptimization for non-asm.js TurboFan code.
Replace the --turbo-deoptimization flag with --turbo-asm-deoptimization
and enable deoptimization for non-asm.js TurboFan code unconditionally.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1153483002
Cr-Commit-Position: refs/heads/master@{#28543}
jochen [Thu, 21 May 2015 11:19:32 +0000 (04:19 -0700)]
Check in hello world example so it stays up to date
BUG=none
R=vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1148063003
Cr-Commit-Position: refs/heads/master@{#28542}
bbudge [Thu, 21 May 2015 11:06:37 +0000 (04:06 -0700)]
Generalize HeapObject alignment requirements.
Removes EnsureDouble* methods.
Adds a RequiredAlignment method.
Changes call sites.
LOG=N
BUG=v8:4124
Review URL: https://codereview.chromium.org/
1150953002
Cr-Commit-Position: refs/heads/master@{#28541}
titzer [Thu, 21 May 2015 10:59:54 +0000 (03:59 -0700)]
[turbofan] Add bounds check to Node::InputAt(index) and fix tests that go out of bounds.
BUG=
Review URL: https://codereview.chromium.org/
1149563004
Cr-Commit-Position: refs/heads/master@{#28540}
yangguo [Thu, 21 May 2015 10:35:51 +0000 (03:35 -0700)]
Debugger: use weak cells to implement ScriptCache.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
1145183004
Cr-Commit-Position: refs/heads/master@{#28539}
jochen [Thu, 21 May 2015 10:34:42 +0000 (03:34 -0700)]
Introduce a new gyp flag to warn about to be deprecated APIs
This should help to keep syntax errors from creeping into v8.h
Also, I'll remove usages of to-be-deprecated APIs and turn this flag on
for standalone builds
BUG=4134
R=vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1149633003
Cr-Commit-Position: refs/heads/master@{#28538}
ulan [Thu, 21 May 2015 10:19:09 +0000 (03:19 -0700)]
Make new space allocation throughput estimation more accurate.
Sample new space allocation throughput at scavenge and at idle notificatioon.
This will allow better estimation of mutator idleness for switching between
latency and memory modes in idle notification handler.
BUG=chromium:486005
LOG=NO
TEST=cctest/test-heap/NewSpaceAllocationThroughput
Review URL: https://codereview.chromium.org/
1125193005
Cr-Commit-Position: refs/heads/master@{#28537}
jarin [Thu, 21 May 2015 09:57:27 +0000 (02:57 -0700)]
[turbofan] Fix variable liveness control structure creation.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1148133002
Cr-Commit-Position: refs/heads/master@{#28536}
Benedikt Meurer [Thu, 21 May 2015 09:42:03 +0000 (11:42 +0200)]
[turbofan] --turbo should not imply --turbo-type-feedback.
The --turbo flag should reflect our TurboFan staging configuration, and
for now that does not include the JSTypeFeedbackSpecializer.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1150923005
Cr-Commit-Position: refs/heads/master@{#28535}
arv [Thu, 21 May 2015 08:09:06 +0000 (01:09 -0700)]
[es6] Spread in array literals
This allows you to put iterables into your array literals
and the will get spread into the array.
let x = [0, ...range(1, 3)]; // [0, 1, 2]
This is done by treating the array literal up to the first
spread element as usual, including using a boiler plate
array, and then appending the remaining expressions and rest
expressions.
BUG=v8:3018
LOG=N
Review URL: https://codereview.chromium.org/
1125183008
Cr-Commit-Position: refs/heads/master@{#28534}
yangguo [Thu, 21 May 2015 06:15:33 +0000 (23:15 -0700)]
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}
chunyang.dai [Thu, 21 May 2015 04:32:06 +0000 (21:32 -0700)]
X87: Cleanup interface descriptors to reflect that vectors are part of loads.
port
09aaf003a93162420de88a5449f7de6e7eb04815 (r28516).
original commit message:
Also removed ornamentation like "VectorRaw" from stub names.
BUG=
Review URL: https://codereview.chromium.org/
1152473003
Cr-Commit-Position: refs/heads/master@{#28532}
chunyang.dai [Thu, 21 May 2015 04:30:56 +0000 (21:30 -0700)]
X87: [strong] Function arity check should be based on required parameters
port
78f0452d310221ac74b6221140d376d8302c4579 (r28491)
original commit message:
Also check whether the arguments count is smaller than the number of
required parameters which is the same as the SharedFunctionInfo length.
BUG=
Review URL: https://codereview.chromium.org/
1146103003
Cr-Commit-Position: refs/heads/master@{#28531}
v8-autoroll [Thu, 21 May 2015 04:29:43 +0000 (21:29 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
dc487f429cb90cac92ec7a9cd9d49db13648064d
Rolling v8/tools/clang to
c8d44a19b3bc34fe17b9b0361edebee4b9a70fdb
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1151753004
Cr-Commit-Position: refs/heads/master@{#28530}
dehrenberg [Thu, 21 May 2015 01:38:19 +0000 (18:38 -0700)]
Re-land %TypedArray%.prototype.{map,filter,some}
Previously this patch was attempted with reduce and reduceRight included;
however, some of those tests crashed in the trybots. This version has
just map, fiter and some, together with their tests.
R=arv@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/
1145013002
Cr-Commit-Position: refs/heads/master@{#28529}
machenbach [Wed, 20 May 2015 18:33:50 +0000 (11:33 -0700)]
[test] Fix simdjs perf tests.
- Missing resource on android
- Higher timeout on arm
- Fewer runs on arm
- Drop total
BUG=v8:4124
LOG=N
NOTRY=true
TBR=bradnelson@chromium.org
Review URL: https://codereview.chromium.org/
1149723002
Cr-Commit-Position: refs/heads/master@{#28528}
bradnelson [Wed, 20 May 2015 17:06:15 +0000 (10:06 -0700)]
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}
verwaest [Wed, 20 May 2015 17:03:21 +0000 (10:03 -0700)]
Fix for-in for large indexes and indexes on proxies
BUG=v8:4130
LOG=n
Review URL: https://codereview.chromium.org/
1148863002
Cr-Commit-Position: refs/heads/master@{#28526}
mbrandy [Wed, 20 May 2015 17:02:10 +0000 (10:02 -0700)]
PPC: Cleanup interface descriptors to reflect that vectors are part of loads.
Port
09aaf003a93162420de88a5449f7de6e7eb04815
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1145223003
Cr-Commit-Position: refs/heads/master@{#28525}
bmeurer [Wed, 20 May 2015 17:01:31 +0000 (10:01 -0700)]
[turbofan] Pass deoptimization mode to type feedback specializer.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1145143002
Cr-Commit-Position: refs/heads/master@{#28524}
jkummerow [Wed, 20 May 2015 15:59:51 +0000 (08:59 -0700)]
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}
dslomov [Wed, 20 May 2015 15:05:58 +0000 (08:05 -0700)]
[destructuring] Implement spread binding patterns.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1151503002
Cr-Commit-Position: refs/heads/master@{#28522}
yangguo [Wed, 20 May 2015 14:59:01 +0000 (07:59 -0700)]
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}
mstarzinger [Wed, 20 May 2015 14:44:58 +0000 (07:44 -0700)]
Remove obsolete Code::optimizable flag.
This flag mostly duplicates SharedFunctionInfo::optimization_disabled
and is only queried in places where the original is available. Remove
the brittle and error-prone duplication.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1148043002
Cr-Commit-Position: refs/heads/master@{#28520}
danno [Wed, 20 May 2015 13:42:08 +0000 (06:42 -0700)]
Add constants for FrameState input parameters
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1144133003
Cr-Commit-Position: refs/heads/master@{#28519}