Fix two bugs in stg_ap_0_fast in profiling runtime

Authored by osa1 on Jan 18 2019, 1:35 PM.

Description

Fix two bugs in stg_ap_0_fast in profiling runtime

This includes two bug fixes in profiling version of stg_ap_0_fast:

  • PAPs allocated by stg_ap_0_fast are now correctly tagged. This invariant is checked in Sanity.c:checkPAP.

    (This was originally implemented in 2693eb11f5, later reverted with ab55b4ddb7 because it revealed the bug below, but it wasn't clear at the time whether the bug was the one below or something in the commit)
  • The local variable untaggedfun is now marked as a pointer so it survives GC.

With this we finally fix all known bugs caught in Trac #15508. concprog001
now works reliably with prof+threaded and prof runtimes (with and
without -debug).

(cherry picked from commit 908b4b8659713f0b7a1704ce33c7fa30e3e0ffc3)

Details

Committed
bgamariApr 19 2019, 4:54 PM
Parents
rGHC8bbe147d902e: users-guide: Document how to disable package environments
Branches
Unknown
Tags
Unknown