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 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1383 // called before any use of db/dd/dq/dp to ensure that constant pools | 1383 // called before any use of db/dd/dq/dp to ensure that constant pools |
1384 // are not emitted as part of the tables generated. | 1384 // are not emitted as part of the tables generated. |
1385 void db(uint8_t data); | 1385 void db(uint8_t data); |
1386 void dd(uint32_t data); | 1386 void dd(uint32_t data); |
1387 void dq(uint64_t data); | 1387 void dq(uint64_t data); |
1388 void dp(uintptr_t data) { dd(data); } | 1388 void dp(uintptr_t data) { dd(data); } |
1389 | 1389 |
1390 // Emits the address of the code stub's first instruction. | 1390 // Emits the address of the code stub's first instruction. |
1391 void emit_code_stub_address(Code* stub); | 1391 void emit_code_stub_address(Code* stub); |
1392 | 1392 |
1393 PositionsRecorder* positions_recorder() { return &positions_recorder_; } | 1393 AssemblerPositionsRecorder* positions_recorder() { |
| 1394 return &positions_recorder_; |
| 1395 } |
1394 | 1396 |
1395 // Read/patch instructions | 1397 // Read/patch instructions |
1396 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } | 1398 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } |
1397 void instr_at_put(int pos, Instr instr) { | 1399 void instr_at_put(int pos, Instr instr) { |
1398 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; | 1400 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; |
1399 } | 1401 } |
1400 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } | 1402 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } |
1401 static void instr_at_put(byte* pc, Instr instr) { | 1403 static void instr_at_put(byte* pc, Instr instr) { |
1402 *reinterpret_cast<Instr*>(pc) = instr; | 1404 *reinterpret_cast<Instr*>(pc) = instr; |
1403 } | 1405 } |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1630 // Record reloc info for current pc_ | 1632 // Record reloc info for current pc_ |
1631 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); | 1633 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
1632 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, | 1634 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, |
1633 RelocInfo::Mode rmode, | 1635 RelocInfo::Mode rmode, |
1634 intptr_t value); | 1636 intptr_t value); |
1635 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, double value); | 1637 ConstantPoolEntry::Access ConstantPoolAddEntry(int position, double value); |
1636 | 1638 |
1637 friend class RelocInfo; | 1639 friend class RelocInfo; |
1638 friend class CodePatcher; | 1640 friend class CodePatcher; |
1639 friend class BlockConstPoolScope; | 1641 friend class BlockConstPoolScope; |
1640 PositionsRecorder positions_recorder_; | 1642 AssemblerPositionsRecorder positions_recorder_; |
1641 friend class PositionsRecorder; | 1643 friend class AssemblerPositionsRecorder; |
1642 friend class EnsureSpace; | 1644 friend class EnsureSpace; |
1643 }; | 1645 }; |
1644 | 1646 |
1645 | 1647 |
1646 class EnsureSpace BASE_EMBEDDED { | 1648 class EnsureSpace BASE_EMBEDDED { |
1647 public: | 1649 public: |
1648 explicit EnsureSpace(Assembler* assembler) { | 1650 explicit EnsureSpace(Assembler* assembler) { |
1649 assembler->CheckBuffer(); | 1651 assembler->CheckBuffer(); |
1650 } | 1652 } |
1651 }; | 1653 }; |
1652 | 1654 |
1653 | 1655 |
1654 } // namespace internal | 1656 } // namespace internal |
1655 } // namespace v8 | 1657 } // namespace v8 |
1656 | 1658 |
1657 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1659 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |