Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

AbstractByteCode Class Reference

#include <byteCodes.h>

Class diagram for AbstractByteCode:

preservedVmObj StackObj ByteCodePositionTable ByteCode

List of all members.

Public Members

 AbstractByteCode ( objVectorOop lits = NULL)
void GenLiteralByteCode ( fint offset, fint length, oop literal)
void GenDelegateeByteCode ( fint offset, fint length, stringOop delegatee)
void GenSendByteCode ( fint offset, fint length, stringOop selector, bool isSelfImplicit, bool isUndirectedResend, stringOop resendTarget)
void GenSelfByteCode (fint offset, fint length)
void GenPopByteCode ( fint offset, fint length)
void GenUndirectedResendByteCode ( fint offset, fint length)
void GenNonLocalReturnByteCode (fint offset, fint length)
void GenRWLocalByteCode ( fint offset, fint length, bool isRead, int32 lexicalLevel, int32 index)
bool GenBranchByteCode ( fint offset, fint length, oop label)
bool GenBranchTrueByteCode ( fint offset, fint length, oop label)
bool GenBranchFalseByteCode ( fint offset, fint length, oop label)
bool GenBranchIndexedByteCode ( fint offset, fint length, objVectorOop labels)
bool GenLabelDefinition ( oop label)
bool ResolveBranches ()
void oops_do (oopsDoFn f)
virtual bool isPositionTable () = 0
virtual void GenCode (fint offset, fint length, fint c) = 0
virtual fint bci () = 0
bool GenSimpleBranchByteCode ( fint offset, fint length, oop label, ByteCodeKind op )
fint GenLiteral (oop p)
fint GenLabelLiteral ()
fint GenIndex (fint offset, fint length, fint x)
fint GenExtendedIndex (fint offset, fint length, fint x)
int32 getLabelIndex ( oop label)
objVectorOop literals
fint literalIndex
fint maxLiteralIndex
int32 stack_depth
LabelSetlabelSet
BranchSetbranchSet
char* errorMessage

Detailed Description


Member Function Documentation

AbstractByteCode::AbstractByteCode (objVectorOop lits = NULL) [inline]

void AbstractByteCode::GenLiteralByteCode (fint offset, fint length, oop literal)

void AbstractByteCode::GenDelegateeByteCode (fint offset, fint length, stringOop delegatee)

void AbstractByteCode::GenSendByteCode (fint offset, fint length, stringOop selector, bool isSelfImplicit, bool isUndirectedResend, stringOop resendTarget)

void AbstractByteCode::GenSelfByteCode (fint offset, fint length)

void AbstractByteCode::GenPopByteCode (fint offset, fint length)

void AbstractByteCode::GenUndirectedResendByteCode (fint offset, fint length)

void AbstractByteCode::GenNonLocalReturnByteCode (fint offset, fint length)

void AbstractByteCode::GenRWLocalByteCode (fint offset, fint length, bool isRead, int32 lexicalLevel, int32 index)

bool AbstractByteCode::GenBranchByteCode (fint offset, fint length, oop label)

bool AbstractByteCode::GenBranchTrueByteCode (fint offset, fint length, oop label)

bool AbstractByteCode::GenBranchFalseByteCode (fint offset, fint length, oop label)

bool AbstractByteCode::GenBranchIndexedByteCode (fint offset, fint length, objVectorOop labels)

bool AbstractByteCode::GenLabelDefinition (oop label)

bool AbstractByteCode::ResolveBranches ()

void AbstractByteCode::oops_do (oopsDoFn f) [inline, virtual]

Reimplemented from VMObj.

Reimplemented in ByteCode, and ByteCodePositionTable.

virtual bool AbstractByteCode::isPositionTable () [pure virtual]

Reimplemented in ByteCode, and ByteCodePositionTable.

virtual void AbstractByteCode::GenCode (fint offset, fint length, fint c) [pure virtual]

Reimplemented in ByteCode, and ByteCodePositionTable.

virtual fint AbstractByteCode::bci () [pure virtual]

Reimplemented in ByteCode, and ByteCodePositionTable.

bool AbstractByteCode::GenSimpleBranchByteCode (fint offset, fint length, oop label, ByteCodeKind op)

fint AbstractByteCode::GenLiteral (oop p)

fint AbstractByteCode::GenLabelLiteral () [inline]

fint AbstractByteCode::GenIndex (fint offset, fint length, fint x)

fint AbstractByteCode::GenExtendedIndex (fint offset, fint length, fint x)

int32 AbstractByteCode::getLabelIndex (oop label)


Member Data Documentation

objVectorOop AbstractByteCode::literals

fint AbstractByteCode::literalIndex

fint AbstractByteCode::maxLiteralIndex

int32 AbstractByteCode::stack_depth

LabelSet* AbstractByteCode::labelSet

BranchSet* AbstractByteCode::branchSet

char* AbstractByteCode::errorMessage


The documentation for this class was generated from the following files:
Generated at Tue Jun 27 12:07:06 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999