ghc-hetmet.git
23 years ago[project @ 2001-02-13 14:18:49 by simonmar]
simonmar [Tue, 13 Feb 2001 14:18:49 +0000 (14:18 +0000)]
[project @ 2001-02-13 14:18:49 by simonmar]
Don't build HS*.o for ways other than the normal way.

23 years ago[project @ 2001-02-13 13:11:07 by sewardj]
sewardj [Tue, 13 Feb 2001 13:11:07 +0000 (13:11 +0000)]
[project @ 2001-02-13 13:11:07 by sewardj]
Add more general support for linking .so's into the running image.

23 years ago[project @ 2001-02-13 13:10:14 by sewardj]
sewardj [Tue, 13 Feb 2001 13:10:14 +0000 (13:10 +0000)]
[project @ 2001-02-13 13:10:14 by sewardj]
Move library names from extra_ld_opts to extra_libraries.

23 years ago[project @ 2001-02-13 13:09:36 by sewardj]
sewardj [Tue, 13 Feb 2001 13:09:36 +0000 (13:09 +0000)]
[project @ 2001-02-13 13:09:36 by sewardj]
Properly handle loading .so's in interactive mode.

23 years ago[project @ 2001-02-13 11:11:06 by simonmar]
simonmar [Tue, 13 Feb 2001 11:11:06 +0000 (11:11 +0000)]
[project @ 2001-02-13 11:11:06 by simonmar]
make this compile with profiling on (it probably won't work, though).

23 years ago[project @ 2001-02-13 11:10:28 by rrt]
rrt [Tue, 13 Feb 2001 11:10:28 +0000 (11:10 +0000)]
[project @ 2001-02-13 11:10:28 by rrt]
Use MM timers on Windows even when not profiling, as threadDelay needs it
to work properly.

Flush stdout when quitting (in RtsUtils), as Linux glibc probably works now,
and it reveals error messages that are otherwise truncated when one's
program segfaults.

23 years ago[project @ 2001-02-13 10:57:24 by simonmar]
simonmar [Tue, 13 Feb 2001 10:57:24 +0000 (10:57 +0000)]
[project @ 2001-02-13 10:57:24 by simonmar]
do the dlopen() check a better way.

23 years ago[project @ 2001-02-13 10:47:33 by simonmar]
simonmar [Tue, 13 Feb 2001 10:47:34 +0000 (10:47 +0000)]
[project @ 2001-02-13 10:47:33 by simonmar]
update the configure system to find dlopen(), whether it lives in -ldl
or in the standard C library.

I'd like to take this opportunity to throw a few bricks in the general
direction of whoever invented this godforsaken tool.

23 years ago[project @ 2001-02-13 10:12:45 by sewardj]
sewardj [Tue, 13 Feb 2001 10:12:45 +0000 (10:12 +0000)]
[project @ 2001-02-13 10:12:45 by sewardj]
PrelCError_HC_OPTS = +RTS -K4m -RTS

23 years ago[project @ 2001-02-13 09:35:45 by simonmar]
simonmar [Tue, 13 Feb 2001 09:35:45 +0000 (09:35 +0000)]
[project @ 2001-02-13 09:35:45 by simonmar]
compile ByteCodeItbls with -fvia-C

23 years ago[project @ 2001-02-12 16:40:34 by sewardj]
sewardj [Mon, 12 Feb 2001 16:40:34 +0000 (16:40 +0000)]
[project @ 2001-02-12 16:40:34 by sewardj]
Free the local symbol table at the end of the ocResolve_ phase; we
won't need it after that.

23 years ago[project @ 2001-02-12 16:08:48 by simonmar]
simonmar [Mon, 12 Feb 2001 16:08:48 +0000 (16:08 +0000)]
[project @ 2001-02-12 16:08:48 by simonmar]
comment typo

23 years ago[project @ 2001-02-12 13:36:49 by sewardj]
sewardj [Mon, 12 Feb 2001 13:36:49 +0000 (13:36 +0000)]
[project @ 2001-02-12 13:36:49 by sewardj]
Fix up inter-package dependencies so the run-time linker doesn't barf.

23 years ago[project @ 2001-02-12 13:33:46 by simonmar]
simonmar [Mon, 12 Feb 2001 13:33:47 +0000 (13:33 +0000)]
[project @ 2001-02-12 13:33:46 by simonmar]
Clean up temporary files between compilations, but cache preprocessed
modules that we might re-use.

23 years ago[project @ 2001-02-12 13:30:15 by sewardj]
sewardj [Mon, 12 Feb 2001 13:30:15 +0000 (13:30 +0000)]
[project @ 2001-02-12 13:30:15 by sewardj]
ocGetNames_ELF: don't load symbols in "special" (bogus!) sections >=
SHN_LORESERVE, since they don't exist.

23 years ago[project @ 2001-02-12 13:15:59 by sewardj]
sewardj [Mon, 12 Feb 2001 13:15:59 +0000 (13:15 +0000)]
[project @ 2001-02-12 13:15:59 by sewardj]
Make lang depend on data (since it does, really.)

23 years ago[project @ 2001-02-12 13:14:13 by simonmar]
simonmar [Mon, 12 Feb 2001 13:14:13 +0000 (13:14 +0000)]
[project @ 2001-02-12 13:14:13 by simonmar]
check for ThreadRelocated when unblocking a thread blocked on
delivering an async exception.

23 years ago[project @ 2001-02-12 13:13:29 by sebc]
sebc [Mon, 12 Feb 2001 13:13:29 +0000 (13:13 +0000)]
[project @ 2001-02-12 13:13:29 by sebc]
Add support for MacOS X.

23 years ago[project @ 2001-02-12 13:03:17 by sewardj]
sewardj [Mon, 12 Feb 2001 13:03:17 +0000 (13:03 +0000)]
[project @ 2001-02-12 13:03:17 by sewardj]
include Hash.h

23 years ago[project @ 2001-02-12 12:46:23 by sewardj]
sewardj [Mon, 12 Feb 2001 12:46:23 +0000 (12:46 +0000)]
[project @ 2001-02-12 12:46:23 by sewardj]
Teach the runtime linker about local symbols, so that we don't have to
rely on batch linkers to resolve local symbols in libraries at
library-build-time.

23 years ago[project @ 2001-02-12 12:44:11 by sewardj]
sewardj [Mon, 12 Feb 2001 12:44:11 +0000 (12:44 +0000)]
[project @ 2001-02-12 12:44:11 by sewardj]
debug print wibble

23 years ago[project @ 2001-02-12 12:25:50 by simonmar]
simonmar [Mon, 12 Feb 2001 12:25:50 +0000 (12:25 +0000)]
[project @ 2001-02-12 12:25:50 by simonmar]
#include "Linker.h"

23 years ago[project @ 2001-02-12 12:22:01 by simonmar]
simonmar [Mon, 12 Feb 2001 12:22:01 +0000 (12:22 +0000)]
[project @ 2001-02-12 12:22:01 by simonmar]
add some assertions

23 years ago[project @ 2001-02-12 12:08:44 by sewardj]
sewardj [Mon, 12 Feb 2001 12:08:44 +0000 (12:08 +0000)]
[project @ 2001-02-12 12:08:44 by sewardj]
GNU ld 2.9.1 on sparc can't handle object files lacking a symbol table.
Give it a bogus symbol to keep it happy (a.k.a a workaround.)

23 years ago[project @ 2001-02-12 11:39:48 by sewardj]
sewardj [Mon, 12 Feb 2001 11:39:48 +0000 (11:39 +0000)]
[project @ 2001-02-12 11:39:48 by sewardj]
Check for unboxed tuples and barf, rather than silently generate bogus
code.  (There will be a proper user-level check higher up, too; this is
just for our sanity.)

23 years ago[project @ 2001-02-12 11:38:49 by sewardj]
sewardj [Mon, 12 Feb 2001 11:38:49 +0000 (11:38 +0000)]
[project @ 2001-02-12 11:38:49 by sewardj]
The linker is initialised from the Haskell world now.

23 years ago[project @ 2001-02-12 10:15:19 by simonmar]
simonmar [Mon, 12 Feb 2001 10:15:19 +0000 (10:15 +0000)]
[project @ 2001-02-12 10:15:19 by simonmar]
- Don't need -optc-DGHCI now
- a couple of wibbles

23 years ago[project @ 2001-02-12 10:13:43 by simonmar]
simonmar [Mon, 12 Feb 2001 10:13:43 +0000 (10:13 +0000)]
[project @ 2001-02-12 10:13:43 by simonmar]
GhcWithInterpreter is now YES by default on supported architectures.

23 years ago[project @ 2001-02-12 04:55:33 by chak]
chak [Mon, 12 Feb 2001 04:55:33 +0000 (04:55 +0000)]
[project @ 2001-02-12 04:55:33 by chak]
Finish SimonM's "non-optional GHCi RTS" patch.

23 years ago[project @ 2001-02-11 17:51:07 by simonmar]
simonmar [Sun, 11 Feb 2001 17:51:08 +0000 (17:51 +0000)]
[project @ 2001-02-11 17:51:07 by simonmar]
Bite the bullet and make GHCi support non-optional in the RTS.  GHC
4.11 should be able to build GHCi without any additional tweaks now.

- the Linker is split into two parts: LinkerBasic.c, containing the
  routines required by the rest of the RTS, and Linker.c, containing
  the linker proper, which is not referred to from the rest of the RTS.
  Only Linker.c requires -ldl, so programs which don't make use of the
  linker (everything except GHC, in other words) won't need -ldl.

23 years ago[project @ 2001-02-11 17:18:13 by simonmar]
simonmar [Sun, 11 Feb 2001 17:18:13 +0000 (17:18 +0000)]
[project @ 2001-02-11 17:18:13 by simonmar]
Remove GhcReportCompiles - it was pretty cool, but got lost somewhere
on the road to GHCi, and we never really used it anyhow.

23 years ago[project @ 2001-02-11 17:14:48 by simonmar]
simonmar [Sun, 11 Feb 2001 17:14:48 +0000 (17:14 +0000)]
[project @ 2001-02-11 17:14:48 by simonmar]
cruftbuster

23 years ago[project @ 2001-02-11 17:12:35 by simonmar]
simonmar [Sun, 11 Feb 2001 17:12:35 +0000 (17:12 +0000)]
[project @ 2001-02-11 17:12:35 by simonmar]
- remove flag settings for modules which don't exist
- remove all heap-size settings less than 16m, and set the default to 16m.
- remove pre-ghc-4.08 compatibility cruft; the compiler requires 4.08 now.

23 years ago[project @ 2001-02-11 17:01:46 by simonmar]
simonmar [Sun, 11 Feb 2001 17:01:46 +0000 (17:01 +0000)]
[project @ 2001-02-11 17:01:46 by simonmar]
Remove some duplicate Makefile gunk, and collect the symbolic link
code together in mk/target.mk.

23 years ago[project @ 2001-02-11 16:48:21 by simonmar]
simonmar [Sun, 11 Feb 2001 16:48:21 +0000 (16:48 +0000)]
[project @ 2001-02-11 16:48:21 by simonmar]
clean up a little

23 years ago[project @ 2001-02-11 16:32:48 by simonmar]
simonmar [Sun, 11 Feb 2001 16:32:48 +0000 (16:32 +0000)]
[project @ 2001-02-11 16:32:48 by simonmar]
Create ghci-$(ProjectVersion) and ghci-inplace mini-scripts, and a
ghci->ghci-$(ProjectVersion) link.

I put these in here rather than ghc/compiler, because ghc/compiler
already has a ghci subdirectory.

23 years ago[project @ 2001-02-11 14:33:27 by simonmar]
simonmar [Sun, 11 Feb 2001 14:33:27 +0000 (14:33 +0000)]
[project @ 2001-02-11 14:33:27 by simonmar]
Experimental implementation of a bizarre, and probably not well
thought out, idea I had last week: making GHCi extensible, in Haskell.

Two new commands:

:def <name> <expr>
:undef <name>

:def defines a new command, :<name>, with the semantics that

(<expr> :: String -> IO String)

is run, passed the argument to :<name>, and the resulting string is
fed back through GHCi's command-line interpreter (\n may be used to
separate commands in the returned string).  <expr> is compiled once,
when the :def command is entered.

Simple example:

Prelude> :def date (\s -> Time.getClockTime >>= print >> return "")
Prelude> :date
Sun Feb 11 13:44:28 GMT 2001
Prelude>

Implementing built-in GHCi commands with macros:

Prelude> :def mycd (\s -> Directory.setCurrentDirectory s >> return "")
Prelude> :mycd /home/simonm
Prelude> :!ls
...

Define new functions from the command-line:

Prelude> :! echo "module Tmp where" >/tmp/Tmp.hs
Prelude> :def let (\s -> return (":! echo " ++ s ++ ">> /tmp/Tmp.hs\n:load /tmp/Tmp.hs"))
Prelude> :let x = 42
Compiling Tmp ... compilation IS required
Ok, modules loaded: Tmp.
Tmp> x
42
Tmp> :let y = x
Compiling Tmp ... compilation IS required
Ok, modules loaded: Tmp.
Tmp> y
42
Tmp>

I'm sure the possibilities are endless...

23 years ago[project @ 2001-02-11 13:13:37 by simonmar]
simonmar [Sun, 11 Feb 2001 13:13:37 +0000 (13:13 +0000)]
[project @ 2001-02-11 13:13:37 by simonmar]
Replace some OS-specific ifdefs which should really be ARCH-specific.
Fixes FreeBSD support.

23 years ago[project @ 2001-02-11 09:36:00 by qrczak]
qrczak [Sun, 11 Feb 2001 09:36:00 +0000 (09:36 +0000)]
[project @ 2001-02-11 09:36:00 by qrczak]
Reverse the 'default' list.

23 years ago[project @ 2001-02-10 10:43:25 by qrczak]
qrczak [Sat, 10 Feb 2001 10:43:25 +0000 (10:43 +0000)]
[project @ 2001-02-10 10:43:25 by qrczak]
Move kludgedSystem (renamed to system) to a separate module.
This avoids ugly interactions with the C preprocessor (string gaps,
__GLASGOW_HASKELL__ in strings).

23 years ago[project @ 2001-02-09 17:29:59 by simonmar]
simonmar [Fri, 9 Feb 2001 17:29:59 +0000 (17:29 +0000)]
[project @ 2001-02-09 17:29:59 by simonmar]
remove the bug report location in the welcome msg; it pushed the
message over 80 columns and is available from the ghc homepage in any
case.

23 years ago[project @ 2001-02-09 17:23:57 by sewardj]
sewardj [Fri, 9 Feb 2001 17:23:57 +0000 (17:23 +0000)]
[project @ 2001-02-09 17:23:57 by sewardj]
Avoid unused-var warnings.

23 years ago[project @ 2001-02-09 17:15:20 by simonmar]
simonmar [Fri, 9 Feb 2001 17:15:20 +0000 (17:15 +0000)]
[project @ 2001-02-09 17:15:20 by simonmar]
#if 0 this file (instead of #ifdef INTERPRETER).  We'll need the code
later to implement foreign import in the interpreter.

23 years ago[project @ 2001-02-09 17:00:20 by sewardj]
sewardj [Fri, 9 Feb 2001 17:00:20 +0000 (17:00 +0000)]
[project @ 2001-02-09 17:00:20 by sewardj]
Fix the x86 side of this following the (inevitable) breakage caused by
recent sparc hackery.

23 years ago[project @ 2001-02-09 16:49:30 by sewardj]
sewardj [Fri, 9 Feb 2001 16:49:30 +0000 (16:49 +0000)]
[project @ 2001-02-09 16:49:30 by sewardj]
Generate sparc entry code for interpreted constructors.  GHCi now is doing
a pretty good impression of working correctly on sparcs.  Dudeadacious!

23 years ago[project @ 2001-02-09 15:48:53 by simonmar]
simonmar [Fri, 9 Feb 2001 15:48:53 +0000 (15:48 +0000)]
[project @ 2001-02-09 15:48:53 by simonmar]
quote the SourceForge bug reporting address rather than
glasgow-haskell-bugs@haskell.org.

23 years ago[project @ 2001-02-09 15:39:39 by simonmar]
simonmar [Fri, 9 Feb 2001 15:39:39 +0000 (15:39 +0000)]
[project @ 2001-02-09 15:39:39 by simonmar]
don't make up the version number

23 years ago[project @ 2001-02-09 15:33:51 by simonmar]
simonmar [Fri, 9 Feb 2001 15:33:51 +0000 (15:33 +0000)]
[project @ 2001-02-09 15:33:51 by simonmar]
Introducing the new warm/cuddly GHCi logo.

23 years ago[project @ 2001-02-09 13:09:16 by simonmar]
simonmar [Fri, 9 Feb 2001 13:09:17 +0000 (13:09 +0000)]
[project @ 2001-02-09 13:09:16 by simonmar]
Remove all vestiges of INTERPRETER and __HUGS__.

23 years ago[project @ 2001-02-09 12:40:22 by simonmar]
simonmar [Fri, 9 Feb 2001 12:40:22 +0000 (12:40 +0000)]
[project @ 2001-02-09 12:40:22 by simonmar]
declare __init_PrelMain to match the new prototype for startupHaskell.

