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

#include <loop-variable-optimizer.h>

Inheritance diagram for v8::internal::compiler::InductionVariable:
Collaboration diagram for v8::internal::compiler::InductionVariable:

Classes

struct  Bound
 

Public Types

enum  ConstraintKind { kStrict , kNonStrict }
 
enum  ArithmeticType { kAddition , kSubtraction }
 

Public Member Functions

Nodephi () const
 
Nodeeffect_phi () const
 
Nodearith () const
 
Nodeincrement () const
 
Nodeinit_value () const
 
const ZoneVector< Bound > & lower_bounds ()
 
const ZoneVector< Bound > & upper_bounds ()
 
ArithmeticType Type ()
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Member Functions

 InductionVariable (Node *phi, Node *effect_phi, Node *arith, Node *increment, Node *init_value, Zone *zone, ArithmeticType arithmeticType)
 
void AddUpperBound (Node *bound, ConstraintKind kind)
 
void AddLowerBound (Node *bound, ConstraintKind kind)
 

Private Attributes

friend Zone
 
Nodephi_
 
Nodeeffect_phi_
 
Nodearith_
 
Nodeincrement_
 
Nodeinit_value_
 
ZoneVector< Boundlower_bounds_
 
ZoneVector< Boundupper_bounds_
 
ArithmeticType arithmeticType_
 

Friends

class LoopVariableOptimizer
 

Detailed Description

Definition at line 20 of file loop-variable-optimizer.h.

Member Enumeration Documentation

◆ ArithmeticType

Enumerator
kAddition 
kSubtraction 

Definition at line 29 of file loop-variable-optimizer.h.

◆ ConstraintKind

Enumerator
kStrict 
kNonStrict 

Definition at line 28 of file loop-variable-optimizer.h.

Constructor & Destructor Documentation

◆ InductionVariable()

v8::internal::compiler::InductionVariable::InductionVariable ( Node * phi,
Node * effect_phi,
Node * arith,
Node * increment,
Node * init_value,
Zone * zone,
ArithmeticType arithmeticType )
inlineprivate

Definition at line 46 of file loop-variable-optimizer.h.

Member Function Documentation

◆ AddLowerBound()

void v8::internal::compiler::InductionVariable::AddLowerBound ( Node * bound,
InductionVariable::ConstraintKind kind )
private

Definition at line 87 of file loop-variable-optimizer.cc.

Here is the call graph for this function:

◆ AddUpperBound()

void v8::internal::compiler::InductionVariable::AddUpperBound ( Node * bound,
InductionVariable::ConstraintKind kind )
private

Definition at line 77 of file loop-variable-optimizer.cc.

Here is the call graph for this function:

◆ arith()

Node * v8::internal::compiler::InductionVariable::arith ( ) const
inline

Definition at line 24 of file loop-variable-optimizer.h.

◆ effect_phi()

Node * v8::internal::compiler::InductionVariable::effect_phi ( ) const
inline

Definition at line 23 of file loop-variable-optimizer.h.

Here is the caller graph for this function:

◆ increment()

Node * v8::internal::compiler::InductionVariable::increment ( ) const
inline

Definition at line 25 of file loop-variable-optimizer.h.

Here is the caller graph for this function:

◆ init_value()

Node * v8::internal::compiler::InductionVariable::init_value ( ) const
inline

Definition at line 26 of file loop-variable-optimizer.h.

◆ lower_bounds()

const ZoneVector< Bound > & v8::internal::compiler::InductionVariable::lower_bounds ( )
inline

Definition at line 37 of file loop-variable-optimizer.h.

Here is the caller graph for this function:

◆ phi()

Node * v8::internal::compiler::InductionVariable::phi ( ) const
inline

Definition at line 22 of file loop-variable-optimizer.h.

Here is the caller graph for this function:

◆ Type()

ArithmeticType v8::internal::compiler::InductionVariable::Type ( )
inline

Definition at line 40 of file loop-variable-optimizer.h.

◆ upper_bounds()

const ZoneVector< Bound > & v8::internal::compiler::InductionVariable::upper_bounds ( )
inline

Definition at line 38 of file loop-variable-optimizer.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ LoopVariableOptimizer

friend class LoopVariableOptimizer
friend

Definition at line 43 of file loop-variable-optimizer.h.

Member Data Documentation

◆ arith_

Node* v8::internal::compiler::InductionVariable::arith_
private

Definition at line 62 of file loop-variable-optimizer.h.

◆ arithmeticType_

ArithmeticType v8::internal::compiler::InductionVariable::arithmeticType_
private

Definition at line 67 of file loop-variable-optimizer.h.

◆ effect_phi_

Node* v8::internal::compiler::InductionVariable::effect_phi_
private

Definition at line 61 of file loop-variable-optimizer.h.

◆ increment_

Node* v8::internal::compiler::InductionVariable::increment_
private

Definition at line 63 of file loop-variable-optimizer.h.

◆ init_value_

Node* v8::internal::compiler::InductionVariable::init_value_
private

Definition at line 64 of file loop-variable-optimizer.h.

◆ lower_bounds_

ZoneVector<Bound> v8::internal::compiler::InductionVariable::lower_bounds_
private

Definition at line 65 of file loop-variable-optimizer.h.

◆ phi_

Node* v8::internal::compiler::InductionVariable::phi_
private

Definition at line 60 of file loop-variable-optimizer.h.

◆ upper_bounds_

ZoneVector<Bound> v8::internal::compiler::InductionVariable::upper_bounds_
private

Definition at line 66 of file loop-variable-optimizer.h.

◆ Zone

friend v8::internal::compiler::InductionVariable::Zone
private

Definition at line 44 of file loop-variable-optimizer.h.


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