#include <byteCodes.h>
Class diagram for AbstractByteCode:
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 | ||
LabelSet* | labelSet | ||
BranchSet* | branchSet | ||
char* | errorMessage |
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]
|
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) |
objVectorOop AbstractByteCode::literals |
fint AbstractByteCode::literalIndex |
fint AbstractByteCode::maxLiteralIndex |
int32 AbstractByteCode::stack_depth |
LabelSet* AbstractByteCode::labelSet |
BranchSet* AbstractByteCode::branchSet |
char* AbstractByteCode::errorMessage |