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 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 | 655 |
656 private: | 656 private: |
657 // On ARM, note that pc_ is the address of the constant pool entry | 657 // On ARM, note that pc_ is the address of the constant pool entry |
658 // to be relocated and not the address of the instruction | 658 // to be relocated and not the address of the instruction |
659 // referencing the constant pool entry (except when rmode_ == | 659 // referencing the constant pool entry (except when rmode_ == |
660 // comment). | 660 // comment). |
661 byte* pc_; | 661 byte* pc_; |
662 Mode rmode_; | 662 Mode rmode_; |
663 intptr_t data_; | 663 intptr_t data_; |
664 Code* host_; | 664 Code* host_; |
665 // External-reference pointers are also split across instruction-pairs | |
666 // on some platforms, but are accessed via indirect pointers. This location | |
667 // provides a place for that pointer to exist naturally. Its address | |
668 // is returned by RelocInfo::target_reference_address(). | |
669 Address reconstructed_adr_ptr_; | |
670 friend class RelocIterator; | 665 friend class RelocIterator; |
671 }; | 666 }; |
672 | 667 |
673 | 668 |
674 // RelocInfoWriter serializes a stream of relocation info. It writes towards | 669 // RelocInfoWriter serializes a stream of relocation info. It writes towards |
675 // lower addresses. | 670 // lower addresses. |
676 class RelocInfoWriter BASE_EMBEDDED { | 671 class RelocInfoWriter BASE_EMBEDDED { |
677 public: | 672 public: |
678 RelocInfoWriter() | 673 RelocInfoWriter() |
679 : pos_(NULL), | 674 : pos_(NULL), |
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1278 std::vector<ConstantPoolEntry> shared_entries; | 1273 std::vector<ConstantPoolEntry> shared_entries; |
1279 }; | 1274 }; |
1280 | 1275 |
1281 Label emitted_label_; // Records pc_offset of emitted pool | 1276 Label emitted_label_; // Records pc_offset of emitted pool |
1282 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1277 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1283 }; | 1278 }; |
1284 | 1279 |
1285 } // namespace internal | 1280 } // namespace internal |
1286 } // namespace v8 | 1281 } // namespace v8 |
1287 #endif // V8_ASSEMBLER_H_ | 1282 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |