v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StackGuard Class Reference

#include <execution.h>

Public Member Functions

void SetStackLimit (uintptr_t limit)
 
char * ArchiveStackGuard (char *to)
 
char * RestoreStackGuard (char *from)
 
void FreeThreadResources ()
 
void InitThread (const ExecutionAccess &lock)
 
void ClearThread (const ExecutionAccess &lock)
 
bool IsStackOverflow ()
 
bool IsPreempted ()
 
void Preempt ()
 
bool IsInterrupted ()
 
void Interrupt ()
 
bool IsTerminateExecution ()
 
void TerminateExecution ()
 
void CancelTerminateExecution ()
 
bool IsGCRequest ()
 
void RequestGC ()
 
bool IsInstallCodeRequest ()
 
void RequestInstallCode ()
 
bool IsFullDeopt ()
 
void FullDeopt ()
 
bool IsDeoptMarkedAllocationSites ()
 
void DeoptMarkedAllocationSites ()
 
void Continue (InterruptFlag after_what)
 
void RequestInterrupt (InterruptCallback callback, void *data)
 
void ClearInterrupt ()
 
bool IsAPIInterrupt ()
 
void InvokeInterruptCallback ()
 
uintptr_t climit ()
 
uintptr_t real_climit ()
 
uintptr_t jslimit ()
 
uintptr_t real_jslimit ()
 
Address address_of_jslimit ()
 
Address address_of_real_jslimit ()
 
bool ShouldPostponeInterrupts ()
 

Static Public Member Functions

static int ArchiveSpacePerThread ()
 

Friends

class Isolate
 
class StackLimitCheck
 
class PostponeInterruptsScope
 

Detailed Description

Definition at line 188 of file execution.h.

Member Function Documentation

Address address_of_jslimit ( )
inline

Definition at line 250 of file execution.h.

Address address_of_real_jslimit ( )
inline

Definition at line 253 of file execution.h.

static int ArchiveSpacePerThread ( )
inlinestatic

Definition at line 197 of file execution.h.

char * ArchiveStackGuard ( char *  to)

Definition at line 612 of file execution.cc.

References Isolate::heap(), OS::MemCopy(), and Heap::SetStackLimits().

void CancelTerminateExecution ( )
void ClearInterrupt ( )

Definition at line 579 of file execution.cc.

References v8::internal::API_INTERRUPT, and StackGuard::Continue().

void ClearThread ( const ExecutionAccess &  lock)

Definition at line 681 of file execution.cc.

References Isolate::heap(), and Heap::SetStackLimits().

uintptr_t climit ( )
inline

Definition at line 238 of file execution.h.

void DeoptMarkedAllocationSites ( )

Definition at line 525 of file execution.cc.

References v8::internal::DEOPT_MARKED_ALLOCATION_SITES.

void FreeThreadResources ( )

Definition at line 638 of file execution.cc.

Referenced by ThreadManager::FreeThreadResources().

void FullDeopt ( )

Definition at line 512 of file execution.cc.

References v8::internal::FULL_DEOPT.

void InitThread ( const ExecutionAccess &  lock)
void Interrupt ( )

Definition at line 434 of file execution.cc.

References v8::internal::INTERRUPT.

void InvokeInterruptCallback ( )

Definition at line 592 of file execution.cc.

References v8::internal::NULL.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsAPIInterrupt ( )

Definition at line 586 of file execution.cc.

References v8::internal::API_INTERRUPT.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsDeoptMarkedAllocationSites ( )
bool IsFullDeopt ( )

Definition at line 506 of file execution.cc.

References v8::internal::FULL_DEOPT.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsGCRequest ( )

Definition at line 474 of file execution.cc.

References v8::internal::GC_REQUEST.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsInstallCodeRequest ( )

Definition at line 490 of file execution.cc.

References v8::internal::INSTALL_CODE.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsInterrupted ( )

Definition at line 428 of file execution.cc.

References v8::internal::INTERRUPT.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsPreempted ( )

Definition at line 441 of file execution.cc.

References v8::internal::PREEMPT.

Referenced by Execution::HandleStackGuardInterrupt().

bool IsStackOverflow ( )

Definition at line 385 of file execution.cc.

bool IsTerminateExecution ( )

Definition at line 454 of file execution.cc.

References v8::internal::TERMINATE.

Referenced by Execution::HandleStackGuardInterrupt().

uintptr_t jslimit ( )
inline

Definition at line 244 of file execution.h.

Referenced by StackGuard::SetStackLimit(), and Heap::SetStackLimits().

void Preempt ( )

Definition at line 447 of file execution.cc.

References v8::internal::PREEMPT.

uintptr_t real_climit ( )
inline
uintptr_t real_jslimit ( )
inline

Definition at line 247 of file execution.h.

Referenced by Heap::SetStackLimits().

void RequestGC ( )
void RequestInstallCode ( )

Definition at line 496 of file execution.cc.

References Isolate::heap(), v8::internal::INSTALL_CODE, and Heap::SetStackLimits().

void RequestInterrupt ( InterruptCallback  callback,
void *  data 
)

Definition at line 570 of file execution.cc.

References v8::internal::API_INTERRUPT.

char * RestoreStackGuard ( char *  from)

Definition at line 629 of file execution.cc.

References Isolate::heap(), OS::MemCopy(), and Heap::SetStackLimits().

Referenced by ThreadManager::RestoreThread().

void SetStackLimit ( uintptr_t  limit)
bool ShouldPostponeInterrupts ( )

Definition at line 422 of file execution.cc.

Referenced by Execution::HandleStackGuardInterrupt().

void TerminateExecution ( )

Definition at line 467 of file execution.cc.

References v8::internal::TERMINATE.

Referenced by ThreadManager::RestoreThread(), and V8::TerminateExecution().

Friends And Related Function Documentation

friend class Isolate
friend

Definition at line 330 of file execution.h.

friend class PostponeInterruptsScope
friend

Definition at line 332 of file execution.h.

friend class StackLimitCheck
friend

Definition at line 331 of file execution.h.


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