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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 } else { | 178 } else { |
179 stm(db_w, sp, src1.bit() | src2.bit(), cond); | 179 stm(db_w, sp, src1.bit() | src2.bit(), cond); |
180 Push(src3, src4, cond); | 180 Push(src3, src4, cond); |
181 } | 181 } |
182 } else { | 182 } else { |
183 str(src1, MemOperand(sp, 4, NegPreIndex), cond); | 183 str(src1, MemOperand(sp, 4, NegPreIndex), cond); |
184 Push(src2, src3, src4, cond); | 184 Push(src2, src3, src4, cond); |
185 } | 185 } |
186 } | 186 } |
187 | 187 |
| 188 // Load two consecutive registers with two consecutive memory locations. |
| 189 void Ldrd(Register dst1, |
| 190 Register dst2, |
| 191 const MemOperand& src, |
| 192 Condition cond = al); |
| 193 |
| 194 // Store two consecutive registers to two consecutive memory locations. |
| 195 void Strd(Register src1, |
| 196 Register src2, |
| 197 const MemOperand& dst, |
| 198 Condition cond = al); |
| 199 |
188 // --------------------------------------------------------------------------- | 200 // --------------------------------------------------------------------------- |
189 // Stack limit support | 201 // Stack limit support |
190 | 202 |
191 void StackLimitCheck(Label* on_stack_limit_hit); | 203 void StackLimitCheck(Label* on_stack_limit_hit); |
192 | 204 |
193 // --------------------------------------------------------------------------- | 205 // --------------------------------------------------------------------------- |
194 // Activation frames | 206 // Activation frames |
195 | 207 |
196 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } | 208 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } |
197 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } | 209 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 657 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
646 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 658 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
647 #else | 659 #else |
648 #define ACCESS_MASM(masm) masm-> | 660 #define ACCESS_MASM(masm) masm-> |
649 #endif | 661 #endif |
650 | 662 |
651 | 663 |
652 } } // namespace v8::internal | 664 } } // namespace v8::internal |
653 | 665 |
654 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 666 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |