- 12 Mar, 2006 1 commit
-
-
David Himmelstrup authored
-
- 17 Mar, 2006 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
simonpj@microsoft.com authored
-
- 16 Mar, 2006 6 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 02 Mar, 2006 1 commit
-
-
lennart.augustsson@credit-suisse.com authored
-
- 16 Mar, 2006 2 commits
-
-
Simon Marlow authored
fixes failures in yesterday's testsuite run
-
Simon Marlow authored
-
- 15 Mar, 2006 1 commit
-
-
Simon Marlow authored
Yet another attempt at shutdown & interruption. This one appears to work better; ^C is more responsive in multi threaded / SMP, and I fixed one case where the runtime wasn't responding to ^C at all.
-
- 14 Mar, 2006 6 commits
-
-
Simon Marlow authored
-
David Himmelstrup authored
-
Simon Marlow authored
This fixes another instance of a subtle SMP bug (see patch "really nasty bug in SMP").
-
Simon Marlow authored
-
Simon Marlow authored
This is just an assertion, in effect: we should never enter a PAP, but for convenience we previously attached the PAP apply code to the PAP info table. The problem with this was that it makes it harder to track down bugs that result in entering a PAP...
-
Simon Marlow authored
In SMP mode a THUNK can change to an IND at any time. The generic apply code (stg_ap_p etc.) examines a closure to determine how to apply it to its arguments, if it is a THUNK it must enter it first in order to evaluate it. The problem was that in order to enter the THUNK, we were re-reading the info pointer, and possibly ending up with an IND instead of the original THUNK. It isn't safe to enter the IND, because it points to a function (functions are never "entered", only applied). Solution: we must not re-read the info pointer.
-
- 13 Mar, 2006 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 10 Mar, 2006 3 commits
-
-
Simon Marlow authored
Not sure why it was disabled, probably by accident.
-
Simon Marlow authored
-
Simon Marlow authored
Just to keep sanity checking happy, and so we don't need a completely new closure type.
-
- 13 Mar, 2006 1 commit
-
-
Simon Marlow authored
Contributed by Duncan Coutts, with changes to merge into the HEAD. This isn't the full deal, ghc-pkg still modifies files only, but it's enough to help the Gentoo folk along.
-
- 07 Mar, 2006 1 commit
-
-
Ian Lynagh authored
-
- 10 Mar, 2006 4 commits
-
-
Simon Marlow authored
-
David Himmelstrup authored
-
David Himmelstrup authored
I have no idea how to use the testsuite so I'll start making QuickCheck tests instead. I've included tests for 'HeaderInfo.getOptions'.
-
David Himmelstrup authored
Use the lexer to parse OPTIONS, LANGUAGE and INCLUDE pragmas. This gives us greater flexibility and far better error messages. However, I had to make a few quirks: * The token parser is written manually since Happy doesn't like lexer errors (we need to extract options before the buffer is passed through 'cpp'). Still better than manually parsing a String, though. * The StringBuffer API has been extended so files can be read in blocks. I also made a new field in ModSummary called ms_hspp_opts which stores the updated DynFlags. Oh, and I took the liberty of moving 'getImports' into HeaderInfo together with 'getOptions'.
-
- 08 Mar, 2006 2 commits
-
-
David Himmelstrup authored
-
David Himmelstrup authored
I'm not sure what really happens here but this is how it's done in the old HscMain code and it appears to work.
-
- 07 Mar, 2006 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
This seems to be required now that we're stealing more registers.
-
David Himmelstrup authored
MkIface.writeIfaceFile doesn't check GhcMode anymore. All it does is what the name say: write an interface to disk. I've refactored HscMain so the logic is easier to manage. That means we can avoid running the simplifier when typechecking (: And best of all, HscMain doesn't use GhcMode at all, anymore! The new HscMain intro looks like this: It's the task of the compilation proper to compile Haskell, hs-boot and core files to either byte-code, hard-code (C, asm, Java, ect) or to nothing at all (the module is still parsed and type-checked. This feature is mostly used by IDE's and the likes). Compilation can happen in either 'one-shot', 'batch', 'nothing', or 'interactive' mode. 'One-shot' mode targets hard-code, 'batch' mode targets hard-code, 'nothing' mode targets nothing and 'interactive' mode targets byte-code. The modes are kept separate because of their different types and meanings. In 'one-shot' mode, we're only compiling a single file and can therefore discard the new ModIface and ModDetails. This is also the reason it only targets hard-code; compiling to byte-code or nothing doesn't make sense when we discard the result. 'Batch' mode is like 'one-shot' except that we keep the resulting ModIface and ModDetails. 'Batch' mode doesn't target byte-code since that require us to return the newly compiled byte-code. 'Nothing' mode has exactly the same type as 'batch' mode but they're still kept separate. This is because compiling to nothing is fairly special: We don't output any interface files, we don't run the simplifier and we don't generate any code. 'Interactive' mode is similar to 'batch' mode except that we return the compiled byte-code together with the ModIface and ModDetails.
-
- 06 Mar, 2006 3 commits
-
-
David Himmelstrup authored
-
wolfgang.thaller@gmx.net authored
-
wolfgang.thaller@gmx.net authored
-