1. 20 Apr, 2013 9 commits
  2. 19 Apr, 2013 8 commits
  3. 17 Apr, 2013 2 commits
  4. 16 Apr, 2013 5 commits
  5. 15 Apr, 2013 3 commits
  6. 14 Apr, 2013 1 commit
  7. 12 Apr, 2013 7 commits
  8. 11 Apr, 2013 3 commits
    • Gabor Greif's avatar
      Make explicit that there can be only one entry point · 6afa7779
      Gabor Greif authored
      per cmm procedure on Darwin/PPC, because of splitting.
      x86 should be treated the same way, I'll come back to that later.
    • nfrisby's avatar
      ignore RealWorld in size_expr; flag to keep w/w from creating sharing · af12cf66
      nfrisby authored
      size_expr now ignores RealWorld lambdas, arguments, and applications.
      Worker-wrapper previously removed all lambdas from a function, if they
      were all unused. Removing *all* value lambdas is no longer
      allowed. Instead (\_ -> E) will become (\_void -> E), where it used to
      become E. The previous behavior can be recovered via the new
      -ffun-to-thunk flag.
      Nofib notables:
              Program               O2          O2 newly ignoring RealWorld
                                                and not turning function
                                                closures into thunks
        comp_lab_zift            333090392%           -5.0%
      reverse-complem            155188304%           -3.2%
              rewrite             15380888%           +4.0%
               boyer2              3901064%           +7.5%
      rewrite previously benefited from fortunate LoopBreaker choice that is
      now disrupted.
      A function in boyer2 goes from $wonewayunify1 size 700 to size 650,
      thus gets inlined into rewritelemmas, thus exposing a parameter
      scrutinisation, thus allowing SpecConstr, which unfortunately involves
      Run Time
       fannkuch-redux                 7.89%          -15.9%
                  hpg                 0.25%           +5.6%
                 wang                 0.21%           +5.8%
    • nfrisby's avatar
      added ticky counters for heap and stack checks · 155d943c
      nfrisby authored
  9. 09 Apr, 2013 2 commits
    • ian@well-typed.com's avatar
      Fix segfaults on SELinux machines; fixes #7629 · 27cf625a
      ian@well-typed.com authored
      Patch from wgmitchener.
      From the ticket:
      The two addresses (adjustorStub and code) contain the same memory
      (double-mapped), but one is writable while the other is executable.
      This is how libffi works around the SELinux restrictions. On
      non-SELinux systems the code and data addresses are probably the same.
    • ian@well-typed.com's avatar
      Remove CPP in ByteCodeItbls · 75ed401f
      ian@well-typed.com authored
      I tried making mkJumpToAddr return [Word32] on all platforms,
      but it went wrong on x86 (possibly due to alignment?). Rather than
      chasing the bug, I've just used an Either type for now.