port as the unique ID to represent an isolate in the debugger message
format.
2. Switch the Event handler API to use an isolate id instead of the isolate
object itself.
3. Add a unit test case for isolate debugger event handling with an
interrupt of isolate to ensure that interrupting the isolate runs
the interrupt event handler.
Review URL: https://codereview.chromium.org//11052006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13207 260f80e4-7a28-3924-810f-c04153c831b5
replace it with the beginnings of a local (same isolate) IsolateMirror
implementation.
Removed old mirror tests and added two new mirror tests.
Even though mirrors.cc is part of the vm, I chose to implement most of
it using the dart embedding interface instead of our internal
interfaces because the embedding interface was more convenient.
mirrors.cc is basically all new in this CL -- don't pay any attention
to diffs for that file.
Added dart embedding functions required for the functionality in this
CL: Dart_DebugName, Dart_GetNativeInstanceFieldCount,
Dart_RootLibrary, Dart_RegisteredLibraryUrls, and Dart_LibraryName.
Extended or modified some existing dart api functions, primarily to
make them propagate error handles properly.
Added tests for new dart embedding api functionality.
Added the ability to determine if a port is local to the current isolate.
Extended NotImplementedException to accept an optional string
argument. I wanted to give more descriptive error messages.
Review URL: https://chromiumcodereview.appspot.com//10416050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8117 260f80e4-7a28-3924-810f-c04153c831b5
each isolate or native port had a dedicated thread.
Refactored the MessageHandler api...
- Added a Run function to allow a MessageHandler to run on a
ThreadPool. These functions take a start and end callback to allow for
isolate initialization and shutdown.
- Made the queue private to the MessageHandler and moved all message
processing code inside the MessageHandler (got rid of all of the
different flavors of RunLoop). This helps remove some code
duplication and hides the details of how messages are handled.
- Moved all locking and notification out of MessageQueue and moved it
up to MessageHandler. Moved OOB support out of MessageQueue and up
to MessageHandler. These changes make the MessageQueue much
simpler.
- Refactored native port and isolate MessageHandlers to share more code.
- Improved --trace_isolates output.
- Added tests for MessageHandler.
Refactored lib/isolate code...
- Use the new MessageHandler::Run api.
- Got rid of the LongJump stuff in RunIsolate. No longer needed.
- Use the new StartIsolateScope/SwitchIsolateScope to make the code
less verbose and less error-prone.
- Store top-level isolate errors in the sticky_error.
Added StartIsolateScope/SwitchIsolateScope classes.
Review URL: https://chromiumcodereview.appspot.com//9924015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6762 260f80e4-7a28-3924-810f-c04153c831b5