| Index: src/hydrogen-instructions.cc
|
| ===================================================================
|
| --- src/hydrogen-instructions.cc (revision 7006)
|
| +++ src/hydrogen-instructions.cc (working copy)
|
| @@ -253,6 +253,7 @@
|
| if (other->opcode() != opcode()) return false;
|
| if (!other->representation().Equals(representation())) return false;
|
| if (!other->type_.Equals(type_)) return false;
|
| + if (other->flags() != flags()) return false;
|
| if (OperandCount() != other->OperandCount()) return false;
|
| for (int i = 0; i < OperandCount(); ++i) {
|
| if (OperandAt(i)->id() != other->OperandAt(i)->id()) return false;
|
| @@ -899,17 +900,6 @@
|
| }
|
|
|
|
|
| -bool HPhi::HasReceiverOperand() {
|
| - for (int i = 0; i < OperandCount(); i++) {
|
| - if (OperandAt(i)->IsParameter() &&
|
| - HParameter::cast(OperandAt(i))->index() == 0) {
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -
|
| HValue* HPhi::GetRedundantReplacement() const {
|
| HValue* candidate = NULL;
|
| int count = OperandCount();
|
| @@ -1192,10 +1182,18 @@
|
|
|
|
|
| void HLoadContextSlot::PrintDataTo(StringStream* stream) const {
|
| - stream->Add("(%d, %d)", context_chain_length(), slot_index());
|
| + value()->PrintNameTo(stream);
|
| + stream->Add("[%d]", slot_index());
|
| }
|
|
|
|
|
| +void HStoreContextSlot::PrintDataTo(StringStream* stream) const {
|
| + context()->PrintNameTo(stream);
|
| + stream->Add("[%d] = ", slot_index());
|
| + value()->PrintNameTo(stream);
|
| +}
|
| +
|
| +
|
| // Implementation of type inference and type conversions. Calculates
|
| // the inferred type of this instruction based on the input operands.
|
|
|
|
|