Re: Thread status constants

2014-07-21 Thread Simon Marlow
On 19/07/2014 06:00, Kyle Van Berendonck wrote: I found these: https://github.com/ghc/ghc/blob/5f3c5384df59717ca8013c5df8d1f65692867825/includes/rts/Constants.h#L194 They go only 0-14, so there's some long chains of branches and stuff in hot paths that could be cleaned up into single -masked

Re: Thread status constants

2014-07-21 Thread Kyle Van Berendonck
Hi Simon, I have been inspecting what gcc generates and found that in all the functions I checked which used the thread status in a switch, none of them generated jump tables, rather, long chains of cmp's. I predict this is because there are overlapping cases (or even a fall-through in one I

Re: Thread status constants

2014-07-19 Thread Jost Berthold
Message: 2 Date: Sat, 19 Jul 2014 15:00:17 +1000 From: Kyle Van Berendonck kvanberendo...@gmail.com To: ghc-devs@haskell.org ghc-devs@haskell.org Subject: Thread status constants Message-ID: CAFSvR6A3maSWngY=GJdATvGPjTAyuPokXZ5=rLtLT=ebyds...@mail.gmail.com Content-Type: text/plain

Re: Thread status constants

2014-07-19 Thread Carter Schonwald
-devs@haskell.org Subject: Thread status constants Message-ID: CAFSvR6A3maSWngY=GJdATvGPjTAyuPokXZ5=rLtLT= ebyds...@mail.gmail.com Content-Type: text/plain; charset=utf-8 Hi, I found these: https://github.com/ghc/ghc/blob/5f3c5384df59717ca8013c5df8d1f6 5692867825/includes/rts

Re: Thread status constants

2014-07-19 Thread Jost Berthold
-marburg.de wrote: Message: 2 Date: Sat, 19 Jul 2014 15:00:17 +1000 From: Kyle Van Berendonck kvanberendo...@gmail.com To: ghc-devs@haskell.org ghc-devs@haskell.org Subject: Thread status constants Message-ID: CAFSvR6A3maSWngY

Thread status constants

2014-07-18 Thread Kyle Van Berendonck
Hi, I found these: https://github.com/ghc/ghc/blob/5f3c5384df59717ca8013c5df8d1f65692867825/includes/rts/Constants.h#L194 They go only 0-14, so there's some long chains of branches and stuff in hot paths that could be cleaned up into single -masked branches by changing these into a set of flags.