summaryrefslogtreecommitdiff
path: root/ghc/includes/Stable.h
Commit message (Collapse)AuthorAgeFilesLines
* [project @ 2004-08-13 13:04:50 by simonmar]simonmar2004-08-131-2/+10
| | | | Merge backend-hacking-branch onto HEAD. Yay!
* [project @ 2003-11-12 17:27:00 by sof]sof2003-11-121-7/+8
| | | | | | | | | | | | Tidy up a couple of unportable coding issues: - conditionally use empty structs. - use GNU attributes only if supported. - 'long long' usage - use of 'inline' in declarations and definitions. Upshot of these changes is that MSVC is now capable of compiling the non-.hc portions of the RTS.
* [project @ 2002-12-19 14:25:04 by simonmar]simonmar2002-12-191-3/+5
| | | | | | Include a static version of deRefStablePtr in case the code that uses it was compiled without optimisation (and therefore doesn't get the inlined version).
* [project @ 2002-08-16 13:29:05 by simonmar]simonmar2002-08-161-4/+1
| | | | | Global and common variable sweep: staticize many variables that don't need to be globally visible.
* [project @ 2001-12-20 16:12:09 by sewardj]sewardj2001-12-201-20/+3
| | | | | | Outline freeStablePtr, so NCG-generated code actually has something to call :) Also remove the presumably-defunct splitStablePtr.
* [project @ 2001-12-12 14:03:30 by simonmar]simonmar2001-12-121-2/+7
| | | | Add multi-slurp protection
* [project @ 2001-11-21 10:09:15 by simonmar]simonmar2001-11-211-19/+14
| | | | | | | | | | | Turn the weighted reference count in a StablePtr into a simple counter in the stable ptr table. We never made use of the weighted count, and it caused problems when making many StablePtrs to the same object. In the future we could remove the reference counting altogether and just make a new StablePtr each time, rather than attempting to use an existing one. This would save on the hash table lookup at creation time.
* [project @ 2001-10-23 11:28:02 by simonmar]simonmar2001-10-231-3/+2
| | | | | getStablePtr() is a useful function outside of the RTS, so move it to the non-private section.
* [project @ 2001-07-23 17:23:19 by simonmar]simonmar2001-07-231-1/+2
| | | | | | | | | | | | | | | | | Add a compacting garbage collector. It isn't enabled by default, as there are still a couple of problems: there's a fallback case I haven't implemented yet which means it will occasionally bomb out, and speed-wise it's quite a bit slower than the copying collector (about 1.8x slower). Until I can make it go faster, it'll only be useful when you're actually running low on real memory. '+RTS -c' to enable it. Oh, and I cleaned up a few things in the RTS while I was there, and fixed one or two possibly real bugs in the existing GC.
* [project @ 2000-11-07 17:05:47 by simonmar]simonmar2000-11-071-4/+14
| | | | | | | | | | | | | | | | | | | Clean ups: - reduce the namespace pollution of StgTypes.h, it doesn't define the shorthand versions any more (W_, I_ etc.). These are moved into Stg.h. StgTypes.h also defines StgClosure as an "opaque" struct. - RtsAPI.h is now standalone, and includes HsFFI.h and thereby config.h & StgTypes.h. Now we don't need to #include "Stg.h" in *_stub.c. - all the rts_mkXXXX and rts_getXXXX functions are defined in terms of the HsXXXX types rather than random C types (this fixes some potential bugs in our foreign export support). - added HsWord type, to match StgWord. The Haskell version of this type isn't "documented", but perhaps it should be.
* [project @ 2000-09-04 15:09:49 by simonmar]simonmar2000-09-041-2/+3
| | | | | Fix a bug in freeStablePtr, the weight being subtracted from the entry in the stable pointer table was wrong.
* [project @ 2000-04-13 15:37:11 by panne]panne2000-04-131-7/+7
| | | | StgStablePtr is now void*, as required by The Happy Bit Fiddlers
* [project @ 1999-03-02 19:44:07 by sof]sof1999-03-021-4/+4
| | | | | - misc changes to support DLLs - StgNat* --> StgWord*
* [project @ 1999-02-26 12:46:45 by simonm]simonm1999-02-261-3/+3
| | | | | | | | | | | | | Fix stable pointer bug: - the 'keep' flag is now a pointer to the stable name object. - makeStableName always returns an existing stable name object if one exists. - re-use stable name table entries iff the stable name object becomes unreachable (takes into account generational GC now), and the reference count is 0.
* [project @ 1999-02-05 16:02:18 by simonm]simonm1999-02-051-1/+3
| | | | Copyright police.
* [project @ 1999-01-26 14:04:46 by simonm]simonm1999-01-261-0/+62
add missing file.