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

Side by Side Diff: runtime/vm/os_thread.h

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 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/os_test.cc ('k') | runtime/vm/os_thread.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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 #ifndef RUNTIME_VM_OS_THREAD_H_ 5 #ifndef RUNTIME_VM_OS_THREAD_H_
6 #define RUNTIME_VM_OS_THREAD_H_ 6 #define RUNTIME_VM_OS_THREAD_H_
7 7
8 #include "platform/globals.h" 8 #include "platform/globals.h"
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 #include "vm/globals.h" 10 #include "vm/globals.h"
(...skipping 30 matching lines...) Expand all
41 ~BaseThread() {} 41 ~BaseThread() {}
42 42
43 bool is_os_thread_; 43 bool is_os_thread_;
44 44
45 friend class Thread; 45 friend class Thread;
46 friend class OSThread; 46 friend class OSThread;
47 47
48 DISALLOW_IMPLICIT_CONSTRUCTORS(BaseThread); 48 DISALLOW_IMPLICIT_CONSTRUCTORS(BaseThread);
49 }; 49 };
50 50
51
52 // Low-level operations on OS platform threads. 51 // Low-level operations on OS platform threads.
53 class OSThread : public BaseThread { 52 class OSThread : public BaseThread {
54 public: 53 public:
55 // The constructor of OSThread is never called directly, instead we call 54 // The constructor of OSThread is never called directly, instead we call
56 // this factory style method 'CreateOSThread' to create OSThread structures. 55 // this factory style method 'CreateOSThread' to create OSThread structures.
57 // The method can return a NULL if the Dart VM is in shutdown mode. 56 // The method can return a NULL if the Dart VM is in shutdown mode.
58 static OSThread* CreateOSThread(); 57 static OSThread* CreateOSThread();
59 ~OSThread(); 58 ~OSThread();
60 59
61 ThreadId id() const { 60 ThreadId id() const {
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 static Mutex* thread_list_lock_; 247 static Mutex* thread_list_lock_;
249 static OSThread* thread_list_head_; 248 static OSThread* thread_list_head_;
250 static bool creation_enabled_; 249 static bool creation_enabled_;
251 250
252 friend class Isolate; // to access set_thread(Thread*). 251 friend class Isolate; // to access set_thread(Thread*).
253 friend class OSThreadIterator; 252 friend class OSThreadIterator;
254 friend class ThreadInterrupterWin; 253 friend class ThreadInterrupterWin;
255 friend class ThreadInterrupterFuchsia; 254 friend class ThreadInterrupterFuchsia;
256 }; 255 };
257 256
258
259 // Note that this takes the thread list lock, prohibiting threads from coming 257 // Note that this takes the thread list lock, prohibiting threads from coming
260 // on- or off-line. 258 // on- or off-line.
261 class OSThreadIterator : public ValueObject { 259 class OSThreadIterator : public ValueObject {
262 public: 260 public:
263 OSThreadIterator(); 261 OSThreadIterator();
264 ~OSThreadIterator(); 262 ~OSThreadIterator();
265 263
266 // Returns false when there are no more threads left. 264 // Returns false when there are no more threads left.
267 bool HasNext() const; 265 bool HasNext() const;
268 266
269 // Returns the current thread and moves forward. 267 // Returns the current thread and moves forward.
270 OSThread* Next(); 268 OSThread* Next();
271 269
272 private: 270 private:
273 OSThread* next_; 271 OSThread* next_;
274 }; 272 };
275 273
276
277 class Mutex { 274 class Mutex {
278 public: 275 public:
279 Mutex(); 276 Mutex();
280 ~Mutex(); 277 ~Mutex();
281 278
282 #if defined(DEBUG) 279 #if defined(DEBUG)
283 bool IsOwnedByCurrentThread() const { 280 bool IsOwnedByCurrentThread() const {
284 return owner_ == OSThread::GetCurrentThreadId(); 281 return owner_ == OSThread::GetCurrentThreadId();
285 } 282 }
286 #else 283 #else
(...skipping 17 matching lines...) Expand all
304 friend class MutexLocker; 301 friend class MutexLocker;
305 friend class SafepointMutexLocker; 302 friend class SafepointMutexLocker;
306 friend class OSThreadIterator; 303 friend class OSThreadIterator;
307 friend class TimelineEventBlockIterator; 304 friend class TimelineEventBlockIterator;
308 friend class TimelineEventRecorder; 305 friend class TimelineEventRecorder;
309 friend class PageSpace; 306 friend class PageSpace;
310 friend void Dart_TestMutex(); 307 friend void Dart_TestMutex();
311 DISALLOW_COPY_AND_ASSIGN(Mutex); 308 DISALLOW_COPY_AND_ASSIGN(Mutex);
312 }; 309 };
313 310
314
315 class Monitor { 311 class Monitor {
316 public: 312 public:
317 enum WaitResult { kNotified, kTimedOut }; 313 enum WaitResult { kNotified, kTimedOut };
318 314
319 static const int64_t kNoTimeout = 0; 315 static const int64_t kNoTimeout = 0;
320 316
321 Monitor(); 317 Monitor();
322 ~Monitor(); 318 ~Monitor();
323 319
324 #if defined(DEBUG) 320 #if defined(DEBUG)
(...skipping 24 matching lines...) Expand all
349 #if defined(DEBUG) 345 #if defined(DEBUG)
350 ThreadId owner_; 346 ThreadId owner_;
351 #endif // defined(DEBUG) 347 #endif // defined(DEBUG)
352 348
353 friend class MonitorLocker; 349 friend class MonitorLocker;
354 friend class SafepointMonitorLocker; 350 friend class SafepointMonitorLocker;
355 friend void Dart_TestMonitor(); 351 friend void Dart_TestMonitor();
356 DISALLOW_COPY_AND_ASSIGN(Monitor); 352 DISALLOW_COPY_AND_ASSIGN(Monitor);
357 }; 353 };
358 354
359
360 } // namespace dart 355 } // namespace dart
361 356
362
363 #endif // RUNTIME_VM_OS_THREAD_H_ 357 #endif // RUNTIME_VM_OS_THREAD_H_
OLDNEW
« no previous file with comments | « runtime/vm/os_test.cc ('k') | runtime/vm/os_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698