add pub serve stop to plugins

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42407 260f80e4-7a28-3924-810f-c04153c831b5
Revert "dart2js: put all type-test related properties on the prototype and not on the constructor."

This reverts commit r42392.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42408 260f80e4-7a28-3924-810f-c04153c831b5
Use compare and swap when updating tag word in all C++ runtime code that might run concurrently.

This was done back in r39731, but then partially reverted in r39734, and has been broken ever since.

Also distinguish between sync/unsync versions. While old-space GC marker is non-concurrent, it uses unsync versions for efficiency.

Add a template to share code between sync versions and avoid unintentional discrepancies.

R=iposva@google.com

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

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