Commit Graph

17514 Commits

Author SHA1 Message Date
mstarzinger
459c45db0a Allow --always-opt to go further into the pipeline (1).
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26112}
2015-01-16 22:20:09 +00:00
jkummerow
79ed8f173c Add fast-path OOB support to KeyedLoadIC_Generic
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26111}
2015-01-16 22:18:57 +00:00
machenbach
57872da9ac Revert of Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/856813003/)
Reason for revert:
Revert didn't help.

Original issue's description:
> Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/828803004/)
>
> Reason for revert:
> Speculative revert to see if win XP recovers. Will reland if not.
>
> Original issue's description:
> > [turbofan] Improve memory layout of Node class.
> >
> > Also gets rid of the reinterpret_cast on this.
> >
> > R=svenpanne@chromium.org
> >
> > Committed: https://crrev.com/f91e8046fad99365c74ccbb39d42de58398dab57
> > Cr-Commit-Position: refs/heads/master@{#26103}
>
> TBR=svenpanne@chromium.org,dcarney@chromium.org,bmeurer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/dc6f34d83650dce8faa3e82e87c050f12732d4b3
> Cr-Commit-Position: refs/heads/master@{#26106}

TBR=svenpanne@chromium.org,dcarney@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26107}
2015-01-16 19:18:08 +00:00
machenbach
dc6f34d836 Revert of [turbofan] Improve memory layout of Node class. (patchset #1 id:1 of https://codereview.chromium.org/828803004/)
Reason for revert:
Speculative revert to see if win XP recovers. Will reland if not.

Original issue's description:
> [turbofan] Improve memory layout of Node class.
>
> Also gets rid of the reinterpret_cast on this.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/f91e8046fad99365c74ccbb39d42de58398dab57
> Cr-Commit-Position: refs/heads/master@{#26103}

TBR=svenpanne@chromium.org,dcarney@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26106}
2015-01-16 16:50:08 +00:00
mvstanton
b3b9d20ad7 Vector-based KeyedLoadIC MISS logic needs improvement.
Two issues:
1) We would trace the MISS two times on vector-based KeyedLoadIC
   with a string key in MEGAMORPHIC state.
2) There was a confusing asymmetry in the handling of going
   GENERIC. This change makes it the same whether
   --vector-ics is on or not.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26105}
2015-01-16 13:28:31 +00:00
mstarzinger
a0134dabab Remove distinction between DisableTurbofan and DisableCrankshaft.
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26104}
2015-01-16 13:22:30 +00:00
bmeurer
f91e8046fa [turbofan] Improve memory layout of Node class.
Also gets rid of the reinterpret_cast on this.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26103}
2015-01-16 13:16:42 +00:00
mstarzinger
0f418385d0 First simple implementation of class literals in TurboFan.
R=rossberg@chromium.org,jarin@chromium.org
TEST=cctest/test-run-jsops/ClassLiteral

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

Cr-Commit-Position: refs/heads/master@{#26101}
2015-01-16 12:38:26 +00:00
Balazs Kilvady
d3557c7536 MIPS64: fix Make map check in NamedStoreHandlerCompiler::GenerateFieldTypeChecks weak.
BUG=
R=balazs.kilvady@imgtec.com, ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26099}
2015-01-16 11:22:21 +00:00
bmeurer
835cc463a8 [turbofan] Initial attempt to cleanup Node and related classes.
- Make Node::Inputs and Node::Uses mostly STL compliant.
- Get rid of some pre-C++11 crappiness.
- Start moving unit tests from cctest to unittests.
- TrimInputCount() now tries to reserve inputs slots for
  later appending.
- Fix numerous style guide violations.

TEST=cctest,unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26098}
2015-01-16 11:04:22 +00:00
dcarney
6950ead0b0 split api call stubs into accessor and function call stubs
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26097}
2015-01-16 10:59:16 +00:00
jochen
b54f00fc8e Add checks to the marking queue
Hopefully we'll catch heap corruption earlier where identifying the
object that holds a stale pointer.

Speaking of staleness, also remove old debugging code.

BUG=chromium:128415
R=ulan@chromium.org,hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26095}
2015-01-16 10:39:25 +00:00
bmeurer
859a676a10 [turbofan] Only mark non-smis as references.
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26094}
2015-01-16 10:36:33 +00:00
Sven Panne
e4c5b84652 Contribution of PowerPC port (continuation of 422063005)
Contribution of PowerPC port (continuation of 422063005). The inital patch
covers the core changes to the common files.  Subsequent patches will cover
changes to common files to support AIX and to update the ppc directories so
they are current with the changes in the rest of the project.

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

