Permalink
Commits on Feb 21, 2002
  1. [project @ 2002-02-21 14:42:17 by sewardj]

    sewardj committed Feb 21, 2002
    In DsForeign.fexportEntry, track recent changes to f-x-dynamic
    implementation.  At the same time completely rewrite this fn, since I
    couldn't figure out how the previous incarnation worked.
Commits on Feb 19, 2002
  1. [project @ 2002-02-19 11:04:37 by keithw]

    keithw committed Feb 19, 2002
    Some thoughts on `what happens when'.
Commits on Feb 18, 2002
  1. [project @ 2002-02-18 17:27:24 by sof]

    sof committed Feb 18, 2002
    unused arg wibble
  2. [project @ 2002-02-18 17:26:48 by sof]

    sof committed Feb 18, 2002
    If necessary, define THREADED_RTS and DEBUG when gen'ing rts.conf
  3. [project @ 2002-02-18 16:28:39 by sof]

    sof committed Feb 18, 2002
    Filter out _stub.c gubbins from C_SRCS
  4. [project @ 2002-02-18 16:27:24 by sof]

    sof committed Feb 18, 2002
    remove STUBOBJS as an (explicit) dependency to LIBRARY (+comment as to why)
  5. [project @ 2002-02-18 15:51:28 by sewardj]

    sewardj committed Feb 18, 2002
    Fix import wibble
  6. [project @ 2002-02-18 13:26:12 by sof]

    sof committed Feb 18, 2002
    Be clear about the lock assumptions of GarbageCollect(); it
    is now required to hold sched_mutex.
    
    The real reason for adding this requirement is so that when
    prior to scheduling finalizers and doing thread resurrection,
    GarbageCollect() may set the lock status of sched_mutex to
    the state expected by scheduleFinalizers() and resurrectThreads()
    (i.e., unlocked).
    
    Note: this is only an issue with pthreads. In the Win32 threading
    model, it's a NOP for a thread to grab a mutex it already holds.
  7. [project @ 2002-02-18 12:41:01 by sewardj]

    sewardj committed Feb 18, 2002
    Make foreign export dynamic work in GHCi.  Main changes:
    
    * Allow literal labels to propagate through the bytecode generator
      and eventually be linked by the runtime linker.
    
    * Minor mods to driver plumbing so that GHCi produces the relevant
      *_stub.[ch] files, compiles them with gcc, and loads the resulting .o's
    
    * Dereference the stable pointer in the generated C stub, rather
      than passing it to a Haskell-world helper.  This seems simpler and
      removes the need to have a H-world helper, which in turn means the
      stub .o doesn't refer to any H-world entities.  This is important
      because our linker can't deal with mutual recursion between
      BCOs and loaded objects.
    
    Still ToDo:
    
    * Make it thread/GC safe.  (Sigbjorn?)
    
    * Get rid of the bits of code in DsForeign which generate the
      Haskell helper.  I had a go but it wasn't obvious how to do it,
      so have deferred.
Commits on Feb 17, 2002
  1. [project @ 2002-02-17 20:22:38 by panne]

    panne committed Feb 17, 2002
    Yet another config syntax error...
  2. [project @ 2002-02-17 18:38:07 by panne]

    panne committed Feb 17, 2002
    One #define to rule them all: Use INSTALLING, not INSTALLED for the
    generation of the "real" package.conf
  3. [project @ 2002-02-17 17:41:44 by panne]

    panne committed Feb 17, 2002
    Installing HS*_cbits.o and libHS*_cbits.a might not be such a bad idea
    after all... :-}
  4. [project @ 2002-02-17 14:03:10 by panne]

    panne committed Feb 17, 2002
    Automagically determine the flags for compiling/linking OpenGL
    programs at configuration time, and stuff the relevant info into
    OpenGL's package configuration file. This still mixes up compilation
    time vs. installation time, but it's much better than hardcoded flags.
  5. [project @ 2002-02-17 13:56:35 by panne]

    panne committed Feb 17, 2002
    Conforming to the OpenGL ABI, try a plain (non-Mesa) OpenGL first as
    the default
  6. [project @ 2002-02-17 13:46:39 by panne]

    panne committed Feb 17, 2002
    Guard against empty ALL_DIRS
  7. [project @ 2002-02-17 13:02:44 by panne]

    panne committed Feb 17, 2002
    Fixed TeX quoting
  8. [project @ 2002-02-17 08:48:23 by panne]

    panne committed Feb 17, 2002
    Ooops, forgot to commit yesterday's quoting fix for db2dvi to the
    other db2FOO stuff...
  9. [project @ 2002-02-17 06:52:10 by chak]

    chak committed Feb 17, 2002
    wibble
Commits on Feb 16, 2002
  1. [project @ 2002-02-16 19:39:51 by sof]

    sof committed Feb 16, 2002
    Use Foreign.free instead of destructArray (which seem to have disappeared)
  2. [project @ 2002-02-16 18:15:14 by sof]

    sof committed Feb 16, 2002
    getPackageLibraries: replace some rather fragile string prefix matching
    code that broke when "HSstd" got renamed to "HSbase".
  3. [project @ 2002-02-16 17:07:07 by panne]

    panne committed Feb 16, 2002
    Welcome to the amazing world of shell syntax! :-) The line
    
      CATALOG_OPTION=-c $DOCBOOK_CATALOG
    
    sets the environment variable CATALOG_OPTION to "-c" and executes
    $DOCBOOK_CATALOG, which is probably not what was intended. Double
    quotes to the rescue!
  4. [project @ 2002-02-16 00:30:05 by sof]

    sof committed Feb 16, 2002
    release sched_mutex lock while GCing
Commits on Feb 15, 2002
  1. [project @ 2002-02-15 22:14:27 by sof]

    sof committed Feb 15, 2002
    Extra arg to suspendThread() and resumeThread(); controls whether an external call is concurrent or not
  2. [project @ 2002-02-15 22:13:32 by sof]

    sof committed Feb 15, 2002
    New call attribute on foreign imports, threadsafe.
    
    It indicates that a foreign import can(*) safely be called
    concurrently with the continued evaluation of other Haskell
    threads, i.e., when the foreign call is made by a Haskell
    thread, it won't hinder the progress of other threads.
    
    (*) - if the platform and RTS supports it, it _will be_
    invoked concurrently.
  3. [project @ 2002-02-15 21:07:19 by sof]

    sof committed Feb 15, 2002
    comments only
  4. [project @ 2002-02-15 21:06:29 by sof]

    sof committed Feb 15, 2002
    fix bug which caused 'safe' to be identical to 'unsafe' in an FFI decl.
  5. [project @ 2002-02-15 20:58:14 by sof]

    sof committed Feb 15, 2002
    suspendThread() comment
  6. [project @ 2002-02-15 17:49:23 by sof]

    sof committed Feb 15, 2002
    unbreak prev. commit
  7. [project @ 2002-02-15 14:53:32 by simonmar]

    simonmar committed Feb 15, 2002
    Ensure that async exceptions are blocked during the raising of an
    async exception - we're about to block them anyway on entry to the
    handler, but we don't want any further exceptions being raised in the
    meantime.
  8. [project @ 2002-02-15 14:49:08 by simonmar]

    simonmar committed Feb 15, 2002
    Fix bugs in async exception raising: instead of trying to build an
    application of the exception handler to the exception directly, just
    leave a THUNK(raise,exception) on top of the CATCH_FRAME ready to
    trigger the next time this thread is run.
    
    This avoids two problems: the PAP we were using before wasn't really a
    PAP, which broke some assumptions elsewhere (c.f. PAP_ENTRY:
    CATCH_FRAME failure), and there was also some duplication between
    raiseAsync and raisezh_fast due to the fact that we were attempting to
    do the raising directly.
  9. [project @ 2002-02-15 12:29:46 by sewardj]

    sewardj committed Feb 15, 2002
    For f-x-dynamic, x86, ccall: rename "a_" to "original_return_addr" so
    that the next luzer to look at this stuff doesn't have to spend hours
    figuring out what the hell "a_" is for.
  10. [project @ 2002-02-15 09:46:15 by simonmar]

    simonmar committed Feb 15, 2002
    Fix typo
  11. [project @ 2002-02-15 09:32:47 by simonpj]

    simonpj committed Feb 15, 2002
    Comments only
  12. [project @ 2002-02-15 09:32:18 by simonpj]

    simonpj committed Feb 15, 2002
    -------------------------------------------------
    	Fix an interesting case-alternatives filtering bug
    	-------------------------------------------------
    
    This bug, shown up by Krasimir's ObjectIO suite, caused the
    simplifier to encounter a case expression like
    	case x of { x:xs -> True; [] -> False }
    in a context where x could not possibly be either a (:) or []!
    Case expressions in the enclosing scope dealt with it...
    So the alternative-filtering removed all the alternatives, leaving
    a case expression with no branches, which GHC didn't like one little
    bit.
    
    The actual bug was elsewhere; it was because we should sometimes
    filter out the DEFAULT alternative, and we weren't doing that.
    To fix it, I pulled the alternative-filtering code out of Simplify
    and put it in SimplUtils.prepareAlts.  It's nice now.
  13. [project @ 2002-02-15 08:11:42 by sof]

    sof committed Feb 15, 2002
    drop -mwin32 filtering