Re: Request for more info on trampolines

pardo@cs.washington.edu (David Keppel)
Thu, 8 Jul 1993 21:23:44 GMT

          From comp.compilers

Related articles
Request for more info on trampolines holmer@rose.eecs.nwu.edu (1993-07-07)
Re: Request for more info on trampolines eb@kaleida.com (1993-07-07)
Re: Request for more info on trampolines max@nic.gac.edu (1993-07-08)
Re: Request for more info on trampolines pardo@cs.washington.edu (1993-07-08)
Re: Request for more info on trampolines eb@kaleida.com (1993-07-09)
Re: Request for more info on trampolines pardo@cs.washington.edu (1993-07-10)
Re: Request for more info on trampolines chased@rbbb.Eng.Sun.COM (1993-07-16)
Re: Request for more info on trampolines jfc@athena.mit.edu (1993-07-18)
| List of all articles for this month |
Newsgroups: comp.compilers
From: pardo@cs.washington.edu (David Keppel)
Keywords: GCC, code, comment
Organization: Computer Science & Engineering, U. of Washington, Seattle
References: 93-07-026 93-07-030
Date: Thu, 8 Jul 1993 21:23:44 GMT

>>[Information on "trampoline" code?]
>[Often used to represent closures.]


I know the term from operating systems, where it means (more or less)
code that "bounces" control to where it should go, even when control
can't go there directly.


A standard OS example is code that runs when a signal handler returns.
Control "should" go to the code that was interrupted by the signal, but
the normal return sequence won't restore caller-save registers,
condition codes, and so on. Thus, the signal handler is set up to
"return" to trampoline code that cleans up and then restarts the normal
code.


The GNU CC documentation says that trampolines are described in a paper
`pub/tmb/usenix88-lexic.ps.Z' on `maya.idiap.ch'; I haven't looked at
it.


;-D on ( Tram Po Line Of Reasoning ) Pardo
[I looked at the paper, which is about adding nested functions and hence
closures to C++, doing a little run time code munging to create trampolines
for nested functions. -John]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.