- 05 Feb, 2002 2 commits
-
-
simonpj authored
Imports only
-
simonmar authored
Fix bad bugs in deleteAllThreds: we were looping through the thread queues calling deleteThread() on each thread as we go, but calling deleteThread() has the side effect of removing the thread from the relevant queue, so we would end up breaking out of the loop after processing only a single thread. This may fix problems like "resurrectThreads: thread blocked in a strange way" seen after pressing ^C. Aside: we really shouldn't be using deleteThread() at all, since it doesn't give the thread a chance to clean up & release locks. To be well-behaved a program has to catch ^C itself at the moment.
-
- 04 Feb, 2002 29 commits
-
-
sof authored
.y/.ly handling: patsubst'ery broke when HAPPY_SRCS suddenly contained two file extensions; now fixed.
-
sof authored
resumeThread: ifdef threads-specific code
-
sof authored
Snapshot of 'native thread'-friendly extension: - call-outs now work, i.e., a Concurrent Haskell thread which makes an external (C) call no longer stop other CH threads dead in their tracks. [More testing and tightening up of invariants reqd, this is just a snapshot]. - separated task handling into sep. module.
-
sof authored
wibble
-
sof authored
startupHaskell: Scheduler startup now handles task creation
-
sof authored
Factor out the task handling into separate 'module'. [Tasks represent native threads that execute STG code, with this module providing the API which the Scheduler uses to control their creation and destruction.]
-
sof authored
- sm_mutex is now a Mutex (not a pthread_mutex_t). - sm_mutex lock/unlocks are only done for SMP builds.
-
sof authored
- renamed MutexVar to Mutex, CondVar to Condition. - added yieldThread(). - simplified/specialised type of entry point to new (native) threads; now takes no args & returns no result.
-
sof authored
simplified startup of this 'sub-system', initCapabilities() takes care of it all
-
sof authored
stat_getElapsedTime(): now visible when RTS_SUPPORTS_THREADS is defined (was: SMP only)
-
sof authored
moved {ACQUIRE,RELEASE}_LOCK to OSThreads.h
-
sewardj authored
Also implement MO_32U_to_8U for sparc. sigh.
-
sewardj authored
Implement missing MachOp, MO_8U_to_32U, for sparc. (duh!)
-
sewardj authored
Adding section descriptions, for ELF: don't record sections satisfying size == 0 || kind `notElem` [SECTIONKIND_CODE_OR_RODATA, SECTIONKIND_RWDATA] The latter condition is really an optimisation based on knowledge of what queries will be made of the table. Still, seems to work, and reduces the number of sections in the list by about a factor of 3, so hopefully will improve GC performance in GHCi. If you get wierd GC problems in GHCi ... this may be to blame.
-
simonmar authored
wibble
-
sewardj authored
Expand out use of modifyIORef because 4.08.2 doesn't have that.
-
simonmar authored
HC_OPTS is now used in both .c and .hc compilations (again).
-
simonmar authored
GhcRtsHcOpts is included in both .c and .hc compilations (again).
-
simonmar authored
GHC_CC_OPTS should include HC_OPTS
-
sewardj authored
Start to record some stuff about GHCi.
-
simonpj authored
Add a bit of documentation on implicit params
-
simonmar authored
oops, fix HC_OBJS for non-normal ways.
-
simonpj authored
----------------------------- Improve type validity checking ----------------------------- Two main effects here a) Type synonyms can be unboxed tuples tupe T = (# Int, Int #) f :: Int -> T b) Hoisting works for implicit parameters f :: Int -> (?x::Int) => Int
-
simonpj authored
Correct assertion
-
simonpj authored
Document hoisting and implicit quantification
-
simonmar authored
Tighten up syntax w.r.t. Haskell 98; this is disallowed: (a `op` b) = ... since a parenthesised lhs must be followed by at least one parameter.
-
sewardj authored
Clarify explaination about problems with x87 FPU stack invalid exceptions.
-
chak authored
Conformed the FFI libraries to meet the FFI Addendum 1.0 specification (except hs_init() and friends).
-
chak authored
Foreign import/export declarations now conform to FFI Addendum Version 1.0 * The old form of foreign declarations is still supported, but generates deprecation warnings. * There are some rather exotic old-style declarations which have become invalid as they are interpreted differently under the new scheme and there is no (easy) way to determine which style the programmer had in mind (eg, importing a C function with the name `wrapper' where the external name is explicitly given will not work in some situations - depends on whether an `unsafe' was specified and similar things). * Some "new" old-style forms have been introduced to make parsing a little bit easier (ie, avoid shift/reduce conflicts between new-style and old-style grammar rules), but they are few, arcane, and don't really hurt (and I won't tell what they are, you need to find that out by yourself ;-) * The FFI Addendum doesn't specify whether a header file that is requested for inclusion by multiple foreign declarations should be included only once or multiple times. GHC at the moment includes an header as often as it appears in a foreign declaration. For properly written headers, it doesn't make a difference anyway... * Library object specifications are currently silently ignored. The feature was mainly requested for external calls in .NET (ie, calls which invoke C routines when Haskell is compiled to ILX), but those don't seem to be supported yet. * Foreign label declarations are currently broken, but they were already broken before I started messing with the stuff. The code is moderately tested. All modules in lib/std/ and hslibs/lang/ (using old-style declarations) still compile fine and I have run a couple of tests on the different forms of new-style declarations.
-
- 03 Feb, 2002 3 commits
-
-
sof authored
document the environment variable expansion done in input package specifications
-
sof authored
Provide support for authors that want to distribute packages, by expanding occurrences of "${foo}" in an input package spec with the value of the 'foo' environment variable. This permits easy configuration at install-time, e.g., $ libdir=/opt/haskell/packages/lib ghc-pkg -a < NewPackage.pkg [Clearly, a separate preprocessing pass using some other tool could provide identical functionality. However, the benefits to the package author of not having to depend on such a tool being present on a user's box was considered more important. ]
-
sof authored
recognize .ly as a happy extension
-
- 02 Feb, 2002 1 commit
-
-
sof authored
pprFCall: avoid/reduce name-capture problem (as was, safe calling the C function id() would break.)
-
- 01 Feb, 2002 5 commits
-
-
sewardj authored
Add details clarifying the precise treatment of MagicIds in Stix.
-
sewardj authored
Some stuff I forgot.
-
sewardj authored
Finish off the NCG documentation.
-
simonmar authored
Include the patchlevel in the hi version number.
-
simonpj authored
More wibbles on deriving with -fallow-undecidable-instances
-