Add support for status context with Analysis Server.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40341 260f80e4-7a28-3924-810f-c04153c831b5
Skip vm standalone tests failing for drt runtime as well.

R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40347 260f80e4-7a28-3924-810f-c04153c831b5
Redefine union-type subtyping to be more permissive.

Here "permissive" is a euphemism for "unsound". However, since our
type analyses are sound rather than complete, the less permissive
notion of union-type subtyping could in theory lead to hints
where the user knows their code is correct.

R=brianwilkerson@google.com, jwren@google.com
BUG=

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

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

[209/7854] CXX obj/dart/runtime/vm/libdart_vm.intermediate_language.o

../../dart/runtime/vm/intermediate_language.cc:1777:45: warning: implicit conversion of NULL constant to 'intptr_t' (aka 'long') [-Wnull-conversion]

        to() == kUnboxedInt32 ? deopt_id_ : NULL);

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40355 260f80e4-7a28-3924-810f-c04153c831b5
Fix x64 patching of asllocation stub: the pool pointer must be set-up before patching jump is executed.

R=koda@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40358 260f80e4-7a28-3924-810f-c04153c831b5
add element to completion suggestion API

BUG=
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40360 260f80e4-7a28-3924-810f-c04153c831b5
convert engine element setter to completion element setter

BUG=
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40362 260f80e4-7a28-3924-810f-c04153c831b5
Make is-check type-propagation closer to spec and better for union types.

Discussion from comments:

    // If we aren't allowing precision loss then the third and fourth conditions check that we
    // aren't losing precision.
    //
    // Let [C] be the current type and [P] be the potential type.  When we aren't allowing
    // precision loss -- which is the case for is-checks -- we check that [! (C << P)] or  [P << C].
    // The second check, that [P << C], is analogous to part of the Dart Language Spec rule
    // for type promotion under is-checks (in the analogy [T] is [P] and [S] is [C]):
    //
    //   An is-expression of the form [v is T] shows that [v] has type [T] iff [T] is more
    //   specific than the type [S] of the expression [v] and both [T != dynamic] and
    //   [S != dynamic].
    //
    // It also covers an important case that is not applicable in the spec: for union types, we
    // want an is-check to promote from an union type to (a subtype of) any of its members.
    //
    // The first check, that [! (C << P)], covers the case where [P] and [C] are unrelated types;
    // This case is not addressed in the spec for static types.

R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40363 260f80e4-7a28-3924-810f-c04153c831b5
Estimate quotient digit in Bigint division using an integer division instead of
a floating point division.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40365 260f80e4-7a28-3924-810f-c04153c831b5
add element to completion suggestions
suggest getter rather than field element
add test for function suggestions

BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40366 260f80e4-7a28-3924-810f-c04153c831b5
Instead of special casing one-element interpolations, just generate a static call to _interpolateSingle directly in the IL.

R=fschneider@google.com

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

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

Crashes in debug-mode.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40368 260f80e4-7a28-3924-810f-c04153c831b5
Instead of special casing one-element interpolations, just generate a static call to _interpolateSingle directly in the IL.

R=fschneider@google.com

Committed: https://code.google.com/p/dart/source/detail?r=40367

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40369 260f80e4-7a28-3924-810f-c04153c831b5
Dart2dart new backend support for getters and setters.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40370 260f80e4-7a28-3924-810f-c04153c831b5
Make dart2js deferred loading work in CSP mode.

Still it will not work from a js-worker, because we use new Function to
evaluate the script instead of injecting a script tag.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40371 260f80e4-7a28-3924-810f-c04153c831b5
Use ConstExp for storing constants.

Main modification in

compile_time_constants.dart
cps_ir/const_expression.dart
cps_ir/cps_ir_builder.dart

R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40372 260f80e4-7a28-3924-810f-c04153c831b5
Add argument error for int.parse(null).

Slightly tweak _tryParseSmi to generate slightly less code.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40373 260f80e4-7a28-3924-810f-c04153c831b5
Fix handling of native annotations.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40374 260f80e4-7a28-3924-810f-c04153c831b5
Initial steps towards cleaning up integer arithmetic IR.

Introduce base classes for binary and unary integer operations and move all shared logic (e.g. canonicalization) into these classes.

Start removing special cases dispatch from instructions patterns - it goes into Canonicalization pass.

Start removing duplication between instruction patterns where meaningful and possible.

Cleanup the notion of truncation in the operations: is_truncating implies !can_overflow, not the other way around.

BUG=
R=johnmccutchan@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40375 260f80e4-7a28-3924-810f-c04153c831b5
Revert "Use ConstExp for storing constants."

This reverts commit r40372.

Revert "Fix handling of native annotations."

This reverts commit r40374

R=herhut@google.com

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

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