| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index a8afdc2e22bc5bea18a800e50edb4ca7b3e1b897..51e1ad0818ba9328a945f34d3e38e4d541f59ef4 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -1798,90 +1798,6 @@ class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor {
|
| Zone* AstContext::zone() const { return owner_->zone(); }
|
|
|
|
|
| -class HValueMap: public ZoneObject {
|
| - public:
|
| - explicit HValueMap(Zone* zone)
|
| - : array_size_(0),
|
| - lists_size_(0),
|
| - count_(0),
|
| - present_flags_(0),
|
| - array_(NULL),
|
| - lists_(NULL),
|
| - free_list_head_(kNil) {
|
| - ResizeLists(kInitialSize, zone);
|
| - Resize(kInitialSize, zone);
|
| - }
|
| -
|
| - void Kill(GVNFlagSet flags);
|
| -
|
| - void Add(HValue* value, Zone* zone) {
|
| - present_flags_.Add(value->gvn_flags());
|
| - Insert(value, zone);
|
| - }
|
| -
|
| - HValue* Lookup(HValue* value) const;
|
| -
|
| - HValueMap* Copy(Zone* zone) const {
|
| - return new(zone) HValueMap(zone, this);
|
| - }
|
| -
|
| - bool IsEmpty() const { return count_ == 0; }
|
| -
|
| - private:
|
| - // A linked list of HValue* values. Stored in arrays.
|
| - struct HValueMapListElement {
|
| - HValue* value;
|
| - int next; // Index in the array of the next list element.
|
| - };
|
| - static const int kNil = -1; // The end of a linked list
|
| -
|
| - // Must be a power of 2.
|
| - static const int kInitialSize = 16;
|
| -
|
| - HValueMap(Zone* zone, const HValueMap* other);
|
| -
|
| - void Resize(int new_size, Zone* zone);
|
| - void ResizeLists(int new_size, Zone* zone);
|
| - void Insert(HValue* value, Zone* zone);
|
| - uint32_t Bound(uint32_t value) const { return value & (array_size_ - 1); }
|
| -
|
| - int array_size_;
|
| - int lists_size_;
|
| - int count_; // The number of values stored in the HValueMap.
|
| - GVNFlagSet present_flags_; // All flags that are in any value in the
|
| - // HValueMap.
|
| - HValueMapListElement* array_; // Primary store - contains the first value
|
| - // with a given hash. Colliding elements are stored in linked lists.
|
| - HValueMapListElement* lists_; // The linked lists containing hash collisions.
|
| - int free_list_head_; // Unused elements in lists_ are on the free list.
|
| -};
|
| -
|
| -
|
| -class HSideEffectMap BASE_EMBEDDED {
|
| - public:
|
| - HSideEffectMap();
|
| - explicit HSideEffectMap(HSideEffectMap* other);
|
| - HSideEffectMap& operator= (const HSideEffectMap& other);
|
| -
|
| - void Kill(GVNFlagSet flags);
|
| -
|
| - void Store(GVNFlagSet flags, HInstruction* instr);
|
| -
|
| - bool IsEmpty() const { return count_ == 0; }
|
| -
|
| - inline HInstruction* operator[](int i) const {
|
| - ASSERT(0 <= i);
|
| - ASSERT(i < kNumberOfTrackedSideEffects);
|
| - return data_[i];
|
| - }
|
| - inline HInstruction* at(int i) const { return operator[](i); }
|
| -
|
| - private:
|
| - int count_;
|
| - HInstruction* data_[kNumberOfTrackedSideEffects];
|
| -};
|
| -
|
| -
|
| class HStatistics: public Malloced {
|
| public:
|
| HStatistics()
|
|
|