Patent
1996-03-20
1997-07-29
Donaghue, Larry D.
395500, 395705, 395709, G06F 500
Patent
active
056528892
ABSTRACT:
It is not always possible or practical to fully translate an original computer program because execution transfer instructions may have computed destination addresses that cannot be determined until program execution. Instead, a digital computer alternately executes a translated program that is a partial translation of the original computer program, and interprets the original program. When execution of the translated program specifies a transfer to an untranslated portion of the original program, execution is transferred to an interpreter to interpret the original program. When interpretation of the original program reaches a portion of the original program having been translated, execution is transferred to the translated program. In a preferred embodiment, the original program is partially translated by automatically generating a flowgraph, and using the flowgraph to analyze the program to provide information about blocks of instructions in the flowgraph. An execution transfer instruction having a computed destination address that cannot be determined prior to execution is translated as an execution transfer to the interpreter for beginning interpretation at the computed destination address in the original program. When interpretation of the original program reaches a block entry point in a conversion table, execution is transferred to the translated program, beginning at a corresponding block entry point in the translated program.
REFERENCES:
patent: 4951195 (1990-08-01), Fogg, Jr. et al.
patent: 5005119 (1991-04-01), Rumbaugh et al.
patent: 5175828 (1992-12-01), Hall et al.
Chow et al.; "Engineering a RISL Compiler," 1986, IEEE, New York, N.Y.
Schinder, "Translation optimizes transfer of 8-bit programs to 16 bit," 1981, Electronic Design.
Saari, "6800 Binary Code Translator," 1987, FORML Conf. Proceedings.
Bergh et al., "HP 3000 Emulation of HP Precision Architecture Computers," Hewlett-Packard Journal, Dec. 1987, pp. 87-89.
Eve M. Tanner, "Providing Programmers with a Driver Debug Technique," Hewlett-Packard Journal, Oct. 1989, pp. 76-80.
Program Flow Analysis: Theory and Applications, Muchnick & Jones, eds., Prentice-Hall, Englewood Cliffs, NJ, 1981, pp. 160-161, 178-179, 184-187, 264-265, 272-275, 280-283, 294-297.
Banning, "The XDOS Binary Code Conversion System," COMPCON 89 (Sep. 27, 1989) San Francisco, CA, pp. 282-287.
Hunter and Banning, "DOS at RISC," Byte, vol. 14, No. 12, (Nov. 1989), St. Peterborough, United States, pp. 361-368.
Gaines, "On the Translation of Machine Language Programs," Communications of the Association for Computing Machinery, vol. 8, No. 12, (Dec. 1965), New York, NY pp. 736-741.
S. Reiss, "PECAN: Program Development Sustem That Supports Multiple Views," IEEE Transactions on Software Engineering, SE-11, No. 3., Mar. 1985, IEEE, New York, N.Y., pp. 276-285.
Beyond RISC!--An Essential Guide to Hewlett-Packard Precision Architecture, Wayne E. Holt, Ed., 1988, Software Research Northwest, Inc., Vashon Isalnd, WA, pp. 225-238.
The Handbook of Artificial Intelligence, vol. II, Barr & Feigenbaum, eds., William Kaufmann, Los Altos, CA, 1982, pp. 297-379.
Dagg David A.
Digital Equipment Corporation
Donaghue Larry D.
Fisher Arthur W.
Maloney Denis G.
LandOfFree
Alternate execution and interpretation of computer program havin does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Alternate execution and interpretation of computer program havin, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Alternate execution and interpretation of computer program havin will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-640418