ghc-hetmet.git
25 years ago[project @ 1999-03-03 19:26:31 by sof]
sof [Wed, 3 Mar 1999 19:26:31 +0000 (19:26 +0000)]
[project @ 1999-03-03 19:26:31 by sof]
COMPILING_RTS is now defined when compiling the rts. It is used for
the following:

 - the contents of includes/Prelude.h is only visible when COMPILING_RTS
   is on.
 - getting the DLLIMPORT declarations right on various labels defined by
   the Prelude or the RTS.

25 years ago[project @ 1999-03-03 19:20:41 by sof]
sof [Wed, 3 Mar 1999 19:20:42 +0000 (19:20 +0000)]
[project @ 1999-03-03 19:20:41 by sof]
Win32 DLL tweaks

25 years ago[project @ 1999-03-03 19:20:15 by sof]
sof [Wed, 3 Mar 1999 19:20:15 +0000 (19:20 +0000)]
[project @ 1999-03-03 19:20:15 by sof]
rts_get*: peer through indirections, if needs be.

25 years ago[project @ 1999-03-03 19:16:29 by sof]
sof [Wed, 3 Mar 1999 19:16:29 +0000 (19:16 +0000)]
[project @ 1999-03-03 19:16:29 by sof]
Extend the reaches of #ifdef INTERPRETER a little bit.

25 years ago[project @ 1999-03-03 19:11:43 by sof]
sof [Wed, 3 Mar 1999 19:11:43 +0000 (19:11 +0000)]
[project @ 1999-03-03 19:11:43 by sof]
StgNat64 --> StgWord64

25 years ago[project @ 1999-03-03 19:10:37 by sof]
sof [Wed, 3 Mar 1999 19:10:37 +0000 (19:10 +0000)]
[project @ 1999-03-03 19:10:37 by sof]
- moved the Bool closure table to here (don't want to end up accidentally mangling it.)
- startupHaskell: for Win32 DLLs, initialise the various closure tables now that
  the DLLs have been loaded and the closure addresses are in scope.

25 years ago[project @ 1999-03-03 19:07:39 by sof]
sof [Wed, 3 Mar 1999 19:07:39 +0000 (19:07 +0000)]
[project @ 1999-03-03 19:07:39 by sof]
StgNat* --> StgWord*

25 years ago[project @ 1999-03-03 19:05:55 by sof]
sof [Wed, 3 Mar 1999 19:05:55 +0000 (19:05 +0000)]
[project @ 1999-03-03 19:05:55 by sof]
remove unused include + macros

25 years ago[project @ 1999-03-03 19:04:56 by sof]
sof [Wed, 3 Mar 1999 19:04:57 +0000 (19:04 +0000)]
[project @ 1999-03-03 19:04:56 by sof]
Added is_heap_alloced() to the API - returns true if an address is
within the range of addresses that we've been given back from the
OS.

Only needed for Win32 DLLs, so it's only defined when compiling up
a Win32 RTS DLL.

25 years ago[project @ 1999-03-03 19:00:07 by sof]
sof [Wed, 3 Mar 1999 19:00:07 +0000 (19:00 +0000)]
[project @ 1999-03-03 19:00:07 by sof]
mingw32 tweaks

25 years ago[project @ 1999-03-03 18:58:53 by sof]
sof [Wed, 3 Mar 1999 18:58:53 +0000 (18:58 +0000)]
[project @ 1999-03-03 18:58:53 by sof]
scavenge_srt: To deal with SRT entries that refer to closures that live
 in DLLs, the compiler will set the LSB of the address. scavenge_srt()
 checks for this, and if LSB is set, does an extra level of indirection
 to get at the next closure to scavenge.

25 years ago[project @ 1999-03-03 18:16:15 by sof]
sof [Wed, 3 Mar 1999 18:16:15 +0000 (18:16 +0000)]
[project @ 1999-03-03 18:16:15 by sof]
On the Win32 DLL side, tidied up the defns of LOOKS_LIKE_STATIC() and
LOOKS_LIKE_STATIC_CLOSURE() a little.

25 years ago[project @ 1999-03-03 17:41:13 by simonm]
simonm [Wed, 3 Mar 1999 17:41:13 +0000 (17:41 +0000)]
[project @ 1999-03-03 17:41:13 by simonm]
Make a few things strict.

25 years ago[project @ 1999-03-03 17:22:11 by simonm]
simonm [Wed, 3 Mar 1999 17:22:11 +0000 (17:22 +0000)]
[project @ 1999-03-03 17:22:11 by simonm]
Nat --> Word

25 years ago[project @ 1999-03-03 17:17:05 by simonm]
simonm [Wed, 3 Mar 1999 17:17:05 +0000 (17:17 +0000)]
[project @ 1999-03-03 17:17:05 by simonm]
temp. hack around timezone problems on solaris.

25 years ago[project @ 1999-03-03 16:05:21 by simonm]
simonm [Wed, 3 Mar 1999 16:05:21 +0000 (16:05 +0000)]
[project @ 1999-03-03 16:05:21 by simonm]
HPPA tweaks.

25 years ago[project @ 1999-03-02 20:23:37 by sof]
sof [Tue, 2 Mar 1999 20:23:37 +0000 (20:23 +0000)]
[project @ 1999-03-02 20:23:37 by sof]
Don't prefix the generated output with \n

25 years ago[project @ 1999-03-02 20:16:16 by sof]
sof [Tue, 2 Mar 1999 20:16:16 +0000 (20:16 +0000)]
[project @ 1999-03-02 20:16:16 by sof]
doc tweaks

25 years ago[project @ 1999-03-02 20:14:00 by sof]
sof [Tue, 2 Mar 1999 20:14:02 +0000 (20:14 +0000)]
[project @ 1999-03-02 20:14:00 by sof]
mingw32 tweaks

25 years ago[project @ 1999-03-02 20:10:17 by sof]
sof [Tue, 2 Mar 1999 20:10:17 +0000 (20:10 +0000)]
[project @ 1999-03-02 20:10:17 by sof]
StgNat* --> StgWord*

25 years ago[project @ 1999-03-02 20:05:41 by sof]
sof [Tue, 2 Mar 1999 20:05:41 +0000 (20:05 +0000)]
[project @ 1999-03-02 20:05:41 by sof]
barf: paranoidly flush stderr..

25 years ago[project @ 1999-03-02 20:04:03 by sof]
sof [Tue, 2 Mar 1999 20:04:04 +0000 (20:04 +0000)]
[project @ 1999-03-02 20:04:03 by sof]
mingw32 tweaks.

25 years ago[project @ 1999-03-02 20:01:55 by sof]
sof [Tue, 2 Mar 1999 20:01:55 +0000 (20:01 +0000)]
[project @ 1999-03-02 20:01:55 by sof]
No signal support with mingw32

25 years ago[project @ 1999-03-02 20:00:50 by sof]
sof [Tue, 2 Mar 1999 20:00:50 +0000 (20:00 +0000)]
[project @ 1999-03-02 20:00:50 by sof]
Win32 platforms: use native API to compute elapsed and user times.

25 years ago[project @ 1999-03-02 19:59:40 by sof]
sof [Tue, 2 Mar 1999 19:59:40 +0000 (19:59 +0000)]
[project @ 1999-03-02 19:59:40 by sof]
When putting the RTS in a DLL, we have to delay filling in the
Charlike and Intlike tables until load-time.

25 years ago[project @ 1999-03-02 19:52:24 by sof]
sof [Tue, 2 Mar 1999 19:52:24 +0000 (19:52 +0000)]
[project @ 1999-03-02 19:52:24 by sof]
StgNat64 --> StgWord64

25 years ago[project @ 1999-03-02 19:51:54 by sof]
sof [Tue, 2 Mar 1999 19:51:54 +0000 (19:51 +0000)]
[project @ 1999-03-02 19:51:54 by sof]
typo

25 years ago[project @ 1999-03-02 19:50:47 by sof]
sof [Tue, 2 Mar 1999 19:50:47 +0000 (19:50 +0000)]
[project @ 1999-03-02 19:50:47 by sof]
StgNat64 --> StgWord64

25 years ago[project @ 1999-03-02 19:50:12 by sof]
sof [Tue, 2 Mar 1999 19:50:12 +0000 (19:50 +0000)]
[project @ 1999-03-02 19:50:12 by sof]
initStorage: initialise gos0->to_space

25 years ago[project @ 1999-03-02 19:44:07 by sof]
sof [Tue, 2 Mar 1999 19:44:23 +0000 (19:44 +0000)]
[project @ 1999-03-02 19:44:07 by sof]
- misc changes to support DLLs
- StgNat* --> StgWord*

25 years ago[project @ 1999-03-02 19:15:27 by sof]
sof [Tue, 2 Mar 1999 19:15:27 +0000 (19:15 +0000)]
[project @ 1999-03-02 19:15:27 by sof]
Partial support for working with DLLs. On mingw32, unless you supply
the -static command line option, the default is now to assume
that you're using DLLs when compiling and linking.

ToDo: support the construction of DLLs via the driver.

25 years ago[project @ 1999-03-02 19:10:07 by sof]
sof [Tue, 2 Mar 1999 19:10:07 +0000 (19:10 +0000)]
[project @ 1999-03-02 19:10:07 by sof]
On mingw32, which is the only 'platform' where we support producing
DLLs, prefix each static closure with a zero word. This is needed so
that we can distinguish between pointers to (reversed!) info tables
and static closures just by checking whether there's a zero word just
above the pointed-to entity. Wish there was a better way..

25 years ago[project @ 1999-03-02 19:01:56 by sof]
sof [Tue, 2 Mar 1999 19:01:58 +0000 (19:01 +0000)]
[project @ 1999-03-02 19:01:56 by sof]
Remove out-of-date use of -fcompiling-prelude

25 years ago[project @ 1999-03-02 18:54:47 by sof]
sof [Tue, 2 Mar 1999 18:54:47 +0000 (18:54 +0000)]
[project @ 1999-03-02 18:54:47 by sof]
Compile CgCase with -fno-prune-tydecls on

25 years ago[project @ 1999-03-02 18:31:51 by sof]
sof [Tue, 2 Mar 1999 18:31:58 +0000 (18:31 +0000)]
[project @ 1999-03-02 18:31:51 by sof]
import list adjustments

25 years ago[project @ 1999-03-02 17:46:51 by sof]
sof [Tue, 2 Mar 1999 17:46:51 +0000 (17:46 +0000)]
[project @ 1999-03-02 17:46:51 by sof]
One new option:

 -static    produce code for use in statically linked binaries.
            The driver makes sure that this option is on for
    platforms that doesn't support DLLs. Leaving it
    off won't have any bad effects though.

25 years ago[project @ 1999-03-02 17:18:27 by sof]
sof [Tue, 2 Mar 1999 17:18:27 +0000 (17:18 +0000)]
[project @ 1999-03-02 17:18:27 by sof]
ppr bugfix for dcons that are locally qualified
(omit braces around context if there isn't one.)

25 years ago[project @ 1999-03-02 17:12:54 by sof]
sof [Tue, 2 Mar 1999 17:12:58 +0000 (17:12 +0000)]
[project @ 1999-03-02 17:12:54 by sof]
Directories can now be flagged as containing interface files that have
their corresponding object codes living in Win32 DLLs.

The compiler needs to keep track of whether a name refers to something
in a DLL or not, since Win32 DLLs forces you to distinguish between
the two at the point of use. For example, the code generated for
the following snippet

     return (x+2);

will differ. If 'x' resides in a DLL, you need to perform an extra
indirection to get at its value. Effectively, the generated code
becomes

     return (*x+2);

For functions, the distinction can be made transparent, but we
can avoid jumping through an extra level of indirection if we
do indicate that a label will be imported from a DLL.

Back to the renamer and its scheme, directories that contain
the file ".dLL_ifs.hi" (name chosen to lessen the risk of a clash..)
are considered as containing 'DLL interface files'. There's two
caveats to this scheme:

 - interface files found in "." are not considered to be referring
   to something in a DLL.
 - if the compiler has got -static on the command line, then all
   interface file in scope are considered to be 'normal'.

25 years ago[project @ 1999-03-02 16:44:26 by sof]
sof [Tue, 2 Mar 1999 16:44:28 +0000 (16:44 +0000)]
[project @ 1999-03-02 16:44:26 by sof]
Win32 only: emit code that declares the DLLness of a label we're
making use of.

25 years ago[project @ 1999-03-02 16:09:28 by simonm]
simonm [Tue, 2 Mar 1999 16:09:28 +0000 (16:09 +0000)]
[project @ 1999-03-02 16:09:28 by simonm]
Add missing default case to mkRegLiveness.

25 years ago[project @ 1999-03-02 15:45:50 by sof]
sof [Tue, 2 Mar 1999 15:45:53 +0000 (15:45 +0000)]
[project @ 1999-03-02 15:45:50 by sof]
Support for deriving 'proper' Show & Read instances for infix constructors.

25 years ago[project @ 1999-03-02 15:43:27 by sof]
sof [Tue, 2 Mar 1999 15:43:28 +0000 (15:43 +0000)]
[project @ 1999-03-02 15:43:27 by sof]
PrelMods - use mkPrelModule instead of mkSrcModule to reflect distinction
we need to make between the two when compiling up code that's destined
for 'Win32 DLL'dom.

25 years ago[project @ 1999-03-02 15:40:08 by sof]
sof [Tue, 2 Mar 1999 15:40:11 +0000 (15:40 +0000)]
[project @ 1999-03-02 15:40:08 by sof]
Fix to allow local, non-exported actions to be 'foreign export'ed.

25 years ago[project @ 1999-03-02 14:34:33 by sof]
sof [Tue, 2 Mar 1999 14:34:38 +0000 (14:34 +0000)]
[project @ 1999-03-02 14:34:33 by sof]
- import list tweaks
- moved the code that decides that a StgCon really shouldn't
  be mapped to a static constructor but an updateable thunk
  if it contains lit-lits from the codegen into the CoreToStg
  translation.

  Added an extra case to this code to deal with StgCon's that contain
  references to values that reside in a DLL, where we also have to
  opt for an updateable thunk instead of a static constructor. Only
  applies when compiling on/for Win32 platforms.

25 years ago[project @ 1999-03-02 14:22:43 by sof]
sof [Tue, 2 Mar 1999 14:22:46 +0000 (14:22 +0000)]
[project @ 1999-03-02 14:22:43 by sof]
mostly import list re-shuffling

25 years ago[project @ 1999-03-02 14:20:44 by sof]
sof [Tue, 2 Mar 1999 14:20:44 +0000 (14:20 +0000)]
[project @ 1999-03-02 14:20:44 by sof]
Separated out Module type and ops from OccName.

25 years ago[project @ 1999-03-02 11:46:28 by simonm]
simonm [Tue, 2 Mar 1999 11:46:28 +0000 (11:46 +0000)]
[project @ 1999-03-02 11:46:28 by simonm]
Install the docs in $real_datadir, not $datadir.

25 years ago[project @ 1999-03-02 11:11:18 by sof]
sof [Tue, 2 Mar 1999 11:11:18 +0000 (11:11 +0000)]
[project @ 1999-03-02 11:11:18 by sof]
Tweaks:
  - only trailing empty decls were accepted.
  - empty export lists where being flagged as there being none.

25 years ago[project @ 1999-03-02 10:40:40 by sof]
sof [Tue, 2 Mar 1999 10:40:42 +0000 (10:40 +0000)]
[project @ 1999-03-02 10:40:40 by sof]
Updates + added empty decl regression test

25 years ago[project @ 1999-03-02 09:17:02 by simonm]
simonm [Tue, 2 Mar 1999 09:17:03 +0000 (09:17 +0000)]
[project @ 1999-03-02 09:17:02 by simonm]
makeForeignObj --> mkForeignObj

25 years ago[project @ 1999-03-01 17:42:11 by simonm]
simonm [Mon, 1 Mar 1999 17:42:11 +0000 (17:42 +0000)]
[project @ 1999-03-01 17:42:11 by simonm]
hppa1.1 support, first cut.

25 years ago[project @ 1999-03-01 17:41:50 by simonm]
simonm [Mon, 1 Mar 1999 17:41:50 +0000 (17:41 +0000)]
[project @ 1999-03-01 17:41:50 by simonm]
recurse into gmp on 'make clean'

25 years ago[project @ 1999-03-01 17:41:21 by simonm]
simonm [Mon, 1 Mar 1999 17:41:24 +0000 (17:41 +0000)]
[project @ 1999-03-01 17:41:21 by simonm]
Some native codegen updates.

25 years ago[project @ 1999-03-01 17:40:55 by simonm]
simonm [Mon, 1 Mar 1999 17:40:55 +0000 (17:40 +0000)]
[project @ 1999-03-01 17:40:55 by simonm]
hppa1.1 support, first cut.

25 years ago[project @ 1999-03-01 17:39:54 by simonm]
simonm [Mon, 1 Mar 1999 17:39:54 +0000 (17:39 +0000)]
[project @ 1999-03-01 17:39:54 by simonm]
Use 'data_start' as the end-of-text marker if it exists.  This includes
the read-only text section on Linux/ELF, which is what we want.

25 years ago[project @ 1999-03-01 15:17:43 by simonm]
simonm [Mon, 1 Mar 1999 15:17:43 +0000 (15:17 +0000)]
[project @ 1999-03-01 15:17:43 by simonm]
Bring in rev. 1.22.2.1 - Don't apply -monly-n-reg patches to _regBlah
functions (profiling cost-centre register things)

25 years ago[project @ 1999-03-01 14:58:56 by sewardj]
sewardj [Mon, 1 Mar 1999 14:58:56 +0000 (14:58 +0000)]
[project @ 1999-03-01 14:58:56 by sewardj]
Minor Makefile mods.  Add a Prelude.hs which suits new STGhugs.

25 years ago[project @ 1999-03-01 14:46:42 by sewardj]
sewardj [Mon, 1 Mar 1999 14:47:09 +0000 (14:47 +0000)]
[project @ 1999-03-01 14:46:42 by sewardj]
Mods to make STG-hugs able to compile and run small examples.  This
commit also includes proper implementations of seq, raise and catch.

25 years ago[project @ 1999-03-01 10:25:20 by simonm]
simonm [Mon, 1 Mar 1999 10:25:20 +0000 (10:25 +0000)]
[project @ 1999-03-01 10:25:20 by simonm]
Missing { in mulIntCzh

25 years ago[project @ 1999-03-01 10:20:39 by sof]
sof [Mon, 1 Mar 1999 10:20:39 +0000 (10:20 +0000)]
[project @ 1999-03-01 10:20:39 by sof]
Handle block comments that haven't been closed a little bit better: record
(and report) the start of the comment.

Simple implementation - doesn't bother dealing with nested comments.

25 years ago[project @ 1999-03-01 10:17:15 by simonm]
simonm [Mon, 1 Mar 1999 10:17:15 +0000 (10:17 +0000)]
[project @ 1999-03-01 10:17:15 by simonm]
typo

25 years ago[project @ 1999-03-01 09:44:05 by sof]
sof [Mon, 1 Mar 1999 09:44:05 +0000 (09:44 +0000)]
[project @ 1999-03-01 09:44:05 by sof]
import list tweak

25 years ago[project @ 1999-03-01 09:43:37 by sof]
sof [Mon, 1 Mar 1999 09:43:37 +0000 (09:43 +0000)]
[project @ 1999-03-01 09:43:37 by sof]
Remove unused defns, forall and exists.

25 years ago[project @ 1999-03-01 09:27:49 by sof]
sof [Mon, 1 Mar 1999 09:27:49 +0000 (09:27 +0000)]
[project @ 1999-03-01 09:27:49 by sof]
mingw32 tweak

25 years ago[project @ 1999-03-01 09:26:45 by sof]
sof [Mon, 1 Mar 1999 09:26:45 +0000 (09:26 +0000)]
[project @ 1999-03-01 09:26:45 by sof]
mingw32: stay well clear of any tty stuff - just don't have
support for it.

25 years ago[project @ 1999-03-01 09:23:58 by sof]
sof [Mon, 1 Mar 1999 09:23:58 +0000 (09:23 +0000)]
[project @ 1999-03-01 09:23:58 by sof]
mingw32: no select() in sight.

25 years ago[project @ 1999-03-01 09:11:39 by sof]
sof [Mon, 1 Mar 1999 09:11:39 +0000 (09:11 +0000)]
[project @ 1999-03-01 09:11:39 by sof]
mingw32: Turn off file locking. Of questionable value + impl is i-node
based.

25 years ago[project @ 1999-03-01 09:04:07 by sof]
sof [Mon, 1 Mar 1999 09:04:07 +0000 (09:04 +0000)]
[project @ 1999-03-01 09:04:07 by sof]
mingw32 tweaks

25 years ago[project @ 1999-03-01 09:03:37 by sof]
sof [Mon, 1 Mar 1999 09:03:37 +0000 (09:03 +0000)]
[project @ 1999-03-01 09:03:37 by sof]
mingw32: MS C runtime implementation of mkdir() doesn't allow you
to specify the access permissions to pin on a directory.

25 years ago[project @ 1999-03-01 09:02:04 by sof]
sof [Mon, 1 Mar 1999 09:02:04 +0000 (09:02 +0000)]
[project @ 1999-03-01 09:02:04 by sof]
mingw32: No support for set/getting the status of ttys (yet.)

25 years ago[project @ 1999-03-01 08:59:45 by sof]
sof [Mon, 1 Mar 1999 08:59:45 +0000 (08:59 +0000)]
[project @ 1999-03-01 08:59:45 by sof]
foreign imports: stdcall --> ccall

25 years ago[project @ 1999-03-01 08:58:53 by sof]
sof [Mon, 1 Mar 1999 08:58:53 +0000 (08:58 +0000)]
[project @ 1999-03-01 08:58:53 by sof]
wibble

25 years ago[project @ 1999-03-01 08:57:57 by sof]
sof [Mon, 1 Mar 1999 08:57:57 +0000 (08:57 +0000)]
[project @ 1999-03-01 08:57:57 by sof]
mingw32: Use C runtime's version of system()

25 years ago[project @ 1999-03-01 08:38:36 by sof]
sof [Mon, 1 Mar 1999 08:38:36 +0000 (08:38 +0000)]
[project @ 1999-03-01 08:38:36 by sof]
Reinstate old signature for 'makeForeignObj', i.e.

  makeForeignObj :: Addr -> Addr -> IO ForeignObj

combining the primitive 'makeForeignObj' and addForeignFinalizer(+).

The primitive ForeignObj constructor is now exported as 'mkForeignObj'

25 years ago[project @ 1999-03-01 08:19:49 by sof]
sof [Mon, 1 Mar 1999 08:19:49 +0000 (08:19 +0000)]
[project @ 1999-03-01 08:19:49 by sof]
Added:

   writeStablePtrOffAddr   :: Addr -> Int -> StablePtr a -> IO ()
   readStablePtrOffAddr    :: Addr -> Int -> IO (StablePtr a)
   writeForeignObjOffAddr  :: Addr -> Int -> ForeignObj -> IO ()

25 years ago[project @ 1999-03-01 08:16:28 by sof]
sof [Mon, 1 Mar 1999 08:16:28 +0000 (08:16 +0000)]
[project @ 1999-03-01 08:16:28 by sof]
- added showListWith, non-overloaded version of showList.

25 years ago[project @ 1999-02-26 17:46:04 by simonm]
simonm [Fri, 26 Feb 1999 17:46:09 +0000 (17:46 +0000)]
[project @ 1999-02-26 17:46:04 by simonm]
Fix a bug in weak pointer support: if finalize is called on a weak
pointer, then a DEAD_WEAK object could appear on the weak pointer
list.

To avoid needing to double-link this list, add a link field to
DEAD_WEAK objects, and remove them from the list at garbage collection
time.

25 years ago[project @ 1999-02-26 17:43:55 by simonm]
simonm [Fri, 26 Feb 1999 17:43:55 +0000 (17:43 +0000)]
[project @ 1999-02-26 17:43:55 by simonm]
Allow the memo table itself to be collected when the function becomes
unreachabl.

- individual finalizers refer back to the memo table
  via a weak pointer.

- a finalizer for the whole table walks through each
  bucket calling 'finalize' on every weak pointer.

25 years ago[project @ 1999-02-26 16:46:50 by simonm]
simonm [Fri, 26 Feb 1999 16:46:50 +0000 (16:46 +0000)]
[project @ 1999-02-26 16:46:50 by simonm]
Back out accidental commits.

25 years ago[project @ 1999-02-26 16:44:13 by simonm]
simonm [Fri, 26 Feb 1999 16:44:14 +0000 (16:44 +0000)]
[project @ 1999-02-26 16:44:13 by simonm]
Fix small stats bug in the -G1 case.

25 years ago[project @ 1999-02-26 13:36:12 by simonm]
simonm [Fri, 26 Feb 1999 13:36:14 +0000 (13:36 +0000)]
[project @ 1999-02-26 13:36:12 by simonm]
Change the semantics of weak pointers - now weak pointer objects
aren't automatically considered reachable, so a weak pointer to a weak
pointer object is now meaningful.

25 years ago[project @ 1999-02-26 12:46:45 by simonm]
simonm [Fri, 26 Feb 1999 12:46:48 +0000 (12:46 +0000)]
[project @ 1999-02-26 12:46:45 by simonm]
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.

25 years ago[project @ 1999-02-26 12:43:58 by simonm]
simonm [Fri, 26 Feb 1999 12:43:58 +0000 (12:43 +0000)]
[project @ 1999-02-26 12:43:58 by simonm]
Fix bug in finalizeWeakPointersNow - some weak ptrs could be missed.

25 years ago[project @ 1999-02-26 12:42:06 by simonm]
simonm [Fri, 26 Feb 1999 12:42:07 +0000 (12:42 +0000)]
[project @ 1999-02-26 12:42:06 by simonm]
Add memo table test.

25 years ago[project @ 1999-02-26 12:32:51 by simonm]
simonm [Fri, 26 Feb 1999 12:32:51 +0000 (12:32 +0000)]
[project @ 1999-02-26 12:32:51 by simonm]
Fix run queue corruption bug.

25 years ago[project @ 1999-02-26 09:28:43 by simonm]
simonm [Fri, 26 Feb 1999 09:28:43 +0000 (09:28 +0000)]
[project @ 1999-02-26 09:28:43 by simonm]
Remove bogus TICK_ALLOC_HEAP.

25 years ago[project @ 1999-02-25 17:52:33 by simonm]
simonm [Thu, 25 Feb 1999 17:52:33 +0000 (17:52 +0000)]
[project @ 1999-02-25 17:52:33 by simonm]
- clean up a little
- add some code to avoid promoting thunks (#ifdefed out)

25 years ago[project @ 1999-02-25 10:18:28 by sof]
sof [Thu, 25 Feb 1999 10:18:28 +0000 (10:18 +0000)]
[project @ 1999-02-25 10:18:28 by sof]
hClose: don't raise an exception when passed a handle that's already closed,
i.e.,

    h <- openFile "a" ReadMode >> hClose h >> hClose h

will now succeed (provided 'a' exists and is readable, of course.)
Repeated hClose's are just redundant.

25 years ago[project @ 1999-02-25 10:10:31 by simonm]
simonm [Thu, 25 Feb 1999 10:10:31 +0000 (10:10 +0000)]
[project @ 1999-02-25 10:10:31 by simonm]
Include GC bytes copied in stats string.

25 years ago[project @ 1999-02-24 17:24:07 by simonm]
simonm [Wed, 24 Feb 1999 17:24:07 +0000 (17:24 +0000)]
[project @ 1999-02-24 17:24:07 by simonm]
Allow eager promotion to be turned off by a compile-time option.

25 years ago[project @ 1999-02-24 16:30:45 by simonm]
simonm [Wed, 24 Feb 1999 16:30:45 +0000 (16:30 +0000)]
[project @ 1999-02-24 16:30:45 by simonm]
Don't promote blackholes from generation 0 if possible.

25 years ago[project @ 1999-02-24 16:25:40 by simonm]
simonm [Wed, 24 Feb 1999 16:25:40 +0000 (16:25 +0000)]
[project @ 1999-02-24 16:25:40 by simonm]
- Fix a couple of uninitialized variables
- Fill the nursery with junk after GC if sanity checking is on

25 years ago[project @ 1999-02-23 17:20:34 by sof]
sof [Tue, 23 Feb 1999 17:20:34 +0000 (17:20 +0000)]
[project @ 1999-02-23 17:20:34 by sof]
Updates on the Win32 front

25 years ago[project @ 1999-02-23 17:18:01 by simonm]
simonm [Tue, 23 Feb 1999 17:18:01 +0000 (17:18 +0000)]
[project @ 1999-02-23 17:18:01 by simonm]
- If -H is larger than -M, set -M to -H
- Fix a couple of bugs in calcLive().

25 years ago[project @ 1999-02-23 15:45:06 by simonm]
simonm [Tue, 23 Feb 1999 15:45:08 +0000 (15:45 +0000)]
[project @ 1999-02-23 15:45:06 by simonm]
- Fix a bug in 2-space (-G1) collection
- Calculate an estimate of the number of bytes copied during GC
  for GC stats.

25 years ago[project @ 1999-02-23 12:02:57 by simonm]
simonm [Tue, 23 Feb 1999 12:02:57 +0000 (12:02 +0000)]
[project @ 1999-02-23 12:02:57 by simonm]
Print time spent collecting each generation.

25 years ago[project @ 1999-02-23 10:09:49 by simonm]
simonm [Tue, 23 Feb 1999 10:09:49 +0000 (10:09 +0000)]
[project @ 1999-02-23 10:09:49 by simonm]
Integer fixes.

25 years ago[project @ 1999-02-22 11:47:17 by simonm]
simonm [Mon, 22 Feb 1999 11:47:17 +0000 (11:47 +0000)]
[project @ 1999-02-22 11:47:17 by simonm]
Couple of Integer fixes.

25 years ago[project @ 1999-02-22 10:51:18 by simonm]
simonm [Mon, 22 Feb 1999 10:51:18 +0000 (10:51 +0000)]
[project @ 1999-02-22 10:51:18 by simonm]
- Fix off-by-one in __encodeFloat;
- Tidy up __encodeDouble a bit.

25 years ago[project @ 1999-02-22 10:22:34 by sof]
sof [Mon, 22 Feb 1999 10:22:36 +0000 (10:22 +0000)]
[project @ 1999-02-22 10:22:34 by sof]
Tweaks to make docs build cleanly