12 citations found. Retrieving documents...
Jack W. Davidson and David B. Whalley. Methods for saving and restoring register values across function calls. Software--Practice and Experience, 21(2):149--165, February 1991.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Plan 9 C Compilers - Ken Thompson Ken   (Correct)

....registers also complicate the implementation of longjmp. The convincing argument is that with caller saves, the decision to registerize a variable can include the cost of saving the register across calls. For a further discussion of callervs. callee saves, see the paper by Davidson and Whalley [Dav91]. In the Plan 9 operating system, calls to the kernel look like normal procedure calls, which means the caller has saved the registers and the system entry does not have to. This makes system calls considerably faster. Since this is a potential security hole, and can lead to non determinism, ....

J. W. Davidson and D. B. Whalley, ##Methods for Saving and Restoring Register Values across Function Calls##, Software#Practice and Experience, Vol 21(2), pp. 149165, February 1991.


Register Allocation and Phase Interactions in Retargetable.. - Benitez (1994)   (3 citations)  (Correct)

....in general, the integer to floating point register ratio is maintained as close to its original value as possible. 4.5. 3 Calling convention Because the relative size of the volatile register partition prescribed by the calling convention has a significant impact on the quality of the object code [DAVI91], the register deprivation measurements strive to maintain a volatile to non volatile register ratio that is as close to the original ratio as possible. Many calling conventions pass actual parameter values in a subset of the volatile register set. Even though the number of registers reserved for ....

J. W. Davidson and D. B. Whalley, Methods for Saving and Restoring Register Values across Function Calls, Software---Practice and Experience, 21(2), February 1991, 149-165.


Target-specific Global Code Improvement: Principles and.. - Benitez, Davidson (1994)   (3 citations)  (Correct)

....and DAVI91a. With some extensions the system can be used to gather information so that execution times of straight line code sequences can be predicted in hard real time systems [HARM92] vpo s framework also permits analysis of the instruction set architecture of uninstantiated architectures [DAVI90, DAVI91b, ALEX93]. This allows early design decisions to be evaluated using applications that will be run on the architecture. Normally the last step of the code improvement process is to translate the RTLs to assembly language for the target machine. When the target machine does not exist, rather than emit ....

Davidson, J. W. and Whalley, D. B. `Methods for Saving and Restoring Register Values across Function Calls,' Software---Practice & Experience 21(2), February 1991, pp. 149---165.


EASE: An Environment for Arcitecture Study and . . . - Davidson, al. (1990)   (Correct)

....about the effects of the instruction are emitted as if the target architecture existed. ease has also been used to analyze different code generation strategies. For instance, by recompiling the source files from the C run time library, different calling sequence conventions have been investigated [DAVI89a]. By extracting measurements of the behavior of the code, the effect of any change can be easily observed. This environment for the collection of architectural measurements has been designed to require little effort when retargeting for a new architecture. Since the code selector and other ....

J. W. Davidson and D. B. Whalley, Methods for Saving and Restoring Register Values across Function Calls, Tech. Rep. 89-11, University of Virginia, November 1989.


Construction of Systems Software Using Specifications of.. - Bailey, Davidson   Self-citation (Davidson)   (Correct)

....can quickly be validated before each release. 7. RELATED WORK What little work there has been in calling sequences has been ad hoc. For example, Johnson and Richie discuss some rules of thumb for designing and implementing a calling sequence for the C programming language [Johnson and Ritchie] Davidson and Whalley [1991] experimentally evaluated several different C calling conventions. However, no attempts have been made to formally analyze calling conventions. On the other hand, the use of FSA s for modeling parts of a compiler, and as an implementation tool, has a long and successful history. For example, ....

Davidson, J. W. and Whalley, D. B. (1991). Methods for saving and restoring register values across function calls. Software--Practice and Experience, 21(2):149--165.


Register Deprivation Measurements - Benitez, Davidson (1993)   (2 citations)  Self-citation (Davidson)   (Correct)

.... partitioned into those whose values may be arbitrarily changed across an external function call (volatile) and those whose values must not be affected by an external function call (non volatile) Since the ratio of volatile to non volatile registers can have a significant impact on code quality [DW91a], our register deprivation testing implementation also maintains the volatile to non volatile register ratios as close to the original values as possible. Many calling conventions pass actual parameter values in a subset of the volatile register set. Even though the number of registers reserved ....

J. W. Davidson and D. B. Whalley, Methods for Saving and Restoring Register Values across Function Calls, Software---Practice and Experience 21, 2, February 1991, 149-165.


A Formal Model and Specification Language for Procedure.. - Bailey, Davidson (1994)   (9 citations)  Self-citation (Davidson)   (Correct)

....choices that directly affect the efficiency of calling procedures. We therefore feel that it is important to experiment with different conventions on each to tune the convention to the machine. Davidson and Whalley have performed a limited experiment in investigating different calling conventions [DAVI91]. However, due to the enormous amount of work required to change their compiler from one calling convention to another, their experiment was limited to several different methods of saving and restoring registers. 1.3 Contributions This paper makes several contributions. It provides a formal ....

....work there has been in calling sequences has been adhoc. For example, Johnson and Richie discuss some rules of thumb for designing and implementing a calling sequence for the C programming language [JOHNSON] Davidson and Whalley experimentally evaluated several different C calling conventions [DAVI91]. No attempts have been made to formally analyze calling conventions. On the other hand, the use of FSA for modeling parts of a compiler, and as an implementation tool has a long and successful history. For example, Johnson et al. JOHN68] describe the use of FSA s to implement lexical analyzers. ....

Davidson, J.W. and Whalley, D.B. Methods for Saving and Restoring Register Values across Function Calls. Software---Practice and Experience 21(2):149--165 February 1991.


A Formal Specification for Procedure Calling Conventions - Bailey, Davidson (1993)   Self-citation (Davidson)   (Correct)

....choices that directly affect the efficiency of calling procedures. We therefore feel that it is important to experiment with different conventions on each to tune the convention to the machine. Davidson and Whalley have performed a limited experiment in investigating different calling conventions [DW91]. However, due to the enormous amount of work required to change their compiler from one calling convention to another, their experiment was limited to several different methods of saving and restoring registers. We divide the remainder of this paper into three sections. Section 2 presents the ....

Davidson, J.W. and Whalley, D.B. Methods for Saving and Restoring Register Values across Function Calls. Software---Practice and Experience 21(2):149--165 February 1991. - 12 -


A Formal Model for Procedure Calling Conventions - Bailey, Davidson (1994)   (7 citations)  Self-citation (Davidson)   (Correct)

....has been in calling sequences has been ad hoc. For example, Johnson and Richie discuss some rules of thumb for designing and implementing a calling sequence for the C programming language [JR] Davidson and Whalley experimentally evaluated several different C Page 13 of 14 calling conventions [DW91]. No attempts have been made to formally analyze calling conventions. On the other hand, the use of FSA for modeling parts of a compiler, and as an implementation tool has a long and successful history. For example, Johnson et al. JPA68] describes the use of FSA s to implement lexical analyzers. ....

Davidson, J.W. and Whalley, D.B. Methods for Saving and Restoring Register Values across Function Calls. Software---Practice and Experience 21(2):149--165 February 1991.


Fast Context Switches: Compiler and Architectural Support .. - Snyder, Whalley, Baker   (1 citation)  Self-citation (Whalley)   (Correct)

....of the window. If one could not be found before reaching the end of the window, then a slow context switch was performed. 4.2 Calling Conventions A calling convention is essentially a mechanism which preserves the values of registers across function calls. VPO uses a hybrid calling convention [Dav91b] which partitions the registers into two groups. A caller save register, which is a scratch register, will be saved and restored by the caller if it is live across a call, and a callee save register, which is a non scratch register, will be saved and restored by the callee if it is used in the ....

....on the RISC architectures will probably differ from the 68020 68881. First, in addition to having more registers, there are fewer types of registers (no address registers) This would probably result in having a larger ratio of scratch to non scratch registers for the most effective combination [Dav91b]. Also, most RISC machines pass a limited number of arguments to functions through scratch registers. Fast context switches may have to be redefined to include saving and restoring some of these registers. 7 CONCLUSION While performing a context switch, the CPU cannot be used for the executing ....

Jack W. Davidson and David B. Whalley,` `Methods for Saving and Restoring Register Values across Function Calls", Software--Practice & Experience, February 1991, 21(2):149--165.


A Design Environment for Addressing Architecture and.. - Davidson, Whalley (1991)   (6 citations)  Self-citation (Davidson Whalley)   (Correct)

....the two sets of measurements, the effect of the change can be evaluated. This approach was used in an experiment to determine the effect of varying both the number of user allocable registers and the number of scratch versus nonscratch registers on a VAX 11 with a callee save calling sequence [DaW91]. 5 The method illustrated in Figure 3 was used when the number of available registers was increased. Table II shows the effect the different combinations had on the number of memory references. The results indicate that varying the number of user allocable registers has little effect on the ....

....6 72,841,124 16 7 72,924,722 Table II: Results of Scratch Nonscratch Combinations ease can be used to evaluate the effect of adding new instructions to an architecture. For instance, the effect of using three different hardware support mechanisms to save and restore registers was investigated [DaW91]. Measurements were collected assuming that: 1) saves and restores are accomplished via the call instruction and a mask indicating the registers to save and restore, 2) special instructions are available to save and restore a specified set of registers on the run time stack, and 3) saves and ....

[Article contains additional citation context not shown here]

J. Davidson and D. Whalley, "Methods for Saving and Restoring Register Values across Function Calls", Software---Practice & Experience 21, 2 (February 1991), 149-165.


CSDL: Reusable Computing System Descriptions for Retargetable.. - Bailey   (Correct)

No context found.

Jack W. Davidson and David B. Whalley. Methods for saving and restoring register values across function calls. Software--Practice and Experience, 21(2):149--165, February 1991.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC