sof [Mon, 18 Jan 1999 14:37:43 +0000 (14:37 +0000)]
[project @ 1999-01-18 14:37:43 by sof]
Added protos for freeHaskellFunctionPtr() and createAdjustor()
(suggestions as to what might be a more appropriate home for these
are welcome.)
sof [Mon, 18 Jan 1999 14:36:13 +0000 (14:36 +0000)]
[project @ 1999-01-18 14:36:13 by sof]
Added debugging code to freeStablePtr macro
sof [Mon, 18 Jan 1999 14:35:21 +0000 (14:35 +0000)]
[project @ 1999-01-18 14:35:20 by sof]
Fixed a couple of bad bugs in the implementation of 'foreign export ccall dynamic'.
sof [Mon, 18 Jan 1999 14:31:52 +0000 (14:31 +0000)]
[project @ 1999-01-18 14:31:50 by sof]
long long support: cleared up Real vs. virtual regs. confusion (I hope!)
sof [Mon, 18 Jan 1999 13:09:45 +0000 (13:09 +0000)]
[project @ 1999-01-18 13:09:45 by sof]
A 'foreign export dynamic' *does* bind a Haskell name.
simonm [Mon, 18 Jan 1999 12:23:04 +0000 (12:23 +0000)]
[project @ 1999-01-18 12:23:04 by simonm]
Fixes for MVars.
simonm [Mon, 18 Jan 1999 10:54:15 +0000 (10:54 +0000)]
[project @ 1999-01-18 10:54:15 by simonm]
Don't bomb out with "Dont know where to get memory from on this
architecture" on Win32.
sof [Mon, 18 Jan 1999 09:20:08 +0000 (09:20 +0000)]
[project @ 1999-01-18 09:20:08 by sof]
'Native' Wni32 implementation of getMBlock(). Also added a Win32 impl.
of freeMBlock() in case that ever should become useful.
sof [Sat, 16 Jan 1999 16:06:17 +0000 (16:06 +0000)]
[project @ 1999-01-16 16:06:17 by sof]
Documented isEmptyMVar
sof [Sat, 16 Jan 1999 16:00:03 +0000 (16:00 +0000)]
[project @ 1999-01-16 16:00:03 by sof]
Documented IO <--> ST coercion operators
sof [Fri, 15 Jan 1999 18:32:23 +0000 (18:32 +0000)]
[project @ 1999-01-15 18:32:22 by sof]
Be a little bit more user-friendly when encountering record puns,
which is no longer supported by Haskell. Instead of a Plain Old Parse
Error, print out
foo.hs:11:11: Haskell 98 does not support 'punning' on records ....
Hopefully that should give the user a big enough hint at what's
going wrong..
simonm [Fri, 15 Jan 1999 18:08:37 +0000 (18:08 +0000)]
[project @ 1999-01-15 18:08:37 by simonm]
Compile the RTS with -O2 and -fomit-frame-pointer.
sof [Fri, 15 Jan 1999 17:59:27 +0000 (17:59 +0000)]
[project @ 1999-01-15 17:59:26 by sof]
Added options that 3.xx supported for dumping out selected
chunks of the .hi file to stdout, i.e.,
-hi-with-imports = prints out the import 'section' of the .hi file
-hi-with-declarations = print out just decls
(Only) useful when working with runstdtest, where we just want
to look at selected portions of the generated interface file.
simonm [Fri, 15 Jan 1999 17:57:11 +0000 (17:57 +0000)]
[project @ 1999-01-15 17:57:03 by simonm]
- Add new object BLACKHOLE_BQ: now a BLACKHOLE is defined as having an
empty blocking queue, and the first time a thread blocks on a BLACKHOLE
it is changed into a BLACKHOLE_BQ.
- Remove UPD_INPLACE1 and replace it with UPD_IND in the two places it
was used. UPD_INPLACE1 wouldn't have worked in a generational setting.
sof [Fri, 15 Jan 1999 17:54:23 +0000 (17:54 +0000)]
[project @ 1999-01-15 17:54:20 by sof]
Re-integrated mod. that seems to have been dropped on the
floor when new-rts moved back onto the main trunk. Here's
the commit msg. that was originally used:
Extend hConnectTo to also allow output handles to be connected, i.e.,
h1 <- openFile "foo" WriteMode
h2 <- openFile "bar" WriteMode
hConnectTo h1 h2
will cause h1's buffer to be flushed when h2's buffer overflows
(and it is just about to be flushed.) The implementation is currently
not as lazy as that, it flushes h1's buffer regardless of whether a
write to h2 causes h2's buffer to overflow or not.
This is used to connect 'stderr' and 'stdout', i.e., output on
'stderr' will now cause 'stdout' output to (first) be flushed.
simonm [Fri, 15 Jan 1999 17:36:31 +0000 (17:36 +0000)]
[project @ 1999-01-15 17:36:31 by simonm]
- __HASKELL1__ is now 5 (was 4). Surely not the last word in
Haskell98 CPP symbols.
- Fix stats munging for new RTS.
simonm [Fri, 15 Jan 1999 17:32:22 +0000 (17:32 +0000)]
[project @ 1999-01-15 17:32:22 by simonm]
Forgot a couple of STGCALLs.
sof [Fri, 15 Jan 1999 17:22:02 +0000 (17:22 +0000)]
[project @ 1999-01-15 17:22:02 by sof]
Annotate the 'foreign import's with 'unsafe'.
sof [Fri, 15 Jan 1999 17:20:15 +0000 (17:20 +0000)]
[project @ 1999-01-15 17:20:15 by sof]
Tweaked to accept empty declarations (again.)
simonm [Fri, 15 Jan 1999 15:57:48 +0000 (15:57 +0000)]
[project @ 1999-01-15 15:57:33 by simonm]
Haskell 98 updates.
simonm [Fri, 15 Jan 1999 15:06:20 +0000 (15:06 +0000)]
[project @ 1999-01-15 15:06:20 by simonm]
Remove punning.
simonm [Fri, 15 Jan 1999 15:01:41 +0000 (15:01 +0000)]
[project @ 1999-01-15 15:01:41 by simonm]
#if __HASKELL1__ > 4
import Ratio (numerator, denominator)
#endif
simonm [Fri, 15 Jan 1999 14:08:21 +0000 (14:08 +0000)]
[project @ 1999-01-15 14:08:21 by simonm]
Remove Void use.
sof [Fri, 15 Jan 1999 14:06:53 +0000 (14:06 +0000)]
[project @ 1999-01-15 14:06:53 by sof]
Parser didn't like "instance Foo X where {}". Does now.
simonm [Fri, 15 Jan 1999 14:06:50 +0000 (14:06 +0000)]
[project @ 1999-01-15 14:06:50 by simonm]
wibble
simonm [Fri, 15 Jan 1999 13:32:19 +0000 (13:32 +0000)]
[project @ 1999-01-15 13:32:19 by simonm]
fix isAlphanum/isAlphaNum problems.
simonm [Fri, 15 Jan 1999 13:11:04 +0000 (13:11 +0000)]
[project @ 1999-01-15 13:11:04 by simonm]
A couple of Int type signatures to avoid H98 Integer defaulting.
simonm [Fri, 15 Jan 1999 12:57:51 +0000 (12:57 +0000)]
[project @ 1999-01-15 12:57:49 by simonm]
H98 changes for non-cygwin targets.
sewardj [Fri, 15 Jan 1999 12:47:20 +0000 (12:47 +0000)]
[project @ 1999-01-15 12:47:19 by sewardj]
Remove 'const' modifier from static closure declarations. Static
closures are meant to live in R/W data space.
sof [Fri, 15 Jan 1999 10:49:21 +0000 (10:49 +0000)]
[project @ 1999-01-15 10:49:05 by sof]
Minor syntactic h98 updates
sof [Fri, 15 Jan 1999 10:27:24 +0000 (10:27 +0000)]
[project @ 1999-01-15 10:27:24 by sof]
Recognise "-- !!!" (as well as "--!!!") as the start of an interesting
comment. The latter isn't liked by a Haskell98 tokeniser, hence the change.
sof [Fri, 15 Jan 1999 10:23:59 +0000 (10:23 +0000)]
[project @ 1999-01-15 10:23:59 by sof]
Removed debugging code that accidentally was left behind.
sof [Fri, 15 Jan 1999 10:21:43 +0000 (10:21 +0000)]
[project @ 1999-01-15 10:21:43 by sof]
lexLitChar: '\DEL' wasn't being lexed properly
sof [Thu, 14 Jan 1999 19:54:05 +0000 (19:54 +0000)]
[project @ 1999-01-14 19:53:57 by sof]
Fixes to support .hi unfoldings containing "_ccall_ dynamic"s
sof [Thu, 14 Jan 1999 19:28:43 +0000 (19:28 +0000)]
[project @ 1999-01-14 19:28:43 by sof]
Tweaked to cope with Haskell98's change to what constitutes a -- comment
sof [Thu, 14 Jan 1999 18:36:18 +0000 (18:36 +0000)]
[project @ 1999-01-14 18:36:18 by sof]
added isEmptyMVarZh macro
sof [Thu, 14 Jan 1999 18:31:17 +0000 (18:31 +0000)]
[project @ 1999-01-14 18:31:17 by sof]
Forgot to commit this before Christmas...on Win32 platforms use
VirtualAlloc() instead CreateFileMapping()&friends to ask for
mega-blocks from the OS. Windows 95-friendlier.
sof [Thu, 14 Jan 1999 18:21:51 +0000 (18:21 +0000)]
[project @ 1999-01-14 18:21:49 by sof]
Haskell 98 related changes + the addition of the MVar primop,
isEmptyMVar :: MVar a -> IO Bool
-- use with care.
sof [Thu, 14 Jan 1999 18:18:47 +0000 (18:18 +0000)]
[project @ 1999-01-14 18:18:45 by sof]
-syslib posix gets the Haskell 98 treatment
sof [Thu, 14 Jan 1999 18:17:37 +0000 (18:17 +0000)]
[project @ 1999-01-14 18:17:32 by sof]
-syslib misc meets Haskell 98.
sof [Thu, 14 Jan 1999 18:15:32 +0000 (18:15 +0000)]
[project @ 1999-01-14 18:15:28 by sof]
* Misc changes to reflect that we're now speaking Haskell 98.
* Augmented IOExts export list with
unsafeIOToST :: IO a -> ST s a
stToIO :: ST s a -> IO a
sof [Thu, 14 Jan 1999 18:13:05 +0000 (18:13 +0000)]
[project @ 1999-01-14 18:12:47 by sof]
Changes to make the Prelude comply with Haskell 98.
I claim that this completes GHC's implementation of Haskell 98 (at
least feature-wise, but there's bound to be some bugs lurking..)
sewardj [Thu, 14 Jan 1999 18:08:26 +0000 (18:08 +0000)]
[project @ 1999-01-14 18:08:26 by sewardj]
Minor Makefile mods.
sof [Thu, 14 Jan 1999 17:59:25 +0000 (17:59 +0000)]
[project @ 1999-01-14 17:58:41 by sof]
Assorted minor Haskell 98 changes:
* Maximal munch rule for "--" comments
* _ as lower-case letter, "_" is a reserved id. Prefixing unused
variable names in patterns with '_' causes the renamer not to
report such names as being unused.
* allow empty decls
* comprehensions are now list comprehensions, not monadic.
* use Monad.fail to signal pattern matching errors within
do expressions.
* remove record punning.
* empty contexts are now legal (go wild!)
* allow records with no fields
* allow newtypes with a labelled field
* default default is now (Integer, Double)
* turn off defaulting mechanism for args & res to a _ccall_.
* allow LHSs of the form (a -.- b) x = ...
* Main.main can now have type (IO a)
* nuked Void (and its use in the compiler sources.)
* deriving machinery for Enum now also generate 'succ' and 'pred'
method bindings.
simonm [Thu, 14 Jan 1999 17:15:46 +0000 (17:15 +0000)]
[project @ 1999-01-14 17:15:46 by simonm]
x86: only add -fomit-frame-pointer when compiling .hc files. It gets
in the way of debugging for normal .c files.
simonm [Thu, 14 Jan 1999 17:01:30 +0000 (17:01 +0000)]
[project @ 1999-01-14 17:01:30 by simonm]
- compile Happy with -O by default.
sof [Thu, 14 Jan 1999 16:59:51 +0000 (16:59 +0000)]
[project @ 1999-01-14 16:59:51 by sof]
Arrange for Makefile dependencies to be generated on misc
parser/ helper code.
simonm [Thu, 14 Jan 1999 16:57:07 +0000 (16:57 +0000)]
[project @ 1999-01-14 16:57:07 by simonm]
Remove a couple of non-existent closure types.
sof [Thu, 14 Jan 1999 16:55:16 +0000 (16:55 +0000)]
[project @ 1999-01-14 16:55:16 by sof]
Added indexFS,
indexFS :: FastString -> Int -> Char
simonm [Thu, 14 Jan 1999 14:43:46 +0000 (14:43 +0000)]
[project @ 1999-01-14 14:43:46 by simonm]
Oops, stack check in PAP_entry was *completely* wrong. Time for a
stack check audit.
simonm [Thu, 14 Jan 1999 14:35:04 +0000 (14:35 +0000)]
[project @ 1999-01-14 14:35:04 by simonm]
- fix stack check in PAP_entry.
sewardj [Thu, 14 Jan 1999 12:17:39 +0000 (12:17 +0000)]
[project @ 1999-01-14 12:17:39 by sewardj]
Changed expected output to match new reality.
sewardj [Thu, 14 Jan 1999 11:57:48 +0000 (11:57 +0000)]
[project @ 1999-01-14 11:57:48 by sewardj]
When -DDEBUG, in BYTE_ARR_CTS, allow GET_INFO(a) to be
&MUT_ARR_WORDS_info as well as &ARR_WORDS_info.
simonm [Thu, 14 Jan 1999 11:11:29 +0000 (11:11 +0000)]
[project @ 1999-01-14 11:11:29 by simonm]
- check failed_to_evac in scavenge_static. We might have a static
indirection (i.e. a CAF) that we can't evacuate to the oldest generation,
so we have to put it back on the old generation mutable list.
With this change, a bootstrapped compiler now compiles the libraries
successfully.
simonm [Thu, 14 Jan 1999 10:49:01 +0000 (10:49 +0000)]
[project @ 1999-01-14 10:49:01 by simonm]
- Don't forget to set failed_to_evac when evacuating a THUNK_SELECTOR
- Fix GC counting
sewardj [Wed, 13 Jan 1999 18:16:37 +0000 (18:16 +0000)]
[project @ 1999-01-13 18:16:37 by sewardj]
Changed expected output to reflect new reality.
simonm [Wed, 13 Jan 1999 17:25:59 +0000 (17:25 +0000)]
[project @ 1999-01-13 17:25:37 by simonm]
Added a generational garbage collector.
The collector is reliable but fairly untuned as yet. It works with an
arbitrary number of generations: use +RTS -G<gens> to change the
number of generations used (default 2).
Stats: +RTS -Sstderr is quite useful, but to really see what's going
on compile the RTS with -DDEBUG and use +RTS -D32.
ARR_PTRS removed - it wasn't used anywhere.
Sanity checking improved:
- free blocks are now spammed when sanity checking is turned on
- a check for leaking blocks is performed after each GC.
sewardj [Wed, 13 Jan 1999 16:47:27 +0000 (16:47 +0000)]
[project @ 1999-01-13 16:47:26 by sewardj]
Code generated by implementTagToCon() gives a useful error message
in case of invalid arguments.
simonm [Wed, 13 Jan 1999 16:26:37 +0000 (16:26 +0000)]
[project @ 1999-01-13 16:26:37 by simonm]
testing
simonm [Wed, 13 Jan 1999 11:06:24 +0000 (11:06 +0000)]
[project @ 1999-01-13 11:06:24 by simonm]
Z-encodings for '/' and '.' were both 'Zd'. Change '.' to 'Zs'.
sewardj [Tue, 12 Jan 1999 14:13:51 +0000 (14:13 +0000)]
[project @ 1999-01-12 14:13:51 by sewardj]
Added check target.
sewardj [Tue, 12 Jan 1999 14:03:27 +0000 (14:03 +0000)]
[project @ 1999-01-12 14:03:27 by sewardj]
Made FILE_OBJECT be defined for -D__HUGS__.
Changed .dll file refs to .so for -D__HUGS__.
sewardj [Tue, 12 Jan 1999 13:45:10 +0000 (13:45 +0000)]
[project @ 1999-01-12 13:45:10 by sewardj]
Created a Makefile for fptools/ghc/interpreter.
sewardj [Tue, 12 Jan 1999 10:59:26 +0000 (10:59 +0000)]
[project @ 1999-01-12 10:59:26 by sewardj]
Disabled nonblocking IO (the +128 for file flags) until missing prims
are implemented.
sewardj [Tue, 12 Jan 1999 10:53:02 +0000 (10:53 +0000)]
[project @ 1999-01-12 10:53:02 by sewardj]
Removed extraneous test following 'if ( fo->flags & FILEOBJ_NONBLOCKING_IO )'
sof [Mon, 11 Jan 1999 10:15:04 +0000 (10:15 +0000)]
[project @ 1999-01-11 10:15:04 by sof]
Fixed caching bug in FPTOOLS_END_{TEXT,DATA}_SECTION.
sof [Mon, 11 Jan 1999 09:11:52 +0000 (09:11 +0000)]
[project @ 1999-01-11 09:11:52 by sof]
Added new option -f, which forces the creation of 'todir' if it doesn't
already exist.
sof [Sun, 10 Jan 1999 17:16:45 +0000 (17:16 +0000)]
[project @ 1999-01-10 17:16:45 by sof]
Added definition of WithGhcHcVersion (but left commented out, as it's currently
unused.)
sof [Fri, 8 Jan 1999 18:14:13 +0000 (18:14 +0000)]
[project @ 1999-01-08 18:14:13 by sof]
mkdependHS: for "source" imports of the form, e.g.,
import {-# SOURCE #-} Foo
emit dependency on Foo.hi-boot-<iface-file-version-number>
rather than just Foo.hi-boot if the former exists.
simonm [Fri, 8 Jan 1999 16:14:49 +0000 (16:14 +0000)]
[project @ 1999-01-08 16:14:49 by simonm]
Generate static closures with float/double fields properly.
simonm [Fri, 8 Jan 1999 16:11:23 +0000 (16:11 +0000)]
[project @ 1999-01-08 16:11:23 by simonm]
Fix endianness problems in info table generation.
sewardj [Fri, 8 Jan 1999 15:36:58 +0000 (15:36 +0000)]
[project @ 1999-01-08 15:36:58 by sewardj]
Added -fno-asm-mangling.
simonm [Fri, 8 Jan 1999 11:42:09 +0000 (11:42 +0000)]
[project @ 1999-01-08 11:42:09 by simonm]
Add missing <p>
simonm [Fri, 8 Jan 1999 11:37:27 +0000 (11:37 +0000)]
[project @ 1999-01-08 11:37:27 by simonm]
Doc changes for revised exception interface.
kw217 [Thu, 7 Jan 1999 17:49:47 +0000 (17:49 +0000)]
[project @ 1999-01-07 17:49:47 by kw217]
Add missing export of warnPprTrace (for WARN macro).
simonpj [Thu, 7 Jan 1999 16:53:10 +0000 (16:53 +0000)]
[project @ 1999-01-07 16:53:10 by simonpj]
Fix RnEnv.mkPrintUnqualFn
simonm [Thu, 7 Jan 1999 16:39:08 +0000 (16:39 +0000)]
[project @ 1999-01-07 16:39:06 by simonm]
Revised interface to the exception library. Docs to follow.
simonm [Thu, 7 Jan 1999 15:48:40 +0000 (15:48 +0000)]
[project @ 1999-01-07 15:48:40 by simonm]
this file is NON_POSIX_SOURCE, since we use lstat.
simonm [Thu, 7 Jan 1999 15:42:33 +0000 (15:42 +0000)]
[project @ 1999-01-07 15:42:33 by simonm]
#include <unistd.h> to get prototype for vfork.
keithw [Thu, 7 Jan 1999 14:54:42 +0000 (14:54 +0000)]
[project @ 1999-01-07 14:54:42 by keithw]
Add missing pattern to tidyNote.
simonpj [Thu, 7 Jan 1999 12:48:23 +0000 (12:48 +0000)]
[project @ 1999-01-07 12:48:13 by simonpj]
Small changes to make the compiler boot itself
simonpj [Thu, 7 Jan 1999 12:47:35 +0000 (12:47 +0000)]
[project @ 1999-01-07 12:47:34 by simonpj]
Add debug macro WARN
simonm [Thu, 7 Jan 1999 11:18:22 +0000 (11:18 +0000)]
[project @ 1999-01-07 11:18:22 by simonm]
New rev5 hi-boot file.
simonm [Thu, 7 Jan 1999 11:13:29 +0000 (11:13 +0000)]
[project @ 1999-01-07 11:13:29 by simonm]
Sync up with .hi-boot file.
simonm [Wed, 6 Jan 1999 15:55:03 +0000 (15:55 +0000)]
[project @ 1999-01-06 15:55:03 by simonm]
Sort unboxed slots - part of the fix for large bitmaps.
simonm [Wed, 6 Jan 1999 12:27:47 +0000 (12:27 +0000)]
[project @ 1999-01-06 12:27:47 by simonm]
Fixes to the large bitmap code.
simonm [Wed, 6 Jan 1999 12:15:35 +0000 (12:15 +0000)]
[project @ 1999-01-06 12:15:35 by simonm]
Oops; committed wrong version. Revert previous commit.
simonm [Wed, 6 Jan 1999 11:52:43 +0000 (11:52 +0000)]
[project @ 1999-01-06 11:52:43 by simonm]
Fixes to the large bitmap code.
simonm [Wed, 6 Jan 1999 11:44:44 +0000 (11:44 +0000)]
[project @ 1999-01-06 11:44:44 by simonm]
- check for silly stack sizes in the right place
- stub the link field of the running TSO (fixes a bug in the
_ccall_GC support).
simonm [Wed, 6 Jan 1999 11:35:27 +0000 (11:35 +0000)]
[project @ 1999-01-06 11:35:27 by simonm]
trim import
simonm [Wed, 6 Jan 1999 11:29:44 +0000 (11:29 +0000)]
[project @ 1999-01-06 11:29:44 by simonm]
updates
simonpj [Tue, 5 Jan 1999 12:22:12 +0000 (12:22 +0000)]
[project @ 1999-01-05 12:22:08 by simonpj]
Fix renamer crash on bootstrap build
simonpj [Thu, 24 Dec 1998 14:46:18 +0000 (14:46 +0000)]
[project @ 1998-12-24 14:46:18 by simonpj]
Fix simplifier bug that forgot mkRhsTyLam
simonm [Wed, 23 Dec 1998 12:33:52 +0000 (12:33 +0000)]
[project @ 1998-12-23 12:33:52 by simonm]
A couple of small additions.
simonm [Wed, 23 Dec 1998 12:26:00 +0000 (12:26 +0000)]
[project @ 1998-12-23 12:26:00 by simonm]
Add strictness for fork# and par#.
simonm [Wed, 23 Dec 1998 12:12:23 +0000 (12:12 +0000)]
[project @ 1998-12-23 12:12:19 by simonm]
Update for version 4.02
simonpj [Wed, 23 Dec 1998 10:24:06 +0000 (10:24 +0000)]
[project @ 1998-12-23 10:24:06 by simonpj]
Fix strictness of NewArrayOp and NewMutVarOp in PrimOp.lhs
simonm [Tue, 22 Dec 1998 18:52:04 +0000 (18:52 +0000)]
[project @ 1998-12-22 18:52:04 by simonm]
Filter out type arguments when analysing primops.
simonm [Tue, 22 Dec 1998 18:03:27 +0000 (18:03 +0000)]
[project @ 1998-12-22 18:03:27 by simonm]
Another fix for getScrutineeTyCon: ignore Fun tycons.
simonm [Tue, 22 Dec 1998 17:00:11 +0000 (17:00 +0000)]
[project @ 1998-12-22 17:00:11 by simonm]
Remove overlapped case correctly spotted by GHC.