diff options
| author | Brian Potchik <brian@vector35.com> | 2018-01-14 03:42:04 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-03-23 17:10:06 -0400 |
| commit | 5f263139ad405f0ecd751f40ccb103e966c2ae64 (patch) | |
| tree | f18377d2f54f6d203c529df592610dce3bef4002 /architecture.cpp | |
| parent | 86da0eb0216f0d778cce9885ea16588c0a2b0728 (diff) | |
Container Memory Reservations.
Diffstat (limited to 'architecture.cpp')
| -rw-r--r-- | architecture.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/architecture.cpp b/architecture.cpp index a6ed5a5a..90a0820b 100644 --- a/architecture.cpp +++ b/architecture.cpp @@ -538,6 +538,7 @@ vector<Ref<Architecture>> Architecture::GetList() archs = BNGetArchitectureList(&count); vector<Ref<Architecture>> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(new CoreArchitecture(archs[i])); @@ -766,6 +767,7 @@ vector<uint32_t> Architecture::GetModifiedRegistersOnWrite(uint32_t reg) uint32_t* regs = BNGetModifiedArchitectureRegistersOnWrite(m_object, reg, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); @@ -877,6 +879,7 @@ vector<Ref<CallingConvention>> Architecture::GetCallingConventions() BNCallingConvention** list = BNGetArchitectureCallingConventions(m_object, &count); vector<Ref<CallingConvention>> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(new CoreCallingConvention(BNNewCallingConventionReference(list[i]))); @@ -1020,6 +1023,7 @@ bool CoreArchitecture::GetInstructionText(const uint8_t* data, uint64_t addr, si if (!BNGetInstructionText(m_object, data, addr, &len, &tokens, &count)) return false; + result.reserve(count); for (size_t i = 0; i < count; i++) { result.emplace_back(tokens[i].type, tokens[i].context, tokens[i].text, tokens[i].address, @@ -1070,6 +1074,7 @@ vector<uint32_t> CoreArchitecture::GetFullWidthRegisters() uint32_t* regs = BNGetFullWidthArchitectureRegisters(m_object, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); @@ -1084,6 +1089,7 @@ vector<uint32_t> CoreArchitecture::GetAllRegisters() uint32_t* regs = BNGetAllArchitectureRegisters(m_object, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); @@ -1098,6 +1104,7 @@ vector<uint32_t> CoreArchitecture::GetAllFlags() uint32_t* regs = BNGetAllArchitectureFlags(m_object, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); @@ -1112,6 +1119,7 @@ vector<uint32_t> CoreArchitecture::GetAllFlagWriteTypes() uint32_t* regs = BNGetAllArchitectureFlagWriteTypes(m_object, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); @@ -1132,6 +1140,7 @@ vector<uint32_t> CoreArchitecture::GetFlagsRequiredForFlagCondition(BNLowLevelIL uint32_t* flags = BNGetArchitectureFlagsRequiredForFlagCondition(m_object, cond, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(flags[i]); @@ -1146,6 +1155,7 @@ vector<uint32_t> CoreArchitecture::GetFlagsWrittenByFlagWriteType(uint32_t write uint32_t* flags = BNGetArchitectureFlagsWrittenByFlagWriteType(m_object, writeType, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(flags[i]); @@ -1192,6 +1202,7 @@ vector<uint32_t> CoreArchitecture::GetGlobalRegisters() uint32_t* regs = BNGetArchitectureGlobalRegisters(m_object, &count); vector<uint32_t> result; + result.reserve(count); for (size_t i = 0; i < count; i++) result.push_back(regs[i]); |
