Fix to new executable allocation code (fixed print002 etc.)
authorSimon Marlow <simonmar@microsoft.com>
Mon, 22 Sep 2008 21:09:15 +0000 (21:09 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Mon, 22 Sep 2008 21:09:15 +0000 (21:09 +0000)
commit1bc059870916339b3caac3514b28398ff9a588a2
tree16010db9e17b7bf01ba78c5bed0b1afa739e9c44
parent4afc8afa52f87ae0f94691e026ab8186b9da8b9e
Fix to new executable allocation code (fixed print002 etc.)
The problem here is caused by the fact that info tables include a
relative offset to the string naming the constructor.  Executable
memory now resides at two places in the address space: one for writing
and one for executing.  In the info tables generated by GHCi, we were
calculating the offset relative to the writable instance, rather than
the executable instance, which meant that the GHCi debugger couldn't
find the names for constructors it found in the heap.
compiler/ghci/ByteCodeFFI.lhs
compiler/ghci/ByteCodeItbls.lhs