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 1203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1214 // Use --trace-deopt to enable. | 1214 // Use --trace-deopt to enable. |
1215 void RecordDeoptReason(const int reason, int raw_position, int id); | 1215 void RecordDeoptReason(const int reason, int raw_position, int id); |
1216 | 1216 |
1217 // Writes a single byte or word of data in the code stream. Used | 1217 // Writes a single byte or word of data in the code stream. Used |
1218 // for inline tables, e.g., jump-tables. | 1218 // for inline tables, e.g., jump-tables. |
1219 void db(uint8_t data); | 1219 void db(uint8_t data); |
1220 void dd(uint32_t data); | 1220 void dd(uint32_t data); |
1221 void dq(uint64_t data); | 1221 void dq(uint64_t data); |
1222 void dp(uintptr_t data); | 1222 void dp(uintptr_t data); |
1223 | 1223 |
1224 AssemblerPositionsRecorder* positions_recorder() { | |
1225 return &positions_recorder_; | |
1226 } | |
1227 | |
1228 // Read/patch instructions | 1224 // Read/patch instructions |
1229 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } | 1225 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } |
1230 void instr_at_put(int pos, Instr instr) { | 1226 void instr_at_put(int pos, Instr instr) { |
1231 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; | 1227 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; |
1232 } | 1228 } |
1233 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } | 1229 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } |
1234 static void instr_at_put(byte* pc, Instr instr) { | 1230 static void instr_at_put(byte* pc, Instr instr) { |
1235 *reinterpret_cast<Instr*>(pc) = instr; | 1231 *reinterpret_cast<Instr*>(pc) = instr; |
1236 } | 1232 } |
1237 static Condition GetCondition(Instr instr); | 1233 static Condition GetCondition(Instr instr); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1463 static const int kMaxBlockTrampolineSectionSize = 64 * kInstrSize; | 1459 static const int kMaxBlockTrampolineSectionSize = 64 * kInstrSize; |
1464 static const int kInvalidSlotPos = -1; | 1460 static const int kInvalidSlotPos = -1; |
1465 | 1461 |
1466 Trampoline trampoline_; | 1462 Trampoline trampoline_; |
1467 bool internal_trampoline_exception_; | 1463 bool internal_trampoline_exception_; |
1468 | 1464 |
1469 friend class RegExpMacroAssemblerPPC; | 1465 friend class RegExpMacroAssemblerPPC; |
1470 friend class RelocInfo; | 1466 friend class RelocInfo; |
1471 friend class CodePatcher; | 1467 friend class CodePatcher; |
1472 friend class BlockTrampolinePoolScope; | 1468 friend class BlockTrampolinePoolScope; |
1473 AssemblerPositionsRecorder positions_recorder_; | |
1474 friend class AssemblerPositionsRecorder; | |
1475 friend class EnsureSpace; | 1469 friend class EnsureSpace; |
1476 }; | 1470 }; |
1477 | 1471 |
1478 | 1472 |
1479 class EnsureSpace BASE_EMBEDDED { | 1473 class EnsureSpace BASE_EMBEDDED { |
1480 public: | 1474 public: |
1481 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } | 1475 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } |
1482 }; | 1476 }; |
1483 } // namespace internal | 1477 } // namespace internal |
1484 } // namespace v8 | 1478 } // namespace v8 |
1485 | 1479 |
1486 #endif // V8_PPC_ASSEMBLER_PPC_H_ | 1480 #endif // V8_PPC_ASSEMBLER_PPC_H_ |
OLD | NEW |