Add DartTypes to abstract Types.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42394 260f80e4-7a28-3924-810f-c04153c831b5
Clean up FunctionDefinition in the IR S-expression representation.

Separate value parameters from the continuation for symmetry with
function invocations.  Do not make closure variables optional.  Do not
use '{' or '}', since it makes parsing more difficult and probably
screws up other tools that work with S-expressions.

Move closure variables after the parameters and just before the body,
since they are not part of the signature, do not appear at call sites,
and the implicit box creation happens at the beginning of the body
anyway.

R=asgerf@google.com, karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42395 260f80e4-7a28-3924-810f-c04153c831b5
Support remaping of pair location inside materializations for slow paths.

Move remaping logic into Location::RemapForSlowPath to ensure that it is shared and will not get out of sync again.

BUG=http://dartbug.com/21887
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42396 260f80e4-7a28-3924-810f-c04153c831b5