dispatchTable Class Reference

#include <dispatchTable.hpp>

Inheritance diagram for dispatchTable:

Inheritance graph
[legend]
Collaboration diagram for dispatchTable:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

static u_char ** table ()
static void reset ()
static void intercept_for_step ()
static void intercept_for_next (int *fr)
static void intercept_for_return (int *fr)
static bool in_normal_mode ()
static bool in_step_mode ()
static bool in_next_mode ()
static bool in_return_mode ()

Private Types

 normal_mode = 0
 step_mode = 1
 next_mode = 2
 return_mode = 3
enum  Mode { normal_mode = 0, step_mode = 1, next_mode = 2, return_mode = 3 }

Static Private Member Functions

static void patch_with_sst_stub ()

Static Private Attributes

static Mode mode

Detailed Description

Definition at line 26 of file dispatchTable.hpp.


Member Enumeration Documentation

enum dispatchTable::Mode [private]

Enumerator:
normal_mode 
step_mode 
next_mode 
return_mode 

Definition at line 28 of file dispatchTable.hpp.


Member Function Documentation

static bool dispatchTable::in_next_mode (  )  [inline, static]

Definition at line 53 of file dispatchTable.hpp.

References mode, and next_mode.

Referenced by intercept_for_next().

static bool dispatchTable::in_normal_mode (  )  [inline, static]

Definition at line 51 of file dispatchTable.hpp.

References mode, and normal_mode.

static bool dispatchTable::in_return_mode (  )  [inline, static]

Definition at line 54 of file dispatchTable.hpp.

References mode, and return_mode.

static bool dispatchTable::in_step_mode (  )  [inline, static]

Definition at line 52 of file dispatchTable.hpp.

References mode, and step_mode.

Referenced by intercept_for_step().

void dispatchTable::intercept_for_next ( int *  fr  )  [static]

Definition at line 130 of file dispatchTable.cpp.

References frame_breakpoint, in_next_mode(), mode, next_mode, and patch_with_sst_stub().

Referenced by evaluator::process_line().

Here is the call graph for this function:

void dispatchTable::intercept_for_return ( int *  fr  )  [static]

Definition at line 159 of file dispatchTable.cpp.

References dispatch_table, mode, next_mode, original_table, reset(), return_codes, return_codes_size, Bytecodes::single_step(), and single_step_stub().

Referenced by evaluator::process_line().

Here is the call graph for this function:

void dispatchTable::intercept_for_step (  )  [static]

Definition at line 121 of file dispatchTable.cpp.

References frame_breakpoint, in_step_mode(), mode, patch_with_sst_stub(), and step_mode.

Referenced by PRIM_DECL_0(), PRIM_DECL_1(), and evaluator::process_line().

Here is the call graph for this function:

void dispatchTable::patch_with_sst_stub (  )  [static, private]

Definition at line 110 of file dispatchTable.cpp.

References dispatch_table, Bytecodes::number_of_codes, original_table, Bytecodes::single_step(), and single_step_stub().

Referenced by intercept_for_next(), and intercept_for_step().

Here is the call graph for this function:

void dispatchTable::reset (  )  [static]

Definition at line 102 of file dispatchTable.cpp.

References dispatch_table, mode, normal_mode, Bytecodes::number_of_codes, and original_table.

Referenced by intercept_for_return(), and evaluator::process_line().

u_char ** dispatchTable::table (  )  [static]

Definition at line 97 of file dispatchTable.cpp.

References dispatch_table.

Referenced by InterpreterGenerator::jump_ebx(), InterpreterGenerator::load_edi(), and print_dt().


Member Data Documentation

dispatchTable::Mode dispatchTable::mode [static, private]

Definition at line 35 of file dispatchTable.hpp.

Referenced by in_next_mode(), in_normal_mode(), in_return_mode(), in_step_mode(), intercept_for_next(), intercept_for_return(), intercept_for_step(), and reset().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 13:54:18 2006 for Strongtalk VM by  doxygen 1.4.7