| Index: src/lithium.h
|
| ===================================================================
|
| --- src/lithium.h (revision 10480)
|
| +++ src/lithium.h (working copy)
|
| @@ -59,6 +59,7 @@
|
| bool IsDoubleRegister() const { return kind() == DOUBLE_REGISTER; }
|
| bool IsArgument() const { return kind() == ARGUMENT; }
|
| bool IsUnallocated() const { return kind() == UNALLOCATED; }
|
| + bool IsIgnored() const { return kind() == INVALID; }
|
| bool Equals(LOperand* other) const { return value_ == other->value_; }
|
| int VirtualRegister();
|
|
|
| @@ -89,8 +90,7 @@
|
| FIXED_SLOT,
|
| MUST_HAVE_REGISTER,
|
| WRITABLE_REGISTER,
|
| - SAME_AS_FIRST_INPUT,
|
| - IGNORE
|
| + SAME_AS_FIRST_INPUT
|
| };
|
|
|
| // Lifetime of operand inside the instruction.
|
| @@ -121,9 +121,9 @@
|
|
|
| // The superclass has a KindField. Some policies have a signed fixed
|
| // index in the upper bits.
|
| - static const int kPolicyWidth = 4;
|
| + static const int kPolicyWidth = 3;
|
| static const int kLifetimeWidth = 1;
|
| - static const int kVirtualRegisterWidth = 17;
|
| + static const int kVirtualRegisterWidth = 18;
|
|
|
| static const int kPolicyShift = kKindFieldWidth;
|
| static const int kLifetimeShift = kPolicyShift + kPolicyWidth;
|
| @@ -143,12 +143,10 @@
|
| kVirtualRegisterWidth> {
|
| };
|
|
|
| - static const int kMaxVirtualRegisters = 1 << (kVirtualRegisterWidth + 1);
|
| + static const int kMaxVirtualRegisters = 1 << kVirtualRegisterWidth;
|
| static const int kMaxFixedIndex = 63;
|
| static const int kMinFixedIndex = -64;
|
|
|
| - bool HasIgnorePolicy() const { return policy() == IGNORE; }
|
| - bool HasNoPolicy() const { return policy() == NONE; }
|
| bool HasAnyPolicy() const {
|
| return policy() == ANY;
|
| }
|
| @@ -234,9 +232,7 @@
|
| }
|
|
|
| bool IsIgnored() const {
|
| - return destination_ != NULL &&
|
| - destination_->IsUnallocated() &&
|
| - LUnallocated::cast(destination_)->HasIgnorePolicy();
|
| + return destination_ != NULL && destination_->IsIgnored();
|
| }
|
|
|
| // We clear both operands to indicate move that's been eliminated.
|
|
|