ghc-hetmet.git
25 years ago[project @ 1999-03-26 10:29:02 by simonm]
simonm [Fri, 26 Mar 1999 10:29:08 +0000 (10:29 +0000)]
[project @ 1999-03-26 10:29:02 by simonm]
More profiling fixes.

25 years ago[project @ 1999-03-25 13:13:51 by simonm]
simonm [Thu, 25 Mar 1999 13:14:08 +0000 (13:14 +0000)]
[project @ 1999-03-25 13:13:51 by simonm]
Profiling fixes.

- top-level CAF CCSs now *append* themselves to the
  current CCS when called.

- remove DICT stuff.

- fixes to the auto-scc annotating in the desugarer.

25 years ago[project @ 1999-03-25 13:10:32 by simonm]
simonm [Thu, 25 Mar 1999 13:10:32 +0000 (13:10 +0000)]
[project @ 1999-03-25 13:10:32 by simonm]
Remove #ifdef __CONCURRENT_HASKELL__, update for H98.

25 years ago[project @ 1999-03-25 13:08:17 by simonm]
simonm [Thu, 25 Mar 1999 13:08:17 +0000 (13:08 +0000)]
[project @ 1999-03-25 13:08:17 by simonm]
enable __CONCURRENT_HASKELL__

25 years ago[project @ 1999-03-25 13:01:44 by simonm]
simonm [Thu, 25 Mar 1999 13:01:44 +0000 (13:01 +0000)]
[project @ 1999-03-25 13:01:44 by simonm]
RET_DYN doesn't have a proper header, just an info pointer.

25 years ago[project @ 1999-03-24 18:21:21 by sof]
sof [Wed, 24 Mar 1999 18:21:21 +0000 (18:21 +0000)]
[project @ 1999-03-24 18:21:21 by sof]
In case the desugaring of a lit-lit should fail, give a more informative error msg

25 years ago[project @ 1999-03-24 18:19:08 by sof]
sof [Wed, 24 Mar 1999 18:19:08 +0000 (18:19 +0000)]
[project @ 1999-03-24 18:19:08 by sof]
tidied up the error handling defs.

