v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::MoveOptimizer Class Referencefinal

#include <move-optimizer.h>

Collaboration diagram for v8::internal::compiler::MoveOptimizer:

Public Member Functions

 MoveOptimizer (Zone *local_zone, InstructionSequence *code)
 
 MoveOptimizer (const MoveOptimizer &)=delete
 
MoveOptimizeroperator= (const MoveOptimizer &)=delete
 
void Run ()
 

Private Types

using MoveOpVector = ZoneVector<MoveOperands*>
 

Private Member Functions

InstructionSequencecode () const
 
Zonelocal_zone () const
 
Zonecode_zone () const
 
MoveOpVectorlocal_vector ()
 
void CompressGaps (Instruction *instr)
 
void CompressBlock (InstructionBlock *block)
 
void CompressMoves (ParallelMove *left, MoveOpVector *right)
 
void MigrateMoves (Instruction *to, Instruction *from)
 
void RemoveClobberedDestinations (Instruction *instruction)
 
const InstructionLastInstruction (const InstructionBlock *block) const
 
void OptimizeMerge (InstructionBlock *block)
 
void FinalizeMoves (Instruction *instr)
 

Private Attributes

Zone *const local_zone_
 
InstructionSequence *const code_
 
MoveOpVector local_vector_
 
ZoneVector< InstructionOperandoperand_buffer1
 
ZoneVector< InstructionOperandoperand_buffer2
 

Detailed Description

Definition at line 15 of file move-optimizer.h.

Member Typedef Documentation

◆ MoveOpVector

Constructor & Destructor Documentation

◆ MoveOptimizer() [1/2]

v8::internal::compiler::MoveOptimizer::MoveOptimizer ( Zone * local_zone,
InstructionSequence * code )

Definition at line 127 of file move-optimizer.cc.

◆ MoveOptimizer() [2/2]

v8::internal::compiler::MoveOptimizer::MoveOptimizer ( const MoveOptimizer & )
delete

Member Function Documentation

◆ code()

InstructionSequence * v8::internal::compiler::MoveOptimizer::code ( ) const
inlineprivate

Definition at line 26 of file move-optimizer.h.

Here is the caller graph for this function:

◆ code_zone()

Zone * v8::internal::compiler::MoveOptimizer::code_zone ( ) const
inlineprivate

Definition at line 28 of file move-optimizer.h.

Here is the caller graph for this function:

◆ CompressBlock()

void v8::internal::compiler::MoveOptimizer::CompressBlock ( InstructionBlock * block)
private

Definition at line 353 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompressGaps()

void v8::internal::compiler::MoveOptimizer::CompressGaps ( Instruction * instr)
private

Definition at line 326 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompressMoves()

void v8::internal::compiler::MoveOptimizer::CompressMoves ( ParallelMove * left,
MoveOpVector * right )
private

Definition at line 297 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FinalizeMoves()

void v8::internal::compiler::MoveOptimizer::FinalizeMoves ( Instruction * instr)
private

Definition at line 551 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LastInstruction()

const Instruction * v8::internal::compiler::MoveOptimizer::LastInstruction ( const InstructionBlock * block) const
private

Definition at line 372 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ local_vector()

MoveOpVector & v8::internal::compiler::MoveOptimizer::local_vector ( )
inlineprivate

Definition at line 29 of file move-optimizer.h.

Here is the caller graph for this function:

◆ local_zone()

Zone * v8::internal::compiler::MoveOptimizer::local_zone ( ) const
inlineprivate

Definition at line 27 of file move-optimizer.h.

Here is the caller graph for this function:

◆ MigrateMoves()

void v8::internal::compiler::MoveOptimizer::MigrateMoves ( Instruction * to,
Instruction * from )
private

Definition at line 208 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

MoveOptimizer & v8::internal::compiler::MoveOptimizer::operator= ( const MoveOptimizer & )
delete

◆ OptimizeMerge()

void v8::internal::compiler::MoveOptimizer::OptimizeMerge ( InstructionBlock * block)
private

Definition at line 377 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveClobberedDestinations()

void v8::internal::compiler::MoveOptimizer::RemoveClobberedDestinations ( Instruction * instruction)
private

Definition at line 164 of file move-optimizer.cc.

Here is the caller graph for this function:

◆ Run()

void v8::internal::compiler::MoveOptimizer::Run ( )

Definition at line 134 of file move-optimizer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ code_

InstructionSequence* const v8::internal::compiler::MoveOptimizer::code_
private

Definition at line 54 of file move-optimizer.h.

◆ local_vector_

MoveOpVector v8::internal::compiler::MoveOptimizer::local_vector_
private

Definition at line 55 of file move-optimizer.h.

◆ local_zone_

Zone* const v8::internal::compiler::MoveOptimizer::local_zone_
private

Definition at line 53 of file move-optimizer.h.

◆ operand_buffer1

ZoneVector<InstructionOperand> v8::internal::compiler::MoveOptimizer::operand_buffer1
private

Definition at line 59 of file move-optimizer.h.

◆ operand_buffer2

ZoneVector<InstructionOperand> v8::internal::compiler::MoveOptimizer::operand_buffer2
private

Definition at line 60 of file move-optimizer.h.


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