GHCi: use non-updatable thunks for breakpoints
authorSimon Marlow <simonmar@microsoft.com>
Wed, 10 Oct 2007 09:32:41 +0000 (09:32 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Wed, 10 Oct 2007 09:32:41 +0000 (09:32 +0000)
commit2777940384ce4740954062bedd0f6813698fc72a
treee73a8c5e4a1d35057527a68676bc7d13b3fff30d
parent70f308087c2291a3114bfedaa7ae915b1a1ac70a
GHCi: use non-updatable thunks for breakpoints
The extra safe points introduced for breakpoints were previously
compiled as normal updatable thunks, but they are guaranteed
single-entry, so we can use non-updatable thunks here.  This restores
the tail-call property where it was lost in some cases (although stack
squeezing probably often recovered it), and should improve
performance.
compiler/ghci/ByteCodeAsm.lhs
compiler/ghci/ByteCodeGen.lhs
compiler/ghci/ByteCodeInstr.lhs
includes/Bytecodes.h
includes/StgMiscClosures.h
rts/Apply.cmm
rts/Interpreter.c