
#8275: Loopification breaks profiling ----------------------------------------+---------------------------------- Reporter: jstolarek | Owner: jstolarek Type: bug | Status: new Priority: highest | Milestone: Component: Profiling | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Building GHC failed | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: 8298 | Blocked By: | Related Tickets: ----------------------------------------+---------------------------------- Comment (by jstolarek): Replying to [comment:12 ezyang]:
As for whether or not the LDV code needs to be done again, it depends on whether node (R1) changes when looping. Yes, R1 does change inside the loop.
the loop-back needs to insert a heap check for preemption purposes. And if a loop can be preempted, then the era can change, and yes, you need to run the LDV check after the preemption. I don't fully understand this. What is preemption? If upon entry to the loop I will do the LDV code and heap check, will this ensure correctnes of profiling and `-falways-yields`? Is this described on the wiki somewhere (preemption and LDV)?
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8275#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler