Displacement Class Reference

Inheritance diagram for Displacement:

Inheritance graph
[legend]
Collaboration diagram for Displacement:

Collaboration graph
[legend]
List of all members.

Private Types

 info_size = IC_Info::number_of_flags
 type_size = 2
 next_size = 32 - (type_size + info_size)
 info_pos = 0
 type_pos = info_pos + info_size
 next_pos = type_pos + type_size
 info_mask = (1 << info_size) - 1
 type_mask = (1 << type_size) - 1
 next_mask = (1 << next_size) - 1
 call
 absolute_jump
 conditional_jump
 ic_info
enum  Layout {
  info_size = IC_Info::number_of_flags, type_size = 2, next_size = 32 - (type_size + info_size), info_pos = 0,
  type_pos = info_pos + info_size, next_pos = type_pos + type_size, info_mask = (1 << info_size) - 1, type_mask = (1 << type_size) - 1,
  next_mask = (1 << next_size) - 1
}
enum  Type { call, absolute_jump, conditional_jump, ic_info }

Private Member Functions

void init (Label &L, Type type, int info)
int data () const
int info () const
Type type () const
void next (Label &L) const
void link_to (Label &L)
 Displacement (int data)
 Displacement (Label &L, Type type, int info)
void print ()

Private Attributes

int _data

Friends

class Assembler
class MacroAssembler

Detailed Description

Definition at line 47 of file assembler.cpp.


Member Enumeration Documentation

enum Displacement::Layout [private]

Enumerator:
info_size 
type_size 
next_size 
info_pos 
type_pos 
next_pos 
info_mask 
type_mask 
next_mask 

Definition at line 51 of file assembler.cpp.

enum Displacement::Type [private]

Enumerator:
call 
absolute_jump 
conditional_jump 
ic_info 

Definition at line 65 of file assembler.cpp.


Constructor & Destructor Documentation

Displacement::Displacement ( int  data  )  [inline, private]

Definition at line 91 of file assembler.cpp.

References _data.

Displacement::Displacement ( Label L,
Type  type,
int  info 
) [inline, private]

Definition at line 93 of file assembler.cpp.

References init(), and L.

Here is the call graph for this function:


Member Function Documentation

int Displacement::data (  )  const [inline, private]

Definition at line 85 of file assembler.cpp.

References _data.

int Displacement::info (  )  const [inline, private]

Definition at line 86 of file assembler.cpp.

References _data, info_mask, and info_pos.

Referenced by link_to(), and print().

void Displacement::init ( Label L,
Type  type,
int  info 
) [inline, private]

Definition at line 72 of file assembler.cpp.

References _data, assert, info_mask, info_pos, L, next(), next_mask, next_pos, type_mask, and type_pos.

Referenced by Displacement(), and link_to().

Here is the call graph for this function:

void Displacement::link_to ( Label L  )  [inline, private]

Definition at line 89 of file assembler.cpp.

References info(), init(), L, and type().

Referenced by Assembler::link_to().

Here is the call graph for this function:

void Displacement::next ( Label L  )  const [inline, private]

Definition at line 88 of file assembler.cpp.

References _data, L, next_mask, and next_pos.

Referenced by init().

void Displacement::print (  )  [inline, private]

Definition at line 97 of file assembler.cpp.

References absolute_jump, call, conditional_jump, ic_info, info(), outputStream::print(), std, and type().

Here is the call graph for this function:

Type Displacement::type (  )  const [inline, private]

Definition at line 87 of file assembler.cpp.

References _data, type_mask, and type_pos.

Referenced by link_to(), and print().


Friends And Related Function Documentation

friend class Assembler [friend]

Definition at line 109 of file assembler.cpp.

friend class MacroAssembler [friend]

Definition at line 110 of file assembler.cpp.


Member Data Documentation

int Displacement::_data [private]

Definition at line 49 of file assembler.cpp.

Referenced by data(), Displacement(), info(), init(), next(), and type().


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