[project @ 1999-05-11 16:47:39 by keithw]
(this is number 9 of 9 commits to be applied together) Usage verification changes / ticky-ticky changes: We want to verify that SingleEntry thunks are indeed entered at most once. In order to do this, -ticky / -DTICKY_TICKY turns on eager blackholing. We blackhole with new blackholes: SE_BLACKHOLE and SE_CAF_BLACKHOLE. We will enter one of these if we attempt to enter a SingleEntry thunk twice. Note that CAFs are dealt with in by codeGen, and ordinary thunks by the RTS. We also want to see how many times we enter each Updatable thunk. To this end, we have modified -ticky. When -ticky is on, we update with a permanent indirection, and arrange that when we enter a permanent indirection we count the entry and then convert the indirection to a normal indirection. This gives us a means of counting the number of thunks entered again after the first entry. Obviously this screws up profiling, and so you can't build a ticky and profiling compiler any more. Also a few other changes that didn't make it into the previous 8 commits, but form a part of this set.
Showing
- ghc/includes/ClosureMacros.h 4 additions, 4 deletionsghc/includes/ClosureMacros.h
- ghc/includes/ClosureTypes.h 16 additions, 14 deletionsghc/includes/ClosureTypes.h
- ghc/includes/Closures.h 6 additions, 6 deletionsghc/includes/Closures.h
- ghc/includes/StgMacros.h 12 additions, 5 deletionsghc/includes/StgMacros.h
- ghc/includes/StgMiscClosures.h 48 additions, 1 deletionghc/includes/StgMiscClosures.h
- ghc/includes/StgTicky.h 48 additions, 7 deletionsghc/includes/StgTicky.h
- ghc/includes/TSO.h 4 additions, 4 deletionsghc/includes/TSO.h
- ghc/includes/Updates.h 13 additions, 4 deletionsghc/includes/Updates.h
- ghc/interpreter/adr.mk 1 addition, 1 deletionghc/interpreter/adr.mk
- ghc/lib/exts/Makefile 4 additions, 2 deletionsghc/lib/exts/Makefile
- ghc/lib/misc/Makefile 8 additions, 3 deletionsghc/lib/misc/Makefile
- ghc/lib/posix/Makefile 5 additions, 1 deletionghc/lib/posix/Makefile
- ghc/lib/std/Main.hi-boot 1 addition, 1 deletionghc/lib/std/Main.hi-boot
- ghc/lib/std/Makefile 11 additions, 6 deletionsghc/lib/std/Makefile
- ghc/lib/std/PrelException.hi-boot 2 additions, 1 deletionghc/lib/std/PrelException.hi-boot
- ghc/lib/std/PrelGHC.hi-boot 1 addition, 1 deletionghc/lib/std/PrelGHC.hi-boot
- ghc/lib/std/PrelPack.hi-boot 0 additions, 1 deletionghc/lib/std/PrelPack.hi-boot
- ghc/rts/ClosureFlags.c 3 additions, 1 deletionghc/rts/ClosureFlags.c
- ghc/rts/Evaluator.c 10 additions, 7 deletionsghc/rts/Evaluator.c
- ghc/rts/GC.c 26 additions, 2 deletionsghc/rts/GC.c
Loading
Please register or sign in to comment