ghc-hetmet.git
22 years ago[project @ 2001-08-15 09:22:19 by rrt]
rrt [Wed, 15 Aug 2001 09:22:19 +0000 (09:22 +0000)]
[project @ 2001-08-15 09:22:19 by rrt]
Add ILX2IL_OPTS and ILASM_OPTS

22 years ago[project @ 2001-08-15 09:19:04 by simonmar]
simonmar [Wed, 15 Aug 2001 09:19:04 +0000 (09:19 +0000)]
[project @ 2001-08-15 09:19:04 by simonmar]
wibble

22 years ago[project @ 2001-08-15 09:18:06 by simonmar]
simonmar [Wed, 15 Aug 2001 09:18:06 +0000 (09:18 +0000)]
[project @ 2001-08-15 09:18:06 by simonmar]
Use the trick from unpackCStringLenIO to make peekArray run in
constant stack space: read the array from back to front using an
accumulating parameter.  Sadly this doesn't work for peekArray0.

22 years ago[project @ 2001-08-15 08:57:31 by simonmar]
simonmar [Wed, 15 Aug 2001 08:57:31 +0000 (08:57 +0000)]
[project @ 2001-08-15 08:57:31 by simonmar]
Add getProgArgv, setProgArgv

22 years ago[project @ 2001-08-15 00:36:54 by sof]
sof [Wed, 15 Aug 2001 00:36:54 +0000 (00:36 +0000)]
[project @ 2001-08-15 00:36:54 by sof]
Pass "-x c" as "-x" "c"; gcc-mingw gets confused by the former.

22 years ago[project @ 2001-08-14 21:49:00 by sof]
sof [Tue, 14 Aug 2001 21:49:00 +0000 (21:49 +0000)]
[project @ 2001-08-14 21:49:00 by sof]
DocBook catalog: Only prefix hardtop if we end up using a glafp-utils/docbook CATALOG

22 years ago[project @ 2001-08-14 17:14:22 by sof]
sof [Tue, 14 Aug 2001 17:14:22 +0000 (17:14 +0000)]
[project @ 2001-08-14 17:14:22 by sof]
Don't use 'foreign label' to get at prog_arg{v,c}, use
the RtsAPI-provided getProgArgv().

22 years ago[project @ 2001-08-14 16:29:56 by simonmar]
simonmar [Tue, 14 Aug 2001 16:29:56 +0000 (16:29 +0000)]
[project @ 2001-08-14 16:29:56 by simonmar]
Add TyCon.mkLiftedPrimTyCon, solely for RealWorld which is the only
lifted primitive TyCon.

22 years ago[project @ 2001-08-14 16:28:00 by simonpj]
simonpj [Tue, 14 Aug 2001 16:28:00 +0000 (16:28 +0000)]
[project @ 2001-08-14 16:28:00 by simonpj]
More wibbles in checking type validity

22 years ago[project @ 2001-08-14 15:37:55 by simonpj]
simonpj [Tue, 14 Aug 2001 15:37:55 +0000 (15:37 +0000)]
[project @ 2001-08-14 15:37:55 by simonpj]
Wibbles to the checking-types commit

22 years ago[project @ 2001-08-14 15:27:32 by simonpj]
simonpj [Tue, 14 Aug 2001 15:27:32 +0000 (15:27 +0000)]
[project @ 2001-08-14 15:27:32 by simonpj]
Yet another bug in lub

22 years ago[project @ 2001-08-14 13:40:07 by sewardj]
sewardj [Tue, 14 Aug 2001 13:40:11 +0000 (13:40 +0000)]
[project @ 2001-08-14 13:40:07 by sewardj]
Change the story about POSIX headers in C compilation.

Until now, all C code in the RTS and library cbits has by default been
compiled with settings for POSIXness enabled, that is:
   #define _POSIX_SOURCE   1
   #define _POSIX_C_SOURCE 199309L
   #define _ISOC9X_SOURCE
If you wanted to negate this, you'd have to define NON_POSIX_SOURCE
before including headers.

This scheme has some bad effects:

* It means that ccall-unfoldings exported via interfaces from a
  module compiled with -DNON_POSIX_SOURCE may not compile when
  imported into a module which does not -DNON_POSIX_SOURCE.

* It overlaps with the feature tests we do with autoconf.

* It seems to have caused borkage in the Solaris builds for some
  considerable period of time.

The New Way is:

* The default changes to not-being-in-Posix mode.

* If you want to force a C file into Posix mode, #include as
  the **first** include the new file ghc/includes/PosixSource.h.
  Most of the RTS C sources have this include now.

* NON_POSIX_SOURCE is almost totally expunged.  Unfortunately
  we have to retain some vestiges of it in ghc/compiler so that
  modules compiled via C on Solaris using older compilers don't
  break.

