V8 Project
v8::internal::HDehoistIndexComputationsPhase Class Reference

#include <hydrogen-dehoist.h>

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

Public Member Functions

 HDehoistIndexComputationsPhase (HGraph *graph)
 
void Run ()
 
- Public Member Functions inherited from v8::internal::HPhase
 HPhase (const char *name, HGraph *graph)
 
 ~HPhase ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (HDehoistIndexComputationsPhase)
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::HPhase
HGraph * graph () const
 

Detailed Description

Definition at line 14 of file hydrogen-dehoist.h.

Constructor & Destructor Documentation

◆ HDehoistIndexComputationsPhase()

v8::internal::HDehoistIndexComputationsPhase::HDehoistIndexComputationsPhase ( HGraph *  graph)
inlineexplicit

Definition at line 16 of file hydrogen-dehoist.h.

17  : HPhase("H_Dehoist index computations", graph) { }
HGraph * graph() const
Definition: hydrogen.h:2802
HPhase(const char *name, HGraph *graph)
Definition: hydrogen.h:2796

Member Function Documentation

◆ DISALLOW_COPY_AND_ASSIGN()

v8::internal::HDehoistIndexComputationsPhase::DISALLOW_COPY_AND_ASSIGN ( HDehoistIndexComputationsPhase  )
private

◆ Run()

void v8::internal::HDehoistIndexComputationsPhase::Run ( )

Definition at line 55 of file hydrogen-dehoist.cc.

55  {
56  const ZoneList<HBasicBlock*>* blocks(graph()->blocks());
57  for (int i = 0; i < blocks->length(); ++i) {
58  for (HInstructionIterator it(blocks->at(i)); !it.Done(); it.Advance()) {
59  HInstruction* instr = it.Current();
60  if (instr->IsLoadKeyed()) {
61  DehoistArrayIndex(HLoadKeyed::cast(instr));
62  } else if (instr->IsStoreKeyed()) {
63  DehoistArrayIndex(HStoreKeyed::cast(instr));
64  }
65  }
66  }
67 }
static void DehoistArrayIndex(ArrayInstructionInterface *array_operation)

References v8::internal::List< T, AllocationPolicy >::at(), v8::internal::DehoistArrayIndex(), and v8::internal::HPhase::graph().

+ Here is the call graph for this function:

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