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 |