NativeCall Class Reference

#include <nativeInstruction.hpp>

Inheritance diagram for NativeCall:

Inheritance graph
[legend]
Collaboration diagram for NativeCall:

Collaboration graph
[legend]
List of all members.

Public Types

 instruction_code = 0xE8
 instruction_size = 5
 instruction_offset = -5
 displacement_offset = -4
 return_address_offset = 0
enum  Intel_specific_constants {
  instruction_code = 0xE8, instruction_size = 5, instruction_offset = -5, displacement_offset = -4,
  return_address_offset = 0
}

Public Member Functions

char * instruction_address () const
char * next_instruction_address () const
int displacement () const
char * return_address () const
char * destination () const
void set_destination (char *dest)
void verify ()
void print ()

Friends

NativeCallnativeCall_at (char *address)
NativeCallnativeCall_from_return_address (char *return_address)
NativeCallnativeCall_from_relocInfo (char *displacement_address)

Detailed Description

Definition at line 45 of file nativeInstruction.hpp.


Member Enumeration Documentation

enum NativeCall::Intel_specific_constants

Enumerator:
instruction_code 
instruction_size 
instruction_offset 
displacement_offset 
return_address_offset 

Definition at line 47 of file nativeInstruction.hpp.


Member Function Documentation

char* NativeCall::destination (  )  const [inline]

Definition at line 59 of file nativeInstruction.hpp.

References displacement(), and return_address().

Referenced by CompiledDLL_Cache::async(), print(), and CompiledDLL_Cache::verify().

Here is the call graph for this function:

int NativeCall::displacement (  )  const [inline]

Definition at line 57 of file nativeInstruction.hpp.

References displacement_offset, and NativeInstruction::long_at().

Referenced by destination().

Here is the call graph for this function:

char* NativeCall::instruction_address (  )  const [inline]

Definition at line 55 of file nativeInstruction.hpp.

References NativeInstruction::addr_at(), and instruction_offset.

Referenced by print(), and verify().

Here is the call graph for this function:

char* NativeCall::next_instruction_address (  )  const [inline]

Definition at line 56 of file nativeInstruction.hpp.

References NativeInstruction::addr_at(), and return_address_offset.

Here is the call graph for this function:

void NativeCall::print (  ) 

Reimplemented in CompiledDLL_Cache.

Definition at line 36 of file nativeInstruction.cpp.

References destination(), instruction_address(), outputStream::print_cr(), and std.

Here is the call graph for this function:

char* NativeCall::return_address (  )  const [inline]

Definition at line 58 of file nativeInstruction.hpp.

References NativeInstruction::addr_at(), and return_address_offset.

Referenced by destination(), and set_destination().

Here is the call graph for this function:

void NativeCall::set_destination ( char *  dest  )  [inline]

Definition at line 60 of file nativeInstruction.hpp.

References displacement_offset, return_address(), and NativeInstruction::set_long_at().

Referenced by DLLs::lookup_and_patch_CompiledDLL_Cache().

Here is the call graph for this function:

void NativeCall::verify (  ) 

Reimplemented in CompiledDLL_Cache.

Definition at line 30 of file nativeInstruction.cpp.

References fatal, instruction_address(), and instruction_code.

Referenced by nativeCall_at(), nativeCall_from_relocInfo(), nativeCall_from_return_address(), and CompiledDLL_Cache::verify().

Here is the call graph for this function:


Friends And Related Function Documentation

NativeCall* nativeCall_at ( char *  address  )  [friend]

Definition at line 40 of file nativeInstruction.cpp.

NativeCall* nativeCall_from_relocInfo ( char *  displacement_address  )  [friend]

Definition at line 56 of file nativeInstruction.cpp.

NativeCall* nativeCall_from_return_address ( char *  return_address  )  [friend]

Definition at line 48 of file nativeInstruction.cpp.


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:10:29 2006 for Strongtalk VM by  doxygen 1.4.7