[project @ 1999-12-07 11:14:56 by sewardj]
authorsewardj <unknown>
Tue, 7 Dec 1999 11:15:02 +0000 (11:15 +0000)
committersewardj <unknown>
Tue, 7 Dec 1999 11:15:02 +0000 (11:15 +0000)
commit6478af6db8629d7eca79e6d415b3edc669e34849
tree13bcaaee16ca65d35de6cacfeada49cde89739af
parente03c0dd3bf272e00ea0fc70559b861b37177efa4
[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.
ghc/interpreter/stg.c
ghc/interpreter/storage.c
ghc/interpreter/storage.h
ghc/rts/Assembler.c
ghc/rts/QueueTemplate.h