| 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 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 // (and doesn't implement ARM STM instruction). | 588 // (and doesn't implement ARM STM instruction). |
| 589 void stm(BlockAddressMode am, Register base, | 589 void stm(BlockAddressMode am, Register base, |
| 590 RegList regs, Condition cond = AL); | 590 RegList regs, Condition cond = AL); |
| 591 #endif | 591 #endif |
| 592 | 592 |
| 593 void ldrex(Register rd, Register rn, Condition cond = AL); | 593 void ldrex(Register rd, Register rn, Condition cond = AL); |
| 594 void strex(Register rd, Register rt, Register rn, Condition cond = AL); | 594 void strex(Register rd, Register rt, Register rn, Condition cond = AL); |
| 595 | 595 |
| 596 // Miscellaneous instructions. | 596 // Miscellaneous instructions. |
| 597 void clrex(); | 597 void clrex(); |
| 598 #if 0 |
| 599 // Moved to ARM32::AssemblerARM32::nop(). |
| 598 void nop(Condition cond = AL); | 600 void nop(Condition cond = AL); |
| 599 | 601 |
| 600 #if 0 | |
| 601 // Moved to ARM32::AssemblerARM32::bkpt() | 602 // Moved to ARM32::AssemblerARM32::bkpt() |
| 602 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. | 603 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. |
| 603 void bkpt(uint16_t imm16); | 604 void bkpt(uint16_t imm16); |
| 604 | 605 |
| 605 static int32_t BkptEncoding(uint16_t imm16) { | 606 static int32_t BkptEncoding(uint16_t imm16) { |
| 606 // bkpt requires that the cond field is AL. | 607 // bkpt requires that the cond field is AL. |
| 607 return (AL << kConditionShift) | B24 | B21 | | 608 return (AL << kConditionShift) | B24 | B21 | |
| 608 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf); | 609 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf); |
| 609 } | 610 } |
| 610 #endif | 611 #endif |
| (...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1318 // ARM32::AssemblerARM::uxt() (uxtb and uxth). | 1319 // ARM32::AssemblerARM::uxt() (uxtb and uxth). |
| 1319 #endif | 1320 #endif |
| 1320 | 1321 |
| 1321 DISALLOW_ALLOCATION(); | 1322 DISALLOW_ALLOCATION(); |
| 1322 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1323 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1323 }; | 1324 }; |
| 1324 | 1325 |
| 1325 } // namespace dart | 1326 } // namespace dart |
| 1326 | 1327 |
| 1327 #endif // VM_ASSEMBLER_ARM_H_ | 1328 #endif // VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |