Commit Graph

16 Commits

Author SHA1 Message Date
floitsch@google.com f1147e96b0 Transitively mark inputs as live when they are generateAtUseSite.
Review URL: https://chromiumcodereview.appspot.com//10667013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9119 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 17:14:16 +00:00
ager@google.com bf7163f1a6 Reapply: Use GVN for length loads from arrays and strings.
- Fix bug in variable allocation.
- Treat all HCheck instructions the same when it comes to GVN. They do not have side-effects.

Changes since last version:

- give HTypeConversion a typeCode and implement typeEquals and dataEquals.
- clear side effects for array and string loads when enabling GVN.

R=floitsch@google.com,kasperl@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10559081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8905 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 12:52:26 +00:00
ager@google.com 2da4a051f9 Revert GVN changes while investigating
R=kasperl@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10578038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8901 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 12:07:39 +00:00
ager@google.com 882d355f03 Use GVN for length loads from arrays and strings.
- Fix bug in variable allocation.
- Treat all HCheck instructions the same when it comes to GVN. They do not have side-effects.

R=floitsch@google.com,kasperl@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10573027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8900 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 11:48:28 +00:00
floitsch@google.com 11e613aadb Introduce HLocalValue and HLocalGet/Set.
Review URL: https://chromiumcodereview.appspot.com//10562041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8854 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 15:56:50 +00:00
ager@google.com 788f5af41a Reapply change to GVN all HFieldGet instructions.
- Enable GVN for all HFieldGet.
- Mark all non-final HFieldGet as depending on something.
- Mark control flow as not having side effects.
- Fix dead code elimination to not treat control flow as dead code.
- Fix live ranges for HChecks to unconditionally have the same live range as the instruction they are checking.
- Added Nicolas' fix for GVN in loops (https://chromiumcodereview.appspot.com/10565025).

R=floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10566021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8769 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 09:13:35 +00:00
ager@google.com 88f372f99e Revert "Reapply change to GVN all HFieldGet instructions."
Failures on browsers.

R=floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10544174

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8718 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 13:10:19 +00:00
ager@google.com 9c2664a557 Reapply change to GVN all HFieldGet instructions.
- Enable GVN for all HFieldGet.
- Mark all non-final HFieldGet as depending on something.
- Mark control flow as not having side effects.
- Fix dead code elimination to not treat control flow as dead code.
- Fix live ranges for HChecks to unconditionally have the same live range as the instruction they are checking.

R=floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8717 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 12:51:46 +00:00
ngeoffray@google.com 16348efa9a Try to reuse temporary names.
Review URL: https://chromiumcodereview.appspot.com//10532047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8389 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 11:37:17 +00:00
ngeoffray@google.com afc3fdaf70 Compute the swap temporary to not clash with parameter names.
Review URL: https://chromiumcodereview.appspot.com//10543050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8385 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 10:03:17 +00:00
ngeoffray@google.com bb2b3bca56 Fixes for checked mode and change buildbot script to run dart2js tests in checked mode also.
Review URL: https://chromiumcodereview.appspot.com//10543027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8382 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 09:03:16 +00:00
ngeoffray@google.com ec794c987c Remove the 'element' field on a HParameterValue to use the 'sourceElement' of HInstruction. Also, we should keep a type guard when we want a type that is a supertype of the declared type (eg we want num, the declared type is int).
Review URL: https://chromiumcodereview.appspot.com//10533003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8326 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 12:29:15 +00:00
lrn@google.com c9318b8dbb Fix some editor warnings.
Review URL: https://chromiumcodereview.appspot.com//10477010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8248 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 12:10:43 +00:00
ngeoffray@google.com 9afc7a2643 Avoid generating empty else.
Review URL: https://chromiumcodereview.appspot.com//10446098

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8149 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 12:49:08 +00:00
ngeoffray@google.com 3e1fdf73d2 Use the parameterNames map to allocate names for HParameterValue. In case of native methods, we must not mangle the name.
Review URL: https://chromiumcodereview.appspot.com//10453096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8146 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 10:35:31 +00:00
ngeoffray@google.com a903fa6978 Compute liveness of instructions to get better and fewer variable names.
Review URL: https://chromiumcodereview.appspot.com//10440087

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8145 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 08:51:50 +00:00