ACM Home Page
Please provide us with feedback. Feedback
A transformational approach to binary translation of delayed branches
Full text PdfPdf (161 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 25 ,  Issue 2  (March 2003) table of contents
Pages: 210 - 224  
Year of Publication: 2003
ISSN:0164-0925
Authors
Norman Ramsey  Harvard University, Cambridge, MA
Cristina Cifuentes  Sun Microsystems Laboratories, Palo Alto, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 57,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/641888.641890
What is a DOI?

ABSTRACT

A binary translator examines binary code for a source machine and generates code for a target machine. Understanding what to do with delayed branches in binary code can involve tricky case analyses, for example, if there is a branch instruction in a delay slot. This article presents a disciplined method for deriving such case analyses. The method identifies problematic cases, shows the translations for the nonproblematic cases, and gives confidence that all cases are considered. The method supports such common architectures as SPARC, MIPS, and PA-RISC, and it should apply to any tool that analyzes machine instructions. We begin by writing a very simple interpreter for the source machine's code. We then transform the interpreter into an interpreter for a target machine without delayed branches. To maintain the semantics of the program being interpreted, we simultaneously transform the sequence of source-machine instructions into a sequence of target-machine instructions. The transformation of the instructions becomes our algorithm for binary translation.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
Cifuentes, C. and Ramsey, N. 2002. A transformational approach to binary translation of delayed branches with applications to SPARC and PA-RISC instruction sets. Tech. Rep. TR-2002-104, Sun Microsystems Laboratories, Palo Alto, CA. January.
 
5
 
6
 
7
 
8
Cifuentes, C., Van Emmerik, M., Ramsey, N., and Lewis, B. 2002. Experience in the design, implementation, and use of a retargetable static binary translation framework. Tech. Rep. TR-2002-105, Sun Microsystems Laboratories, Palo Alto, CA. January.
9
 
10
 
11
 
12
 
13
Prentice-Hall 1993. System V Application Binary Interface, SPARC Architecture Processor Supplement, third ed. Prentice-Hall, Englewood Cliffs, NJ.
 
14
15
16
 
17
18
 
19

Collaborative Colleagues:
Norman Ramsey: colleagues
Cristina Cifuentes: colleagues