BUG=
R=svenpanne@chromium.org, danno@chromium.org, sevnpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26091}
2015-01-16 07:42:15 +00:00
cdai2
1b3490adab X87: ES6 computed property names
port 74e38e34b3.

original commit message:

   This adds support for computed property names, under the flag
   --harmony-computed-property-names, for both object literals and classes.

   This is a revert of the revert, 7d48fd9dc2.

BUG=
R=weiliang.lin@intel.com

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

Cr-Commit-Position: refs/heads/master@{#26090}
2015-01-16 05:25:18 +00:00
deftly
71fd742fc6 fix defines for openbsd - build fails without them:
Original version from robert@openbsd.org with modification from myself

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26089}
2015-01-16 05:07:24 +00:00
paul.lind
966dad071a MIPS: ES6 computed property names.
Port: 74e38e34b3

Original commit message:

This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.

This is a revert of the revert, 7d48fd9dc2.

BUG=v8:3754
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26088}
2015-01-16 04:42:37 +00:00
arv
74e38e34b3 ES6 computed property names
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.

This is a revert of the revert, 7d48fd9dc2.

BUG=v8:3754
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26084}
2015-01-15 20:02:37 +00:00
adamk
d3cd92a2f8 Remove dead TargetCollector code from the parser
This also simplifies target_stack_ and tightens up the types of nodes
that can appear in it.

Best I can tell, this code has been dead since
https://code.google.com/p/v8/source/detail?r=7542

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

Cr-Commit-Position: refs/heads/master@{#26083}
2015-01-15 19:18:22 +00:00
bmeurer
5c43818ede [turbofan] Improve AstGraphBuilder::BuildToBoolean() for heap constants.
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26082}
2015-01-15 17:08:50 +00:00
bmeurer
a9d0d23405 Revert of [turbofan] Make Factory::NewNumber() always return the minus_zero_value. (patchset #1 id:1 of https://codereview.chromium.org/838263006/)
Reason for revert:
Breaks the tree

Original issue's description:
> [turbofan] Make Factory::NewNumber() always return the minus_zero_value.
>
> TEST=unittests
> R=mstarzinger@chromium.org, dcarney@chromium.org
>
> Committed: https://crrev.com/55b3e268b2895e2c09230d39669a75b6ab4e7e4d
> Cr-Commit-Position: refs/heads/master@{#26080}

TBR=dcarney@chromium.org,mstarzinger@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26081}
2015-01-15 15:29:42 +00:00
Benedikt Meurer
55b3e268b2 [turbofan] Make Factory::NewNumber() always return the minus_zero_value.
TEST=unittests
R=mstarzinger@chromium.org, dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26080}
2015-01-15 15:10:05 +00:00
bmeurer
dd6ce12645 [turbofan] Turn IrOpcode::IsXXX() into range checks.
TEST=unittests
R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26079}
2015-01-15 15:07:39 +00:00
bmeurer
4914716387 Revert of [turbofan] Use PlainPrimitiveToNumber whenever possible. (patchset #1 id:1 of https://codereview.chromium.org/852763002/)
Reason for revert:
Tanks performance of SQLite and towers.c.

Original issue's description:
> [turbofan] Use PlainPrimitiveToNumber whenever possible.
>
> TEST=cctest,unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/1a5db24e6bf831e61e3f4aa0c252f77e48c3689c
> Cr-Commit-Position: refs/heads/master@{#26071}

TBR=jarin@chromium.org,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26078}
2015-01-15 13:26:55 +00:00
mvstanton
23b181552e Vector-based LoadICs need to handle Smi receivers.
The MISS handler was being called when the receiver was a Smi, instead,
we should recognize the case and use the heap number map.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26076}
2015-01-15 12:52:47 +00:00
dcarney
63cde592e0 [turbofan] add flag for register allocation verification
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26074}
2015-01-15 12:17:36 +00:00
yangguo
22e6958d63 Fix remaining issues in the custom snapshot.
Math functions:
Some Math functions require typed arrays for their implementation. The embedded
script may call those Math functions. The serializer needs to deal with this.
Added assertion to make sure no other typed array is created when snapshotting.

Number-string cache:
We assume that the initial snapshot does not expand the number-string cache.
This is no longer true for custom heap snapshots.

Bound functions:
Bound functions store the bound arguments in a COW fixed array, including the
bindee function. COW arrays are serialized into the startup snapshot and
referenced in the partial snapshot via partial snapshot cache. However, the
bindee function is context-dependent and must not be part of the startup
snapshot. There is no need for bound functions to use a COW array though.