22 years ago[project @ 2001-08-14 11:41:19 by simonmar]
simonmar [Tue, 14 Aug 2001 11:41:19 +0000 (11:41 +0000)]
[project @ 2001-08-14 11:41:19 by simonmar]
Fix example code in the generics section.

22 years ago[project @ 2001-08-14 06:35:56 by simonpj]
simonpj [Tue, 14 Aug 2001 06:35:58 +0000 (06:35 +0000)]
[project @ 2001-08-14 06:35:56 by simonpj]
1. Arrange that w/w records unfoldings
   And that the simplifier preserves them

2. Greatly improve structure of checking user types in the typechecker
   Main changes:
TcMType.checkValidType checks for a valid type
TcMonoType.tcHsSigType uses checkValidType
Type and class decls use TcMonoType.tcHsType (which does not
check for validity) inside the knot in TcTyClsDecls,
and then runs TcTyDecls.checkValidTyCon
or TcClassDcl.checkValidClass to check for validity
once the knot is tied

22 years ago[project @ 2001-08-13 18:15:45 by rrt]
rrt [Mon, 13 Aug 2001 18:15:45 +0000 (18:15 +0000)]
[project @ 2001-08-13 18:15:45 by rrt]
Delete duplicate method

22 years ago[project @ 2001-08-13 16:34:04 by simonmar]
simonmar [Mon, 13 Aug 2001 16:34:04 +0000 (16:34 +0000)]
[project @ 2001-08-13 16:34:04 by simonmar]
Update to match the rest of the docs.

22 years ago[project @ 2001-08-13 16:33:43 by simonmar]
simonmar [Mon, 13 Aug 2001 16:33:43 +0000 (16:33 +0000)]
[project @ 2001-08-13 16:33:43 by simonmar]
Document -c<n> and bring up to date the documentation of -M<size.

22 years ago[project @ 2001-08-13 16:33:12 by simonmar]
simonmar [Mon, 13 Aug 2001 16:33:12 +0000 (16:33 +0000)]
[project @ 2001-08-13 16:33:12 by simonmar]
document -ignore-dot-ghci and -read-dot-ghci

22 years ago[project @ 2001-08-13 16:32:43 by simonmar]
simonmar [Mon, 13 Aug 2001 16:32:43 +0000 (16:32 +0000)]
[project @ 2001-08-13 16:32:43 by simonmar]
Document -package-conf and ghc-pkg --config-file

22 years ago[project @ 2001-08-13 16:32:22 by simonmar]
simonmar [Mon, 13 Aug 2001 16:32:22 +0000 (16:32 +0000)]
[project @ 2001-08-13 16:32:22 by simonmar]
Allow multiple -f/--config-file options, taking the last one.  This
allows ghc-pkg to be used to modify a user-specified package.conf file.

22 years ago[project @ 2001-08-13 16:27:41 by rrt]
rrt [Mon, 13 Aug 2001 16:27:41 +0000 (16:27 +0000)]
[project @ 2001-08-13 16:27:41 by rrt]
Update to new syntax and filename-munging method

22 years ago[project @ 2001-08-13 15:49:37 by simonmar]
simonmar [Mon, 13 Aug 2001 15:49:38 +0000 (15:49 +0000)]
[project @ 2001-08-13 15:49:37 by simonmar]
A bunch of changes (been waiting for the link to cvs.haskell.org to
come back):

- Two new flags -ignore-dot-ghci and -read-dot-ghci control the
  reading (or not) of ./.ghci and $HOME/.ghci.  This will be useful
  for automatic testing of GHCi.

- A new option -package-conf <file> allows reading an additional
  package.conf file, which can be used to keep a per-user set of
  packages.

- GHCi now fails gracefully on startup if linking the libraries
  specified on the command-line fails.

22 years ago[project @ 2001-08-13 15:44:38 by simonmar]
simonmar [Mon, 13 Aug 2001 15:44:38 +0000 (15:44 +0000)]
[project @ 2001-08-13 15:44:38 by simonmar]
The compilation manager now continues gracefully (by unloading all the
modules) if the link step fails.

22 years ago[project @ 2001-08-13 15:43:36 by simonmar]
simonmar [Mon, 13 Aug 2001 15:43:36 +0000 (15:43 +0000)]
[project @ 2001-08-13 15:43:36 by simonmar]
resolveObjs now returns a Bool, indicating success

22 years ago[project @ 2001-08-13 14:34:40 by simonmar]
simonmar [Mon, 13 Aug 2001 14:34:40 +0000 (14:34 +0000)]
[project @ 2001-08-13 14:34:40 by simonmar]
- Convert some fatal errors into non-fatal returns
- Don't include cryptic function names in non-internal errors
- Improve several error messages

