| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/isolate.h" | 5 #include "vm/isolate.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "platform/json.h" | 9 #include "platform/json.h" |
| 10 #include "lib/mirrors.h" | 10 #include "lib/mirrors.h" |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 create_callback_ = NULL; | 401 create_callback_ = NULL; |
| 402 isolates_list_monitor_ = new Monitor(); | 402 isolates_list_monitor_ = new Monitor(); |
| 403 ASSERT(isolates_list_monitor_ != NULL); | 403 ASSERT(isolates_list_monitor_ != NULL); |
| 404 } | 404 } |
| 405 | 405 |
| 406 | 406 |
| 407 Isolate* Isolate::Init(const char* name_prefix) { | 407 Isolate* Isolate::Init(const char* name_prefix) { |
| 408 Isolate* result = new Isolate(); | 408 Isolate* result = new Isolate(); |
| 409 ASSERT(result != NULL); | 409 ASSERT(result != NULL); |
| 410 | 410 |
| 411 // Setup for profiling. | |
| 412 Profiler::InitProfilingForIsolate(result); | |
| 413 | |
| 414 // Add to isolate list. | 411 // Add to isolate list. |
| 415 AddIsolateTolist(result); | 412 AddIsolateTolist(result); |
| 416 | 413 |
| 417 // TODO(5411455): For now just set the recently created isolate as | 414 // TODO(5411455): For now just set the recently created isolate as |
| 418 // the current isolate. | 415 // the current isolate. |
| 419 SetCurrent(result); | 416 SetCurrent(result); |
| 420 | 417 |
| 421 // Setup the isolate specific resuable handles. | 418 // Setup the isolate specific resuable handles. |
| 422 #define REUSABLE_HANDLE_ALLOCATION(object) \ | 419 #define REUSABLE_HANDLE_ALLOCATION(object) \ |
| 423 result->object##_handle_ = result->AllocateReusableHandle<object>(); | 420 result->object##_handle_ = result->AllocateReusableHandle<object>(); |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1133 return func.raw(); | 1130 return func.raw(); |
| 1134 } | 1131 } |
| 1135 | 1132 |
| 1136 | 1133 |
| 1137 void IsolateSpawnState::Cleanup() { | 1134 void IsolateSpawnState::Cleanup() { |
| 1138 SwitchIsolateScope switch_scope(isolate()); | 1135 SwitchIsolateScope switch_scope(isolate()); |
| 1139 Dart::ShutdownIsolate(); | 1136 Dart::ShutdownIsolate(); |
| 1140 } | 1137 } |
| 1141 | 1138 |
| 1142 } // namespace dart | 1139 } // namespace dart |
| OLD | NEW |