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

nci/suif/suif2b/osuif/passes/vtblnodes/vtbl_utils.h File Reference

#include "basicnodes/basic.h"
#include "basicnodes/basic_factory.h"
#include "suifnodes/suif.h"
#include "suifnodes/suif_factory.h"
#include "osuifnodes/osuif.h"
#include "osuifnodes/osuif_factory.h"
#include "osuifextensionnodes/osuifextension.h"
#include "osuifextensionnodes/osuifextension_factory.h"
#include "vtblnodes/vtbl.h"
#include "vtblnodes/vtbl_factory.h"
#include "common/suif_list.h"
#include "common/suif_map.h"

Go to the source code of this file.

Compounds

class  SingleInheritanceVtbls

Typedefs

typedef list<InstanceMethodSymbol* > vtbl_t
 Type to logically represent a vtbl.


Functions

void attach_vtbl_annote ( SuifEnv* env, VariableSymbol* vtbl_sym, ClassType* owning_class )
VariableSymbol* build_vtbl_variable_symbol ( SuifEnv* env, ClassType* owning_class, const LString & name= emptyLString )
void attach_vtbl_slot_annote ( SuifEnv* env, IntConstant* icnst, InstanceMethodSymbol* msym )
IntConstant* build_vtbl_slot_int_constant ( SuifEnv* env, InstanceMethodSymbol* msym )
void attach_vtbl_slot_count_annote ( SuifEnv* env, IntConstant* icnst, ClassType* owning_class )
IntConstant* build_vtbl_slot_count_int_constant ( SuifEnv* env, ClassType* owning_class )
void attach_vtbl_slot_number_annote ( SuifEnv* env, InstanceMethodSymbol* msym, IInteger slot_number )
void attach_no_vtbl_annote ( SuifEnv* env, ClassType* ctype )
bool has_no_vtbl_annote ( ClassType* ctype )
IInteger biggest_local_vtbl_slot ( ClassType* ctype )
IInteger biggest_vtbl_slot ( SingleInheritanceClassType* ctype )

Variables

LString k_vtbl_annote
LString k_vtbl_slot_annote
LString k_vtbl_slot_count_annote
LString k_vtbl_slot_number_annote
LString k_no_vtbl_annote


Typedef Documentation

typedef list<InstanceMethodSymbol* > vtbl_t

Type to logically represent a vtbl.


Function Documentation

void attach_no_vtbl_annote ( SuifEnv * env,
ClassType * ctype)

void attach_vtbl_annote ( SuifEnv * env,
VariableSymbol * vtbl_sym,
ClassType * owning_class)

void attach_vtbl_slot_annote ( SuifEnv * env,
IntConstant * icnst,
InstanceMethodSymbol * msym)

void attach_vtbl_slot_count_annote ( SuifEnv * env,
IntConstant * icnst,
ClassType * owning_class)

void attach_vtbl_slot_number_annote ( SuifEnv * env,
InstanceMethodSymbol * msym,
IInteger slot_number)

IInteger biggest_local_vtbl_slot ( ClassType * ctype)

IInteger biggest_vtbl_slot ( SingleInheritanceClassType * ctype)

IntConstant * build_vtbl_slot_count_int_constant ( SuifEnv * env,
ClassType * owning_class)

IntConstant * build_vtbl_slot_int_constant ( SuifEnv * env,
InstanceMethodSymbol * msym)

VariableSymbol * build_vtbl_variable_symbol ( SuifEnv * env,
ClassType * owning_class,
const LString & name = emptyLString)

bool has_no_vtbl_annote ( ClassType * ctype)


Variable Documentation

LString k_no_vtbl_annote

LString k_vtbl_annote

LString k_vtbl_slot_annote

LString k_vtbl_slot_count_annote

LString k_vtbl_slot_number_annote


Generated at Mon Jul 31 13:42:26 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000