OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 } | 176 } |
177 | 177 |
178 | 178 |
179 void MacroAssembler::Drop(int count, Condition cond) { | 179 void MacroAssembler::Drop(int count, Condition cond) { |
180 if (count > 0) { | 180 if (count > 0) { |
181 add(sp, sp, Operand(count * kPointerSize), LeaveCC, cond); | 181 add(sp, sp, Operand(count * kPointerSize), LeaveCC, cond); |
182 } | 182 } |
183 } | 183 } |
184 | 184 |
185 | 185 |
186 void MacroAssembler::Swap(Register reg1, Register reg2, Register scratch) { | 186 void MacroAssembler::Swap(Register reg1, |
| 187 Register reg2, |
| 188 Register scratch, |
| 189 Condition cond) { |
187 if (scratch.is(no_reg)) { | 190 if (scratch.is(no_reg)) { |
188 eor(reg1, reg1, Operand(reg2)); | 191 eor(reg1, reg1, Operand(reg2), LeaveCC, cond); |
189 eor(reg2, reg2, Operand(reg1)); | 192 eor(reg2, reg2, Operand(reg1), LeaveCC, cond); |
190 eor(reg1, reg1, Operand(reg2)); | 193 eor(reg1, reg1, Operand(reg2), LeaveCC, cond); |
191 } else { | 194 } else { |
192 mov(scratch, reg1); | 195 mov(scratch, reg1, LeaveCC, cond); |
193 mov(reg1, reg2); | 196 mov(reg1, reg2, LeaveCC, cond); |
194 mov(reg2, scratch); | 197 mov(reg2, scratch, LeaveCC, cond); |
195 } | 198 } |
196 } | 199 } |
197 | 200 |
198 | 201 |
199 void MacroAssembler::Call(Label* target) { | 202 void MacroAssembler::Call(Label* target) { |
200 bl(target); | 203 bl(target); |
201 } | 204 } |
202 | 205 |
203 | 206 |
204 void MacroAssembler::Move(Register dst, Handle<Object> value) { | 207 void MacroAssembler::Move(Register dst, Handle<Object> value) { |
(...skipping 1562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1767 | 1770 |
1768 void CodePatcher::Emit(Address addr) { | 1771 void CodePatcher::Emit(Address addr) { |
1769 masm()->emit(reinterpret_cast<Instr>(addr)); | 1772 masm()->emit(reinterpret_cast<Instr>(addr)); |
1770 } | 1773 } |
1771 #endif // ENABLE_DEBUGGER_SUPPORT | 1774 #endif // ENABLE_DEBUGGER_SUPPORT |
1772 | 1775 |
1773 | 1776 |
1774 } } // namespace v8::internal | 1777 } } // namespace v8::internal |
1775 | 1778 |
1776 #endif // V8_TARGET_ARCH_ARM | 1779 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |