ghc-hetmet.git
24 years ago[project @ 2000-05-12 12:56:15 by rrt]
rrt [Fri, 12 May 2000 12:56:15 +0000 (12:56 +0000)]
[project @ 2000-05-12 12:56:15 by rrt]
Added docbook.

24 years ago[project @ 2000-05-12 12:48:36 by simonmar]
simonmar [Fri, 12 May 2000 12:48:36 +0000 (12:48 +0000)]
[project @ 2000-05-12 12:48:36 by simonmar]
add some #ifdefery to suppress warnings.

24 years ago[project @ 2000-05-12 12:44:09 by rrt]
rrt [Fri, 12 May 2000 12:44:09 +0000 (12:44 +0000)]
[project @ 2000-05-12 12:44:09 by rrt]
Upped minimum version of GHC required to use new PrelAddr to 405.

24 years ago[project @ 2000-05-12 11:59:38 by sewardj]
sewardj [Fri, 12 May 2000 11:59:39 +0000 (11:59 +0000)]
[project @ 2000-05-12 11:59:38 by sewardj]
First try at support for DietHEP.  Has some unfindable bug which causes
it to fail when hugs.c is compiled -O; works fine without -O.

24 years ago[project @ 2000-05-12 11:55:52 by rrt]
rrt [Fri, 12 May 2000 11:55:52 +0000 (11:55 +0000)]
[project @ 2000-05-12 11:55:52 by rrt]
Remove reference to dLL_ifs.hi (was being specifically ignored  in
preprocess_include_dirs).

24 years ago[project @ 2000-05-12 11:48:30 by rrt]
rrt [Fri, 12 May 2000 11:48:31 +0000 (11:48 +0000)]
[project @ 2000-05-12 11:48:30 by rrt]
Fix install rules for _imp libraries under Windows. They must only be
installed if EnableWin32Dlls is YES, but not in the dll way (otherwise
a spurious _dll is inserted into the library name).

24 years ago[project @ 2000-05-12 11:00:30 by simonmar]
simonmar [Fri, 12 May 2000 11:00:30 +0000 (11:00 +0000)]
[project @ 2000-05-12 11:00:30 by simonmar]
integerToWord64 only started working properly yesterday (!), so don't
include folding on word bitops in pre-4.07 GHCs.

24 years ago[project @ 2000-05-12 09:20:03 by panne]
panne [Fri, 12 May 2000 09:20:03 +0000 (09:20 +0000)]
[project @ 2000-05-12 09:20:03 by panne]
Don't try to install import libraries if way /= dll

24 years ago[project @ 2000-05-12 09:18:21 by simonmar]
simonmar [Fri, 12 May 2000 09:18:21 +0000 (09:18 +0000)]
[project @ 2000-05-12 09:18:21 by simonmar]
versionitis: pre-4.06 GHCs didn't have PrelAddr.intToWord

24 years ago[project @ 2000-05-11 19:43:08 by rrt]
rrt [Thu, 11 May 2000 19:43:08 +0000 (19:43 +0000)]
[project @ 2000-05-11 19:43:08 by rrt]
Rename From*Bounded functions to boundedFrom* for consistency with
numericFrom*

24 years ago[project @ 2000-05-11 19:37:30 by rrt]
rrt [Thu, 11 May 2000 19:37:50 +0000 (19:37 +0000)]
[project @ 2000-05-11 19:37:30 by rrt]
Corrected use of patsubst.

24 years ago[project @ 2000-05-11 16:16:32 by simonmar]
simonmar [Thu, 11 May 2000 16:16:32 +0000 (16:16 +0000)]
[project @ 2000-05-11 16:16:32 by simonmar]
add links to FFI stuff.

24 years ago[project @ 2000-05-11 16:07:37 by simonmar]
simonmar [Thu, 11 May 2000 16:07:37 +0000 (16:07 +0000)]
[project @ 2000-05-11 16:07:37 by simonmar]
First cut at 4.07's release notes.

24 years ago[project @ 2000-05-11 15:11:24 by panne]
panne [Thu, 11 May 2000 15:11:40 +0000 (15:11 +0000)]
[project @ 2000-05-11 15:11:24 by panne]
Added rules for constant folding with the folloging ops:
WordQuotOp, WordRemOp, AndOp, OrOp, XorOp, Int2AddrOp, Addr2IntOp,
Float2IntOp, DoubleNegOp, Double2IntOp, Double2FloatOp, Float2DoubleOp

24 years ago[project @ 2000-05-11 13:30:11 by simonmar]
simonmar [Thu, 11 May 2000 13:30:11 +0000 (13:30 +0000)]
[project @ 2000-05-11 13:30:11 by simonmar]
Try to avoid clashes with files already in $TMPDIR.

24 years ago[project @ 2000-05-11 13:15:38 by simonmar]
simonmar [Thu, 11 May 2000 13:15:38 +0000 (13:15 +0000)]
[project @ 2000-05-11 13:15:38 by simonmar]
Don't open with O_NONBLOCK, instead open in blocking mode and set
O_NONBLOCK subsequently with fcntl().  This appears to fix the
problems with FIFOs.

Pick one of the following:

- the semantics as implemented by Linux & Solaris is broken
- the POSIX semantics is broken
- our expectation that things should behave sensibly is unreasonable

24 years ago[project @ 2000-05-11 12:50:51 by rrt]
rrt [Thu, 11 May 2000 12:50:51 +0000 (12:50 +0000)]
[project @ 2000-05-11 12:50:51 by rrt]
Make gmp DLL in DLL way (wasn't being made at all before).

24 years ago[project @ 2000-05-11 11:54:56 by simonmar]
simonmar [Thu, 11 May 2000 11:54:56 +0000 (11:54 +0000)]
[project @ 2000-05-11 11:54:56 by simonmar]
StablePtrRep is now more like a pointer than an integer, so use the
correct union tag when assigning one to a register to avoid warnings.

24 years ago[project @ 2000-05-11 11:05:32 by rrt]
rrt [Thu, 11 May 2000 11:05:32 +0000 (11:05 +0000)]
[project @ 2000-05-11 11:05:32 by rrt]
Fix installing for DLLized Windows build.

24 years ago[project @ 2000-05-11 10:45:34 by rrt]
rrt [Thu, 11 May 2000 10:45:34 +0000 (10:45 +0000)]
[project @ 2000-05-11 10:45:34 by rrt]
Removed dLL_ifs.hi from INSTALL_DATA under Windows (no longer exists).

24 years ago[project @ 2000-05-11 07:20:36 by andy]
andy [Thu, 11 May 2000 07:20:36 +0000 (07:20 +0000)]
[project @ 2000-05-11 07:20:36 by andy]
Wibble...

The corrected example is as follows:

myS :: (forall t t1 t2. (t -> t2 -> t1) -> (t -> t2) -> t -> t1)
[NoDiscard] __AL 3
myS
  = \ @ t @ t1 @ t2 f :: (t -> t2 -> t1) g :: (t -> t2) x :: t -> f x (g x)

public class myS implements Code {
  public Object ENTER () {
    VM.COLLECT(3, this);
    final Object f = VM.POP();
    final Object g = VM.POP();
    final Object x = VM.POP();
    VM.PUSH(x);
    VM.PUSH(new Thunk(new myS$1(g, x)));
    return f;
  }
}
class myS$1 extends Code {
  final Object g;
  final Object x;
  public myS$1 (Object _g_, Object _x_) {
    g = _g_;
    x = _x_;
  }
  public Object ENTER () {
    VM.PUSH(x);
    return g;
  }
}

24 years ago[project @ 2000-05-11 07:10:11 by andy]
andy [Thu, 11 May 2000 07:10:11 +0000 (07:10 +0000)]
[project @ 2000-05-11 07:10:11 by andy]
First attempt at at class lifter for the GHC GOO backend.

This included a cleanup of the Java/GOO abstract syntax
  - Name is now a string, not a list of string
  - Type is used instead of name in some places
      (for example, with new)
  - other minor tweeks.

Andy

---------
Example for myS f g x = f x (g x)

public class myS implements Code {
  public Object ENTER () {
    VM.COLLECT(3, this);
    final Object f = VM.POP();
    final Object g = VM.POP();
    final Object x = VM.POP();
    VM.PUSH(x);
    VM.PUSH(new Thunk(new Code(g, x)));
    return f;
  }
}
class myS$1 {
  final Object g;
  final Object x;
  public myS$1 (Object _g_, Object _x_) {
    g = _g_;
    x = _x_;
  }
  public Object ENTER () {
    VM.PUSH(x);
    return g;
  }
}

24 years ago[project @ 2000-05-10 16:53:35 by sewardj]
sewardj [Wed, 10 May 2000 16:53:35 +0000 (16:53 +0000)]
[project @ 2000-05-10 16:53:35 by sewardj]
Reinstate the bytecode peephole optimiser.

24 years ago[project @ 2000-05-10 16:51:52 by sewardj]
sewardj [Wed, 10 May 2000 16:51:52 +0000 (16:51 +0000)]
[project @ 2000-05-10 16:51:52 by sewardj]
findFilesForModule: search default library directories before looking
at user-supplied search paths.

24 years ago[project @ 2000-05-10 15:16:11 by panne]
panne [Wed, 10 May 2000 15:16:11 +0000 (15:16 +0000)]
[project @ 2000-05-10 15:16:11 by panne]
More RULES for coercions and truncate.

24 years ago[project @ 2000-05-10 14:53:41 by rrt]
rrt [Wed, 10 May 2000 14:53:41 +0000 (14:53 +0000)]
[project @ 2000-05-10 14:53:41 by rrt]
Temporarily removed i018 test on mingw

24 years ago[project @ 2000-05-10 14:33:41 by rrt]
rrt [Wed, 10 May 2000 14:33:41 +0000 (14:33 +0000)]
[project @ 2000-05-10 14:33:41 by rrt]
Omitted some tests on mingw.

24 years ago[project @ 2000-05-10 14:30:59 by rrt]
rrt [Wed, 10 May 2000 14:30:59 +0000 (14:30 +0000)]
[project @ 2000-05-10 14:30:59 by rrt]
Omitted some tests on mingw (conc020 *should* work, but doesn't).

24 years ago[project @ 2000-05-10 13:07:43 by simonmar]
simonmar [Wed, 10 May 2000 13:07:43 +0000 (13:07 +0000)]
[project @ 2000-05-10 13:07:43 by simonmar]
compile CType.lhs via-C, since the NCG's register allocator seems to
behave suboptimally when presented with the huge switch in this file.

24 years ago[project @ 2000-05-10 12:52:53 by simonmar]
simonmar [Wed, 10 May 2000 12:52:53 +0000 (12:52 +0000)]
[project @ 2000-05-10 12:52:53 by simonmar]
Use the native code generator by default for compilations without -O.

24 years ago[project @ 2000-05-10 12:51:03 by simonmar]
simonmar [Wed, 10 May 2000 12:51:03 +0000 (12:51 +0000)]
[project @ 2000-05-10 12:51:03 by simonmar]
Add tryTakeMVar test.

24 years ago[project @ 2000-05-10 12:43:08 by rrt]
rrt [Wed, 10 May 2000 12:43:08 +0000 (12:43 +0000)]
[project @ 2000-05-10 12:43:08 by rrt]
Removed LITERATE, added DOCBOOK_PREFIX, and improved some comments.

24 years ago[project @ 2000-05-10 12:26:14 by rrt]
rrt [Wed, 10 May 2000 12:26:14 +0000 (12:26 +0000)]
[project @ 2000-05-10 12:26:14 by rrt]
DocBook scripts from Cygnus DocBook tools; the first visible sign of freedom
from the tyranny of RPMs.

24 years ago[project @ 2000-05-10 12:17:35 by rrt]
rrt [Wed, 10 May 2000 12:17:35 +0000 (12:17 +0000)]
[project @ 2000-05-10 12:17:35 by rrt]
Tried to bring this test into the modern age. Failed. I've committed the
pieces to be picked up later.

24 years ago[project @ 2000-05-10 11:56:15 by simonmar]
simonmar [Wed, 10 May 2000 11:56:15 +0000 (11:56 +0000)]
[project @ 2000-05-10 11:56:15 by simonmar]
Put back the '$(RM) $@' in the rule for building library modules when
splitting, until we fix this problem properly.

24 years ago[project @ 2000-05-10 11:28:47 by keithw]
keithw [Wed, 10 May 2000 11:28:47 +0000 (11:28 +0000)]
[project @ 2000-05-10 11:28:47 by keithw]
Add comment noting that StgLint is currently broken.

24 years ago[project @ 2000-05-10 11:02:00 by simonmar]
simonmar [Wed, 10 May 2000 11:02:01 +0000 (11:02 +0000)]
[project @ 2000-05-10 11:02:00 by simonmar]
rename takeMaybeMVar to tryTakeMVar

24 years ago[project @ 2000-05-10 10:58:15 by sewardj]
sewardj [Wed, 10 May 2000 10:58:15 +0000 (10:58 +0000)]
[project @ 2000-05-10 10:58:15 by sewardj]
Undo revision 1.34 of Prelude.hs, ie, reinstate fromDouble in class
Fractional (in standalone mode).  This reduces by a factor of 6 the
number of enters required for some simple expressions,
for example    1.0 :: Double.

24 years ago[project @ 2000-05-10 10:40:37 by rrt]
rrt [Wed, 10 May 2000 10:40:37 +0000 (10:40 +0000)]
[project @ 2000-05-10 10:40:37 by rrt]
Updated to cope with updated test.

24 years ago[project @ 2000-05-10 09:27:59 by panne]
panne [Wed, 10 May 2000 09:27:59 +0000 (09:27 +0000)]
[project @ 2000-05-10 09:27:59 by panne]
Added RULES for realToFrac with types
   Double   -> Float
   Float    -> Double
   Double   -> Double
   Float    -> Float
   Rational -> Rational

24 years ago[project @ 2000-05-10 09:26:16 by rrt]
rrt [Wed, 10 May 2000 09:26:16 +0000 (09:26 +0000)]
[project @ 2000-05-10 09:26:16 by rrt]
This was unaccountably empty before.

24 years ago[project @ 2000-05-10 09:02:25 by sewardj]
sewardj [Wed, 10 May 2000 09:02:25 +0000 (09:02 +0000)]
[project @ 2000-05-10 09:02:25 by sewardj]
Allow the c-t storage manager to reuse dead symbol table slots, as had
always been intended, but up to now has been disabled due to ultra-paranoid
debugging.

24 years ago[project @ 2000-05-10 09:00:20 by sewardj]
sewardj [Wed, 10 May 2000 09:00:20 +0000 (09:00 +0000)]
[project @ 2000-05-10 09:00:20 by sewardj]
Zap CRUDE_PROFILING.  It was there mainly to test assess the effect of
the simplifier; is redundant.

24 years ago[project @ 2000-05-10 08:27:12 by simonmar]
simonmar [Wed, 10 May 2000 08:27:12 +0000 (08:27 +0000)]
[project @ 2000-05-10 08:27:12 by simonmar]
Hack to work around bug in pre-4.06 mkdependHS.  Fixes last night's
nightly build failure.

24 years ago[project @ 2000-05-09 17:38:19 by andy]
andy [Tue, 9 May 2000 17:38:19 +0000 (17:38 +0000)]
[project @ 2000-05-09 17:38:19 by andy]
Removing the duplex #include "Storage.h"

24 years ago[project @ 2000-05-09 15:37:07 by rrt]
rrt [Tue, 9 May 2000 15:37:08 +0000 (15:37 +0000)]
[project @ 2000-05-09 15:37:07 by rrt]
Removed info and texinfo support.

24 years ago[project @ 2000-05-09 13:31:27 by rrt]
rrt [Tue, 9 May 2000 13:31:27 +0000 (13:31 +0000)]
[project @ 2000-05-09 13:31:27 by rrt]
Used identifiers rather than paths to find the print and HTML stylesheets.
N.B. This means that building docs won't work unless you set
SGML_CATALOG_FILES to
/usr/lib/sgml/CATALOG:/usr/lib/sgml/stylesheets/nwalsh-modular/docbook.cat,
or wait for this lot to be added to the build system (RSN).

24 years ago[project @ 2000-05-09 13:15:37 by simonpj]
simonpj [Tue, 9 May 2000 13:15:37 +0000 (13:15 +0000)]
[project @ 2000-05-09 13:15:37 by simonpj]
Get package names right.  Again.

24 years ago[project @ 2000-05-09 12:34:29 by rrt]
rrt [Tue, 9 May 2000 12:34:29 +0000 (12:34 +0000)]
[project @ 2000-05-09 12:34:29 by rrt]
Point out in the comment for GhcLibHcOpts that it also applies to the
standard library and hslibs.

24 years ago[project @ 2000-05-09 10:43:45 by rrt]
rrt [Tue, 9 May 2000 10:43:45 +0000 (10:43 +0000)]
[project @ 2000-05-09 10:43:45 by rrt]
Changed Perl test so that it simply allows vv5 & 6 and disallows any other;
also hardwire path to perl to /bin/perl under Windows, to avoid clashing with
other weird Perls that may be on the path.

24 years ago[project @ 2000-05-09 10:13:18 by sewardj]
sewardj [Tue, 9 May 2000 10:13:18 +0000 (10:13 +0000)]
[project @ 2000-05-09 10:13:18 by sewardj]
Add -DNO_REGS to SRC_CC_OPTS.

24 years ago[project @ 2000-05-09 10:06:06 by sewardj]
sewardj [Tue, 9 May 2000 10:06:06 +0000 (10:06 +0000)]
[project @ 2000-05-09 10:06:06 by sewardj]
Record details of the fptools/mk/build.mk required to build Hugs.

24 years ago[project @ 2000-05-09 10:00:35 by sewardj]
sewardj [Tue, 9 May 2000 10:00:36 +0000 (10:00 +0000)]
[project @ 2000-05-09 10:00:35 by sewardj]
Fix various compile-time warnings in the assembler and evaluator.

24 years ago[project @ 2000-05-09 09:27:03 by rrt]
rrt [Tue, 9 May 2000 09:27:03 +0000 (09:27 +0000)]
[project @ 2000-05-09 09:27:03 by rrt]
Corrected a typo (omitted space).

24 years ago[project @ 2000-05-09 09:26:29 by sewardj]
sewardj [Tue, 9 May 2000 09:26:29 +0000 (09:26 +0000)]
[project @ 2000-05-09 09:26:29 by sewardj]
Undefine NO_REGS.  Seems unneccessary since the driver supplies it anyway
when compiling the RTS, and this duplicate defn generates a lot of warnings.

24 years ago[project @ 2000-05-09 09:11:40 by sewardj]
sewardj [Tue, 9 May 2000 09:11:40 +0000 (09:11 +0000)]
[project @ 2000-05-09 09:11:40 by sewardj]
Reorder tests in whatIs() to try for most common options first.

24 years ago[project @ 2000-05-09 08:22:01 by rrt]
rrt [Tue, 9 May 2000 08:22:01 +0000 (08:22 +0000)]
[project @ 2000-05-09 08:22:01 by rrt]
Typo: changed ($Var) to $(Var) in test to set SplitObjs.

24 years ago[project @ 2000-05-08 17:24:10 by panne]
panne [Mon, 8 May 2000 17:24:10 +0000 (17:24 +0000)]
[project @ 2000-05-08 17:24:10 by panne]
Committing the Makefile, too, might be a good idea: Removed ctypes.

24 years ago[project @ 2000-05-08 17:18:02 by panne]
panne [Mon, 8 May 2000 17:18:02 +0000 (17:18 +0000)]
[project @ 2000-05-08 17:18:02 by panne]
* Changed a backslash at EOL to the word "backslash". Using cpp in
  conjunction with Haskell is a real hack...

* Renamed the module Ctypes to Ctype, because CTypes is (soon) a
  module from package lang. I'm not sure if two files differing only
  in their case work under "the" OS. Just to be sure...

24 years ago[project @ 2000-05-08 15:57:01 by simonmar]
simonmar [Mon, 8 May 2000 15:57:01 +0000 (15:57 +0000)]
[project @ 2000-05-08 15:57:01 by simonmar]
Detect threads that are blocked on themselves (i.e. black holed), and
raise NonTermination exceptions.  We only do this when the system is
deadlocked, so as not to introduce unnecessary overhead in the normal
case.

24 years ago[project @ 2000-05-08 15:19:48 by panne]
panne [Mon, 8 May 2000 15:19:48 +0000 (15:19 +0000)]
[project @ 2000-05-08 15:19:48 by panne]
Replaced last remnants of C in the scanner/parser with carefully tuned
Haskell. TODO: Test with GHC < 3.03

24 years ago[project @ 2000-05-08 15:05:36 by simonmar]
simonmar [Mon, 8 May 2000 15:05:36 +0000 (15:05 +0000)]
[project @ 2000-05-08 15:05:36 by simonmar]
change a bunch of externs into statics.  This fixes a long-standing
bug and should eliminate the annoying "<blah> was declared extern and
later static" warnings from gcc.

24 years ago[project @ 2000-05-08 15:03:24 by simonmar]
simonmar [Mon, 8 May 2000 15:03:24 +0000 (15:03 +0000)]
[project @ 2000-05-08 15:03:24 by simonmar]
Put the extern declarations *outside* the function body for a
CCodeBlock.  This will enable us to give "extern" declarations for
variables that have scope static to the current module.

24 years ago[project @ 2000-05-08 14:54:57 by rrt]
rrt [Mon, 8 May 2000 14:54:58 +0000 (14:54 +0000)]
[project @ 2000-05-08 14:54:57 by rrt]
Replaced SGML2INFO stuff (which is no longer supported) with SGML2PS (which
is, and may well be useful to some).

24 years ago[project @ 2000-05-08 13:40:24 by panne]
panne [Mon, 8 May 2000 13:40:24 +0000 (13:40 +0000)]
[project @ 2000-05-08 13:40:24 by panne]
*argl* Sorry, my usual Monday-typos...

24 years ago[project @ 2000-05-08 13:39:17 by panne]
panne [Mon, 8 May 2000 13:39:17 +0000 (13:39 +0000)]
[project @ 2000-05-08 13:39:17 by panne]
shutdownHaskellAndExit is "safe" again

24 years ago[project @ 2000-05-08 08:23:08 by simonpj]
simonpj [Mon, 8 May 2000 08:23:08 +0000 (08:23 +0000)]
[project @ 2000-05-08 08:23:08 by simonpj]
Name qualification
~~~~~~~~~~~~~~~~~~
Yet another wilbble on the recent renamer fix, this
time to make sure that names are printed unqualified
if they should be.    Sigh.

24 years ago[project @ 2000-05-08 07:14:35 by simonpj]
simonpj [Mon, 8 May 2000 07:14:35 +0000 (07:14 +0000)]
[project @ 2000-05-08 07:14:35 by simonpj]
Interface file reading
~~~~~~~~~~~~~~~~~~~~~~
Make interface files reading more robust.
  * If the old interface file is unreadable, don't fail. [bug fix]

  * If the old interface file mentions interfaces
    that are unreadable, don't fail. [bug fix]

  * When we can't find the interface file,
    print the directories we are looking in.  [feature]

24 years ago[project @ 2000-05-02 07:50:41 by chak]
chak [Tue, 2 May 2000 07:50:41 +0000 (07:50 +0000)]
[project @ 2000-05-02 07:50:41 by chak]
Removed a last flaw and use `cvs export' instead of `cvs checkout' now.

24 years ago[project @ 2000-05-01 14:53:47 by panne]
panne [Mon, 1 May 2000 14:53:47 +0000 (14:53 +0000)]
[project @ 2000-05-01 14:53:47 by panne]
Adding a bunch of `unsafe's to foreign imports. TODO: Could somebody
verify that declaring shutdownHaskellAndExit as unsafe is OK?

24 years ago[project @ 2000-05-01 14:44:25 by panne]
panne [Mon, 1 May 2000 14:44:25 +0000 (14:44 +0000)]
[project @ 2000-05-01 14:44:25 by panne]
The NCG doesn't like `foreign label' yet, so addrOf_ErrorHdrHook is a
C function now.

24 years ago[project @ 2000-05-01 14:35:17 by panne]
panne [Mon, 1 May 2000 14:35:17 +0000 (14:35 +0000)]
[project @ 2000-05-01 14:35:17 by panne]
Handle sameMutVar#, sameMVar#, writeForeignObj#

24 years ago[project @ 2000-05-01 14:33:39 by panne]
panne [Mon, 1 May 2000 14:33:39 +0000 (14:33 +0000)]
[project @ 2000-05-01 14:33:39 by panne]
Handle ThreadIdRep. Output warnings for {Word,Int}64Rep, returning a
completely bogus size (for testing NCG only).

24 years ago[project @ 2000-05-01 14:31:22 by panne]
panne [Mon, 1 May 2000 14:31:22 +0000 (14:31 +0000)]
[project @ 2000-05-01 14:31:22 by panne]
Fixed typo in comment

24 years ago[project @ 2000-04-30 01:42:23 by chak]
chak [Sun, 30 Apr 2000 01:42:23 +0000 (01:42 +0000)]
[project @ 2000-04-30 01:42:23 by chak]
The first version of a script that allows building rpm packages directly from
CVS.  It currently works for ghc only, but will be extended to cover the
other fptools.

It should work on all rpm-based systems, as I tried to avoid any dependency on
Red Hat systems (as far as I am aware of them).  In particular, the rpm build
process is carried out below /tmp instead of the standard /usr/src/redhat
hierarchy.

By default the cvs head of the anonymous repository is built, but cvs-style -d
-D, and -r options allow to built from a different repository and revision.

[This version is only half tested, because the CVS head seems to not build
anymore today.]

24 years ago[project @ 2000-04-29 22:44:26 by simonpj]
simonpj [Sat, 29 Apr 2000 22:44:26 +0000 (22:44 +0000)]
[project @ 2000-04-29 22:44:26 by simonpj]
Wibble in recent RnEnv changes

This meant that things fell over when you try to
build the Prelude.  Fixed now.

24 years ago[project @ 2000-04-29 06:53:12 by chak]
chak [Sat, 29 Apr 2000 06:53:12 +0000 (06:53 +0000)]
[project @ 2000-04-29 06:53:12 by chak]
The file list generation needed some more tweaking, but seems to work now.

24 years ago[project @ 2000-04-28 17:16:10 by rrt]
rrt [Fri, 28 Apr 2000 17:16:10 +0000 (17:16 +0000)]
[project @ 2000-04-28 17:16:10 by rrt]
Changed HSprel.dll to HSstd.dll

24 years ago[project @ 2000-04-28 16:59:53 by rrt]
rrt [Fri, 28 Apr 2000 16:59:53 +0000 (16:59 +0000)]
[project @ 2000-04-28 16:59:53 by rrt]
Changed HSprel.dll to HSstd.dll, as it should be.

24 years ago[project @ 2000-04-28 15:06:04 by panne]
panne [Fri, 28 Apr 2000 15:06:04 +0000 (15:06 +0000)]
[project @ 2000-04-28 15:06:04 by panne]
Updated out-of-date comment about representation of StablePtr

24 years ago[project @ 2000-04-28 15:05:04 by panne]
panne [Fri, 28 Apr 2000 15:05:04 +0000 (15:05 +0000)]
[project @ 2000-04-28 15:05:04 by panne]
Nuked trace message from NCG

24 years ago[project @ 2000-04-28 15:04:07 by panne]
panne [Fri, 28 Apr 2000 15:04:07 +0000 (15:04 +0000)]
[project @ 2000-04-28 15:04:07 by panne]
NCG now handles writeBLAHOffAddr# primops

24 years ago[project @ 2000-04-28 13:09:19 by sewardj]
sewardj [Fri, 28 Apr 2000 13:09:19 +0000 (13:09 +0000)]
[project @ 2000-04-28 13:09:19 by sewardj]
Remove some debug printing.

24 years ago[project @ 2000-04-28 13:03:47 by sewardj]
sewardj [Fri, 28 Apr 2000 13:03:47 +0000 (13:03 +0000)]
[project @ 2000-04-28 13:03:47 by sewardj]
Handle TUPLE in substExpr().

24 years ago[project @ 2000-04-28 11:58:22 by simonpj]
simonpj [Fri, 28 Apr 2000 11:58:23 +0000 (11:58 +0000)]
[project @ 2000-04-28 11:58:22 by simonpj]
Fix a renamer bug that meant we weren't getting
package information propagated properly.

24 years ago[project @ 2000-04-28 09:45:26 by sewardj]
sewardj [Fri, 28 Apr 2000 09:45:26 +0000 (09:45 +0000)]
[project @ 2000-04-28 09:45:26 by sewardj]
Time for bye-byes for QueueTemplate.h.  The big reorganisation of the
BCO linker makes this unnecessary.

24 years ago[project @ 2000-04-27 16:35:29 by sewardj]
sewardj [Thu, 27 Apr 2000 16:35:30 +0000 (16:35 +0000)]
[project @ 2000-04-27 16:35:29 by sewardj]
A total rewrite of the BCO assembler/linker, and rationalisation of
the code management and code generation phases of Hugs.

Problems with the old linker:

* Didn't have a clean way to insert a pointer to GHC code into a BCO.
  This meant CAF GC didn't work properly in combined mode.

* Leaked memory.  Each BCO, caf and constructor generated by Hugs had
  a corresponding malloc'd record used in its construction.  These
  records existed forever.  Pointers from the Hugs symbol tables into
  the runtime heap always went via these intermediates, for no apparent
  reason.

* A global variable holding a list of top-level stg trees was used
  during code generation.  It was hard to associate trees in this
  list with entries in the name/tycon tables.  Just too many
  mechanisms.

The New World Order is as follows:

* The global code list (stgGlobals) is gone.

* Each name in the name table has a .closure field.  This points
  to the top-level code for that name.  Before bytecode generation
  this points to a STG tree.  During bytecode generation but before
  bytecode linking it is a MPtr pointing to a malloc'd intermediate
  structure (an AsmObject).  After linking, it is a real live pointer
  into the execution heap (CPtr) which is treated as a root during GC.

  Because tuples do not have name table entries, tycons which are
  tuples also have a .closure field, which is treated identically
  to those of name table entries.

* Each module has a code list -- a list of names and tuples.  If you
  are a name or tuple and you have something (code, CAF or Con) which
  needs to wind up in the execution heap, you MUST be on your module's
  code list.  Otherwise you won't get code generated.

* Lambda lifting generates new name table entries, which of course
  also wind up on the code list.

* The initial phase of code generation for a module m traverses m's
  code list.  The stg trees referenced in the .closure fields are
  code generated, creating AsmObject (AsmBCO, AsmCAF, AsmCon) in
  mallocville.  The .closure fields then point to these AsmObjects.
  Since AsmObjects can be mutually recursive, they can contain
  references to:
     * Other AsmObjects            Asm_RefObject
     * Existing closures           Asm_RefNoOp
     * name/tycon table entries    Asm_RefHugs
  AsmObjects can also contain BCO insns and non-ptr words.

* A second copy-and-link phase copies the AsmObjects into the
  execution heap, resolves the Asm_Ref* items, and frees up
  the malloc'd entities.

* Minor cleanups in compile-time storage.  There are now 3 kinds of
  address-y things available:
     CPtr/mkCPtr/cptrOf    -- ptrs to Closures, probably in exec heap
                              ie anything which the exec GC knows about
     MPtr/mkMPtr/mptrOf    -- ptrs to mallocville, which the exec GC
                              knows nothing about
     Addr/mkAddr/addrOf    -- literal addresses (like literal ints)

* Many hacky cases removed from codegen.c.  Referencing code or
  data during code generation is a lot simpler, since an entity
  is either:
      a CPtr, in which case use it as is
      a MPtr -- stuff it into the AsmObject and the linker will fix it
      a name or tycon
             -- ditto

* I've checked, using Purify that, at least in standalone mode,
  no longer leaks mallocd memory.  Prior to this it would leak at
  the rate of about 300k per Prelude.

* Added this comment to the top of codegen.c.

Still to do:

* Reinstate peephole optimisation for BCOs.

* Nuke magic number headers in AsmObjects, used for debugging.

* Profile and accelerate.  Code generation is slower because linking
  is slower.  Evaluation GC is slower because markHugsObjects has
  slowed down.

* Make setCurrentModule ignore name table entries created by the
  lambda-lifter.

* Zap various #if 0's in codegen.c/Assembler.c.

* Zap CRUDE_PROFILING.

24 years ago[project @ 2000-04-27 16:31:46 by sewardj]
sewardj [Thu, 27 Apr 2000 16:31:46 +0000 (16:31 +0000)]
[project @ 2000-04-27 16:31:46 by sewardj]
Zap unused revert_dead_CAFs.

24 years ago[project @ 2000-04-27 16:29:55 by sewardj]
sewardj [Thu, 27 Apr 2000 16:29:55 +0000 (16:29 +0000)]
[project @ 2000-04-27 16:29:55 by sewardj]
Remove misleading comment about registerisation assumptions.

24 years ago[project @ 2000-04-27 16:26:56 by sewardj]
sewardj [Thu, 27 Apr 2000 16:26:56 +0000 (16:26 +0000)]
[project @ 2000-04-27 16:26:56 by sewardj]
Add CMODE to switch conveniently between combined and standalone testing.

24 years ago[project @ 2000-04-27 13:54:11 by chak]
chak [Thu, 27 Apr 2000 13:54:11 +0000 (13:54 +0000)]
[project @ 2000-04-27 13:54:11 by chak]
debugged computation of the file list for the base (non-profiling) package

24 years ago[project @ 2000-04-27 13:52:33 by chak]
chak [Thu, 27 Apr 2000 13:52:33 +0000 (13:52 +0000)]
[project @ 2000-04-27 13:52:33 by chak]
made version consistent with version.mk

24 years ago[project @ 2000-04-27 13:14:44 by rrt]
rrt [Thu, 27 Apr 2000 13:14:44 +0000 (13:14 +0000)]
[project @ 2000-04-27 13:14:44 by rrt]
Goodness only knows what an "oarser" is. Or rather, was.

24 years ago[project @ 2000-04-27 11:11:55 by simonmar]
simonmar [Thu, 27 Apr 2000 11:11:55 +0000 (11:11 +0000)]
[project @ 2000-04-27 11:11:55 by simonmar]
update docs w.r.t. clean targets.

24 years ago[project @ 2000-04-27 11:06:26 by rrt]
rrt [Thu, 27 Apr 2000 11:06:26 +0000 (11:06 +0000)]
[project @ 2000-04-27 11:06:26 by rrt]
Spelt "compiled" with a "p" in a comment.

24 years ago[project @ 2000-04-27 11:04:36 by simonmar]
simonmar [Thu, 27 Apr 2000 11:04:37 +0000 (11:04 +0000)]
[project @ 2000-04-27 11:04:36 by simonmar]
remove 'veryclean' target.

24 years ago[project @ 2000-04-27 10:44:02 by simonmar]
simonmar [Thu, 27 Apr 2000 10:44:02 +0000 (10:44 +0000)]
[project @ 2000-04-27 10:44:02 by simonmar]
Give this subdir a proper target.mk, and set $(TOP) properly in
boilerplate.mk.

24 years ago[project @ 2000-04-27 10:40:43 by simonmar]
simonmar [Thu, 27 Apr 2000 10:40:43 +0000 (10:40 +0000)]
[project @ 2000-04-27 10:40:43 by simonmar]
Further cleanups to the clean targets.  Don't recurse too much for
distclean and maintainer-clean.

24 years ago[project @ 2000-04-27 10:16:13 by simonmar]
simonmar [Thu, 27 Apr 2000 10:16:13 +0000 (10:16 +0000)]
[project @ 2000-04-27 10:16:13 by simonmar]
sort out the clean targets.

- veryclean has gone away (don't know where it came from in the first
  place)

- the clean targets are now

mostlyclean <= clean <= distclean <= maintainer-clean

24 years ago[project @ 2000-04-27 10:09:01 by simonmar]
simonmar [Thu, 27 Apr 2000 10:09:01 +0000 (10:09 +0000)]
[project @ 2000-04-27 10:09:01 by simonmar]
remove unused cruft