platform/upstream/v8.git
9 years agoAdd a flag for legacy const semantics
arv [Tue, 7 Jul 2015 21:57:09 +0000 (14:57 -0700)]
Add a flag for legacy const semantics

This flag is on by default but it will allow us to turn that off in
favor of harmony-sloppy in the future.

BUG=v8:3305, v8:2198
LOG=N
R=littledan@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29526}

9 years agoRevert of [d8] bounds-check before getting Shell::Worker internal field (patchset...
machenbach [Tue, 7 Jul 2015 21:16:48 +0000 (14:16 -0700)]
Revert of [d8] bounds-check before getting Shell::Worker internal field (patchset #4 id:80001 of https://codereview.chromium.org/1214053004/)

Reason for revert:
[Sheriff] Fails here:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/4737

Original issue's description:
> [d8] bounds-check before getting Shell::Worker internal field
>
> Prevents fatal error in debug builds
>
> BUG=v8:4271
> R=binji@chromium.org
> LOG=N
>
> Committed: https://crrev.com/43ce9c6f101c4224addd9a54e0c39963188dc7fa
> Cr-Commit-Position: refs/heads/master@{#29524}

TBR=binji@chromium.org,jochen@chromium.org,adamk@chromium.org,caitpotter88@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4271

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

Cr-Commit-Position: refs/heads/master@{#29525}

9 years ago[d8] bounds-check before getting Shell::Worker internal field
caitpotter88 [Tue, 7 Jul 2015 21:06:10 +0000 (14:06 -0700)]
[d8] bounds-check before getting Shell::Worker internal field

Prevents fatal error in debug builds

BUG=v8:4271
R=binji@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29524}

9 years agoAdd debug-stepnext test for for-let loops
adamk [Tue, 7 Jul 2015 19:11:24 +0000 (12:11 -0700)]
Add debug-stepnext test for for-let loops

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

Cr-Commit-Position: refs/heads/master@{#29523}

9 years ago[turbofan] VisitSuperCallReference is not reachable
arv [Tue, 7 Jul 2015 18:30:43 +0000 (11:30 -0700)]
[turbofan] VisitSuperCallReference is not reachable

BUG=N
LOG=N
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29522}

9 years agoDelete from non-array end by trimming the backing store
verwaest [Tue, 7 Jul 2015 16:02:30 +0000 (09:02 -0700)]
Delete from non-array end by trimming the backing store

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

Cr-Commit-Position: refs/heads/master@{#29521}

9 years agoUse FullCodeGenerator::EmitGlobalVariableLoad() where possible to avoid code duplication.
ishell [Tue, 7 Jul 2015 15:04:45 +0000 (08:04 -0700)]
Use FullCodeGenerator::EmitGlobalVariableLoad() where possible to avoid code duplication.

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

Cr-Commit-Position: refs/heads/master@{#29520}

9 years ago[turbofan] Move RawMachineAssembler back to src/compiler.
rmcilroy [Tue, 7 Jul 2015 15:02:39 +0000 (08:02 -0700)]
[turbofan] Move RawMachineAssembler back to src/compiler.

The RawMachineAssembler will be used to build the interpreter, so it needs
to move back to src/compiler.

This reverts commit b5b00cc031c15263bbc4e8e8b2bef01b6fdfd284.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29519}

9 years agoDebugger: clear ICs on activating step-in to correctly flood accessor pairs.
yangguo [Tue, 7 Jul 2015 13:56:17 +0000 (06:56 -0700)]
Debugger: clear ICs on activating step-in to correctly flood accessor pairs.

If we compile handlers to call accessors, Debug::HandleStepIn won't get
called. Therefore we need to clear ICs each time. This has not been
necessary before because we used to patch ICs for breaking, and restored
them with cleared ICs. This is no longer the case. We do not use ICs
for breaking anymore, so they are not implicitly cleared any longer.

R=mvstanton@chromium.org
BUG=v8:4269
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29518}

9 years ago[test262-es6] Update to 2015-07-06 which includes the yaml harness fix
arv [Tue, 7 Jul 2015 13:50:59 +0000 (06:50 -0700)]
[test262-es6] Update to 2015-07-06 which includes the yaml harness fix

Revert "Revert of [test262-es6] Update to 2011-06-29 (patchset #1 id:1 of https://codereview.chromium.org/1220793005/)"

This reverts commit f50fff57b0b86c12b832c43d31458890617ebd88.

BUG=N
LOG=N
R=littledan@chromium.org, machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29517}

9 years ago[turbofan] Unify various bailout hacks for super call.
mstarzinger [Tue, 7 Jul 2015 13:25:53 +0000 (06:25 -0700)]
[turbofan] Unify various bailout hacks for super call.

This removes various boilouts for super constructor calls from the
TurboFan pipeline and unifies them. It also disables and optimization
which breaks references to uninitialized const this variables.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29516}

9 years agoStart incremental marking in long idle notification for background tab
ulan [Tue, 7 Jul 2015 12:30:52 +0000 (05:30 -0700)]
Start incremental marking in long idle notification for background tab
disregarding the allocation throughput.

BUG=chromium:506132
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29515}

9 years agoIndex -> Entry and Key -> Index in elements.[cc|h]
verwaest [Tue, 7 Jul 2015 11:52:51 +0000 (04:52 -0700)]
Index -> Entry and Key -> Index in elements.[cc|h]

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29514}

