Permalink
Commits on Aug 16, 2012
  1. Some fixes for new static handling

    scpmw committed Aug 16, 2012
    Don't declare aliases as externally visible (might collide!), don't
    use aliases for instrincts, as that confuses LLVM.
Commits on Aug 15, 2012
  1. Removed code dealing with references in static data

    scpmw committed Aug 15, 2012
    It's not needed anymore, as the streaming change now allows flexible
    treatment of forward references.
  2. Streaming support for the LLVM backend

    scpmw committed Aug 13, 2012
    Involves some trickery to support forward references which we don't know
    the type of. See note [Llvm Forward References].
Commits on Aug 13, 2012
  1. Merge master into profiling

    scpmw committed Aug 13, 2012
Commits on Aug 8, 2012
  1. Support for some more perf_event sample types

    scpmw committed Aug 8, 2012
    As we now have to support sampling by cycles as well as per heap allocs,
    we can just as well add all these too.
  2. Heap allocation profiling

    scpmw committed Aug 8, 2012
    Have heap check failures generate IP sample by return address. This happens
    more often than even minor GCs (every 4k bytes, in fact), so we get a lot
    of samples relatively cheap. Could be really useful for un-optimized
    Haskell programs, which typically allocate a lot.
    
    Simon doesn't like the idea too much, but we'll see where this goes.
  3. Set the value of Unregisterised in the bindist configure.ac

    igfoo committed Aug 8, 2012
    Now that it's included in settings, the bindist configure script needs
    to know it.
Commits on Aug 7, 2012
  1. fix warning

    simonmar committed Aug 7, 2012
  2. Fix a bug in the handling of recent_activity

    simonmar committed Aug 7, 2012
    The problem occurred when the idle GC was turned off with +RTS -I0.
    Then the scheduler would go into the state ACTIVITY_DONE_GC directly
    without doing a GC, and a subsequent GC would put it back to
    ACTIVITY_YES but without turning the timer back on.  Instead if the GC
    finds the state is ACTIVITY_DONE_GC it should leave it there.
  3. maybeInvertComparison: remove floating-point comparisons

    simonmar committed Aug 7, 2012
    See comments.
  4. entryHeapCheck: fix calls to stg_gc_fun and stg_gc_enter_1

    simonmar committed Aug 7, 2012
    We weren't passing the arguments correctly to the GC functions, which
    usually happened to work because the arguments were in the right
    registers already.
    
    After this fix the profiling tests go through with the new code
    generator.
  5. Small optimisation

    simonmar committed Aug 7, 2012
    When calling newCAF, refer to the closure using its LocalReg rather
    than R1.  Using R1 here was preventing the register allocator from
    coalescing the assignment x=R1 at the beginning of the function.
  6. fix a warning

    simonmar committed Aug 7, 2012
  7. Eliminate "r = r" in mkAssign

    simonmar committed Aug 7, 2012
  8. Generate one fewer temps per heap allocation

    simonmar committed Aug 6, 2012
    This saves compile time and can make a big difference in some
    pathological cases (T4801)
  9. small cleanup

    simonmar committed Aug 6, 2012
  10. Define callerSaves for all platforms

    igfoo committed Aug 7, 2012
    This means that we now generate the same code whatever platform we are
    on, which should help avoid changes on one platform breaking the build
    on another.
    
    It's also another step towards full cross-compilation.
  11. Add "Unregisterised" as a field in the settings file

    igfoo committed Aug 7, 2012
    To explicitly choose whether you want an unregisterised build you now
    need to use the "--enable-unregisterised"/"--disable-unregisterised"
    configure flags.
Commits on Aug 6, 2012
  1. Make tablesNextToCode "dynamic"

    igfoo committed Aug 6, 2012
    This is a bit odd by itself, but it's a stepping stone on the way to
    putting "target unregisterised" into the settings file.
  2. Start separating out the RTS and Haskell imports of MachRegs.h

    igfoo committed Aug 6, 2012
    No functional differences yet
  3. Don't define STOLEN_X86_REGS in Cmm.h

    igfoo committed Aug 6, 2012
    We weren't defining it in the other places that MachRegs.h gets
    imported, which seems a little suspicious. And if it's not defined
    then it defaults to 4 anyway, so this define doesn't seem necessary.
  4. fix warning

    simonmar committed Aug 3, 2012
  5. comment

    simonmar committed Aug 3, 2012
  6. Fix two bugs in the sinker.

    simonmar committed Aug 3, 2012
    The new code generator now apparently generates a working stage2
    compiler.