25 years ago[project @ 1999-03-24 16:52:30 by kw]
kw [Wed, 24 Mar 1999 16:52:30 +0000 (16:52 +0000)]
[project @ 1999-03-24 16:52:30 by kw]
Fix pretty-printing of FunTys to not throw away NoteTys (eg type synonyms).
(re-commit because first mail message didn't get sent)

25 years ago[project @ 1999-03-24 12:29:05 by kw217]
kw217 [Wed, 24 Mar 1999 12:29:05 +0000 (12:29 +0000)]
[project @ 1999-03-24 12:29:05 by kw217]
Fix pretty-printing of FunTys to not throw away NoteTys (eg type synonyms).

25 years ago[project @ 1999-03-24 08:46:04 by sof]
sof [Wed, 24 Mar 1999 08:46:04 +0000 (08:46 +0000)]
[project @ 1999-03-24 08:46:04 by sof]
Pragmas, Haskell (98) report style.

25 years ago[project @ 1999-03-23 08:57:19 by sof]
sof [Tue, 23 Mar 1999 08:57:19 +0000 (08:57 +0000)]
[project @ 1999-03-23 08:57:19 by sof]
Int and Word have to be treated like other Prelude modules in a DLLish
world.

25 years ago[project @ 1999-03-23 08:34:07 by sof]
sof [Tue, 23 Mar 1999 08:34:07 +0000 (08:34 +0000)]
[project @ 1999-03-23 08:34:07 by sof]
*_SECTION_END_MARKER_DECLs are now void*

25 years ago[project @ 1999-03-22 16:58:19 by simonm]
simonm [Mon, 22 Mar 1999 16:58:20 +0000 (16:58 +0000)]
[project @ 1999-03-22 16:58:19 by simonm]
Fix cost centres on PAPs.

25 years ago[project @ 1999-03-22 16:57:10 by simonm]
simonm [Mon, 22 Mar 1999 16:57:11 +0000 (16:57 +0000)]
[project @ 1999-03-22 16:57:10 by simonm]
Previous commit broke let-no-escape.  Fix it up again.

25 years ago[project @ 1999-03-22 16:56:09 by simonm]
simonm [Mon, 22 Mar 1999 16:56:09 +0000 (16:56 +0000)]
[project @ 1999-03-22 16:56:09 by simonm]
PAPs are ReEntrant, not SingleEntry.

25 years ago[project @ 1999-03-22 13:01:38 by simonm]
simonm [Mon, 22 Mar 1999 13:01:38 +0000 (13:01 +0000)]
[project @ 1999-03-22 13:01:38 by simonm]
decodeFloat and decodeDouble were accidentally allocating too much
due to a StgWord/byte confusion.

25 years ago[project @ 1999-03-22 12:59:32 by simonm]
simonm [Mon, 22 Mar 1999 12:59:32 +0000 (12:59 +0000)]
[project @ 1999-03-22 12:59:32 by simonm]
Fix cost centre restores for unboxed tuple alternatives.

25 years ago[project @ 1999-03-22 11:26:03 by simonm]
simonm [Mon, 22 Mar 1999 11:26:03 +0000 (11:26 +0000)]
[project @ 1999-03-22 11:26:03 by simonm]
raise# now prints "uncaught exception" if it finds a STOP_FRAME.

25 years ago[project @ 1999-03-22 10:39:59 by simonpj]
simonpj [Mon, 22 Mar 1999 10:39:59 +0000 (10:39 +0000)]
[project @ 1999-03-22 10:39:59 by simonpj]
Fix the HsForAll case in TcMonoType.tc_type_kind so that it
permits types like

f :: forall a. Num a => (# a->a, a->a #)

Previously it insisted that the body of a for-all was a boxed
type, but 'f' makes perfect sense, and indeed occurs in interface
files as a result of CPR analysis.

25 years ago[project @ 1999-03-22 10:06:27 by simonm]
simonm [Mon, 22 Mar 1999 10:06:27 +0000 (10:06 +0000)]
[project @ 1999-03-22 10:06:27 by simonm]
Update from autoheader.

25 years ago[project @ 1999-03-22 09:24:45 by simonm]
simonm [Mon, 22 Mar 1999 09:24:45 +0000 (09:24 +0000)]
[project @ 1999-03-22 09:24:45 by simonm]
Missing ';'.

25 years ago[project @ 1999-03-20 17:33:07 by sof]
sof [Sat, 20 Mar 1999 17:33:07 +0000 (17:33 +0000)]
[project @ 1999-03-20 17:33:07 by sof]
cpp wibble

25 years ago[project @ 1999-03-18 17:57:19 by simonm]
simonm [Thu, 18 Mar 1999 17:57:24 +0000 (17:57 +0000)]
[project @ 1999-03-18 17:57:19 by simonm]
Some fixes to profiling stuff.

25 years ago[project @ 1999-03-18 14:16:00 by kw217]
kw217 [Thu, 18 Mar 1999 14:16:00 +0000 (14:16 +0000)]
[project @ 1999-03-18 14:16:00 by kw217]
Minor documentation fixes, and addition of SRT explanation.

25 years ago[project @ 1999-03-18 11:53:34 by simonm]
simonm [Thu, 18 Mar 1999 11:53:34 +0000 (11:53 +0000)]
[project @ 1999-03-18 11:53:34 by simonm]
egcs sometimes leaves a 'popl %ecx' in the epilogue, it seems.

25 years ago[project @ 1999-03-18 09:46:44 by simonm]
simonm [Thu, 18 Mar 1999 09:46:44 +0000 (09:46 +0000)]
[project @ 1999-03-18 09:46:44 by simonm]
Add infixr 1 =<<

25 years ago[project @ 1999-03-17 16:28:34 by sewardj]
sewardj [Wed, 17 Mar 1999 16:28:34 +0000 (16:28 +0000)]
[project @ 1999-03-17 16:28:34 by sewardj]
Make mut_link field be NULL when removing CAF_{UN}ENTERED from
mut_once_list.  Convention is to have the field be NULL iff
the caf is not on a mut_once_list.  This gives a O(1) cost way
to avoid putting a caf onto a mut_once_list more than once.

25 years ago[project @ 1999-03-17 16:25:07 by sewardj]
sewardj [Wed, 17 Mar 1999 16:25:07 +0000 (16:25 +0000)]
[project @ 1999-03-17 16:25:07 by sewardj]
Add missing semicolon

25 years ago[project @ 1999-03-17 13:19:19 by simonm]
simonm [Wed, 17 Mar 1999 13:19:28 +0000 (13:19 +0000)]
[project @ 1999-03-17 13:19:19 by simonm]
- Stack overflow now generates an (AsyncException StackOverflow)
  exception, which can be caught as normal.

- Add a stack overflow handler to the top-level mainIO handler, with
  the standard behaviour (i.e. call the stack overflow hook and then
  exit).

- Add a test for stack overflow catching.

- Fix a couple of bugs in async exception support.

25 years ago[project @ 1999-03-17 11:03:36 by simonm]
simonm [Wed, 17 Mar 1999 11:03:36 +0000 (11:03 +0000)]
[project @ 1999-03-17 11:03:36 by simonm]
Ignore type lambdas for the purposes of occurrence analysis.

25 years ago[project @ 1999-03-17 11:02:35 by simonm]
simonm [Wed, 17 Mar 1999 11:02:35 +0000 (11:02 +0000)]
[project @ 1999-03-17 11:02:35 by simonm]
Print (ICanSafelyBeINLINEd InsideLam _) as "__Ul".

25 years ago[project @ 1999-03-17 10:06:21 by simonpj]
simonpj [Wed, 17 Mar 1999 10:06:22 +0000 (10:06 +0000)]
[project @ 1999-03-17 10:06:21 by simonpj]
Make it so that Local (i.e. non-top-level) names record
whether they originally came from an interface file.  This
means that when unifying two type variables we can readily
choose one that occurred in the source, rather than one
imported from an interface file.  That in turn improves
compiler error messages.  E.g.

  rd :: (RealFloat a, RealFrac b) => b -> Transformation a
  rd degrees  = r ((degrees / 180.0) * pi)

used to say

    Could not deduce `Floating a'
(arising from use of `pi' at Foo.hs:11)
from the context: (RealFloat a1, RealFrac a)
    Probable cause: missing `Floating a' in type signature for `rd'

[here the 'a' came from the signature for 'pi' in PrelBase;
 the 'a1' is a renamed version of the 'a' in the source pgm]

but now says

    Could not deduce `Floating b'
(arising from use of `pi' at Foo.hs:11)
from the context: (RealFloat a, RealFrac b)
    Probable cause: missing `Floating b' in type signature for `rd'

25 years ago[project @ 1999-03-17 09:50:08 by simonm]
simonm [Wed, 17 Mar 1999 09:50:08 +0000 (09:50 +0000)]
[project @ 1999-03-17 09:50:08 by simonm]
When resizing a stack, set the Sp and Su of the old, dead, TSO to be just
beyond the end of its stack so we don't attempt to scavenge any part of
the stack in case we come across this TSO during GC.

25 years ago[project @ 1999-03-17 08:26:30 by simonpj]
simonpj [Wed, 17 Mar 1999 08:26:30 +0000 (08:26 +0000)]
[project @ 1999-03-17 08:26:30 by simonpj]
Complete the hack that lets us give 'error' the type

error :: forall a:?. String -> a

The kind '?' (also known as 'Type AnyBox') means that
error can be applied to unboxed types too.  unsafeCoerce is
similar.  But the 'real' type of error is:

error :: forall bv. forall a:Type bv. String -> a

That is, it's really polymorphic in the boxity of a; that's
different to saying that the type bound to 'a' must have
kind '?'.

The fix was in TcType.inst_tyvar, where we look for the kind '?'
and generate a boxity variable instead.  Sigh.

25 years ago[project @ 1999-03-16 17:07:21 by simonm]
simonm [Tue, 16 Mar 1999 17:07:23 +0000 (17:07 +0000)]
[project @ 1999-03-16 17:07:21 by simonm]
- Document the pragmas we support
- Fix some lies in the vs. Haskell section.

25 years ago[project @ 1999-03-16 13:20:07 by simonm]
simonm [Tue, 16 Mar 1999 13:20:23 +0000 (13:20 +0000)]
[project @ 1999-03-16 13:20:07 by simonm]
Improvements to the threading model.

   - asynchronous exceptions supported.

- killThread# can now raise an exception in the specified
  thread.  It's new type is

killThread# :: ThreadId# -> Exception -> IO ()

  High-level versions:

killThread :: ThreadId -> IO ()
raiseInThread :: ThreadId -> Exception -> IO ()

  (killThread raises a 'ThreadKilled' exception in the
   specified thread).

  If the thread has no exception handler, it is killed
  as before.  Otherwise, the exception is passed to
  the innermost CATCH_FRAME and the thread is woken up
  if it was blocked.  The current computation is
  suspended, instead of being replaced by the exception
  (as is the case with throw).

  Sending an exception to the current thread works too.

   - new primitive: myThreadId# :: IO ThreadId# and corresponding
     high-level version myThreadId :: IO ThreadId.

   - new primitive: yield# :: IO (), and yield :: IO ().

   - the TSO now contains a pointer to the resource currently blocked
     on (MVAR or BLACKHOLE_BQ).

  - Add a giant comment to TSO.h about what the various link fields
    are supposed to do, and invariants etc.

25 years ago[project @ 1999-03-16 12:36:15 by simonpj]
simonpj [Tue, 16 Mar 1999 12:36:15 +0000 (12:36 +0000)]
[project @ 1999-03-16 12:36:15 by simonpj]
Bring up to 4.02 interface file syntax

25 years ago[project @ 1999-03-16 12:31:55 by simonpj]
simonpj [Tue, 16 Mar 1999 12:31:55 +0000 (12:31 +0000)]
[project @ 1999-03-16 12:31:55 by simonpj]
Make it only a warning if you have a type like this:

forall a. Int -> Int

These show up in interface files occasionally, just because
the simplifier is a bit blase about adding type arguments.

But it's an error to have

forall a. Eq a => Int -> Int

The flag -fwarn-unused-matches reports a warning for these
redundant for-alls.

25 years ago[project @ 1999-03-15 17:11:27 by simonm]
simonm [Mon, 15 Mar 1999 17:11:27 +0000 (17:11 +0000)]
[project @ 1999-03-15 17:11:27 by simonm]
Remove a couple of stgcasts.

25 years ago[project @ 1999-03-15 16:53:10 by simonm]
simonm [Mon, 15 Mar 1999 16:53:11 +0000 (16:53 +0000)]
[project @ 1999-03-15 16:53:10 by simonm]
Specialise STATIC_LINK() for {FUN,THUNK,IND}_STATIC.

25 years ago[project @ 1999-03-15 16:31:02 by simonm]
simonm [Mon, 15 Mar 1999 16:31:02 +0000 (16:31 +0000)]
[project @ 1999-03-15 16:31:02 by simonm]
Reduce alignment for info tables on x86 to 1 word.  It was previously
4 words, which meant that the entry code was wrongly aligned all the
time (because info tables are either 2 or 3 words).  At least this way
we've got a 1 in 4 chance of being properly aligned.

25 years ago[project @ 1999-03-15 16:30:24 by simonm]
simonm [Mon, 15 Mar 1999 16:30:29 +0000 (16:30 +0000)]
[project @ 1999-03-15 16:30:24 by simonm]
Remove flags field from info tables; create a separate table of flags
indexed by the closure type in the RTS.

25 years ago[project @ 1999-03-15 15:11:03 by simonpj]
simonpj [Mon, 15 Mar 1999 15:11:11 +0000 (15:11 +0000)]
[project @ 1999-03-15 15:11:03 by simonpj]
Make clear in HsType whether a for-all is explicit
in the source program or not.  Implicit for-alls now
look like
HsForAllTy Nothing ctxt ty
while explicit ones look like
HsForAllTy (Just tvs) ctxt ty

Before this, the scope analysis stuff in RnSource was
actually wrong (not that anyone had noticed), but Alex Ferguson
did notice a bogus (sort-of-duplicate) error message on types
like
f :: Eq a => Int -> Int
which led me to spot the deeper problem.  Anyway, it's all
cool now.

25 years ago[project @ 1999-03-15 13:25:04 by simonm]
simonm [Mon, 15 Mar 1999 13:25:04 +0000 (13:25 +0000)]
[project @ 1999-03-15 13:25:04 by simonm]
Move mkdependHS to lib.

25 years ago[project @ 1999-03-11 17:39:18 by simonpj]
simonpj [Thu, 11 Mar 1999 17:39:18 +0000 (17:39 +0000)]
[project @ 1999-03-11 17:39:18 by simonpj]
Fix loadInterface to avoid repeated loading of PrelPack.hi-boot

25 years ago[project @ 1999-03-11 11:32:22 by simonm]
simonm [Thu, 11 Mar 1999 11:32:29 +0000 (11:32 +0000)]
[project @ 1999-03-11 11:32:22 by simonm]
Save a few bytes by ommitting the static link field on closures with
an empty SRT.

25 years ago[project @ 1999-03-11 11:21:45 by simonm]
simonm [Thu, 11 Mar 1999 11:21:47 +0000 (11:21 +0000)]
[project @ 1999-03-11 11:21:45 by simonm]
HPUX fixes.

25 years ago[project @ 1999-03-11 10:26:56 by sof]
sof [Thu, 11 Mar 1999 10:26:56 +0000 (10:26 +0000)]
[project @ 1999-03-11 10:26:56 by sof]
Pass -fcompiling-prelude through.

25 years ago[project @ 1999-03-11 09:46:30 by sof]
sof [Thu, 11 Mar 1999 09:46:31 +0000 (09:46 +0000)]
[project @ 1999-03-11 09:46:30 by sof]
-fcompiling-prelude is back!

When compiling the Prelude we need to distinguish between wired-in
module references that are DLL-bound or not. (Just having -static
didn't cut it in the end, since it also encompasses RTS references.)

On platforms that don't use Win32 DLLs, Preludes compiled with and
without -fcompiling-prelude will be observationally equivalent.

25 years ago[project @ 1999-03-11 09:31:53 by simonm]
simonm [Thu, 11 Mar 1999 09:31:53 +0000 (09:31 +0000)]
[project @ 1999-03-11 09:31:53 by simonm]
Fix a small bug in weak ptr support.

25 years ago[project @ 1999-03-11 09:11:38 by sof]
sof [Thu, 11 Mar 1999 09:11:38 +0000 (09:11 +0000)]
[project @ 1999-03-11 09:11:38 by sof]
After 'make install' has completed, make sure we regenerate the
script in a state that's useable.

25 years ago[project @ 1999-03-10 18:50:24 by sof]
sof [Wed, 10 Mar 1999 18:50:24 +0000 (18:50 +0000)]
[project @ 1999-03-10 18:50:24 by sof]
Last commit made empty where bodies illegal, i.e.,

  x = 2 where

Re-added support for this "feature".

25 years ago[project @ 1999-03-10 14:10:47 by sof]
sof [Wed, 10 Mar 1999 14:10:49 +0000 (14:10 +0000)]
[project @ 1999-03-10 14:10:47 by sof]
Some Haskell98-related regression tests

25 years ago[project @ 1999-03-10 11:03:48 by sof]
sof [Wed, 10 Mar 1999 11:03:51 +0000 (11:03 +0000)]
[project @ 1999-03-10 11:03:48 by sof]
Neural network regression test app; contains painfully long list of
constants.

25 years ago[project @ 1999-03-10 10:53:26 by simonm]
simonm [Wed, 10 Mar 1999 10:53:40 +0000 (10:53 +0000)]
[project @ 1999-03-10 10:53:26 by simonm]
Put mkdependHS in libexecdir, not bindir.

25 years ago[project @ 1999-03-09 17:33:51 by sewardj]
sewardj [Tue, 9 Mar 1999 17:33:51 +0000 (17:33 +0000)]
[project @ 1999-03-09 17:33:51 by sewardj]
Now lives in ghc/interpreter/lib, along with other libraries.

25 years ago[project @ 1999-03-09 15:33:16 by sewardj]
sewardj [Tue, 9 Mar 1999 15:33:16 +0000 (15:33 +0000)]
[project @ 1999-03-09 15:33:16 by sewardj]
Handle CAF_UNENTERED (ie, reverted) in scavenge_mut_once_list

25 years ago[project @ 1999-03-09 14:51:03 by sewardj]
sewardj [Tue, 9 Mar 1999 14:51:30 +0000 (14:51 +0000)]
[project @ 1999-03-09 14:51:03 by sewardj]
Many improvements resulting from first attempt to run nofib suite:
-- More libraries (lib/*.hs) brought into operation
-- Prelude error handling and basic I/O improved
-- Changed bytecode immediate value fields so large constant
--   tables can be compiled
-- Fixed bugs: translation of FATBAR, negative floating point
--   literals, strict constructors, handling of CAFs

25 years ago[project @ 1999-03-09 14:27:06 by sewardj]
sewardj [Tue, 9 Mar 1999 14:27:06 +0000 (14:27 +0000)]
[project @ 1999-03-09 14:27:06 by sewardj]
#ifdeffery to make it work with interpreter.

25 years ago[project @ 1999-03-09 14:24:43 by sewardj]
sewardj [Tue, 9 Mar 1999 14:24:46 +0000 (14:24 +0000)]
[project @ 1999-03-09 14:24:43 by sewardj]
Include CAF_ENTEREDs on the mutables list so they get scavenged correctly.

25 years ago[project @ 1999-03-08 17:05:41 by simonm]
simonm [Mon, 8 Mar 1999 17:05:41 +0000 (17:05 +0000)]
[project @ 1999-03-08 17:05:41 by simonm]
Fix bug in mkRegLiveness causing bogus heap checks to be generated on the Sparc.

25 years ago[project @ 1999-03-08 16:41:42 by sof]
sof [Mon, 8 Mar 1999 16:41:42 +0000 (16:41 +0000)]
[project @ 1999-03-08 16:41:42 by sof]
docfix

25 years ago[project @ 1999-03-08 16:41:24 by sof]
sof [Mon, 8 Mar 1999 16:41:24 +0000 (16:41 +0000)]
[project @ 1999-03-08 16:41:24 by sof]
enlargeStablePtrTable: initialise the whole table (incl. index 0) the first
time around.

25 years ago[project @ 1999-03-08 10:40:46 by simonm]
simonm [Mon, 8 Mar 1999 10:40:46 +0000 (10:40 +0000)]
[project @ 1999-03-08 10:40:46 by simonm]
s/show/showSDoc/

Discovered-by: removing instance Show (->) :-)

25 years ago[project @ 1999-03-05 12:43:26 by kw217]
kw217 [Fri, 5 Mar 1999 12:43:26 +0000 (12:43 +0000)]
[project @ 1999-03-05 12:43:26 by kw217]
More counters reinstated; this should be the lot now:
  ENT_AP_UPD_ctr, ENT_BH_ctr, RET_UNBOXED_TUP_ctr, RET_UNBOXED_TUP_hst[]

25 years ago[project @ 1999-03-05 12:02:33 by kw217]
kw217 [Fri, 5 Mar 1999 12:02:33 +0000 (12:02 +0000)]
[project @ 1999-03-05 12:02:33 by kw217]
Counter UPD_PAP_IN_PLACE_ctr erroneously missed from raw Ticky dump.

25 years ago[project @ 1999-03-05 10:21:22 by sof]
sof [Fri, 5 Mar 1999 10:21:33 +0000 (10:21 +0000)]
[project @ 1999-03-05 10:21:22 by sof]
Support for unsafely thawing your (Byte)Arrays, i.e., added the
following ops:

 MutableArray.unsafeThawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt)
 MutableArray.unsafeThawByteArray :: Ix ix => ByteArray ix -> ST s (MutableByteArray s ix)
 MutableArray.thawByteArray :: Ix ix => ByteArray ix -> ST s (MutableByteArray s ix)

 ST.unsafeThawSTArray      :: Ix ix => Array ix elt -> ST s (STArray s ix elt)
 LazyST.unsafeThawSTArray   :: Ix ix => Array ix elt -> ST s (STArray s ix elt)

 IOExts.unsafeFreezeIOArray :: Ix ix => IOArray ix elt -> IO (Array ix elt)
 IOExts.unsafeThawIOArray   :: Ix ix => Array ix elt -> IO (IOArray ix elt)

+ removed the re-exportation of Monad that ST and LazyST did.

25 years ago[project @ 1999-03-05 09:38:43 by sof]
sof [Fri, 5 Mar 1999 09:38:43 +0000 (09:38 +0000)]
[project @ 1999-03-05 09:38:43 by sof]
Remove the Show instance for (a->b). It will not be missed..

25 years ago[project @ 1999-03-04 17:52:08 by simonm]
simonm [Thu, 4 Mar 1999 17:52:08 +0000 (17:52 +0000)]
[project @ 1999-03-04 17:52:08 by simonm]
Top-level non-updatable thunks get closure type FUN_STATIC, not
THUNK_STATIC.  (helps the garbage collector decide where the static
link field should be).

25 years ago[project @ 1999-03-04 13:26:48 by simonm]
simonm [Thu, 4 Mar 1999 13:26:49 +0000 (13:26 +0000)]
[project @ 1999-03-04 13:26:48 by simonm]
Make type substitution strict.  This partially fixes the space leak,
and seems to improve performance marginally.

25 years ago[project @ 1999-03-04 13:07:48 by sof]
sof [Thu, 4 Mar 1999 13:07:48 +0000 (13:07 +0000)]
[project @ 1999-03-04 13:07:48 by sof]
more cygwin tweakage, this time for b19

25 years ago[project @ 1999-03-04 10:56:51 by sof]
sof [Thu, 4 Mar 1999 10:56:51 +0000 (10:56 +0000)]
[project @ 1999-03-04 10:56:51 by sof]
Previous mingw32 related commit upset things on the cygwin side.

25 years ago[project @ 1999-03-04 10:18:02 by sewardj]
sewardj [Thu, 4 Mar 1999 10:18:02 +0000 (10:18 +0000)]
[project @ 1999-03-04 10:18:02 by sewardj]
Amalgamated pp.c into stg.c.

25 years ago[project @ 1999-03-03 19:28:23 by sof]
sof [Wed, 3 Mar 1999 19:28:23 +0000 (19:28 +0000)]
[project @ 1999-03-03 19:28:23 by sof]
DLL_IMPORT_DATA_VAR fix

25 years ago[project @ 1999-03-03 19:27:23 by sof]
sof [Wed, 3 Mar 1999 19:27:23 +0000 (19:27 +0000)]
[project @ 1999-03-03 19:27:23 by sof]
Define HEAP_ALLOCED macro in non Win32 DLL land too

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.