Chromium Code Reviews| Index: runtime/vm/thread.h |
| =================================================================== |
| --- runtime/vm/thread.h (revision 0) |
| +++ runtime/vm/thread.h (working copy) |
| @@ -0,0 +1,37 @@ |
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +#ifndef VM_THREAD_H_ |
| +#define VM_THREAD_H_ |
| + |
| +#include "vm/isolate.h" |
| + |
| +namespace dart { |
| + |
| +// A VM thread; may be executing Dart code or performing helper tasks like |
| +// garbage collection. |
| +class Thread { |
| + public: |
| + static Thread* Current() { |
| + // For now, there is still just one thread per isolate, and the Thread |
| + // class just aliases the Isolate*. Once all interfaces and uses have been |
| + // updated to distinguish between isolates and threads, Thread will get its |
| + // own thread-local storage key. |
| + return reinterpret_cast<Thread*>(Isolate::Current()); |
| + } |
| + |
| + // The topmost zone used for allocation in this thread. |
| + Zone* current_zone() { |
| + return reinterpret_cast<BaseIsolate*>(this)->current_zone(); |
| + } |
| + |
| + // The isolate that this thread is operating on. |
| + Isolate* isolate() { |
| + return reinterpret_cast<Isolate*>(this); |
| + } |
|
siva
2015/01/21 22:14:50
Missing the boiler plate DISALLOW stuff.
koda
2015/01/21 23:06:25
Done.
|
| +}; |
| + |
| +} // namespace dart |
| + |
| +#endif // VM_THREAD_H_ |