Commit Graph

248 Commits

Author SHA1 Message Date
turnidge@google.com bcc03b28e9 More mirrors changes to bring vm mirrors more in line with the
current proposed mirrors api.
Review URL: https://chromiumcodereview.appspot.com//10825431

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11095 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 20:46:25 +00:00
ajohnsen@google.com 0d078037e2 Re-apply 'Unify dart:isolate.' with fixes for autogenerated dart2js and dartium html files.
Old Review URL: https://chromiumcodereview.appspot.com//10828410

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11084 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 18:47:43 +00:00
ajohnsen@google.com 8f80365139 Revert "Unify dart:isolate."
This reverts commit 73190457cfff717e2706dd4715841f23a35d9ce7.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11017 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 08:22:05 +00:00
ajohnsen@google.com 5f4a0a2696 Unify dart:isolate.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11016 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 07:52:51 +00:00
cshapiro@google.com c9a5284465 Expose the WeakProperty type.
Review URL: https://chromiumcodereview.appspot.com//10834397

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10932 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-18 03:25:44 +00:00
turnidge@google.com 1da7c97936 A round of edits to make mirrors.dart more like our current working
proposal.
Review URL: https://chromiumcodereview.appspot.com//10854197

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10918 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 19:56:50 +00:00
ager@google.com 37ae98110a Reapply "Sharing of sources for corelib date implementation between VM
and dart2js".

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10799 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 08:00:02 +00:00
ager@google.com 2d1b1727ef Revert "Sharing of sources for corelib date implementation between VM and"
Revert "Fix create_sdk."

Revert "Fix bad merge. 'unified' directory is gone."

We need to update dartc to not check that final fields are initialized
for 'external' constructors (it does not have the body and
initializers for those).

R=ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10797 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 07:40:09 +00:00
ager@google.com d9cb56df86 Sharing of sources for corelib date implementation between VM and
dart2js.

R=iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10794 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 07:11:23 +00:00
ager@google.com 25967a554c Move the shared arrays and string_buffer files to where they belong.
R=ajohnsen@google.com,lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10728 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 13:57:16 +00:00
ager@google.com 2ebbd99144 Update stopwatch to use patching to share sources instead of exposing
a Clock class.

R=lrn@google.com,ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10715 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 12:06:17 +00:00
iposva@google.com a7959423cd - Use the unified dart:math library in the VM.
Review URL: https://chromiumcodereview.appspot.com//10831301

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10698 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 04:50:14 +00:00
iposva@google.com 99d563982c - Support for patching of class methods and fields.
Review URL: https://chromiumcodereview.appspot.com//10827288

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10616 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 00:38:01 +00:00
iposva@google.com f29e6bb659 - Split Dart core libraries into shared sources and patch sources.
Currently this split goes along the runtime vs. library directories,
  eventually more shared code will be sitting in the shared library
  sources.
Review URL: https://chromiumcodereview.appspot.com//10834284

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10612 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 23:01:20 +00:00
ajohnsen@google.com 8f50fb32fd Reapply 'Add reduce to Collection.'
Implemented JS array's reduce and fix a template error that made snapshotting crash.

BUG=
TEST=

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


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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10557 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 09:19:53 +00:00
ajohnsen@google.com db92954d53 Revert "Add reduce to Collection."
This reverts commit 9921e32dd33d6d6482d5fed9e85d68c180f670dd.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10551 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:47:27 +00:00
ajohnsen@google.com ff34c5464e Add reduce to Collection.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10548 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 05:57:55 +00:00
iposva@google.com f0862ed7d0 - Improve generated sources:
+ Strip private key from identifiers.
  + Properly handle strings with interpolation.
- Keep private key in the token stream and properly snapshot. 
Review URL: https://chromiumcodereview.appspot.com//10823269

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10515 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 17:01:08 +00:00
rnystrom@google.com 0bc9b19740 Rename BadNumberFormatException -> FormatException.
Review URL: https://chromiumcodereview.appspot.com//10850034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10354 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-07 20:56:59 +00:00
turnidge@google.com 2803d78dfd Change the zone allocation api.
Instead of passing a size in bytes to the allocation function, we now
have a templatized Alloc function:

  zone->Alloc<Type>(len)

This is better for security, as we can check for integer overflow in
the size computation before performing the allocation.  Before, we
often failed to check this.
Review URL: https://chromiumcodereview.appspot.com//10836061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10254 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 21:51:44 +00:00
ager@google.com 4531c0c770 Remove old isolate API and update all code in the repository to use
the new API.

R=kasperl@google.com,sigmund@google.com,turnidge@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10210 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 07:24:29 +00:00
kasperl@google.com 9125b3451e Refactor the way we emit no such method handlers so it's easier to optimize it later.
Avoid adding duplicate JavaScript functions (may occur if we have
multiple different typed selectors in play or if the same library
shows up multiple times in the library map).

R=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10162 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-02 13:18:17 +00:00
turnidge@google.com 0be1610389 Fix a problem that wasn't found on my mac builds... :-(.
Review URL: https://chromiumcodereview.appspot.com//10836059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10134 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-01 18:43:23 +00:00
turnidge@google.com 8b68d343c7 Enforce length/size limits for variable size heap object in order to
avoid overflow.

For each variable size heap object, compute the maximum number of
elements and use that in the ::New functions to avoid overflow.  If a
bad length/size reaches a ::New function, that is a FATAL error -- the
problem should have been caught earlier by the dart api or by the
library code.

Add "border guards" in the dart api and in library calls which cause
new variable size heap objects to be allocated.  We check for invalid
length/size and throw explanatory error messages.
Review URL: https://chromiumcodereview.appspot.com//10782016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10130 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-01 18:22:30 +00:00
rmacnak@google.com 2035aa43b9 Renamed some variables in the mirror implementation from raw* to wrapped* to
avoid confusion with the VM's special meaning for raw.
Review URL: https://chromiumcodereview.appspot.com//10831102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10099 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 23:51:06 +00:00
rmacnak@google.com 2353835d5b Added InterfaceMirror.newInstance().
Review URL: https://chromiumcodereview.appspot.com//10834056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10020 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 17:48:47 +00:00
ajohnsen@google.com d0585730ec Rename MathNatives_2atan to MathNatives_atan2.
The comment doesn't appear to be valid anymore.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10012 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 13:31:50 +00:00
rmacnak@google.com 99ad7f4170 Added ClosureMirror to dart:mirrors. Added Dart_ClosureFunction to the
embedding API. ClosureMirrors currently implement answering the closure's
function and applying the closure.
Review URL: https://chromiumcodereview.appspot.com//10800065

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9860 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 17:59:12 +00:00
ajohnsen@google.com 96b8387429 Always set inserted range in List.insertRange.
This fixes a bug where myList.insertRange(x, y, null) would fail to set
the new range to null.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9855 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 17:01:17 +00:00
asiva@google.com ec7f44f025 Create frequently used symbols in the vm isolate
- Avoids the need for doing a NewSymbol on these everytime
- saves space as they get shared by isolates
Review URL: https://chromiumcodereview.appspot.com//10783035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9834 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 00:01:50 +00:00
rmacnak@google.com e0931044c0 Added getField/setField to ObjectMirror. For InstanceMirrors, this get/sets
fields; for InterfaceMirrors, static fields; for LibraryMirrors, top-level 
fields.
Review URL: https://chromiumcodereview.appspot.com//10704259

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9832 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-23 22:53:52 +00:00
floitsch@google.com 6b389aee00 Fix printing of dates with year 0.
Review URL: https://chromiumcodereview.appspot.com//10790099

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9799 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-23 08:35:27 +00:00
regis@google.com 318edd938c Hide names of internal classes from the user by mapping them to the documented
interfaces they implement.
Review URL: https://chromiumcodereview.appspot.com//10800002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9748 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-18 21:51:27 +00:00
cshapiro@google.com 9c0c15ea7c Improve the error messages for IndexOutOfRangeException.
Review URL: https://chromiumcodereview.appspot.com//10786045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9729 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-18 00:33:23 +00:00
rmacnak@google.com 3d1c598ed5 Add a limited version of ParameterMirrors that can only tell whether they are
optional. Add Dart_FunctionParameterCounts. Drop passing isSimpleValue to
instance mirrors: they can compute this on the Dart-side.
Review URL: https://chromiumcodereview.appspot.com//10778005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9683 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 22:05:16 +00:00
regis@google.com b86a40f48f Fix type checking of void type.
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10787021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9681 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 21:34:07 +00:00
regis@google.com dc96874999 Revert fix for type checking of void type, because some top level tests fail.
Review URL: https://chromiumcodereview.appspot.com//10784020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9673 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 19:05:38 +00:00
regis@google.com a8ceb243f6 Fix type checking of void type.
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10704216

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9672 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 18:05:55 +00:00
rmacnak@google.com 79e17e7cb0 Replaced simpleValue with more general reflectee. hasSimpleValue is retained internally for the sake of safe printing: mirrors should not assume their reflectees toString will return quickly and without error.
Review URL: https://chromiumcodereview.appspot.com//10702186

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9637 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-13 16:56:13 +00:00
turnidge@google.com e48dd76856 Some small changes to make the vm dart:mirrors somewhat closer to the
source mirror implementation by Johnni.

- Add the MirrorSystem interface
- Add a simple TypeMirror
Review URL: https://chromiumcodereview.appspot.com//10700149

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9612 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-12 20:40:06 +00:00
srdjan@google.com e74f5a721b Implement more intrinisification for x64 (not as inlined code but as header of the target).
Review URL: https://chromiumcodereview.appspot.com//10701147

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9573 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 22:37:41 +00:00
ajohnsen@google.com acc78cebae Use native copy between internal/external bytearrays.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9510 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-10 13:58:30 +00:00
turnidge@google.com 22fb45f640 Implement method and variable reflection in dart:mirrors.
Review URL: https://chromiumcodereview.appspot.com//10687004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9493 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 23:57:08 +00:00
floitsch@google.com 4a4532d205 Fix int.compareTo.
In particular we want:
 0.compareTo(-0.0) => 1

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9459 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 07:57:29 +00:00
regis@google.com d95cbc8d7f Use VM type cast and save handles.
Review URL: https://chromiumcodereview.appspot.com//10693071

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9317 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 21:42:53 +00:00
regis@google.com 0532a90a2f Implement type cast in the VM.
Review URL: https://chromiumcodereview.appspot.com//10659005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9070 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:23:11 +00:00
cshapiro@google.com 00b6963338 Fix some warnings in the core library identified by the static analyzer.
This foray uncovered a latent bug in the byte array view constructor and
its use of default arguments.  That bug has been corrected and new tests
have been added to the test suite.

BUG=2136

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9013 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 04:27:57 +00:00
iposva@google.com 0fd25118b9 - Move the Timer interface to the dart:isolate library so that it
is accessible from both client and standalone program.
- Enable a way for the embedder to provide the implementation of
  the Timer interface.
- Update tests.
Review URL: https://chromiumcodereview.appspot.com//10532123

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8987 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 16:17:21 +00:00
floitsch@google.com a51dc25968 Make isUtc a getter, change some method names in Date. Weekday is now 1 based.
isUtc is now a getter.
Date.hours -> Date.hour
Date.minutes -> Date.minute
Date.seconds -> Date.second
Date.milliseconds -> Date.millisecond
Date.fromEpoch -> Date.fromMillisecondsSinceEpoch
Date.value -> Date.millisecondsSinceEpoch
Date.MON == 1 (up to Date.SUN == 7).

Fixes issue 3444, 1985.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8899 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 11:43:46 +00:00
hausner@google.com a7f542becb Remove obsolete String + code
Review URL: https://chromiumcodereview.appspot.com//10562038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8810 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 18:00:25 +00:00