9 years ago[test] Turn off certificate verification when downloading test data on windows.
machenbach [Tue, 7 Jul 2015 11:42:12 +0000 (04:42 -0700)]
[test] Turn off certificate verification when downloading test data on windows.

BUG=v8:4254
LOG=n
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29513}

9 years agoReland "Replace reduce-memory mode in idle notification with delayed clean-up GC."
ulan [Tue, 7 Jul 2015 11:37:44 +0000 (04:37 -0700)]
Reland "Replace reduce-memory mode in idle notification with delayed clean-up GC."

This reverts commit 269918927a54cd1533ef4e3318dd76b3747762b5.
This reverts commit 435b3c873ac3b58fb56a1b7292951810c93ceda5.

The failing test is fixing in chromium.

BUG=chromium:490559
LOG=NO
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29512}

9 years agoMove compatible receiver check from CompileHandler to UpdateCaches
jochen [Tue, 7 Jul 2015 11:02:15 +0000 (04:02 -0700)]
Move compatible receiver check from CompileHandler to UpdateCaches

We also need to do the check before using an existing handler from the
cache

BUG=chromium:505374
R=verwaest@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29511}

9 years ago[test] Fix redirect problem for downloading test data on windows.
machenbach [Tue, 7 Jul 2015 10:35:27 +0000 (03:35 -0700)]
[test] Fix redirect problem for downloading test data on windows.

BUG=v8:4254
LOG=n
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
TBR=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29510}

9 years agoCleanup frame description constant.
mstarzinger [Tue, 7 Jul 2015 08:14:20 +0000 (01:14 -0700)]
Cleanup frame description constant.

This unifies the existing frame constants that are the same accross all
architectures. It also adds a new kOriginalConstructorOffset constant
for construct frames and uses is in full-codegen.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29509}

9 years agoX87: Debugger: use debug break slots instead of ICs (except for calls).
chunyang.dai [Tue, 7 Jul 2015 08:04:09 +0000 (01:04 -0700)]
X87: Debugger: use debug break slots instead of ICs (except for calls).

port a8a4c364c2ad4c1e5f4c6e1f1580d75ff1a35a4f (r29487).

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29508}

9 years ago[deoptimizer] Properly evict TurboFan OSR code objects on eager deopts.
bmeurer [Tue, 7 Jul 2015 07:28:02 +0000 (00:28 -0700)]
[deoptimizer] Properly evict TurboFan OSR code objects on eager deopts.

TurboFan OSR installs the CompileOptimized builtin on JSFunctions, which
means that we never evict the OSR code objects for such functions from
eager deopts.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29507}

9 years agoRevert of Fix bug when transferring SharedArrayBuffer to multiple Workers. (patchset...
machenbach [Tue, 7 Jul 2015 06:41:18 +0000 (23:41 -0700)]
Revert of Fix bug when transferring SharedArrayBuffer to multiple Workers. (patchset #3 id:40001 of https://codereview.chromium.org/1215233004/)

Reason for revert:
[Sheriff] Test hangs sometimes and times out flakily. E.g.: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosse3/builds/4551/steps/Check%20%28flakes%29/logs/d8-worker-sharedarray..

Original issue's description:
> Fix bug when transferring SharedArrayBuffer to multiple Workers.
>
> Previously, the serialization code would call Externalize for every transferred
> ArrayBuffer or SharedArrayBuffer, but that function can only be called once. If
> the buffer is already externalized, we should call GetContents instead.
>
> Also fix use-after-free bug when transferring ArrayBuffers. The transferred
> ArrayBuffer must be internalized in the new isolate, or be managed by the
> Shell. The current code gives it to the isolate externalized and frees it
> immediately afterward when the SerializationData object is destroyed.
>
> BUG=chromium:497295
> R=jarin@chromium.org
> LOG=n
>
> Committed: https://crrev.com/dd7962bf7838f8379ba776ee6b7b0e4d3bec2140
> Cr-Commit-Position: refs/heads/master@{#29499}

TBR=jarin@chromium.org,jochen@chromium.org,binji@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:497295

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

Cr-Commit-Position: refs/heads/master@{#29506}

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 7 Jul 2015 03:42:17 +0000 (20:42 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to c81a1a3989c3b66fa323e9a6ee7418d7c08297af

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29505}

9 years agoX87: [turbofan] Enable tail calls for %_CallRuntime.
cdai2 [Tue, 7 Jul 2015 01:05:28 +0000 (09:05 +0800)]
X87: [turbofan] Enable tail calls for %_CallRuntime.

port 1fa4285e1ce16cfadf8c40a0993491ec4e2bbbe0 (r29436).

original commit message:

    This involves:
    - Enabling the tail call optimization reducer in all cases.
    - Adding an addition flag to CallFunctionParameters to mark call sites
      that can be tail-called enabled.
    - Only set the tail-call flag for %_CallFunction.

BUG=
R=weiliang.lin@intel.com

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

Cr-Commit-Position: refs/heads/master@{#29504}

9 years agoPPC: Debugger: use debug break slots instead of ICs (except for calls).
mbrandy [Mon, 6 Jul 2015 19:26:45 +0000 (12:26 -0700)]
PPC: Debugger: use debug break slots instead of ICs (except for calls).

Port a8a4c364c2ad4c1e5f4c6e1f1580d75ff1a35a4f

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

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

Cr-Commit-Position: refs/heads/master@{#29503}

9 years agoPPC: Fix "Support for global var shortcuts in script contexts."
mbrandy [Mon, 6 Jul 2015 19:22:23 +0000 (12:22 -0700)]
PPC: Fix "Support for global var shortcuts in script contexts."

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

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

Cr-Commit-Position: refs/heads/master@{#29502}

9 years agoPPC: Fix "[turbofan] Add Uint64LessThanOrEqual to 64-bit TurboFan backends."
mbrandy [Mon, 6 Jul 2015 19:21:16 +0000 (12:21 -0700)]
PPC: Fix "[turbofan] Add Uint64LessThanOrEqual to 64-bit TurboFan backends."

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

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

Cr-Commit-Position: refs/heads/master@{#29501}

9 years ago[turbofan] Port initialization of new.target variable.
mstarzinger [Mon, 6 Jul 2015 18:02:41 +0000 (11:02 -0700)]
[turbofan] Port initialization of new.target variable.

This implements the proper initialization of the new.target internal
variable in the AstGraphBuilder. For now this uses a runtime call that
cannot handle inlined frames correctly.

R=arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29500}

9 years agoFix bug when transferring SharedArrayBuffer to multiple Workers.
binji [Mon, 6 Jul 2015 17:17:59 +0000 (10:17 -0700)]
Fix bug when transferring SharedArrayBuffer to multiple Workers.

Previously, the serialization code would call Externalize for every transferred
ArrayBuffer or SharedArrayBuffer, but that function can only be called once. If
the buffer is already externalized, we should call GetContents instead.

Also fix use-after-free bug when transferring ArrayBuffers. The transferred
ArrayBuffer must be internalized in the new isolate, or be managed by the
Shell. The current code gives it to the isolate externalized and frees it
immediately afterward when the SerializationData object is destroyed.

BUG=chromium:497295
R=jarin@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29499}

9 years agoSupport for global var shortcuts in script contexts.
ishell [Mon, 6 Jul 2015 16:36:28 +0000 (09:36 -0700)]
Support for global var shortcuts in script contexts.

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

Cr-Commit-Position: refs/heads/master@{#29498}

9 years agoRevert of Revert of [es6] Bound function names (patchset #1 id:1 of https://coderevie...
arv [Mon, 6 Jul 2015 16:20:35 +0000 (09:20 -0700)]
Revert of Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1225793002/)

Reason for revert:
This will prevent rolls. Fixing the root issue instead.

Original issue's description:
> Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1195983002/)
>
> Reason for revert:
> Incorrect behavior
>
> Original issue's description:
> > [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
> >
> > Committed: https://crrev.com/b6d950c979f4348138de0ec54e40dcc48d833926
> > Cr-Commit-Position: refs/heads/master@{#29193}
>
> TBR=adamk@chromium.org,verwaest@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=N
>
> Committed: https://crrev.com/744e4d4fd9316674682bc6ca30ded5866494cc1c
> Cr-Commit-Position: refs/heads/master@{#29495}

TBR=adamk@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N

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

Cr-Commit-Position: refs/heads/master@{#29497}

9 years agoFix performance regression introduced in r28961
jkummerow [Mon, 6 Jul 2015 15:29:23 +0000 (08:29 -0700)]
Fix performance regression introduced in r28961

where bound functions' length was made configurable. The bootstrapper must be kept in sync to avoid polymorphism.

BUG=chromium:500686
LOG=n
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29496}

9 years agoRevert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium...
arv [Mon, 6 Jul 2015 15:25:30 +0000 (08:25 -0700)]
Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1195983002/)

Reason for revert:
Incorrect behavior

Original issue's description:
> [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
>
> Committed: https://crrev.com/b6d950c979f4348138de0ec54e40dcc48d833926
> Cr-Commit-Position: refs/heads/master@{#29193}

TBR=adamk@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N

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

Cr-Commit-Position: refs/heads/master@{#29495}

9 years agoRevert of Reland: Fix logic for incremental marking steps on tenured allocation ...
machenbach [Mon, 6 Jul 2015 13:59:30 +0000 (06:59 -0700)]
Revert of Reland: Fix logic for incremental marking steps on tenured allocation (patchset #4 id:60001 of https://codereview.chromium.org/1077153004/)

Reason for revert:
[Sheriff] Speculative revert, see:
https://code.google.com/p/chromium/issues/detail?id=506875

Original issue's description:
> Reland: Fix logic for incremental marking steps on tenured allocation
>
> BUG=
>
> Committed: https://crrev.com/5000650bde2ec0bc90d959b529c97aea20385043
> Cr-Commit-Position: refs/heads/master@{#29442}

TBR=hpayer@chromium.org,erikcorry@chromium.org
BUG=chromium:506875
LOG=n
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29494}

9 years ago[turbofan] Context specialization is the job of the JSContextSpecialization.
bmeurer [Mon, 6 Jul 2015 12:56:05 +0000 (05:56 -0700)]
[turbofan] Context specialization is the job of the JSContextSpecialization.

Remove the context specialization hack from the AstGraphBuilder, and
properly specialize to the function context in the context specialization.
And replace the correct context in the JSInliner.

R=mstarzinger@chromium.org
BUG=v8:4273
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29493}

9 years ago[test] Push binaries to separate folders on Android devices.
machenbach [Mon, 6 Jul 2015 12:37:31 +0000 (05:37 -0700)]
[test] Push binaries to separate folders on Android devices.

BUG=chromium:507213
LOG=n
NOTRY=true
TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29492}

9 years ago[test] Add android perf trybots.
machenbach [Mon, 6 Jul 2015 12:17:15 +0000 (05:17 -0700)]
[test] Add android perf trybots.

BUG=chromium:502176
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29491}

9 years ago[turbofan] Fix value output count for the Start node.
bmeurer [Mon, 6 Jul 2015 12:11:50 +0000 (05:11 -0700)]
[turbofan] Fix value output count for the Start node.

The value output count for Start is currently off by 1 for code stubs,
because the CommonOperatorBuilder hardcodes the receiver parameter.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29490}

9 years ago[test] Port clobber of old test262 archive files.
machenbach [Mon, 6 Jul 2015 12:09:36 +0000 (05:09 -0700)]
[test] Port clobber of old test262 archive files.

BUG=v8:4254
LOG=n
NOTRY=true
TBR=jkummerow@chromium.org
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29489}

9 years ago[turbofan] Cleanup Parameter creation in AstGraphBuilder.
mstarzinger [Mon, 6 Jul 2015 11:50:00 +0000 (04:50 -0700)]
[turbofan] Cleanup Parameter creation in AstGraphBuilder.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29488}

9 years agoDebugger: use debug break slots instead of ICs (except for calls).
yangguo [Mon, 6 Jul 2015 11:15:52 +0000 (04:15 -0700)]
Debugger: use debug break slots instead of ICs (except for calls).

BUG=v8:3147,v8:4269
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29487}

9 years ago[turbofan] Reland "Add new JSFrameSpecialization reducer." and "Perform OSR deconstru...
bmeurer [Mon, 6 Jul 2015 11:11:15 +0000 (04:11 -0700)]
[turbofan] Reland "Add new JSFrameSpecialization reducer." and "Perform OSR deconstruction early and remove type propagation.".

We have to reland these two commits at once, because the first breaks
some asm.js benchmarks without the second. The change was reverted
because of bogus checks in the verifier, which will not work in the
presence of OSR (and where hidden because of the type back propagation
hack in OSR so far). Original messages are below:

[turbofan] Add new JSFrameSpecialization reducer.

The JSFrameSpecialization specializes an OSR graph to the current
unoptimized frame on which we will perform the on-stack replacement.
This is used for asm.js functions, where we cannot reuse the OSR
code object anyway because of context specialization, and so we could as
well specialize to the max instead.

It works by replacing all OsrValues in the graph with their values
in the JavaScriptFrame.

The idea is that using this trick we get better performance without
doing the unsound backpropagation of types to OsrValues later. This
is the first step towards fixing OSR for TurboFan.

[turbofan] Perform OSR deconstruction early and remove type propagation.

This way we don't have to deal with dead pre-OSR code in the graph
and risk optimizing the wrong code, especially we don't make
optimistic assumptions in the dead code that leaks into the OSR code
(i.e. deopt guards are in dead code, but the types propagate to OSR
code via the OsrValue type back propagation).

BUG=v8:4273
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29486}

9 years agounicode-decoder: fix out-of-band write in utf16
fedor [Mon, 6 Jul 2015 11:00:05 +0000 (04:00 -0700)]
unicode-decoder: fix out-of-band write in utf16

`WriteUtf16Slow` should not assume that the output buffer has enough
bytes to hold both words of surrogate pair. It should pass the number of
remaining bytes to the `Utf8::ValueOf` instead, just as we already do in
`Utf8DecoderBase::Reset`. Otherwise it will attempt to write the trail
uint16_t past the buffer boundary, leading to memory corruption and
possible crash.

Originally reported by: Kris Reeves <kris.re@bbhmedia.com>

BUG=v8:4274
R=danno
R=svenpanne
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29485}

9 years agoWrap elements.cc in an anonymous namespace
verwaest [Mon, 6 Jul 2015 10:40:24 +0000 (03:40 -0700)]
Wrap elements.cc in an anonymous namespace

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29484}

9 years agoRevert of [test] Move test262-es6 into test262. (patchset #2 id:20001 of https:/...
machenbach [Mon, 6 Jul 2015 10:35:28 +0000 (03:35 -0700)]
Revert of [test] Move test262-es6 into test262. (patchset #2 id:20001 of https://codereview.chromium.org/1215303008/)

Reason for revert:
[Sheriff] Breaks test262 on mac

Original issue's description:
> [test] Move test262-es6 into test262.
>
> BUG=v8:4254
> LOG=n
>
> Committed: https://crrev.com/aaa457b26f6c0f624cf5887e60dc497f6dccabae
> Cr-Commit-Position: refs/heads/master@{#29479}

TBR=rossberg@chromium.org,arv@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4254

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

Cr-Commit-Position: refs/heads/master@{#29483}

9 years agoAlways mark entire prototype descriptor arrays.
verwaest [Mon, 6 Jul 2015 10:33:12 +0000 (03:33 -0700)]
Always mark entire prototype descriptor arrays.

BUG=chromium:506952
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29482}

9 years agoDo not truncate message strings.
yangguo [Mon, 6 Jul 2015 10:25:50 +0000 (03:25 -0700)]
Do not truncate message strings.

R=ishell@chromium.org
BUG=chromium:505539
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29481}

9 years agoRevert "[turbofan] Add new JSFrameSpecialization reducer."
machenbach [Mon, 6 Jul 2015 10:01:27 +0000 (03:01 -0700)]
Revert "[turbofan] Add new JSFrameSpecialization reducer."

Also revert "[turbofan] Perform OSR deconstruction early and remove type propagation."

This reverts commit b0a852e8c2ce2add1ba8a26d572aff39af0968a3.

This reverts commit cdbb6c485b8d07fd4ad1cb000d54a937507e3b3e.

NOTRY=true
NOTREECHECKS=true
BUG=v8:4273
LOG=n
TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29480}

9 years ago[test] Move test262-es6 into test262.
machenbach [Mon, 6 Jul 2015 09:24:32 +0000 (02:24 -0700)]
[test] Move test262-es6 into test262.

BUG=v8:4254
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29479}

9 years ago[turbofan] Perform OSR deconstruction early and remove type propagation.
bmeurer [Mon, 6 Jul 2015 09:15:14 +0000 (02:15 -0700)]
[turbofan] Perform OSR deconstruction early and remove type propagation.

This way we don't have to deal with dead pre-OSR code in the graph and
risk optimizing the wrong code, especially we don't make optimistic
assumptions in the dead code that leaks into the OSR code (i.e. deopt
guards are in dead code, but the types propagate to OSR code via the
OsrValue type back propagation).

BUG=v8:4273
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29478}

9 years agoCleanup Delete backend implementation.
verwaest [Mon, 6 Jul 2015 08:53:41 +0000 (01:53 -0700)]
Cleanup Delete backend implementation.

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29477}

9 years ago[turbofan] Add new JSFrameSpecialization reducer.
bmeurer [Mon, 6 Jul 2015 08:27:03 +0000 (01:27 -0700)]
[turbofan] Add new JSFrameSpecialization reducer.

The JSFrameSpecialization specializes an OSR graph to the current
unoptimized frame on which we will perform the on-stack replacement.
This is used for asm.js functions, where we cannot reuse the OSR code
object anyway because of context specialization, and so we could as well
specialize to the max instead.

It works by replacing all OsrValues in the graph with their values in
the JavaScriptFrame.

The idea is that using this trick we get better performance without
doing the unsound backpropagation of types to OsrValues later. This is
the first step towards fixing OSR for TurboFan.

R=jarin@chromium.org
BUG=v8:4273
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29476}

9 years agoRevert of Concurrent sweeping of code space. (patchset #4 id:60001 of https://coderev...
machenbach [Mon, 6 Jul 2015 08:25:55 +0000 (01:25 -0700)]
Revert of Concurrent sweeping of code space. (patchset #4 id:60001 of https://codereview.chromium.org/1222013002/)

Reason for revert:
[Sheriff] Increased flaky crashes. See:
https://code.google.com/p/v8/issues/detail?id=4275

Original issue's description:
> Concurrent sweeping of code space.
>
> BUG=
>
> Committed: https://crrev.com/3050b52f57d652dc45c8baf416e174f22dc2c159
> Cr-Commit-Position: refs/heads/master@{#29456}

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

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

Cr-Commit-Position: refs/heads/master@{#29475}

9 years agoRemove usage of to-be-deprecated APIs from tools
jochen [Mon, 6 Jul 2015 07:11:40 +0000 (00:11 -0700)]
Remove usage of to-be-deprecated APIs from tools

BUG=v8:4134
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29474}

9 years agoMake v8::Handle as "deprecated soon"
jochen [Mon, 6 Jul 2015 07:09:07 +0000 (00:09 -0700)]
Make v8::Handle as "deprecated soon"

BUG=v8:4131
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29473}

9 years ago[turbofan] Fix bogus materialization from frame with OSR.
mstarzinger [Mon, 6 Jul 2015 03:40:22 +0000 (20:40 -0700)]
[turbofan] Fix bogus materialization from frame with OSR.

The context constant cannot be materialized from the frame when we are
compiling for OSR, because the context spill slot contains the current
instead of the outermost context in full-codegen.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29472}

9 years ago[turbofan] Use OSR value for innermost context value.
mstarzinger [Mon, 6 Jul 2015 03:39:15 +0000 (20:39 -0700)]
[turbofan] Use OSR value for innermost context value.

This changes the OsrValue insertion in the AstGraphBuilder to emit a
proper OsrValue instead of a special Parameter for the inner context
value at the OSR entry point.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29471}

9 years agoRevert of Replace reduce-memory mode in idle notification with delayed clean-up GC...
machenbach [Sun, 5 Jul 2015 18:18:45 +0000 (11:18 -0700)]
Revert of Replace reduce-memory mode in idle notification with delayed clean-up GC. (patchset #17 id:320001 of https://codereview.chromium.org/1218863002/)

Reason for revert:
[Sheriff] Looks like it blocks the roll (bisected). Speculative revert.
https://codereview.chromium.org/1210293003/

Original issue's description:
> Replace reduce-memory mode in idle notification with delayed clean-up GC.
>
> BUG=490559
> LOG=NO
>
> Committed: https://crrev.com/0ecd9e1bd2c6b519d4e7285f46cb7e844bc2235c
> Cr-Commit-Position: refs/heads/master@{#29451}

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

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

Cr-Commit-Position: refs/heads/master@{#29470}

9 years agoRevert of Make ARM compiler happy after 0ecd9e1bd (patchset #1 id:1 of https://codere...
machenbach [Sun, 5 Jul 2015 18:17:35 +0000 (11:17 -0700)]
Revert of Make ARM compiler happy after 0ecd9e1bd (patchset #1 id:1 of https://codereview.chromium.org/1219863003/)

Reason for revert:
Revert in order to revert 0ecd9e1bd

Original issue's description:
> Make ARM compiler happy after 0ecd9e1bd
>
> BUG=
> TBR=hpayer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/bef1cbfdf9991f05ca142448098e8076cb7c2d26
> Cr-Commit-Position: refs/heads/master@{#29454}

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

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

Cr-Commit-Position: refs/heads/master@{#29469}

9 years agoIncrement descriptor array slack for prototypes by a constant rather than 50%
verwaest [Fri, 3 Jul 2015 15:06:39 +0000 (08:06 -0700)]
Increment descriptor array slack for prototypes by a constant rather than 50%
Additionally speed up instantiation of ObjectTemplates by preallocating enough space in the descriptor arrays

BUG=v8:4184
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29468}

9 years agoRemove obsolete GetAccessorPair from ElementsAccessor
verwaest [Fri, 3 Jul 2015 12:38:51 +0000 (05:38 -0700)]
Remove obsolete GetAccessorPair from ElementsAccessor

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29467}

9 years agoRecord code slots that may point to evacuation candidate objects after deoptimizing...
hpayer [Fri, 3 Jul 2015 12:13:43 +0000 (05:13 -0700)]
Record code slots that may point to evacuation candidate objects after deoptimizing them.

BUG=chromium:506811
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29466}

9 years ago[turbofan] Right hand side of shifts needs ToUint32.
bmeurer [Fri, 3 Jul 2015 11:41:54 +0000 (04:41 -0700)]
[turbofan] Right hand side of shifts needs ToUint32.

Currently we lower shifts directly to machine operators, and add an
appropriate Word32And to implement the & 0x1F operation on the right
hand side required by the specification. However for Word32And we assume
Int32 in simplified lowering, which is basically changes the right hand
side bit interpretation for the shifts from Uint32 to Int32, which is
obviously wrong. So now we represent that explicitly by proper
simplified operators for the shifts, which are lowered to machine in
simplified lowering.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29465}

9 years agoMake deserialize-script-id test more robust.
yangguo [Fri, 3 Jul 2015 11:11:22 +0000 (04:11 -0700)]
Make deserialize-script-id test more robust.

R=machenbach@chromium.org
BUG=v8:4127
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29464}

9 years agoMake sure the constant pool size is as promised.
yangguo [Fri, 3 Jul 2015 10:32:27 +0000 (03:32 -0700)]
Make sure the constant pool size is as promised.

LOG=N
R=bmeurer@chromium.org
BUG=chromium:506443

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

Cr-Commit-Position: refs/heads/master@{#29463}

9 years agoMIPS: Disassembler enhancement. Disassembled branch instruction displays branch targe...
Ilija.Pavlovic [Fri, 3 Jul 2015 10:31:51 +0000 (03:31 -0700)]
MIPS: Disassembler enhancement. Disassembled branch instruction displays branch target absolute address.

TEST=cctest/test-disasm-mips[64]
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29462}

9 years agoSerializer forces flushing of optimized code map.
mstarzinger [Fri, 3 Jul 2015 07:47:26 +0000 (00:47 -0700)]
Serializer forces flushing of optimized code map.

This makes sure that the GC fully flushes the optimized code map when
the serializer is preparing a snapshot. Otherwise closures and contexts
could end up in the startup snapshot.

R=hpayer@chromium.org
TEST=cctest/test-serialize/SerializeInternalReference

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

Cr-Commit-Position: refs/heads/master@{#29461}

9 years ago[turbofan] Add Uint64LessThanOrEqual to 64-bit TurboFan backends.
titzer [Fri, 3 Jul 2015 05:13:57 +0000 (22:13 -0700)]
[turbofan] Add Uint64LessThanOrEqual to 64-bit TurboFan backends.

Also add control inputs to 64-bit integer divide and modulus operations.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29460}

9 years agoPPC: perf enhancement: omit redundant compare with 0
dstence [Thu, 2 Jul 2015 18:46:23 +0000 (11:46 -0700)]
PPC: perf enhancement: omit redundant compare with 0

R=mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29459}

9 years agoFix data-race in default implementation of delayed task.
ulan [Thu, 2 Jul 2015 18:25:42 +0000 (11:25 -0700)]
Fix data-race in default implementation of delayed task.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29458}

9 years agoGrow heap slower if --optimize-for-size flag is on.
ulan [Thu, 2 Jul 2015 18:24:34 +0000 (11:24 -0700)]
Grow heap slower if --optimize-for-size flag is on.

BUG=chromium:505776
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29457}

9 years agoConcurrent sweeping of code space.
hpayer [Thu, 2 Jul 2015 16:45:34 +0000 (09:45 -0700)]
Concurrent sweeping of code space.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29456}

9 years agoMove slow classes above fast to directly call ReconfigureImpl, remove friends, make...
verwaest [Thu, 2 Jul 2015 16:44:17 +0000 (09:44 -0700)]
Move slow classes above fast to directly call ReconfigureImpl, remove friends, make things public

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29455}

9 years agoMake ARM compiler happy after 0ecd9e1bd
ulan [Thu, 2 Jul 2015 16:29:17 +0000 (09:29 -0700)]
Make ARM compiler happy after 0ecd9e1bd

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

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

Cr-Commit-Position: refs/heads/master@{#29454}

9 years agoPPC: [turbofan] Enable tail calls for %_CallRuntime.
mbrandy [Thu, 2 Jul 2015 15:50:56 +0000 (08:50 -0700)]
PPC: [turbofan] Enable tail calls for %_CallRuntime.

Port 1fa4285e1ce16cfadf8c40a0993491ec4e2bbbe0

Original commit message:
    This involves:
    - Enabling the tail call optimization reducer in all cases.
    - Adding an addition flag to CallFunctionParameters to mark call sites
      that can be tail-called enabled.
    - Only set the tail-call flag for %_CallFunction.

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

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

Cr-Commit-Position: refs/heads/master@{#29453}

9 years agoRemove usage of to-be-deprecated APIs from samples
jochen [Thu, 2 Jul 2015 15:42:35 +0000 (08:42 -0700)]
Remove usage of to-be-deprecated APIs from samples

BUG=v8:4134
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29452}

9 years agoReplace reduce-memory mode in idle notification with delayed clean-up GC.
ulan [Thu, 2 Jul 2015 15:41:29 +0000 (08:41 -0700)]
Replace reduce-memory mode in idle notification with delayed clean-up GC.

BUG=490559
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29451}

9 years agoAvoid converting key to string for deleting of elements
verwaest [Thu, 2 Jul 2015 15:27:19 +0000 (08:27 -0700)]
Avoid converting key to string for deleting of elements
Additionally rips out (now) unnecessary duplicate code in DefineArrayProperty.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29450}

9 years ago[strong] Add test for strong load involving proxies
conradw [Thu, 2 Jul 2015 15:24:48 +0000 (08:24 -0700)]
[strong] Add test for strong load involving proxies

Keeping this CL separate in case there are more GC-stress problems.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29449}

9 years ago[strong] Add tests for loading from super, loading with access checks
conradw [Thu, 2 Jul 2015 15:23:40 +0000 (08:23 -0700)]
[strong] Add tests for loading from super, loading with access checks

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29448}

9 years agoDistinguish slow from fast sloppy arguments
verwaest [Thu, 2 Jul 2015 14:38:37 +0000 (07:38 -0700)]
Distinguish slow from fast sloppy arguments

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29447}

9 years agoFix memory-leak in default platform implementation of delayed tasks.
ulan [Thu, 2 Jul 2015 14:37:23 +0000 (07:37 -0700)]
Fix memory-leak in default platform implementation of delayed tasks.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29446}

9 years agoOnly define V8_USE_EXTERNAL_SNAPSHOT_DATA if we actually use a snapshot
jochen [Thu, 2 Jul 2015 14:22:57 +0000 (07:22 -0700)]
Only define V8_USE_EXTERNAL_SNAPSHOT_DATA if we actually use a snapshot

BUG=none
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29445}

9 years agoCleanup API property handling
verwaest [Thu, 2 Jul 2015 13:29:48 +0000 (06:29 -0700)]
Cleanup API property handling

BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29444}

9 years agoRemove redundant check in GCTracer::SampleAllocation.
ulan [Thu, 2 Jul 2015 13:28:36 +0000 (06:28 -0700)]
Remove redundant check in GCTracer::SampleAllocation.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29443}

9 years agoReland: Fix logic for incremental marking steps on tenured allocation
erikcorry [Thu, 2 Jul 2015 13:27:27 +0000 (06:27 -0700)]
Reland: Fix logic for incremental marking steps on tenured allocation

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29442}

9 years agoWhitespace change to test build priorities.
Michael Achenbach [Thu, 2 Jul 2015 13:24:07 +0000 (15:24 +0200)]
Whitespace change to test build priorities.

Cr-Commit-Position: refs/heads/master@{#29441}

9 years agoPrepare profiler test for try-catch being optimizable.
mstarzinger [Thu, 2 Jul 2015 09:22:46 +0000 (02:22 -0700)]
Prepare profiler test for try-catch being optimizable.

This is an adaptation of test-profile-generator/BailoutReason to when
try-catch statements are optimizable. They will no longer cause any
bailout reason to be reported.

R=yangguo@chromium.org
TEST=cctest/test-profile-generator/BailoutReason

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

Cr-Commit-Position: refs/heads/master@{#29440}

9 years agoRemove deprecated v8::Object::TurnOnAccessCheck() from the V8 API.
ishell [Thu, 2 Jul 2015 09:05:39 +0000 (02:05 -0700)]
Remove deprecated v8::Object::TurnOnAccessCheck() from the V8 API.

The only right way to enable access checks is to install access check callbacks on an object template via v8::ObjectTemplate::SetAccessCheckCallbacks(). It does not make sense to enable access checks on an arbitrary object.

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

Cr-Commit-Position: refs/heads/master@{#29439}

9 years ago[turbofan] Inline %_FixedArrayGet intrinsic.
danno [Thu, 2 Jul 2015 09:04:31 +0000 (02:04 -0700)]
[turbofan] Inline %_FixedArrayGet intrinsic.

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

Cr-Commit-Position: refs/heads/master@{#29438}

9 years agoFix some clang warnings with -Wmissing-braces in v8.
dcheng [Thu, 2 Jul 2015 07:25:48 +0000 (00:25 -0700)]
Fix some clang warnings with -Wmissing-braces in v8.

Clang warns if there are missing braces around a subobject
initializer. The most common idiom that triggers this is:
  STRUCT s = {0};
if the first field of STRUCT is itself a struct. This can
be more simply written as:
  STRUCT s = {};
which also prevents the warning from firing.

BUG=chromium:505297
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29437}

9 years ago[turbofan] Enable tail calls for %_CallRuntime.
danno [Thu, 2 Jul 2015 06:20:03 +0000 (23:20 -0700)]
[turbofan] Enable tail calls for %_CallRuntime.

This involves:
- Enabling the tail call optimization reducer in all cases.
- Adding an addition flag to CallFunctionParameters to mark call sites
  that can be tail-called enabled.
- Only set the tail-call flag for %_CallFunction.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29436}

9 years ago[turbofan] Support cmp with shift/extend on ARM64.
martyn.capewell [Thu, 2 Jul 2015 04:32:03 +0000 (21:32 -0700)]
[turbofan] Support cmp with shift/extend on ARM64.

Support 32-bit cmp with shift/extend by reusing the existing add/sub shift and
extend code.

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

Cr-Commit-Position: refs/heads/master@{#29435}

9 years agoX87: [strong] Implement strong property access semantics.
chunyang.dai [Thu, 2 Jul 2015 04:27:17 +0000 (21:27 -0700)]
X87: [strong] Implement strong property access semantics.

port 7281f8015181736703d3663c9c570be537f008c1 (r29384)

    Fix a bug in R29384.

original commit message:

    Revert "Revert relanded strong property access CL"

    Regression issues should be solved. Initial patchset is the original, subsequent patchsets are the fixing modifications.

    This reverts commit 4ac7be56568f0ac71e7bf10e8bec33c33893e5b5.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29434}

9 years agoX87: Make context register implicit for CallInterfaceDescriptors
chunyang.dai [Thu, 2 Jul 2015 04:08:20 +0000 (21:08 -0700)]
X87: Make context register implicit for CallInterfaceDescriptors

port 7015fd20531ee8498352f82d626c78023a1f6857 (r29402)

original commit message:

    Up until now the context register was listed explicitly in each stub's
    CallInterfaceDescriptor. This was problematic, because it was listed
    first in the list of register parameters--which is fine for Crankshaft,
    which is more or less built to handle the context as the first
    parameter-- but not ideal for TurboFan, which adds the context at
    the end of all function parameters. Now the context register is no
    longer in the register list and can be handled appropriately by both
    compilers. Specifically, this allows the FunctionType specified for
    each CallInterfaceDescriptor to exactly match the parameter register
    list.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29433}

9 years agoX87: [turbofan] Add CalleeSavedFPRegisters to CallDescriptor.
chunyang.dai [Thu, 2 Jul 2015 04:02:33 +0000 (21:02 -0700)]
X87: [turbofan] Add CalleeSavedFPRegisters to CallDescriptor.

port b4275a70eb1e6b6dc0f3c77b9be6bcfca3f80c20 (r29378)

original commit message:

    This change makes possible to save and restore the FP registers
    in the Prologue and Return parts for the CallAddress kind functions.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29432}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 2 Jul 2015 03:26:02 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to 7fe225d77f307fdbe24695179a84336ef95c1253

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29431}

9 years agoInclude Harmony Array/TypedArray methods unconditionally
littledan [Wed, 1 Jul 2015 23:10:13 +0000 (16:10 -0700)]
Include Harmony Array/TypedArray methods unconditionally

Conditionally including Array and TypedArray methods seems to cause
a slowdown in V8 context creation, possibly due to the new code added.

BUG=chromium:504629
R=adamk@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#29430}

9 years agoGC. Delay/avoid entering high promotion mode
erikcorry [Wed, 1 Jul 2015 17:42:15 +0000 (10:42 -0700)]
GC. Delay/avoid entering high promotion mode

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29429}

9 years agoRemove unused is_class_scope bit from Scope and ScopeInfo
adamk [Wed, 1 Jul 2015 17:20:48 +0000 (10:20 -0700)]
Remove unused is_class_scope bit from Scope and ScopeInfo

This was added in https://chromium.googlesource.com/v8/v8/+/4a709dd65,
but the only check for it that remained in the final patch is inside
a DCHECK. It appears that the approach for checking use of class names
in methods evolved quite a bit over the review of the original patch.

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

Cr-Commit-Position: refs/heads/master@{#29428}

9 years agoRemove outdated comment
verwaest [Wed, 1 Jul 2015 16:49:19 +0000 (09:49 -0700)]
Remove outdated comment

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29427}