Initial tests for JS interop

BUG=625

Review URL: https://chromiumcodereview.appspot.com//10696092

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

Review URL: https://chromiumcodereview.appspot.com//10696109

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9385 260f80e4-7a28-3924-810f-c04153c831b5
Ignore setters in constructors when evaluating determining firect field access

Setters in constructors cannot mutate an object after construction.

Doesen't do much for preformance but simplifies some of the generated
code and shakes out a few getters.

R=floitsch@google.com, ager@google.com

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10703087

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9386 260f80e4-7a28-3924-810f-c04153c831b5
First experimental steps towards a better story for JS interop.

R=vsm@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10700101

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9387 260f80e4-7a28-3924-810f-c04153c831b5
Mark js_interop_1_test as failing on IE

TBR=kasperl

Review URL: https://chromiumcodereview.appspot.com//10694081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9388 260f80e4-7a28-3924-810f-c04153c831b5
Chrome roll 145298->145436.

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9389 260f80e4-7a28-3924-810f-c04153c831b5
Associate partial source map with each code block in Universe.generatedCode.

That way we can create partial source maps for individual functions in codegen,
and join them into a single map at the end.

Currently partial source maps contain only begin and end positions of all functions.

R=ahe@google.com

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

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

Review URL: https://chromiumcodereview.appspot.com//10668029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9390 260f80e4-7a28-3924-810f-c04153c831b5
Add support for fixed parameters in SSA builder and fix a bug in the pre-order graph traversal.

Each fixed parameter is initially defined by a ParameterInstr as definition. This
definition is not in the instruction stream, but just in the initial environment
at the graph entry so that the live range of all parameters start at the same point.

The pre-order spanning tree was computed in the wrong way which caused test failures
when building SSA because renaming relies on the dominator tree which depends on
the preorder spanning tree.

Also change the IL printing functions to be more compatible with the visualizer tool.
Review URL: https://chromiumcodereview.appspot.com//10735002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9391 260f80e4-7a28-3924-810f-c04153c831b5
Make the new JS interop test pass on Dartium.
Review URL: https://chromiumcodereview.appspot.com//10700102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9392 260f80e4-7a28-3924-810f-c04153c831b5
Fix unparsing of prefix increments.

http://code.google.com/p/dart/issues/detail?id=3909

Review URL: https://chromiumcodereview.appspot.com//10698092

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9393 260f80e4-7a28-3924-810f-c04153c831b5
Revert "Associate partial source map with each code block in Universe.generatedCode."

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9394 260f80e4-7a28-3924-810f-c04153c831b5
Stop adding so many global functions in client/dart.js.

R=vsm@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10700103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9395 260f80e4-7a28-3924-810f-c04153c831b5
Reapply change to update dart2js operator equals semantics to follow the latest spec.

Changes since the version that was reverted are in patch set 2:

1. Fix one remaining dart2js test that relied on the old operator== behavior.

2. Fix type intersection operation to actually take null into account. Because of bounded types they should always use canBeNull.

R=floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10692087

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9396 260f80e4-7a28-3924-810f-c04153c831b5
Fix status for new interop tests on IE, FF

TBR'ing to green the bots.

TBR=kasperl

Review URL: https://chromiumcodereview.appspot.com//10696112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9397 260f80e4-7a28-3924-810f-c04153c831b5
A Google Maps sample for Dart.

This includes two libraries I intend to eventually factor out of this
sample:

- js.dart: A preliminary synchronous JS interop library using the DOM
  under the hood for communication.  It allows Dart code to
  synchronously invoke / eval JS code and use JSON-compatible types
  for parameters / return values.  It also provides rudimentary
  support for callbacks and for serializing Dart types back and forth
  to JSON.  There is still quite a bit of ugliness is in the callback
  and serialization code.

- maps.dart: A very incomplete Dart version of the Google Maps API
  built over the JS API via js.dart, filled in as needed to make the
  sample work.  The maps API essentially requires keeping references
  alive across the JS/Dart boundary, and I go through some contortions
  to deal (still inadequately) with this.

The main sample (directions.html/dart) works with both Dartium and Dart2JS.

Review URL: https://chromiumcodereview.appspot.com//10486003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9398 260f80e4-7a28-3924-810f-c04153c831b5
Mark interop tests as failing on ff/win only

TEST=js_interop_2_test

Review URL: https://chromiumcodereview.appspot.com//10695097

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9399 260f80e4-7a28-3924-810f-c04153c831b5
Associate partial source map with each code block in Universe.generatedCode.

That way we can create partial source maps for individual functions in codegen,
and join them into a single map at the end.

Currently partial source maps contain only begin and end positions of all functions.

R=ahe@google.com

Review URL: https://chromiumcodereview.appspot.com//10668029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9400 260f80e4-7a28-3924-810f-c04153c831b5
Reapply "Make patch file import declarations apply to the patched library too."

This reapplies r9346 with the following fix:
Adds #library tag to tests containing #import.
The test web-driver tries to source the file if it doesn't contain
a #library declaration, which isn't valid if it contains #import.

R=floitsch

Review URL: https://chromiumcodereview.appspot.com//10698096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9401 260f80e4-7a28-3924-810f-c04153c831b5
Extract common FactoryProviders generation logic.

R=antonm@google.com,sra@google.com

Review URL: https://chromiumcodereview.appspot.com//10704096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@9402 260f80e4-7a28-3924-810f-c04153c831b5
Fix more type intersection stuff.

R=floitsch@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10700104

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