[project @ 1999-12-07 11:14:56 by sewardj]
Don't create a new infotable for every constructor application. Amazingly, that's what the codegen.c used to do. It didn't generate vast numbers of redundant infotables until recently, when I changed translate.c to generate saturated constructor applications in line. Prior to that, there was only ever one application of each constructor, so the old scheme was ok. Also, fix the assembler so that info table ptrs are commoned up. Eg, for [1,2,3], store only one copy of the address of the (:) itbl, rather than 3, in the BCO.
Showing
- ghc/interpreter/stg.c 12 additions, 8 deletionsghc/interpreter/stg.c
- ghc/interpreter/storage.c 4 additions, 2 deletionsghc/interpreter/storage.c
- ghc/interpreter/storage.h 7 additions, 5 deletionsghc/interpreter/storage.h
- ghc/rts/Assembler.c 28 additions, 4 deletionsghc/rts/Assembler.c
- ghc/rts/QueueTemplate.h 13 additions, 3 deletionsghc/rts/QueueTemplate.h
Loading
Please register or sign in to comment