28 #ifndef V8_HYDROGEN_RANGE_ANALYSIS_H_
29 #define V8_HYDROGEN_RANGE_ANALYSIS_H_
40 :
HPhase(
"H_Range analysis", graph), changed_ranges_(16, zone()),
41 in_worklist_(graph->GetMaximumValueID(), zone()),
42 worklist_(32, zone()) {}
47 void TraceRange(
const char* msg, ...);
51 void InferRange(
HValue* value);
52 void RollBackTo(
int index);
53 void AddRange(
HValue* value, Range* range);
54 void AddToWorklist(
HValue* value) {
55 if (in_worklist_.
Contains(value->
id()))
return;
56 in_worklist_.
Add(value->
id());
57 worklist_.Add(value, zone());
59 void PropagateMinusZeroChecks(HValue* value);
61 ZoneList<HValue*> changed_ranges_;
63 BitVector in_worklist_;
64 ZoneList<HValue*> worklist_;
72 #endif // V8_HYDROGEN_RANGE_ANALYSIS_H_
bool Contains(int i) const
HRangeAnalysisPhase(HGraph *graph)