| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index d92770a6c8c623a44c135398cfcced16f3350923..7554fd85bad5a136e387698eb704159008be7bdd 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -43,7 +43,6 @@ namespace v8 {
|
| namespace internal {
|
|
|
| // Forward declarations.
|
| -class BitRange;
|
| class HBasicBlock;
|
| class HEnvironment;
|
| class HInferRepresentation;
|
| @@ -260,7 +259,7 @@ class Range: public ZoneObject {
|
| result->set_can_be_minus_zero(CanBeMinusZero());
|
| return result;
|
| }
|
| - void ToBitRange(BitRange* bits) const;
|
| + int32_t Mask() const;
|
| void set_can_be_minus_zero(bool b) { can_be_minus_zero_ = b; }
|
| bool CanBeMinusZero() const { return CanBeZero() && can_be_minus_zero_; }
|
| bool CanBeZero() const { return upper_ >= 0 && lower_ <= 0; }
|
| @@ -307,60 +306,6 @@ class Range: public ZoneObject {
|
| };
|
|
|
|
|
| -class BitRange {
|
| - public:
|
| - BitRange() : known_(0), bits_(0) { }
|
| - BitRange(int32_t known, int32_t bits)
|
| - : known_(known), bits_(bits & known) { }
|
| -
|
| - static void SetFromRange(BitRange* bits, int32_t lower, int32_t upper) {
|
| - // Find a mask for the most significant bits that are the same for all
|
| - // values in the range.
|
| - int32_t same = ~(lower ^ upper);
|
| - // Flood zeros to any bits lower than the most significant zero.
|
| - same &= (same >> 1);
|
| - same &= (same >> 2);
|
| - same &= (same >> 4);
|
| - same &= (same >> 8);
|
| - same &= (same >> 16);
|
| -
|
| - bits->known_ = same;
|
| - bits->bits_ = lower & same;
|
| - }
|
| -
|
| - void ExtendRange(int32_t* lower, int32_t* upper) const {
|
| - int32_t limit1 = (~known_ & 0x80000000) | bits_;
|
| - int32_t limit2 = (~known_ & 0x7fffffff) | bits_;
|
| - *lower = Min(*lower, Min(limit1, limit2));
|
| - *upper = Max(*upper, Max(limit1, limit2));
|
| - }
|
| -
|
| - static BitRange And(BitRange a, BitRange b) {
|
| - int32_t known = a.known_ & b.known_;
|
| - // Zeros in either operand become known.
|
| - known |= (a.known_ & ~a.bits_);
|
| - known |= (b.known_ & ~b.bits_);
|
| - return BitRange(known, a.bits_ & b.bits_);
|
| - }
|
| -
|
| - static BitRange Or(BitRange a, BitRange b) {
|
| - int32_t known = a.known_ & b.known_;
|
| - // Ones in either operand become known.
|
| - known |= (a.known_ & a.bits_);
|
| - known |= (b.known_ & b.bits_);
|
| - return BitRange(known, a.bits_ | b.bits_);
|
| - }
|
| -
|
| - static BitRange Xor(BitRange a, BitRange b) {
|
| - return BitRange(a.known_ & b.known_, a.bits_ ^ b.bits_);
|
| - }
|
| -
|
| - private:
|
| - int32_t known_; // A mask of known bits.
|
| - int32_t bits_; // Values of known bits, zero elsewhere.
|
| -};
|
| -
|
| -
|
| class UniqueValueId {
|
| public:
|
| UniqueValueId() : raw_address_(NULL) { }
|
|
|