OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 74 |
75 if (!move.IsEliminated()) { | 75 if (!move.IsEliminated()) { |
76 ASSERT(move.source()->IsConstantOperand()); | 76 ASSERT(move.source()->IsConstantOperand()); |
77 EmitMove(i); | 77 EmitMove(i); |
78 } | 78 } |
79 } | 79 } |
80 | 80 |
81 if (need_to_restore_root_) { | 81 if (need_to_restore_root_) { |
82 ASSERT(kSavedValue.Is(root)); | 82 ASSERT(kSavedValue.Is(root)); |
83 __ InitializeRootRegister(); | 83 __ InitializeRootRegister(); |
| 84 need_to_restore_root_ = false; |
84 } | 85 } |
85 | 86 |
86 moves_.Rewind(0); | 87 moves_.Rewind(0); |
87 } | 88 } |
88 | 89 |
89 | 90 |
90 void LGapResolver::BuildInitialMoveList(LParallelMove* parallel_move) { | 91 void LGapResolver::BuildInitialMoveList(LParallelMove* parallel_move) { |
91 // Perform a linear sweep of the moves to add them to the initial list of | 92 // Perform a linear sweep of the moves to add them to the initial list of |
92 // moves to perform, ignoring any move that is redundant (the source is | 93 // moves to perform, ignoring any move that is redundant (the source is |
93 // the same as the destination, the destination is ignored and | 94 // the same as the destination, the destination is ignored and |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 LOperand* src = moves_[index].source(); | 317 LOperand* src = moves_[index].source(); |
317 LOperand* dst = moves_[index].destination(); | 318 LOperand* dst = moves_[index].destination(); |
318 | 319 |
319 ASSERT(src->IsStackSlot()); | 320 ASSERT(src->IsStackSlot()); |
320 ASSERT(dst->IsStackSlot()); | 321 ASSERT(dst->IsStackSlot()); |
321 __ Ldr(temp, cgen_->ToMemOperand(src)); | 322 __ Ldr(temp, cgen_->ToMemOperand(src)); |
322 __ Str(temp, cgen_->ToMemOperand(dst)); | 323 __ Str(temp, cgen_->ToMemOperand(dst)); |
323 } | 324 } |
324 | 325 |
325 } } // namespace v8::internal | 326 } } // namespace v8::internal |
OLD | NEW |