22 years ago[project @ 2001-08-13 12:34:37 by simonmar]
simonmar [Mon, 13 Aug 2001 12:34:37 +0000 (12:34 +0000)]
[project @ 2001-08-13 12:34:37 by simonmar]
The '--' argument disables any further +RTS ... -RTS processing on the
command line.

22 years ago[project @ 2001-08-13 11:58:04 by sewardj]
sewardj [Mon, 13 Aug 2001 11:58:04 +0000 (11:58 +0000)]
[project @ 2001-08-13 11:58:04 by sewardj]
schemeR_wrk: look through tyapps when spotting top-level nullary
constructor uses.  Fixes bug reported by Mark Tehver:
<<loop>> in GHC 5.01 "Zarjaz"

22 years ago[project @ 2001-08-13 10:27:27 by simonmar]
simonmar [Mon, 13 Aug 2001 10:27:27 +0000 (10:27 +0000)]
[project @ 2001-08-13 10:27:27 by simonmar]
Don't use packString for GHC > 5.00

22 years ago[project @ 2001-08-12 12:10:22 by simonmar]
simonmar [Sun, 12 Aug 2001 12:10:22 +0000 (12:10 +0000)]
[project @ 2001-08-12 12:10:22 by simonmar]
Update the hc-build script to the recipe I'm using for the FreeBSD
package build.  The main improvement is that after running this script
the resulting tree should be ready for a 'make install' from the top
level.  This is highly fragile and relies on touching various files to
avoid having to recompile anything that will fail :-)

The FreeBSD package that this derives from is well tested, but I
haven't tested the script itself yet.

22 years ago[project @ 2001-08-10 23:08:25 by sof]
sof [Fri, 10 Aug 2001 23:08:25 +0000 (23:08 +0000)]
[project @ 2001-08-10 23:08:25 by sof]
Added SysTools.Option, which lets you identify what are
file-path like options to SysTool.run<Foo>.

Using this, we can now precisely control when to transform
filepaths into a host-compatible format (i.e., we can DOSify
just the right bits under Win32).

22 years ago[project @ 2001-08-10 15:25:49 by simonmar]
simonmar [Fri, 10 Aug 2001 15:25:49 +0000 (15:25 +0000)]
[project @ 2001-08-10 15:25:49 by simonmar]
Fix bug with +RTS -P

22 years ago[project @ 2001-08-10 13:55:58 by simonmar]
simonmar [Fri, 10 Aug 2001 13:55:58 +0000 (13:55 +0000)]
[project @ 2001-08-10 13:55:58 by simonmar]
Test for identifiers containing non-ASCII characters.

22 years ago[project @ 2001-08-10 13:48:06 by simonmar]
simonmar [Fri, 10 Aug 2001 13:49:00 +0000 (13:49 +0000)]
[project @ 2001-08-10 13:48:06 by simonmar]
Remove UnsafeCString (normal CString is fast enough now).

22 years ago[project @ 2001-08-10 11:02:00 by simonmar]
simonmar [Fri, 10 Aug 2001 11:02:00 +0000 (11:02 +0000)]
[project @ 2001-08-10 11:02:00 by simonmar]
Make some foreign imports "unsafe".

22 years ago[project @ 2001-08-10 10:57:23 by simonmar]
simonmar [Fri, 10 Aug 2001 10:57:23 +0000 (10:57 +0000)]
[project @ 2001-08-10 10:57:23 by simonmar]
Fix another place where the maxHeapSize is set to the
heapSizeSuggestion, now that maxHeapSize == 0 indicates "unbounded".

22 years ago[project @ 2001-08-10 10:52:12 by simonmar]
simonmar [Fri, 10 Aug 2001 10:52:12 +0000 (10:52 +0000)]
[project @ 2001-08-10 10:52:12 by simonmar]
Fix an assertion: "large" objects may not necessarily start on a block
boundary, but the only ones that are allowed not to are ByteArrays.

22 years ago[project @ 2001-08-10 09:53:40 by sewardj]
sewardj [Fri, 10 Aug 2001 09:53:40 +0000 (09:53 +0000)]
[project @ 2001-08-10 09:53:40 by sewardj]
Fix Solaris borkage.  Sigh.

