v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::ThreadManager Class Reference

#include <v8threads.h>

Collaboration diagram for v8::internal::ThreadManager:

Public Member Functions

void Lock ()
 
V8_EXPORT_PRIVATE void Unlock ()
 
void InitThread (const ExecutionAccess &)
 
void ArchiveThread ()
 
bool RestoreThread ()
 
void FreeThreadResources ()
 
bool IsArchived ()
 
void Iterate (RootVisitor *v)
 
void IterateArchivedThreads (ThreadVisitor *v)
 
bool IsLockedByCurrentThread () const
 
bool IsLockedByThread (ThreadId id) const
 
ThreadId CurrentId ()
 
ThreadStateFirstThreadStateInUse ()
 
ThreadStateGetFreeThreadState ()
 

Private Member Functions

 ThreadManager (Isolate *isolate)
 
 ~ThreadManager ()
 
void DeleteThreadStateList (ThreadState *anchor)
 
void EagerlyArchiveThread ()
 
 ASSERT_TRIVIALLY_COPYABLE (i::ThreadId)
 

Private Attributes

base::Mutex mutex_
 
std::atomic< ThreadIdmutex_owner_
 
ThreadId lazily_archived_thread_
 
ThreadStatelazily_archived_thread_state_
 
ThreadStatefree_anchor_
 
ThreadStatein_use_anchor_
 
Isolateisolate_
 

Friends

class Isolate
 
class ThreadState
 

Detailed Description

Definition at line 60 of file v8threads.h.

Constructor & Destructor Documentation

◆ ThreadManager()

v8::internal::ThreadManager::ThreadManager ( Isolate * isolate)
explicitprivate

Definition at line 220 of file v8threads.cc.

◆ ~ThreadManager()

v8::internal::ThreadManager::~ThreadManager ( )
private

Definition at line 231 of file v8threads.cc.

Here is the call graph for this function:

Member Function Documentation

◆ ArchiveThread()

void v8::internal::ThreadManager::ArchiveThread ( )

Definition at line 246 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ASSERT_TRIVIALLY_COPYABLE()

v8::internal::ThreadManager::ASSERT_TRIVIALLY_COPYABLE ( i::ThreadId )
private

◆ CurrentId()

ThreadId v8::internal::ThreadManager::CurrentId ( )

Definition at line 324 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeleteThreadStateList()

void v8::internal::ThreadManager::DeleteThreadStateList ( ThreadState * anchor)
private

Definition at line 236 of file v8threads.cc.

Here is the caller graph for this function:

◆ EagerlyArchiveThread()

void v8::internal::ThreadManager::EagerlyArchiveThread ( )
private

Definition at line 262 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FirstThreadStateInUse()

ThreadState * v8::internal::ThreadManager::FirstThreadStateInUse ( )

Definition at line 208 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FreeThreadResources()

void v8::internal::ThreadManager::FreeThreadResources ( )

Definition at line 280 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFreeThreadState()

ThreadState * v8::internal::ThreadManager::GetFreeThreadState ( )

Definition at line 197 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitThread()

void v8::internal::ThreadManager::InitThread ( const ExecutionAccess & lock)

Definition at line 87 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsArchived()

bool v8::internal::ThreadManager::IsArchived ( )

Definition at line 296 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsLockedByCurrentThread()

bool v8::internal::ThreadManager::IsLockedByCurrentThread ( ) const
inline

Definition at line 73 of file v8threads.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsLockedByThread()

bool v8::internal::ThreadManager::IsLockedByThread ( ThreadId id) const
inline

Definition at line 76 of file v8threads.h.

◆ Iterate()

void v8::internal::ThreadManager::Iterate ( RootVisitor * v)

Definition at line 302 of file v8threads.cc.

Here is the call graph for this function:

◆ IterateArchivedThreads()

void v8::internal::ThreadManager::IterateArchivedThreads ( ThreadVisitor * v)

Definition at line 315 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Lock()

void v8::internal::ThreadManager::Lock ( )

Definition at line 149 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RestoreThread()

bool v8::internal::ThreadManager::RestoreThread ( )

Definition at line 93 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Unlock()

void v8::internal::ThreadManager::Unlock ( )

Definition at line 155 of file v8threads.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ Isolate

friend class Isolate
friend

Definition at line 111 of file v8threads.h.

◆ ThreadState

friend class ThreadState
friend

Definition at line 112 of file v8threads.h.

Member Data Documentation

◆ free_anchor_

ThreadState* v8::internal::ThreadManager::free_anchor_
private

Definition at line 105 of file v8threads.h.

◆ in_use_anchor_

ThreadState* v8::internal::ThreadManager::in_use_anchor_
private

Definition at line 107 of file v8threads.h.

◆ isolate_

Isolate* v8::internal::ThreadManager::isolate_
private

Definition at line 109 of file v8threads.h.

◆ lazily_archived_thread_

ThreadId v8::internal::ThreadManager::lazily_archived_thread_
private

Definition at line 98 of file v8threads.h.

◆ lazily_archived_thread_state_

ThreadState* v8::internal::ThreadManager::lazily_archived_thread_state_
private

Definition at line 99 of file v8threads.h.

◆ mutex_

base::Mutex v8::internal::ThreadManager::mutex_
private

Definition at line 94 of file v8threads.h.

◆ mutex_owner_

std::atomic<ThreadId> v8::internal::ThreadManager::mutex_owner_
private

Definition at line 97 of file v8threads.h.


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