CommonLibSSE (Parapets fork)
RE::BSScript::Stack Class Reference

#include <Stack.h>

Inheritance diagram for RE::BSScript::Stack:
RE::BSIntrusiveRefCounted

Classes

struct  MemoryPageData
 

Public Types

enum class  State {
  kRunning = 0 , kFinished = 1 , kWaitingOnMemory = 2 , kWaitingOnLatentFunction = 3 ,
  kWaitingOnOtherStackForCall = 4 , kWaitingOnOtherStackForReturn = 5 , kWaitingOnOtherStackForReturnNoPop = 6 , kRetryReturnNoPop = 7 ,
  kRetryCall = 8
}
 
enum class  FreezeState { kUnfrozen = 0 , kFreezing = 1 , kFrozen = 2 }
 
enum class  StackType
 

Public Member Functions

 ~Stack ()
 
std::uint32_t GetPageForFrame (const StackFrame *a_frame) const
 
VariableGetStackFrameVariable (const StackFrame *a_frame, std::uint32_t a_index, std::uint32_t a_pageHint)
 
- Public Member Functions inherited from RE::BSIntrusiveRefCounted
std::uint32_t IncRef () const
 
std::uint32_t DecRef () const
 
 TES_HEAP_REDEFINE_NEW ()
 

Public Attributes

std::uint32_t pad04
 
IMemoryPagePolicypolicy
 
IProfilePolicyprofilePolicy
 
BSTSmallArray< MemoryPageData, 3 > pages
 
std::uint32_t frames
 
std::uint32_t pad5C
 
StackFrametop
 
stl::enumeration< State, std::uint32_t > state
 
stl::enumeration< FreezeState, std::uint32_t > freezeState
 
Variable returnValue
 
VMStackID stackID
 
stl::enumeration< StackType, std::uint32_t > stackType
 
BSTSmartPointer< Internal::CodeTaskletowningTasklet
 
BSTSmartPointer< IStackCallbackFunctorcallback
 
BSTSmartPointer< StacknextStack
 

Additional Inherited Members

- Protected Attributes inherited from RE::BSIntrusiveRefCounted
volatile std::uint32_t _refCount { 0 }
 

Member Enumeration Documentation

◆ FreezeState

Enumerator
kUnfrozen 
kFreezing 
kFrozen 

◆ StackType

◆ State

Enumerator
kRunning 
kFinished 
kWaitingOnMemory 
kWaitingOnLatentFunction 
kWaitingOnOtherStackForCall 
kWaitingOnOtherStackForReturn 
kWaitingOnOtherStackForReturnNoPop 
kRetryReturnNoPop 
kRetryCall 

Constructor & Destructor Documentation

◆ ~Stack()

RE::BSScript::Stack::~Stack ( )

Member Function Documentation

◆ GetPageForFrame()

std::uint32_t RE::BSScript::Stack::GetPageForFrame ( const StackFrame a_frame) const

◆ GetStackFrameVariable()

Variable& RE::BSScript::Stack::GetStackFrameVariable ( const StackFrame a_frame,
std::uint32_t  a_index,
std::uint32_t  a_pageHint 
)

Member Data Documentation

◆ callback

BSTSmartPointer<IStackCallbackFunctor> RE::BSScript::Stack::callback

◆ frames

std::uint32_t RE::BSScript::Stack::frames

◆ freezeState

stl::enumeration<FreezeState, std::uint32_t> RE::BSScript::Stack::freezeState

◆ nextStack

BSTSmartPointer<Stack> RE::BSScript::Stack::nextStack

◆ owningTasklet

BSTSmartPointer<Internal::CodeTasklet> RE::BSScript::Stack::owningTasklet

◆ pad04

std::uint32_t RE::BSScript::Stack::pad04

◆ pad5C

std::uint32_t RE::BSScript::Stack::pad5C

◆ pages

BSTSmallArray<MemoryPageData, 3> RE::BSScript::Stack::pages

◆ policy

IMemoryPagePolicy* RE::BSScript::Stack::policy

◆ profilePolicy

IProfilePolicy* RE::BSScript::Stack::profilePolicy

◆ returnValue

Variable RE::BSScript::Stack::returnValue

◆ stackID

VMStackID RE::BSScript::Stack::stackID

◆ stackType

stl::enumeration<StackType, std::uint32_t> RE::BSScript::Stack::stackType

◆ state

stl::enumeration<State, std::uint32_t> RE::BSScript::Stack::state

◆ top

StackFrame* RE::BSScript::Stack::top

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