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 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1386 // the marker and branch over the data. | 1386 // the marker and branch over the data. |
1387 void RecordConstPool(int size); | 1387 void RecordConstPool(int size); |
1388 | 1388 |
1389 // Writes a single byte or word of data in the code stream. Used | 1389 // Writes a single byte or word of data in the code stream. Used |
1390 // for inline tables, e.g., jump-tables. The constant pool should be | 1390 // for inline tables, e.g., jump-tables. The constant pool should be |
1391 // emitted before any use of db and dd to ensure that constant pools | 1391 // emitted before any use of db and dd to ensure that constant pools |
1392 // are not emitted as part of the tables generated. | 1392 // are not emitted as part of the tables generated. |
1393 void db(uint8_t data); | 1393 void db(uint8_t data); |
1394 void dd(uint32_t data); | 1394 void dd(uint32_t data); |
1395 | 1395 |
| 1396 // Emits the address of the code stub's first instruction. |
| 1397 void emit_code_stub_address(Code* stub); |
| 1398 |
1396 PositionsRecorder* positions_recorder() { return &positions_recorder_; } | 1399 PositionsRecorder* positions_recorder() { return &positions_recorder_; } |
1397 | 1400 |
1398 // Read/patch instructions | 1401 // Read/patch instructions |
1399 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } | 1402 Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); } |
1400 void instr_at_put(int pos, Instr instr) { | 1403 void instr_at_put(int pos, Instr instr) { |
1401 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; | 1404 *reinterpret_cast<Instr*>(buffer_ + pos) = instr; |
1402 } | 1405 } |
1403 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } | 1406 static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); } |
1404 static void instr_at_put(byte* pc, Instr instr) { | 1407 static void instr_at_put(byte* pc, Instr instr) { |
1405 *reinterpret_cast<Instr*>(pc) = instr; | 1408 *reinterpret_cast<Instr*>(pc) = instr; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1608 public: | 1611 public: |
1609 explicit EnsureSpace(Assembler* assembler) { | 1612 explicit EnsureSpace(Assembler* assembler) { |
1610 assembler->CheckBuffer(); | 1613 assembler->CheckBuffer(); |
1611 } | 1614 } |
1612 }; | 1615 }; |
1613 | 1616 |
1614 | 1617 |
1615 } } // namespace v8::internal | 1618 } } // namespace v8::internal |
1616 | 1619 |
1617 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1620 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |