johnmccutchan@google.com
a6483aefd1
Per isolate Log with block support
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//913503004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43604 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 18:54:20 +00:00
zra@google.com
1299ad1485
Allows turning on checked mode on a per-isolate basis
...
using the embedding API.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//883263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43481 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 18:32:48 +00:00
johnmccutchan@google.com
172baa03ff
Service isolate rework take 2
...
Review URL: https://codereview.chromium.org//889443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
johnmccutchan@google.com
db271b0477
Revert r43217, r43215, r43208, r43207, and r43202.
...
Reverting because of some isolate spawn issues (on Windows, and pub bots).
Review URL: https://codereview.chromium.org//867113003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com
66aa470fc6
* Create vm-service isolate at Dart_Initialize time.
...
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.
performance changes:
no service isolate:
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
always start service isolate (as a thread pool task):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | - 0]
service does I/O (calls to Dart_LoadScript block until service is running):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
R=asiva@google.com
Review URL: https://codereview.chromium.org//584023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
johnmccutchan@google.com
bedcc03afb
Remove unsupported --profile-dir flag and related code
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//877143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43198 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 18:31:41 +00:00
iposva@google.com
fc044a7294
Fix http://dartbug.com/22115
...
- Make sure to lookup main in re-exported namespaces too.
R=asiva@google.com
Review URL: https://codereview.chromium.org//864233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43078 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 21:28:27 +00:00
koda@google.com
9856fcdd8b
Expect objects in the VM-heap to be marked on shutdown verification.
...
This would have failed after submitting
https://codereview.chromium.org/850183003/
R=zra@google.com
Review URL: https://codereview.chromium.org//866473003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43052 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 20:30:09 +00:00
johnmccutchan@google.com
47664bbfd2
Move StartIsolateScope into MessageHandler::HandleMessages
...
R=iposva@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//861813003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43021 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 19:13:06 +00:00
koda@google.com
c7e9e048ed
Rename Thread -> OSThread.
...
It's a collection of static utility methods for primitive operations on OS threads.
Make room in the namespace for upcoming class that will represent all the complex state of a VM thread.
Review URL: https://codereview.chromium.org//796063006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42895 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 02:30:07 +00:00
koda@google.com
044fc59fb6
Temporarily move vm_tag_ from BaseIsolate to Isolate.
...
This field is used by performance sensitive generated code.
Moving it out of BaseIsolate will simplify the first step towards replacing BaseIsolate with an actual thread state abstraction. It will later be migrated to that thread class (along with many other fields of Isolate).
Also remove an unused accessor from Isolate.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//798873007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42884 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-14 21:18:49 +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
57b4eef0d4
- Remove entirely disconnected unhandled exception handler.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//796003006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42759 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 22:39:42 +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
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
johnmccutchan@google.com
456bdc4ea3
Enable the profiler on the simulator
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//718393005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41752 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-14 23:15:00 +00:00
fschneider@google.com
876193b31a
Make CTX allocatable by the register allocator.
...
This change makes CTX available by not caching the current
context while in Dart code. Instead the current context
is held in a local variable (:saved_current_context_var) and
is passed as argument in CTX at calls.
This also simplifies a lot of code in the debugger: As a result,
Isolate::top_context is not needed anymore since the current context
can always be extracted from a Dart frame.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//678763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41422 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 15:42:38 +00:00
koda@google.com
3291f76135
Avoid verifying heap while sweeper is running.
...
Verifier cannot handle a combination of dead+unswept objects and dead+swept objects.
* Verify before marking, before sweeping, and after a non-concurrent sweep.
* Disable pre/post-scavenge verification when concurrently sweeping.
* On shutdown, wait until concurrent GC tasks finish before verifying.
R=iposva@google.com
TBR=iposva@google.com
Review URL: https://codereview.chromium.org//631013002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40946 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-06 23:20:23 +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
asiva@google.com
302c93b050
1. Add user tag to the pointers traversed in the object store
...
2. Added support for UserTag objects in a full snapshot.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//583583007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40508 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 18:00:13 +00:00
turnidge@google.com
d3173684dd
Add --break-at-isolate-spawn to help with isolate debugging.
...
This flags stops spawned isolates with a one-time breakpoint at their
entrypoints.
Fix a bug in Observatory which interfered with browsing a spawned
isolate.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//537673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39878 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:53:44 +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
johnmccutchan@google.com
3c6822fde3
- Keep track of stack base whenever Dart code is invoked.
...
- Update stack limit based on stack base.
R=asiva@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//506933002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39613 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 18:28:47 +00:00
iposva@google.com
2ee3263277
- Add and enable concurrent sweeper.
...
- Keep separate lists for normal sized executable and data pages.
R=koda@google.com
Review URL: https://codereview.chromium.org//503363005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39593 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 13:37:55 +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
4835041da9
- Account for number of pending tasks in old-space collections.
...
- Protect access to the free lists.
- MutexLocker/MonitorLocker do not need to be StackResources.
R=koda@google.com
Review URL: https://codereview.chromium.org//474913004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39396 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 03:54:14 +00:00
johnmccutchan@google.com
3299ed4a81
- Add VMMetric and some sample metrics
...
- Per isolate:
* heap.old.used
* heap.old.capacity
* heap.old.external
* heap.new.used
* heap.new.capacity
* heap.new.external
- VM:
* vm.isolate.count
- New metrics service namespace: /metrics/vm/...
R=koda@google.com
Review URL: https://codereview.chromium.org//464953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39305 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 17:35:00 +00:00
fschneider@google.com
54a7410866
Fix bug with CHA dependencies by recording a set of classes for registering code.
...
CHA is not only used with the receiver class, but also with other classes
when doing type propagation. The optimized code has to be registered with
all classes that are affected by CHA so that deoptimization occurs whenever
the set of subclasses changes for these classes.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//463103002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39194 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 12:43:03 +00:00
iposva@google.com
14ecdbd66a
- Separate the thread implementation used in bin/ and vm/
...
to allow us to make VM specific changes.
R=asiva@google.com
Review URL: https://codereview.chromium.org//463993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39172 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 23:19:53 +00:00
hausner@google.com
207292adb1
Report stack overflow to debugger after stack is unwound
...
Notify the debugger of stack overflow errors after the stack has
been unwound. No location information is sent with the pause event.
R=devoncarew@google.com
Review URL: https://codereview.chromium.org//382653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38125 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-10 17:44:33 +00:00
hausner@google.com
28f8a0ecae
Do not notify debugger on stack overflow
...
Don’t call back to the debugger on out of memory and stack overflow
exceptions. The debugger can’t do anything meaningful on the VM
when the stack is full.
This should eliminate crashes we see in Dartium devtools.
This means we can no longer intercept stack overflows with the debugger.
In a later change, I plan to add uncomment the code that notifies
the debugger of the exception after the stack in unwound. Before this
notification gets uncommented, we need to make sure that debuggers
can handle notifications with an empty stack.
R=asiva@google.com
Review URL: https://codereview.chromium.org//376053003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38086 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-09 16:09:14 +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
turnidge@google.com
f849afc751
Add support for asynchronous event notification to the observatory.
...
Implement "isolate pause" notifications.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//340443006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37841 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:46:27 +00:00
hausner@google.com
4090b57cd8
Defer marking libraries as ‘loaded’
...
Now that loading of libraries and library parts are loaded asynchronously and calls to Dart_LoadLibrary are serialized instead of nested, we must wait until the last load request is satisfied before marking libraries as ‘loaded’.
R=iposva@google.com
Review URL: https://codereview.chromium.org//350923005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37824 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 17:11:09 +00:00
johnmccutchan@google.com
452545ddcd
Visual refresh of allocation profile page
...
- Redo layout of page.
- Show human readable strings for used, free, and external memory for each space.
- Track time of last forced GC/accumulator reset in isolate and display them in allocation profile page.
- Track allocation statistics on Class object itself.
- Make isolate's heap reporting use heap's PrintToJSON.
- Manually insert allocation profile table rows into dom (removes usage of template repeat).
- Add some timing information to allocation profile page update (to help diagnose slow downs).
Other changes:
- Upgrade to Polymer 0.11-dev (finally ends erroneous console spam).
- Replace enteredView/leftView with attached/detached (polymer change).
- Add <link> tag to polymer.html for each element (polymer change).
- Move <script> tag outside of element (uniformity, clarity).
- Remove unused collapsible-content element.
R=koda@google.com
Review URL: https://codereview.chromium.org//342513004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37456 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 17:39:37 +00:00
koda@google.com
3cf1f597e2
At shutdown, remove isolate from list before tearing it down.
...
This avoid exposing the decaying, possibly illegal, state of the isolate to isolate visitors.
BUG=dart:19219
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//327123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37211 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 23:12:08 +00:00
koda@google.com
e61340a29f
Mitigate race condition in profiler.
...
BUG=dart:19219
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//322203005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37205 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 22:07:33 +00:00
regis@google.com
7e065cb7f0
Provide the isolate with a trace buffer, but do not allocate one by default.
...
This will be used to report warnings to the observatory.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//327803003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37184 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 17:06: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
iposva@google.com
651ded192e
- Add possibility to redirect messages if they were not delivered.
...
- Prepare OOB handling for more than service messages.
- Do not use growable arrays when growing is not necessary.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//300223011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36772 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 21:58:33 +00:00
johnmccutchan@google.com
1c94e8f852
Fix crash in ProfileInterrupt
...
BUG=
Review URL: https://codereview.chromium.org//302933003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36771 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 21:10:39 +00:00
johnmccutchan@google.com
58f33f47e1
Don't idle tick isolates paused before start or exit
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//303863003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36770 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 20:56:57 +00:00
johnmccutchan@google.com
b3f2fb14d0
Reduce CPU usage when no isolates need to be profiled (e.g. when an isolate calls readLineSync or sleep the isolate owns the thread but is blocked).
...
This CL does the following:
- Introduces two new API entry points: Dart_IsolateBlocked and Dart_IsolateUnblocked.
- The thread interrupter thread goes into a deep sleep if no isolates need to be profiled (not scheduled on a thread or are in a blocking call).
- When an isolate unblocks, the thread interrupter thread resumes regular interrupts.
- dart:io readLineSync and sleep mark that they are making a blocking call.
This fixes https://code.google.com/p/dart/issues/detail?id=18126 reducing CPU usage to 0% when waiting for stdin or sleeping.
R=ajohnsen@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//297183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36632 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 11:53:49 +00:00
johnmccutchan@google.com
03d92f4d7f
Fix pause-on-start and pause-on-exit with async loading.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//295353002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36617 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 06:09:28 +00:00
hausner@google.com
c6101ca4b5
First step towards asynchronous loading of sources. With this change, sources are read asynchronously in dart code (builtin.dart) and when the i/o future completes, a callback in the VM loads and compiles the script or library code.
...
In a next step, the i/o will be moved to the service isolate so that not all isolates have to import dart:io.
Fallout from this change:
1) Loading has become a tad slower. Will have to investigate why.
2) Errors that happen during loading (file not found, compilation error in an imported library) are no longer reported at the offending import clause. This can be fixed later if necessary by passing the import clause source location to the library tag handler.
Review URL: https://codereview.chromium.org//290713004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36575 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 17:43:14 +00:00