[project @ 1999-10-15 11:02:06 by sewardj]
Added basic support for foreign export dynamic. Many aspects of it are still broken: * Only supports x86-linux. * The range of allowable types is small: Char Int Float Double Addr and Word. * Adjustor thunks are never freed. * Returning Doubles or Floats doesn't work at all. I expect to fix some of these shortly. foreign import also needs redoing, so it can accept any number of arguments of any type. Also: * Fixed setRtsFlags in Evaluator.c to make it endian-independent. * Fixed raisePrim in Evaluator.c so things like division by zero, array index errors, etc, throw an exception instead of terminating StgHugs. raisePrim is renamed makeErrorCall.
Showing
- ghc/includes/Assembler.h 1 addition, 3 deletionsghc/includes/Assembler.h
- ghc/interpreter/Makefile 3 additions, 3 deletionsghc/interpreter/Makefile
- ghc/interpreter/connect.h 3 additions, 2 deletionsghc/interpreter/connect.h
- ghc/interpreter/free.c 3 additions, 3 deletionsghc/interpreter/free.c
- ghc/interpreter/hugs.c 4 additions, 4 deletionsghc/interpreter/hugs.c
- ghc/interpreter/input.c 11 additions, 6 deletionsghc/interpreter/input.c
- ghc/interpreter/lib/Prelude.hs 43 additions, 204 deletionsghc/interpreter/lib/Prelude.hs
- ghc/interpreter/link.c 10 additions, 10 deletionsghc/interpreter/link.c
- ghc/interpreter/link.h 1 addition, 4 deletionsghc/interpreter/link.h
- ghc/interpreter/parser.y 6 additions, 5 deletionsghc/interpreter/parser.y
- ghc/interpreter/static.c 2 additions, 58 deletionsghc/interpreter/static.c
- ghc/interpreter/storage.c 12 additions, 2 deletionsghc/interpreter/storage.c
- ghc/interpreter/translate.c 127 additions, 24 deletionsghc/interpreter/translate.c
- ghc/interpreter/type.c 3 additions, 6 deletionsghc/interpreter/type.c
- ghc/lib/hugs/Prelude.hs 43 additions, 204 deletionsghc/lib/hugs/Prelude.hs
- ghc/rts/Assembler.c 21 additions, 20 deletionsghc/rts/Assembler.c
- ghc/rts/Bytecodes.h 11 additions, 9 deletionsghc/rts/Bytecodes.h
- ghc/rts/Disassembler.c 2 additions, 4 deletionsghc/rts/Disassembler.c
- ghc/rts/Evaluator.c 311 additions, 132 deletionsghc/rts/Evaluator.c
- ghc/rts/ForeignCall.c 70 additions, 16 deletionsghc/rts/ForeignCall.c
Loading
Please register or sign in to comment