V8 Project
v8::internal::Disassembler Class Reference

#include <disasm-arm64.h>

+ Inheritance diagram for v8::internal::Disassembler:
+ Collaboration diagram for v8::internal::Disassembler:

Public Member Functions

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

Static Public Member Functions

static int Decode (Isolate *isolate, OStream *os, byte *begin, byte *end, Code *code=NULL)
 

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 19 of file disasm-arm64.h.

Constructor & Destructor Documentation

◆ Disassembler() [1/2]

v8::internal::Disassembler::Disassembler ( )

◆ Disassembler() [2/2]

v8::internal::Disassembler::Disassembler ( char *  text_buffer,
int  buffer_size 
)

◆ ~Disassembler()

virtual v8::internal::Disassembler::~Disassembler ( )
virtual

Member Function Documentation

◆ AppendToOutput()

void v8::internal::Disassembler::AppendToOutput ( const char *  string,
  ... 
)
protected

◆ Decode()

int v8::internal::Disassembler::Decode ( Isolate isolate,
OStream os,
byte begin,
byte end,
Code code = NULL 
)
static

Definition at line 286 of file disassembler.cc.

287  {
288  return 0;
289 }

◆ Format()

void v8::internal::Disassembler::Format ( Instruction instr,
const char *  mnemonic,
const char *  format 
)
protected

◆ GetOutput()

char* v8::internal::Disassembler::GetOutput ( )

◆ IsMovzMovnImm()

bool v8::internal::Disassembler::IsMovzMovnImm ( unsigned  reg_size,
uint64_t  value 
)
protected

◆ ProcessOutput()

virtual void v8::internal::Disassembler::ProcessOutput ( Instruction instr)
protectedvirtual

◆ RaIsZROrSP()

bool v8::internal::Disassembler::RaIsZROrSP ( Instruction instr) const
inlineprotected

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

62  {
63  return (instr->Ra() == kZeroRegCode);
64  }
const unsigned kZeroRegCode

References v8::internal::kZeroRegCode.

◆ RdIsZROrSP()

bool v8::internal::Disassembler::RdIsZROrSP ( Instruction instr) const
inlineprotected

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

50  {
51  return (instr->Rd() == kZeroRegCode);
52  }

References v8::internal::kZeroRegCode.

◆ ResetOutput()

void v8::internal::Disassembler::ResetOutput ( )
protected

◆ RmIsZROrSP()

bool v8::internal::Disassembler::RmIsZROrSP ( Instruction instr) const
inlineprotected

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

58  {
59  return (instr->Rm() == kZeroRegCode);
60  }

References v8::internal::kZeroRegCode.

◆ RnIsZROrSP()

bool v8::internal::Disassembler::RnIsZROrSP ( Instruction instr) const
inlineprotected

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

54  {
55  return (instr->Rn() == kZeroRegCode);
56  }

References v8::internal::kZeroRegCode.

◆ Substitute()

void v8::internal::Disassembler::Substitute ( Instruction instr,
const char *  string 
)
protected

◆ SubstituteBarrierField()

int v8::internal::Disassembler::SubstituteBarrierField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteBitfieldImmediateField()

int v8::internal::Disassembler::SubstituteBitfieldImmediateField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteBranchTargetField()

int v8::internal::Disassembler::SubstituteBranchTargetField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteConditionField()

int v8::internal::Disassembler::SubstituteConditionField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteExtendField()

int v8::internal::Disassembler::SubstituteExtendField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteField()

int v8::internal::Disassembler::SubstituteField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteImmediateField()

int v8::internal::Disassembler::SubstituteImmediateField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteLiteralField()

int v8::internal::Disassembler::SubstituteLiteralField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteLSRegOffsetField()

int v8::internal::Disassembler::SubstituteLSRegOffsetField ( Instruction instr,
const char *  format 
)
protected

◆ SubstitutePCRelAddressField()

int v8::internal::Disassembler::SubstitutePCRelAddressField ( Instruction instr,
const char *  format 
)
protected

◆ SubstitutePrefetchField()

int v8::internal::Disassembler::SubstitutePrefetchField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteRegisterField()

int v8::internal::Disassembler::SubstituteRegisterField ( Instruction instr,
const char *  format 
)
protected

◆ SubstituteShiftField()

int v8::internal::Disassembler::SubstituteShiftField ( Instruction instr,
const char *  format 
)
protected

Member Data Documentation

◆ buffer_

char* v8::internal::Disassembler::buffer_
protected

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

◆ buffer_pos_

uint32_t v8::internal::Disassembler::buffer_pos_
protected

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

◆ buffer_size_

uint32_t v8::internal::Disassembler::buffer_size_
protected

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

◆ own_buffer_

bool v8::internal::Disassembler::own_buffer_
protected

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


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