Skip to content
Snippets Groups Projects
  1. Jul 09, 2008
  2. Jun 11, 2008
  3. Jun 06, 2008
  4. May 11, 2008
  5. Feb 05, 2008
    • Simon Marlow's avatar
      FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2 · 07f4b813
      Simon Marlow authored
      Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it
      means align to 2 bytes.  The compacting collector requires info tables
      to be aligned to 4 bytes, because it stores tag bits in the low 2
      bits.
      
      This only affects -fvia-C - the native code generator was already
      emitting the correct alignment.  The incorrect alignment might well
      have been adversely affecting performance with -fvia-C on Windows.
      07f4b813
  6. Jan 16, 2008
    • Ian Lynagh's avatar
      Tweak the splitter · 204965d6
      Ian Lynagh authored
      We were generating a label ".LnLC7", which the splitter was confusing
      with a literal constant (LC). The end result was the assembler tripping
      up on ".Ln.text".
      204965d6
  7. Dec 17, 2007
  8. Nov 10, 2007
  9. Oct 31, 2007
  10. Oct 08, 2007
  11. Sep 14, 2007
  12. Sep 05, 2007
  13. Aug 28, 2007
  14. Aug 21, 2007
  15. Jul 03, 2007
  16. Jul 30, 2007
  17. Jul 06, 2007
    • Clemens Fruhwirth's avatar
      Fix -split-obj on Mac OS via -fasm · ee40dd6b
      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.
      ee40dd6b
  18. Jul 12, 2007
  19. Jul 11, 2007
  20. Jun 14, 2007
  21. Jun 02, 2007
  22. Jun 01, 2007
    • Ian Lynagh's avatar
      Fix bindist creation · 79b5a2cb
      Ian Lynagh authored
      Bindists should now work again, when doing "make install" at least.
      "make in-place" is probably still broken.
      79b5a2cb
  23. May 31, 2007
    • Ian Lynagh's avatar
      Rework the build system a bit · 430453c5
      Ian Lynagh authored
      Key changes:
      * Always build as if BIN_DIST is 1. BIN_DIST is thus removed.
      * Libraries are configured with prefix set to $$topdir rather than $(prefix)
      430453c5
  24. May 10, 2007
  25. Mar 27, 2007
  26. Mar 18, 2007
    • red5_2@hotmail.com's avatar
      mangler and runtime updates for gcc 4 on ia64 · 79adecdb
      red5_2@hotmail.com authored
      Gcc 4 is doing more clever optimizations than earlier gccs. 
      These changes let ghc compile and run on ia64 with gcc 4.0.3.
      
      Register stack frames are enlarged so that all functions use the 
      same size stack frame.
      The code to mangle tail calls has been cleaned up and made more 
      general.
      Additional floating-point and special-purpose registers used by 
      GCC are saved upon entering the STG runtime.
      More general handling of NOP instructions.
      Handling of functions with multiple epilogues or no epilogue.
      79adecdb
  27. Mar 08, 2007
    • wolfgang's avatar
      Make constructor names in info tables position independent · b648333f
      wolfgang authored
      Info tables, like everything else in the text section, MUST NOT contain
      pointers. A pointer is, by definition, position dependent and is therefore
      fundamentally incompatible with generating position independent code.
      
      Therefore, we have to store an offset from the info label to the string
      instead of the pointer, just as we already did for other things referred
      to by the info table (SRTs, large bitmaps, etc.)
      b648333f
  28. Feb 27, 2007
  29. Jan 08, 2007
  30. Dec 12, 2006
  31. Oct 06, 2006
  32. Nov 27, 2006
  33. Nov 20, 2006
  34. Oct 24, 2006
    • AndyGill's avatar
      Haskell Program Coverage · d5934bbb
      AndyGill authored
      This large checkin is the new ghc version of Haskell
      Program Coverage, an expression-level coverage tool for Haskell.
      
      Parts:
      
       - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files.
       - Coverage.lhs - Annotates the HsSyn with coverage tickboxes.
        - New Note's in Core,
            - TickBox      -- ticked on entry to sub-expression
            - BinaryTickBox  -- ticked on exit to sub-expression, depending
      	       	     -- on the boolean result.
      
        - New Stg level TickBox (no BinaryTickBoxes, though) 
      
      You can run the coverage tool with -fhpc at compile time. 
      Main must be compiled with -fhpc. 
      				      
      d5934bbb
  35. Jun 22, 2006
  36. Jun 02, 2006
Loading