logo       
Google Custom Search
    AddThis Social Bookmark Button

cvs commit: fptools/ghc/compiler/codeGen CgTailCall.lhs ClosureInfo.lhs : msg#00163

Subject: cvs commit: fptools/ghc/compiler/codeGen CgTailCall.lhs ClosureInfo.lhs fptools/ghc/compiler/coreSyn CoreSpec.lhs fptools/ghc/incl udes Closures.h InfoTables.h Speculate.h StgMacros.h fptools/ghc/rts Exception.hc GC.c HeapStackCheck.hc Schedule.c Storage.h ...
rje         2003/05/23 03:42:33 PDT
Sender: cvs-ghc-admin@xxxxxxxxxxx
Errors-To: cvs-ghc-admin@xxxxxxxxxxx
X-BeenThere: cvs-ghc@xxxxxxxxxxx
X-Mailman-Version: 2.0.13
Precedence: bulk
List-Help: <mailto:cvs-ghc-request@xxxxxxxxxxx?subject=help>
List-Post: <mailto:cvs-ghc@xxxxxxxxxxx>
List-Subscribe: <http://www.haskell.org/mailman/listinfo/cvs-ghc>,
        <mailto:cvs-ghc-request@xxxxxxxxxxx?subject=subscribe>
List-Id: GHC/CVS discussion and fptools/ghc CVS commit messages 
<cvs-ghc.haskell.org>
List-Unsubscribe: <http://www.haskell.org/mailman/listinfo/cvs-ghc>,
        <mailto:cvs-ghc-request@xxxxxxxxxxx?subject=unsubscribe>
List-Archive: <http://www.haskell.org/pipermail/cvs-ghc/>
Date: Fri, 23 May 2003 03:42:33 -0700

  Modified files:        (Branch: speceval_2)
    ghc/compiler/codeGen CgTailCall.lhs ClosureInfo.lhs 
    ghc/compiler/coreSyn CoreSpec.lhs 
    ghc/includes         Closures.h InfoTables.h Speculate.h 
                         StgMacros.h 
    ghc/rts              Exception.hc GC.c HeapStackCheck.hc 
                         Schedule.c Storage.h Updates.hc 
    ghc/utils/hsdebug    stack.c 
  Added files:           (Branch: speceval_2)
    ghc/utils/hsdebug    profdecode.c profdecode.h specknobs.h 
  Log:
  Various changes that help HsDebug.
  
  This is the system that was used to produce the example debugging logs in the 
paper submitted to the Haskell Workshop.
  
  -- to the RTS --
  
  Exception.hc
        Undid a previous braindead change that made exceptions
        get caught by tailcalls (what was I thinking here?)
  
  HeapStackCheck.hc
  GC.c
  Updates.hc
  Closures.h
        Tail frames now carry round the arguments of the function call.
  
        ThreadSqueezeStack now removes tail frames in a separate loop
        to the blackhole removing code. This is slower, but as tail frames
        are only removed when the RTS is compiled for debug, this shouldn't
        really matter.
  
        Changed the protocol used for the RTS to find out of the stack has
        shrunk (but its still a messy hack).
  
  Schedule.c
        If a program is compiled for debug, then we abort to the innermost
        rather than the outermost speculation.
        TODO: see what performance effect this has. We might want this to be
        the default.
  
  Storage.h
        Extended stack_frame_sizeW to be able to compute the size of a
        transient tail frame.
  
  InfoTables.h
        Added srclocs to functions.
                (return frames and thunks already had srclocs)
  
  StgMacros.h
  Speculate.h
        very minor changes
  
  Note:
        You need to define TAIL_DEBUG when compiling the RTS in order for it
        to be compatible with debugging.
  
        I need to produce a "way" or something for this really.
  
  -- to the code generator --
  
  CgTailCall.lhs
        Transient tail frames now contain a copy of all the arguments passed
                in the call. This makes debugging a lot easier.
        We now push tail frames when entering thunks, or doing a slow call.
                Previously we only pushed frames for calls to known functions.
  
  ClosureInfo.lhs
        If a function info table is being compiled for debug, then we
        pad it up to full length so that the debug info is always at the
        same offset - making life a little easier for HsDebug.
  
  -- to hsdebug --
  
  stack.c
        Minor pretty printing change: we no longer print "speculated" if a
                return frame is a speculative one.
                (may turn this back on in a special "expert" mode)
  
  Added a couple of files I should have added earlier - oops.
  
  --- an non-hsdebug-related change ---
  
  CoreSpec.lhs
        We no longer pullout things that have no free variables.
        Such things would turn into CAFs rather than functions and could
        mess up the space behaviour of a program.
  
        Note however that pullouts don't work entirely correctly yet, no don't
        use the -fpullout-spec flag to compile your programs quite yet.
  
  Revision  Changes    Path
  1.36.2.10 +34 -17    fptools/ghc/compiler/codeGen/CgTailCall.lhs
  1.56.2.6  +15 -2     fptools/ghc/compiler/codeGen/ClosureInfo.lhs
  1.1.4.6   +5 -1      fptools/ghc/compiler/coreSyn/Attic/CoreSpec.lhs
  1.32.2.5  +1 -0      fptools/ghc/includes/Closures.h
  1.28.2.5  +6 -0      fptools/ghc/includes/InfoTables.h
  1.1.2.8   +4 -1      fptools/ghc/includes/Attic/Speculate.h
  1.50.2.11 +4 -0      fptools/ghc/includes/StgMacros.h
  1.26.2.6  +1 -2      fptools/ghc/rts/Exception.hc
  1.146.2.10 +18 -21    fptools/ghc/rts/GC.c
  1.27.2.4  +2 -1      fptools/ghc/rts/HeapStackCheck.hc
  1.160.2.12 +7 -2      fptools/ghc/rts/Schedule.c
  1.47.2.7  +4 -1      fptools/ghc/rts/Storage.h
  1.38.2.5  +7 -5      fptools/ghc/rts/Updates.hc
  1.1.2.8   +2 -2      fptools/ghc/utils/hsdebug/Attic/stack.c


<Prev in Thread] Current Thread [Next in Thread>