Chromium Code Reviews| Index: runtime/vm/deopt_instructions.cc |
| diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc |
| index f6f8869a51bc8b6e912900c87277dc7b0f07bc79..943a19114ebad9a5d64398481ed07e90547b39ab 100644 |
| --- a/runtime/vm/deopt_instructions.cc |
| +++ b/runtime/vm/deopt_instructions.cc |
| @@ -821,6 +821,16 @@ void DeoptInfoBuilder::AddCopy(Value* value, |
| ASSERT(value->definition()->representation() == kUnboxedMint); |
| deopt_instr = new DeoptInt64StackSlotInstr(from_index); |
| } |
| + } else if (from_loc.IsQuadStackSlot()) { |
| + intptr_t from_index = (from_loc.stack_index() < 0) ? |
|
Vyacheslav Egorov (Google)
2013/04/15 11:09:35
This code is duplicated three times now. Consider
Cutch
2013/04/15 13:34:56
Done.
|
| + from_loc.stack_index() + num_args_ : |
| + from_loc.stack_index() + num_args_ - kFirstLocalSlotIndex + 1; |
| + if (value->definition()->representation() == kUnboxedFloat32x4) { |
| + deopt_instr = new DeoptFloat32x4StackSlotInstr(from_index); |
| + } else { |
| + ASSERT(value->definition()->representation() == kUnboxedUint32x4); |
| + deopt_instr = new DeoptUint32x4StackSlotInstr(from_index); |
| + } |
| } else { |
| UNREACHABLE(); |
| } |