From 0fd5db798e31912f335e4553e939e1e783284495 Mon Sep 17 00:00:00 2001 From: Reid Barton Date: Mon, 29 Feb 2016 17:35:43 -0500 Subject: Experiment with one-byte info tables --- rts/ThreadPaused.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'rts/ThreadPaused.c') diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c index 1f1d0afe58..e0e616aec4 100644 --- a/rts/ThreadPaused.c +++ b/rts/ThreadPaused.c @@ -219,6 +219,14 @@ threadPaused(Capability *cap, StgTSO *tso) frame = (StgClosure *)tso->stackobj->sp; while ((P_)frame < stack_end) { + if (*(P_)frame & 1) { + nat frame_size = stack_frame_sizeW(frame); + weight_pending += frame_size; + frame = (StgClosure *)((StgPtr)frame + frame_size); + prev_was_update_frame = rtsFalse; + continue; + } + info = get_ret_itbl(frame); switch (info->i.type) { -- cgit v1.2.1