bmeurer
1dbe83d9fb
[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}
2015-05-21 13:01:55 +00:00
ulan
22b1da9973
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}
2015-05-21 12:50:24 +00:00
bradnelson
d04de62be3
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}
2015-05-21 12:49:15 +00:00
dslomov
8925b848ee
[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}
2015-05-21 12:35:54 +00:00
verwaest
16484824b6
Start adding support for elements to the LookupIterator
...
BUG=
Review URL: https://codereview.chromium.org/1144883002
Cr-Commit-Position: refs/heads/master@{#28546}
2015-05-21 12:19:23 +00:00
mstarzinger
11e1e207bc
[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}
2015-05-21 12:11:57 +00:00
mstarzinger
54b34bdd33
[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}
2015-05-21 11:40:54 +00:00
bmeurer
c9a49da0d8
[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}
2015-05-21 11:33:25 +00:00
jochen
3996dc5d60
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}
2015-05-21 11:19:13 +00:00
bbudge
ebee0aa21a
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}
2015-05-21 11:06:19 +00:00
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