rje 2003/08/14 10:41:06 PDT
Modified files: (Branch: speceval_2)
ghc/compiler/absCSyn AbsCSyn.lhs PprAbsC.lhs
ghc/compiler/codeGen CgExpr.lhs CgHeapery.lhs CgTailCall.lhs
ghc/includes Closures.h RtsFlags.h SpecBasics.h
SpecBurst.h Speculate.h StgMacros.h
StgMiscClosures.h TSO.h
ghc/rts Exception.hc GC.c HeapStackCheck.hc
RtsFlags.c Schedule.c SpecBurst.c
SpecIntel.c Speculate.c
Added files: (Branch: speceval_2)
ghc/rts UnsafeIO.hc
Log:
Added a second variety of burst profiling (BURST2).
- though I don't expect it to replace normal BURST
Fixed a few bugs
AbsCSyn.lhs
PprAbsC.lhs
CgExpr.lhs
CgHeapery.lhs
StgMiscClosures.h
Added a new kind of heap/stack check to be used when returning from
a speculation.
This is virtually the same as a R1_UNPT heap/stack check.
The only reason to use a different check is to allow the runtime
system to easily tell if the stack check took place while
returning from a speculation.
CgHeapery.lhs
Undid the "every function allocates heap" change.
This turned out to be too big an overhead.
The "correct" thing to do is to always allocate heap in "loop breakers"
but that change hasn't been made yet.
CgTailCall.lhs
Minor reformatting to stop the layout rule biting me when
DEBUG is off.
Closures.h
Changed some nats to ints.
Afraid I can't quite remember now why I did this, but there was probably
a reason.
RtsFlags.h
SpecBasics.h
Speculate.h
TSO.h
Exception.hc
HeapStackCheck.hc
RtsFlags.c
SpecBurst.c
SpecIntel.c
Speculate.c
Added an additional burst profiling mode called BURST2.
This mode is there largely to allow comparative benchmarking
against normal burst profiling.
Normal BURST profiling is more elegant and I would expect it to
usually be faster.
I may remove BURST2 profiling at some point as it clutters up the
code somewhat.
StgMacros.h
Initialising specknob to 64 (may revert to 0 later)
Removed an assertion that the work done since the CostBase
is greater than zero, as the work done may overflow
for the root computation.
(it cannot overflow for speculations, as they always
get aborted before the work becomes large)
Various other faff
GC.c
Fixed the following bug:
AP_STACK objects are stored as large objects.
Such objects were being scavenged with scavenge_one.
But if the AP_STACK had been updated, this would
result in applying scavenge_one to an IND.
which isn't allowed.
Thanks to Simon Marlow for the fix.
Also fixed a bug in which the detagging for a relocated TSO
was wrong.
Schedule.c
If a thread is blocked, don't deal with it in the sampling code.
If speculation is taking place then the code for ThreadBlock
will abort it properly.
Minor tweak to set the specknob (but not the goodness)
to zero after an abort.
The let will thus not be profiled until we profile it again.
This prevents repeated aborts while profiling is disabled,
but avoids having to turn profiling on to profile speculations
that are aborting due to having called unsafePerformIO.
I may undo this change later.
Revision Changes Path
1.51.2.7 +5 -0 fptools/ghc/compiler/absCSyn/AbsCSyn.lhs
1.95.2.10 +1 -0 fptools/ghc/compiler/absCSyn/PprAbsC.lhs
1.52.2.13 +2 -2 fptools/ghc/compiler/codeGen/CgExpr.lhs
1.36.2.3 +6 -2 fptools/ghc/compiler/codeGen/CgHeapery.lhs
1.36.2.13 +3 -2 fptools/ghc/compiler/codeGen/CgTailCall.lhs
1.32.2.7 +2 -2 fptools/ghc/includes/Closures.h
1.45.2.10 +8 -0 fptools/ghc/includes/RtsFlags.h
1.1.2.3 +11 -2 fptools/ghc/includes/Attic/SpecBasics.h
1.1.2.3 +10 -5 fptools/ghc/includes/Attic/SpecBurst.h
1.1.2.12 +5 -3 fptools/ghc/includes/Attic/Speculate.h
1.50.2.16 +10 -6 fptools/ghc/includes/StgMacros.h
1.45.2.4 +4 -0 fptools/ghc/includes/StgMiscClosures.h
1.28.2.8 +2 -1 fptools/ghc/includes/TSO.h
1.26.2.11 +4 -2 fptools/ghc/rts/Exception.hc
1.146.2.14 +15 -7 fptools/ghc/rts/GC.c
1.27.2.7 +16 -1 fptools/ghc/rts/HeapStackCheck.hc
1.64.2.12 +20 -0 fptools/ghc/rts/RtsFlags.c
1.160.2.17 +4 -1 fptools/ghc/rts/Schedule.c
1.1.2.4 +72 -3 fptools/ghc/rts/Attic/SpecBurst.c
1.1.2.3 +1 -1 fptools/ghc/rts/Attic/SpecIntel.c
1.1.2.11 +3 -1 fptools/ghc/rts/Attic/Speculate.c
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|