- 25 Jul, 2007 9 commits
-
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
Simon Marlow authored
This includes automatically adding --build=i386-unknown-mingw32 and --with-gcc to ./configure, and disabling -j2 (see #1559). Also: you can now say CPUS=3 ./validate and the script will pass -jN to make (where N = $CPUS + 1). In the future, when we fix #1558, it can pass THREADS=N to the testsuite, too.
-
Simon Marlow authored
Now we don't wait for outstanding IO requests when shutting down at program exit time, but we still wait when shutting down a DLL (via hs_exit()). There ought to be a better way to do this, but terminating the threads forcibly is not a good idea (it never is: the thread might be holding a mutex when it dies, for example). I plan to add some docs to the user guide to describe how to shut down a DLL properly.
-
- 24 Jul, 2007 1 commit
-
-
Simon Marlow authored
This is pertinent to #1177. When shutting down a DLL, we need to be sure that there are no OS threads that can return to the code that we are about to unload, and previously the threaded RTS was unsafe in this respect. When exiting a standalone program we don't have to be quite so paranoid: all the code will disappear at the same time as any running threads. Happily exiting a program happens via a different path: shutdownHaskellAndExit(). If we're about to exit(), then there's no need to wait for foreign calls to complete.
-
- 23 Jul, 2007 1 commit
-
-
Ian Lynagh authored
-
- 22 Jul, 2007 1 commit
-
-
Ian Lynagh authored
-
- 24 Jul, 2007 1 commit
-
-
Simon Marlow authored
I didn't actually fix this to respect Haskell 98, instead I changed it to follow the proposal for Haskell': http://hackage.haskell.org/cgi-bin/haskell-prime/trac.cgi/wiki/QualifiedIdentifiers Rationale: - We didn't respect Haskell 98 with respect to qualified symbols either - The Haskell' change makes things much cleaner - Obeying the Haskell 98 spec literally has some unintended consequences (e.g. M.where must lex as "M.wher" "e") - Any programs that compiled before this change and do not compile after it were illegal according to Haskell 98 anyway.
-
- 23 Jul, 2007 1 commit
-
-
Simon Marlow authored
It looks like this was an experiment that accidentally got committed, somewhere between 6.0 and 6.2.
-
- 22 Jul, 2007 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 21 Jul, 2007 1 commit
-
-
andy@galois.com authored
-
- 20 Jul, 2007 1 commit
-
-
andy@galois.com authored
-
- 21 Jul, 2007 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 19 Jul, 2007 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
We were recompiling the .hs-boot files each time, as we were never writing out the compilation results.
-
- 06 Jul, 2007 1 commit
-
-
Clemens Fruhwirth authored
The problem of the splitter was that it re-emitted section directives for every dynamic label found. The following was torn apart .symbol_stubs .indirect <symbol> L_<symbol>$stub: jmp *... L_<symbol>$stub_binder: ..somebinding code.. into .symbol_stubs .indirect_symbol <symbol> L_<symbol>$stub: jmp *... .symbol_stubs <--- NEW L_<symbol>$stub_binder: ..somebinding code.. This is incorrect as the Mac OS assembler enforces that every new code section that goes into .symbol_stubs is associated with the linker directive .indirect_symbol. This sanity check is obviously violated when we reemit .symbol_stub in the splitter. The solution is to ignore everything that ends with $stub_binder as new label, and chuck it into a single label for $stub. Also the splitter has to recognize .section __DATA... for the lazy_ptr indirection symbol. Adds a reminder to PositionIndependentCode.hs to take care of the splitter when the code generation is changed. This should not affect -fvia-c as the code generated by the C compiler is entirely different.
-
- 18 Jul, 2007 1 commit
-
-
Michael D. Adams authored
-
- 16 Jul, 2007 1 commit
-
-
Michael D. Adams authored
-
- 18 Jul, 2007 4 commits
-
-
Simon Marlow authored
I think 50ms was accidental, prior to 6.6 it used to be 20ms
-
Simon Marlow authored
-
Simon Marlow authored
The symptom of this bug is after the time of a threadDelay has expired, the RTS does a whole slew of extra select() calls. This should help with #1523, but it's not the whole story.
-
Ian Lynagh authored
* Fix code output order when printing C so things are defined before they are used. * Generate _ret rather than _entry functions for INFO_TABLE_RET. * Use "ASSIGN_BaseReg" rather than "BaseReg =".
-
- 17 Jul, 2007 1 commit
-
-
Michael D. Adams authored
This is needed because CgForeign and parts of the CPS pass now use 'callerSaveVolatileRegs' and not all platforms have access to the NCG.
-
- 18 Jul, 2007 9 commits
-
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
chak@cse.unsw.edu.au. authored
-