- 08 Feb, 2003 1 commit
-
-
wolfgang authored
Fix a potential crash in the threaded RTS by copying ccall arguments from the TSO stack to a malloced block before doing the call. (no changes were made for the non-threaded case)
-
- 07 Feb, 2003 4 commits
-
-
sof authored
hsc2hs-inplace: provide --ld default-default
-
sof authored
Rip out rawSystem impl -- it only happened to work by accident. Simpler to just assume that SystemExts supplies it instead, which it has for a number of versions now.
-
sof authored
- default linker is now 'ghc' (i.e., consistent with the default compiler.) - new option, -v/--verbose, which makes the tool less inscrutable about what external commands it actually ends up exec'ing. - under Win32, try locating the default 'ghc' to run by looking in the dir where 'hsc2hs' resides (which they do in a binary install.) - make the default --template arg story actually work (win32 only.)
-
simonpj authored
Fix minor bugs in simplifier iteration control
-
- 06 Feb, 2003 8 commits
-
-
tgedell authored
Changed so that PredType is declared as a type and not a datatype, this caused a problem when generating external Core. Added SourceType as a datatype since PredType refers to it.
-
simonpj authored
Deal with TForall in cvtType
-
simonpj authored
------------------------------------- Fix parsing of floating-point constants in External Core ------------------------------------- This fix accidentally made it into the previous (unrelated) commit, so it's really the *previous* change to LexCore you should look at. The fix updates LexCore so that it can parse literals in scientific notation (e.g. 4.3e-3)
-
simonpj authored
Minor tidy up of known-key names
-
simonmar authored
Oops, Add rts_getFunPtr too.
-
simonmar authored
rts_mkFunPtr and rts_getFunPtr were missing. Thanks to Daan Leijen for spotting and reporting the bug. MERGE TO STABLE
-
simonpj authored
Fix version-itis in LexCore, so it will compile with 4.08 again
-
simonpj authored
Improve error message
-
- 05 Feb, 2003 7 commits
-
-
simonmar authored
EXTRA_OBJS is not the right thing to be adding into the objects to be put into a SplitObjs library - it causes certain objects to turn up twice in the resulting library (eg. if EXTRA_OBJS duplicates some objects also found in HS_OBJS). In fact, EXTRA_OBJS is generally bogus and now isn't used anywhere, so I've removed it. Should fix the problem recently reported with PrimopWrappers occurring twice in the libHSbase.a archive.
-
simonmar authored
fix markup slightly
-
simonpj authored
Remove more usage-analysis stuff
-
simonpj authored
Wibble to TcRules (fixes HEAD breakage)
-
simonpj authored
------------------------------------- Fix parsing of floating-point constants in External Core ------------------------------------- This fix accidentally made it into the previous (unrelated) commit, so it's really the *previous* change to LexCore you should look at. The fix updates LexCore so that it can parse literals in scientific notation (e.g. 4.3e-3)
-
simonpj authored
Type sigs and comments only
-
simonmar authored
Remove usageSP directory
-
- 04 Feb, 2003 8 commits
-
-
simonpj authored
------------------------------------- Fix a name-capture bug in Ext-Core ------------------------------------- Don't expand newtypes (even non-recursive ones) when going to External Core. Reason: the expansion was performed *after* Tidying; the expansion performs type substitution, which is only done right if you take account of the Uniques. But since it's post-tidying, we got capture of occurence names. I hope the lack of newtype expansion doesn't hurt anyone; I doubt it will. If so, we can think again. Thanks to Tobias Gedell for this one.
-
simonpj authored
------------------------------------- Remove all vestiges of usage analysis ------------------------------------- This commit removes a large blob of usage-analysis-related code, almost all of which was commented out. Sadly, it doesn't look as if Keith is going to have enough time to polish it up, and in any case the actual performance benefits (so far as we can measure them) turned out to be pretty modest (a few percent). So, with regret, I'm chopping it all out. It's still there in the repository if anyone wants go hack on it. And Tobias Gedell at Chalmers is implementing a different analysis, via External Core.
-
simonpj authored
--------------------------------------------------- External Core fix output implicit bindings in correct dependency order --------------------------------------------------- In coreSyn/MkExternalCore, output constructor wrappers before the other implicit bindings, because the latter may use the former. Thanks to Tobias Gedell for this one.
-
simonpj authored
Make utils/genprimopcode recognise the type (). It was previously written 'Unit', which is easily confused with the type 'Unit' (used for generic derived instances).
-
simonpj authored
--------------------------------------------------- Template-Haskell fix to make the global environment more side-effect-ful --------------------------------------------------- Consider f = $(...foldl...) $(...foldl...) The first splice sucks in the type sig for foldl, which the second splice needs. That means that the second splice is going to have to consult the persistent compiler state to see the effect of imports by the first one. We used to cache the global type environment in the TcGblEnv, but this commit switches to the obvious thing: consult the persistent state on every global lookup. After all, reading a MutVar is no big deal; and it's a benign, ever-growing cache of type signatures, so the side effect is fine. On the way I tidied up the knot-tying in TcIfaceSig a bit more. Previously, I think the setUnfoldingInfo was being strict in the unfolding, which forced it to be type-checked. Now it's lazy. That could mean a lot less typechecking overall, for things whose unfolding isn't looked at. I hope I havn't broken it, though.
-
simonpj authored
--------------------------------------------------- Important fix to the handling of class methods that mention their own class type variable --------------------------------------------------- [NB: I'm not 100% certain that this commit is independent of the Template-Haskell-related commit I'm doing at the same time. I've tried to separate them but may not have succeeded totally.] This bug gives utterly bogus (detected by Core Lint) programs. Isaac Jones discovered it. Here's an example, now enshrined as tc165. class C a where f :: (Eq a) => a instance C () where f = f The instance decl was translated as dfC() = MkC (let f = \dEq -> f in f) which is utterly wrong. Reason: the 'f' on the left was being treated as an available Inst, but it doesn't obey INVARIANT 2 for Insts, which is that they are applied to all their dictionaries. (See the data type decl for Inst.) Solution: don't include such class methods in the available Insts.
-
simonpj authored
Use nameIsLocalOrFrom instead of open code
-
simonpj authored
Add type sig
-
- 03 Feb, 2003 1 commit
-
-
simonpj authored
Modify error message
-
- 01 Feb, 2003 1 commit
-
-
mthomas authored
Initialize stp->n_to_blocks as 0. Add function for MinGW32 in Signals.c.
-
- 31 Jan, 2003 1 commit
-
-
wolfgang authored
PowerPC bugfix: Don't forget to save GPR13 (Thanks to Ashley Yakeley for reporting this) MERGE TO STABLE
-
- 30 Jan, 2003 2 commits
-
-
simonmar authored
Quick fix for profiling after I broke it in rev. 1.68. The profiling system needs some initialisation after module registration (hs_add_root()). Since module registration now happens later, the profiling system was getting initialised too early before any cost centers had been registered. This is a quick fix; we still can't handle multiple hs_add_root()s with profiling.
-
simonmar authored
gcc 2.96 miscompiles LDV_recordDead_FILL_SLOP_DYNAMIC() when DEBUG is on, and I think I must have debugged this crash about three times already. So I'm inserting a #error to stop me doing it again.
-
- 29 Jan, 2003 2 commits
-
-
simonmar authored
Multi-init protection. Multiple inits now don't crash, but they still don't do anything sensible because the finalizers have been run during the first hs_exit().
-
simonmar authored
- re-instate setProgArgv, it is used in System.Environment (bah, could have sworn I grepped for it and found nothing...) - Remove init_stack symbol from the Linker's symbol table; this is now static.
-
- 28 Jan, 2003 5 commits
-
-
simonmar authored
I moved startTime here, from RtsStartup.c where it seemed out of placed
-
simonmar authored
Make it multi-init-safe
-
simonmar authored
- Remove setProgArgv - Belatedly add startupHaskell/shutdownHaskell
-
simonmar authored
Make it multi-init-safe
-
simonmar authored
Update the FFI docs to use hs_init()/hs_exit() rather than startupHaskell()/shutdownHaskell().
-