- 11 Dec, 2002 10 commits
-
-
simonmar authored
Merge the eval-apply-branch on to the HEAD ------------------------------------------ This is a change to GHC's evaluation model in order to ultimately make GHC more portable and to reduce complexity in some areas. At some point we'll update the commentary to describe the new state of the RTS. Pending that, the highlights of this change are: - No more Su. The Su register is gone, update frames are one word smaller. - Slow-entry points and arg checks are gone. Unknown function calls are handled by automatically-generated RTS entry points (AutoApply.hc, generated by the program in utils/genapply). - The stack layout is stricter: there are no "pending arguments" on the stack any more, the stack is always strictly a sequence of stack frames. This means that there's no need for LOOKS_LIKE_GHC_INFO() or LOOKS_LIKE_STATIC_CLOSURE() any more, and GHC doesn't need to know how to find the boundary between the text and data segments (BIG WIN!). - A couple of nasty hacks in the mangler caused by the neet to identify closure ptrs vs. info tables have gone away. - Info tables are a bit more complicated. See InfoTables.h for the details. - As a side effect, GHCi can now deal with polymorphic seq. Some bugs in GHCi which affected primitives and unboxed tuples are now fixed. - Binary sizes are reduced by about 7% on x86. Performance is roughly similar, some programs get faster while some get slower. I've seen GHCi perform worse on some examples, but haven't investigated further yet (GHCi performance *should* be about the same or better in theory). - Internally the code generator is rather better organised. I've moved info-table generation from the NCG into the main codeGen where it is shared with the C back-end; info tables are now emitted as arrays of words in both back-ends. The NCG is one step closer to being able to support profiling. This has all been fairly thoroughly tested, but no doubt I've messed up the commit in some way.
-
igloo authored
Handle bindings to just a pattern variable in cvtd.
-
simonmar authored
Update config.guess and config.sub from GNU; a bug was reported in the previous versions.
-
igloo authored
Improved foreign import conversion.
-
simonpj authored
wibbles to External Core
-
simonpj authored
Behave decently if there are NoStubs in ForeignStubs
-
simonpj authored
Change interface to mkIfaceOrig
-
simonpj authored
Better comparision for Exact RdrNames
-
simonpj authored
Original names can occur in binding positions in External Core
-
simonpj authored
Give -> the correct kind!
-
- 10 Dec, 2002 9 commits
-
-
igloo authored
Use real datatypes for TH Clause and Match
-
simonpj authored
Check for qualified names in binding positions in the parser instead of the rename. In External Core it's OK to have qualified names in these places.
-
simonpj authored
Parse Word literals
-
simonpj authored
Remove checkGHCI
-
igloo authored
Use layout inside declarations quasi-quotes [d| ... |]
-
simonpj authored
Wibble
-
simonpj authored
Report TH errors better in stage 1
-
wolfgang authored
Fix a race condition/possible deadlock in the threaded rts: If a callback into haskell finished before waitThread_() was called, the signal was lost ans waitThread_() waited indefinitely. Solution: Don't release the sched_mutex between calls to scheduleThread_ and waitThread_. Please note that the scheduler API function waitThread is still possibly affected by this race condition. It's used in rts_mainEvalIO (I think that's safe) and in finishAllThreads (this looks dangerous, but finishAllThreads is never used).
-
igloo authored
Correctly convert expressions from TH datastructures to the internel Hs* datastructures containing right infix operators left-parenthesised.
-
- 08 Dec, 2002 2 commits
- 06 Dec, 2002 1 commit
-
-
simonmar authored
Stub objects are called foo_stub.o, not foo.stub_o. In other words, findLinkable (aka maybe_getFileLinkable in the 5.04 branch) has never worked.
-
- 05 Dec, 2002 4 commits
-
-
mthomas authored
A new rejig script which takes arguments rather than hardwired locations.
-
stolz authored
Add SA_RESETHAND (aka SA_ONESHOT) support. Requested by: John Meacham > module Main where > import System.Posix.Signals > main = do > installHandler sigUSR1 (Catch (print "usr1")) Nothing > installHandler sigUSR2 (CatchOnce (print "usr2")) Nothing > _ <- getLine > return ()
-
simonmar authored
- remove old code for GHC < 3.03 (we don't support building GHC with less than 4.08). - remove ErrorHdrHook and PatError, we now catch all exceptions at the top level and report panics (this will fix some test discrepancies with GHCi).
-
simonmar authored
Don't put a recursive exception handler around the flushing of stdout/stderr after running a command. If the user closes stdout or stderr, we now fail rather than going into an infinite loop.
-
- 04 Dec, 2002 3 commits
-
-
dons authored
Let configure know about perl v5.8
-
simonmar authored
Fix SPECIALISE documentation to not mention outdated syntax, and fix the RULES syntax in one place
-
simonmar authored
Add an extra <P>..</P> around the list of packages under "hierarchical libraries", to fix ugly spacing in IE. I have no idea if this is valid HTML or not.
-
- 02 Dec, 2002 4 commits
-
-
simonpj authored
Use the right PackageIfaceTable in cmInfoThing
-
simonpj authored
Remember to zapToType in tcSpliceExpr
-
simonmar authored
Fix a bug and clean up some cruft in here: - In each function in the rts_getXXXX() family, there was a test that the object is actually of the desired type by examining its info table. Some of these tests were disabled, but there was no comment explaining why. I've just (re-)discovered the reason: the info table might be dynamically-loaded in the GHCi case. Not all the tests were disabled, which lead to bugs using the FFI in GHCi (in particular with functions that return Float or Double). - I've added consistent, but commented out, assertions to each of the rts_getXXXX() functions, and left a comment explaining why these reasonable-looking assertions are disabled. MERGE TO STABLE
-
simonmar authored
Add a FAQ item about long link times.
-
- 28 Nov, 2002 4 commits
-
-
simonpj authored
------------------------------- A day's work to improve error messages ------------------------------- 1. Indicate when the cause of the error is likely to be the monomorpism restriction, and identify the offending variables. This involves mainly tcSimplifyTop and its error generation. 2. Produce much better kind error messages. No more ../alonzo/DiGraph.hs:40: Couldn't match `* -> *' against `Type bx' Expected kind: * -> * Inferred kind: Type bx When checking that `DiGraph n' is a type It took a surprisingly long time to get the details right.
-
simonpj authored
Report over-size tuples gracefully
-
simonpj authored
Document a couple more bugs
-
mthomas authored
Add a getting started example. Someone with Docbook please check the SGML.
-
- 26 Nov, 2002 1 commit
-
-
mthomas authored
mblockIsHeap has been removed so update mingw32 branch - SIMON CHECK PLS!
-
- 22 Nov, 2002 2 commits