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

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

Issue 1314673008: Migrate logging infrastructure Isolate->Thread (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix test. Created 5 years, 3 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 VM_THREAD_H_ 5 #ifndef VM_THREAD_H_
6 #define VM_THREAD_H_ 6 #define VM_THREAD_H_
7 7
8 #include "vm/globals.h" 8 #include "vm/globals.h"
9 #include "vm/os_thread.h" 9 #include "vm/os_thread.h"
10 #include "vm/store_buffer.h" 10 #include "vm/store_buffer.h"
11 #include "vm/runtime_entry_list.h" 11 #include "vm/runtime_entry_list.h"
12 12
13 namespace dart { 13 namespace dart {
14 14
15 class CHA; 15 class CHA;
16 class HandleScope; 16 class HandleScope;
17 class Heap; 17 class Heap;
18 class Isolate; 18 class Isolate;
19 class Log;
19 class LongJumpScope; 20 class LongJumpScope;
20 class Object; 21 class Object;
21 class RawBool; 22 class RawBool;
22 class RawObject; 23 class RawObject;
23 class RawString; 24 class RawString;
24 class RuntimeEntry; 25 class RuntimeEntry;
25 class StackResource; 26 class StackResource;
26 class TimelineEventBlock; 27 class TimelineEventBlock;
27 class Zone; 28 class Zone;
28 29
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 static intptr_t OffsetFromThread(const RuntimeEntry* runtime_entry); 250 static intptr_t OffsetFromThread(const RuntimeEntry* runtime_entry);
250 251
251 TimelineEventBlock* timeline_block() const { 252 TimelineEventBlock* timeline_block() const {
252 return state_.timeline_block; 253 return state_.timeline_block;
253 } 254 }
254 255
255 void set_timeline_block(TimelineEventBlock* block) { 256 void set_timeline_block(TimelineEventBlock* block) {
256 state_.timeline_block = block; 257 state_.timeline_block = block;
257 } 258 }
258 259
260 class Log* log() const;
261
259 LongJumpScope* long_jump_base() const { return state_.long_jump_base; } 262 LongJumpScope* long_jump_base() const { return state_.long_jump_base; }
260 void set_long_jump_base(LongJumpScope* value) { 263 void set_long_jump_base(LongJumpScope* value) {
261 state_.long_jump_base = value; 264 state_.long_jump_base = value;
262 } 265 }
263 266
264 ThreadId id() const { 267 ThreadId id() const {
265 ASSERT(id_ != OSThread::kInvalidThreadId); 268 ASSERT(id_ != OSThread::kInvalidThreadId);
266 return id_; 269 return id_;
267 } 270 }
268 271
269 void SetThreadInterrupter(ThreadInterruptCallback callback, void* data); 272 void SetThreadInterrupter(ThreadInterruptCallback callback, void* data);
270 273
271 bool IsThreadInterrupterEnabled(ThreadInterruptCallback* callback, 274 bool IsThreadInterrupterEnabled(ThreadInterruptCallback* callback,
272 void** data) const; 275 void** data) const;
273 276
274 private: 277 private:
275 static ThreadLocalKey thread_key_; 278 static ThreadLocalKey thread_key_;
276 279
277 const ThreadId id_; 280 const ThreadId id_;
278 ThreadInterruptCallback thread_interrupt_callback_; 281 ThreadInterruptCallback thread_interrupt_callback_;
279 void* thread_interrupt_data_; 282 void* thread_interrupt_data_;
280 Isolate* isolate_; 283 Isolate* isolate_;
281 Heap* heap_; 284 Heap* heap_;
282 State state_; 285 State state_;
283 StoreBufferBlock* store_buffer_block_; 286 StoreBufferBlock* store_buffer_block_;
287 class Log* log_;
284 #define DECLARE_MEMBERS(type_name, member_name, expr, default_init_value) \ 288 #define DECLARE_MEMBERS(type_name, member_name, expr, default_init_value) \
285 type_name member_name; 289 type_name member_name;
286 CACHED_CONSTANTS_LIST(DECLARE_MEMBERS) 290 CACHED_CONSTANTS_LIST(DECLARE_MEMBERS)
287 #undef DECLARE_MEMBERS 291 #undef DECLARE_MEMBERS
288 292
289 #define DECLARE_MEMBERS(name) \ 293 #define DECLARE_MEMBERS(name) \
290 uword name##_entry_point_; 294 uword name##_entry_point_;
291 RUNTIME_ENTRY_LIST(DECLARE_MEMBERS) 295 RUNTIME_ENTRY_LIST(DECLARE_MEMBERS)
292 #undef DECLARE_MEMBERS 296 #undef DECLARE_MEMBERS
293 297
(...skipping 29 matching lines...) Expand all
323 friend class ApiZone; 327 friend class ApiZone;
324 friend class Isolate; 328 friend class Isolate;
325 friend class StackZone; 329 friend class StackZone;
326 friend class ThreadRegistry; 330 friend class ThreadRegistry;
327 DISALLOW_COPY_AND_ASSIGN(Thread); 331 DISALLOW_COPY_AND_ASSIGN(Thread);
328 }; 332 };
329 333
330 } // namespace dart 334 } // namespace dart
331 335
332 #endif // VM_THREAD_H_ 336 #endif // VM_THREAD_H_
OLDNEW
« no previous file with comments | « runtime/vm/stub_code.cc ('k') | runtime/vm/thread.cc » ('j') | runtime/vm/thread.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698