binji [Mon, 22 Jun 2015 17:12:26 +0000 (10:12 -0700)]
Add d8 API for spawning function on a new thread (Third try)
This API closely matches the Worker API. The differences:
1) The argument to the Worker constructor is a function to run, not a script.
2) Receiving a message from a worker is a synchronous API (as there is no event
loop).
The serialization done here is not robust as the real DOM implementation. For
example, recursive data structures or otherwise duplicated objects are not
allowed.
BUG=chromium:497295
LOG=n
Review URL: https://codereview.chromium.org/
1192923002
Cr-Commit-Position: refs/heads/master@{#29195}
arv [Mon, 22 Jun 2015 15:08:31 +0000 (08:08 -0700)]
Test262-es6 test runner should handle sloppy fail better
This adds a new FAIL_SLOPPY expected output. It then uses this to
determine if the test case has unexpected output.
BUG=v8:4164
LOG=N
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1197913002
Cr-Commit-Position: refs/heads/master@{#29194}
arv [Mon, 22 Jun 2015 14:29:52 +0000 (07:29 -0700)]
[es6] Bound function names
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function.prototype.bind
Bound functions should have a name based on the function that was
bound.
This reverts the revert
f2747ed9b48d0e62c7a30da69825ff926aeedbd2. The original
CL was reverted because the Blink layout test broke. I have a CL that disables
these tests at: https://codereview.chromium.org/
1196753003/
BUG=N
LOG=N
R=adamk
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
1195983002
Cr-Commit-Position: refs/heads/master@{#29193}
dslomov [Mon, 22 Jun 2015 14:15:53 +0000 (07:15 -0700)]
[destructuring] Implement parameter pattern matching.
Scoping for initializers is yet incorrect. Defaults are not supported.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Committed: https://crrev.com/
42f30f4ded2b1ca0c4caa7639e6206e93c78ee70
Cr-Commit-Position: refs/heads/master@{#29184}
Review URL: https://codereview.chromium.org/
1189743003
Cr-Commit-Position: refs/heads/master@{#29192}
caitpotter88 [Mon, 22 Jun 2015 13:43:16 +0000 (06:43 -0700)]
[es6] ship Rest Parameters
BUG=v8:2159
LOG=N
R=arv@chromium.org, dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1191653008
Cr-Commit-Position: refs/heads/master@{#29191}
jochen [Mon, 22 Jun 2015 13:24:40 +0000 (06:24 -0700)]
Keep track of ArrayBuffers based on collector type, not space
Since Mark/Compact also collects garbage in the new space, we can't just
free old space ArrayBuffers during MC - otherwise we run the risk of
never freeing new array buffers
BUG=v8:4201
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1199913002
Cr-Commit-Position: refs/heads/master@{#29190}
machenbach [Mon, 22 Jun 2015 13:17:18 +0000 (06:17 -0700)]
[android] Merge gyp configurations.
The merge makes it possible to reuse variables from the
android configuration in standalone.gypi.
BUG=chromium:502176
LOG=n
Review URL: https://codereview.chromium.org/
1196253002
Cr-Commit-Position: refs/heads/master@{#29189}
machenbach [Mon, 22 Jun 2015 13:14:13 +0000 (06:14 -0700)]
Revert of [destructuring] Implement parameter pattern matching. (patchset #7 id:120001 of https://codereview.chromium.org/
1189743003/)
Reason for revert:
[Sheriff] Breaks tsan:
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/4392
Original issue's description:
> [destructuring] Implement parameter pattern matching.
>
> Scoping for initializers is yet incorrect. Defaults are not supported.
>
> R=arv@chromium.org,rossberg@chromium.org
> BUG=v8:811
> LOG=N
>
> Committed: https://crrev.com/
42f30f4ded2b1ca0c4caa7639e6206e93c78ee70
> Cr-Commit-Position: refs/heads/master@{#29184}
TBR=arv@chromium.org,rossberg@chromium.org,caitpotter88@gmail.com,wingo@igalia.com,dslomov@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:811
Review URL: https://codereview.chromium.org/
1195163007
Cr-Commit-Position: refs/heads/master@{#29188}
mstarzinger [Mon, 22 Jun 2015 12:15:55 +0000 (05:15 -0700)]
[turbofan] Add CodeFactory::Instanceof helper.
R=mvstanton@chromium.org
TEST=cctest/test-run-jsops/BinopInstanceOf
Review URL: https://codereview.chromium.org/
1196213004
Cr-Commit-Position: refs/heads/master@{#29187}
ben [Mon, 22 Jun 2015 12:13:52 +0000 (05:13 -0700)]
Use optparse in js2c.py for python compatibility
Without this change, V8 won't build on RHEL/CentOS 6 because the distro
python is too old to know about the argparse module.
Can this commit be cherry-picked to the 4.4 branch? It should apply
cleanly.
BUG=
Review URL: https://codereview.chromium.org/
1192973004
Cr-Commit-Position: refs/heads/master@{#29186}
bmeurer [Mon, 22 Jun 2015 12:08:05 +0000 (05:08 -0700)]
[turbofan] Revive the VectorSlotPair and also put feedback on JSCallFunction.
We resurrect the VectorSlotPair in order to be able to separate the
feedback input for the compiler from the actual type feedback vector
that is required to meet the IC requirements at runtime. This will allow
us to for example use feedback from a different context or divide the
type feedback vector into two separate vectors, without having to touch
the compiler. It'll allow use to load the vector from the shared
function info at runtime, while still consuming feedback in the
compiler (i.e. we don't rely on the feedback vector node to be a heap
constant).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1198983002
Cr-Commit-Position: refs/heads/master@{#29185}
dslomov [Mon, 22 Jun 2015 12:06:55 +0000 (05:06 -0700)]
[destructuring] Implement parameter pattern matching.
Scoping for initializers is yet incorrect. Defaults are not supported.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/
1189743003
Cr-Commit-Position: refs/heads/master@{#29184}
machenbach [Mon, 22 Jun 2015 11:32:03 +0000 (04:32 -0700)]
[android] Add toolchain path logic to gyp config.
BUG=chromium:502176
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1197703004
Cr-Commit-Position: refs/heads/master@{#29183}
verwaest [Mon, 22 Jun 2015 11:24:03 +0000 (04:24 -0700)]
Move SetFastDoubleElementsCapacity into GrowCapacityAndConvert
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1193343002
Cr-Commit-Position: refs/heads/master@{#29182}
verwaest [Mon, 22 Jun 2015 10:48:53 +0000 (03:48 -0700)]
Remove broken optimization unwrapping number wrappers on setting array.length
Can't imagine it's very useful; lets restore/fix once it becomes relevant
BUG=
Review URL: https://codereview.chromium.org/
1198253002
Cr-Commit-Position: refs/heads/master@{#29181}
verwaest [Mon, 22 Jun 2015 10:44:11 +0000 (03:44 -0700)]
Get rid of JSArray::Expand and friends
BUG=
Review URL: https://codereview.chromium.org/
1194943004
Cr-Commit-Position: refs/heads/master@{#29180}
yangguo [Mon, 22 Jun 2015 09:56:28 +0000 (02:56 -0700)]
Do not look for existing shared function info when compiling a new script.
LOG=N
BUG=chromium:502908
Review URL: https://codereview.chromium.org/
1196223002
Cr-Commit-Position: refs/heads/master@{#29179}
bmeurer [Mon, 22 Jun 2015 09:15:52 +0000 (02:15 -0700)]
[turbofan] Some cleanup to the Typer.
This change does the following:
a.) Remove unused fields from the Typer.
b.) Move some interesting unions to types.h.
c.) Reduce Typer constructor overhead.
d.) Avoid heap allocation in the Typer.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1199903002
Cr-Commit-Position: refs/heads/master@{#29178}
mstarzinger [Mon, 22 Jun 2015 08:25:34 +0000 (01:25 -0700)]
Fix terrible interaction with code flushing.
This fixes a terrible interaction of code flushing and the clearing of
optimized code maps hanging off a SharedFunctionInfo. The following is
what happened:
1) Incremental marking cleared map in SharedFunctionInfo s, however it
was not enqueued as a flushing candidate because one JSFunction f1
still had optimized code.
2) Deoptimization of f1 made s eligible for code flushing.
3) Optimization of f2 added new entry to optimized code map of s.
4) The JSFunction f2 became unreachable and hence is never marked.
5) Incremental marking now visits f1, finds it eligible for flushing,
also s is eligible for flushing, both are enqueued.
6) Marking finishes, code flusher clears f1 and s, but the optimized
code map of s still contains an entry.
7) Boom!
R=ulan@chromium.org,hpayer@chromium.org
TEST=mjsunit/es6/generators-iteration
BUG=v8:3803
LOG=N
Review URL: https://codereview.chromium.org/
1197713004
Cr-Commit-Position: refs/heads/master@{#29177}
Benedikt Meurer [Mon, 22 Jun 2015 08:14:23 +0000 (10:14 +0200)]
[turbofan] Run context specialization, inlining and initial DCE in one pass.
This is another missing piece in the puzzle towards general inlining.
The fact that we can combine this with context specialization is a nice
bonus, and not necessarily a requirement.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1198193002.
Cr-Commit-Position: refs/heads/master@{#29176}
mvstanton [Mon, 22 Jun 2015 07:05:14 +0000 (00:05 -0700)]
Built-in apply() performance benefits from an uninitialized IC.
BUG=
Review URL: https://codereview.chromium.org/
1180713007
Cr-Commit-Position: refs/heads/master@{#29175}
bmeurer [Mon, 22 Jun 2015 07:04:03 +0000 (00:04 -0700)]
[turbofan] Run DeadCodeElimination as part of the generic lowering phase.
This way we don't need the separate late control reduction pass over the
graph, plus we can also reduce dead code recognized by generic lowering.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1198923002
Cr-Commit-Position: refs/heads/master@{#29174}
mvstanton [Sun, 21 Jun 2015 13:55:16 +0000 (06:55 -0700)]
Vector ICs: Turbofan vector store ic support
Turbofan needs to pass vector slots around for named and keyed stores.
Also, the CL addresses a missing slot for ClassLiterals.
BUG=
Review URL: https://codereview.chromium.org/
1178363002
Cr-Commit-Position: refs/heads/master@{#29173}
v8-autoroll [Sat, 20 Jun 2015 08:09:22 +0000 (01:09 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
ecc8e253abac3b6186a97573871a084f4c0ca3ae
Rolling v8/tools/clang to
73ec8804ed395b0886d6edf82a9f33583f4a7902
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1195673003
Cr-Commit-Position: refs/heads/master@{#29172}
machenbach [Sat, 20 Jun 2015 07:25:20 +0000 (00:25 -0700)]
Revert of Ship Harmony Array/TypedArray methods (patchset #6 id:100001 of https://codereview.chromium.org/
1187543003/)
Reason for revert:
[Sheriff] Breaks gcstress and mac asan:
http://build.chromium.org/p/client.v8/builders/V8%20GC%20Stress%20-%203/builds/3896
http://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/1774
Original issue's description:
> Ship Harmony Array/TypedArray methods
>
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
> BUG=v8:3578
> LOG=Y
> R=adamk
>
> Committed: https://crrev.com/
7142b0d211b732e1c119fded80f43fbbd9cea0f8
> Cr-Commit-Position: refs/heads/master@{#29170}
TBR=adamk@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3578
Review URL: https://codereview.chromium.org/
1195163002
Cr-Commit-Position: refs/heads/master@{#29171}
littledan [Sat, 20 Jun 2015 00:01:46 +0000 (17:01 -0700)]
Ship Harmony Array/TypedArray methods
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=v8:3578
LOG=Y
R=adamk
Review URL: https://codereview.chromium.org/
1187543003
Cr-Commit-Position: refs/heads/master@{#29170}
caitpotter88 [Fri, 19 Jun 2015 22:18:18 +0000 (15:18 -0700)]
[es6] throw TypeError when setting cyclic prototype value
Object.setPrototypeOf() throws a TypeError if value would create a
cycle. Previously a plain Error was thrown rather than a TypeError.
BUG=v8:4197
R=mike@bocoup.com
LOG=N
Review URL: https://codereview.chromium.org/
1198523002
Cr-Commit-Position: refs/heads/master@{#29169}
arv [Fri, 19 Jun 2015 20:40:38 +0000 (13:40 -0700)]
[es6] Ship spread
This enables both --harmony-spreadcalls and --harmony-spread-arrays
BUG=v8:3018
LOG=N
R=caitpotter88@gmail.com, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
1177223005
Cr-Commit-Position: refs/heads/master@{#29168}
wingo [Fri, 19 Jun 2015 19:55:06 +0000 (12:55 -0700)]
Ship arrow functions
R=rossberg@chromium.org
LOG=Y
BUG=v8:2700
Review URL: https://codereview.chromium.org/
1194873002
Cr-Commit-Position: refs/heads/master@{#29167}
conradw [Fri, 19 Jun 2015 19:00:45 +0000 (12:00 -0700)]
Revert relanded strong property access CL
Reason:
Regressions in various benchmarks.
Revert "Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/
1189153002/)"
This reverts commit
41405c0470d5b30ec5d22665ed9430c46b33624f.
Revert "X87: Revert of Revert of [strong] Implement strong mode restrictions on property access."
This reverts commit
48de5f4d6b356d8da9db4afa68814df28e4b575d.
Revert "Fix overlapping KeyedLoadIC bitfield."
This reverts commit
4e6c956abfbfcd8ae193e6bb279cf96997b14e20.
Revert "MIPS64: Fix 'Revert of Revert of [strong] Implement strong mode restrictions on property access'."
This reverts commit
74f97b0d2a4a5102c2817c95139e94ebae900377.
BUG=
Review URL: https://codereview.chromium.org/
1199493002
Cr-Commit-Position: refs/heads/master@{#29166}
verwaest [Fri, 19 Jun 2015 18:59:11 +0000 (11:59 -0700)]
Inline SetLengthWithoutNormalize into its callers
BUG=
Review URL: https://codereview.chromium.org/
1194943002
Cr-Commit-Position: refs/heads/master@{#29165}
arv [Fri, 19 Jun 2015 18:58:05 +0000 (11:58 -0700)]
Test262 update 2015-06-11 (Take 3)
This reverts commit
72bb369d08e8d141f77c0c05f95cf8ed7ac5a9ec.
Always skip slow tests.
Also, some eval tests are failing in strict mode with nosnap
BUG=N
LOG=N
R=adamk@chromium.org, littledan@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1190063002
Cr-Commit-Position: refs/heads/master@{#29164}
Djordje.Pesic [Fri, 19 Jun 2015 18:56:56 +0000 (11:56 -0700)]
MIPS: Added data tracing to simulator
Added memory and register data tracing to mips32 simulator
Review URL: https://codereview.chromium.org/
1195783002
Cr-Commit-Position: refs/heads/master@{#29163}
mstarzinger [Fri, 19 Jun 2015 18:55:47 +0000 (11:55 -0700)]
Remove deprecated SharedFunctionInfo::dont_cache predicate.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1187563011
Cr-Commit-Position: refs/heads/master@{#29162}
binji [Fri, 19 Jun 2015 18:33:57 +0000 (11:33 -0700)]
Revert of Add d8 API for spawning function on a new thread (Second try) (patchset #3 id:60001 of https://codereview.chromium.org/
1195613003/)
Reason for revert:
Fails on V8 Linux - isolates (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20isolates/builds/4128)
Original issue's description:
> Add d8 API for spawning function on a new thread (Second try)
>
> This API closely matches the Worker API. The differences:
>
> 1) The argument to the Worker constructor is a function to run, not a script.
> 2) Receiving a message from a worker is a synchronous API (as there is no event
> loop).
>
> The serialization done here is not robust as the real DOM implementation. For
> example, recursive data structures or otherwise duplicated objects are not
> allowed.
>
> BUG=chromium:497295
> R=jochen@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
1185643004
>
> Cr-Commit-Position: refs/heads/master@{#29126}
>
> Committed: https://crrev.com/
ec2eaf712ecee6b4891c0458f2397e04a1f9b339
> Cr-Commit-Position: refs/heads/master@{#29158}
TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:497295
Review URL: https://codereview.chromium.org/
1191373005
Cr-Commit-Position: refs/heads/master@{#29161}
arv [Fri, 19 Jun 2015 18:25:23 +0000 (11:25 -0700)]
Revert of Additional HandleScopes to limit Handle consumption. (patchset #4 id:50001 of https://codereview.chromium.org/
1185633002/)
Reason for revert:
Fails the following test
handle-count-ast
handle-count-runtime-...
on V8 Linux - nosnap - debug - 1
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%201/builds/851/steps/Check/logs/stdio
Original issue's description:
> Additional HandleScopes to limit Handle consumption.
>
> erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests.
>
> The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176.
>
> No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos:
>
> Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope.
> SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc
>
> http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296)
> http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274)
> https://dl.dropboxusercontent.com/u/
16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408)
> https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058)
>
> BUG=
>
> Committed: https://crrev.com/
3a4c7538839186aa38910c66c986abb563f4ccd2
> Cr-Commit-Position: refs/heads/master@{#29155}
TBR=yangguo@chromium.org,erikcorry@chromium.org,oth@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1194873004
Cr-Commit-Position: refs/heads/master@{#29160}
binji [Fri, 19 Jun 2015 16:14:03 +0000 (09:14 -0700)]
Fix cluster-fuzz bug introduced in refs/heads/master@{#28796}
Don't DCHECK in the atomic runtime functions.
BUG=chromium:501809,chromium:497295
R=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1189223003
Cr-Commit-Position: refs/heads/master@{#29159}
binji [Fri, 19 Jun 2015 16:12:58 +0000 (09:12 -0700)]
Add d8 API for spawning function on a new thread (Second try)
This API closely matches the Worker API. The differences:
1) The argument to the Worker constructor is a function to run, not a script.
2) Receiving a message from a worker is a synchronous API (as there is no event
loop).
The serialization done here is not robust as the real DOM implementation. For
example, recursive data structures or otherwise duplicated objects are not
allowed.
BUG=chromium:497295
R=jochen@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1185643004
Cr-Commit-Position: refs/heads/master@{#29126}
Review URL: https://codereview.chromium.org/
1195613003
Cr-Commit-Position: refs/heads/master@{#29158}
dusan.milosavljevic [Fri, 19 Jun 2015 16:11:42 +0000 (09:11 -0700)]
MIPS64: Fix random failures of fannkuch.js.
TEST=mjsunit/asm/embenchen/fannkuch,
mjsunit/math-abs
BUG=
Review URL: https://codereview.chromium.org/
1192413002
Cr-Commit-Position: refs/heads/master@{#29157}
balazs.kilvady [Fri, 19 Jun 2015 16:10:32 +0000 (09:10 -0700)]
MIPS64: Fix 'Revert of Revert of [strong] Implement strong mode restrictions on property access'.
Port
41405c0470d5b30ec5d22665ed9430c46b33624f
TEST=mjsunit/strong/load-property-mutate-backing-store, mjsunit/call-stub
BUG=
Review URL: https://codereview.chromium.org/
1191333003
Cr-Commit-Position: refs/heads/master@{#29156}
oth [Fri, 19 Jun 2015 16:04:13 +0000 (09:04 -0700)]
Additional HandleScopes to limit Handle consumption.
erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests.
The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176.
No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos:
Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope.
SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc
http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296)
http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274)
https://dl.dropboxusercontent.com/u/
16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408)
https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058)
BUG=
Review URL: https://codereview.chromium.org/
1185633002
Cr-Commit-Position: refs/heads/master@{#29155}
verwaest [Fri, 19 Jun 2015 15:27:40 +0000 (08:27 -0700)]
Add fast path for setting array.length
BUG=
Review URL: https://codereview.chromium.org/
1195823002
Cr-Commit-Position: refs/heads/master@{#29154}
wingo [Fri, 19 Jun 2015 15:10:01 +0000 (08:10 -0700)]
Better error reporting for "return();"
R=rossberg@chromium.org
BUG=v8:4194
LOG=N
Review URL: https://codereview.chromium.org/
1191303002
Cr-Commit-Position: refs/heads/master@{#29153}
verwaest [Fri, 19 Jun 2015 14:56:57 +0000 (07:56 -0700)]
More cleanup related to setting array.length
BUG=
Review URL: https://codereview.chromium.org/
1191313003
Cr-Commit-Position: refs/heads/master@{#29152}
yangguo [Fri, 19 Jun 2015 14:40:22 +0000 (07:40 -0700)]
Keep a canonical list of shared function infos.
Each Script object now keeps a WeakFixedArray of SharedFunctionInfo
objects created from this script.
This way, when compiling a function, we do not create duplicate shared
function info objects when recompiling with either compiler.
This fixes a class of issues in the debugger, where we set break points
on one shared function info, but functions from duplicate shared function
infos are not affected.
LOG=N
BUG=v8:4132
Review URL: https://codereview.chromium.org/
1183733006
Cr-Commit-Position: refs/heads/master@{#29151}
caitpotter88 [Fri, 19 Jun 2015 14:39:05 +0000 (07:39 -0700)]
[es6] ship Object.assign
BUG=v8:4007
LOG=N
R=rossberg@chromium.org, arv@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Committed: https://crrev.com/
12e194860a56d47a10d89ae34761a4af6b6166bb
Cr-Commit-Position: refs/heads/master@{#29118}
Review URL: https://codereview.chromium.org/
1191003003
Cr-Commit-Position: refs/heads/master@{#29150}
bmeurer [Fri, 19 Jun 2015 14:02:28 +0000 (07:02 -0700)]
[turbofan] Preserve Bounds when cloning nodes in the scheduler.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1196613003
Cr-Commit-Position: refs/heads/master@{#29149}
conradw [Fri, 19 Jun 2015 13:37:44 +0000 (06:37 -0700)]
Fix overlapping KeyedLoadIC bitfield.
BUG=
LOG=N
Review URL: https://codereview.chromium.org/
1192383003
Cr-Commit-Position: refs/heads/master@{#29148}
bmeurer [Fri, 19 Jun 2015 12:48:58 +0000 (05:48 -0700)]
[ubsan] Fix HeapObjectMatcher to avoid invalid casts.
BUG=v8:3809
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1196623002
Cr-Commit-Position: refs/heads/master@{#29147}
bmeurer [Fri, 19 Jun 2015 12:07:17 +0000 (05:07 -0700)]
[turbofan] Proper dead code elimination as regular reducer.
The three different concerns that the ControlReducer used to deal with
are now properly separated into
a.) DeadCodeElimination, which is a regular AdvancedReducer, that
propagates Dead via control edges,
b.) CommonOperatorReducer, which does strength reduction on common
operators (i.e. Branch, Phi, and friends), and
c.) GraphTrimming, which removes dead->live edges from the graph.
This will make it possible to run the DeadCodeElimination together with
other passes that actually introduce Dead nodes, i.e. typed lowering;
and it opens the door for general inlining without two stage fix point
iteration.
To make the DeadCodeElimination easier and more uniform, we basically
reverted the introduction of DeadValue and DeadEffect, and changed the
Dead operator to produce control, value and effect. Note however that
this is not a requirement, but merely a way to make dead propagation
easier and more uniform. We could always go back and decide to have
different Dead operators if some other change requires that.
Note that there are several additional opportunities for cleanup now,
i.e. OSR deconstruction could be a regular reducer now, and we don't
need to use TheHole as dead value marker in the GraphReducer. And we can
actually run the dead code elimination together with the other passes
instead of using separate passes over the graph. We will do this in
follow up CLs.
R=jarin@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1193833002
Cr-Commit-Position: refs/heads/master@{#29146}
mstarzinger [Fri, 19 Jun 2015 11:40:54 +0000 (04:40 -0700)]
[turbofan] Disable failing DeoptExceptionHandlerFinally test.
R=jarin@chromium.org
TEST=cctest/test-run-deopt/DeoptExceptionHandlerFinally
BUG=v8:4195
LOG=N
Review URL: https://codereview.chromium.org/
1189373003
Cr-Commit-Position: refs/heads/master@{#29145}
verwaest [Fri, 19 Jun 2015 11:21:26 +0000 (04:21 -0700)]
Split setting array length from handling new Array(non-number)
BUG=
Review URL: https://codereview.chromium.org/
1193673002
Cr-Commit-Position: refs/heads/master@{#29144}
Ilija.Pavlovic [Fri, 19 Jun 2015 11:05:59 +0000 (04:05 -0700)]
MIPS: Implemented PC-relative instructions for R6.
Added: JIC, BEQZC, JIALC, LDPC, LWPC, ALUIPC, ADDIUPC, ALIGN/DAILGN, LWUPC,
AUIPC, BC, BALC. Additional fixed compact branch offset.
TEST=test-assembler-mips[64]/r6_align, r6_dalign, r6_aluipc, r6_lwpc, r6_jic,
r6_beqzc, r6_jialc, r6_addiupc, r6_ldpc, r6_lwupc,
r6_auipc, r6_bc, r6_balc
BUG=
Review URL: https://codereview.chromium.org/
1195793002
Cr-Commit-Position: refs/heads/master@{#29143}
verwaest [Fri, 19 Jun 2015 10:41:52 +0000 (03:41 -0700)]
Don't roundtrip to JS to update the length. This is 1) faster (although we don't care) and 2) avoids stackchecks that otherwise make the .Assert fail on stack overflow.
BUG=chromium:502147
LOG=n
Review URL: https://codereview.chromium.org/
1189423002
Cr-Commit-Position: refs/heads/master@{#29142}
rmcilroy [Fri, 19 Jun 2015 10:40:41 +0000 (03:40 -0700)]
[tools] Add gc-nvp-to-csv.py script.
Adds a script for converting gc nvp output into csv files. Factors out common
code in gc-nvp-trace-processor.py to gc_nvp_common.py to be shared by both
scripts. Fixes a couple of issues in nvp parsing code.
Review URL: https://codereview.chromium.org/
1175113008
Cr-Commit-Position: refs/heads/master@{#29141}
hablich [Fri, 19 Jun 2015 09:32:37 +0000 (02:32 -0700)]
Revert of [release-tools] Fix possible race condition in retrieval of latest rolled version (patchset #2 id:20001 of https://codereview.chromium.org/
1186393007/)
Reason for revert:
Build slave fetches git repo from cache not from real repo.
Original issue's description:
> [release-tools] Fix possible race condition in retrieval of latest rolled version
>
> R=machenbach@chromium.org
> BUG=
> NOTRY=true
>
> Committed: https://crrev.com/
5d2a85b2450f9f88a94949052c5b055c1304b9b8
> Cr-Commit-Position: refs/heads/master@{#29137}
TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1195693003
Cr-Commit-Position: refs/heads/master@{#29140}
verwaest [Fri, 19 Jun 2015 09:25:16 +0000 (02:25 -0700)]
Remove handles from ElementsAccessor::Set and friends
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1196543003
Cr-Commit-Position: refs/heads/master@{#29139}
machenbach [Fri, 19 Jun 2015 09:17:37 +0000 (02:17 -0700)]
[android] Bump up toolchain version.
BUG=chromium:502176
LOG=n
Review URL: https://codereview.chromium.org/
1193843002
Cr-Commit-Position: refs/heads/master@{#29138}
hablich [Fri, 19 Jun 2015 09:11:49 +0000 (02:11 -0700)]
[release-tools] Fix possible race condition in retrieval of latest rolled version
R=machenbach@chromium.org
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/
1186393007
Cr-Commit-Position: refs/heads/master@{#29137}
yangguo [Fri, 19 Jun 2015 09:07:23 +0000 (02:07 -0700)]
Serializer: do not miss outdated contexts if they are serialized deferred.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
1189183002
Cr-Commit-Position: refs/heads/master@{#29136}
yangguo [Fri, 19 Jun 2015 08:31:22 +0000 (01:31 -0700)]
Protect error message formatter against invalid string length.
R=mstarzinger@chromium.org
BUG=chromium:500980
LOG=N
Review URL: https://codereview.chromium.org/
1191263002
Cr-Commit-Position: refs/heads/master@{#29135}
yangguo [Fri, 19 Jun 2015 08:07:01 +0000 (01:07 -0700)]
Serialzier: expand string table as last step before deserializing.
Not doing so could result in this scenario:
- We ensure that the string table is large enough. It is.
- We compile code stubs, which triggers a GC.
- The GC clears string table entries.
- This increases the number of deleted entries in the table.
- When the deserializer hooks up internalized strings into the
table, we ensure that the table is large enough every time.
- Due to changed number of deleted entries, the heuristic
decides to expand the string table.
- Allocation during deserialization causes assertion to fail.
BUG=chromium:502085
LOG=N
Review URL: https://codereview.chromium.org/
1197633002
Cr-Commit-Position: refs/heads/master@{#29134}
chunyang.dai [Fri, 19 Jun 2015 07:20:28 +0000 (00:20 -0700)]
X87: Revert of Revert of [strong] Implement strong mode restrictions on property access.
port
41405c0470d5b30ec5d22665ed9430c46b33624f (r29122).
fix spelling error in r29122.
BUG=
Review URL: https://codereview.chromium.org/
1197593002
Cr-Commit-Position: refs/heads/master@{#29133}
ulan [Fri, 19 Jun 2015 04:54:43 +0000 (21:54 -0700)]
ARM: make predictable code size scope more precise in DoDeferredInstanceOfKnownGlobal.
We block constant pool up to the call stub instruction, but the check for code size
includes the next instruction after the call instruction. That instruction can
emit constant pool.
BUG=chromium:500831
LOG=NO
TEST=mjsunit/regress/regress-500831
Review URL: https://codereview.chromium.org/
1189123003
Cr-Commit-Position: refs/heads/master@{#29132}
v8-autoroll [Fri, 19 Jun 2015 03:27:35 +0000 (20:27 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
5122240c5e5c4d8da12c543d82b03d6089eb77c5
Rolling v8/third_party/icu to
00af1a4e512477e48ba3d5efc97adbc95462685e
Rolling v8/tools/clang to
d2b4eddd701ff0265124147bcb0a65f32273f06b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1192743002
Cr-Commit-Position: refs/heads/master@{#29131}
binji [Thu, 18 Jun 2015 20:50:22 +0000 (13:50 -0700)]
Revert of Add d8 API for spawning function on a new thread. (patchset #6 id:100001 of https://codereview.chromium.org/
1185643004/)
Reason for revert:
Fails on V8 Win32 - nosnap - shared (http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/7427)
Fails on V8 Arm - debug builder (http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/4361)
Fails on V8 Linux - shared (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4430)
Original issue's description:
> Add d8 API for spawning function on a new thread.
>
> This API closely matches the Worker API. The differences:
>
> 1) The argument to the Worker constructor is a function to run, not a script.
> 2) Receiving a message from a worker is a synchronous API (as there is no event
> loop).
>
> The serialization done here is not robust as the real DOM implementation. For
> example, recursive data structures or otherwise duplicated objects are not
> allowed.
>
> BUG=none
> R=jochen@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
3d98b956b56fa283b40913788ff760022d478812
> Cr-Commit-Position: refs/heads/master@{#29126}
TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none
Review URL: https://codereview.chromium.org/
1192193002
Cr-Commit-Position: refs/heads/master@{#29130}
verwaest [Thu, 18 Jun 2015 19:49:31 +0000 (12:49 -0700)]
Cleanup typed array setters, the property is guaranteed to be there.
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1180753005
Cr-Commit-Position: refs/heads/master@{#29129}
balazs.kilvady [Thu, 18 Jun 2015 19:48:23 +0000 (12:48 -0700)]
MIPS: Fix unaligned double access in cctest/test-simplified-lowering/RunAccessTests_float64.
TEST=cctest/test-simplified-lowering/RunAccessTests_float64
BUG=
Review URL: https://codereview.chromium.org/
1182713004
Cr-Commit-Position: refs/heads/master@{#29128}
caitpotter88 [Thu, 18 Jun 2015 19:47:16 +0000 (12:47 -0700)]
[es6] fix IsConcatSpreadable() algorithm in runtime-array.cc
The ordering of the "IsArray()" check for IsConcatSpreadable() was incorrect previously --- IsArray() is only used if Get(O, @@isConcatSpreadable) is undefined. Without this fix, it's not possible for Array subclasses to opt out of spreading
22.1.3.1.1 http://www.ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable
BUG=v8:3764
LOG=N
R=arv@chromium.org, dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1192153002
Cr-Commit-Position: refs/heads/master@{#29127}
binji [Thu, 18 Jun 2015 19:46:05 +0000 (12:46 -0700)]
Add d8 API for spawning function on a new thread.
This API closely matches the Worker API. The differences:
1) The argument to the Worker constructor is a function to run, not a script.
2) Receiving a message from a worker is a synchronous API (as there is no event
loop).
The serialization done here is not robust as the real DOM implementation. For
example, recursive data structures or otherwise duplicated objects are not
allowed.
BUG=none
R=jochen@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1185643004
Cr-Commit-Position: refs/heads/master@{#29126}
machenbach [Thu, 18 Jun 2015 19:39:41 +0000 (12:39 -0700)]
Revert of Ship arrow functions (patchset #1 id:1 of https://codereview.chromium.org/
1187173004/)
Reason for revert:
[Sheriff] Breaks layout tests. Please submit a needsmanualrebaseline change on the blink side for the expectations if intended.
E.g.
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/545
Original issue's description:
> Ship arrow functions
>
> R=rossberg@chromium.org
> LOG=Y
> BUG=v8:2700
>
> Committed: https://crrev.com/
541b6c39e0ecae1c070f51fae8e9e3dab18d278c
> Cr-Commit-Position: refs/heads/master@{#29119}
TBR=rossberg@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:2700
Review URL: https://codereview.chromium.org/
1182053013
Cr-Commit-Position: refs/heads/master@{#29125}
caitpotter88 [Thu, 18 Jun 2015 19:15:20 +0000 (12:15 -0700)]
Revert of [es6] ship Object.assign (patchset #2 id:20001 of https://codereview.chromium.org/
1191003003/)
Reason for revert:
Seems to break asan somehow
Original issue's description:
> [es6] ship Object.assign
>
> BUG=v8:4007
> LOG=N
> R=rossberg@chromium.org, arv@chromium.org
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/
12e194860a56d47a10d89ae34761a4af6b6166bb
> Cr-Commit-Position: refs/heads/master@{#29118}
TBR=arv@chromium.org,dslomov@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4007
Review URL: https://codereview.chromium.org/
1191593005
Cr-Commit-Position: refs/heads/master@{#29124}
hpayer [Thu, 18 Jun 2015 18:04:46 +0000 (11:04 -0700)]
Revert of Re-land new insertion write barrier. (patchset #3 id:40001 of https://codereview.chromium.org/
1153233003/)
Reason for revert:
Deoptimizer crashes.
Original issue's description:
> Re-land new insertion write barrier.
>
> BUG=
>
> Committed: https://crrev.com/
72f850458cb530d871cf3fb6442660555dc51bc2
> Cr-Commit-Position: refs/heads/master@{#29052}
TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1176243015
Cr-Commit-Position: refs/heads/master@{#29123}
conradw [Thu, 18 Jun 2015 17:16:45 +0000 (10:16 -0700)]
Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/
1189153002/)
Reason for revert:
Issue was ultimately caused/fixed by https://codereview.chromium.org/
1194673002/
Original issue's description:
> Revert of [strong] Implement strong mode restrictions on property access (patchset #23 id:460001 of https://codereview.chromium.org/
1168093002/)
>
> Reason for revert:
> Speculative revert, maybe breaks GC-stress
>
> http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/808
>
> Original issue's description:
> > [strong] Implement strong mode restrictions on property access
> >
> > Implements the strong mode proposal's restrictions on property access.
> >
> > To be fully explored in a followup: proxies, interceptors, access checks, load from super
> >
> > BUG=v8:3956
> > LOG=N
> >
> > Committed: https://crrev.com/
85dbfb9a389e7b21bd2a63862202ee97fc5d7982
> > Cr-Commit-Position: refs/heads/master@{#29109}
>
> TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3956
>
> Committed: https://crrev.com/
407657b706711fd5f8d417841e24b284886f3776
> Cr-Commit-Position: refs/heads/master@{#29115}
TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1185343005
Cr-Commit-Position: refs/heads/master@{#29122}
ulan [Thu, 18 Jun 2015 15:51:53 +0000 (08:51 -0700)]
Revert of Replace ad-hoc weakness in transition array with WeakCell. (patchset #5 id:80001 of https://codereview.chromium.org/
1157943003/)
Reason for revert:
Breaks descriptor array clearing.
Original issue's description:
> Replace ad-hoc weakness in transition array with WeakCell.
>
> BUG=
>
> Committed: https://crrev.com/
885455e99de817f86a0b5df2dc0d932cfc179749
> Cr-Commit-Position: refs/heads/master@{#29083}
TBR=jkummerow@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1194673002
Cr-Commit-Position: refs/heads/master@{#29121}
ulan [Thu, 18 Jun 2015 15:45:17 +0000 (08:45 -0700)]
ARM64: remove stack pushes without frame in RegExpExecStub.
RegExpExecStub pushes callee-saved registers without setting up a frame. This confuses the stack iterator.
Other architectures do not save these registers.
BUG=chromium:487981
LOG=NO
TEST=mjsunit/regress/regress-487981
Review URL: https://codereview.chromium.org/
1183593005
Cr-Commit-Position: refs/heads/master@{#29120}
wingo [Thu, 18 Jun 2015 15:13:42 +0000 (08:13 -0700)]
Ship arrow functions
R=rossberg@chromium.org
LOG=Y
BUG=v8:2700
Review URL: https://codereview.chromium.org/
1187173004
Cr-Commit-Position: refs/heads/master@{#29119}
caitpotter88 [Thu, 18 Jun 2015 14:56:07 +0000 (07:56 -0700)]
[es6] ship Object.assign
BUG=v8:4007
LOG=N
R=rossberg@chromium.org, arv@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
1191003003
Cr-Commit-Position: refs/heads/master@{#29118}
bmeurer [Thu, 18 Jun 2015 14:51:36 +0000 (07:51 -0700)]
[turbofan] Deslowify the GraphTrimmer in debug mode.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1189943005
Cr-Commit-Position: refs/heads/master@{#29117}
verwaest [Thu, 18 Jun 2015 14:39:02 +0000 (07:39 -0700)]
Cleanup INTEGER_INDEXED_EXOTIC handling a bit
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1191813003
Cr-Commit-Position: refs/heads/master@{#29116}
conradw [Thu, 18 Jun 2015 13:40:06 +0000 (06:40 -0700)]
Revert of [strong] Implement strong mode restrictions on property access (patchset #23 id:460001 of https://codereview.chromium.org/
1168093002/)
Reason for revert:
Speculative revert, maybe breaks GC-stress
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/808
Original issue's description:
> [strong] Implement strong mode restrictions on property access
>
> Implements the strong mode proposal's restrictions on property access.
>
> To be fully explored in a followup: proxies, interceptors, access checks, load from super
>
> BUG=v8:3956
> LOG=N
>
> Committed: https://crrev.com/
85dbfb9a389e7b21bd2a63862202ee97fc5d7982
> Cr-Commit-Position: refs/heads/master@{#29109}
TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3956
Review URL: https://codereview.chromium.org/
1189153002
Cr-Commit-Position: refs/heads/master@{#29115}
verwaest [Thu, 18 Jun 2015 12:56:48 +0000 (05:56 -0700)]
Minor cleanup in element handling
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1190143002
Cr-Commit-Position: refs/heads/master@{#29114}
verwaest [Thu, 18 Jun 2015 12:51:49 +0000 (05:51 -0700)]
Return void from array setters since the return value needs to be ignored
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1188073003
Cr-Commit-Position: refs/heads/master@{#29113}
machenbach [Thu, 18 Jun 2015 12:43:34 +0000 (05:43 -0700)]
[test] Extend clusterfuzz check with more jobs.
BUG=chromium:493043
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1196453002
Cr-Commit-Position: refs/heads/master@{#29112}
verwaest [Thu, 18 Jun 2015 12:20:54 +0000 (05:20 -0700)]
More cleanly separate adding from setting elements
This is a first step towards disentangling the backend code. In the future we should just use ElementsAccessors.
BUG=v8:4137
LOG=n
Review URL: https://codereview.chromium.org/
1177043012
Cr-Commit-Position: refs/heads/master@{#29111}
jochen [Thu, 18 Jun 2015 11:56:50 +0000 (04:56 -0700)]
Extend find-anywhere so it also works while debugging a live process
R=yangguo@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
1179413006
Cr-Commit-Position: refs/heads/master@{#29110}
conradw [Thu, 18 Jun 2015 11:55:38 +0000 (04:55 -0700)]
[strong] Implement strong mode restrictions on property access
Implements the strong mode proposal's restrictions on property access.
To be fully explored in a followup: proxies, interceptors, access checks, load from super
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1168093002
Cr-Commit-Position: refs/heads/master@{#29109}
conradw [Thu, 18 Jun 2015 11:54:03 +0000 (04:54 -0700)]
[es6] Fix completion values of for loops with lexical variables
Currently, the desugaring of for loops of the form for
(let/const ...; bla; bla) causes them to always have a
completion value of 1, regardless of whether the loop body
is executed or not. This CL fixes this, realigning
initializer blocks as a more general purpose way to avoid
the completion value rewriter (since that's all they really
do anyway).
BUG=
Review URL: https://codereview.chromium.org/
1177053006
Cr-Commit-Position: refs/heads/master@{#29108}
machenbach [Thu, 18 Jun 2015 10:42:58 +0000 (03:42 -0700)]
Reland [turbofan] Disable select matching due to bug manifesting on arm. (patchset #2 id:40001 of https://codereview.chromium.org/
1176403005/)
Reason for revert:
This causes timeouts in Massive on chromebooks.
Original issue's description:
> Revert of [turbofan] Disable select matching due to bug manifesting on arm. (patchset #1 id:1 of https://codereview.chromium.org/
1077613002/)
>
> Reason for revert:
> [Sheriff] Checking if this still fails and if yes persists info about failures.
>
> Original issue's description:
> > [turbofan] Disable select matching due to bug manifesting on arm.
> >
> > R=machenbach@chromium.org
> > BUG=
> >
> > Committed: https://crrev.com/
6e5d805718195c4b5ac64cd540379cecf10b8f5c
> > Cr-Commit-Position: refs/heads/master@{#27702}
>
> TBR=bmeurer@chromium.org
>
> Committed: https://crrev.com/
7c36a7d91d8706b29df07013085fbe3c8e93b0ed
> Cr-Commit-Position: refs/heads/master@{#29103}
TBR=titzer@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1195563003
Cr-Commit-Position: refs/heads/master@{#29107}
ulan [Thu, 18 Jun 2015 10:00:12 +0000 (03:00 -0700)]
Dampen the old generation allocation limit only after the initial old generation size was configured.
Otherwise, dampening interferes with initial size configuration and causes GC too early.
BUG=501703
LOG=NO
Review URL: https://codereview.chromium.org/
1183633005
Cr-Commit-Position: refs/heads/master@{#29106}
bmeurer [Thu, 18 Jun 2015 09:15:32 +0000 (02:15 -0700)]
[turbofan] Improve interplay of ControlReducer and CommonOperatorReducer.
This turns the CommonOperatorReducer into an AdvancedReducer and makes
it independent of JSGraph (which was used only because it was convienent),
and let's the CommonOperatorReducer run together with the ControlReducer.
The ControlReducer is still not able to run together with other reducers,
but we're getting closer. The plan is to split the ControlReducer into
two parts: The dead code elimination part and the common operator
reduction part. This separation will help to avoid tricky bugs in the
future and should make testing a *lot* easier.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1192063002
Cr-Commit-Position: refs/heads/master@{#29105}
mstarzinger [Thu, 18 Jun 2015 08:17:09 +0000 (01:17 -0700)]
[turbofan] Introduce DeadValue and DeadEffect operators.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1186033006
Cr-Commit-Position: refs/heads/master@{#29104}
machenbach [Thu, 18 Jun 2015 07:57:13 +0000 (00:57 -0700)]
Revert of [turbofan] Disable select matching due to bug manifesting on arm. (patchset #1 id:1 of https://codereview.chromium.org/
1077613002/)
Reason for revert:
[Sheriff] Checking if this still fails and if yes persists info about failures.
Original issue's description:
> [turbofan] Disable select matching due to bug manifesting on arm.
>
> R=machenbach@chromium.org
> BUG=
>
> Committed: https://crrev.com/
6e5d805718195c4b5ac64cd540379cecf10b8f5c
> Cr-Commit-Position: refs/heads/master@{#27702}
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1176403005
Cr-Commit-Position: refs/heads/master@{#29103}
bmeurer [Thu, 18 Jun 2015 07:13:35 +0000 (00:13 -0700)]
[turbofan] Remove another premature optimization from ControlReducer.
We never hit the phi case for DecideCondition in practice, since a more
general optimization is already performed by typing and constant
propagation.
R=jarin@chromium.org,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1186973005
Cr-Commit-Position: refs/heads/master@{#29102}
machenbach [Thu, 18 Jun 2015 07:10:31 +0000 (00:10 -0700)]
[test] Unskip layout tests after fixing bot.
BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org
Review URL: https://codereview.chromium.org/
1185623003
Cr-Commit-Position: refs/heads/master@{#29101}
balazs.kilvady [Thu, 18 Jun 2015 07:01:24 +0000 (00:01 -0700)]
MIPS: Fix unaligned memory access.
On MIPS32 we can't read a 8 bytes long data from a not 8 bytes aligned memory address.
BUG=
TEST=mjsunit/debug-backtrace
Review URL: https://codereview.chromium.org/
1193433002
Cr-Commit-Position: refs/heads/master@{#29100}
machenbach [Thu, 18 Jun 2015 06:24:30 +0000 (23:24 -0700)]
Revert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/
1192033002/)
Reason for revert:
[Sheriff] gyp still contains an offending patch
Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/build/gyp to
fdcd8bc10c935eff13b391644b01460593c46861
>
> Rolling v8/tools/clang to
d2b4eddd701ff0265124147bcb0a65f32273f06b
>
> TBR=machenbach@chromium.org
>
> Committed: https://crrev.com/
a940eb8a7cba6596ea25819c0112c3ca053074ed
> Cr-Commit-Position: refs/heads/master@{#29097}
TBR=v8-autoroll@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1185453011
Cr-Commit-Position: refs/heads/master@{#29099}
mstarzinger [Thu, 18 Jun 2015 04:52:36 +0000 (21:52 -0700)]
[turbofan] Add test to keep generic pipeline on life support.
R=bmeurer@chromium.org
TEST=cctest/test-pipeline
Review URL: https://codereview.chromium.org/
1193543002
Cr-Commit-Position: refs/heads/master@{#29098}
v8-autoroll [Thu, 18 Jun 2015 03:29:06 +0000 (20:29 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
fdcd8bc10c935eff13b391644b01460593c46861
Rolling v8/tools/clang to
d2b4eddd701ff0265124147bcb0a65f32273f06b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1192033002
Cr-Commit-Position: refs/heads/master@{#29097}
sheyang [Wed, 17 Jun 2015 16:36:40 +0000 (09:36 -0700)]
Add signcla verifier for v8.
Currently this verifier will post an informative error if the author has not signed CLA, instead of rejecting the CL.
LOG=N
BUG=457428
Review URL: https://codereview.chromium.org/
1185193009
Cr-Commit-Position: refs/heads/master@{#29096}