Commit graph

1598 commits

Author SHA1 Message Date
srdjan@google.com 6a0e00c33c Fix crashes in String natives.
Review URL: http://codereview.chromium.org//8455004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1199 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 15:00:04 +00:00
srdjan@google.com 0265e3f027 Fixes to co19 crashes:
- Null is a valid exception object.
- Throw exception in array copy.
Review URL: http://codereview.chromium.org//8437106

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1173 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 22:31:32 +00:00
iposva@google.com 97634fb30e - Add the implementation of the Options interface to the runtime.
Review URL: http://codereview.chromium.org//8437075

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1169 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 21:45:03 +00:00
srdjan@google.com 49caedb014 Fix issue: 5427703 (compareTo), fix parsing of -0.0.
Review URL: http://codereview.chromium.org//8430037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1156 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 18:03:39 +00:00
ngeoffray@google.com a76068abeb Remove unused constructor.
Review URL: http://codereview.chromium.org//8440062

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1138 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 10:09:06 +00:00
hausner@google.com 7651034e9e Two-phase constructors
This CL fixes the initializer evaluation order and brings the VM fully up to spec.

Constructors are executed in two phases: the initializer phase and the constructor body phase. An additional implicit parameter tells the constructor code whether to execute the initializer list or the body (or both).

If the super initializer call is not at the end of the initializer list, the super constructor has to be called twice. The arguments to the super initializer have to be evaluated and stored in temporary local variables. At the beginning of the constructor block, a second implicit super call is inserted.

If the super initializer call happens to be at the end of the list, none of this madness has to happen, except for the extra implicit parameter to the constructor.

 
Review URL: http://codereview.chromium.org//8440014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1102 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 17:19:15 +00:00
ager@google.com 5b5c36e253 Implement async file API on top of isolates.
This is not going to be efficient but will give us the right
semantics of the operations. We should be using native async
operations for this.

Fixed a bug in VM implementation of List.setRange.

R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8431028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1012 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 14:07:30 +00:00
srdjan@google.com 6d8d978d5a FIx issue 261: throw exception if index if idnexed oeprators if lists Array and GrowableArray is not int.
Review URL: http://codereview.chromium.org//8387035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@962 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 18:40:32 +00:00
ngeoffray@google.com 5496005d1d Add optional arguments to our indexOf/lastIndexOf methods.
Review URL: http://codereview.chromium.org//8424012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@947 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 13:21:30 +00:00
ngeoffray@google.com 210fd33d0a Remove List.fromList constructor, and List.copyFrom. They are duplicates of the new range methods.
Review URL: http://codereview.chromium.org//8422005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@941 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 09:49:15 +00:00
regis@google.com 78353be760 Verify that user classes/interfaces do not extend/implement any of bool, num,
int, double, String, Function, or Dynamic.
Review URL: http://codereview.chromium.org//8416052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@922 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 22:24:18 +00:00
asiva@google.com b245c234f0 Report NullPointerException when we try to construct a regular expression
using a NULL pointer.
Report NullPointerException instead of ObjectNotClosureException when the
closure object is Null.
Review URL: http://codereview.chromium.org//8363034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@901 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 17:32:29 +00:00
srdjan@google.com 8d69118676 More strict non-equal cleanups in library code
Review URL: http://codereview.chromium.org//8413018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@892 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 15:21:42 +00:00
srdjan@google.com 959f4b519d Use strict equality when comparing with null, especially when null is a default value.
Review URL: http://codereview.chromium.org//8400038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@859 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 22:11:16 +00:00
vsm@google.com f3463fcb44 Remove obsolete isolate bind method
This has been removed from corelib and compiler.  See
http://codereview.chromium.org//8370031.

Review URL: http://codereview.chromium.org//8399025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@800 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 05:03:23 +00:00
regis@google.com 1df8ca858e Rename the VM internal 'var' type to 'Dynamic' type.
This change does not implement support for the built-in identifier 'Dynamic'.
Review URL: http://codereview.chromium.org//8403003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@779 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 20:58:34 +00:00
ngeoffray@google.com 592e3848a3 Implement String.contains when the pattern is not a string.
Review URL: http://codereview.chromium.org//8379001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@676 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 06:56:15 +00:00
cshapiro@google.com f52039f03c Implement case mapping using the Unicode default case mapping algorithm.
BUG=5425968

