Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

VM::ProgramStorage::Function Class Reference

Function program instruction storage. More...

#include <program.h>

Inheritance diagram for VM::ProgramStorage::Function:

Inheritance graph
[legend]
Collaboration diagram for VM::ProgramStorage::Function:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Function (SymRef _symref, const SCLocation &_loc, PrgAdr prealloc_size=0)
 Create empty function program storage.

 ~Function ()
 Destroy and free function program storage.


Public Attributes

SCLocation loc
 Location in source code.


Private Member Functions

 Function (const Function &)
 Do not use.

void operator= (const Function &)
 Do not use.


Detailed Description

Function program instruction storage.

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
Stores the program instructions of one function.

The function program storage is organized in a byte-wise manner and instructions differ in size. All instructions are of even size (i.e. at least 2 bytes) and the first 2 bytes of each instruction is the instruction ID.

The function program storage internally uses the machine order (LSB/MSB first) and the machine representation for floating point numbers. For distribution over network, this must first be converted.

This class is NOT C++-safe.

Definition at line 69 of file program.h.


Constructor & Destructor Documentation

VM::ProgramStorage::Function::Function const Function  )  [private]
 

Do not use.

VM::ProgramStorage::Function::Function SymRef  _symref,
const SCLocation _loc,
PrgAdr  prealloc_size = 0
 

Create empty function program storage.

Definition at line 25 of file program.cc.

References VM::PrgAdr, and VM::SymRef.

VM::ProgramStorage::Function::~Function  ) 
 

Destroy and free function program storage.

Definition at line 34 of file program.cc.


Member Function Documentation

void VM::ProgramStorage::Function::operator= const Function  )  [private]
 

Do not use.


Member Data Documentation

SCLocation VM::ProgramStorage::Function::loc
 

Location in source code.

Definition at line 84 of file program.h.

Referenced by VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_LinkFunction(), VM::AssemblerFile_Plaintext::_ParseProgram_FinishFunction(), VM::AssemblerFile_Plaintext::_ParseProgram_Label(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), and VM::AssemblerFile::ResolveIDsNamespaceLocal().

NamespaceInfo::SymbolEntryE* VM::ProgramStorage::Function::se
 

Looked-up symref. Be careful: the special .init and .start functions get *se pointer set initially because they do not have a SymRef.

Definition at line 80 of file program.h.

Referenced by VM::VMLinker::_CreateInitFunction(), VM::VMLinker::_GenerateSymbolProvideMap(), VM::VMLinker::_LinkFunction(), VM::AssemblerFile_Plaintext::_WriteFunctionProgram(), and VM::AssemblerFile::ResolveIDsNamespaceLocal().

SymRef VM::ProgramStorage::Function::symref
 

Symbol number of the function symbol of this function.

Definition at line 76 of file program.h.

Referenced by VM::AssemblerFile_Plaintext::_ParseProgram_FinishFunction(), and VM::AssemblerFile::ResolveIDsNamespaceLocal().


The documentation for this class was generated from the following files:
Generated on Sat Feb 19 22:36:20 2005 for Ray by doxygen 1.3.5