Re: Force GC calls out of the straight line execution path

2016-06-17 Thread Harendra Kumar
On 17 June 2016 at 17:30, Ben Gamari wrote: > > > [1] https://phabricator.haskell.org/D2339 Awesome! -harendra ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Re: Force GC calls out of the straight line execution path

2016-06-17 Thread Ben Gamari
Harendra Kumar writes: > Hi Ömer, > > I just checked and I do not see this behavior in 8.0.1 native code, it is > only seen in 7.10.3. So I guess this got fixed in 8.0. > > How about the llvm generated code? Can we control this behavior for llvm > generated code as

Re: Force GC calls out of the straight line execution path

2016-06-13 Thread Harendra Kumar
Hi Ömer, I just checked and I do not see this behavior in 8.0.1 native code, it is only seen in 7.10.3. So I guess this got fixed in 8.0. How about the llvm generated code? Can we control this behavior for llvm generated code as well? I first noticed this in llvm generated code with ghc-7.10.3.

Re: Force GC calls out of the straight line execution path

2016-06-13 Thread Ömer Sinan Ağacan
Hi Harendra, Would it be possible for you to provide a minimal example that compiles to such assembly? It's hard to tell if this is an easy case. Also, just to make sure, you're using -O, right? (I'm not sure if we have a related transformation enabled with -O but just to make sure...)

Force GC calls out of the straight line execution path

2016-06-13 Thread Harendra Kumar
Hi, I noticed in the generated code (llvm as well as native) that in some cases the GC calls are in the straight path and the regular code is out of the straight line path. Like this: => 0x408fc0: lea0x30(%r12),%rax => 0x408fc5: cmp0x358(%r13),%rax => 0x408fcc: jbe0x408fe9