Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::SimpleTaskWithZoneAllocation Class Reference
Inheritance diagram for dart::SimpleTaskWithZoneAllocation:
dart::ThreadPool::Task dart::IntrusiveDListEntry< Task >

Public Member Functions

 SimpleTaskWithZoneAllocation (intptr_t id, IsolateGroup *isolate_group, Thread **thread_ptr, Monitor *sync, Monitor *monitor, intptr_t *done_count, bool *wait)
 
virtual void Run ()
 
- Public Member Functions inherited from dart::ThreadPool::Task
virtual ~Task ()
 
virtual void Run ()=0
 
- Public Member Functions inherited from dart::IntrusiveDListEntry< Task >
 IntrusiveDListEntry ()
 
 ~IntrusiveDListEntry ()
 

Additional Inherited Members

- Protected Member Functions inherited from dart::ThreadPool::Task
 Task ()
 

Detailed Description

Definition at line 228 of file thread_test.cc.

Constructor & Destructor Documentation

◆ SimpleTaskWithZoneAllocation()

dart::SimpleTaskWithZoneAllocation::SimpleTaskWithZoneAllocation ( intptr_t  id,
IsolateGroup isolate_group,
Thread **  thread_ptr,
Monitor sync,
Monitor monitor,
intptr_t *  done_count,
bool *  wait 
)
inline

Definition at line 230 of file thread_test.cc.

237 : id_(id),
238 isolate_group_(isolate_group),
239 thread_ptr_(thread_ptr),
240 sync_(sync),
241 monitor_(monitor),
242 done_count_(done_count),
243 wait_(wait) {}

Member Function Documentation

◆ Run()

virtual void dart::SimpleTaskWithZoneAllocation::Run ( )
inlinevirtual

Implements dart::ThreadPool::Task.

Definition at line 245 of file thread_test.cc.

245 {
246 const bool kBypassSafepoint = false;
248 kBypassSafepoint);
249 {
250 Thread* thread = Thread::Current();
251 *thread_ptr_ = thread;
252 CreateStackZones(id_);
253 }
254 Thread::ExitIsolateGroupAsHelper(kBypassSafepoint);
255 // Notify the main thread that this thread has exited.
256 {
257 MonitorLocker ml(monitor_);
258 *done_count_ += 1;
259 ml.Notify();
260 }
261 }
@ kUnknownTask
Definition: thread.h:346
static Thread * Current()
Definition: thread.h:362
static void ExitIsolateGroupAsHelper(bool bypass_safepoint)
Definition: thread.cc:499
static bool EnterIsolateGroupAsHelper(IsolateGroup *isolate_group, TaskKind kind, bool bypass_safepoint)
Definition: thread.cc:481

The documentation for this class was generated from the following file: