Refactor the CPS SExprStringifier.

R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42015 260f80e4-7a28-3924-810f-c04153c831b5
Remove the hashCode function from CPS nodes.

R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42016 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Support mixins in the new emitter.

R=kasperl@google.com, sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42017 260f80e4-7a28-3924-810f-c04153c831b5
Add an optional decorator to SExprStringifier to augment the output of nodes.

R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42018 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: use named holes in boilerplate of new emitter.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42019 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Remove dead code.

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42020 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: fix caching compiler. (field is not there anymore).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42021 260f80e4-7a28-3924-810f-c04153c831b5
Add support for (unintercepted) method calls to the cps js emitter.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42022 260f80e4-7a28-3924-810f-c04153c831b5
Add support for fields to the new dart backend.

Field initializers are represented similarly to a function with no
parameters.
When they are emitted in backend_ast_emitter.dart `ensureExpression`
wraps the code in an immediately invoked closure if it is not on the
simple form `return e;`.
Ideally this should never happen, but currently happens for cases like eg.
class A {
  static var b = 1;
  var a = b++;
}

main() {
  var a = new A();
  print(a.a);
}

Gets converted to:

class A {
  static var b = 1;
  var a = (() /* new backend */
    {
      var v0;
      v0 = A.b;
      A.b = v0 + 1;
      return v0;
    }
  )();
}

main() /* new backend */
  {
    print(new A().a);
  }

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42024 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Make usage of names more consistent between compiler and runtime.

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42025 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Remove dead code in type test emitter.

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42026 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Split TypeTestEmitter into a registry and an emitter.

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42027 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Move TypeTestRegistry into its own file.

R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42028 260f80e4-7a28-3924-810f-c04153c831b5
Support for map literals in cps js emitter

R=floitsch@google.com

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

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