Files in directory ffcall/callback/trampoline_r of check-in 4b31034008a48e4d
- asmsparc.h
- asmsparc.sh
- cache-alpha.c
- cache-alpha.s
- cache-convex.c
- cache-convex.s
- cache-hppa.c
- cache-hppa.s
- cache-rs6000-macos.s
- cache-rs6000-sysv4.s
- cache-rs6000.c
- cache-sparc.c
- cache.c
- config.h.in
- config.h.mingw32
- config.h.msvc
- configure
- configure.in
- COPYING
- Makefile.devel
- Makefile.in
- Makefile.mingw32
- Makefile.msvc
- PORTING
- protexec.c
- proto-alpha.s
- proto-arm.s
- proto-convex.s
- proto-hppa.s
- proto-i386.s
- proto-ia64.s
- proto-m68k.s
- proto-m88k.s
- proto-mips.s
- proto-mips.s.gcc263
- proto-mips64.s
- proto-mips64.s.gcc263
- proto-mipsn32.s
- proto-rs6000-aix.new.s
- proto-rs6000-aix.old.s
- proto-rs6000-macos.s
- proto-rs6000-sysv4.s
- proto-s390.s
- proto-sparc.s
- proto-sparc.s.gcc263
- proto-sparc64.s
- proto-x86_64.s
- proto.c
- proto64.c
- README
- test1.c
- test2.c
- tramp-alpha.o
- tramp-alpha.s
- tramp-arm.o
- tramp-arm.s
- tramp-convex.s
- tramp-hppa-old.o
- tramp-hppa-old.s
- tramp-hppa.s
- tramp-i386.o
- tramp-i386.s
- tramp-ia64.s
- tramp-m68k.o
- tramp-m68k.s
- tramp-m88k.o
- tramp-m88k.s
- tramp-mips.o
- tramp-mips.s
- tramp-mips64.o
- tramp-mips64.old.o
- tramp-mips64.old.s
- tramp-mips64.s
- tramp-rs6000-old.o
- tramp-rs6000-old.s
- tramp-rs6000-sysv4.o
- tramp-rs6000-sysv4.s
- tramp-rs6000.new.S
- tramp-rs6000.old.S
- tramp-s390.s
- tramp-sparc.o
- tramp-sparc.s
- tramp-sparc64.o
- tramp-sparc64.old.o
- tramp-sparc64.old.s
- tramp-sparc64.s
- tramp-x86_64.o
- tramp-x86_64.s
- trampoline.c
- trampoline_r.3
- trampoline_r.h.in
- trampoline_r.html
- trampoline_r.man
This directory contains a reentrant version of the trampoline package. Instead of clobbering a global variable, a pointer to data0,data1,... is passed to the called function in a special CPU register. The number of supported data words (data0,data1) is arbitrary; 3 or 4 or more would work as well if trampoline.c was modified appropriately. Two words are needed, however, for passing closures through vacall_r without an additional malloc() call per closure. The include file <trampoline.h> is renamed to <trampoline_r.h>.