1. 07 Jul, 2009 1 commit
  2. 06 Jul, 2009 1 commit
  3. 01 Jul, 2009 1 commit
  4. 09 Jun, 2009 1 commit
    • Duncan Coutts's avatar
      Add PrimCall to the STG layer and update Core -> STG translation · cbbee4e8
      Duncan Coutts authored
      It adds a third case to StgOp which already hold StgPrimOp and StgFCallOp.
      The code generation for the new StgPrimCallOp case is almost exactly the
      same as for out-of-line primops. They now share the tailCallPrim function.
      In the Core -> STG translation we map foreign calls using the "prim"
      calling convention to the StgPrimCallOp case. This is because in Core we
      represent prim calls using the ForeignCall stuff. At the STG level however
      the prim calls are really much more like primops than foreign calls.
      cbbee4e8
  5. 08 Jun, 2009 1 commit
  6. 23 May, 2009 1 commit
  7. 14 May, 2009 1 commit
  8. 24 Apr, 2009 1 commit
  9. 03 Apr, 2009 1 commit
  10. 31 Mar, 2009 1 commit
  11. 25 Mar, 2009 1 commit
  12. 23 Mar, 2009 5 commits
  13. 30 Mar, 2009 1 commit
  14. 23 Mar, 2009 1 commit
    • Bertram Felgenhauer's avatar
      update list of C math functions · f7ecb11b
      Bertram Felgenhauer authored
      Fix via C compilation of modules that import, say, log1p from math.h (#3117)
      
      The list is based on preprocessing Stg.h with glibc 2.6.1 headers, and
      cross-checked with the ISO C 99 standard (draft).
      f7ecb11b
  15. 18 Mar, 2009 1 commit
  16. 17 Mar, 2009 1 commit
  17. 16 Mar, 2009 1 commit
    • dias@eecs.tufts.edu's avatar
      stack overflows and out of memory's · 5dc8b425
      dias@eecs.tufts.edu authored
      1. Stack overflow fixed by making dataflow monad strict in the state.
      2. Out of memory fixed by "forgetting" lastoutfacts in the dataflow monad
         where we should. We were creating an unnecessarily long list that grew
         exponentially...
      5dc8b425
  18. 03 Mar, 2009 1 commit
    • dias@eecs.harvard.edu's avatar
      A few bug fixes; some improvements spurred by paper writing · 31a9d048
      dias@eecs.harvard.edu authored
      Among others:
      - Fixed Stg->C-- translation of let-no-escapes -- it's important to use the
        right continuation...
      - Fixed infinite recursion in X86 backend (shortcutJump mishandled infinite loops)
      - Fixed yet another wrong calling convention -- primops take args only in vanilla regs,
        but they may return results on the stack!
      - Removed StackInfo from LGraph and Block -- now in LastCall and CmmZ
      - Updated avail-variable and liveness code
      31a9d048
  19. 07 Feb, 2009 1 commit
  20. 06 Feb, 2009 2 commits
    • Ian Lynagh's avatar
      8fd6a1ef
    • Ian Lynagh's avatar
      When generating C, don't pretend functions are data · 497302c4
      Ian Lynagh authored
      We used to generated things like:
          extern StgWordArray (newCAF) __attribute__((aligned (8)));
          ((void (*)(void *))(W_)&newCAF)((void *)R1.w);
      (which is to say, pretend that newCAF is some data, then cast it to a
      function and call it).
      This goes wrong on at least IA64, where:
          A function pointer on the ia64 does not point to the first byte of
          code. Intsead, it points to a structure that describes the function.
          The first quadword in the structure is the address of the first byte
          of code
      so we end up dereferencing function pointers one time too many, and
      segfaulting.
      497302c4
  21. 29 Dec, 2008 9 commits
  22. 09 Dec, 2008 1 commit
  23. 05 Dec, 2008 1 commit
  24. 28 Nov, 2008 1 commit
  25. 27 Nov, 2008 1 commit
    • Simon Marlow's avatar
      don't emit CmmComments for now · 1f03870f
      Simon Marlow authored
        - if the string contains */, we need to fix it (demonstrated by 
          building Cabal with -fvia-C)
        - the strings can get quite large, so we probably only want to
          inject comments when some debugging option is on.
      1f03870f
  26. 26 Nov, 2008 2 commits