1. 16 Nov, 2011 7 commits
    • Simon Marlow's avatar
      Make the --fast option to validate faster, and add --normal · 1bbb89f3
      Simon Marlow authored
      The --fast option now disables the following:
        - dynamic libs
        - bindist and bindisttest
      
      Which knocks several minutes off validate for me, but it's still over
      30 minutes using 5 cores on 64-bit Linux.
      
      Usual caveats apply: if you're using --fast, then make sure you aren't
      doing anything that might destabilise dynamic libs or binary dists.
      1bbb89f3
    • Simon Marlow's avatar
    • Simon Marlow's avatar
      Generate the C main() function when linking a binary (fixes #5373) · 1df28a80
      Simon Marlow authored
      Rather than have main() be statically compiled as part of the RTS, we
      now generate it into the tiny C file that we compile when linking a
      binary.
      
      The main motivation is that we want to pass the settings for the
      -rtsotps and -with-rtsopts flags into the RTS, rather than relying on
      fragile linking semantics to override the defaults, which don't work
      with DLLs on Windows (#5373).  In order to do this, we need to extend
      the API for initialising the RTS, so now we have:
      
      void hs_init_ghc (int *argc, char **argv[],   // program arguments
                        RtsConfig rts_config);      // RTS configuration
      
      hs_init_ghc() can optionally be used instead of hs_init(), and allows
      passing in configuration options for the RTS.  RtsConfig is a struct,
      which currently has two fields:
      
      typedef struct {
          RtsOptsEnabledEnum rts_opts_enabled;
          const char *rts_opts;
      } RtsConfig;
      
      but might have more in the future.  There is a default value for the
      struct, defaultRtsConfig, the idea being that you start with this and
      override individual fields as necessary.
      
      In fact, main() was in a separate static library, libHSrtsmain.a.
      That's now gone.
      1df28a80
    • Simon Peyton Jones's avatar
      Add -fpedantic-bottoms, and document it · 1790dbe4
      Simon Peyton Jones authored
      I did a bit of refactoring (of course) at the same time.
      See the discussion in Trac #5587.  Most of the real change
      is in CoreArity.
      1790dbe4
    • Simon Peyton Jones's avatar
      Formatting fix · 9c48a3c3
      Simon Peyton Jones authored
      9c48a3c3
    • Simon Peyton Jones's avatar
      Fix CaseIdentity optimisaion · 02ac2974
      Simon Peyton Jones authored
      In fixing one bug I'd introduced another;
         case x of { T -> T; F -> F }
      wasn't getting optmised!  Trivial to fix.
      02ac2974
    • Simon Peyton Jones's avatar
      Further wibbles to calcUnfoldingGuidance, with documentation of same · 04de986e
      Simon Peyton Jones authored
      I'd gotten into a state in which top-level x = y bindings weren't
      getting inlined!
      04de986e
  2. 15 Nov, 2011 7 commits
  3. 14 Nov, 2011 13 commits
  4. 13 Nov, 2011 1 commit
  5. 12 Nov, 2011 2 commits
  6. 11 Nov, 2011 10 commits