OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 1415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1426 // called before any use of db/dd/dq/dp to ensure that constant pools | 1426 // called before any use of db/dd/dq/dp to ensure that constant pools |
1427 // are not emitted as part of the tables generated. | 1427 // are not emitted as part of the tables generated. |
1428 void db(uint8_t data); | 1428 void db(uint8_t data); |
1429 void dd(uint32_t data); | 1429 void dd(uint32_t data); |
1430 void dq(uint64_t data); | 1430 void dq(uint64_t data); |
1431 void dp(uintptr_t data) { dd(data); } | 1431 void dp(uintptr_t data) { dd(data); } |
1432 | 1432 |
1433 // Emits the address of the code stub's first instruction. | 1433 // Emits the address of the code stub's first instruction. |
1434 void emit_code_stub_address(Code* stub); | 1434 void emit_code_stub_address(Code* stub); |
1435 | 1435 |
1436 AssemblerPositionsRecorder* positions_recorder() { | |
1437 return &positions_recorder_; | |
1438 } | |
1439 | |
1440 // Read/patch instructions | 1436 // Read/patch instructions |
1441 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } | 1437 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } |
1442 void instr_at_put(int pos, Instr instr) { | 1438 void instr_at_put(int pos, Instr instr) { |
1443 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; | 1439 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; |
1444 } | 1440 } |
1445 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } | 1441 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } |
1446 static void instr_at_put(byte* pc, Instr instr) { | 1442 static void instr_at_put(byte* pc, Instr instr) { |
1447 *reinterpret_cast<Instr*>(pc) = instr; | 1443 *reinterpret_cast<Instr*>(pc) = instr; |
1448 } | 1444 } |
1449 static Condition GetCondition(Instr instr); | 1445 static Condition GetCondition(Instr instr); |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1669 // Record reloc info for current pc_ | 1665 // Record reloc info for current pc_ |
1670 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); | 1666 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
1671 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, | 1667 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, |
1672 RelocInfo::Mode rmode, | 1668 RelocInfo::Mode rmode, |
1673 intptr_t value); | 1669 intptr_t value); |
1674 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, double value); | 1670 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, double value); |
1675 | 1671 |
1676 friend class RelocInfo; | 1672 friend class RelocInfo; |
1677 friend class CodePatcher; | 1673 friend class CodePatcher; |
1678 friend class BlockConstPoolScope; | 1674 friend class BlockConstPoolScope; |
1679 AssemblerPositionsRecorder positions_recorder_; | |
1680 friend class AssemblerPositionsRecorder; | |
1681 friend class EnsureSpace; | 1675 friend class EnsureSpace; |
1682 }; | 1676 }; |
1683 | 1677 |
1684 | 1678 |
1685 class EnsureSpace BASE_EMBEDDED { | 1679 class EnsureSpace BASE_EMBEDDED { |
1686 public: | 1680 public: |
1687 explicit EnsureSpace(Assembler* assembler) { | 1681 explicit EnsureSpace(Assembler* assembler) { |
1688 assembler->CheckBuffer(); | 1682 assembler->CheckBuffer(); |
1689 } | 1683 } |
1690 }; | 1684 }; |
1691 | 1685 |
1692 | 1686 |
1693 } // namespace internal | 1687 } // namespace internal |
1694 } // namespace v8 | 1688 } // namespace v8 |
1695 | 1689 |
1696 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1690 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |