| Index: src/lithium.cc
|
| diff --git a/src/lithium.cc b/src/lithium.cc
|
| index 414d5f4edeb5bec2a608d727dc2a1c0b503082b4..189aaba73cd77d31e36a7248d37b2889f078b054 100644
|
| --- a/src/lithium.cc
|
| +++ b/src/lithium.cc
|
| @@ -102,12 +102,26 @@ void LOperand::PrintTo(StringStream* stream) {
|
| case DOUBLE_STACK_SLOT:
|
| stream->Add("[double_stack:%d]", index());
|
| break;
|
| + case FLOAT32x4_STACK_SLOT:
|
| + stream->Add("[float32x4_stack:%d]", index());
|
| + break;
|
| + case INT32x4_STACK_SLOT:
|
| + stream->Add("[int32x4_stack:%d]", index());
|
| + break;
|
| case REGISTER:
|
| stream->Add("[%s|R]", Register::AllocationIndexToString(index()));
|
| break;
|
| case DOUBLE_REGISTER:
|
| stream->Add("[%s|R]", DoubleRegister::AllocationIndexToString(index()));
|
| break;
|
| + case FLOAT32x4_REGISTER:
|
| + stream->Add("[%s|R]",
|
| + Float32x4Register::AllocationIndexToString(index()));
|
| + break;
|
| + case INT32x4_REGISTER:
|
| + stream->Add("[%s|R]",
|
| + Int32x4Register::AllocationIndexToString(index()));
|
| + break;
|
| case ARGUMENT:
|
| stream->Add("[arg:%d]", index());
|
| break;
|
| @@ -197,7 +211,9 @@ void LEnvironment::PrintTo(StringStream* stream) {
|
| void LPointerMap::RecordPointer(LOperand* op, Zone* zone) {
|
| // Do not record arguments as pointers.
|
| if (op->IsStackSlot() && op->index() < 0) return;
|
| - ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot());
|
| + ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot() &&
|
| + !op->IsFloat32x4Register() && !op->IsFloat32x4StackSlot() &&
|
| + !op->IsInt32x4Register() && !op->IsInt32x4StackSlot());
|
| pointer_operands_.Add(op, zone);
|
| }
|
|
|
| @@ -205,7 +221,9 @@ void LPointerMap::RecordPointer(LOperand* op, Zone* zone) {
|
| void LPointerMap::RemovePointer(LOperand* op) {
|
| // Do not record arguments as pointers.
|
| if (op->IsStackSlot() && op->index() < 0) return;
|
| - ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot());
|
| + ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot() &&
|
| + !op->IsFloat32x4Register() && !op->IsFloat32x4StackSlot() &&
|
| + !op->IsInt32x4Register() && !op->IsInt32x4StackSlot());
|
| for (int i = 0; i < pointer_operands_.length(); ++i) {
|
| if (pointer_operands_[i]->Equals(op)) {
|
| pointer_operands_.Remove(i);
|
| @@ -218,7 +236,9 @@ void LPointerMap::RemovePointer(LOperand* op) {
|
| void LPointerMap::RecordUntagged(LOperand* op, Zone* zone) {
|
| // Do not record arguments as pointers.
|
| if (op->IsStackSlot() && op->index() < 0) return;
|
| - ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot());
|
| + ASSERT(!op->IsDoubleRegister() && !op->IsDoubleStackSlot() &&
|
| + !op->IsFloat32x4Register() && !op->IsFloat32x4StackSlot() &&
|
| + !op->IsInt32x4Register() && !op->IsInt32x4StackSlot());
|
| untagged_operands_.Add(op, zone);
|
| }
|
|
|
|
|