v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Disassembler Class Reference

#include <disasm-arm64.h>

Inheritance diagram for Disassembler:
Collaboration diagram for Disassembler:

Public Member Functions

 Disassembler ()
 
 Disassembler (char *text_buffer, int buffer_size)
 
virtual ~Disassembler ()
 
char * GetOutput ()
 
- Public Member Functions inherited from DecoderVisitor
virtual ~DecoderVisitor ()
 

Static Public Member Functions

static void Dump (FILE *f, byte *begin, byte *end)
 
static int Decode (Isolate *isolate, FILE *f, byte *begin, byte *end)
 
static void Decode (FILE *f, Code *code)
 

Protected Member Functions

virtual void ProcessOutput (Instruction *instr)
 
void Format (Instruction *instr, const char *mnemonic, const char *format)
 
void Substitute (Instruction *instr, const char *string)
 
int SubstituteField (Instruction *instr, const char *format)
 
int SubstituteRegisterField (Instruction *instr, const char *format)
 
int SubstituteImmediateField (Instruction *instr, const char *format)
 
int SubstituteLiteralField (Instruction *instr, const char *format)
 
int SubstituteBitfieldImmediateField (Instruction *instr, const char *format)
 
int SubstituteShiftField (Instruction *instr, const char *format)
 
int SubstituteExtendField (Instruction *instr, const char *format)
 
int SubstituteConditionField (Instruction *instr, const char *format)
 
int SubstitutePCRelAddressField (Instruction *instr, const char *format)
 
int SubstituteBranchTargetField (Instruction *instr, const char *format)
 
int SubstituteLSRegOffsetField (Instruction *instr, const char *format)
 
int SubstitutePrefetchField (Instruction *instr, const char *format)
 
int SubstituteBarrierField (Instruction *instr, const char *format)
 
bool RdIsZROrSP (Instruction *instr) const
 
bool RnIsZROrSP (Instruction *instr) const
 
bool RmIsZROrSP (Instruction *instr) const
 
bool RaIsZROrSP (Instruction *instr) const
 
bool IsMovzMovnImm (unsigned reg_size, uint64_t value)
 
void ResetOutput ()
 
void AppendToOutput (const char *string,...)
 

Protected Attributes

char * buffer_
 
uint32_t buffer_pos_
 
uint32_t buffer_size_
 
bool own_buffer_
 

Detailed Description

Definition at line 42 of file disasm-arm64.h.

Constructor & Destructor Documentation

Disassembler ( char *  text_buffer,
int  buffer_size 
)
virtual ~Disassembler ( )
virtual

Member Function Documentation

void AppendToOutput ( const char *  string,
  ... 
)
protected
int Decode ( Isolate isolate,
FILE *  f,
byte begin,
byte end 
)
static

Definition at line 358 of file disassembler.cc.

void Decode ( FILE *  f,
Code code 
)
static

Definition at line 363 of file disassembler.cc.

void Dump ( FILE *  f,
byte begin,
byte end 
)
static

Definition at line 357 of file disassembler.cc.

Referenced by TEST().

void Format ( Instruction instr,
const char *  mnemonic,
const char *  format 
)
protected
char* GetOutput ( )
bool IsMovzMovnImm ( unsigned  reg_size,
uint64_t  value 
)
protected
virtual void ProcessOutput ( Instruction instr)
protectedvirtual

Reimplemented in PrintDisassembler.

bool RaIsZROrSP ( Instruction instr) const
inlineprotected

Definition at line 85 of file disasm-arm64.h.

References v8::internal::kZeroRegCode.

bool RdIsZROrSP ( Instruction instr) const
inlineprotected

Definition at line 73 of file disasm-arm64.h.

References v8::internal::kZeroRegCode.

void ResetOutput ( )
protected
bool RmIsZROrSP ( Instruction instr) const
inlineprotected

Definition at line 81 of file disasm-arm64.h.

References v8::internal::kZeroRegCode.

bool RnIsZROrSP ( Instruction instr) const
inlineprotected

Definition at line 77 of file disasm-arm64.h.

References v8::internal::kZeroRegCode.

void Substitute ( Instruction instr,
const char *  string 
)
protected
int SubstituteBarrierField ( Instruction instr,
const char *  format 
)
protected
int SubstituteBitfieldImmediateField ( Instruction instr,
const char *  format 
)
protected
int SubstituteBranchTargetField ( Instruction instr,
const char *  format 
)
protected
int SubstituteConditionField ( Instruction instr,
const char *  format 
)
protected
int SubstituteExtendField ( Instruction instr,
const char *  format 
)
protected
int SubstituteField ( Instruction instr,
const char *  format 
)
protected
int SubstituteImmediateField ( Instruction instr,
const char *  format 
)
protected
int SubstituteLiteralField ( Instruction instr,
const char *  format 
)
protected
int SubstituteLSRegOffsetField ( Instruction instr,
const char *  format 
)
protected
int SubstitutePCRelAddressField ( Instruction instr,
const char *  format 
)
protected
int SubstitutePrefetchField ( Instruction instr,
const char *  format 
)
protected
int SubstituteRegisterField ( Instruction instr,
const char *  format 
)
protected
int SubstituteShiftField ( Instruction instr,
const char *  format 
)
protected

Field Documentation

char* buffer_
protected

Definition at line 94 of file disasm-arm64.h.

uint32_t buffer_pos_
protected

Definition at line 95 of file disasm-arm64.h.

uint32_t buffer_size_
protected

Definition at line 96 of file disasm-arm64.h.

bool own_buffer_
protected

Definition at line 97 of file disasm-arm64.h.


The documentation for this class was generated from the following files: