summaryrefslogtreecommitdiff
path: root/mediumlevelil.cpp
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2018-01-14 03:42:04 -0500
committerBrian Potchik <brian@vector35.com>2018-01-14 03:42:04 -0500
commit0cc77206c79257d49013c3a3ed1bf889c85b10d1 (patch)
tree7c5ddd2f6e7d4c84e622064c74ca25873f82b97b /mediumlevelil.cpp
parent4866de9b9f0ef32dfa568aa38faafdfd4def4638 (diff)
Container Memory Reservations.
Diffstat (limited to 'mediumlevelil.cpp')
-rw-r--r--mediumlevelil.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/mediumlevelil.cpp b/mediumlevelil.cpp
index 2cd5a233..0a28bd49 100644
--- a/mediumlevelil.cpp
+++ b/mediumlevelil.cpp
@@ -157,6 +157,7 @@ vector<uint64_t> MediumLevelILFunction::GetOperandList(ExprId expr, size_t listO
size_t count;
uint64_t* operands = BNMediumLevelILGetOperandList(m_object, expr, listOperand, &count);
vector<uint64_t> result;
+ result.reserve(count);
for (size_t i = 0; i < count; i++)
result.push_back(operands[i]);
BNMediumLevelILFreeOperandList(operands);
@@ -338,11 +339,10 @@ bool MediumLevelILFunction::GetExprText(Architecture* arch, ExprId expr, vector<
return false;
tokens.clear();
+ tokens.reserve(count);
for (size_t i = 0; i < count; i++)
- {
tokens.emplace_back(list[i].type, list[i].context, list[i].text, list[i].address, list[i].value, list[i].size,
list[i].operand, list[i].confidence);
- }
BNFreeInstructionText(list, count);
return true;
@@ -359,11 +359,10 @@ bool MediumLevelILFunction::GetInstructionText(Function* func, Architecture* arc
return false;
tokens.clear();
+ tokens.reserve(count);
for (size_t i = 0; i < count; i++)
- {
tokens.emplace_back(list[i].type, list[i].context, list[i].text, list[i].address, list[i].value, list[i].size,
list[i].operand, list[i].confidence);
- }
BNFreeInstructionText(list, count);
return true;
@@ -396,6 +395,7 @@ vector<Ref<BasicBlock>> MediumLevelILFunction::GetBasicBlocks() const
BNBasicBlock** blocks = BNGetMediumLevelILBasicBlockList(m_object, &count);
vector<Ref<BasicBlock>> result;
+ result.reserve(count);
for (size_t i = 0; i < count; i++)
result.push_back(new BasicBlock(BNNewBasicBlockReference(blocks[i])));
@@ -680,6 +680,7 @@ unordered_map<size_t, BNILBranchDependence> MediumLevelILFunction::GetAllBranchD
BNILBranchInstructionAndDependence* deps = BNGetAllMediumLevelILBranchDependence(m_object, instr, &count);
unordered_map<size_t, BNILBranchDependence> result;
+ result.reserve(count);
for (size_t i = 0; i < count; i++)
result[deps[i].branch] = deps[i].dependence;