| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe | 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe |
| 6 // Please update the (git) revision if we merge changes from Dart. | 6 // Please update the (git) revision if we merge changes from Dart. |
| 7 // https://code.google.com/p/dart/wiki/GettingTheSource | 7 // https://code.google.com/p/dart/wiki/GettingTheSource |
| 8 | 8 |
| 9 #ifndef VM_ASSEMBLER_ARM_H_ | 9 #ifndef VM_ASSEMBLER_ARM_H_ |
| 10 #define VM_ASSEMBLER_ARM_H_ | 10 #define VM_ASSEMBLER_ARM_H_ |
| (...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 // (and doesn't implement ARM STM instruction). | 587 // (and doesn't implement ARM STM instruction). |
| 588 void stm(BlockAddressMode am, Register base, | 588 void stm(BlockAddressMode am, Register base, |
| 589 RegList regs, Condition cond = AL); | 589 RegList regs, Condition cond = AL); |
| 590 #endif | 590 #endif |
| 591 | 591 |
| 592 void ldrex(Register rd, Register rn, Condition cond = AL); | 592 void ldrex(Register rd, Register rn, Condition cond = AL); |
| 593 void strex(Register rd, Register rt, Register rn, Condition cond = AL); | 593 void strex(Register rd, Register rt, Register rn, Condition cond = AL); |
| 594 | 594 |
| 595 // Miscellaneous instructions. | 595 // Miscellaneous instructions. |
| 596 void clrex(); | 596 void clrex(); |
| 597 #if 0 |
| 598 // Moved to ARM32::AssemblerARM32::nop(). |
| 597 void nop(Condition cond = AL); | 599 void nop(Condition cond = AL); |
| 598 | 600 |
| 599 #if 0 | |
| 600 // Moved to ARM32::AssemblerARM32::bkpt() | 601 // Moved to ARM32::AssemblerARM32::bkpt() |
| 601 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. | 602 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. |
| 602 void bkpt(uint16_t imm16); | 603 void bkpt(uint16_t imm16); |
| 603 | 604 |
| 604 static int32_t BkptEncoding(uint16_t imm16) { | 605 static int32_t BkptEncoding(uint16_t imm16) { |
| 605 // bkpt requires that the cond field is AL. | 606 // bkpt requires that the cond field is AL. |
| 606 return (AL << kConditionShift) | B24 | B21 | | 607 return (AL << kConditionShift) | B24 | B21 | |
| 607 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf); | 608 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf); |
| 608 } | 609 } |
| 609 #endif | 610 #endif |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1319 // ARM32::AssemblerARM::uxt() (uxtb and uxth). | 1320 // ARM32::AssemblerARM::uxt() (uxtb and uxth). |
| 1320 #endif | 1321 #endif |
| 1321 | 1322 |
| 1322 DISALLOW_ALLOCATION(); | 1323 DISALLOW_ALLOCATION(); |
| 1323 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1324 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1324 }; | 1325 }; |
| 1325 | 1326 |
| 1326 } // namespace dart | 1327 } // namespace dart |
| 1327 | 1328 |
| 1328 #endif // VM_ASSEMBLER_ARM_H_ | 1329 #endif // VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |