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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1053 intptr_t pc_delta); | 1053 intptr_t pc_delta); |
1054 | 1054 |
1055 // Writes a single byte or word of data in the code stream. Used for | 1055 // Writes a single byte or word of data in the code stream. Used for |
1056 // inline tables, e.g., jump-tables. | 1056 // inline tables, e.g., jump-tables. |
1057 void db(uint8_t data); | 1057 void db(uint8_t data); |
1058 void dd(uint32_t data); | 1058 void dd(uint32_t data); |
1059 void dq(uint64_t data); | 1059 void dq(uint64_t data); |
1060 void dp(uintptr_t data) { dd(data); } | 1060 void dp(uintptr_t data) { dd(data); } |
1061 void dd(Label* label); | 1061 void dd(Label* label); |
1062 | 1062 |
1063 AssemblerPositionsRecorder* positions_recorder() { | |
1064 return &positions_recorder_; | |
1065 } | |
1066 | |
1067 // Postpone the generation of the trampoline pool for the specified number of | 1063 // Postpone the generation of the trampoline pool for the specified number of |
1068 // instructions. | 1064 // instructions. |
1069 void BlockTrampolinePoolFor(int instructions); | 1065 void BlockTrampolinePoolFor(int instructions); |
1070 | 1066 |
1071 // Check if there is less than kGap bytes available in the buffer. | 1067 // Check if there is less than kGap bytes available in the buffer. |
1072 // If this is the case, we need to grow the buffer before emitting | 1068 // If this is the case, we need to grow the buffer before emitting |
1073 // an instruction or relocation information. | 1069 // an instruction or relocation information. |
1074 inline bool overflow() const { return pc_ >= reloc_info_writer.pos() - kGap; } | 1070 inline bool overflow() const { return pc_ >= reloc_info_writer.pos() - kGap; } |
1075 | 1071 |
1076 // Get the number of bytes available in the buffer. | 1072 // Get the number of bytes available in the buffer. |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1453 void ClearCompactBranchState() { prev_instr_compact_branch_ = false; } | 1449 void ClearCompactBranchState() { prev_instr_compact_branch_ = false; } |
1454 bool prev_instr_compact_branch_ = false; | 1450 bool prev_instr_compact_branch_ = false; |
1455 | 1451 |
1456 Trampoline trampoline_; | 1452 Trampoline trampoline_; |
1457 bool internal_trampoline_exception_; | 1453 bool internal_trampoline_exception_; |
1458 | 1454 |
1459 friend class RegExpMacroAssemblerMIPS; | 1455 friend class RegExpMacroAssemblerMIPS; |
1460 friend class RelocInfo; | 1456 friend class RelocInfo; |
1461 friend class CodePatcher; | 1457 friend class CodePatcher; |
1462 friend class BlockTrampolinePoolScope; | 1458 friend class BlockTrampolinePoolScope; |
1463 | |
1464 AssemblerPositionsRecorder positions_recorder_; | |
1465 friend class AssemblerPositionsRecorder; | |
1466 friend class EnsureSpace; | 1459 friend class EnsureSpace; |
1467 }; | 1460 }; |
1468 | 1461 |
1469 | 1462 |
1470 class EnsureSpace BASE_EMBEDDED { | 1463 class EnsureSpace BASE_EMBEDDED { |
1471 public: | 1464 public: |
1472 explicit EnsureSpace(Assembler* assembler) { | 1465 explicit EnsureSpace(Assembler* assembler) { |
1473 assembler->CheckBuffer(); | 1466 assembler->CheckBuffer(); |
1474 } | 1467 } |
1475 }; | 1468 }; |
1476 | 1469 |
1477 } // namespace internal | 1470 } // namespace internal |
1478 } // namespace v8 | 1471 } // namespace v8 |
1479 | 1472 |
1480 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1473 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |