Index: courgette/encoded_program.h |
=================================================================== |
--- courgette/encoded_program.h (revision 76470) |
+++ courgette/encoded_program.h (working copy) |
@@ -9,6 +9,7 @@ |
#include "base/basictypes.h" |
#include "courgette/image_info.h" |
+#include "courgette/memory_allocator.h" |
namespace courgette { |
@@ -37,7 +38,7 @@ |
// (3) Add instructions in the order needed to generate bytes of file. |
void AddOrigin(RVA rva); |
- void AddCopy(int count, const void* bytes); |
+ void AddCopy(uint32 count, const void* bytes); |
void AddRel32(int label_index); |
void AddAbs32(int label_index); |
void AddMakeRelocs(); |
@@ -67,25 +68,30 @@ |
OP_LAST |
}; |
+ typedef std::vector<RVA, MemoryAllocator<RVA> > RvaVector; |
+ typedef std::vector<uint32, MemoryAllocator<uint32> > UInt32Vector; |
+ typedef std::vector<uint8, MemoryAllocator<uint8> > UInt8Vector; |
+ typedef std::vector<OP, MemoryAllocator<OP> > OPVector; |
+ |
void DebuggingSummary(); |
void GenerateBaseRelocations(SinkStream *buffer); |
- void DefineLabelCommon(std::vector<RVA>*, int, RVA); |
- void FinishLabelsCommon(std::vector<RVA>* addresses); |
+ void DefineLabelCommon(RvaVector*, int, RVA); |
+ void FinishLabelsCommon(RvaVector* addresses); |
// Binary assembly language tables. |
uint64 image_base_; |
- std::vector<RVA> rel32_rva_; |
- std::vector<RVA> abs32_rva_; |
- std::vector<OP> ops_; |
- std::vector<RVA> origins_; |
- std::vector<int> copy_counts_; |
- std::vector<uint8> copy_bytes_; |
- std::vector<uint32> rel32_ix_; |
- std::vector<uint32> abs32_ix_; |
+ RvaVector rel32_rva_; |
+ RvaVector abs32_rva_; |
+ OPVector ops_; |
+ RvaVector origins_; |
+ UInt32Vector copy_counts_; |
+ UInt8Vector copy_bytes_; |
+ UInt32Vector rel32_ix_; |
+ UInt32Vector abs32_ix_; |
// Table of the addresses containing abs32 relocations; computed during |
// assembly, used to generate base relocation table. |
- std::vector<uint32> abs32_relocs_; |
+ UInt32Vector abs32_relocs_; |
DISALLOW_COPY_AND_ASSIGN(EncodedProgram); |
}; |