Review URL: http://codereview.chromium.org//8333001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@616 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-21 20:33:29 +00:00
iposva@google.com 4906ccd1db - Remove the remaining Array interface.
Review URL: http://codereview.chromium.org//8348025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@556 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 15:44:55 +00:00
turnidge@google.com 0e98d4ae64 Allow embedders to provide custom message delivery for an isolate.
==============

Added Dart_SetPostMessageCallback and Dart_SetClosePortCallback.
These allow the embedder to provide custom message/port behavior
for their application. The vm provides standard implementations
that work with the standard run loop.

Added Dart_HandleMessage, which processes one message on the
current isolate. Embedders can use this to write their own
message processing loops. Rewrote code to use this internally.

Added Isolate::StandardRunLoop() to share code between
Dart_RunLoop and lib/isolate.cc

Changed the interface to PortMap::PostMessage. PostMessage is
now agnostic to message delivery mechanism. Note that PortMap is
now out of the "ReceiveMessage" business entirely. Moved
MessageQueue and friends out to message_queue.cc/h.

Moved the monitor from the Isolate into the MessageQueue. No
need for outsiders to mess. Added MessageQueue::Wait. Moved
monitor locking from PortMap into MessageQueue itself, which was
easier for me to reason about. Wrote some tests.

Removed PortMessage::Handle. The code turned into Dart_HandleMessage.

Regularized the nomenclature around ports. Type is now always
Dart_Port instead of intptr_t. Variables end in _port instead of
_id. Use the term "dest" instead of "target" or "send".

Added a family of new tests to port_test.

Added EXPECT_NE to the test framework.
Review URL: http://codereview.chromium.org//8297004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@516 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 17:54:07 +00:00
ngeoffray@google.com ac91a5a8da Fix build failures due to forgotten change in the Array -> List transition.
Review URL: http://codereview.chromium.org//8333017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@508 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 10:54:45 +00:00
ngeoffray@google.com 70c01beb9b Clean up (most) uses of Array. Still more to come in the VM corelib code base.
Review URL: http://codereview.chromium.org//8321024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@507 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 10:02:59 +00:00
vsm@google.com cc71ad71ed Test fix: remove extraneous print
TEST=corelib/ListInsertRangeTest

Review URL: http://codereview.chromium.org//8294020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@483 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 20:18:45 +00:00
regis@google.com dc895f3138 Rename class AssertError to AssertionError in the VM (fix issue 119).
Move VM specific tests to the correct tests directory.
Enable asserts in the VM when type checks are enabled.
Review URL: http://codereview.chromium.org//8294005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@460 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 22:02:50 +00:00
ngeoffray@google.com 52aa068f73 Implement List.insertRange.
Review URL: http://codereview.chromium.org//8271029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@439 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 13:44:18 +00:00
benl@google.com c0a59669cf Do away with the PromiseQueue.
Instead of queuing messages with promises in them until the promises
are ready, send immediately. This is done by sending a port down which
the receiver sends a port which can be used to signal completion of
the outgoing promise.
Review URL: https://chromereviews.googleplex.com/3573013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@427 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 11:18:12 +00:00
ngeoffray@google.com 85804080f3 Implement List.getRange.
Review URL: http://codereview.chromium.org//8276005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@403 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 16:24:09 +00:00
ngeoffray@google.com 9e03f7c985 IllegalArgumentException expects a string.
Review URL: http://codereview.chromium.org//8277007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@402 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 16:19:06 +00:00
ngeoffray@google.com b69b4200c8 Implement removeRange, and update some documentation on the list interface.
Review URL: http://codereview.chromium.org//8273004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@400 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 15:54:48 +00:00
ngeoffray@google.com edcae54a2c Implement setRange on DartC and the VM.
Review URL: https://chromereviews.googleplex.com/3574018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@394 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 12:58:49 +00:00
asiva@google.com fdb5d9a607 Fix compilation warnings/errors seen with newer versions of gcc compiler.
Review URL: http://codereview.chromium.org//8222017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@321 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 00:37:11 +00:00
mmendez@google.com fc7390d97b Add support for --enable_type_checks (developer mode) for dartc.
This patch is based on https://chromereviews.googleplex.com/3520019/.  However it addresses the following issues:

1) TypeError exceptions will now have the stack trace filled in.
2) Type parameters are now accessible from closurized code, including the trampoline shims for named optinal parameters.
3) Suppress use of FunctionExpressionInliner with type checks because the inline normalization can leave return nodes in the AST.
4) Pass the generateHumanReadableOutput flag to the closure backend.
5) TypeDartcTest passes in debug and release modes with type checking enabled.  We still need to enable the additional cases in the code.

Review URL: https://chromereviews.googleplex.com/3558021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@271 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-08 04:11:34 +00:00
ngeoffray@google.com 8b8b4844fa Add default arguments for regexp flags.
Review URL: https://chromereviews.googleplex.com/3558016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@213 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 12:47:56 +00:00
kasperl@google.com 1a3e9c39b1 Make replyTo argument optional in SendPort.send.
R=benl@google.com
BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3561014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@207 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 10:44:50 +00:00
ngeoffray@google.com d4c8bacc2d substringToEnd does not exist anymore.
Review URL: https://chromereviews.googleplex.com/3575012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@203 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 08:48:12 +00:00
ngeoffray@google.com c2b5e488da Remove substringToEnd.
Review URL: https://chromereviews.googleplex.com/3561013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@201 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 08:41:38 +00:00
ngeoffray@google.com cb3a9f6641 Add range methods to List. Throw not implemented for now.
Review URL: https://chromereviews.googleplex.com/3573012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@198 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 07:56:42 +00:00
cshapiro@google.com 9aca46d2a7 Implement support for reading and writing UTF-8 encoded strings.
In the past, characters in C strings were assumed to encode themselves
and when converting Dart strings to C strings characters were narrowed
to 8-bit values.

With this change, C strings are assumed to be UTF-8 encoded.
Converting a C string to a Dart string applies UTF-8 decoding and
converting a Dart string to a C string applies UTF-8 encoding.

Also part of this change are new methods to construct uninitialized
string objects and to copy string data.

BUG=5343358

Review URL: https://chromereviews.googleplex.com/3557012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@169 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 22:42:24 +00:00
regis@google.com db3a736c33 Support optional named arguments at the dart_entry level in the VM.
Fix bug 5422033: Const expressions don't work with named arguments.
Review URL: https://chromereviews.googleplex.com/3552015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@168 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 22:40:45 +00:00
regis@google.com b618447392 Inline condition type check.
Review URL: https://chromereviews.googleplex.com/3534018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@166 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 22:35:01 +00:00
asiva@google.com 0b30a49971 5419598: Add a setjmp around the isolate spawning code so that parse errors
are caught and reported as errors.
5417103: Add a setjmp around Dart_Run_Loop so that parse errors
are caught and reported as errors.
Review URL: https://chromereviews.googleplex.com/3553012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@140 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 18:33:36 +00:00
floitsch@google.com ad89e94d67 Fix bad merge.
Unbreaks build.
TBR=ngeoffray

R=ngeoffray@google.com
BUG=
TEST=

Review URL: https://chromereviews.googleplex.com/3542013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@128 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 15:04:55 +00:00
floitsch@google.com 1229e5b8db Implement Date.weekday.
Review URL: https://chromereviews.googleplex.com/3541012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@125 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 14:47:41 +00:00
floitsch@google.com 410583d73d Get rid of duration in TimeZone class.
Review URL: https://chromereviews.googleplex.com/3538012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@124 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 14:35:56 +00:00
floitsch@google.com 382580f9a7 Rename Time to Duration and adapt methods.
Review URL: https://chromereviews.googleplex.com/3536013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@121 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 14:21:57 +00:00
floitsch@google.com 15727ed074 Rename DateTime to Date.
Review URL: https://chromereviews.googleplex.com/3529013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@107 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 10:14:49 +00:00
floitsch@google.com 98d704a3cb Remove Date class and remove .time from DateTime.
Review URL: https://chromereviews.googleplex.com/3508024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@103 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 09:20:30 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00