23 years ago[project @ 2001-02-09 12:39:53 by sewardj]
sewardj [Fri, 9 Feb 2001 12:39:53 +0000 (12:39 +0000)]
[project @ 2001-02-09 12:39:53 by sewardj]
Make the linker work on sparc-solaris:
* Teach it how to handle RelA-style relocation tables.
* Teach it about (a few of the multifarious) sparc relocation types.

23 years ago[project @ 2001-02-09 12:09:33 by simonmar]
simonmar [Fri, 9 Feb 2001 12:09:33 +0000 (12:09 +0000)]
[project @ 2001-02-09 12:09:33 by simonmar]
Declare the 3rd argument to startupHaskell as a function pointer
rather than a void *, to avoid accidental mis-declarations of
__init_Foo symbols.

23 years ago[project @ 2001-02-09 10:33:22 by sewardj]
sewardj [Fri, 9 Feb 2001 10:33:22 +0000 (10:33 +0000)]
[project @ 2001-02-09 10:33:22 by sewardj]
Un-break updateWithIndirection when -DDEBUG (don't zero slop words
beyond end of indirection node in the case of THUNK_SELECTOR) ??

23 years ago[project @ 2001-02-09 10:08:09 by simonmar]
simonmar [Fri, 9 Feb 2001 10:08:09 +0000 (10:08 +0000)]
[project @ 2001-02-09 10:08:09 by simonmar]
Unblock async exceptions in the recursive exception handler, so if we
somehow get stuck in a loop in here we'll probably be able to ^C out
of it.

23 years ago[project @ 2001-02-08 18:04:49 by sewardj]
sewardj [Thu, 8 Feb 2001 18:04:49 +0000 (18:04 +0000)]
[project @ 2001-02-08 18:04:49 by sewardj]
fix a nasty bug in some DEBUG code which caused very occasional heap
corruption.

23 years ago[project @ 2001-02-08 15:00:28 by simonmar]
simonmar [Thu, 8 Feb 2001 15:00:28 +0000 (15:00 +0000)]
[project @ 2001-02-08 15:00:28 by simonmar]
Allow zonking an unbound type variable with kind openTypeKind with voidTy.
I'm fairly sure this is ok - Simon?

23 years ago[project @ 2001-02-08 14:58:28 by simonmar]
simonmar [Thu, 8 Feb 2001 14:58:28 +0000 (14:58 +0000)]
[project @ 2001-02-08 14:58:28 by simonmar]
- print "*** Exception: " before an exception

- use a recursive exception handler, so eg. error (error "wibble")
  doesn't panic the system

23 years ago[project @ 2001-02-08 14:36:21 by simonmar]
simonmar [Thu, 8 Feb 2001 14:36:21 +0000 (14:36 +0000)]
[project @ 2001-02-08 14:36:21 by simonmar]
Fix bitrot in SMP code.

23 years ago[project @ 2001-02-08 09:53:08 by rrt]
rrt [Thu, 8 Feb 2001 09:53:08 +0000 (09:53 +0000)]
[project @ 2001-02-08 09:53:08 by rrt]
New error message (same error, ythink).

23 years ago[project @ 2001-02-07 16:56:47 by rrt]
rrt [Wed, 7 Feb 2001 16:56:47 +0000 (16:56 +0000)]
[project @ 2001-02-07 16:56:47 by rrt]
Comment out evil use of egrep.

WARNING: If you have to use egrep, then work out a way of stopping it adding
a \n to the end of the output file; otherwise you will mess up the test
results again, and I will give you a jolly good SPANKING.

23 years ago[project @ 2001-02-07 16:47:25 by simonmar]
simonmar [Wed, 7 Feb 2001 16:47:25 +0000 (16:47 +0000)]
[project @ 2001-02-07 16:47:25 by simonmar]
Add "Warning:" to the front of warning messages.

23 years ago[project @ 2001-02-07 16:24:41 by simonmar]
simonmar [Wed, 7 Feb 2001 16:24:41 +0000 (16:24 +0000)]
[project @ 2001-02-07 16:24:41 by simonmar]
remove accidentally left-in trace

23 years ago[project @ 2001-02-07 16:23:28 by simonmar]
simonmar [Wed, 7 Feb 2001 16:23:28 +0000 (16:23 +0000)]
[project @ 2001-02-07 16:23:28 by simonmar]
wibble

