Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: runtime/vm/isolate.cc

Issue 1807293002: - Fix for issue 25950 (add registration of a thread exit callback) (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: self-review-comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/isolate.h ('k') | runtime/vm/os_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/text_buffer.h" 10 #include "platform/text_buffer.h"
(...skipping 1792 matching lines...) Expand 10 before | Expand all | Expand 10 after
1803 #endif 1803 #endif
1804 1804
1805 // TODO(5411455): For now just make sure there are no current isolates 1805 // TODO(5411455): For now just make sure there are no current isolates
1806 // as we are shutting down the isolate. 1806 // as we are shutting down the isolate.
1807 Thread::ExitIsolate(); 1807 Thread::ExitIsolate();
1808 } 1808 }
1809 1809
1810 1810
1811 Dart_IsolateCreateCallback Isolate::create_callback_ = NULL; 1811 Dart_IsolateCreateCallback Isolate::create_callback_ = NULL;
1812 Dart_IsolateShutdownCallback Isolate::shutdown_callback_ = NULL; 1812 Dart_IsolateShutdownCallback Isolate::shutdown_callback_ = NULL;
1813 Dart_FileOpenCallback Isolate::file_open_callback_ = NULL;
1814 Dart_FileReadCallback Isolate::file_read_callback_ = NULL;
1815 Dart_FileWriteCallback Isolate::file_write_callback_ = NULL;
1816 Dart_FileCloseCallback Isolate::file_close_callback_ = NULL;
1817 Dart_EntropySource Isolate::entropy_source_callback_ = NULL;
1818 1813
1819 Monitor* Isolate::isolates_list_monitor_ = NULL; 1814 Monitor* Isolate::isolates_list_monitor_ = NULL;
1820 Isolate* Isolate::isolates_list_head_ = NULL; 1815 Isolate* Isolate::isolates_list_head_ = NULL;
1821 bool Isolate::creation_enabled_ = false; 1816 bool Isolate::creation_enabled_ = false;
1822 1817
1823 void Isolate::IterateObjectPointers(ObjectPointerVisitor* visitor, 1818 void Isolate::IterateObjectPointers(ObjectPointerVisitor* visitor,
1824 bool validate_frames) { 1819 bool validate_frames) {
1825 HeapIterationScope heap_iteration_scope; 1820 HeapIterationScope heap_iteration_scope;
1826 VisitObjectPointers(visitor, validate_frames); 1821 VisitObjectPointers(visitor, validate_frames);
1827 } 1822 }
(...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after
2852 void IsolateSpawnState::DecrementSpawnCount() { 2847 void IsolateSpawnState::DecrementSpawnCount() {
2853 ASSERT(spawn_count_monitor_ != NULL); 2848 ASSERT(spawn_count_monitor_ != NULL);
2854 ASSERT(spawn_count_ != NULL); 2849 ASSERT(spawn_count_ != NULL);
2855 MonitorLocker ml(spawn_count_monitor_); 2850 MonitorLocker ml(spawn_count_monitor_);
2856 ASSERT(*spawn_count_ > 0); 2851 ASSERT(*spawn_count_ > 0);
2857 *spawn_count_ = *spawn_count_ - 1; 2852 *spawn_count_ = *spawn_count_ - 1;
2858 ml.Notify(); 2853 ml.Notify();
2859 } 2854 }
2860 2855
2861 } // namespace dart 2856 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/isolate.h ('k') | runtime/vm/os_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698