V8 Project
|
#include <sweeper-thread.h>
Public Member Functions | |
SweeperThread (Isolate *isolate) | |
~SweeperThread () | |
void | Run () |
void | Stop () |
void | StartSweeping () |
void | WaitForSweeperThread () |
bool | SweepingCompleted () |
![]() | |
Thread (const Options &options) | |
virtual | ~Thread () |
void | Start () |
void | StartSynchronously () |
void | Join () |
const char * | name () const |
PlatformData * | data () |
void | NotifyStartedAndRun () |
Static Public Member Functions | |
static int | NumberOfThreads (int max_available) |
![]() | |
static LocalStorageKey | CreateThreadLocalKey () |
static void | DeleteThreadLocalKey (LocalStorageKey key) |
static void * | GetThreadLocal (LocalStorageKey key) |
static int | GetThreadLocalInt (LocalStorageKey key) |
static void | SetThreadLocal (LocalStorageKey key, void *value) |
static void | SetThreadLocalInt (LocalStorageKey key, int value) |
static bool | HasThreadLocal (LocalStorageKey key) |
static void * | GetExistingThreadLocal (LocalStorageKey key) |
static void | YieldCPU () |
Private Attributes | |
Isolate * | isolate_ |
Heap * | heap_ |
MarkCompactCollector * | collector_ |
base::Semaphore | start_sweeping_semaphore_ |
base::Semaphore | end_sweeping_semaphore_ |
base::Semaphore | stop_semaphore_ |
volatile base::AtomicWord | stop_thread_ |
Additional Inherited Members | |
![]() | |
typedef int32_t | LocalStorageKey |
![]() | |
static const int | kMaxThreadNameLength = 16 |
Definition at line 20 of file sweeper-thread.h.
|
explicit |
Definition at line 17 of file sweeper-thread.cc.
References DCHECK, v8::base::NoBarrier_Store(), and stop_thread_.
|
inline |
Definition at line 23 of file sweeper-thread.h.
Definition at line 74 of file sweeper-thread.cc.
References DCHECK.
Referenced by v8::internal::Isolate::Init().
|
virtual |
Implements v8::base::Thread.
Definition at line 30 of file sweeper-thread.cc.
References v8::base::Acquire_Load(), collector_, end_sweeping_semaphore_, heap_, isolate_, NULL, v8::internal::Heap::old_data_space(), v8::internal::Heap::old_pointer_space(), v8::internal::Isolate::SetIsolateThreadLocals(), start_sweeping_semaphore_, stop_semaphore_, stop_thread_, and v8::internal::MarkCompactCollector::SweepInParallel().
void v8::internal::SweeperThread::StartSweeping | ( | ) |
Definition at line 59 of file sweeper-thread.cc.
References start_sweeping_semaphore_.
Referenced by v8::internal::MarkCompactCollector::StartSweeperThreads().
void v8::internal::SweeperThread::Stop | ( | ) |
Definition at line 51 of file sweeper-thread.cc.
References v8::base::Thread::Join(), v8::base::Release_Store(), start_sweeping_semaphore_, stop_semaphore_, and stop_thread_.
Referenced by v8::internal::Isolate::Deinit().
bool v8::internal::SweeperThread::SweepingCompleted | ( | ) |
Definition at line 65 of file sweeper-thread.cc.
References end_sweeping_semaphore_.
Referenced by v8::internal::MarkCompactCollector::IsSweepingCompleted().
void v8::internal::SweeperThread::WaitForSweeperThread | ( | ) |
Definition at line 62 of file sweeper-thread.cc.
References end_sweeping_semaphore_.
Referenced by v8::internal::MarkCompactCollector::EnsureSweepingCompleted().
|
private |
Definition at line 36 of file sweeper-thread.h.
Referenced by Run().
|
private |
Definition at line 38 of file sweeper-thread.h.
Referenced by Run(), SweepingCompleted(), and WaitForSweeperThread().
|
private |
Definition at line 35 of file sweeper-thread.h.
Referenced by Run().
|
private |
Definition at line 34 of file sweeper-thread.h.
Referenced by Run().
|
private |
Definition at line 37 of file sweeper-thread.h.
Referenced by Run(), StartSweeping(), and Stop().
|
private |
Definition at line 39 of file sweeper-thread.h.
|
private |
Definition at line 40 of file sweeper-thread.h.
Referenced by Run(), Stop(), and SweeperThread().