Commit Graph

44 Commits

Author SHA1 Message Date
iposva@google.com 5686b6a793 - Implement Isolate.pause and Isolate.resume.
- Implement a minimum Capability functionality.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37982 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-03 12:56:02 +00:00
lrn@google.com 01897bf44d Revert "Ensure that failure to start an isolate all end up in the future."
Review URL: https://codereview.chromium.org//312123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36986 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 09:40:29 +00:00
lrn@google.com c2aa45f121 Ensure that failure to start an isolate all end up in the future.
Isolate.spawnUri can fail in many ways.
Any problem that prevents calling "main" on a loaded isolate
should end up as IsolateSpawnException in the future returned by
Isolate.spawnUri.

This CL ensures that failure to look up main is handled correctly,
and adds more tests.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36982 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 08:42:39 +00:00
lrn@google.com 8e82e840e0 Make methods on isolate external.
R=iposva@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36642 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 06:14:13 +00:00
iposva@google.com 16e405af4c - Fix for unsuccessful hoisting of CheckSmi in _HashMap.[]=
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35511 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 23:43:19 +00:00
iposva@google.com fd8565b071 - Add a minimal implementation of Capability.
- Make RawReceivePort and SendPort VM internal objects.
- Rationalize the creation of ports and their handling within the VM.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35325 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 19:44:03 +00:00
iposva@google.com 0977a3bf2b - First step in refactoring ports with the goal of moving
them closer into the VM implementation.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34438 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 17:30:39 +00:00
lrn@google.com fd4b12a479 Fix file still using old Isolate constructor.
Review URL: https://codereview.chromium.org//187793002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33329 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-05 14:25:15 +00:00
lrn@google.com b23f5d0327 Add 'startPaused' option to Isolate.spawn*.
Initial implementation of startPaused in dart2js.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32722 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-17 13:06:06 +00:00
lrn@google.com 29dd07f51a Add Capability class.
Currently throws UnimplementedError in constructor patches. All implementation is still missing.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32274 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-04 09:23:38 +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
floitsch@google.com 0c8ac24661 Isolate.spawn{Uri} only reports errors asynchronously.
It is generally considered bad style to throw synchronous and asynchronous errors. This CL catches all synchronous errors and reports them in the asynchronous future that is returned.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31131 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 13:05:28 +00:00
floitsch@google.com 4b316431fa Implement scheduleImmediate for the VM.
BUG= http://dartbug.com/9001
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30797 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-02 16:27:07 +00:00
lrn@google.com a43c644f63 Make SendPortImpl_internalSend not take a reply port as argument.
The reply port is still there in the internal Message structure,
where it is used by control messages.

BUG= http://dartbug.com/14731
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30302 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 11:28:23 +00:00
lrn@google.com 207f0e6a3f Update and fix isolate documentation.
Review URL: https://codereview.chromium.org//66303012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30221 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 09:34:58 +00:00
iposva@google.com 3dced243b3 Fix http://dartbug.com/14763
- Find main in the exported names of the root library.
- Unify how the main function is called from spawnUri
  and the initial isolate.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29865 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 00:55:41 +00:00
floitsch@google.com ecb4291d96 Remove deprecated second argument to SendPort.send().
R=ajohnsen@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29836 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-04 19:01:11 +00:00
floitsch@google.com 7886e0ac13 Update TODO with bug number.
R=nweiz@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29769 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 20:54:45 +00:00
iposva@google.com 2ed438e40c Reland https://code.google.com/p/dart/source/detail?r=29315:
- Make sure to keep the main/control port opened until the
  isolate is finished.
- Account for the number of opened control ports to be able
  to determine whether there are live ports.
- Ensure that the spawned isolated is kept alive until the
  initial startup message can be handled.
- Add more isolate tracing output.
- Use the control port for the debugger id.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29323 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-27 14:34:23 +00:00
iposva@google.com eb95d787c3 - Revert parts of r29315 while attempting to reproduce
unexplained buildbot failures locally.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29317 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-26 21:50:38 +00:00
iposva@google.com b3f3d8bfbd - Make sure to keep the main/control port opened until the
isolate is finished.
- Account for the number of opened control ports to be able
  to determine whether there are live ports.
- Fix imports in snapshotted test.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29315 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-26 20:50:20 +00:00
whesse@google.com 980c1a1150 Fix Isolate.spawnUri on Windows.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29277 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 19:56:34 +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
regis@google.com 9eb12ad303 Implement updated method overriding rules in the vm (issue 11495).
Introduce --error-on-bad-override flag and use it when generating snapshots.
Fix signature checking when patching methods.
Fix errors in patch files.
Fix receiver type of constructors.
Fix finalization of mixin application typedefs.
Update tests and status files.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26027 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-12 20:28:52 +00:00
floitsch@google.com 968ebcff5a Make Completers asynchronous.
BUG= http://dartbug.com/9990
R=ajohnsen@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22417 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-06 15:15:15 +00:00
floitsch@google.com 5431a5af54 Remove AsyncError with Expando.
Review URL: https://codereview.chromium.org//14251006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21498 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 18:58:32 +00:00
floitsch@google.com 6c40cac7a9 Remove streamSpawnUri and mangler.
Add more tests.
Make dart2js send sinks.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20213 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-19 16:12:13 +00:00
floitsch@google.com 7055e7b96a Add unhandledExceptionCallback to streamSpawnFunction.
Also throw error in dart2js version.

BUG= http://dartbug.com/9208

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20172 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-18 19:09:19 +00:00
floitsch@google.com 4a7dfd2da3 Big merge from experimental to bleeding edge.
Review URL: https://codereview.chromium.org//11783009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
ngeoffray@google.com 7db6e9d3e0 Re-apply "Clean up the patch file for the isolate library by introducing a new buitlin library: isolate_helper.dart". This time load eagerly isolate_helper so that the native handler can see it.
Review URL: https://codereview.chromium.org//11640021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16500 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-26 17:15:02 +00:00
ager@google.com 08b1e44502 Reapply "Optimize the message queue for many active ports with few messages."
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16394 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-20 20:03:07 +00:00
ager@google.com c3c47bbc98 Revert "Optimize the message queue for many active ports with few messages."
No failures locally. I'll investigate tomorrow.

R=iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16392 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-20 19:40:29 +00:00
ager@google.com 6e945a2578 Optimize the message queue for many active ports with few messages.
The current message queue implementation is very inefficient if you are using
many active ports with few messages. This happens when you use 'call' a lot
on ports which is currently done in dart:io.

This patch does not remove messages from the queue when closing a port. Instead
it drops messages for closed ports when it processes them. This dramatically
speeds up dart:io benchmarks that enqueue tons of writes on a file output
stream.

R=iposva@google.com
BUG=http://dartbug.com/6911

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16388 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-20 19:20:44 +00:00
johnniwinther@google.com 672d09149b Revert "Clean up the patch file for the isolate library by introducing a new builtin library: isolate_helper.dart."
This reverts commit r16029.

BUG=http://dartbug.com/7448

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16250 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 10:26:18 +00:00
tball@google.com 3282ae3f72 Second version of support for specifying an unhandled exception callback
in Dart.  Isolate.spawnFunction optionally takes a callback parameter,
which is not resolved until an unhandled exception occurs.  If a callback
wasn't specified, the VM will then call an "_unhandledExceptionCallback"
function if it is defined in the isolate's source file. If no callback
is provided, the error is logged as the isolate is closed.
Review URL: https://codereview.chromium.org//11558034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16186 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 00:20:07 +00:00
ngeoffray@google.com 0235ebc4b1 Clean up the patch file for the isolate library by introducing a new builtin library: isolate_helper.dart.
Review URL: https://codereview.chromium.org//11549017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16029 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 11:35:49 +00:00
ngeoffray@google.com 24e64c10f2 Clean up the timer source in the isolate library to be less VM specific.
Review URL: https://codereview.chromium.org//11538007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16024 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 08:32:54 +00:00
ajohnsen@google.com b7b3bb5919 Make ReceivePort an abstract class.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14849 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 14:05:43 +00:00
floitsch@google.com 8e6f238f86 a === b -> identical(a, b)
Replace === null with == null.

BUG=http://dartbug.com/6380

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14794 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 17:19:58 +00:00
floitsch@google.com 9074fd0178 Make hashCode a getter and not a method.
Review URL: https://codereview.chromium.org//11191078

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13866 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 12:41:04 +00:00
kasperl@google.com 9beb871852 Get rid of a lot of () for getters.
R=bak@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12017 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-07 11:50:07 +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