Commit Graph

370 Commits

Author SHA1 Message Date
asiva@google.com 491035987f Change Dart_GetNativeBooleanArgument to use class Ids and direct
pointer comparision of the singleton objects to determine value.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31311 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 00:15:13 +00:00
asiva@google.com a576fec3c0 Allow the native resolver to setup whether it needs the Dart API scope to
be setup automatically or not when a native function is invoked.
This would allow the embedder to treat some native functions as leaf
functions whose invocation can be very light.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31286 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 17:47:56 +00:00
turnidge@google.com b640712e6b Handle vmservice messages while at breakpoint.
Allow rudimentary inspection of breakpoints from vmservice.

R=hausner@google.com, johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31233 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 17:45:17 +00:00
iposva@google.com 1e8061f060 - Remove the reply_port from the VM internal message object.
- Adjust all the uses of this API.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31205 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 21:11:18 +00:00
srdjan@google.com 3274f92827 Rename FinalizeTypeHierarchy to ProcessPendingClasses.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30688 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 00:11:32 +00:00
srdjan@google.com 3485989ae7 Do not eagerly finalize classes in CHA, instead regard unfinalized classes as ’non-existent’ and only invalidate optimized code at finalization of the class.
Rename FinalizePendingClasses to FinalizePendingClassInterfaces as the class finalization occurs lazily.
TODO: add dependency information to deoptimize/remove only relevant optimized code.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30582 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-22 17:59:23 +00:00
regis@google.com db2cec593d Distinguish between malformed and malbounded types more efficiently using the
recently introduced LanguageError 'kind' field.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30383 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 23:31:12 +00:00
srdjan@google.com 5cd22e2dd3 Fixes issue 14742. Dart API may allocate objects without calling the constructor, this messes up the nullability tracking in the VM. Simple fix for now: initialize fields nullability, type, length if allocated via Dart API.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30233 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 16:01:41 +00:00
regis@google.com e3da5e16e4 Check type bounds of redirecting factories (issue 14699).
Add tests for malbounded redirecting factories.
Clean up bound checking code and type error reporting code.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30177 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 22:59:48 +00:00
iposva@google.com 070d3dedf7 - Add a per-isolate pseudo random number generator to the
VM internals. This PRNG is not used to generate random
  numbers in Dart code.
- Use the PRNG to generate JIT cookies for large constants
  if needed during assembly.
- Add the possibility to set an external entropy source
  for the PRNG through the C API.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29950 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 00:59:46 +00:00
srdjan@google.com 2b9fad92c7 In preparation of inlining remainder and modulo binary Smi operations:
- Add REM token
- Fix checking of function fingerprints.
- Remove unused intrinsic for remainder (the function gets inlined and intrinsic is not generated)

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29929 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 19:27:46 +00:00
asiva@google.com 545bec0843 Cleanup StaticResolveType, it does not seem to be used anywhere.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29696 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 20:41:59 +00:00
sgjesse@google.com 36a67fa046 Implement fromEnvironment on bool, int and String
This implements const constructor fromEnvironment on bool, int and
String.

The VM have the added -Dname=value option to define the value for the
properties. All values are provided by using the -D - nothing is read
from the environment.

If the resulting value is null or - in the case of int.fromEnvironment
- not a number an ArgumentError is thrown.

This CL does not have any implementation for dart2js.

This is a continuation of the change
https://chromiumcodereview.appspot.com/24975002 by iposva@
BUG=
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29642 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 05:46:57 +00:00
floitsch@google.com 6a72655d1b Very simple version of Isolates.
R=ajohnsen@google.com, iposva@google.com, kasperl@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29271 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 19:23:00 +00:00
iposva@google.com 06719f8ea7 Fix bug 13827:
- Do not attempt to GC old space while in full growth mode when creating
  the token stream for a newly loaded source file.

R=bak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29153 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 05:45:09 +00:00
rmacnak@google.com de7c68ce3a Test for OscillatorNode.type=. Fix bug in StringGetPeerHelper when passed an immediate object. Fix asserts when getting typed data address to allow for empty arrays.
BUG=http://dartbug.com/11984
R=asiva@google.com, vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29049 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 00:12:09 +00:00
asiva@google.com f5b0f9beae Remove deprecated call Dart_Error from the API. There are no uses of it.
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28944 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 19:53:31 +00:00
asiva@google.com 1a2f236fab Fix issue 13942 - Dart_Error function invokes OS::VSNPrint with the "format" string containing data derived from the string
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28809 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 17:49:45 +00:00
regis@google.com 2f900dab13 Cache number of type arguments in class object instead of recalculating it.
Reduce size of num_native_fields field in class object.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28670 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-15 18:31:31 +00:00
asiva@google.com f21708a38a - Dart_ObjectIsType was allowing classes as parameter, changed it to only
allow types.
- Return canonical Dart_Null, Dart_True and Dart_False handles instead of
creating a new handle

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28366 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-08 16:42:30 +00:00
asiva@google.com 21cefcd726 Add a new method Dart_InvokeConstructor to allow invocation of generative
constructors on an object that has already been allocated using Dart_Allocate.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28276 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-04 20:00:48 +00:00
asiva@google.com 1cd2ad79ec Fix for 12312 (Dartium crash when reloading after running tests).
Add framework for Dart_Cleanup which will cleanup stuff on exit.
Ideally the VM isolate should be shutdown in Dart_Terminate but we don't
seem to have a clean thread pool shutdown as a result of which there are
racing isolates.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28248 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 22:17:48 +00:00
rmacnak@google.com ab2d2fc25b Make ClassMirror.newInstance deal with reordered etc type arguments for redirecting factories.
BUG=http://dartbug.com/11781
BUG=http://dartbug.com/13365
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28106 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 18:23:24 +00:00
asiva@google.com 8912fdd1f8 Rename NativeReceiver to NativeArg0 as this method is used not necessarily
to access the receiver in dartium. It is used to access the first argument.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28032 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 23:50:13 +00:00
asiva@google.com bbbe821434 - Add special access for receiver as it is a frequently used operation
- Merge closure/instance function bitfields into one bitfield to simplify
  access to arguments.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28028 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 22:22:23 +00:00
asiva@google.com 292d8c9c21 Fix 13594.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28017 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 16:55:20 +00:00
mlippautz@google.com 19763aae4d Implementation for ClosureMirror.findInContext.
Fixes issue 5897.

BUG=https://code.google.com/p/dart/issues/detail?id=5897
R=asiva@google.com, gbracha@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27982 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 01:28:12 +00:00
asiva@google.com 3fe818e16b Minor cleanup for the Null string case.
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27919 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 22:54:07 +00:00
asiva@google.com 928894a58c - Added Dart_GetNativeIsolateData so that the bindings code can access the IsolateCurrentData
where possible without having to invoke Isolate::Current()
- Modified lookupWrapper to accept DartDOMData as a parameter so that the return to Dart functions
  won't invoke Isolate::Current()

Some Dromaeo numbers before this change:
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-attr getAttribute runs-per-second 1162.2
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-attr element_property_access runs-per-second 1255.6

after this change:
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-attr getAttribute runs-per-second 1237.6
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-attr element_property_access runs-per-second 1385.4

R=rmacnak@google.com, vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27789 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 23:53:39 +00:00
rmacnak@google.com c9eabbcb56 Make Dart_IdentityEqual live up to its sepc and not leak boxing implementation detail. (Reland r27542.)
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27774 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 16:23:06 +00:00
rmacnak@google.com 89d5616468 Never return a Dart_Handle on a dart::Class from the embedding API.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27715 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 18:29:56 +00:00
asiva@google.com ca128dea70 - Modify toDart to first do a simple lookup in the appropriate table before going down the templatized
morass of switch statements
- Add a returnToDart function so that the WeakPersistent Handle returned from a lookup/create of the wrapper
  could be returned as is without the need to call Dart_handleFromWeakPersistentHandle
- Use Dart_SetDoubleReturnValue for doubles

some DromaeoDartium numbers before this change:

CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-query getElementsByTagName(div) runs-per-second 84240.6
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-traverse nextSibling runs-per-second 207.91683326669332
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-query getElementsByTagName(*) runs-per-second 69599.2

some DromaeoDartium numbers after this change:

CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-query getElementsByTagName(div) runs-per-second 104252.4
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-traverse nextSibling runs-per-second 366.8
CONSOLE MESSAGE: RESULT: Dromaeo-drt dartium-dart dom-query getElementsByTagName(*) runs-per-second 94922.6

R=rmacnak@google.com, vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27710 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 16:25:12 +00:00
ricow@google.com fab06df0eb Revert revision 27542 "Make Dart_IdentityEqual live up to its spec and not leak boxing implementation detail."
This is causing checked mode failures on all vm bots.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27545 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 06:29:47 +00:00
rmacnak@google.com 8ed7a0367f Make Dart_IdentityEqual live up to its spec and not leak boxing implementation detail.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27542 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 01:30:30 +00:00
asiva@google.com 5c8925ea69 Use CHECK_ISOLATE instead of the more heavy DARTSCOPE for
Dart_HandleFromPersistent and DartHandleFromWeakPersistent. These
functions do not allocate any VM handles.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27535 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-16 21:57:46 +00:00
rmacnak@google.com 07c4d9d0c6 Fill in type arguments when creating an object from the mirrors or embedding API.
BUG=http://dartbug.com/13186
BUG=http://dartbug.com/12921
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27417 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 00:48:16 +00:00
hausner@google.com fd57843900 Update handling of ambiguous name references
Update VM to latest spec. Referencing a name that is imported
from more than one library is no longer a compile-time error.
If one of the sources of an ambiguous reference is a dart library,
the dart library declaration is automatically hidden.

Also fixes a bug where looking up a getter name in a library
found the getter even though the name is filtered out in the
'hide' combinator.

Long-term we should fix the need for repeatedly convert between
the mangled getter and setter names and the untangled name.

Fixes 12915, 12913, 12724.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27312 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 21:52:40 +00:00
asiva@google.com d6aaf0cc94 1. Add flag --trace-api to trace API function invocation
2. Add tracing of external native functions under --trace-natives flag
3. Added a _printCurrentStacktrace() function so that one could get a
   dart stack trace under 'gdb' when in a native or runtime function.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27166 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 23:42:13 +00:00
kmillikin@google.com 4f80ef09df Change Bool::Get to return a handle instead of a pointer to a raw object.
Replace occurrences of 'expr ? Bool::True() : Bool::False()' with simply
'Bool::Get(expr)' and analogously for its negation.  The pointer to the raw
object can still be extracted with 'Bool::Get(expr).raw()'.

R=iposva@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26770 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 08:38:56 +00:00
asiva@google.com 848291cea7 - Setup a peer for read only strings that are not externalized in
Dart_MakeExternalString so that it is not necessary to create
a new reference for it everytime it is accessed in native code.

- Removed unused function Dart_ExternalStringGetPeer

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26538 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 17:10:37 +00:00
asiva@google.com 543d80f5f8 Fix signature of Dart_SetIntegerReturnValue.
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26487 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 23:45:02 +00:00
asiva@google.com 497152cc26 Added Dart API methods:
Dart_GetNativeIntegerArgument
Dart_GetNativeDoubleArgument
Dart_GetNativeBooleanArgument

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26485 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 23:20:30 +00:00
jacobr@google.com 605b33c1bc fix cpp11 compile errors
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26387 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 20:24:11 +00:00
asiva@google.com fc5ffa288f Simplify access to peer pointer for external strings.
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26202 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 17:10:07 +00:00
asiva@google.com 872fafc6cf Minor cleanup.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26146 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 20:42:44 +00:00
asiva@google.com 4b2c10ae32 Added following dart API changes to enable more efficient access based
on the dartium usage pattern:
- Dart_GetNativeStringArgument (gets a String object, peer etc. directly from
  the native arguments)
- Dart_SetWeakHandleReturnValue (allows a weak handle to be passed to the
  return value, this ensures a new local handle does not have to be created
  from a weak handle just to return a value)
- Dart_StringGetProperties (gets some common properties of a string, avoids
  multiple API calls to set up a native string)

R=srdjan@google.com, vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26046 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-13 01:19:25 +00:00
johnmccutchan@google.com 33d528a787 Remove race(s) in vmservice tests.
BUG=https://code.google.com/p/dart/issues/detail?id=12294
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25927 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-08 15:44:21 +00:00
asiva@google.com 17c19b0033 Add Dart_GetNativeReceiver to special case access to the native field
of a receiver argument (helps eliminate number of validity checks).

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25750 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 22:47:26 +00:00
fschneider@google.com eae62fa866 Improve performance of Dart_ListGetAsBytes.
This fixes two performance issues with Dart_ListGetAsBytes:

1. Avoid excessive handle allocation when copying from a generic List.

2. Add a fast path when copying from byte-size typed data view objects. The
old version only supported typed data, but no views.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25731 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 11:32:05 +00:00
asiva@google.com a0571ccb07 Fix incorrect usage of NoGCScope in previous change (dart objects are being
allocated so it is possible to have GC).

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25691 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 23:47:04 +00:00