[project @ 1999-10-19 11:01:24 by sewardj]
Reimplement back-end for foreign import (calling out). Return to a cleaned-up version of Alastair's callfun.S, wherein an architecture and calling-convention specific piece of assembly code is used to construct arguments and then call the specified function, under the direction of a type descriptor string. Defined an interface to this function (universal_call_c) which I hope will work regardless of 32-or-64 bitness, endianness and calling convention. Current implementation is for x86-linux only.
Showing
- ghc/interpreter/translate.c 7 additions, 2 deletionsghc/interpreter/translate.c
- ghc/rts/Evaluator.c 14 additions, 7 deletionsghc/rts/Evaluator.c
- ghc/rts/ForeignCall.c 207 additions, 193 deletionsghc/rts/ForeignCall.c
- ghc/rts/ForeignCall.h 5 additions, 4 deletionsghc/rts/ForeignCall.h
- ghc/rts/callfun.S 0 additions, 162 deletionsghc/rts/callfun.S
- ghc/rts/universal_call_c.S 137 additions, 0 deletionsghc/rts/universal_call_c.S
Loading
Please register or sign in to comment