Commit Graph

1989 Commits

Author SHA1 Message Date
turnidge@google.com 5807b0add0 Standardize error printing a bit by moving it to the Error object and
descendants.
Review URL: http://codereview.chromium.org//9148048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3219 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-12 01:01:46 +00:00
srdjan@google.com c91cb11962 Implement toString for ImmutableArray and GrowableObjectArray (Issue 952)
Review URL: http://codereview.chromium.org//9027026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2795 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-23 00:12:11 +00:00
floitsch@google.com e231959e13 Implement Double.toStringAsFixed.
Review URL: http://codereview.chromium.org//8728006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2790 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-22 22:03:35 +00:00
srdjan@google.com 098d244ae0 Fix issue 920: do not allow length of a list go below 0.
Review URL: http://codereview.chromium.org//9007015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2648 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 17:45:04 +00:00
regis@google.com a577991ad5 Port code generator to x64.
Review URL: http://codereview.chromium.org//8984003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2557 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-17 00:56:02 +00:00
srdjan@google.com d525130469 More optimizations and cleanups.
Review URL: http://codereview.chromium.org//8972005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2548 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 23:16:00 +00:00
turnidge@google.com 3b9026f21d If an unhandled exception occurs in Dart_RunLoop, pass it out to the caller.
Review URL: http://codereview.chromium.org//8918028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2438 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 18:27:58 +00:00
regis@google.com 4e76761dd5 Rename type parameter to comply with upcoming corelib changes.
Update error message in class finalizer.
Review URL: http://codereview.chromium.org//8933014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2398 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 21:19:36 +00:00
regis@google.com 5db4de9756 Implement revised factories in the VM.
Emit warnings when obsolete syntax is used.
Review URL: http://codereview.chromium.org//8921033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2394 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 19:35:07 +00:00
regis@google.com dd32effb72 Adjust index of type parameters at finalization time (fix issue 718).
Add test.
Review URL: http://codereview.chromium.org//8872037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2286 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:00:55 +00:00
asiva@google.com 7ddd0f0b89 First step towards generation of application script snapshots
- Introduce 3 kinds of snapshots (full, application script and messages)
- Added a dart API function to be used for generating an application snapshot
  and for loading the script from an application snapshot.

Next step is to introduce special handling in the WriteTo and ReadFrom
snapshot functions for 'kind == Snapshot::kScript'
Review URL: http://codereview.chromium.org//8772061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2105 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 00:34:49 +00:00
srdjan@google.com d07087ce77 Ongoing renaming of type classes:
TypeArguments -> AbstractTypeArguments
TypeArray -> TypeArguments
Review URL: http://codereview.chromium.org//8776020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2002 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 23:19:59 +00:00
turnidge@google.com 7c2a96158e Stop using void* types in the dart embedding api.
Review URL: http://codereview.chromium.org//8761007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1988 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 18:18:06 +00:00
srdjan@google.com 17552e9a3c Renaming type classes as discussed:
Type -> AbstractType
ParameterizedType -> Type

TODO: 

TypeArguments -> AbstractTypeArguments
TypeArray -> TypeArguments
Review URL: http://codereview.chromium.org//8761011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1987 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 16:54:52 +00:00
asiva@google.com b53c955b37 - Refactor the isolate callback mechanism to also include creation of the
isolate, this enables creation of isolates using a snapshot
- remove source buffers of corelib, coreimpl-lib and builtin-lib from the binary
Review URL: http://codereview.chromium.org//8673002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1958 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 00:30:25 +00:00
turnidge@google.com cf23dbad75 Add a mid-sized integration test for the Dart Embedding Api which
demonstrates how to create a custom isolate abstraction.  In this
test, we use an event queue to share a single thread among our custom
isolates.

Add a callback which allows embedders to see when a port is created.
Not sure if I should keep this or not.

New apis:
  Dart_CreatePort() -- allocates a port id and adds a port->isolate mapping.
  Dart_IsolateHasActivePorts() -- does the current isolate have open ports?
  (this name a bit awkward...)

Bail out of PortMap::ClosePorts() early if there are no open ports.
This suppresses calls to the close_port_callback when there are no
open ports.

Use DART_CHECK_VALID to provide better error output when the test lib
has errors.

-------------------------
Sample output of the test:

-- (isolate=0x815600) Constructing isolate
-- Enter: CustomIsolateImpl_start --
-- Adding port (7111) -> isolate (0x830800) --
-- Adding StartEvent to queue --
-- Exit: CustomIsolateImpl_start --
-- Adding port (7112) -> isolate (0x815600) --
-- Posting message dest(7111) reply(0) --
-- Adding MessageEvent to queue --
-- Starting event loop --
>> StartEvent with isolate(0x830800)--
-- (isolate=0x830800) Running isolateMain
$$ MessageEvent with dest port 7111--
-- (isolate=0x830800) Received: 42
-- Posting message dest(7112) reply(0) --
-- Adding MessageEvent to queue --
$$ MessageEvent with dest port 7112--
-- Closing port (7112) --
-- Adding ShutdownEvent to queue --
-- (isolate=0x815600) Received: 43
<< ShutdownEvent with isolate(0x815600)--
-- Finished event loop --
Review URL: http://codereview.chromium.org//8588040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1906 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-29 21:55:13 +00:00
asiva@google.com 5d0ad4091f Fix type warnings in coreimpl lib.
Review URL: http://codereview.chromium.org//8664003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1876 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-28 21:06:25 +00:00
regis@google.com 5382e56f05 Optimize type checks of list and map literals.
Introduce an ast node for explicit 'assignable to' type checks.
Remove Instance::Is() helper.
Review URL: http://codereview.chromium.org//8678031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1827 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-24 00:26:18 +00:00
srdjan@google.com 88878148ac Fix crashes when going to natives. Throw an exception instead.
Review URL: http://codereview.chromium.org//8678025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1817 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 22:03:51 +00:00
srdjan@google.com 4c267997cd Fix bug 557: Disallow user side allocation of ImmutableArray. Also added "instantiation-checks" for some other VM-internal classes.
Review URL: http://codereview.chromium.org//8648003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1811 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 19:48:25 +00:00
regis@google.com 9f230a34c6 Implement type checking of list literals (issue 220).
Remove expose_core_impl flag.
Add tests.
Fix tests.
Cleanup type checking of map literals.
Review URL: http://codereview.chromium.org//8676001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1809 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 19:34:23 +00:00
regis@google.com a2bb53c7af Implement type checking of map literals (issue 221).
Support proper syntax for map literals (at most one type argument is allowed)
and give a warning when legacy syntax is used.
Add tests.
Fix tests.
Review URL: http://codereview.chromium.org//8637018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1764 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-22 21:42:07 +00:00
srdjan@google.com 3df86ef438 Remove isOdd/isEven from num and double interfaces.
Review URL: http://codereview.chromium.org//8598021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1760 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-22 19:44:52 +00:00
regis@google.com 314a89e16c Update comments in core lib showing proper factory syntax.
Improve error messages reported from class finalizer.
Fix parser error reporting to be thread safe.
Reformat type error and failed assertion messages to be consistent.
Add one more new factory syntax test.
Review URL: http://codereview.chromium.org//8549033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1708 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-21 17:06:52 +00:00
cshapiro@google.com 1cff31c3d0 Implement external strings.
External strings refer to character data in memory located outside of
the managed heap.  This memory is considered to be owned by the
embedding application.  To help with the management of external
memory, the virtual machine allows the embedding application to
register for a "death notice" when an external string object is
garbage collected.  A death notice takes the form of a callback
invoked by the garbage collector with the address of the external
memory.  Death notices will be implemented in the garbage collector by
future commit.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1679 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-19 00:33:23 +00:00
srdjan@google.com 8b6dbe1b76 Do not allow allocation of FallThroughError and AssertionError by the user.
Review URL: http://codereview.chromium.org//8569013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1671 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 20:36:42 +00:00
regis@google.com a5dc8b60d1 Fix code generation issue with new factory syntax.
Convert VM core library to new factory syntax.
Review URL: http://codereview.chromium.org//8602004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1662 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 17:47:12 +00:00
cshapiro@google.com 1309ebd16e Add an external array type to support typed arrays.
Review URL: http://codereview.chromium.org//8429027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1601 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 03:18:52 +00:00
srdjan@google.com 778e4bf21f Fix integer's % operation; fix parsing of doubles; update co19 tests.
Review URL: http://codereview.chromium.org//8468025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1589 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 22:52:56 +00:00
srdjan@google.com 92f177896b Fix throwing ObjectNotClosure instead of null exception if closure is null.
Fix integer compareTo if other is a double NaN.
Fix Expect.stringEqual to accept null as arguments.
Update co19 status file.
Review URL: http://codereview.chromium.org//8528050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1539 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 18:02:12 +00:00
srdjan@google.com 22ea3cf225 Fix String.trim implementation (follow spec).
Fix Queue.every, Queue.some, Queue.filter, ..
Adapt co19 status files.
Review URL: http://codereview.chromium.org//8510066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1521 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 22:23:41 +00:00
asiva@google.com 5cf3ad018a Changes to pass the current isolate to all runtime and native calls.
Review URL: http://codereview.chromium.org//8528010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1499 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 05:55:22 +00:00
regis@google.com 8b9ebb3528 Second attempt at finalizing all classes in the VM (fix issue 364).
Review URL: http://codereview.chromium.org//8491055

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1475 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 21:38:49 +00:00
regis@google.com a6282231eb Revert r1380 that is breaking frog.
Review URL: http://codereview.chromium.org//8509031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1382 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 01:39:06 +00:00
iposva@google.com 1e203b2dc9 - Move the RuntimeOptions implementation into the shared library
code. It has no dependency on the VM.
Review URL: http://codereview.chromium.org//8505043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1381 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 01:28:51 +00:00
regis@google.com 8dd26ba9f6 Finalize all classes (fix issue 364).
Review URL: http://codereview.chromium.org//8506001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1380 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 23:33:48 +00:00
srdjan@google.com 6b6d16a41e Add type check tracing (--trace_type_checks). Inline type checks with class types that have only Dynamic type arguments (or none) and with List<Dynamic> interface.
Review URL: http://codereview.chromium.org//8503034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1372 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 21:36:32 +00:00
ager@google.com 8a7ae17d76 Handling of wrong types of arguments in the File API.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1251 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 13:23:28 +00:00
asiva@google.com 8743e1cc2a - Fix the snapshot generation python script to return an error code when snapshot generation fails and print the error message.
- Split isolate creation into CreateIsolate and InitializeIsolate so that we don't get SEGVs when there is a failure compiling the corelib dart sources during the bootstrap process
Review URL: http://codereview.chromium.org//8334031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1225 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 22:08:13 +00:00
mattsh@google.com a93088691c convert isolates to use Future
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1213 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 18:40:13 +00:00
srdjan@google.com 59b79d8171 Fix more co19 crashes. Introduce GET_NATIVE_ARGUMENT that throws an illegal argument exception if the native argument is of incorrect type.
Review URL: http://codereview.chromium.org//8476002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1205 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 16:30:29 +00:00
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