|
V8 Project
|
#include <hydrogen-range-analysis.h>
Inheritance diagram for v8::internal::HRangeAnalysisPhase:
Collaboration diagram for v8::internal::HRangeAnalysisPhase:Public Member Functions | |
| HRangeAnalysisPhase (HGraph *graph) | |
| void | Run () |
Public Member Functions inherited from v8::internal::HPhase | |
| HPhase (const char *name, HGraph *graph) | |
| ~HPhase () | |
Private Member Functions | |
| void | TraceRange (const char *msg,...) |
| void | InferControlFlowRange (HCompareNumericAndBranch *test, HBasicBlock *dest) |
| void | UpdateControlFlowRange (Token::Value op, HValue *value, HValue *other) |
| void | InferRange (HValue *value) |
| void | RollBackTo (int index) |
| void | AddRange (HValue *value, Range *range) |
| void | AddToWorklist (HValue *value) |
| void | PropagateMinusZeroChecks (HValue *value) |
| void | PoisonRanges () |
| DISALLOW_COPY_AND_ASSIGN (HRangeAnalysisPhase) | |
Private Attributes | |
| ZoneList< HValue * > | changed_ranges_ |
| BitVector | in_worklist_ |
| ZoneList< HValue * > | worklist_ |
Additional Inherited Members | |
Protected Member Functions inherited from v8::internal::HPhase | |
| HGraph * | graph () const |
Definition at line 14 of file hydrogen-range-analysis.h.
|
inlineexplicit |
Definition at line 16 of file hydrogen-range-analysis.h.
|
private |
Definition at line 195 of file hydrogen-range-analysis.cc.
References v8::internal::HValue::AddNewRange(), changed_ranges_, v8::internal::HPhase::graph(), v8::internal::HValue::id(), NULL, v8::internal::HValue::range(), and TraceRange().
Referenced by UpdateControlFlowRange().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 31 of file hydrogen-range-analysis.h.
References v8::internal::BitVector::Add(), v8::internal::BitVector::Contains(), v8::internal::HValue::id(), in_worklist_, and worklist_.
Referenced by PropagateMinusZeroChecks().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
private |
Definition at line 122 of file hydrogen-range-analysis.cc.
References DCHECK, v8::internal::HControlInstruction::FirstSuccessor(), v8::internal::Representation::IsSmiOrInteger32(), v8::internal::HCompareNumericAndBranch::left(), v8::internal::Token::NegateCompareOp(), v8::internal::HValue::representation(), v8::internal::Token::ReverseCompareOp(), v8::internal::HCompareNumericAndBranch::right(), v8::internal::HControlInstruction::SecondSuccessor(), v8::internal::HCompareNumericAndBranch::token(), and UpdateControlFlowRange().
Referenced by Run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 172 of file hydrogen-range-analysis.cc.
References v8::internal::HValue::ComputeInitialRange(), DCHECK, v8::internal::HPhase::graph(), v8::internal::HValue::HasRange(), v8::internal::HValue::id(), v8::internal::Representation::IsNone(), v8::internal::HValue::Mnemonic(), v8::internal::HValue::range(), v8::internal::HValue::representation(), and TraceRange().
Referenced by Run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 109 of file hydrogen-range-analysis.cc.
References v8::internal::HPhase::graph(), and v8::internal::HValue::HasRange().
Referenced by Run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 215 of file hydrogen-range-analysis.cc.
References AddToWorklist(), v8::internal::HValue::cast(), v8::internal::BitVector::Clear(), DCHECK, in_worklist_, v8::internal::BitVector::IsEmpty(), v8::internal::HValue::IsPhi(), v8::internal::HValue::kBailoutOnMinusZero, v8::internal::HBinaryOperation::left(), NULL, v8::internal::HValue::range(), v8::internal::HBinaryOperation::right(), v8::internal::HValue::SetFlag(), and worklist_.
Referenced by Run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 186 of file hydrogen-range-analysis.cc.
References changed_ranges_, and DCHECK.
Referenced by Run().
Here is the caller graph for this function:| void v8::internal::HRangeAnalysisPhase::Run | ( | ) |
Definition at line 35 of file hydrogen-range-analysis.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), v8::internal::Pending::block(), v8::internal::HValue::cast(), changed_ranges_, DCHECK, v8::internal::Representation::Equals(), v8::internal::HPhase::graph(), InferControlFlowRange(), InferRange(), v8::internal::Representation::IsSmiOrInteger32(), v8::internal::Pending::last_changed_range(), NULL, PoisonRanges(), PropagateMinusZeroChecks(), RollBackTo(), and TraceRange().
Here is the call graph for this function:
|
private |
Definition at line 25 of file hydrogen-range-analysis.cc.
References v8::base::OS::VPrint().
Referenced by AddRange(), InferRange(), Run(), and UpdateControlFlowRange().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 139 of file hydrogen-range-analysis.cc.
References AddRange(), v8::internal::EQ, v8::internal::HPhase::graph(), v8::internal::HValue::id(), v8::internal::Token::Name(), NULL, v8::internal::HValue::range(), and TraceRange().
Referenced by InferControlFlowRange().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 39 of file hydrogen-range-analysis.h.
Referenced by AddRange(), RollBackTo(), and Run().
|
private |
Definition at line 41 of file hydrogen-range-analysis.h.
Referenced by AddToWorklist(), and PropagateMinusZeroChecks().
Definition at line 42 of file hydrogen-range-analysis.h.
Referenced by AddToWorklist(), and PropagateMinusZeroChecks().