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