| 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 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 707 }; | 707 }; |
| 708 | 708 |
| 709 | 709 |
| 710 // Class used to build a constant pool. | 710 // Class used to build a constant pool. |
| 711 class ConstantPoolBuilder BASE_EMBEDDED { | 711 class ConstantPoolBuilder BASE_EMBEDDED { |
| 712 public: | 712 public: |
| 713 explicit ConstantPoolBuilder(); | 713 explicit ConstantPoolBuilder(); |
| 714 void AddEntry(Assembler* assm, const RelocInfo& rinfo); | 714 void AddEntry(Assembler* assm, const RelocInfo& rinfo); |
| 715 void Relocate(int pc_delta); | 715 void Relocate(int pc_delta); |
| 716 bool IsEmpty(); | 716 bool IsEmpty(); |
| 717 MaybeObject* Allocate(Heap* heap); | 717 Handle<ConstantPoolArray> New(Isolate* isolate); |
| 718 void Populate(Assembler* assm, ConstantPoolArray* constant_pool); | 718 void Populate(Assembler* assm, ConstantPoolArray* constant_pool); |
| 719 | 719 |
| 720 inline int count_of_64bit() const { return count_of_64bit_; } | 720 inline int count_of_64bit() const { return count_of_64bit_; } |
| 721 inline int count_of_code_ptr() const { return count_of_code_ptr_; } | 721 inline int count_of_code_ptr() const { return count_of_code_ptr_; } |
| 722 inline int count_of_heap_ptr() const { return count_of_heap_ptr_; } | 722 inline int count_of_heap_ptr() const { return count_of_heap_ptr_; } |
| 723 inline int count_of_32bit() const { return count_of_32bit_; } | 723 inline int count_of_32bit() const { return count_of_32bit_; } |
| 724 | 724 |
| 725 private: | 725 private: |
| 726 bool Is64BitEntry(RelocInfo::Mode rmode); | 726 bool Is64BitEntry(RelocInfo::Mode rmode); |
| 727 bool Is32BitEntry(RelocInfo::Mode rmode); | 727 bool Is32BitEntry(RelocInfo::Mode rmode); |
| (...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1491 static const int kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize; | 1491 static const int kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize; |
| 1492 | 1492 |
| 1493 // Postpone the generation of the constant pool for the specified number of | 1493 // Postpone the generation of the constant pool for the specified number of |
| 1494 // instructions. | 1494 // instructions. |
| 1495 void BlockConstPoolFor(int instructions); | 1495 void BlockConstPoolFor(int instructions); |
| 1496 | 1496 |
| 1497 // Check if is time to emit a constant pool. | 1497 // Check if is time to emit a constant pool. |
| 1498 void CheckConstPool(bool force_emit, bool require_jump); | 1498 void CheckConstPool(bool force_emit, bool require_jump); |
| 1499 | 1499 |
| 1500 // Allocate a constant pool of the correct size for the generated code. | 1500 // Allocate a constant pool of the correct size for the generated code. |
| 1501 MaybeObject* AllocateConstantPool(Heap* heap); | 1501 Handle<ConstantPoolArray> NewConstantPool(Isolate* isolate); |
| 1502 | 1502 |
| 1503 // Generate the constant pool for the generated code. | 1503 // Generate the constant pool for the generated code. |
| 1504 void PopulateConstantPool(ConstantPoolArray* constant_pool); | 1504 void PopulateConstantPool(ConstantPoolArray* constant_pool); |
| 1505 | 1505 |
| 1506 bool can_use_constant_pool() const { | 1506 bool can_use_constant_pool() const { |
| 1507 return is_constant_pool_available() && !constant_pool_full_; | 1507 return is_constant_pool_available() && !constant_pool_full_; |
| 1508 } | 1508 } |
| 1509 | 1509 |
| 1510 void set_constant_pool_full() { | 1510 void set_constant_pool_full() { |
| 1511 constant_pool_full_ = true; | 1511 constant_pool_full_ = true; |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1689 public: | 1689 public: |
| 1690 explicit EnsureSpace(Assembler* assembler) { | 1690 explicit EnsureSpace(Assembler* assembler) { |
| 1691 assembler->CheckBuffer(); | 1691 assembler->CheckBuffer(); |
| 1692 } | 1692 } |
| 1693 }; | 1693 }; |
| 1694 | 1694 |
| 1695 | 1695 |
| 1696 } } // namespace v8::internal | 1696 } } // namespace v8::internal |
| 1697 | 1697 |
| 1698 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1698 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
| OLD | NEW |