Files in directory ffcall/callback/trampoline_r of check-in 432c02a9376d3fd0
- 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
- config.h.in
- config.h.mingw32
- config.h.msvc
- config.log
- config.status
- configure
- configure.in
- COPYING
- libtool
- libtrampoline.la
- Makefile
- 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
- tests.passed.i386-pc-win32-gcc
- 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.lo
- trampoline.o
- trampoline_r.3
- trampoline_r.h
- 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>.