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

interpreter Class Reference

#include <interpreter.h>

Class diagram for interpreter:

abstract_interpreter AnywhereObj VMObj

List of all members.

Public Members

 interpreter ( oop rcv, oop sel, oop del, oop meth, oop _mh, oop* _args, int32 _nargs)
oop top ()
int32 length_cloned_blocks ()
void set_cloned_blocks (void* p)
int32 length_stack ()
void set_stack (void* p)
int32 length_locals ()
void set_locals (void* p)
PrimDescgetPrimDesc ()
void set_restartSend (bool b)
void interpret_method ()
oop methodHolder ()
void set_methodHolder (oop mh)
oop* methodHolder_addr ()
abstract_vframeparentVF ()
void send ( LookupType, oop delegatee )
oop lookup_and_send ( LookupType, oop mh, oop delegatee)
oop send_prim ( )
oop try_perform_prim ( bool hasFailBlock, bool& is_perform )
oop get_slot (slotDesc* sd)
void set_slot (slotDesc* sd, oop x)
bool is_return_patched ()
void patch_return (ReturnPatchReason x)
ReturnPatchReason get_return_patch_reason ()
void print ()
void setup_for_method ( )
void setup_for_block ( )
oop receiver
oop selector
oop delegatee
oop method_object
oop* args
int32 length_args
oop* locals
int32 _length_locals
int32 minOffset
bool hasParentLocalSlot
oop* cloned_blocks
oop* stack
int32 sp
oop self
oop rcvToSend
oop selToSend
int32 arg_count
ReturnPatchReason return_patch_reason
bool restartSend
interpreter* parentI
PrimDesccurrent_primDesc

Protected Members

frameblock_scope_or_NLR_target ()
void do_SELF_CODE ()
void do_POP_CODE ()
void do_NONLOCAL_RETURN_CODE ()
void do_literal_code (oop lit)
void do_read_write_local_code (bool isWrite)
void do_send_code (bool isSelfImplicit, stringOop selector)
void do_branch_code ( int32 target_PC, oop target_oop = badOop )
void do_BRANCH_INDEXED_CODE ()
fint return_pc ()
fint restart_pc ()
void local_slot_desc (interpreter*& interp, abstract_vframe*& vf, slotDesc*& sd)
void block_scope_and_desc_of_home ( frame*& block_scope_frame, int32& block_desc)
void start_NLR (oop res)
void continue_NLR ()
oop _methodHolder
frame_block_scope_or_NLR_target

Friends

class  interpreted_vframe
class  InterpreterIterator

Detailed Description


Member Function Documentation

interpreter::interpreter (oop rcv, oop sel, oop del, oop meth, oop _mh, oop * _args, int32 _nargs) [inline]

oop interpreter::top () [inline]

int32 interpreter::length_cloned_blocks () [inline]

void interpreter::set_cloned_blocks (void * p) [inline]

int32 interpreter::length_stack () [inline]

void interpreter::set_stack (void * p) [inline]

int32 interpreter::length_locals () [inline]

void interpreter::set_locals (void * p) [inline]

PrimDesc * interpreter::getPrimDesc () [inline]

void interpreter::set_restartSend (bool b) [inline]

void interpreter::interpret_method () [virtual]

Reimplemented from abstract_interpreter.

oop interpreter::methodHolder () [inline]

void interpreter::set_methodHolder (oop mh) [inline]

oop * interpreter::methodHolder_addr () [inline]

abstract_vframe * interpreter::parentVF ()

void interpreter::send (LookupType type, oop delOrNameToSend)

oop interpreter::lookup_and_send (LookupType type, oop mh, oop delOrNameToSend)

oop interpreter::send_prim ()

oop interpreter::try_perform_prim (bool hasFailBlock, bool & is_perform)

oop interpreter::get_slot (slotDesc * sd)

void interpreter::set_slot (slotDesc * sd, oop x)

bool interpreter::is_return_patched () [inline]

void interpreter::patch_return (ReturnPatchReason x) [inline]

ReturnPatchReason interpreter::get_return_patch_reason () [inline]

void interpreter::print () [virtual]

Reimplemented from VMObj.

void interpreter::setup_for_method ()

void interpreter::setup_for_block ()

frame * interpreter::block_scope_or_NLR_target () [inline, protected]

void interpreter::do_SELF_CODE () [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_POP_CODE () [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_NONLOCAL_RETURN_CODE () [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_literal_code (oop lit) [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_read_write_local_code (bool isWrite) [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_send_code (bool isSelfImplicit, stringOop selector) [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_branch_code (int32 target_PC, oop target_oop = badOop) [protected, virtual]

Reimplemented from abstract_interpreter.

void interpreter::do_BRANCH_INDEXED_CODE () [protected, virtual]

Reimplemented from abstract_interpreter.

fint interpreter::return_pc () [inline, protected]

fint interpreter::restart_pc () [inline, protected]

void interpreter::local_slot_desc (interpreter *& r, abstract_vframe *& rvf, slotDesc *& sd) [protected]

void interpreter::block_scope_and_desc_of_home (frame *& block_scope_frame, int32 & block_desc) [protected]

void interpreter::start_NLR (oop res) [protected]

void interpreter::continue_NLR () [protected]


Friends And Related Function Documentation

friend class interpreted_vframe [friend]

friend class InterpreterIterator [friend]

Reimplemented from abstract_interpreter.


Member Data Documentation

oop interpreter::receiver

oop interpreter::selector

oop interpreter::delegatee

oop interpreter::method_object

oop* interpreter::args

int32 interpreter::length_args

oop* interpreter::locals

int32 interpreter::_length_locals

int32 interpreter::minOffset

bool interpreter::hasParentLocalSlot

oop* interpreter::cloned_blocks

oop* interpreter::stack

int32 interpreter::sp

oop interpreter::self

oop interpreter::rcvToSend

oop interpreter::selToSend

int32 interpreter::arg_count

ReturnPatchReason interpreter::return_patch_reason

bool interpreter::restartSend

interpreter* interpreter::parentI

PrimDesc* interpreter::current_primDesc

oop interpreter::_methodHolder [protected]

frame* interpreter::_block_scope_or_NLR_target [protected]


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