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_ |