23 years ago[project @ 2001-02-07 16:17:26 by sewardj]
sewardj [Wed, 7 Feb 2001 16:17:26 +0000 (16:17 +0000)]
[project @ 2001-02-07 16:17:26 by sewardj]
Always have (unload Batch) work, regardless if definedness of GHCI.

23 years ago[project @ 2001-02-07 16:12:47 by simonmar]
simonmar [Wed, 7 Feb 2001 16:12:47 +0000 (16:12 +0000)]
[project @ 2001-02-07 16:12:47 by simonmar]
wibbles

23 years ago[project @ 2001-02-07 16:07:31 by simonmar]
simonmar [Wed, 7 Feb 2001 16:07:31 +0000 (16:07 +0000)]
[project @ 2001-02-07 16:07:31 by simonmar]
Enforce the restriction that .o files may only depend on other .o
files.  Any .o files which don't satisfy this requirement will be
ignored, and the module interpreted instead.

23 years ago[project @ 2001-02-07 13:47:03 by sewardj]
sewardj [Wed, 7 Feb 2001 13:47:03 +0000 (13:47 +0000)]
[project @ 2001-02-07 13:47:03 by sewardj]
#ifndef GHCI wibbles.

23 years ago[project @ 2001-02-07 12:54:09 by sewardj]
sewardj [Wed, 7 Feb 2001 12:54:09 +0000 (12:54 +0000)]
[project @ 2001-02-07 12:54:09 by sewardj]
Try and fix the freeStringBuffer nightmare once and for all.

23 years ago[project @ 2001-02-07 12:46:52 by sebc]
sebc [Wed, 7 Feb 2001 12:46:52 +0000 (12:46 +0000)]
[project @ 2001-02-07 12:46:52 by sebc]
Renamed ALL, BOOT and INSTALL (!) variables to ALL_TARGET, BOOT_TARGET,
and INSTALL_TARGET to get rid of a conflict with autoconf's INSTALL
variable.

23 years ago[project @ 2001-02-07 12:43:32 by simonmar]
simonmar [Wed, 7 Feb 2001 12:43:32 +0000 (12:43 +0000)]
[project @ 2001-02-07 12:43:32 by simonmar]
don't moan about "loading my own interface" when we're in a package module.

23 years ago[project @ 2001-02-07 12:29:17 by simonmar]
simonmar [Wed, 7 Feb 2001 12:29:17 +0000 (12:29 +0000)]
[project @ 2001-02-07 12:29:17 by simonmar]
Add a test for the bug found in Handle printing yesterday.

