summaryrefslogtreecommitdiff
path: root/architecture.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2015-03-04 01:47:13 -0500
committerRusty Wagner <rusty@vector35.com>2015-03-04 01:47:13 -0500
commit5d0f774334c1bea3935001bf665d614c39a60d0f (patch)
tree2feb0d74288139da69709b4b64c957a6e6247a40 /architecture.cpp
parentc0fdb4320c771fec51e7675a2602ced3ca613500 (diff)
Add architecture to graph edges, and add edge routing data field for layout
Diffstat (limited to 'architecture.cpp')
-rw-r--r--architecture.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/architecture.cpp b/architecture.cpp
index 576a14e3..f5ef6cc6 100644
--- a/architecture.cpp
+++ b/architecture.cpp
@@ -11,12 +11,13 @@ InstructionInfo::InstructionInfo()
}
-void InstructionInfo::AddBranch(BNBranchType type, uint64_t target)
+void InstructionInfo::AddBranch(BNBranchType type, uint64_t target, Architecture* arch)
{
if (branchCount >= BN_MAX_INSTRUCTION_BRANCHES)
return;
branchType[branchCount] = type;
- branchTarget[branchCount++] = target;
+ branchTarget[branchCount] = target;
+ branchArch[branchCount++] = arch ? arch->GetArchitectureObject() : nullptr;
}
@@ -116,9 +117,9 @@ vector<Ref<Architecture>> Architecture::GetList()
vector<Ref<Architecture>> result;
for (size_t i = 0; i < count; i++)
- result.push_back(new CoreArchitecture(BNNewArchitectureReference(archs[i])));
+ result.push_back(new CoreArchitecture(archs[i]));
- BNFreeArchitectureList(archs, count);
+ BNFreeArchitectureList(archs);
return result;
}