summaryrefslogtreecommitdiff
path: root/ghc/includes/Bytecodes.h
Commit message (Collapse)AuthorAgeFilesLines
* Reorganisation of the source treeSimon Marlow2006-04-071-86/+0
| | | | | | | | | | | | | | | Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
* make the smp way RTS-only, normal libraries now work with -smpSimon Marlow2006-02-081-22/+23
| | | | | | | | | | | | | | We had to bite the bullet here and add an extra word to every thunk, to enable running ordinary libraries on SMP. Otherwise, we would have needed to ship an extra set of libraries with GHC 6.6 in addition to the two sets we already ship (normal + profiled), and all Cabal packages would have to be compiled for SMP too. We decided it best just to take the hit now, making SMP easily accessible to everyone in GHC 6.6. Incedentally, although this increases allocation by around 12% on average, the performance hit is around 5%, and much less if your inner loop doesn't use any laziness.
* [project @ 2005-03-27 13:41:13 by panne]panne2005-03-271-1/+0
| | | | | | | | | | * Some preprocessors don't like the C99/C++ '//' comments after a directive, so use '/* */' instead. For consistency, a lot of '//' in the include files were converted, too. * UnDOSified libraries/base/cbits/runProcess.c. * My favourite sport: Killed $Id$s.
* [project @ 2004-09-07 10:10:07 by simonmar]simonmar2004-09-071-2/+2
| | | | | | The 7-ptr-arg version of generic apply has gone away, but parts of the byte code generator hadn't been updated. This fixes the ffi009(ghci) test.
* [project @ 2002-12-11 15:36:20 by simonmar]simonmar2002-12-111-32/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the eval-apply-branch on to the HEAD ------------------------------------------ This is a change to GHC's evaluation model in order to ultimately make GHC more portable and to reduce complexity in some areas. At some point we'll update the commentary to describe the new state of the RTS. Pending that, the highlights of this change are: - No more Su. The Su register is gone, update frames are one word smaller. - Slow-entry points and arg checks are gone. Unknown function calls are handled by automatically-generated RTS entry points (AutoApply.hc, generated by the program in utils/genapply). - The stack layout is stricter: there are no "pending arguments" on the stack any more, the stack is always strictly a sequence of stack frames. This means that there's no need for LOOKS_LIKE_GHC_INFO() or LOOKS_LIKE_STATIC_CLOSURE() any more, and GHC doesn't need to know how to find the boundary between the text and data segments (BIG WIN!). - A couple of nasty hacks in the mangler caused by the neet to identify closure ptrs vs. info tables have gone away. - Info tables are a bit more complicated. See InfoTables.h for the details. - As a side effect, GHCi can now deal with polymorphic seq. Some bugs in GHCi which affected primitives and unboxed tuples are now fixed. - Binary sizes are reduced by about 7% on x86. Performance is roughly similar, some programs get faster while some get slower. I've seen GHCi perform worse on some examples, but haven't investigated further yet (GHCi performance *should* be about the same or better in theory). - Internally the code generator is rather better organised. I've moved info-table generation from the NCG into the main codeGen where it is shared with the C back-end; info tables are now emitted as arrays of words in both back-ends. The NCG is one step closer to being able to support profiling. This has all been fairly thoroughly tested, but no doubt I've messed up the commit in some way.
* [project @ 2001-08-09 11:19:16 by sewardj]sewardj2001-08-091-2/+2
| | | | C-side FFI support for Byte/Ptr arrays.
* [project @ 2001-08-02 17:01:33 by sewardj]sewardj2001-08-021-1/+2
| | | | C-side support for FFI in GHCi (foreign import only).
* [project @ 2001-03-21 10:56:04 by sewardj]sewardj2001-03-211-1/+2
| | | | | | RTS support for the ugly tagToEnum# hack. Actually a very general thing -- just a bytecode unconditional jump, so we can do more general control-flow in BCOs.
* [project @ 2001-02-06 12:01:00 by sewardj]sewardj2001-02-061-1/+10
| | | | Add bci_STKCHECK and INTERP_STACK_CHECK_THRESH.
* [project @ 2000-12-19 16:48:58 by sewardj]sewardj2000-12-191-13/+12
| | | | Try to get the repo includes into a buildable state.
* [project @ 2000-12-12 17:16:54 by sewardj]sewardj2000-12-121-16/+13
| | | | track changes in ByteCodeGen.lhs
* [project @ 2000-12-08 15:45:55 by sewardj]sewardj2000-12-081-0/+58
FILE RENAME: from fptools/ghc/rts/Bytecodes.h to fptools/ghc/includes/Bytecodes.h