Ivan Posva
04debc9c82
- Do not even attempt to spawn an isolate if the local script
...
URI cannot be determined.
BUG=
Review URL: https://codereview.chromium.org/1586003003 .
2016-01-15 00:48:54 -08:00
Ivan Posva
28412d153e
- Fix Isolate.spawn when running from snapshot.
...
- Avoid access to Isolate.resolvePackageUri when not needed. Fixes Dartium based test.
TBR
Review URL: https://codereview.chromium.org/1591573004 .
2016-01-14 23:24:07 -08:00
Ivan Posva
7b75f2dbb7
- Allow specifying of package: URIs for packageConfig and packageRoot when
...
spawning a new isolate.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1586653003 .
2016-01-14 08:20:59 -08:00
Ivan Posva
6d066c7e53
Add package config support to dart:isolate
...
- Add "static Future<Uri> get packageRoot;",
"static Future<Uri> get packageConfig;" and
"static Future<Uri> resolvePackageUri(Uri packageUri)" to Isolate class.
- Added "Uri packageRoot, Uri packageConfig, bool automaticPackageResolution: false" parameters to spawnUri.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1553233002 .
2016-01-12 18:19:04 -08:00
Todd Turnidge
71b3d5aba8
Start isolates in a separate thread.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org/1447353002 .
2015-11-18 11:02:32 -08:00
Todd Turnidge
5817a6f187
Remove some prototype code that snuck into one of my commits.
...
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1435943003 .
2015-11-16 15:07:16 -08:00
Ivan Posva
1fa2ef874d
- Rollback packageConfig/File/Spec updates for 1.13.
...
BUG=24691
R=sethladd@google.com
Review URL: https://codereview.chromium.org/1409343007 .
2015-10-22 16:22:17 -07:00
Ivan Posva
60eab65aa0
- Implement package map parameter when spawning isolate.
...
BUG=
R=lrn@google.com
Review URL: https://codereview.chromium.org/1403693002 .
2015-10-12 09:05:37 -07:00
Lasse R.H. Nielsen
57f4827c76
Rename [packages] to [packageMap] as Isolate.spawnUri parameter.
...
This matches the static [packageMap] getter on Isolate.
Fixes issue #24545 .
BUG= http://dartbug.com/24545
R=floitsch@google.com
Review URL: https://codereview.chromium.org/1401713002 .
2015-10-12 16:31:48 +02:00
Zachary Anderson
bb7f3a7501
Fixes RawReceivePort.hashCode
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1386253003 .
2015-10-08 13:06:49 -07:00
Ivan Posva
ba6c0ace3e
- Add getters for the current packageRoot or packageMap to the Isolate class.
...
- Simplify loading in builtin.dart.
BUG=
R=asiva@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//1334353002 .
2015-10-03 06:53:13 -07:00
Lasse R.H. Nielsen
232a9d687e
Add "environment" parameter to spawnUri for String.fromEnvironment support.
...
This completes the parameters corresponding to official command line parameters
for the VM/dart2js.
R=floitsch@google.com , iposva@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//1350053002 .
2015-09-22 12:29:40 +02:00
Todd Turnidge
b0ca0789be
Fix a variety of service protocol bugs.
...
Add documentation for breakpoint.
Fix Instance.pattern documentation.
Fix Instance.bytes documentation.
Add class field for null instances.
Fix documentation of Context and closureContext.
Make getObject return Collected for deleted breakpoints.
Closes #24247
Closes #24249
Closes #24309
Closes #24325
Closes #24326
Closes #24327
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1341473002 .
2015-09-11 12:29:21 -07:00
Lasse R.H. Nielsen
ff65079c47
Add packages parameter to Isolate.spawnUri.
...
No implementation supplied, marked as "not implemented everywhere".
BUG= http://dartbug.com/23951
R=iposva@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//1323373002 .
2015-09-11 13:07:54 +02:00
Ivan Posva
b07a9ddbca
- Implement .packages specification.
...
Limitation: Currently only works for file: based .package files. If a script is loaded from http: then the VM currently assumes a co-located packages/ directory.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1232593003 .
2015-07-29 11:30:33 -07:00
Ivan Posva
fe03640e85
- Implement VM parts of https://codereview.chromium.org/1240743003/
...
- Pass additional state in the IsolateSpawnState to set
error and exit handlers, as well as fatal errors on isolate start.
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1244733002 .
2015-07-20 16:46:54 +02:00
Lasse R.H. Nielsen
e4881c55d0
Add errorsAreFatal, onExit and onError parameters to the spawn functions.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1240743003 .
2015-07-16 16:52:43 +02:00
Lasse R.H. Nielsen
5a843ebbf3
Add "checked" parameter to Isolate.spawnUri.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1154673004
2015-06-03 12:32:52 +02:00
lrn@google.com
e96a973492
Reduce timer stack overhead by getting immediate callback and run it, instead of calling through function.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//892963002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45097 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 12:35:40 +00:00
lrn@google.com
1b208bd6e6
Update Isolate API.
...
Remove AS_EVENT as priority of ping/kill. It wasn't very usable or predictable.
Make priority consistently named and a named parameter.
Add response object to ping/addExitListener so it doesn't have to send null.
This is useful for cases where you want to use the same receive port for
multiple purposes.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1074223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45092 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 10:29:54 +00:00
iposva@google.com
91e105d8c6
- Implement some more missing pieces of the Isolate API.
...
Added:
* addOnExitListener, removeOnExitListener
* setErrorsFatal
* addOnErrorListener, removeOnErrorListener
R=asiva@google.com
Review URL: https://codereview.chromium.org//881373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44307 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-07 01:04:19 +00:00
iposva@google.com
b4088d10c9
Adjust handling of timers:
...
- Every zero timer is enqueued individually in the event queue
and handled in sequence with other events.
- Non-zero timers and zero timers expire in order. Therefor a
due zero timer will also fire all preceding non-zero timers
to ensure this order.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//958123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44095 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-27 16:45:23 +00:00
iposva@google.com
ad008bf8ba
- Move timer implementation closer to the rest of message handling.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//878323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43225 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 00:39:35 +00:00
asiva@google.com
ca1c3241c4
Fix for issue 21398.
...
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.
R=iposva@google.com
Review URL: https://codereview.chromium.org//834233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
iposva@google.com
2104fd6165
Fix http://dartbug.com/21834
...
- Ensure that microtasks fire after every timer event, instead
of being bunched together once all pending timers fired.
- Do not wait for timer message to be delivered. Trigger timers
as soon as they are ready from within the message handling
loop.
- Notify timers in the order of wakeup time regardless of
specified timeout value. (AKA Do not allow Timer.run to
overtake new Timer() scheduled operations.)
R=zra@google.com
Review URL: https://codereview.chromium.org//825403003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42673 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 22:21:59 +00:00
iposva@google.com
fd69128004
- Allow an isolate to be started in paused state.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//822803003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42576 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-30 23:52:37 +00:00
lrn@google.com
cf724d70a9
Add Isolate.current getter, returning the current isolate as an Isolate object.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//771993003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42499 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-19 07:04:29 +00:00
iposva@google.com
577242dbd4
- Implement Isolate.kill.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//800713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42355 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-13 00:39:16 +00:00
iposva@google.com
602aad28a1
- Implement Isolate.ping.
...
- Allow isolate library messages to be enqueued at the beginning
of the message queue.
R=asiva@google.com
Review URL: https://codereview.chromium.org//749373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42193 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 22:45:10 +00:00
iposva@google.com
320ffa23a1
- Implement hashCode and == for Capability.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//778983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42102 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 12:17:48 +00:00
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