International Symposium on Code Generation and Optimization (CGO'06)
DOI: 10.1109/cgo.2006.36
|View full text |Cite
|
Sign up to set email alerts
|

Thread-Shared Software Code Caches

Abstract: Software code caches are increasingly being used to amortize the runtime overhead of dynamic optimizers, simulators, emulators, dynamic translators, dynamic compilers, and other tools. Despite the now-widespread use of code caches, techniques for efficiently sharing them across multiple threads have not been fully explored. Some systems simply do not support threads, while others resort to thread-private code caches. Although thread-private caches are much simpler to manage, synchronize, and provide scratch sp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
24
0

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 29 publications
(24 citation statements)
references
References 25 publications
0
24
0
Order By: Relevance
“…This model has been shown to scale significantly better than thread-private code caches on multi-threaded applications [7,15]. Executing code in the code cache does not require any synchronization and MAMBO-X64 is able to perform code translation concurrently in multiple threads.…”
Section: Binary Translatormentioning
confidence: 99%
“…This model has been shown to scale significantly better than thread-private code caches on multi-threaded applications [7,15]. Executing code in the code cache does not require any synchronization and MAMBO-X64 is able to perform code translation concurrently in multiple threads.…”
Section: Binary Translatormentioning
confidence: 99%
“…Although more sophisticated eviction policies are possible, flushing the F$ is a simple one that is used to minimize the overhead of managing the F$ [5,11,27]. The problem with this approach is that fragments which are soon needed can be evicted, especially for a small F$.…”
Section: Victim Compressionmentioning
confidence: 99%
“…Bruening et al investigated how to manage the F$ for multithreaded programs [5]. They also investigated how to bound the F$ and maintain consistency with self modifying code [4].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Lines 1-3 of HANDLE-INTERRUPT show these state-saving steps, which are common to all interrupt handling cases. Next, DRK gives the instrumentation client (if one exists) a chance to handle the interrupt (lines [4][5][6]. If the client has not fully handled the interrupt, DRK then decides to either compute native state and immediately dispatch or delay the interrupt.…”
Section: Exceptional Control Flowmentioning
confidence: 99%