[commit: ghc] master: Disable an assertion; see comment (e6b3829)
git at git.haskell.org
git at git.haskell.org
Wed Nov 5 18:15:40 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/e6b38294512896cf55f2d05d09d742d82313f598/ghc
>---------------------------------------------------------------
commit e6b38294512896cf55f2d05d09d742d82313f598
Author: Simon Marlow <marlowsd at gmail.com>
Date: Tue Nov 4 21:32:12 2014 +0000
Disable an assertion; see comment
>---------------------------------------------------------------
e6b38294512896cf55f2d05d09d742d82313f598
rts/Interpreter.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/rts/Interpreter.c b/rts/Interpreter.c
index 501cc4f..8a608ec 100644
--- a/rts/Interpreter.c
+++ b/rts/Interpreter.c
@@ -80,9 +80,15 @@
SpLim = tso_SpLim(cap->r.rCurrentTSO);
#define SAVE_STACK_POINTERS \
- ASSERT(Sp > SpLim); \
cap->r.rCurrentTSO->stackobj->sp = Sp
+// Note [Not true: ASSERT(Sp > SpLim)]
+//
+// SpLim has some headroom (RESERVED_STACK_WORDS) to allow for saving
+// any necessary state on the stack when returning to the scheduler
+// when a stack check fails.. The upshot of this is that Sp could be
+// less than SpLim both when leaving to return to the scheduler.
+
#define RETURN_TO_SCHEDULER(todo,retcode) \
SAVE_STACK_POINTERS; \
cap->r.rCurrentTSO->what_next = (todo); \
More information about the ghc-commits
mailing list