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

j2s_BasicBlock Class Reference

#include <j2s_basic_block.h>

List of all members.

Public Types

enum  edge_kind {
  e_unknown = 1,
  e_retreating,
  e_advancing,
  e_cross
}
enum  node_kind {
  not_set = 0,
  n_1way = 1,
  n_2way,
  n_nway,
  n_return,
  n_fall_through,
  n_exception,
  n_1way_exception
}

Public Methods

 j2s_BasicBlock (jhl_u4 leader_index, bool catch_handler= false)
jhl_u4 leader_index () const
jhl_u4 exit_index () const
jhl_u4 next_index () const
jhl_Array<jhl_u4>* out_edges () const
jhl_Array<bool>* dfst_out_edges () const
jhl_Array<edge_kind>* out_edges_kind () const
jhl_Array<jhl_u4>* excpt_edges () const
bool is_catch_handler () const
jhl_Array<jhl_Exception>* tryblock_handlers () const
j2s_OperandStackinit_stack () const
j2s_LocalVariablesinit_local_variables () const
node_kind node_kind () const
j2s_BasicBlock* root () const
int dfst_number () const
int jsr_chain_depth () const
jhl_Array<jhl_u4>* ret_targets () const
void set_exit_index (jhl_u4 index)
void set_next_index (jhl_u4 index)
void set_catch_handler (bool ch)
void set_out_edges (jhl_Array<jhl_u4>* out_edges)
void set_out_edges_kind (jhl_Array<edge_kind>* out_edges_kind)
void set_dfst_out_edges (jhl_Array<bool>* dfst_out_edges)
void set_excpt_edges (jhl_Array<jhl_u4>* excpt_edges)
void set_init_stack (j2s_OperandStack* stack)
void set_local_variables (j2s_LocalVariables* lvs)
void set_root (j2s_BasicBlock* root)
void set_dfst_number (int number)
void set_jsr_chain_depth (int depth)
void set_ret_targets (jhl_Array<jhl_u4>* ret_targets)
void set_tryblock_handlers (jhl_Array<jhl_Exception>* handlers)
bool is_marked () const
void mark_block ()
void unmark_block ()
void set_node_kind (int nk)
bool is_first ()
bool is_exit_index (jhl_u4 index)
void switch_branch_edges ()
int tryblock_nesting_depth () const
jhl_Exceptiontryblock_handler () const
bool merge (j2s_OperandStack *out_stack, j2s_LocalVariables* out_lvs, jhl_Array<jhl_u4>* out_ret_targets, int out_jsr_chain_depth, bool ret_merge= false)
bool verify () const

Public Attributes

enum j2s_BasicBlock::node_kind  node_kind_enum

Static Public Methods

bool is_edge_existent (jhl_Array<jhl_u4>* edges, jhl_u4 edge)

Friends

ostream& operator<< (ostream& os, j2s_BasicBlock* b)


Detailed Description


Member Enumeration Documentation

enum j2s_BasicBlock::edge_kind

Enumeration values:
e_unknown  
e_retreating  
e_advancing  
e_cross  

enum node_kind j2s_BasicBlock::node_kind [inline]

Enumeration values:
not_set  
n_1way  
n_2way  
n_nway  
n_return  
n_fall_through  
n_exception  
n_1way_exception  

Constructor & Destructor Documentation

j2s_BasicBlock::j2s_BasicBlock ( jhl_u4 leader_index,
bool eh = false)


Member Function Documentation

int j2s_BasicBlock::dfst_number () const [inline]

jhl_Array<bool>* j2s_BasicBlock::dfst_out_edges<bool> () const [inline]

jhl_Array<jhl_u4>* j2s_BasicBlock::excpt_edges<jhl_u4> () const [inline]

jhl_u4 j2s_BasicBlock::exit_index () const [inline]

j2s_LocalVariables * j2s_BasicBlock::init_local_variables () const [inline]

j2s_OperandStack * j2s_BasicBlock::init_stack () const [inline]

bool j2s_BasicBlock::is_catch_handler () const [inline]

bool j2s_BasicBlock::is_edge_existent ( jhl_Array<jhl_u4>* edges,
jhl_u4 edge) [static]

bool j2s_BasicBlock::is_exit_index ( jhl_u4 index) [inline]

bool j2s_BasicBlock::is_first () [inline]

bool j2s_BasicBlock::is_marked () const [inline]

int j2s_BasicBlock::jsr_chain_depth () const [inline]

jhl_u4 j2s_BasicBlock::leader_index () const [inline]

void j2s_BasicBlock::mark_block () [inline]

bool j2s_BasicBlock::merge ( j2s_OperandStack * out_stack,
j2s_LocalVariables * out_lvs,
jhl_Array<jhl_u4>* out_ret_targets,
int out_jsr_chain_depth,
bool ret_merge = false)

jhl_u4 j2s_BasicBlock::next_index () const [inline]

node_kind j2s_BasicBlock::node_kind () const [inline]

jhl_Array<jhl_u4>* j2s_BasicBlock::out_edges<jhl_u4> () const [inline]

jhl_Array<edge_kind>* j2s_BasicBlock::out_edges_kind<edge_kind> () const [inline]

jhl_Array<jhl_u4>* j2s_BasicBlock::ret_targets<jhl_u4> () const [inline]

j2s_BasicBlock * j2s_BasicBlock::root () const [inline]

void j2s_BasicBlock::set_catch_handler ( bool ch) [inline]

void j2s_BasicBlock::set_dfst_number ( int number) [inline]

void j2s_BasicBlock::set_dfst_out_edges ( jhl_Array<bool>* dfst_out_edges) [inline]

void j2s_BasicBlock::set_excpt_edges ( jhl_Array<jhl_u4>* excpt_edges) [inline]

void j2s_BasicBlock::set_exit_index ( jhl_u4 index) [inline]

void j2s_BasicBlock::set_init_stack ( j2s_OperandStack * stack) [inline]

void j2s_BasicBlock::set_jsr_chain_depth ( int depth) [inline]

void j2s_BasicBlock::set_local_variables ( j2s_LocalVariables * lvs) [inline]

void j2s_BasicBlock::set_next_index ( jhl_u4 index) [inline]

void j2s_BasicBlock::set_node_kind ( int nk) [inline]

void j2s_BasicBlock::set_out_edges ( jhl_Array<jhl_u4>* out_edges) [inline]

void j2s_BasicBlock::set_out_edges_kind ( jhl_Array<edge_kind>* out_edges_kind) [inline]

void j2s_BasicBlock::set_ret_targets ( jhl_Array<jhl_u4>* ret_targets) [inline]

void j2s_BasicBlock::set_root ( j2s_BasicBlock * root) [inline]

void j2s_BasicBlock::set_tryblock_handlers ( jhl_Array<jhl_Exception>* handlers) [inline]

void j2s_BasicBlock::switch_branch_edges ()

jhl_Exception * j2s_BasicBlock::tryblock_handler () const

jhl_Array<jhl_Exception>* j2s_BasicBlock::tryblock_handlers<jhl_Exception> () const [inline]

int j2s_BasicBlock::tryblock_nesting_depth () const

void j2s_BasicBlock::unmark_block () [inline]

bool j2s_BasicBlock::verify () const


Friends And Related Function Documentation

ostream& operator<< ( ostream & str,
j2s_BasicBlock * b) [friend]


Member Data Documentation

enum j2s_BasicBlock::node_kind j2s_BasicBlock::node_kind_enum


The documentation for this class was generated from the following files:
Generated at Mon Jul 31 13:43:22 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000