2006
DOI: 10.1007/11688839_6
|View full text |Cite
|
Sign up to set email alerts
|

Selective Runtime Memory Disambiguation in a Dynamic Binary Translator

Abstract: Alias analysis, traditionally performed statically, is unsuited for a dynamic binary translator (DBT) due to incomplete control-flow information and the high complexity of an accurate analysis. Whole-program profiling, however, shows that most memory references do not alias. The current technique used in DBTs to disambiguate memory references, instruction inspection, is too simple and can only disambiguate one-third of potential aliases. To achieve effective memory disambiguation while keeping a tight bound on… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
12
0
3

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
1

Relationship

1
5

Authors

Journals

citations
Cited by 11 publications
(15 citation statements)
references
References 12 publications
0
12
0
3
Order By: Relevance
“…Extensive use of pointers and pointer arithmetic in these applications complicate memory disambiguation and dependence testing. Even though research shows that a pair of memory accesses rarely alias until and unless aliasing is obvious [11], compilers generate conservative code to ensure correctness which limits vectorization opportunities [22]. For example, Figure 1a shows As stated before, a recent approach to vectorization, SLP [14], performs vectorization at basic block level.…”
Section: Motivationmentioning
confidence: 99%
“…Extensive use of pointers and pointer arithmetic in these applications complicate memory disambiguation and dependence testing. Even though research shows that a pair of memory accesses rarely alias until and unless aliasing is obvious [11], compilers generate conservative code to ensure correctness which limits vectorization opportunities [22]. For example, Figure 1a shows As stated before, a recent approach to vectorization, SLP [14], performs vectorization at basic block level.…”
Section: Motivationmentioning
confidence: 99%
“…Thus, most existing software dynamic translation (SDT) systems, such as Dynamo [14], DynamoRio [15], Transmeta [26], and Daisy [27], only perform alias analysis in the form of instruction inspection, which disambiguates two memory references if they access either different memory regions or their addresses have the same base register and different offsets. As has been demonstrated by prior research [28], instruction inspection can only disambiguate one-third of all memory references in SPEC CUP2000 integer benchmarks, greatly restricting aggressive code transformations.…”
Section: Trace Optimization and Parallelizationmentioning
confidence: 96%
“…However, because symbolic evaluation performs path-sensitive program analysis and data-flow information is based on symbolic values instead of lexical names, it performs more precise program analysis than traditional data-flow analysis [29]. For memory disambiguation, we follow the idea of [28] and divide all memory references into groups with different base registers. If the ranges of addresses covered by two groups are disjoint, memory references in one group are guaranteed not to alias with those in the other group.…”
Section: Research Overviewmentioning
confidence: 99%
See 2 more Smart Citations