There was an error fetching the commit references. Please try again later.
Fix for earger blackholing of thunks with no free variables (#6146)
A thunk with no free variables was not getting blackholed when -feager-blackholing was on, but we were nevertheless pushing the stg_bh_upd_frame version of the update frame that expects to see a black hole. I fixed this twice for good measure: - we now call blackHoleOnEntry when pushing the update frame to check whether the closure was actually blackholed, and so that we use the same predicate in both places - we now black hole thunks even if they have no free variables. These only occur when optimisation is off, but presumably if you say -feager-blackholing then that's what you want to happen.
Showing
- compiler/codeGen/CgClosure.lhs 4 additions, 3 deletionscompiler/codeGen/CgClosure.lhs
- compiler/codeGen/ClosureInfo.lhs 1 addition, 1 deletioncompiler/codeGen/ClosureInfo.lhs
- compiler/codeGen/StgCmmBind.hs 10 additions, 7 deletionscompiler/codeGen/StgCmmBind.hs
- compiler/codeGen/StgCmmClosure.hs 1 addition, 1 deletioncompiler/codeGen/StgCmmClosure.hs
Please register or sign in to comment