Commit Graph

23032 Commits

Author SHA1 Message Date
titzer
41795b8ae2 [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}
2015-05-21 10:59:40 +00:00
yangguo
720d9c280a 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}
2015-05-21 10:35:34 +00:00
jochen
29deaef505 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}
2015-05-21 10:34:22 +00:00
ulan
57ce9724be 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}
2015-05-21 10:18:51 +00:00
jarin
d2ca18d849 [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}
2015-05-21 09:57:11 +00:00
Benedikt Meurer
f2ffa6ade5 [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}
2015-05-21 09:41:55 +00:00
arv
9502e91adb [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}
2015-05-21 08:08:55 +00:00
yangguo
e56585077b Use shared container to manage imports/exports.
Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

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

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

Cr-Commit-Position: refs/heads/master@{#28533}
2015-05-21 06:15:19 +00:00
chunyang.dai
a80d14b2b5 X87: Cleanup interface descriptors to reflect that vectors are part of loads.
port 09aaf003a9 (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}
2015-05-21 04:31:50 +00:00
chunyang.dai
5299d17733 X87: [strong] Function arity check should be based on required parameters
port 78f0452d31 (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}
2015-05-21 04:30:39 +00:00
v8-autoroll
d14a189c63 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}
2015-05-21 04:29:27 +00:00
dehrenberg
f6af3a492d 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}
2015-05-21 01:38:04 +00:00
machenbach
37706b3ddf [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}
2015-05-20 18:33:33 +00:00
bradnelson
3cc9c0e36f Skip presubmits when doing --download-data-only.
BUG=v8:4124
LOG=N
R=machenbach@chromium.org
TEST=None

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

Cr-Commit-Position: refs/heads/master@{#28527}
2015-05-20 17:06:01 +00:00
verwaest
de23dd2809 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}
2015-05-20 17:03:03 +00:00
mbrandy
b4feaaccc3 PPC: Cleanup interface descriptors to reflect that vectors are part of loads.
Port 09aaf003a9

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}
2015-05-20 17:01:49 +00:00
bmeurer
4a1ab1cac4 [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}
2015-05-20 17:01:17 +00:00
jkummerow
1ec5561685 Revert of Use shared container to manage imports/exports. (patchset #2 id:20001 of https://codereview.chromium.org/1143993003/)
Reason for revert:
Breaks nosnap bots

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

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

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

Cr-Commit-Position: refs/heads/master@{#28523}
2015-05-20 15:59:37 +00:00
dslomov
aca4735bec [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}
2015-05-20 15:05:43 +00:00
yangguo
e25058b0b7 Use shared container to manage imports/exports.
Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28521}
2015-05-20 14:58:43 +00:00
mstarzinger
794aa07283 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}
2015-05-20 14:44:46 +00:00
danno
c1253668bc Add constants for FrameState input parameters
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28519}
2015-05-20 13:41:50 +00:00
ishell
1c673a56c1 Fixed DCHECK in StoreIC::CompileHandler().
BUG=chromium:489597
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28518}
2015-05-20 13:36:27 +00:00
mbrandy
f32a3643b5 PPC: Fix '[strong] Function arity check should be based on required parameters'
lwa cannot encode unaligned displacements.  lwz is acceptable here
since the shift right will perform the sign-extension on PPC64 for us.

R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28517}
2015-05-20 13:30:29 +00:00
mvstanton
09aaf003a9 Cleanup interface descriptors to reflect that vectors are part of loads.
Also removed ornamentation like "VectorRaw" from stub names.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28516}
2015-05-20 13:18:52 +00:00
bmeurer
8236bfbae3 [turbofan] Pass deoptimization mode to intrinsic lowering.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28515}
2015-05-20 13:11:24 +00:00
bradnelson
e77c69b5ca Add perf json for simd.js benchmarks.
Using a script to generate the somewhat redundant json.

BUG=v8:4124
LOG=N
R=machenbach@chromium.org,bbudge@chromium.org
TEST=None

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

Cr-Commit-Position: refs/heads/master@{#28514}
2015-05-20 13:08:47 +00:00
hpayer
292a4b04c9 Move code around in IdleNotification.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28513}
2015-05-20 13:07:35 +00:00
hpayer
513acb41cd Reland Set lower allocation limit in idle notification only if no GC happend recently.last_gc_time_
TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=475674

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

Cr-Commit-Position: refs/heads/master@{#28512}
2015-05-20 12:59:00 +00:00
machenbach
64b1b1d130 Revert of Set lower allocation limit in idle notification only if no GC happend recently. (patchset #2 id:20001 of https://codereview.chromium.org/1143113002/)
Reason for revert:
[Sheriff] MSAN not happy:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/2352

Original issue's description:
> Set lower allocation limit in idle notification only if no GC happend recently.
>
> BUG=475674
> LOG=n
>
> Committed: https://crrev.com/35e3489e8f70c7ad5973324ad3cfa4ab27059ab4
> Cr-Commit-Position: refs/heads/master@{#28506}

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

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

Cr-Commit-Position: refs/heads/master@{#28511}
2015-05-20 12:48:55 +00:00
danno
218e101297 Generalize builtins inlining flag to allow forced inlining of any function
Review URL: https://codereview.chromium.org/1140743004

Cr-Commit-Position: refs/heads/master@{#28510}
2015-05-20 12:47:43 +00:00
jacob.bramley
8af3c3a103 ARM64: Fix some signed-unsigned comparisons from cdc43bc (r28412).
These trigger warnings on cross-builds under GCC.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28509}
2015-05-20 12:37:13 +00:00
ulan
f2f8001f1b Take freed handles into account when scheduling idle GCs.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28508}
2015-05-20 12:09:52 +00:00
jacob.bramley
f88606e25d [ARM64] [turbofan] Use 'mvn' rather than an equivalent 'orn'.
`mvn xd, xn` is an architectural alias for `orn xd, xzr, xm`, so this
doesn't change code generation at all, but it's tidier and it addresses
a TODO.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28507}
2015-05-20 11:04:22 +00:00
hpayer
35e3489e8f Set lower allocation limit in idle notification only if no GC happend recently.
BUG=475674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28506}
2015-05-20 10:59:27 +00:00
bmeurer
d3c1a7fbfc [turbofan] Add streaming operator for opcodes to ease debugging.
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28505}
2015-05-20 10:12:46 +00:00
jochen
ba0b7f060a Initialize "weakness_type" field in global handles
BUG=4122
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28504}
2015-05-20 09:47:38 +00:00
erikcorry
9ff1f53b08 Remove 64-bit unclean line from heap size estimation
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28503}
2015-05-20 09:44:06 +00:00
erikcorry
1edf51cfe6 Regularize namespace closing curlies
R=verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28502}
2015-05-20 09:42:54 +00:00
jochen
bf032c2ec8 Update ReturnValue to take non-deprecated versions of handles
R=vogelheim@chromium.org
BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28501}
2015-05-20 08:59:34 +00:00
dslomov
a38e3a4518 [destructuring] Implement BindingArrayPattern
(everything except Spread is implemeneted)

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

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

Cr-Commit-Position: refs/heads/master@{#28500}
2015-05-20 08:08:14 +00:00
yangguo
9a1490ad6f Introduce extras export object.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28499}
2015-05-20 07:38:04 +00:00
paul.lind
dd0f469da3 Fix another -Wsign-compare bug with GCC 4.9.2.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28498}
2015-05-20 07:12:47 +00:00
rossberg
2fa664fbe2 Reland "[strong] Object literals create strong objects"
(patchset #4 id:60001 of https://codereview.chromium.org/1134333005/)"

This reverts commit 81c080ef8e.
Patchset #1 is the original CL.
Patchset #2 fixes a handlification bug that caused the crash.

R=dslomov@chromium.org
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28497}
2015-05-20 07:07:42 +00:00
svenpanne
84aa494ebc Fixed various simulator-related space leaks.
Alas, this involved quite a bit of copy-n-paste between the
architectures, but this is caused by the very convoluted
relationships, lifetimes and distribution of responsibilities. This
should really be cleaned up by moving code around and using STL maps,
but that's not really a priority right now.

Bonus: Fixed leaks in the ARM64 disassembler tests.

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

Cr-Commit-Position: refs/heads/master@{#28496}
2015-05-20 05:55:45 +00:00
Daniel Ehrenberg
31fb502474 Implement %TypedArray%.{lastI,i}ndexOf
This patch adds the two TypedArray methods indexOf and lastIndexOf,
which are similar to the methods on Arrays. Tests are ported from
arrays as well.

BUG=v8:3578
LOG=Y
R=arv@chromium.org

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28495}
2015-05-20 01:09:05 +00:00
Daniel Ehrenberg
540bb0c80b Implement %TypedArray%.prototype.sort
The sort method of TypedArrays sorts in numerical order by default.
This patch implements sorting based on Arrays and adds a test.
The length of %TypedArray%.prototype.sort, like Array.prototype.sort,
seems to be unspecified in ES6, so this patch lets it have the value
1, to match our interpretation for Array.prototype.sort (though 0
would also be a sensible length).

R=arv@chromium.org
BUG=v8:3578
LOG=Y

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28494}
2015-05-20 00:56:06 +00:00
Daniel Ehrenberg
cc74268d30 Implement %TypedArray%.reverse
This patch adds the reverse method to TypedArrays, together with a
test. The test also runs for normal Arrays, since I didn't see a
test for reversing dense arrays.

BUG=v8:3578
LOG=Y
R=arv@chromium.org

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28493}
2015-05-20 00:38:49 +00:00
mbrandy
65141b68ca PPC: [strong] Function arity check should be based on required parameters
Port 78f0452d31

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.

R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28492}
2015-05-19 20:24:00 +00:00
arv
78f0452d31 [strong] Function arity check should be based on required parameters
Also check whether the arguments count is smaller than the number of
required parameters which is the same as the SharedFunctionInfo length.

BUG=v8:4102
LOG=N
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28491}
2015-05-19 18:44:05 +00:00