Loading...
Please wait, while we are loading the content...
Dynamically Translating Binary Code for Multi-Threaded Programs Using Shared Code Cache
| Content Provider | Semantic Scholar |
|---|---|
| Author | Chia-Lun Jiunn-Yeu Chen Yang Wei-Chung |
| Copyright Year | 2014 |
| Abstract | mc2llvm is a process-level ARM-to-x86 binary translator developed in our lab in the past several years. Currently, it is able to emulate singlethreaded programs. We extend mc2llvm to emulate multi-threaded programs. Our main task is to reconstruct its architecture for multi-threaded programs.Register mapping, code cache management, and address mapping in mc2 llvm have all been modified. In addition,to further speed up the emulation, we collect hot paths,aggressively optimize and generate code for them at run time. Additional threads are used to alleviate the overhead. Thus, when the same hot path is walked through again, the corresponding optimized native code will be executed instead. In our experiments, our system is 8.8X faster than QEMU(quick emulator) on average when emulating the specified benchmarks with 8 guest threads. |
| Starting Page | 434 |
| Ending Page | 438 |
| Page Count | 5 |
| File Format | PDF HTM / HTML |
| Volume Number | 12 |
| Alternate Webpage(s) | http://people.cs.nctu.edu.tw/~wuuyang/homepage/papers/JEST-Template-submission-wuuyang-final.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |