| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index 550bfb62b7f09b6109e1edad5f88e1367ae7c289..5c764df99fef660f2e0a21bf014d6906716efc79 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -2356,10 +2356,13 @@ static const char* NewConstChar(const char* chars) {
|
| IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
|
| Dart_Port origin_id,
|
| void* init_data,
|
| + const char* script_url,
|
| const Function& func,
|
| const Instance& message,
|
| Monitor* spawn_count_monitor,
|
| intptr_t* spawn_count,
|
| + const char* package_root,
|
| + const char* package_config,
|
| bool paused,
|
| bool errors_are_fatal,
|
| Dart_Port on_exit_port,
|
| @@ -2370,9 +2373,9 @@ IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
|
| init_data_(init_data),
|
| on_exit_port_(on_exit_port),
|
| on_error_port_(on_error_port),
|
| - script_url_(NULL),
|
| - package_root_(NULL),
|
| - package_map_(NULL),
|
| + script_url_(script_url),
|
| + package_root_(package_root),
|
| + package_config_(package_config),
|
| library_url_(NULL),
|
| class_name_(NULL),
|
| function_name_(NULL),
|
| @@ -2410,7 +2413,7 @@ IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
|
| void* init_data,
|
| const char* script_url,
|
| const char* package_root,
|
| - const char** package_map,
|
| + const char* package_config,
|
| const Instance& args,
|
| const Instance& message,
|
| Monitor* spawn_count_monitor,
|
| @@ -2427,7 +2430,7 @@ IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
|
| on_error_port_(on_error_port),
|
| script_url_(script_url),
|
| package_root_(package_root),
|
| - package_map_(package_map),
|
| + package_config_(package_config),
|
| library_url_(NULL),
|
| class_name_(NULL),
|
| function_name_(NULL),
|
| @@ -2459,14 +2462,7 @@ IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
|
| IsolateSpawnState::~IsolateSpawnState() {
|
| delete[] script_url_;
|
| delete[] package_root_;
|
| - for (int i = 0; package_map_ != NULL; i++) {
|
| - if (package_map_[i] != NULL) {
|
| - delete[] package_map_[i];
|
| - } else {
|
| - delete[] package_map_;
|
| - package_map_ = NULL;
|
| - }
|
| - }
|
| + delete[] package_config_;
|
| delete[] library_url_;
|
| delete[] class_name_;
|
| delete[] function_name_;
|
| @@ -2499,7 +2495,7 @@ RawObject* IsolateSpawnState::ResolveFunction() {
|
| return func.raw();
|
| }
|
|
|
| - ASSERT(script_url() == NULL);
|
| + // Lookup the to be spawned function for the Isolate.spawn implementation.
|
| // Resolve the library.
|
| const String& lib_url = String::Handle(String::New(library_url()));
|
| const Library& lib = Library::Handle(Library::LookupLibrary(lib_url));
|
|
|