Chromium Code Reviews| 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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 static const int kApplyMask; // Modes affected by apply. Depends on arch. | 351 static const int kApplyMask; // Modes affected by apply. Depends on arch. |
| 352 | 352 |
| 353 private: | 353 private: |
| 354 // On ARM, note that pc_ is the address of the constant pool entry | 354 // On ARM, note that pc_ is the address of the constant pool entry |
| 355 // to be relocated and not the address of the instruction | 355 // to be relocated and not the address of the instruction |
| 356 // referencing the constant pool entry (except when rmode_ == | 356 // referencing the constant pool entry (except when rmode_ == |
| 357 // comment). | 357 // comment). |
| 358 byte* pc_; | 358 byte* pc_; |
| 359 Mode rmode_; | 359 Mode rmode_; |
| 360 intptr_t data_; | 360 intptr_t data_; |
| 361 // Code and Embedded Object pointers in mips are stored split across | |
|
Søren Thygesen Gjesse
2011/03/21 16:05:19
I don't like these platform dependent members here
Paul Lind
2011/03/23 01:55:43
I have removed this for now, since relocation is n
| |
| 362 // two consecutive 32-bit instructions. Heap management routines expect | |
| 363 // to access these pointers indirectly. The following location provides | |
| 364 // a place for these pointers to exist natually when accessed via the | |
| 365 // Iterator. Its address is returned by RelocInfo::target_object_address(). | |
| 366 Object *reconstructed_obj_ptr_; | |
| 367 // External-reference pointers may also be split across instruction-pairs | |
| 368 // in mips, but are accessed via indirect pointers. This location provides | |
| 369 // a place for that pointer to exist naturally. Its address is returned by | |
| 370 // RelocInfo::target_reference_address(). | |
| 371 Address reconstructed_adr_ptr_; | |
| 361 friend class RelocIterator; | 372 friend class RelocIterator; |
| 362 }; | 373 }; |
| 363 | 374 |
| 364 | 375 |
| 365 // RelocInfoWriter serializes a stream of relocation info. It writes towards | 376 // RelocInfoWriter serializes a stream of relocation info. It writes towards |
| 366 // lower addresses. | 377 // lower addresses. |
| 367 class RelocInfoWriter BASE_EMBEDDED { | 378 class RelocInfoWriter BASE_EMBEDDED { |
| 368 public: | 379 public: |
| 369 RelocInfoWriter() : pos_(NULL), last_pc_(NULL), last_data_(0) {} | 380 RelocInfoWriter() : pos_(NULL), last_pc_(NULL), last_data_(0) {} |
| 370 RelocInfoWriter(byte* pos, byte* pc) : pos_(pos), last_pc_(pc), | 381 RelocInfoWriter(byte* pos, byte* pc) : pos_(pos), last_pc_(pc), |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 784 return num_bits_set; | 795 return num_bits_set; |
| 785 } | 796 } |
| 786 | 797 |
| 787 // Computes pow(x, y) with the special cases in the spec for Math.pow. | 798 // Computes pow(x, y) with the special cases in the spec for Math.pow. |
| 788 double power_double_int(double x, int y); | 799 double power_double_int(double x, int y); |
| 789 double power_double_double(double x, double y); | 800 double power_double_double(double x, double y); |
| 790 | 801 |
| 791 } } // namespace v8::internal | 802 } } // namespace v8::internal |
| 792 | 803 |
| 793 #endif // V8_ASSEMBLER_H_ | 804 #endif // V8_ASSEMBLER_H_ |
| OLD | NEW |