23 years ago[project @ 2001-02-07 12:18:42 by rrt]
rrt [Wed, 7 Feb 2001 12:18:42 +0000 (12:18 +0000)]
[project @ 2001-02-07 12:18:42 by rrt]
Dear Jules: not all of us have yet attained GHC-ENLiGHTENMENT (i.e. comment
out freeStringBuffer until it's implemented in GHC < 4.11).

23 years ago[project @ 2001-02-07 12:15:30 by sewardj]
sewardj [Wed, 7 Feb 2001 12:15:30 +0000 (12:15 +0000)]
[project @ 2001-02-07 12:15:30 by sewardj]
Make compatible with 4.08.2 (add [ ] in forall).

23 years ago[project @ 2001-02-07 11:53:00 by simonmar]
simonmar [Wed, 7 Feb 2001 11:53:00 +0000 (11:53 +0000)]
[project @ 2001-02-07 11:53:00 by simonmar]
Don't re-link interpreted modules if they haven't changed.  Now :r is
almost instantaneous when nothing changes (as it should be).

23 years ago[project @ 2001-02-07 11:48:10 by simonmar]
simonmar [Wed, 7 Feb 2001 11:48:10 +0000 (11:48 +0000)]
[project @ 2001-02-07 11:48:10 by simonmar]
wibble

23 years ago[project @ 2001-02-07 11:45:19 by simonmar]
simonmar [Wed, 7 Feb 2001 11:45:19 +0000 (11:45 +0000)]
[project @ 2001-02-07 11:45:19 by simonmar]
don't re-summarise a module if its source hasn't changed.

23 years ago[project @ 2001-02-07 10:45:43 by simonmar]
simonmar [Wed, 7 Feb 2001 10:45:43 +0000 (10:45 +0000)]
[project @ 2001-02-07 10:45:43 by simonmar]
the interactive environment now reads commands from ./.ghci followed
by ~/.ghci.

23 years ago[project @ 2001-02-06 17:31:00 by simonmar]
simonmar [Tue, 6 Feb 2001 17:31:00 +0000 (17:31 +0000)]
[project @ 2001-02-06 17:31:00 by simonmar]
Qualified names on the command line may now refer to any exported
entity from any module, not just entities from the "original" defining
module.

eg. "IO.hFlush IO.stdout" now works.

There's still a problem in that home interfaces may be demand-loaded
if they're aren't already in memory, which is wrong (you can refer to
a module which isn't loaded, causing things to fall over at link
time).

23 years ago[project @ 2001-02-06 16:22:12 by simonmar]
simonmar [Tue, 6 Feb 2001 16:22:12 +0000 (16:22 +0000)]
[project @ 2001-02-06 16:22:12 by simonmar]
allow comments on the command line: convenient in scripts

23 years ago[project @ 2001-02-06 14:44:53 by simonmar]
simonmar [Tue, 6 Feb 2001 14:44:53 +0000 (14:44 +0000)]
[project @ 2001-02-06 14:44:53 by simonmar]
strdup(), and later free(), the filename passed in via loadObj.

Yet another bug bites the dust.

23 years ago[project @ 2001-02-06 14:01:22 by simonmar]
simonmar [Tue, 6 Feb 2001 14:01:22 +0000 (14:01 +0000)]
[project @ 2001-02-06 14:01:22 by simonmar]
oops, filterNameMap was the wrong way around (or I was using wrong).
It should *keep* the named modules, not throw them away.

23 years ago[project @ 2001-02-06 12:27:57 by simonmar]
simonmar [Tue, 6 Feb 2001 12:27:57 +0000 (12:27 +0000)]
[project @ 2001-02-06 12:27:57 by simonmar]
oops, forgot to remove the object from the linked list when we unload it.

23 years ago[project @ 2001-02-06 12:09:42 by sewardj]
sewardj [Tue, 6 Feb 2001 12:09:42 +0000 (12:09 +0000)]
[project @ 2001-02-06 12:09:42 by sewardj]
Check the context_switch flag and yield if set, so that interpreted
code behaves properly in a multi(haskell)threaded environment.

23 years ago[project @ 2001-02-06 12:03:10 by simonmar]
simonmar [Tue, 6 Feb 2001 12:03:10 +0000 (12:03 +0000)]
[project @ 2001-02-06 12:03:10 by simonmar]
Try to get the stable modules story right.  Things now work much
better: objects aren't unloaded and reloaded unnecessarily, and
compiling modules from with GHCi works:

> :! ghc -c A.hs
> :r
Compiling A ... compilation IS NOT required (using ./A.o)
Compiling B ... compilation IS NOT required
Compiling C ... compilation IS NOT required
Compiling Main ... compilation IS NOT required

Compiled module must not depend on interpreted modules, but we
currently don't enforce this restriction properly.

23 years ago[project @ 2001-02-06 12:02:05 by sewardj]
sewardj [Tue, 6 Feb 2001 12:02:05 +0000 (12:02 +0000)]
[project @ 2001-02-06 12:02:05 by sewardj]
Implement implicit and explicit stack checks.  For details, see recent
commit message for ghc/compiler/ghci/ByteCodeGen.lhs.

23 years ago[project @ 2001-02-06 12:01:00 by sewardj]
sewardj [Tue, 6 Feb 2001 12:01:00 +0000 (12:01 +0000)]
[project @ 2001-02-06 12:01:00 by sewardj]
Add bci_STKCHECK and INTERP_STACK_CHECK_THRESH.

23 years ago[project @ 2001-02-06 12:00:17 by sewardj]
sewardj [Tue, 6 Feb 2001 12:00:17 +0000 (12:00 +0000)]
[project @ 2001-02-06 12:00:17 by sewardj]
Support stack overflow checks in interpreted code.  The deal is:
* If a BCO is reckoned to need less than iNTERP_STACK_CHECK_THRESH
  words of stack, no stack check insn is added.
* If a BCO needs >= iNTERP_STACK_CHECK_THRESH words, an explicit
  check insn is added.

The interpreter ensures at least iNTERP_STACK_CHECK_THRESH words of
stack are available before running each BCO, regardless of whether or
not the BCO contains an explicit check insn too.

By setting iNTERP_STACK_CHECK_THRESH to a suitably large level
(currently 50), most BCOs only require the implicit stack check, which
avoids the overhead of decoding one extra insn per BCO.  BCOs which do
have a stack check insn then do 2 stack checks rather than 1
(implicit, then explicit), but this is rare enough that we don't care.

23 years ago[project @ 2001-02-06 11:57:30 by simonmar]
simonmar [Tue, 6 Feb 2001 11:57:30 +0000 (11:57 +0000)]
[project @ 2001-02-06 11:57:30 by simonmar]
- CAF reversion:  CAFs are reverted on a load or reload.  They can
  optionally be reverted after every evaluation, with :set +r.

- we now compile the "hFlush stdout/stderr" expressions once and
  for all at startup, and just run them after each evaluation.  This
  has the pleasant side effect of causing the Prelude to be read in
  before any expressions are typed, causing GHCi to seem more
  responsive.

23 years ago[project @ 2001-02-06 11:42:30 by simonmar]
simonmar [Tue, 6 Feb 2001 11:42:30 +0000 (11:42 +0000)]
[project @ 2001-02-06 11:42:30 by simonmar]
urk! when showing a handle, we don't replace the MVar.  For example,
the following test causes a deadlock:

main = do
  getContents
  catch getChar (\e -> print e >> return 'x')
  catch getChar (\e -> print e >> return 'x')

To be merged into 4.08.

23 years ago[project @ 2001-02-06 11:41:04 by rrt]
rrt [Tue, 6 Feb 2001 11:41:04 +0000 (11:41 +0000)]
[project @ 2001-02-06 11:41:04 by rrt]
Corrected comment according to code.

23 years ago[project @ 2001-02-06 10:37:23 by sewardj]
sewardj [Tue, 6 Feb 2001 10:37:23 +0000 (10:37 +0000)]
[project @ 2001-02-06 10:37:23 by sewardj]
When linking a bytecode module, only add top-level (isGlobalName)
bindings into the returned augmented closure env.

23 years ago[project @ 2001-02-05 22:02:18 by qrczak]
qrczak [Mon, 5 Feb 2001 22:02:18 +0000 (22:02 +0000)]
[project @ 2001-02-05 22:02:18 by qrczak]
Works under Linux again - Posix was not needed.

23 years ago[project @ 2001-02-05 18:01:39 by rrt]
rrt [Mon, 5 Feb 2001 18:01:39 +0000 (18:01 +0000)]
[project @ 2001-02-05 18:01:39 by rrt]
Make it work on Windows.

23 years ago[project @ 2001-02-05 17:58:06 by rrt]
rrt [Mon, 5 Feb 2001 17:58:06 +0000 (17:58 +0000)]
[project @ 2001-02-05 17:58:06 by rrt]
Make sure config.h is included to garner vital symbols.

23 years ago[project @ 2001-02-05 17:52:49 by rrt]
rrt [Mon, 5 Feb 2001 17:52:49 +0000 (17:52 +0000)]
[project @ 2001-02-05 17:52:49 by rrt]
Add machdep C flags to cpp command line (for benefit of Windows, so that
-mno-cygwin is passed to cpp and the right headers are obtained).

23 years ago[project @ 2001-02-05 17:50:26 by rrt]
rrt [Mon, 5 Feb 2001 17:50:26 +0000 (17:50 +0000)]
[project @ 2001-02-05 17:50:26 by rrt]
Improved comment.

23 years ago[project @ 2001-02-05 17:29:41 by sewardj]
sewardj [Mon, 5 Feb 2001 17:29:41 +0000 (17:29 +0000)]
[project @ 2001-02-05 17:29:41 by sewardj]
Enable (& fix) peephole optimisation.  Also a couple of unhandled cases
left over from running the Galois raytracer, I think.

23 years ago[project @ 2001-02-05 17:27:48 by sewardj]
sewardj [Mon, 5 Feb 2001 17:27:48 +0000 (17:27 +0000)]
[project @ 2001-02-05 17:27:48 by sewardj]
Major performance improvements for the bytecode interpreter.

23 years ago[project @ 2001-02-05 11:49:20 by chak]
chak [Mon, 5 Feb 2001 11:49:20 +0000 (11:49 +0000)]
[project @ 2001-02-05 11:49:20 by chak]
Somewhere we lost the Storable instances of CFloat, CDouble and CLDouble &
removed cruft from CTypes.h.

23 years ago[project @ 2001-02-05 11:20:12 by simonmar]
simonmar [Mon, 5 Feb 2001 11:20:12 +0000 (11:20 +0000)]
[project @ 2001-02-05 11:20:12 by simonmar]
add some _scc_s