ishell@chromium.org
bf7a9bf8dc
HCheckInstanceType factories unified
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/35413007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:03:15 +00:00
ishell@chromium.org
a333094165
PushAndAdd() usages refactored.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/36893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:34:39 +00:00
hpayer@chromium.org
fbaf016b6d
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/32643004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 10:41:21 +00:00
dcarney@chromium.org
6eeb141a37
force accessor pair accesses backed by simple api calls to be generic accesses when crankshafted
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/34773003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 08:46:46 +00:00
bmeurer@chromium.org
32d96248f9
Guard against misuse of IfBuilder.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/30693007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:37:15 +00:00
ishell@chromium.org
32cdd4d48a
More Hydrogen templatization.
...
Factories added to a set of Hydrogen classes.
Several old-style HXxx::New() replaced with New<HXxx>() and NewUncasted<HXxx>.
Several AddInstruction() calls following New::XXX() replaced with Add<XXX>().
AddLoadNamedField() method added to GraphBuilder.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/34523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 11:29:05 +00:00
titzer@chromium.org
d63c8e4dc3
Allow constants to be deleted by reinserting them into the graph as needed.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/31943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 14:09:32 +00:00
danno@chromium.org
4c565138b5
Add tool to visualize machine code/lithium.
...
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.
Originally reviewed in this CL: https://codereview.chromium.org/24957003/
Review URL: https://codereview.chromium.org/29123008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:35:48 +00:00
bmeurer@chromium.org
100fb55555
Inline number to string conversion for string addition into BinaryOp(Stub).
...
This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/27674002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 12:42:08 +00:00
bmeurer@chromium.org
ef12527b7c
Revert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected."
...
This reverts commit r17288 for breaking the mjsunit/unbox-double-arrays
test on almost every platform.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/32373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 12:32:38 +00:00
hpayer@chromium.org
9667e1b30f
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/32263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 12:10:01 +00:00
mvstanton@chromium.org
8f9f192f6e
AllocationSites for all literals
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
Review URL: https://codereview.chromium.org/27366003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 08:10:36 +00:00
mvstanton@chromium.org
f4edc076d8
Revert "AllocationSites for all literals"
...
This reverts commit r17219 due to WebKit failures.
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/26539010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:35:23 +00:00
jkummerow@chromium.org
ea4e0a3d28
Simplify array element access in Hydrogen.
...
No change in functionality intended.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/26986004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:06:04 +00:00
mvstanton@chromium.org
362c0cfbca
AllocationSites for all literals
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24250005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:52:58 +00:00
jkummerow@chromium.org
1d580b4fd0
Delete dead code from HOptimizedGraphBuilder::VisitCompareOperation
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/26419005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 11:24:37 +00:00
rossberg@chromium.org
c806a2385d
Unify handling of position info in AST, part 3
...
* Turn CaseClause into a proper AstNode
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23684058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 11:06:15 +00:00
mvstanton@chromium.org
71af6c86a1
Allow FastCloneShallowObjectStub to use AllocationMementos.
...
(currently turned off)
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/26827002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 09:25:14 +00:00
dslomov@chromium.org
12250f23d8
Add instruction factories to HHasInstanceTypeAndBranch.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/26859003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 20:01:42 +00:00
olivf@chromium.org
66c610398f
Reland "Hydrogenisation of binops"
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/25494007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 08:17:11 +00:00
olivf@chromium.org
24c2336d75
Inline some more compare operations.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/25009003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:15:57 +00:00
verwaest@chromium.org
41f660fe07
Rename ComputeLoadStoreField to just handle ComputeStoreField.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25683005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:17:00 +00:00
danno@chromium.org
79a14d3f73
Fix failure in unit tests
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/25665006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 16:13:49 +00:00
danno@chromium.org
d4bcf5d730
Fix test262 failures and x64 compile failure.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/25604008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 15:27:51 +00:00
verwaest@chromium.org
7e0ea6ab46
Only fold polymorphic into monomorphic load if all load from either receiver or same prototype.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25718002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:24:08 +00:00
danno@chromium.org
908a7dc2a8
Improve and simplify removal of unreachable code
...
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.
BUG=chromium:258519
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22876009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:43:41 +00:00
palfia@homejinni.com
4b9a9f7af7
MIPS: Allow function inlining with context change.
...
Port r17019 (cd4b69cd)
BUG=
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/25622003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:25:06 +00:00
olivf@chromium.org
9459ed3ab4
Revert "Hydrogenisation of binops"
...
This reverts r17052-17054 for various build breaks.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/25571002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 18:00:02 +00:00
olivf@chromium.org
7873f35eb2
Hydrogenisation of binops
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/24072013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 15:24:56 +00:00
mstarzinger@chromium.org
b9b528e030
Defer allocation of native function literals.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/25473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:37 +00:00
mvstanton@chromium.org
aa90e62ba0
In crankshafted code, we were creating allocation mementos for shallow
...
SMI array literals when we shouldn't. The idea is that we should have learned
by this point what type of array we'll end up with.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/25146007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:22:01 +00:00
jkummerow@chromium.org
85ae341b09
Revert "Defer allocation of native function literals."
...
This reverts r17017 for breaking LayoutTests.
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/25315002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 17:42:58 +00:00
rodolph.perfetta@gmail.com
e7669d9308
ARM: Allow function inlining with context change.
...
BUG=none
TEST=none
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/25247002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:08:20 +00:00
mstarzinger@chromium.org
c624141bf3
Defer allocation of native function literals.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/25164003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:49:11 +00:00
yangguo@chromium.org
2dec4372d8
Finish control flow after throw if not inlined.
...
R=jkummerow@chromium.org
BUG=v8:2868
Review URL: https://codereview.chromium.org/24768002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:48:19 +00:00
mvstanton@chromium.org
807cdd492b
Refactoring such that loop builders only call into the HOsrBuilder if
...
compiling for OSR.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/25039003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:38:04 +00:00
titzer@chromium.org
d441160cab
Implement local check elimination on basic blocks.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23866016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 16:25:57 +00:00
olivf@chromium.org
9d3c5c5fb6
Macrofication of HInstruction constructors with context argument.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/24544002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 11:57:20 +00:00
dslomov@chromium.org
39877060ee
Speed up ArrayBuffer/typed array/DataView properties.
...
Optimizes byteLength, byteOffset, buffer and other properties on
ArrayBuffer, typed arrays and DataView into simple field loads. Some
unification with the way Array.length and String.length are treated.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24360019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 08:19:35 +00:00
titzer@chromium.org
cee5773017
Use Unique<Object> in HConstant and remove UniqueValueId.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24350014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 09:48:39 +00:00
bmeurer@chromium.org
70b8e2d013
Turn the NumberToStringStub into a hydrogen stub.
...
This adds a BuildLookupNumberStringCache() in Hydrogen, which will
be used by the hydrogen version of StringAddStub, in addition to the
hydrogen version of NumberToStringStub.
R=mvstanton@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16874
Review URL: https://codereview.chromium.org/23726041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 09:31:07 +00:00
mstarzinger@chromium.org
8cbb4dcb49
Handlify JSObject::MigrateInstance and friends.
...
This relands the original change from r16899 together with a bugfix for
two unhandlified values which became stale.
R=verwaest@chromium.org
TEST=mjsunit/debug-evaluate-locals-optimized (in GC stress mode)
Review URL: https://codereview.chromium.org/24210011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 19:56:36 +00:00
olivf@chromium.org
42ce84134f
Revert "Allow control intructions to have side effects."
...
Breaks arm build.
BUG=
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/24255015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 18:57:32 +00:00
olivf@chromium.org
3e13af46e4
Allow control intructions to have side effects.
...
As a first application convert HCompareGeneric to a control Instruction, thus avoid materializing a boolean result value.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/23710070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 16:56:34 +00:00
mstarzinger@chromium.org
40decafa84
Revert "Handlify JSObject::MigrateInstance and friends."
...
This is reverted due to mozilla/ecma/Date/15.9.5.9 failing on Windows.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24374002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 16:53:59 +00:00
mstarzinger@chromium.org
1279103806
Handlify JSObject::MigrateInstance and friends.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23583052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 15:02:25 +00:00
machenbach@chromium.org
576515ebf3
Revert "Turn the NumberToStringStub into a hydrogen stub."
...
This reverts commit 16874 for breaking the tests.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23440064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 11:22:35 +00:00
bmeurer@chromium.org
9c48fbda75
Turn the NumberToStringStub into a hydrogen stub.
...
This adds a BuildLookupNumberStringCache() in Hydrogen, which will
be used by the hydrogen version of StringAddStub, in addition to the
hydrogen version of NumberToStringStub.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/23726041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 10:58:45 +00:00
verwaest@chromium.org
3dd88c4067
Pad the environment with 0 rather than the receiver to avoid influencing the representation of the join.
...
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23707055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 11:34:05 +00:00
bmeurer@chromium.org
6fce49609b
Allow IfBuilder's to join existing (captured) continuations.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/23452049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 10:47:09 +00:00