Commit Graph

9 Commits

Author SHA1 Message Date
Todd Turnidge 6b28b4f7ef Remove DebuggerEvent. Refactor remaining code.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1978603002 .
2016-05-13 09:49:31 -07:00
John McCutchan e2e7af1229 Remove more feature in product mode
- Remove Timeline.
- Remove more vmservice code.
- Remove AST printing.
- Remove IL printing.
- Remove profiler.
- Remove thread interrupter.
- Remove disassembler.
- Remove Library::CheckFunctionFingerprints.

- Update test status files for product mode.

Size of dart_bootstrap before: 5287631
Size of dart_bootstrap after: 5112783

Reduction in size: 174848 bytes.

Total reduction in size (382734 + 174848): 557582 bytes.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1678203002 .
2016-02-09 08:45:32 -08:00
vegorov@google.com 84db6df4ac Fix vm/cc/RangeAnd test
TBR=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42262 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 19:11:02 +00:00
vegorov@google.com 8f7f26c0a4 Reland "Suppress canonicalization of Unbox() instruction that can deoptimize."
This relands commit r41693 with additional fixes in canonicalization pass.

R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41736 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-14 11:19:42 +00:00
vegorov@google.com 9f9e250e92 Support Int32 representation for selected binary operations.
BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39595 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 14:49:19 +00:00
vegorov@google.com 336dbd4cbf Reland r39293.
Switch to a fix-point based range analysis to improve its precision.

Dominator based algorithm was very imprecise for loop phis.

Use widening to ensure fast convergence and narrowing to improve precision.

Fixed compared to r39293:

Type propagation is more sophisticated now compared to the time
when range analysis was originally implemented and is able to derive Smi-ness
from more than just CheckSmi instruction (e.g. GuardFieldClass). This creates
situations when use's reaching type is Smi but definition itself is not a Smi
and thus will never have range assigned to it.

It is incorrect to treat ranges of such uses as unknown (_|_), because unknown
means "not yet computed". Instead we must use the widest possible approximation:
full smi range.

InferRange methods were rewritten to use a newly introduced GetRange helper
instead of accessing value()->definition()->range() directly.

As a side-effect we no longer need to insert artificial constraints after CheckSmi instructions.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39327 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-18 11:06:27 +00:00
vegorov@google.com f2c3859068 Revert "Switch to a fix-point based range analysis to improve its precision."
This reverts r39293.

The dart2js part of the tree is on fire.

TBR=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39296 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 15:44:31 +00:00
vegorov@google.com 2b42387699 Switch to a fix-point based range analysis to improve its precision.
Dominator based algorithm was very imprecise for loop phis.

Use widening to ensure fast convergence and narrowing to improve precision.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39293 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 15:29:31 +00:00
vegorov@google.com 1acb21443f Consolidate all range analysis related code in a separate file.
This makes working with it easier, similar to how we have all type propagation code in flow_graph_type_propagator.{cc,h}

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38928 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 12:43:49 +00:00