Linderdaum Engine: clExecutionThread Class Reference
Updated: Sun Feb 5 2012 22:59:50
clExecutionThread Class Reference

LinderScript virtual machine execution thread. More...

#include <Script.h>

List of all members.

Public Member Functions

 EXCEPTION (clExcept_InvalidOpCode,"Invalid opcode encountered while executing byte-code")
 clExecutionThread ()
virtual ~clExecutionThread ()
scriptmethod iStackGetStack ()
scriptmethod void Execute (clScriptMethod *Method, clCodePatch *CodePatch, void *Self, clParametersList &Params)

Static Public Member Functions

static void ClearExecutionStats ()
static void LogExecutionStats (sEnvironment *Env)

Public Attributes

 EXCEPTIONABLE
sEnvironmentEnv

Private Types

typedef std::vector
< clParamSymbolDeclaration * > 
clParamSymbols
typedef std::vector
< clVarSymbolDeclaration * > 
clVarSymbols

Private Member Functions

iSymbolDeclarationFindSymbol (const LString &SymbolName)
LString ExtractString ()
LString * ExtractStringPtr ()
void RecursiveEnter ()
void RecursiveLeave ()
void CallMethod (iObject *NativeObject, iMethod *Method, int Inherited)
void UndeclareVars ()

Private Attributes

clFieldSymbolDeclarationFFieldSymbol
 opcodes executors (autogenerated stuff)
iStack FStack
iStack FRecursionStack
clVarSymbols FLocalVars
int FInstructionPointer
sInstruction FCurrentInstruction
sInstructionFCurrentInstructionPtr
void * FCurrentNativeObject
iStaticClassFCurrentStaticClass
clParametersListFCurrentParameters
clCodePatchFCurrentCodePatch
clScriptMethodFCurrentMethod
int FMaxInstructions
clParamSymbols FParamSymbols

Detailed Description

LinderScript virtual machine execution thread.


Member Typedef Documentation


Constructor & Destructor Documentation

clExecutionThread::clExecutionThread ( )
clExecutionThread::~clExecutionThread ( ) [virtual]

Member Function Documentation

void clExecutionThread::CallMethod ( iObject NativeObject,
iMethod Method,
int  Inherited 
) [private]
void clExecutionThread::ClearExecutionStats ( ) [static]
clExecutionThread::EXCEPTION ( clExcept_InvalidOpCode  ,
"Invalid opcode encountered while executing byte-code  
)
void clExecutionThread::Execute ( clScriptMethod Method,
clCodePatch CodePatch,
void *  Self,
clParametersList Params 
)
LString clExecutionThread::ExtractString ( ) [private]
LString * clExecutionThread::ExtractStringPtr ( ) [private]
iSymbolDeclaration * clExecutionThread::FindSymbol ( const LString &  SymbolName) [private]
scriptmethod iStack* clExecutionThread::GetStack ( ) [inline]
void clExecutionThread::LogExecutionStats ( sEnvironment Env) [static]
void clExecutionThread::RecursiveEnter ( ) [private]
void clExecutionThread::RecursiveLeave ( ) [private]
void clExecutionThread::UndeclareVars ( ) [private]

Member Data Documentation

opcodes executors (autogenerated stuff)


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