- 02 Nov, 1999 2 commits
-
-
simonmar authored
make the prototypes of suspendThread and resumeThread available to the RTS.
-
simonmar authored
This commit adds in the current state of our SMP support. Notably, this allows the new way 's' to be built, providing support for running multiple Haskell threads simultaneously on top of any pthreads implementation, the idea being to take advantage of commodity SMP boxes. Don't expect to get much of a speedup yet; due to the excessive locking required to synchronise access to mutable heap objects, you'll see a slowdown in most cases, even on a UP machine. The best I've seen is a 1.6-1.7 speedup on an example that did no locking (two optimised nfibs in parallel). - new RTS -N flag specifies how many pthreads to start. - new driver -smp flag, tells the driver to use way 's'. - new compiler -fsmp option (not for user comsumption) tells the compiler not to generate direct jumps to thunk entry code. - largely rewritten scheduler - _ccall_GC is now done by handing back a "token" to the RTS before executing the ccall; it should now be possible to execute blocking ccalls in the current thread while allowing the RTS to continue running Haskell threads as normal. - you can only call thread-safe C libraries from a way 's' build, of course. Pthread support is still incomplete, and weird things (including deadlocks) are likely to happen.
-
- 13 Oct, 1999 1 commit
-
-
simonmar authored
Crude allocation-counting extension to ticky-ticky profiling. Allocations are counted against the closest lexically enclosing function closure, so you need to map the output back to the STG code.
-
- 25 Jun, 1999 1 commit
-
-
simonmar authored
New define: TABLES_NEXT_TO_CODE says whether info tables are assumed to reside just before the code for a function. We used to use USE_MINIINTERPRETER for this function, but it makes sense in certain cases to separate the use of tail-calls from tables-next-to-code. StgMacros: add a couple of missing macros to support update in place.
-
- 13 May, 1999 1 commit
-
-
simonm authored
Support for "unregisterised" builds. An unregisterised build doesn't use the assembly mangler, doesn't do tail jumping (uses the mini-interpreter), and doesn't use global register variables. Plenty of cleanups and bugfixes in the process. Add way 'u' to GhcLibWays to get unregisterised libs & RTS. [ note: not *quite* working fully yet... there's still a bug or two lurking ]
-
- 11 May, 1999 1 commit
-
-
keithw authored
(this is number 9 of 9 commits to be applied together) Usage verification changes / ticky-ticky changes: We want to verify that SingleEntry thunks are indeed entered at most once. In order to do this, -ticky / -DTICKY_TICKY turns on eager blackholing. We blackhole with new blackholes: SE_BLACKHOLE and SE_CAF_BLACKHOLE. We will enter one of these if we attempt to enter a SingleEntry thunk twice. Note that CAFs are dealt with in by codeGen, and ordinary thunks by the RTS. We also want to see how many times we enter each Updatable thunk. To this end, we have modified -ticky. When -ticky is on, we update with a permanent indirection, and arrange that when we enter a permanent indirection we count the entry and then convert the indirection to a normal indirection. This gives us a means of counting the number of thunks entered again after the first entry. Obviously this screws up profiling, and so you can't build a ticky and profiling compiler any more. Also a few other changes that didn't make it into the previous 8 commits, but form a part of this set.
-
- 28 Apr, 1999 1 commit
-
-
sewardj authored
Change PK_DBL and ASSIGN_DBL macros for sparc so they only reference their arguments once.
-
- 27 Apr, 1999 1 commit
-
-
simonm authored
Add macros for declaring closure tables.
-
- 02 Mar, 1999 1 commit
-
-
sof authored
- misc changes to support DLLs - StgNat* --> StgWord*
-
- 26 Feb, 1999 1 commit
-
-
simonm authored
Remove bogus TICK_ALLOC_HEAP.
-
- 05 Feb, 1999 1 commit
-
-
simonm authored
Copyright police.
-
- 23 Jan, 1999 1 commit
-
-
sof authored
Added comment next to the I*_ macros to explain why having them expand to use 'static' instead of 'extern' is a Really Bad Idea.
-
- 21 Jan, 1999 1 commit
-
-
simonm authored
Resurrect ticky-ticky profiling. Not quite polished yet, but it compiles and produces some reasonable-looking stats.
-
- 02 Dec, 1998 1 commit
-
-
simonm authored
Move 4.01 onto the main trunk.
-