- Aug 21, 2000
-
-
Julian Seward authored
Make the register allocator deal properly with switch tables. Previously, it didn't calculate the correct flow edges away from the indirect jump (in fact it didn't reckon there were any flow edges leaving it :) which makes a nonsense of the live variable analysis in the branches. A jump insn can now optionally be annotated with a list of destination labels, and if so, the register allocator creates flow edges to all of them. Jump tables are now re-enabled. They remain disabled for 4.08.1, since we aren't fixing the problem properly on that branch. I assume this problem wasn't exposed by the old register allocator because of the live-range-approximation hacks used in it. Since it was undocumented, we'll never know. Sparc builds will now break until I fix them.
-
Simon Marlow authored
look for GMP 3, not GMP 2.
-
Simon Marlow authored
Connect up the new GMP.
-
Simon Marlow authored
Our local changes to GMP 3.1: disconnect the bits we're not interested in (mpf, mpq, tests subdirs etc.).
-
Simon Marlow authored
merge conflicts (I hope)
-
Simon Marlow authored
- add touch# and foreignObjToAddr# primops. - add these functions to ForeignObj: withForeignObj :: ForeignObj -> (Addr -> IO a) -> IO a touchForeignObj :: ForeignObj -> IO () - foreignObjToAddr, which was previously implemented using a _casm_, now uses the foreignObjToAddr# primop. - replace implementations of readXXXOffForeignObj and writeXXXOffForeignObj using the withForeignObj and the Addr operations. ForeignObj.lhs now has no _casms_ in it! (it still can't be compiled with the NCG though, because it has a f.i.d.)
-
Simon Marlow authored
remove an unused import
-
Simon Marlow authored
make this file independent of the actual word size.
-
Simon Marlow authored
Fix up a PrimOp dependency.
-
Simon Marlow authored
Add touch# and foreignObjToAddr#.
-
Simon Marlow authored
- Add touch# and foreignObjToAddr#. - Add a long comment to the beginning of this file listing the files that need to be updated when adding a new primop.
-
Reuben Thomas authored
Added a worked example of how to export Haskell functions from a DLL (provided by Sigbj\orn).
-
- Aug 18, 2000
-
-
Marcin 'Qrczak' Kowalczyk authored
#include "config.h", to be able to use HsFFI.h from standalone C files.
-
Simon Marlow authored
Import stripped-down gmp-3.1. This will cause severe breakage until I can resolve the conflicts and check in the rest of the changes, so I'd advise not updating this directory for a while (unless you're using a system-installed gmp, in which case it won't matter).
-
Simon Marlow authored
Initial revision
-
Simon Marlow authored
Import stripped-down gmp-3.1. This will cause severe breakage until I can resolve the conflicts and check in the rest of the changes, so I'd advise not updating this directory for a while (unless you're using a system-installed gmp, in which case it won't matter).
-
Simon Marlow authored
Disable jump tables for the time being; the register allocator gets confused about them.
-
Simon Marlow authored
Gratuitously remove a gratuitous ineficiency in allocatableRegs.
-
Reuben Thomas authored
Revoked comments about not using -static under Windows.
-
Marcin 'Qrczak' Kowalczyk authored
Typo s/Lhar/List/
-
Marcin 'Qrczak' Kowalczyk authored
Oops, #include reordering does not work if -#include refers to names from Stg.h. Changes reverted. The original problem requires -optc-Dfoo workaround.
-
Marcin 'Qrczak' Kowalczyk authored
Unused Prelude import check moved to a better place.
-
Marcin 'Qrczak' Kowalczyk authored
Never say: "Warning: Module `Prelude' is imported, but nothing from it is used"
-
Marcin 'Qrczak' Kowalczyk authored
Output -#include options before packages' C includes, to be able to -#include a file that #defines e.g. _XOPEN_SOURCE and #includes a C header depending on _XOPEN_SOURCE that is also included from Stg.h. First inclusion of this header should be after the #define.
-
- Aug 17, 2000
-
-
Simon Marlow authored
Replace a zipEqual with a zip in tcPat when checking a record pat. The former version caused a panic with DEBUG on if a record pattern was used with a non-record constructor.
-
Simon Marlow authored
Add some tests for unboxing strict record fields.
-
Simon Marlow authored
unboxing strict fields, bug #2: the unfolding in a record selector id was completely bogus when -funbox-strict-fields was in effect.
-
Reuben Thomas authored
Sorry, that's "RTS hooks work under Windows when the *program* is built statically, not the compiler".
-
Reuben Thomas authored
Revised note about RTS hooks under Windows: they should still work for statically-built compilers.
-
Reuben Thomas authored
Added a note about RTS hooks not working under Windows with DLLs.
-
Simon Marlow authored
remove unused imports.
-
Reuben Thomas authored
barf when a DLLized RTS tries to allocate a 2nd Windows monster block; is_heap_alloced stops working at this point. No problem for the static build.
-
Reuben Thomas authored
Changed HAVE_WIN32_DLL_SUPPORT to ENABLE_WIN32_DLL_SUPPORT so that the relevant bits are only used in the dynamic Windows build (as they should be).
-
Simon Marlow authored
unboxing strict fields, bug #1: desugaring a record pattern used the rep args rather than the original args when expanding the pattern into a ConPat.
-
Simon Marlow authored
Complete the removal of tso->splim (these are the NCG bits).
-
Reuben Thomas authored
This test used a library module that no longer exists (Printf).
-
Reuben Thomas authored
Test no longer applicable (fails for non-typechecking reasons: multiple definition of main)
-
Reuben Thomas authored
Updated error message.
-
- Aug 16, 2000
-
-
Reuben Thomas authored
Change use of HAVE_WIN32_DLL_SUPPORT to ENABLE_WIN32_DLL_SUPPORT, to stop things going horribly wrong with static linking on win32.
-
Simon Marlow authored
Don't just pick the back edges ({-# SOURCE #-} imports) when collecting the list of imports for module initialisation. It's entirely possible that a module is only reachable from Main via {-# SOURCE #-} imports.
-