2016
DOI: 10.1145/2896451
|View full text |Cite
|
Sign up to set email alerts
|

Mambo

Abstract: As the ARM architecture expands beyond its traditional embedded domain, there is a growing interest in dynamic binary modification (DBM) tools for general-purpose multicore processors that are part of the ARM family. Existing DBM tools for ARM suffer from introducing large overheads in the execution of applications. The specific questions that this article addresses are (i) how to develop such DBM tools for the ARM architecture and (ii) whether new optimisations are plausible and needed. We describe the genera… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
1
1

Relationship

1
5

Authors

Journals

citations
Cited by 24 publications
(8 citation statements)
references
References 23 publications
0
8
0
Order By: Relevance
“…The baseline MAMBO system was described by Gorgovan et al [17]. MAMBO, like most other DBM tools, runs in the same process with the application it modifies and controls its execution by scanning, translating and optionally modifying all code before execution.…”
Section: Baseline System Overviewmentioning
confidence: 99%
See 4 more Smart Citations
“…The baseline MAMBO system was described by Gorgovan et al [17]. MAMBO, like most other DBM tools, runs in the same process with the application it modifies and controls its execution by scanning, translating and optionally modifying all code before execution.…”
Section: Baseline System Overviewmentioning
confidence: 99%
“…• function returns, for which we introduce hardware-assisted return address prediction in Section 4.1; and • generic indirect branches, handled in MAMBO using inline hash table lookups, for which we introduce the optional adaptive inlining -Section 4.2; and • table branches, handled in MAMBO using the space-efficient shadow branch table linking [17]. Figure 3 shows the steps involved in an inline hash table lookup, which is the mechanism used for handling indirect branches in the baseline MAMBO: 1) first, if required and depending on the type of indirect branch, the values of up to three registers are pushed onto the stack to enable their use as scratch registers; then, 2) the SPC is copied or generated in one of the scratch registers; 3) the hash table lookup is performed, with the TPC being loaded; and 4) finally the values of the scratch registers are restored and a branch to the TPC is performed.…”
Section: Indirect Branchesmentioning
confidence: 99%
See 3 more Smart Citations