R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26072}
2015-01-15 11:22:17 +00:00
bmeurer
1a5db24e6b [turbofan] Use PlainPrimitiveToNumber whenever possible.
TEST=cctest,unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26071}
2015-01-15 09:49:23 +00:00
ulan
a956bf5827 Make map check in NamedStoreHandlerCompiler::GenerateFieldTypeChecks weak.
BUG=v8:3629
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26070}
2015-01-15 09:43:34 +00:00
dcarney
e6552d4917 Reland "[turbofan] simplify gap ordering"
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26069}
2015-01-15 09:06:05 +00:00
baptiste.afsa
51f3c66b64 [turbofan] Allow 0.0 as immediate for floating-point comparison on arm/arm64.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26066}
2015-01-15 06:31:07 +00:00
balazs.kilvady
466ed3a34d MIPS: Fix 'MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs''.'
Fix 30f2578ca2

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26064}
2015-01-14 20:39:56 +00:00
Ben L. Titzer
3244a66543 [turbofan] Fix corner case in loop analysis.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26063}
2015-01-14 17:06:37 +00:00
yangguo
fe82e03bb6 Correctly reference global proxy in the partial snapshot.
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26061}
2015-01-14 16:42:30 +00:00
mstarzinger
2ebe24c9cb First simple implementation of for-of in TurboFan.
R=rossberg@chromium.org
TEST=cctest/test-run-jsbranches/ForOfContinueStatement

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

Cr-Commit-Position: refs/heads/master@{#26060}
2015-01-14 15:24:29 +00:00
yangguo
6586bd19fd Introduce new compile histogram that includes parsing/caching.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26059}
2015-01-14 15:22:51 +00:00
jochen
c65799e7c5 Remove support for signatures with arguments
Support for it is slow and difficult to implement, and it's not used in
Blink. An embedder that uses this feature will have to check the
argument types itself.

BUG=none
R=dcarney@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26058}
2015-01-14 14:44:10 +00:00
fedor.indutny
e8b9f2d70b src: fix build on freebsd
BUG=
R=danno

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

Cr-Commit-Position: refs/heads/master@{#26057}
2015-01-14 14:35:39 +00:00
bmeurer
e1d878d16f Add proper support for proxies to HType.
TEST=mjsunit/regress/regress-crbug-448730
BUG=chromium:448730
LOG=y
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26056}
2015-01-14 13:57:09 +00:00
Benedikt Meurer
c916e8cfa7 Remove stray + character.
TBR=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26055}
2015-01-14 13:49:51 +00:00
jarin
ac04d777d6 [turbofan] Allow deoptimization for JSToNumber operator.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26053}
2015-01-14 13:09:32 +00:00
bmeurer
70b32e4b8a [turbofan] Fix truncation/representation sloppiness wrt. bool/bit.
TEST=cctest,mjsunit,unittests
BUG=v8:3812
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26051}
2015-01-14 12:06:56 +00:00
yangguo
b62f094884 Store embed-script flag as metadata into snapshot blob.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26049}
2015-01-14 11:06:51 +00:00
bmeurer
214387fce1 Revert of [turbofan] Improve typed lowering of JSBitwiseAnd. (patchset #1 id:1 of https://codereview.chromium.org/811653004/)
Reason for revert:
Breaks SQLite

Original issue's description:
> [turbofan] Improve typed lowering of JSBitwiseAnd.
>
> TEST=unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/284e1108182995abe85f580bc813d26491642b8c
> Cr-Commit-Position: refs/heads/master@{#26046}

TBR=jarin@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26048}
2015-01-14 09:07:07 +00:00
Benedikt Meurer
bf6e35a200 [turbofan] Index parameter to StoreWriteBarrier is word size.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26047}
2015-01-14 07:56:39 +00:00
Benedikt Meurer
284e110818 [turbofan] Improve typed lowering of JSBitwiseAnd.
TEST=unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26046}
2015-01-14 07:40:32 +00:00
balazs.kilvady
3da5a729e8 MIPS: [turbofan] Improve code generation for unordered comparisons.
Port c24220c0c1

TEST=cctest,unittests
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26045}
2015-01-13 20:28:13 +00:00
verwaest
dc8f4c8ce3 Reduce number of deopts caused by ForceDelete.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26044}
2015-01-13 18:05:49 +00:00
Andy Wingo
79a8caec54 AbortOptimization, RetryOptimization preserve first bailout reason
The current logic appears to have been introduced in
https://codereview.chromium.org/596783002.

R=yangguo@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26043}
2015-01-13 14:37:09 +00:00
mstarzinger
c36b5ac625 Make UBSan happy about OpParameter casts.
R=svenpanne@chromium.org
BUG=chromium:448141
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26042}
2015-01-13 13:38:49 +00:00