1. 16 Oct, 2013 4 commits
    • Jan Stolarek's avatar
      Trailing whitespaces · 738e2f12
      Jan Stolarek authored
    • Jan Stolarek's avatar
      Generate (old + 0) instead of Sp in stack checks · 94125c97
      Jan Stolarek authored
      When compiling a function we can determine how much stack space it will
      use. We therefore need to perform only a single stack check at the beginning
      of a function to see if we have enough stack space. Instead of referring
      directly to Sp - as we used to do in the past - the code generator uses
      (old + 0) in the stack check. Stack layout phase turns (old + 0) into Sp.
      The idea here is that, while we need to perform only one stack check for
      each function, we could in theory place more stack checks later in the
      function. They would be redundant, but not incorrect (in a sense that they
      should not change program behaviour). We need to make sure however that a
      stack check inserted after incrementing the stack pointer checks for a
      respectively smaller stack space. This would not be the case if the code
      generator produced direct references to Sp. By referencing (old + 0) we make
      sure that we always check for a correct amount of stack: when converting
      (old + 0) to Sp the stack layout phase takes into account changes already
      made to stack pointer. The idea for this change came from observations made
      while debugging #8275.
    • Iavor S. Diatchki's avatar
    • Herbert Valerio Riedel's avatar
      Update `Cabal` to final · 0a80baa5
      Herbert Valerio Riedel authored
  2. 15 Oct, 2013 5 commits
  3. 12 Oct, 2013 11 commits
  4. 11 Oct, 2013 9 commits
  5. 10 Oct, 2013 3 commits
  6. 09 Oct, 2013 8 commits