ajohnsen@google.com
0491f4e887
Per isolate package root.
...
BUG=
R=iposva@google.com , ricow@google.com , sgjesse@google.com , turnidge@google.com
Committed: https://code.google.com/p/dart/source/detail?r=40534
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40581 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 05:46:14 +00:00
ajohnsen@google.com
38619425c2
Revert "Per isolate package root."
...
Revert "Fix test in checked mode."
The Dartium branch is locked atm, making it impossible to land this and have green Dartium bots.
BUG=
Review URL: https://codereview.chromium.org//590123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40540 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 11:13:28 +00:00
ajohnsen@google.com
a058d07806
Per isolate package root.
...
BUG=
R=iposva@google.com , sgjesse@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40534 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 08:07:06 +00:00
lrn@google.com
0acdec95ff
Specify packageRoot parameter to Isolate.spawnUri.
...
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//439723004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39903 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 09:11:54 +00:00
ricow@google.com
69bed3d030
Revert revision 39617 "Create isolates in a separate thread."
...
This is breaking dartium with:
BrowserOutput.stderr:
../../dart/runtime/vm/dart_api_impl.cc:1614: error: Dart_EnterScope expects there to be a current isolate. Did you forget to call Dart_CreateIsolate or Dart_EnterIsolate?
R=vsm@google.com
Review URL: https://codereview.chromium.org//516863002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39638 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 09:52:59 +00:00
turnidge@google.com
3cd24f8ebf
Create isolates in a separate thread.
...
Previously the parent isolate waited for the child isolate to fully
load, which was not ideal. This change fixes that.
If you run on mac, you may need to raise your open file limit to make mandel_isolate_test pass:
ulimit -n 1024
Default open file limit on the mac is low.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//507913003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39617 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 19:47:06 +00:00
turnidge@google.com
2d4250d852
Defer execution of the main isolate's entry point until the message loop.
...
This allows us to know more accurately the stack limit while running main.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//503363002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39558 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-26 17:21:20 +00:00
turnidge@google.com
c48496b873
Refactor isolate startup code in preparation for making isolate spawning more truly non-blocking.
...
Instead of passing a startup message to the new isolate, pass all
necessary information in to _startIsolate directly. The new isolate
sends its control port and capabilities back to the parent.
R=iposva@google.com
Review URL: https://codereview.chromium.org//456983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39423 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 19:57:09 +00:00
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