svenpanne@chromium.org
|
b9e025a8dc
|
Collect type feedback for power-of-2 right operands in BinaryOps.
Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/15735005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-06-04 07:49:45 +00:00 |
|
verwaest@chromium.org
|
179ac2cd0c
|
Improve smi support in crankshaft
- Recover smi in phis if inputs are smi-typed
- Don't record smi-typed values as pointers
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16240003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-06-03 16:57:36 +00:00 |
|
yangguo@chromium.org
|
7f8a3d803c
|
Make assertion scopes thread safe.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15691017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-06-03 15:32:22 +00:00 |
|
verwaest@chromium.org
|
1a4a904bef
|
Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15952007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-30 09:11:06 +00:00 |
|
olivf@chromium.org
|
88755fb22a
|
Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.
[
CL breaks mips, since the deoptimizer in Deoptimizer::DoTranslateCommand(...) does not convert smis passed to the stub via a0.
]
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/15302004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-29 14:49:28 +00:00 |
|
svenpanne@chromium.org
|
7bfe1436d3
|
Improve range analysis for modulo operations.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15952004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-29 12:42:04 +00:00 |
|
verwaest@chromium.org
|
7d32e7451f
|
Don't explicitly pass requested representations to constants; implement ConstantS
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15932011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-29 10:47:55 +00:00 |
|
verwaest@chromium.org
|
4fcaace0a9
|
Always deoptimize on undefined if a double value implicitly gets converted.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16126002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-28 06:31:05 +00:00 |
|
verwaest@chromium.org
|
aa2444269b
|
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
conversions from double the hole NaN -> tagged undefined).
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16099006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-27 17:33:14 +00:00 |
|
verwaest@chromium.org
|
a64b7f926f
|
Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15841007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-27 09:58:46 +00:00 |
|
verwaest@chromium.org
|
3cb8f95c91
|
Tag smi-constants as smi. This also fixes code that copies holes into arrays.
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15861009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-27 08:43:58 +00:00 |
|
verwaest@chromium.org
|
2a28f53b18
|
Fix hole handling, and ensure smi representation is handled properly
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16013003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-24 13:40:02 +00:00 |
|
titzer@chromium.org
|
77f85fa0d3
|
Remove offset() and is_in_object() from hydrogen and lithium LoadNamedField and StoreNamedField and use the appropriate methods on HObjectAccess instead
BUG=
Review URL: https://codereview.chromium.org/15881003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-24 12:40:08 +00:00 |
|
verwaest@chromium.org
|
c417df74f4
|
Update representation-from-uses to support smi.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15692004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-24 12:29:37 +00:00 |
|
verwaest@chromium.org
|
c9a22a3c8d
|
Replace tagged keys for fast access by smi, and use smi in boundscheck.
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15763004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-24 08:52:35 +00:00 |
|
titzer@chromium.org
|
94b4240f5c
|
Introduce ObjectAccess, which is used by LoadNamedField and StoreNamedField to denote what parts of an object are referred to by a given load or store. Refactor HGraphBuilder to use ObjectAccess, which removes the need to manually set GVN flags and simplifies the code as well.
Review URL: https://codereview.chromium.org/14284010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-24 08:38:21 +00:00 |
|
verwaest@chromium.org
|
d057410e20
|
Require smi for keyed store to smi.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15884002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-23 15:01:17 +00:00 |
|
verwaest@chromium.org
|
632f591884
|
Tag length of FixedArrayBase and smi-array[x] as smi representation
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15858006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-23 14:38:39 +00:00 |
|
yangguo@chromium.org
|
a1e18bdf3c
|
Improve SeqStringSetChar implementation.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15743006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-23 09:51:06 +00:00 |
|
jkummerow@chromium.org
|
f691f48c14
|
Avoid creating duplicate entries for a value when merging HSimulates
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/15660003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-23 09:17:01 +00:00 |
|
verwaest@chromium.org
|
308e69755b
|
Implement HChange support for Smis and use it in Load/StoreNameField
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15303004
Patch from Daniel Clifford <danno@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-23 08:32:07 +00:00 |
|
verwaest@chromium.org
|
d1b5a2518d
|
Handle holes in smi-untag from LoadKeyed requiring hole handling.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15737003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-22 16:32:33 +00:00 |
|
verwaest@chromium.org
|
b353b1d131
|
Don't allow copying holes to fields.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15745006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-22 15:33:53 +00:00 |
|
titzer@chromium.org
|
5746d38351
|
Fix code gen bug on arm and mips; SeqStringSetChar overwrites a register; Add better default PrintDataTo for HInstruction
BUG=
Review URL: https://codereview.chromium.org/14895019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-16 14:27:39 +00:00 |
|
olivf@chromium.org
|
8bbe48c7b9
|
Add a HBreak instruction for debugging
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14997008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-15 14:24:47 +00:00 |
|
titzer@chromium.org
|
68eb1e50ca
|
Improve dead code elimination by transitively marking live code and removing all dead code. Replace unreachable phi removal algorithm with the new dead code elimination pass, which is more thorough.
Review URL: https://codereview.chromium.org/14676011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-14 13:10:52 +00:00 |
|
danno@chromium.org
|
6862babfd6
|
Remove HIsNilAndBranch (it's now unused)
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14971005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-14 12:56:53 +00:00 |
|
svenpanne@chromium.org
|
c1bc396c2d
|
Consistently assume that arithmetic operations can overflow unless one can prove the opposite.
Previously, HDiv never had its CanOverflow flag cleared and HMod had
inverted logic (compared to HAdd, HSub and HMul). Minor cleanups on the way.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14617015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-13 13:48:15 +00:00 |
|
jkummerow@chromium.org
|
7636fdec27
|
Fix missing hole check for loads from Smi arrays when all uses are changes
BUG=chromium:233737
Review URL: https://codereview.chromium.org/14978004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-13 11:58:10 +00:00 |
|
danno@chromium.org
|
05e8e0e7b4
|
Elide hole checks on KeyedLoads of holey double arrays
Improves NavierStokes by about 5%
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/15014020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-13 07:35:26 +00:00 |
|
verwaest@chromium.org
|
df57747fc4
|
Track heap objects.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14996004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-10 17:17:50 +00:00 |
|
mstarzinger@chromium.org
|
8829a94c24
|
Remove obsolete HArrayLiteral instruction.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14847013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-10 09:52:08 +00:00 |
|
mstarzinger@chromium.org
|
efe91b56f6
|
Remove obsolete HObjectLiteral instruction.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14972008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-10 09:47:05 +00:00 |
|
mvstanton@chromium.org
|
ef5211d8af
|
Parallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14761010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-08 16:48:27 +00:00 |
|
verwaest@chromium.org
|
52008429b7
|
Use mutable heapnumbers to store doubles in fields.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14850006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-08 15:02:08 +00:00 |
|
danno@chromium.org
|
bd9274436c
|
Bias commutative single-use register inputs and support lea adds
This improves register allocation for many common add and multiply patterns on ia32 and x64 by reducing register pressure.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14856015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-08 08:37:24 +00:00 |
|
titzer@chromium.org
|
dbcd0e925a
|
Remove HLoadElements instruction and replace with use of more general HLoadNamedField. This removes the need for both the hydrogen and lithium instructions and allows both kinds of loads to be GVN'd.
Review URL: https://codereview.chromium.org/14556020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-03 12:21:16 +00:00 |
|
jkummerow@chromium.org
|
0ac47f23d8
|
Remove 'unanimous use observations' rule from Phi representation inference
Review URL: https://codereview.chromium.org/14840014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-05-03 08:50:48 +00:00 |
|
mstarzinger@chromium.org
|
04fdcad547
|
Fix HConstant::InNewSpace() for parallel compilation.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/13977019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-30 08:00:43 +00:00 |
|
mvstanton@chromium.org
|
bc50e21b23
|
HConstant::InNewSpace() should be a constant function
BUG=
Review URL: https://codereview.chromium.org/14455004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-26 15:48:13 +00:00 |
|
verwaest@chromium.org
|
99e17bb12a
|
Track storage types of instance variables.
Review URL: https://chromiumcodereview.appspot.com/14146005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-26 15:30:41 +00:00 |
|
mvstanton@chromium.org
|
84355ae411
|
Lithium: avoid registers for constants when possible.
BUG=
Review URL: https://codereview.chromium.org/14364010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-26 14:04:07 +00:00 |
|
mstarzinger@chromium.org
|
bb2d8a51da
|
Implement support for Math.imul in Crankshaft.
R=jkummerow@chromium.org
TEST=mjsunit/math-imul
Review URL: https://codereview.chromium.org/14471041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-26 08:52:35 +00:00 |
|
jkummerow@chromium.org
|
f80d86cbb1
|
Better handling of Phi nodes with constant inputs
Review URL: https://codereview.chromium.org/14471034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-26 08:47:02 +00:00 |
|
mvstanton@chromium.org
|
e751ad06d9
|
Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
BUG=
Review URL: https://codereview.chromium.org/12385014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-25 16:00:32 +00:00 |
|
yangguo@chromium.org
|
1ad3d57d9d
|
Get isolate from thread local instead of (potentially missing) block in HConstant.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14284011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-25 10:57:24 +00:00 |
|
svenpanne@chromium.org
|
bc06a802a7
|
Fixed HUnaryMathOperation regarding its possible operations.
Review URL: https://codereview.chromium.org/14333013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-24 14:51:14 +00:00 |
|
svenpanne@chromium.org
|
b08fcc54a0
|
MathSqrt and MathPowHalf do not cause any promotion.
Review URL: https://codereview.chromium.org/13829009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-24 12:43:33 +00:00 |
|
danno@chromium.org
|
f8ddf3a262
|
Add monomorphic CompareNilICs and Crankshaft support
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14367018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-24 11:32:17 +00:00 |
|
mvstanton@chromium.org
|
535df803b9
|
If the input to an HChange is of type smi, then no need to mark gvn flag changes new space promotion.
BUG=
Review URL: https://codereview.chromium.org/14253010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2013-04-24 09:14:56 +00:00 |
|