ArkScript
A small, fast, functional and scripting language for video games
Ark::internal::ExecutionContext Struct Reference

#include <ExecutionContext.hpp>

+ Collaboration diagram for Ark::internal::ExecutionContext:

Public Member Functions

 ExecutionContext () noexcept
 

Public Attributes

const bool primary
 Tells if the current ExecutionContext is the primary one or not. More...
 
int ip = 0
 Instruction pointer. More...
 
std::size_t pp = 0
 Page pointer. More...
 
uint16_t sp = 0
 Stack pointer. More...
 
uint16_t fc = 0
 Frame count. More...
 
uint16_t last_symbol = std::numeric_limits<uint16_t>::max()
 
std::array< Value, VMStackSizestack
 
std::vector< uint8_t > scope_count_to_delete
 
std::optional< Scope_tsaved_scope
 
std::vector< Scope_tlocals
 

Static Public Attributes

static unsigned Count = 0
 

Detailed Description

Definition at line 30 of file ExecutionContext.hpp.

Constructor & Destructor Documentation

◆ ExecutionContext()

Ark::internal::ExecutionContext::ExecutionContext ( )
inlinenoexcept

Definition at line 46 of file ExecutionContext.hpp.

References Count.

Member Data Documentation

◆ Count

unsigned Ark::internal::ExecutionContext::Count = 0
inlinestatic

Definition at line 32 of file ExecutionContext.hpp.

Referenced by ExecutionContext().

◆ fc

uint16_t Ark::internal::ExecutionContext::fc = 0

Frame count.

Definition at line 38 of file ExecutionContext.hpp.

Referenced by Ark::VM::init(), and Ark::VM::safeRun().

◆ ip

int Ark::internal::ExecutionContext::ip = 0

Instruction pointer.

Definition at line 35 of file ExecutionContext.hpp.

Referenced by Ark::VM::safeRun().

◆ last_symbol

uint16_t Ark::internal::ExecutionContext::last_symbol = std::numeric_limits<uint16_t>::max()

Definition at line 39 of file ExecutionContext.hpp.

Referenced by Ark::VM::safeRun().

◆ locals

std::vector<Scope_t> Ark::internal::ExecutionContext::locals

◆ pp

std::size_t Ark::internal::ExecutionContext::pp = 0

Page pointer.

Definition at line 36 of file ExecutionContext.hpp.

Referenced by Ark::VM::safeRun().

◆ primary

const bool Ark::internal::ExecutionContext::primary

Tells if the current ExecutionContext is the primary one or not.

Definition at line 34 of file ExecutionContext.hpp.

◆ saved_scope

std::optional<Scope_t> Ark::internal::ExecutionContext::saved_scope

Definition at line 43 of file ExecutionContext.hpp.

Referenced by Ark::VM::init(), and Ark::VM::safeRun().

◆ scope_count_to_delete

std::vector<uint8_t> Ark::internal::ExecutionContext::scope_count_to_delete

◆ sp

uint16_t Ark::internal::ExecutionContext::sp = 0

Stack pointer.

Definition at line 37 of file ExecutionContext.hpp.

Referenced by Ark::VM::init(), and Ark::VM::safeRun().

◆ stack

std::array<Value, VMStackSize> Ark::internal::ExecutionContext::stack

Definition at line 41 of file ExecutionContext.hpp.


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