panne [Sat, 16 Dec 2000 15:20:30 +0000 (15:20 +0000)]
[project @ 2000-12-16 15:20:30 by panne]
Merge rev. 1.18.2.2
simonmar [Sat, 16 Dec 2000 13:26:13 +0000 (13:26 +0000)]
[project @ 2000-12-16 13:26:13 by simonmar]
remove duplicate comment
simonmar [Sat, 16 Dec 2000 13:24:55 +0000 (13:24 +0000)]
[project @ 2000-12-16 13:24:55 by simonmar]
GC unused consistency checking options, and update the comments for
HscIfaceFileVersion.
chak [Sat, 16 Dec 2000 06:55:58 +0000 (06:55 +0000)]
[project @ 2000-12-16 06:55:58 by chak]
Simplified setting of build directory following a suggestion by
Jeff Lewis.
sewardj [Fri, 15 Dec 2000 17:38:45 +0000 (17:38 +0000)]
[project @ 2000-12-15 17:38:45 by sewardj]
temp hack to make contents disappear
simonmar [Fri, 15 Dec 2000 17:29:35 +0000 (17:29 +0000)]
[project @ 2000-12-15 17:29:35 by simonmar]
Hmm. Merge in stuff from before-ghci-branch that CVS refused to merge before.
sewardj [Fri, 15 Dec 2000 17:14:39 +0000 (17:14 +0000)]
[project @ 2000-12-15 17:14:38 by sewardj]
more BCO# wibbles
sewardj [Fri, 15 Dec 2000 17:09:49 +0000 (17:09 +0000)]
[project @ 2000-12-15 17:09:49 by sewardj]
Conversion of unlinked BCOs to linked BCOs.
simonmar [Fri, 15 Dec 2000 17:07:20 +0000 (17:07 +0000)]
[project @ 2000-12-15 17:07:20 by simonmar]
ASSERT that we have the right number of arguments when building a
constructor, to avoid repeats of today's extended debugging session.
simonmar [Fri, 15 Dec 2000 15:58:51 +0000 (15:58 +0000)]
[project @ 2000-12-15 15:58:51 by simonmar]
Add a special case in doDiscard for the sequence '"'. The
bootstrapped compiler can now build ghc/lib/std.
simonmar [Fri, 15 Dec 2000 14:48:09 +0000 (14:48 +0000)]
[project @ 2000-12-15 14:48:09 by simonmar]
Don't eta reduce something we just saturated. (D'oh!)
This fixes the problem which causes a bootstrapped HEAD compiler to
crash.
sewardj [Fri, 15 Dec 2000 14:47:15 +0000 (14:47 +0000)]
[project @ 2000-12-15 14:47:15 by sewardj]
add BCOzh
sewardj [Fri, 15 Dec 2000 11:59:59 +0000 (11:59 +0000)]
[project @ 2000-12-15 11:59:59 by sewardj]
nuke getBCOPtrszh
sewardj [Fri, 15 Dec 2000 11:58:35 +0000 (11:58 +0000)]
[project @ 2000-12-15 11:58:35 by sewardj]
fix arg tys for newBCO#, and delete all other BCO related primops
sewardj [Fri, 15 Dec 2000 10:37:51 +0000 (10:37 +0000)]
[project @ 2000-12-15 10:37:50 by sewardj]
Change from 3-component to 4-component representation for BCOs
sewardj [Thu, 14 Dec 2000 16:33:18 +0000 (16:33 +0000)]
[project @ 2000-12-14 16:33:18 by sewardj]
itbl renaming wibbles
sewardj [Thu, 14 Dec 2000 16:32:40 +0000 (16:32 +0000)]
[project @ 2000-12-14 16:32:40 by sewardj]
more interpreter itbl hackery
sewardj [Thu, 14 Dec 2000 16:32:21 +0000 (16:32 +0000)]
[project @ 2000-12-14 16:32:21 by sewardj]
itbl renaming wibbles
sewardj [Thu, 14 Dec 2000 15:19:48 +0000 (15:19 +0000)]
[project @ 2000-12-14 15:19:47 by sewardj]
Add info tables to do compiled->interpreted returns and vice versa.
Rename various stuff from ...Hugs... to ...Interp...
sewardj [Thu, 14 Dec 2000 14:19:56 +0000 (14:19 +0000)]
[project @ 2000-12-14 14:19:56 by sewardj]
So long, dudes! It's been Real (tm).
sewardj [Thu, 14 Dec 2000 12:52:40 +0000 (12:52 +0000)]
[project @ 2000-12-14 12:52:40 by sewardj]
Clarify itbl and linking issues for bcos, and add flag -ddump-bcos.
simonmar [Thu, 14 Dec 2000 12:33:31 +0000 (12:33 +0000)]
[project @ 2000-12-14 12:33:31 by simonmar]
don't mess with $(MKDEPENDHS)
simonmar [Thu, 14 Dec 2000 12:32:59 +0000 (12:32 +0000)]
[project @ 2000-12-14 12:32:59 by simonmar]
$(MKDEPENDHS) = $(GHC), not $(HC).
sewardj [Thu, 14 Dec 2000 10:36:49 +0000 (10:36 +0000)]
[project @ 2000-12-14 10:36:49 by sewardj]
Wrap entire file in #ifdef GHCI, to create link errors if malconfigured
sewardj [Wed, 13 Dec 2000 12:19:00 +0000 (12:19 +0000)]
[project @ 2000-12-13 12:19:00 by sewardj]
import wibbles
sewardj [Wed, 13 Dec 2000 12:18:40 +0000 (12:18 +0000)]
[project @ 2000-12-13 12:18:40 by sewardj]
BarfKind --> GhcException
simonmar [Wed, 13 Dec 2000 11:57:19 +0000 (11:57 +0000)]
[project @ 2000-12-13 11:57:19 by simonmar]
add HsForeignPtr
simonmar [Wed, 13 Dec 2000 11:50:30 +0000 (11:50 +0000)]
[project @ 2000-12-13 11:50:30 by simonmar]
Fix a broken regexp
sewardj [Wed, 13 Dec 2000 11:30:12 +0000 (11:30 +0000)]
[project @ 2000-12-13 11:30:12 by sewardj]
Track renaming of newCharArray# to newByteArray#
simonmar [Tue, 12 Dec 2000 17:21:43 +0000 (17:21 +0000)]
[project @ 2000-12-12 17:21:40 by simonmar]
Take a pass over the tests, get most things working again. Mostly
-package lang changes, and synching up of the expected output.
This was a good exercise though: I found at least two real bugs in the
process :)
simonmar [Tue, 12 Dec 2000 17:19:33 +0000 (17:19 +0000)]
[project @ 2000-12-12 17:19:33 by simonmar]
Oops! Don't forget to remove type variables from the binders of a
case alternative when converting to STG.
sewardj [Tue, 12 Dec 2000 17:16:54 +0000 (17:16 +0000)]
[project @ 2000-12-12 17:16:54 by sewardj]
track changes in ByteCodeGen.lhs
sewardj [Tue, 12 Dec 2000 17:16:28 +0000 (17:16 +0000)]
[project @ 2000-12-12 17:16:28 by sewardj]
More assembler work. Mostly done. Still need to import itbl stuff
from old interpreter. Must remember to order new hair to replaced all
I tore out today.
simonmar [Tue, 12 Dec 2000 16:21:53 +0000 (16:21 +0000)]
[project @ 2000-12-12 16:21:53 by simonmar]
error message wibble
sewardj [Tue, 12 Dec 2000 15:58:48 +0000 (15:58 +0000)]
[project @ 2000-12-12 15:58:48 by sewardj]
Get the assembler infrastructure more or less correct.
simonmar [Tue, 12 Dec 2000 15:49:20 +0000 (15:49 +0000)]
[project @ 2000-12-12 15:49:20 by simonmar]
Add missing default case from isSpecial
simonmar [Tue, 12 Dec 2000 14:48:46 +0000 (14:48 +0000)]
[project @ 2000-12-12 14:48:46 by simonmar]
-noC has been removed
simonmar [Tue, 12 Dec 2000 14:42:43 +0000 (14:42 +0000)]
[project @ 2000-12-12 14:42:43 by simonmar]
wibble: get the exception handlers round the right way
simonmar [Tue, 12 Dec 2000 14:35:09 +0000 (14:35 +0000)]
[project @ 2000-12-12 14:35:08 by simonmar]
Clean up the error handling a bit; the exception type is moved to
Panic, and a new exception for panics has been added.
simonmar [Tue, 12 Dec 2000 13:57:58 +0000 (13:57 +0000)]
[project @ 2000-12-12 13:57:58 by simonmar]
turn off recompilation checking in here
simonmar [Tue, 12 Dec 2000 13:57:40 +0000 (13:57 +0000)]
[project @ 2000-12-12 13:57:40 by simonmar]
Allow for compiling to .hc only (substitute for now-defunct -noC option)
simonmar [Tue, 12 Dec 2000 13:27:18 +0000 (13:27 +0000)]
[project @ 2000-12-12 13:27:18 by simonmar]
Make the foreign export dynamic helper function "exported", so it
doesn't get thrown away.
simonmar [Tue, 12 Dec 2000 12:19:58 +0000 (12:19 +0000)]
[project @ 2000-12-12 12:19:57 by simonmar]
- Add primops for {read,write,index}{Int,Word}{8,16,32,64}OffAddr.
This enables us to remove all the _casm_s from Int/Word.
- Replace new{Char,Int,etc.}Array# with newByteArray# (save a few primops,
at the cost of having to know the size of these types in PrelArr).
- Implement MArray/IArray support for sized types. finally.
- Move the guts of the sized types into ghc/lib/std, we'll need
them for doing more FFIish things in the Prelude.
simonmar [Tue, 12 Dec 2000 12:10:08 +0000 (12:10 +0000)]
[project @ 2000-12-12 12:10:08 by simonmar]
Treat an unhandled exception in the same way as a panic (i.e. the
`impossible' happened), to make it clear that these really are
compiler bugs.
sewardj [Tue, 12 Dec 2000 10:11:21 +0000 (10:11 +0000)]
[project @ 2000-12-12 10:11:21 by sewardj]
booting wibble
sewardj [Tue, 12 Dec 2000 10:02:57 +0000 (10:02 +0000)]
[project @ 2000-12-12 10:02:57 by sewardj]
make it compile with #define NO_READLINE
sewardj [Mon, 11 Dec 2000 18:41:01 +0000 (18:41 +0000)]
[project @ 2000-12-11 18:41:01 by sewardj]
Changes to how literals are pushed on the stack
sewardj [Mon, 11 Dec 2000 18:40:28 +0000 (18:40 +0000)]
[project @ 2000-12-11 18:40:28 by sewardj]
import wibble
sewardj [Mon, 11 Dec 2000 17:59:01 +0000 (17:59 +0000)]
[project @ 2000-12-11 17:59:01 by sewardj]
stagger ever onwards
simonmar [Mon, 11 Dec 2000 17:51:57 +0000 (17:51 +0000)]
[project @ 2000-12-11 17:51:57 by simonmar]
ANSIfy
simonmar [Mon, 11 Dec 2000 17:51:34 +0000 (17:51 +0000)]
[project @ 2000-12-11 17:51:34 by simonmar]
gc unused imports
simonmar [Mon, 11 Dec 2000 17:01:32 +0000 (17:01 +0000)]
[project @ 2000-12-11 17:01:32 by simonmar]
add foreignPtr names
simonmar [Mon, 11 Dec 2000 16:57:18 +0000 (16:57 +0000)]
[project @ 2000-12-11 16:56:47 by simonmar]
add ForeignPtr
sewardj [Mon, 11 Dec 2000 16:42:26 +0000 (16:42 +0000)]
[project @ 2000-12-11 16:42:26 by sewardj]
head -> head bootability wibbles (rm disallowed OPTIONS pragmas)
simonmar [Mon, 11 Dec 2000 16:15:03 +0000 (16:15 +0000)]
[project @ 2000-12-11 16:15:03 by simonmar]
Put back accidentally butchered Config.hs
sewardj [Mon, 11 Dec 2000 15:26:00 +0000 (15:26 +0000)]
[project @ 2000-12-11 15:26:00 by sewardj]
More driver straightening-out.
sewardj [Mon, 11 Dec 2000 14:42:21 +0000 (14:42 +0000)]
[project @ 2000-12-11 14:42:21 by sewardj]
Remove circular dependencies created by kludgedSystem.
simonmar [Mon, 11 Dec 2000 12:59:25 +0000 (12:59 +0000)]
[project @ 2000-12-11 12:59:25 by simonmar]
bco wibbles.
simonmar [Mon, 11 Dec 2000 12:56:14 +0000 (12:56 +0000)]
[project @ 2000-12-11 12:56:13 by simonmar]
New BCO primops.
sewardj [Mon, 11 Dec 2000 12:55:43 +0000 (12:55 +0000)]
[project @ 2000-12-11 12:55:43 by sewardj]
Remove the old bytecode interpreter and add the new one.
sewardj [Mon, 11 Dec 2000 12:53:44 +0000 (12:53 +0000)]
[project @ 2000-12-11 12:53:44 by sewardj]
wibble
sewardj [Mon, 11 Dec 2000 12:50:53 +0000 (12:50 +0000)]
[project @ 2000-12-11 12:50:52 by sewardj]
Are now redundant since GHCi does bytecode assembly in Haskell-land
(fptools/ghc/compiler/ghci/ByteCodeGen.lhs).
simonmar [Mon, 11 Dec 2000 12:40:24 +0000 (12:40 +0000)]
[project @ 2000-12-11 12:40:24 by simonmar]
add missing #includes.
simonmar [Mon, 11 Dec 2000 12:37:00 +0000 (12:37 +0000)]
[project @ 2000-12-11 12:36:59 by simonmar]
- update representation of BCOs
- add setHeapSize for use from within GHC
rrt [Mon, 11 Dec 2000 12:30:58 +0000 (12:30 +0000)]
[project @ 2000-12-11 12:30:58 by rrt]
Use kludgedSystem instead of system to work sanely (AFATIP) on Windows.
simonmar [Mon, 11 Dec 2000 12:15:15 +0000 (12:15 +0000)]
[project @ 2000-12-11 12:15:15 by simonmar]
allow all the dynamic -f* flags to be reversed with -fno-*
simonmar [Mon, 11 Dec 2000 11:41:08 +0000 (11:41 +0000)]
[project @ 2000-12-11 11:41:08 by simonmar]
* -fno-strictness et al. were in the wrong set of flags.
* remove static version of -fno-implicit-prelude
simonmar [Mon, 11 Dec 2000 11:40:32 +0000 (11:40 +0000)]
[project @ 2000-12-11 11:40:32 by simonmar]
-fno-implicit-prelude isn't a static flag any more
simonmar [Mon, 11 Dec 2000 10:18:51 +0000 (10:18 +0000)]
[project @ 2000-12-11 10:18:51 by simonmar]
remove old driver.
qrczak [Fri, 8 Dec 2000 21:28:15 +0000 (21:28 +0000)]
[project @ 2000-12-08 21:28:15 by qrczak]
Let newtypes in stub files generate correct C type names.
It worked in ghc-4.09 but was not merged into 4.11?
sewardj [Fri, 8 Dec 2000 15:46:29 +0000 (15:46 +0000)]
[project @ 2000-12-08 15:46:29 by sewardj]
Unboxed returns, + a little peephole optimisation.
sewardj [Fri, 8 Dec 2000 15:45:55 +0000 (15:45 +0000)]
[project @ 2000-12-08 15:45:55 by sewardj]
FILE RENAME: from fptools/ghc/rts/Bytecodes.h
to fptools/ghc/includes/Bytecodes.h
sewardj [Fri, 8 Dec 2000 14:34:52 +0000 (14:34 +0000)]
[project @ 2000-12-08 14:34:52 by sewardj]
Wibble
sewardj [Fri, 8 Dec 2000 13:56:18 +0000 (13:56 +0000)]
[project @ 2000-12-08 13:56:18 by sewardj]
Correctly unpack constructors onto the stack.
simonpj [Fri, 8 Dec 2000 13:44:28 +0000 (13:44 +0000)]
[project @ 2000-12-08 13:44:28 by simonpj]
LiberateCase fiddling
simonpj [Fri, 8 Dec 2000 13:20:53 +0000 (13:20 +0000)]
[project @ 2000-12-08 13:20:52 by simonpj]
Bogons in previous commit
simonpj [Fri, 8 Dec 2000 12:56:01 +0000 (12:56 +0000)]
[project @ 2000-12-08 12:56:00 by simonpj]
Get CAF info right
simonpj [Fri, 8 Dec 2000 12:32:16 +0000 (12:32 +0000)]
[project @ 2000-12-08 12:32:15 by simonpj]
Some renaming in HscTypes
rrt [Fri, 8 Dec 2000 12:18:19 +0000 (12:18 +0000)]
[project @ 2000-12-08 12:18:19 by rrt]
Add #include of ghc/includes/config.h so tests of TARGET_OS_mingw32 work.
simonpj [Fri, 8 Dec 2000 12:13:13 +0000 (12:13 +0000)]
[project @ 2000-12-08 12:13:13 by simonpj]
Correct CPR information. How it ever worked I don't know.
* The CPR info on a newtype constructor should be NoCPR, whereas
before it was ReturnsCPR!
* Minor: don't change CPR info on implicit Ids
simonpj [Fri, 8 Dec 2000 12:02:28 +0000 (12:02 +0000)]
[project @ 2000-12-08 12:02:25 by simonpj]
Slight repackaging in HscMain
simonpj [Fri, 8 Dec 2000 12:02:01 +0000 (12:02 +0000)]
[project @ 2000-12-08 12:01:44 by simonpj]
Rename omitIfaceSigForId to isImplicitId
rrt [Fri, 8 Dec 2000 11:47:00 +0000 (11:47 +0000)]
[project @ 2000-12-08 11:47:00 by rrt]
config.h depends not just on fptools/mk/config.h but on
fptools/mk/config.mk, for architecture information.
simonmar [Fri, 8 Dec 2000 10:26:41 +0000 (10:26 +0000)]
[project @ 2000-12-08 10:26:41 by simonmar]
add -fno-{cse,cpr,strictness} flags.
simonmar [Fri, 8 Dec 2000 10:09:49 +0000 (10:09 +0000)]
[project @ 2000-12-08 10:09:49 by simonmar]
Don't need to set the CafInfo on non-top-level Ids, the default is
correct now.
simonmar [Fri, 8 Dec 2000 09:54:47 +0000 (09:54 +0000)]
[project @ 2000-12-08 09:54:47 by simonmar]
change the default CafInfo to NoCafRefs, to avoid PrimOps,
constructors and other random Ids from declaring that they refer to
CAFs.
simonpj [Fri, 8 Dec 2000 09:46:16 +0000 (09:46 +0000)]
[project @ 2000-12-08 09:46:16 by simonpj]
Add documentation on -fno-monomorphism-restriction
simonpj [Fri, 8 Dec 2000 09:45:42 +0000 (09:45 +0000)]
[project @ 2000-12-08 09:45:41 by simonpj]
Add -fno-monomorphism-restriction
simonpj [Fri, 8 Dec 2000 09:45:19 +0000 (09:45 +0000)]
[project @ 2000-12-08 09:45:19 by simonpj]
Comment
simonpj [Fri, 8 Dec 2000 09:44:51 +0000 (09:44 +0000)]
[project @ 2000-12-08 09:44:51 by simonpj]
Complete Simons arity/caf changes
simonmar [Fri, 8 Dec 2000 09:39:05 +0000 (09:39 +0000)]
[project @ 2000-12-08 09:39:05 by simonmar]
use $(GHC) for $(MKDEPENDHS), since $(GHC_INPLACE) isn't built yet.
There's a minor problem with this, in that if you've added any options
to GhcLibHcOpts that are specific to the new compiler, 'make boot'
won't work. bleugh.
simonmar [Thu, 7 Dec 2000 17:26:31 +0000 (17:26 +0000)]
[project @ 2000-12-07 17:26:30 by simonmar]
Figure out CafInfo during CoreTidy. This is the final piece of the
puzzle in getting the final IdInfo from the Core2Core phases, rather
than waiting for the STG code.
This simplifies the SRT phase, in that it no longer has to have a
complicated circular algorithm to figure out the CafInfo at the same
time as the SRT layout.
simonmar [Thu, 7 Dec 2000 16:39:40 +0000 (16:39 +0000)]
[project @ 2000-12-07 16:39:40 by simonmar]
touch the object file in the HscNoRecomp case (duh)
sewardj [Thu, 7 Dec 2000 14:50:29 +0000 (14:50 +0000)]
[project @ 2000-12-07 14:50:29 by sewardj]
Fix many obvious bogons and partially emerge from Wrong Stack Offset Hell.
sewardj [Thu, 7 Dec 2000 11:00:43 +0000 (11:00 +0000)]
[project @ 2000-12-07 11:00:43 by sewardj]
Minor enhancements to printing machinery to aid debugging the BC generator.
simonpj [Thu, 7 Dec 2000 10:36:03 +0000 (10:36 +0000)]
[project @ 2000-12-07 10:36:03 by simonpj]
Dont drop inline-mes quite so easily. This was leading to substWorker warnings.
simonpj [Thu, 7 Dec 2000 10:06:20 +0000 (10:06 +0000)]
[project @ 2000-12-07 10:06:20 by simonpj]
Dont warn about uses of deprecated things in its own module
simonpj [Thu, 7 Dec 2000 09:28:43 +0000 (09:28 +0000)]
[project @ 2000-12-07 09:28:42 by simonpj]
Do a better job of eta expansion.
This showed up in one of Manuel's programs, where he got code like:
$wsimpleGen
ww
(\ i :: Int ->
case i of wild1 { I# i# ->
case w of wild2 { I# e# ->
__coerce (ST RealWorld ())
(\ s# :: (State# RealWorld) ->
case writeIntArray# @ RealWorld mba# i# e# s#
of s2#1 { __DEFAULT ->
(# s2#1, () #)
})
}
})
s2#
The argument wasn't eta expanded, so it got right through to
the code generator as two separte lambdas.
Needless to say, I fiddled around with things in a vain attempt
to tidy them up. Yell if anything seems to go wrong, or perfomance
drops on any programs.
simonpj [Thu, 7 Dec 2000 09:21:25 +0000 (09:21 +0000)]
[project @ 2000-12-07 09:21:25 by simonpj]
Improve iface diffs messages
simonpj [Thu, 7 Dec 2000 09:12:33 +0000 (09:12 +0000)]
[project @ 2000-12-07 09:12:33 by simonpj]
Errors and warnings were back to front