V8 Project
v8::internal::CodePatcher Class Reference

#include <macro-assembler-arm.h>

+ Collaboration diagram for v8::internal::CodePatcher:

Public Types

enum  FlushICache {
  FLUSH , DONT_FLUSH , FLUSH , DONT_FLUSH ,
  FLUSH , DONT_FLUSH
}
 
enum  FlushICache {
  FLUSH , DONT_FLUSH , FLUSH , DONT_FLUSH ,
  FLUSH , DONT_FLUSH
}
 
enum  FlushICache {
  FLUSH , DONT_FLUSH , FLUSH , DONT_FLUSH ,
  FLUSH , DONT_FLUSH
}
 

Public Member Functions

 CodePatcher (byte *address, int instructions, FlushICache flush_cache=FLUSH)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 
void Emit (Instr instr)
 
void Emit (Address addr)
 
void EmitCondition (Condition cond)
 
 CodePatcher (byte *address, int size)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 
 CodePatcher (byte *address, int instructions, FlushICache flush_cache=FLUSH)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 
void Emit (Instr instr)
 
void Emit (Address addr)
 
void ChangeBranchCondition (Condition cond)
 
 CodePatcher (byte *address, int instructions, FlushICache flush_cache=FLUSH)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 
void Emit (Instr instr)
 
void Emit (Address addr)
 
void ChangeBranchCondition (Condition cond)
 
 CodePatcher (byte *address, int size)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 
 CodePatcher (byte *address, int size)
 
virtual ~CodePatcher ()
 
MacroAssemblermasm ()
 

Private Attributes

byteaddress_
 
int size_
 
MacroAssembler masm_
 
FlushICache flush_cache_
 

Detailed Description

Definition at line 1500 of file macro-assembler-arm.h.

Member Enumeration Documentation

◆ FlushICache [1/3]

Enumerator
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 

Definition at line 1502 of file macro-assembler-arm.h.

◆ FlushICache [2/3]

Enumerator
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 

Definition at line 1684 of file macro-assembler-mips.h.

1684  {
1685  FLUSH,
1686  DONT_FLUSH
1687  };

◆ FlushICache [3/3]

Enumerator
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 
FLUSH 
DONT_FLUSH 

Definition at line 1738 of file macro-assembler-mips64.h.

1738  {
1739  FLUSH,
1740  DONT_FLUSH
1741  };

Constructor & Destructor Documentation

◆ CodePatcher() [1/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  instructions,
FlushICache  flush_cache = FLUSH 
)

◆ ~CodePatcher() [1/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

◆ CodePatcher() [2/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  size 
)

◆ ~CodePatcher() [2/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

◆ CodePatcher() [3/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  instructions,
FlushICache  flush_cache = FLUSH 
)

◆ ~CodePatcher() [3/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

◆ CodePatcher() [4/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  instructions,
FlushICache  flush_cache = FLUSH 
)

◆ ~CodePatcher() [4/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

◆ CodePatcher() [5/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  size 
)

◆ ~CodePatcher() [5/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

◆ CodePatcher() [6/6]

v8::internal::CodePatcher::CodePatcher ( byte address,
int  size 
)

◆ ~CodePatcher() [6/6]

virtual v8::internal::CodePatcher::~CodePatcher ( )
virtual

Member Function Documentation

◆ ChangeBranchCondition() [1/2]

void v8::internal::CodePatcher::ChangeBranchCondition ( Condition  cond)

◆ ChangeBranchCondition() [2/2]

void v8::internal::CodePatcher::ChangeBranchCondition ( Condition  cond)

◆ Emit() [1/6]

void v8::internal::CodePatcher::Emit ( Address  addr)

◆ Emit() [2/6]

void v8::internal::CodePatcher::Emit ( Address  addr)

◆ Emit() [3/6]

void v8::internal::CodePatcher::Emit ( Address  addr)

◆ Emit() [4/6]

void v8::internal::CodePatcher::Emit ( Instr  instr)

◆ Emit() [5/6]

void v8::internal::CodePatcher::Emit ( Instr  instr)

◆ Emit() [6/6]

void v8::internal::CodePatcher::Emit ( Instr  instr)

◆ EmitCondition()

void v8::internal::CodePatcher::EmitCondition ( Condition  cond)

◆ masm() [1/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1513 of file macro-assembler-arm.h.

1513 { return &masm_; }

References masm_.

Referenced by v8::internal::Deoptimizer::PatchCodeForDeoptimization().

+ Here is the caller graph for this function:

◆ masm() [2/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1040 of file macro-assembler-ia32.h.

1040 { return &masm_; }

References masm_.

◆ masm() [3/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1695 of file macro-assembler-mips.h.

1695 { return &masm_; }

References masm_.

◆ masm() [4/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1749 of file macro-assembler-mips64.h.

1749 { return &masm_; }

References masm_.

◆ masm() [5/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1575 of file macro-assembler-x64.h.

1575 { return &masm_; }

References masm_.

◆ masm() [6/6]

MacroAssembler* v8::internal::CodePatcher::masm ( )
inline

Definition at line 1007 of file macro-assembler-x87.h.

1007 { return &masm_; }

References masm_.

Member Data Documentation

◆ address_

byte * v8::internal::CodePatcher::address_
private

Definition at line 1526 of file macro-assembler-arm.h.

◆ flush_cache_

FlushICache v8::internal::CodePatcher::flush_cache_
private

Definition at line 1529 of file macro-assembler-arm.h.

◆ masm_

MacroAssembler v8::internal::CodePatcher::masm_
private

Definition at line 1528 of file macro-assembler-arm.h.

Referenced by masm().

◆ size_

int v8::internal::CodePatcher::size_
private

Definition at line 1527 of file macro-assembler-arm.h.


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