Dynamic libraries by default and GHC 7.8
Simon Marlow
marlowsd at gmail.com
Thu Dec 6 22:39:20 CET 2012
On 06/12/12 21:35, Brandon Allbery wrote:
> On Thu, Dec 6, 2012 at 4:04 PM, Simon Marlow <marlowsd at gmail.com
> <mailto:marlowsd at gmail.com>> wrote:
>
> On 05/12/12 15:17, Brandon Allbery wrote:
>
> Probably none; on most platforms you're actually generating
> different
> code (dynamic libraries require generation of position-independent
>
> Sure there's a lot of differences in the generated code, but inside
> GHC these differences only appear at the very last stage of the
> pipeline, native code generation (or LLVM). All the stages up to
> that can be shared, which accounts for roughly 80% of compilation
> time (IIRC).
>
>
> I was assuming it would be difficult to separate those stages of the
> internal compilation pipeline out, given previous discussions of how
> said pipeline works. (In particular I was under the impression
> saving/restoring state in the pipeline to rerun the final phase with
> multiple code generators was not really possible, and multithreading
> them concurrently even less so.)
I don't think there's any problem (unless I've forgotten something). In
fact, the current architecture should let us compile one function at a
time both ways, so we don't get a space leak by retaining all the Cmm code.
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list