Use the version solver when choosing a version for pub global activate.

R=rnystrom@google.com
BUG=20287

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39429 260f80e4-7a28-3924-810f-c04153c831b5
Don't use LinkedEditGroup.id.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39430 260f80e4-7a28-3924-810f-c04153c831b5
Close servers for bin directories when precompiling executables.

R=rnystrom@google.com
BUG=20482

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39431 260f80e4-7a28-3924-810f-c04153c831b5
Fix erroneous error and preserve async information in element model

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39432 260f80e4-7a28-3924-810f-c04153c831b5
Edits to protocol.md.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39433 260f80e4-7a28-3924-810f-c04153c831b5
Initial 'Extract Local' implementation.

Missing:

1. suggested names;
2. offsets and lengths of occurrences.
3. some clean ups.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39434 260f80e4-7a28-3924-810f-c04153c831b5
Implement more-specific-than (<<) for union types.

Simplify test code per brianwilkerson's suggestion.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39435 260f80e4-7a28-3924-810f-c04153c831b5
Tweak CheckArrayBound location summary.

It does not make sense to permit memory location for the index at bounds check as it is likely to be used right after as register for actual indexed load. Instead allow length itself to be in the memory.

BUG=
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39436 260f80e4-7a28-3924-810f-c04153c831b5
Don't recompute the package graph unnecessarily in Entrypoint.

R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39437 260f80e4-7a28-3924-810f-c04153c831b5
Fix memory leak in unittest - the testCases variable doesn't release the
closure of each test after it runs.

R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39438 260f80e4-7a28-3924-810f-c04153c831b5
Implement [appendTo] and [getDisplayName] for union types.

I can't make sense of the difference between [appendTo] and
[getDisplayName]. Their implementations are almost the same
in existing types, so I've copied that pattern here without
really understanding what they're used for :P

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39439 260f80e4-7a28-3924-810f-c04153c831b5
Fix tests for pub global activate.

R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39440 260f80e4-7a28-3924-810f-c04153c831b5
Don't recompile dependency executables that haven't changed.

R=rnystrom@google.com
BUG=20482

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39441 260f80e4-7a28-3924-810f-c04153c831b5
Update test scripts to run under the Dart 1.6 vm.

BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39443 260f80e4-7a28-3924-810f-c04153c831b5
VM: Improve performance of method recognizer and unify the it with the intrinsifier.

The method recognizer is now in a separate file and the intrinsifier uses the
same infrastructure. Each function is marked at initialization time, so that
recognizing a method is a fast operation (reading a field from the Function object)

I cleaned the symbol table from unused symbols since I had to regenerate the
binary snapshot in the repository anyway for this change.

I had to rename the methods that are duplicated between the recognized method list
and the intrinsics list to match the naming convention used by the method recognizer.
I left the other intrinsics unchanged for now. They will be renamed in a future CL.

R=srdjan@google.com

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

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

Only gcc seems to support using a non-static member name in a 
sizeof expression written sizeof(A::m).

Using a dereference expression instead.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39445 260f80e4-7a28-3924-810f-c04153c831b5
Improve polymorphic inlining of int/int double/double operations.

I added inlining of the native Double methods _add, _sub, _mul and _div and fromInteger
and unified the method recognition of the MethodRecognizer and the Intrinsifier classes.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39446 260f80e4-7a28-3924-810f-c04153c831b5
First attempt at making a new lazy emitter. Hello, World runs!

R=floitsch@google.com
BUG=

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

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

R=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39448 260f80e4-7a28-3924-810f-c04153c831b5
On ia32 allow powers of two and corresponding full bit masks as safe smis.

This considerably improves generated code allowing these values (commonly used in bitwise computations) to be embedded as immediates.

R=fschneider@google.com
BUG=

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

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