22 years ago[project @ 2001-08-10 09:41:17 by simonmar]
simonmar [Fri, 10 Aug 2001 09:41:17 +0000 (09:41 +0000)]
[project @ 2001-08-10 09:41:17 by simonmar]
Claim that MUT_CONS closures have 1 pointer and 1 non-pointer field,
so that the default threading code in GCCompact works for them (it
doesn't thread the mut_link field).  This also matches MUT_VARs, so
it's more consistent.

22 years ago[project @ 2001-08-10 09:40:11 by simonmar]
simonmar [Fri, 10 Aug 2001 09:40:11 +0000 (09:40 +0000)]
[project @ 2001-08-10 09:40:11 by simonmar]
Thread the mut_once_list properly, once, before we start compacting.
Previously we tried to do it during the first threading phase, but we
missing some pointers (namely IND_STATIC objects which are only
reachable via the mut_once list).

22 years ago[project @ 2001-08-10 08:40:51 by simonmar]
simonmar [Fri, 10 Aug 2001 08:40:51 +0000 (08:40 +0000)]
[project @ 2001-08-10 08:40:51 by simonmar]
added pointer to ghc/rts/Adjustor.c, which has some good comments.

22 years ago[project @ 2001-08-10 08:24:38 by simonmar]
simonmar [Fri, 10 Aug 2001 08:24:38 +0000 (08:24 +0000)]
[project @ 2001-08-10 08:24:38 by simonmar]
add missing symbol to RTS_SYMBOLS

22 years ago[project @ 2001-08-10 01:47:39 by chak]
chak [Fri, 10 Aug 2001 01:47:40 +0000 (01:47 +0000)]
[project @ 2001-08-10 01:47:39 by chak]
Added SimonM's explanation about f.e.d. stubs.

22 years ago[project @ 2001-08-09 12:46:06 by sewardj]
sewardj [Thu, 9 Aug 2001 12:46:06 +0000 (12:46 +0000)]
[project @ 2001-08-09 12:46:06 by sewardj]
Remember to initialise stp->bitmap.  Avoids a potential segfault with +RTS -c.

22 years ago[project @ 2001-08-09 12:12:23 by sewardj]
sewardj [Thu, 9 Aug 2001 12:12:23 +0000 (12:12 +0000)]
[project @ 2001-08-09 12:12:23 by sewardj]
Initialise n_large_blocks and n_scavenged_large_blocks.

22 years ago[project @ 2001-08-09 11:32:15 by simonmar]
simonmar [Thu, 9 Aug 2001 11:32:15 +0000 (11:32 +0000)]
[project @ 2001-08-09 11:32:15 by simonmar]
Oops, only ASCII alphanumeric characters are allowed to be used
unencoded in C identifiers, but Char.isAlphaNum includes ISO-8851
alphanumeric characters.

22 years ago[project @ 2001-08-09 11:23:19 by sewardj]
sewardj [Thu, 9 Aug 2001 11:23:19 +0000 (11:23 +0000)]
[project @ 2001-08-09 11:23:19 by sewardj]
Disable debugging machinery which skeaked in in the last commit.

22 years ago[project @ 2001-08-09 11:19:16 by sewardj]
sewardj [Thu, 9 Aug 2001 11:19:16 +0000 (11:19 +0000)]
[project @ 2001-08-09 11:19:16 by sewardj]
C-side FFI support for Byte/Ptr arrays.

22 years ago[project @ 2001-08-09 10:55:53 by sewardj]
sewardj [Thu, 9 Aug 2001 10:55:53 +0000 (10:55 +0000)]
[project @ 2001-08-09 10:55:53 by sewardj]
Change "dunno, mate" into something a bit more helpful.

22 years ago[project @ 2001-08-09 10:54:13 by sewardj]
sewardj [Thu, 9 Aug 2001 10:54:13 +0000 (10:54 +0000)]
[project @ 2001-08-09 10:54:13 by sewardj]
Add support for passing ptr/byte arrays to C.

22 years ago[project @ 2001-08-08 16:03:47 by simonmar]
simonmar [Wed, 8 Aug 2001 16:03:47 +0000 (16:03 +0000)]
[project @ 2001-08-08 16:03:47 by simonmar]
Fix a bug in gcStablePtrTable().

22 years ago[project @ 2001-08-08 15:44:28 by sewardj]
sewardj [Wed, 8 Aug 2001 15:44:28 +0000 (15:44 +0000)]
[project @ 2001-08-08 15:44:28 by sewardj]
Disable use of finalisers attached to UnlinkedBCOs, since finalisers
attached to non-atomic objects may run too early :-(

22 years ago[project @ 2001-08-08 14:40:01 by sewardj]
sewardj [Wed, 8 Aug 2001 14:40:01 +0000 (14:40 +0000)]
[project @ 2001-08-08 14:40:01 by sewardj]
Attach finaliser for malloc'd blocks to the UnlinkedBCOs, not to
linked really-really-really BCOs.  This is because an unlinked BCO
may be copied many times to generated LinkedBCOs before it dies.
Attaching finalisers to linked BCOs could mean multiple free()s on
the same address.

22 years ago[project @ 2001-08-08 14:36:14 by simonmar]
simonmar [Wed, 8 Aug 2001 14:36:14 +0000 (14:36 +0000)]
[project @ 2001-08-08 14:36:14 by simonmar]
Define allocaBytes in terms of the new pinned ByteArray primitives.
This version is over 6 times faster than the old version using
malloc/free.

22 years ago[project @ 2001-08-08 14:30:45 by simonmar]
simonmar [Wed, 8 Aug 2001 14:30:45 +0000 (14:30 +0000)]
[project @ 2001-08-08 14:30:45 by simonmar]
update expected output

22 years ago[project @ 2001-08-08 14:29:59 by simonmar]
simonmar [Wed, 8 Aug 2001 14:29:59 +0000 (14:29 +0000)]
[project @ 2001-08-08 14:29:59 by simonmar]
Remove parse error.  This test actually doesn't work!

22 years ago[project @ 2001-08-08 14:28:08 by simonmar]
simonmar [Wed, 8 Aug 2001 14:28:08 +0000 (14:28 +0000)]
[project @ 2001-08-08 14:28:08 by simonmar]
Fix parse error and remove ^Ms (an untested test?)

22 years ago[project @ 2001-08-08 14:23:09 by simonmar]
simonmar [Wed, 8 Aug 2001 14:25:15 +0000 (14:25 +0000)]
[project @ 2001-08-08 14:23:09 by simonmar]
update expected output

22 years ago[project @ 2001-08-08 14:21:07 by simonmar]
simonmar [Wed, 8 Aug 2001 14:21:07 +0000 (14:21 +0000)]
[project @ 2001-08-08 14:21:07 by simonmar]
semantics of take, drop and splitAt have changed

22 years ago[project @ 2001-08-08 14:18:12 by simonmar]
simonmar [Wed, 8 Aug 2001 14:18:58 +0000 (14:18 +0000)]
[project @ 2001-08-08 14:18:12 by simonmar]
update expected output

22 years ago[project @ 2001-08-08 14:14:08 by simonmar]
simonmar [Wed, 8 Aug 2001 14:14:09 +0000 (14:14 +0000)]
[project @ 2001-08-08 14:14:08 by simonmar]
Flag tweaks: +RTS -c now means "enable compaction all the time"
(previously there was no way to do this *and* run without a maximum
heap size).

The heuristics for determining the generation sizes are also slightly
better now.

22 years ago[project @ 2001-08-08 14:11:58 by sewardj]
sewardj [Wed, 8 Aug 2001 14:11:58 +0000 (14:11 +0000)]
[project @ 2001-08-08 14:11:58 by sewardj]
Use the bytecode generator's monad to keep track of the malloc'd blocks
created for each BCO.  Eventually use this info to generate a finaliser
which is tied to the real, linked BCO

22 years ago[project @ 2001-08-08 13:45:02 by simonmar]
simonmar [Wed, 8 Aug 2001 13:45:02 +0000 (13:45 +0000)]
[project @ 2001-08-08 13:45:02 by simonmar]
wibble

22 years ago[project @ 2001-08-08 13:44:13 by simonmar]
simonmar [Wed, 8 Aug 2001 13:44:13 +0000 (13:44 +0000)]
[project @ 2001-08-08 13:44:13 by simonmar]
oops, forgot to thread the link and global_link fields of a large
TSO.  Fixes a potential crash with the compacting collector.

22 years ago[project @ 2001-08-08 13:31:05 by simonmar]
simonmar [Wed, 8 Aug 2001 13:31:05 +0000 (13:31 +0000)]
[project @ 2001-08-08 13:31:05 by simonmar]
update expected output

22 years ago[project @ 2001-08-08 13:22:27 by simonmar]
simonmar [Wed, 8 Aug 2001 13:22:27 +0000 (13:22 +0000)]
[project @ 2001-08-08 13:22:27 by simonmar]
lib specifications aren't allowed any more

[ merge into new test suite ]

22 years ago[project @ 2001-08-08 13:21:04 by qrczak]
qrczak [Wed, 8 Aug 2001 13:21:05 +0000 (13:21 +0000)]
[project @ 2001-08-08 13:21:04 by qrczak]
Remove -H80M options introduced a week ago.

22 years ago[project @ 2001-08-08 13:19:34 by simonmar]
simonmar [Wed, 8 Aug 2001 13:19:34 +0000 (13:19 +0000)]
[project @ 2001-08-08 13:19:34 by simonmar]
Change some section ids so they aren't as likely to clash with the User Guide.

22 years ago[project @ 2001-08-08 13:19:07 by simonmar]
simonmar [Wed, 8 Aug 2001 13:19:08 +0000 (13:19 +0000)]
[project @ 2001-08-08 13:19:07 by simonmar]
- Rearrange the FFI documentation: put it all in chapter 8.

- Add a section "Using the FFI with GHC", and add some information about
  the stub files generated by GHC for foreign export dynamic.

22 years ago[project @ 2001-08-08 12:27:37 by rrt]
rrt [Wed, 8 Aug 2001 12:27:37 +0000 (12:27 +0000)]
[project @ 2001-08-08 12:27:37 by rrt]
Instead of copying the assemblies we need to this directory, write an
app.exe.config file for each program we run.

22 years ago[project @ 2001-08-08 12:06:28 by sewardj]
sewardj [Wed, 8 Aug 2001 12:06:28 +0000 (12:06 +0000)]
[project @ 2001-08-08 12:06:28 by sewardj]
Remove the last use of unsavouryPerformIO in this module.  What a lot
of hassle.  Gimme a Von Neumann machine any day.

22 years ago[project @ 2001-08-08 11:27:17 by simonmar]
simonmar [Wed, 8 Aug 2001 11:27:17 +0000 (11:27 +0000)]
[project @ 2001-08-08 11:27:17 by simonmar]
oops, don't set the -M size to the -H size if -M is zero (i.e. turned
off).  Should fix the breakage encountered by last night's nightly build.

22 years ago[project @ 2001-08-08 11:11:06 by sewardj]
sewardj [Wed, 8 Aug 2001 11:11:06 +0000 (11:11 +0000)]
[project @ 2001-08-08 11:11:06 by sewardj]
"Greetings, earthlings.  Take us to your mutable variables."
^A^K^K
Build the bytecode generator's monad on top of IO, and as a result get
rid of various unsafePerformIOs.

22 years ago[project @ 2001-08-08 10:50:36 by simonmar]
simonmar [Wed, 8 Aug 2001 10:50:37 +0000 (10:50 +0000)]
[project @ 2001-08-08 10:50:36 by simonmar]
Had a brainwave on the way to work this morning, and realised that the
garbage collector can handle "pinned objects" as long as they don't
contain any pointers.

This is absolutely ideal for doing temporary allocation in the FFI,
because what we really want to do is allocate a pinned ByteArray and
let the GC clean it up later.  So this set of changes adds the
required framework.

There are two new primops:

 newPinnedByteArray# :: Int# -> State# s -> (# State# s, MutByteArr# s #)
 byteArrayContents#  :: ByteArr# -> Addr#

obviously byteArrayContents# is highly unsafe.

Allocating a pinned ByteArr# isn't the default, because a pinned
ByteArr# will hold an entire block (currently 4k) live until it is
garbage collected (that doesn't mean each pinned ByteArr# requires
4k of storage, just that if a block contains a single live pinned
ByteArray, the whole block must be retained).

22 years ago[project @ 2001-08-08 10:36:59 by simonmar]
simonmar [Wed, 8 Aug 2001 10:36:59 +0000 (10:36 +0000)]
[project @ 2001-08-08 10:36:59 by simonmar]
update expected output

22 years ago[project @ 2001-08-08 09:48:58 by chak]
chak [Wed, 8 Aug 2001 09:48:59 +0000 (09:48 +0000)]
[project @ 2001-08-08 09:48:58 by chak]
As discussed at HIM in Cambridge, the GHC Commentary is now located in the
main repository.  The idea is that any developer who wants to share his wisdom
with the world-at-large can alter the document.  Obviously, it would be nice
to keep the structure and style of the document as I have written it so far
(admittedly not terribly much).  In particular, please add links to the files
in CVS where appropriate.  Moreover, I have now included a version number in
the title, which should be pumped whenever there are substantial changes;
check the file index.html.

I am planing to set up a cron job that updates the version of the Commentary
on my Web page with the CVS version every night (this is also the version
linked from GHC's documentation page).

22 years ago[project @ 2001-08-08 08:44:47 by simonmar]
simonmar [Wed, 8 Aug 2001 08:44:47 +0000 (08:44 +0000)]
[project @ 2001-08-08 08:44:47 by simonmar]
Nuke the "Compilation had errors" message again.

22 years ago[project @ 2001-08-07 20:10:30 by ken]
ken [Tue, 7 Aug 2001 20:10:30 +0000 (20:10 +0000)]
[project @ 2001-08-07 20:10:30 by ken]
Back up previous change, which was not really a fix of any bug, let alone
the bug it seemed to have fixed.

22 years ago[project @ 2001-08-07 20:08:37 by ken]
ken [Tue, 7 Aug 2001 20:08:37 +0000 (20:08 +0000)]
[project @ 2001-08-07 20:08:37 by ken]
Change the number of threads to spawn in this test from 1000000 to 10000000,
to (more likely) trigger the Alpha StgRun() bug that I just fixed.

22 years ago[project @ 2001-08-07 20:06:41 by ken]
ken [Tue, 7 Aug 2001 20:06:41 +0000 (20:06 +0000)]
[project @ 2001-08-07 20:06:41 by ken]
Fixed (I hope, and have reason to believe) mysterious segfaulting problem
on the Alpha.

The problem (I hope, and have reason to believe) was that, during a few
instructions, the register saving/restoring code in StgRun() places data
below the current SP value.  (I.e., it should first reserve stack space,
then put data in said space, rather than first put data in, then reserve
the space.)

   "The SP value might be used by the hardware when raising exceptions and
    asynchronous interrupts. It must be assumed that the contents of the stack
    below the current SP value and within the stack for the current thread are
    continually and unpredictably modified, as specified in the _Alpha
    Architecture Reference Manual_, and as a result of asynchronous software
    actions."

   -- Compaq Computer Corporation, Houston. Tru64 UNIX Calling Standard for
      Alpha Systems, 5.1 edition, August 2000, section 3.2.1.  http://www.
      tru64unix.compaq.com/docs/base_doc/DOCUMENTATION/V51_PDF/ARH9MBTE.PDF

22 years ago[project @ 2001-08-07 19:34:01 by ken]
ken [Tue, 7 Aug 2001 19:34:01 +0000 (19:34 +0000)]
[project @ 2001-08-07 19:34:01 by ken]
Fix 32-bit assumptions in debugging fprintf's.

22 years ago[project @ 2001-08-07 19:33:33 by ken]
ken [Tue, 7 Aug 2001 19:33:33 +0000 (19:33 +0000)]
[project @ 2001-08-07 19:33:33 by ken]
For now, let mkMarshalCode_wrk = undefined for non-i386 architectures.

22 years ago[project @ 2001-08-07 17:07:11 by sewardj]
sewardj [Tue, 7 Aug 2001 17:07:11 +0000 (17:07 +0000)]
[project @ 2001-08-07 17:07:11 by sewardj]
Rewrite the machinery for pushing args to CCalls so that it can
suitably mangle those :: ForeignObj# and ByteArray# and PtrArray#.

22 years ago[project @ 2001-08-07 17:05:35 by ken]
ken [Tue, 7 Aug 2001 17:05:35 +0000 (17:05 +0000)]
[project @ 2001-08-07 17:05:35 by ken]
Allow (and ignore, i.e., strip away) "-optc" prefix in command-line options.
This is for mkdependC-ing and compiling C code under ghc/rts, where we
use ghc-inplace as CC and give -optc-Dxxx options in CC_OPTS.  We used to
generate inaccurate (insufficient) dependencies.

22 years ago[project @ 2001-08-07 14:45:43 by dsyme]
dsyme [Tue, 7 Aug 2001 14:45:43 +0000 (14:45 +0000)]
[project @ 2001-08-07 14:45:43 by dsyme]
This is the implementation of many of the GHC primitive operations and types for the .NET CLR port of GHC.

22 years ago[project @ 2001-08-07 11:13:46 by simonmar]
simonmar [Tue, 7 Aug 2001 11:13:46 +0000 (11:13 +0000)]
[project @ 2001-08-07 11:13:46 by simonmar]
Make this compile with newer GHCs.

22 years ago[project @ 2001-08-07 11:08:36 by simonmar]
simonmar [Tue, 7 Aug 2001 11:08:36 +0000 (11:08 +0000)]
[project @ 2001-08-07 11:08:36 by simonmar]
- describe NOTINLINE as a synonym for NOINLINE
- describe the general form of a pragma
- mention that case is irrelevant in the first word of a pragma
- mention that unrecognised pragmas are silently ignored

22 years ago[project @ 2001-08-07 10:54:01 by simonmar]
simonmar [Tue, 7 Aug 2001 10:54:01 +0000 (10:54 +0000)]
[project @ 2001-08-07 10:54:01 by simonmar]
Back out the ExitException change; it's already taken into account by
DriverUtil.handle.

Sigbjorn: I'm not sure what was going on with your Win32 build, but it
looks like it was a bug somewhere else.

22 years ago[project @ 2001-08-07 10:49:49 by simonmar]
simonmar [Tue, 7 Aug 2001 10:49:49 +0000 (10:49 +0000)]
[project @ 2001-08-07 10:49:49 by simonmar]
(forced commit)

Note that the previous commit also fixed the bug reported by Ken Shan
yesterday, namely that the conc004.hs test was failing.

22 years ago[project @ 2001-08-07 10:46:57 by simonmar]
simonmar [Tue, 7 Aug 2001 10:46:57 +0000 (10:46 +0000)]
[project @ 2001-08-07 10:46:57 by simonmar]
Note that you need to give the same -package options to ghc -M as you
would for normal compilation.  Also clarify the meaning of the
(historically named) --include-prelude option.

22 years ago[project @ 2001-08-07 10:37:04 by simonmar]
simonmar [Tue, 7 Aug 2001 10:37:04 +0000 (10:37 +0000)]
[project @ 2001-08-07 10:37:04 by simonmar]
(forced commit, the last one had the wrong message)

Make RTS flags given on the command line override those from the
GHCRTS environment variable.

22 years ago[project @ 2001-08-07 10:36:13 by simonmar]
simonmar [Tue, 7 Aug 2001 10:36:13 +0000 (10:36 +0000)]
[project @ 2001-08-07 10:36:13 by simonmar]
Move RtsFlags.h into ghc/includes, so it's available in a binary
installation.  RtsFlags.h was repository-copied behind the scenes to
keep the revision history.

22 years ago[project @ 2001-08-07 10:11:05 by simonmar]
simonmar [Tue, 7 Aug 2001 10:11:05 +0000 (10:11 +0000)]
[project @ 2001-08-07 10:11:05 by simonmar]
Move RtsFlags.h into ghc/includes, so it's available in a binary
installation.  RtsFlags.h was repository-copied behind the scenes to
keep the revision history.

22 years ago[project @ 2001-08-07 09:59:18 by simonmar]
simonmar [Tue, 7 Aug 2001 09:59:18 +0000 (09:59 +0000)]
[project @ 2001-08-07 09:59:18 by simonmar]
markup wibbles

22 years ago[project @ 2001-08-07 09:58:39 by simonmar]
simonmar [Tue, 7 Aug 2001 09:58:39 +0000 (09:58 +0000)]
[project @ 2001-08-07 09:58:39 by simonmar]
Document the GHCRTS env. var.

22 years ago[project @ 2001-08-07 09:58:15 by simonmar]
simonmar [Tue, 7 Aug 2001 09:58:15 +0000 (09:58 +0000)]
[project @ 2001-08-07 09:58:15 by simonmar]
markup wibbles

22 years ago[project @ 2001-08-07 09:57:52 by simonmar]
simonmar [Tue, 7 Aug 2001 09:57:52 +0000 (09:57 +0000)]
[project @ 2001-08-07 09:57:52 by simonmar]
mark up wibbles (don't people try to format the documentation before
checking in changes?)

22 years ago[project @ 2001-08-07 09:30:00 by sewardj]
sewardj [Tue, 7 Aug 2001 09:30:00 +0000 (09:30 +0000)]
[project @ 2001-08-07 09:30:00 by sewardj]
x86: remember to pop the floating-point stack when moving float/double
results back to the Haskell stack.  Viz, use fstps/fstpl, not fsts/fstl.

22 years ago[project @ 2001-08-07 09:20:52 by simonmar]
simonmar [Tue, 7 Aug 2001 09:20:52 +0000 (09:20 +0000)]
[project @ 2001-08-07 09:20:52 by simonmar]
- Allow RTS options to be given using the GHCRTS environment variable.

- Fix the heap size calculation to take into account all generations.
  It's more conservative than it used to be, but now it is less likely
  that the maximum heap size will be exceeded.

- Compacting collection is turned on automatically when residency
  reaches 30% of the maximum heap size, tunable with +RTS -c<n>.
  +RTS -c turns off compaction altogether.

- The maximum heap size is off by default.  NOTE: this also means no
  compaction by default.  It is recommended that people enable a maximum
  heap size for their system using the GHCRTS environment var; eg:
  GHCRTS=-M128m.

22 years ago[project @ 2001-08-07 09:16:15 by sewardj]
sewardj [Tue, 7 Aug 2001 09:16:15 +0000 (09:16 +0000)]
[project @ 2001-08-07 09:16:15 by sewardj]
This buffer is for notes you don't want to save, and for Lisp evaluation.
If you want to create a file, visit that file with C-x C-f,
then enter the text in that file's own buffer.

Interpreter FFI improvements:

* Support f-i dynamic.
* Correctly handle fns which don't return anything.
* Support x86 stdcall call-conv.

Clean-up of FFI-related code in ByteCodeGen.lhs.

22 years ago[project @ 2001-08-07 09:02:02 by sewardj]
sewardj [Tue, 7 Aug 2001 09:02:02 +0000 (09:02 +0000)]
[project @ 2001-08-07 09:02:02 by sewardj]
Do suspendThread/resumeThread round ccalls so that ccall_gc is supported.