| Index: runtime/vm/isolate.cc
|
| ===================================================================
|
| --- runtime/vm/isolate.cc (revision 44565)
|
| +++ runtime/vm/isolate.cc (working copy)
|
| @@ -600,65 +600,6 @@
|
| set_user_tag(UserTags::kDefaultUserTag);
|
| }
|
|
|
| -Isolate::Isolate(Isolate* original)
|
| - : vm_tag_(0),
|
| - store_buffer_(true),
|
| - class_table_(original->class_table()),
|
| - message_notify_callback_(NULL),
|
| - name_(NULL),
|
| - start_time_(OS::GetCurrentTimeMicros()),
|
| - main_port_(0),
|
| - pause_capability_(0),
|
| - terminate_capability_(0),
|
| - errors_fatal_(true),
|
| - heap_(NULL),
|
| - object_store_(NULL),
|
| - top_exit_frame_info_(0),
|
| - init_callback_data_(NULL),
|
| - environment_callback_(NULL),
|
| - library_tag_handler_(NULL),
|
| - api_state_(NULL),
|
| - stub_code_(NULL),
|
| - debugger_(NULL),
|
| - single_step_(false),
|
| - resume_request_(false),
|
| - random_(),
|
| - simulator_(NULL),
|
| - long_jump_base_(NULL),
|
| - timer_list_(),
|
| - deopt_id_(0),
|
| - mutex_(new Mutex()),
|
| - stack_limit_(0),
|
| - saved_stack_limit_(0),
|
| - stack_overflow_flags_(0),
|
| - stack_overflow_count_(0),
|
| - message_handler_(NULL),
|
| - spawn_state_(NULL),
|
| - is_runnable_(false),
|
| - gc_prologue_callback_(NULL),
|
| - gc_epilogue_callback_(NULL),
|
| - defer_finalization_count_(0),
|
| - deopt_context_(NULL),
|
| - is_service_isolate_(false),
|
| - log_(new class Log()),
|
| - stacktrace_(NULL),
|
| - stack_frame_index_(-1),
|
| - last_allocationprofile_accumulator_reset_timestamp_(0),
|
| - last_allocationprofile_gc_timestamp_(0),
|
| - cha_(NULL),
|
| - object_id_ring_(NULL),
|
| - trace_buffer_(NULL),
|
| - profiler_data_(NULL),
|
| - thread_state_(NULL),
|
| - tag_table_(GrowableObjectArray::null()),
|
| - current_tag_(UserTag::null()),
|
| - default_tag_(UserTag::null()),
|
| - metrics_list_head_(NULL),
|
| - next_(NULL),
|
| - REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_INITIALIZERS)
|
| - REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_INIT)
|
| - reusable_handles_() {
|
| -}
|
| #undef REUSABLE_HANDLE_SCOPE_INIT
|
| #undef REUSABLE_HANDLE_INITIALIZERS
|
|
|
| @@ -1365,6 +1306,17 @@
|
| void Isolate::Shutdown() {
|
| ASSERT(this == Isolate::Current());
|
| ASSERT(top_resource() == NULL);
|
| +
|
| + // Remove this isolate from the list *before* we start tearing it down, to
|
| + // avoid exposing it in a state of decay.
|
| + RemoveIsolateFromList(this);
|
| +
|
| + // Create an area where we do have a zone and a handle scope so that we can
|
| + // call VM functions while tearing this isolate down.
|
| + {
|
| + StackZone stack_zone(this);
|
| + HandleScope handle_scope(this);
|
| +
|
| #if defined(DEBUG)
|
| if (heap_ != NULL) {
|
| // Wait for concurrent GC tasks to finish before final verification.
|
| @@ -1378,16 +1330,6 @@
|
| }
|
| #endif // DEBUG
|
|
|
| - // Remove this isolate from the list *before* we start tearing it down, to
|
| - // avoid exposing it in a state of decay.
|
| - RemoveIsolateFromList(this);
|
| -
|
| - // Create an area where we do have a zone and a handle scope so that we can
|
| - // call VM functions while tearing this isolate down.
|
| - {
|
| - StackZone stack_zone(this);
|
| - HandleScope handle_scope(this);
|
| -
|
| // Notify exit listeners that this isolate is shutting down.
|
| if (object_store() != NULL) {
|
| NotifyExitListeners();
|
| @@ -1431,11 +1373,6 @@
|
| }
|
|
|
|
|
| -Isolate* Isolate::ShallowCopy() {
|
| - return new Isolate(this);
|
| -}
|
| -
|
| -
|
| Dart_IsolateCreateCallback Isolate::create_callback_ = NULL;
|
| Dart_IsolateInterruptCallback Isolate::interrupt_callback_ = NULL;
|
| Dart_IsolateUnhandledExceptionCallback
|
|
|