Skip to content
  • Ömer Sinan Ağacan's avatar
    Fix and enable object unloading in GHCi · e8cac0c4
    Ömer Sinan Ağacan authored
    Fixes #16525
    
    See Note [Object unloading] in CheckUnload.c for details.
    
    NoFib results:
    
    --------------------------------------------------------------------------------
            Program           Size    Allocs    Instrs     Reads    Writes
    --------------------------------------------------------------------------------
                 CS          -0.2%      0.0%     +0.0%     +0.0%     +0.0%
                CSD          -0.2%      0.0%     +0.0%     +0.0%     +0.0%
                 FS          -0.2%      0.0%     +0.0%     +0.0%     -0.0%
                  S          -0.2%      0.0%     +1.0%     +1.1%     +0.0%
                 VS          -0.2%      0.0%     +0.0%     +0.0%     -0.0%
                VSD          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                VSM          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               anna          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
               ansi          -0.1%      0.0%     +0.0%     +0.0%      0.0%
               atom          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             awards          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             banner          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
         bernouilli          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
       binary-trees          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              boyer          -0.1%      0.0%     +0.1%     +0.1%      0.0%
             boyer2          -0.1%      0.0%     +0.0%     +0.1%      0.0%
               bspt          -0.1%      0.0%     +0.0%     +0.0%      0.0%
          cacheprof          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
           calendar          -0.1%      0.0%     +0.0%     +0.0%      0.0%
           cichelli          -0.1%      0.0%     +0.1%     +0.2%     +0.0%
            circsim          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
           clausify          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
      comp_lab_zift          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
           compress          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
          compress2          -0.1%      0.0%     +0.0%     +0.0%      0.0%
        constraints          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
       cryptarithm1          -0.1%      0.0%     +0.0%     +0.0%      0.0%
       cryptarithm2          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                cse          -0.1%      0.0%     +0.0%     +0.0%      0.0%
       digits-of-e1          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
       digits-of-e2          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
             dom-lt          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              eliza          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
              event          -0.1%      0.0%     +0.0%     +0.1%      0.0%
        exact-reals          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
             exp3_8          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             expert          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
     fannkuch-redux          -0.1%      0.0%     +0.0%     +0.0%      0.0%
              fasta          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
                fem          -0.1%      0.0%     +0.0%     +0.0%      0.0%
                fft          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               fft2          -0.1%      0.0%     +0.0%     +0.0%      0.0%
           fibheaps          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               fish          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              fluid          -0.1%      0.0%     +0.1%     +0.1%     -0.0%
             fulsom          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             gamteb          -0.1%      0.0%     +0.0%     +0.0%      0.0%
                gcd          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
        gen_regexps          -0.2%      0.0%     +0.0%     +0.0%     -0.0%
             genfft          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
                 gg          -0.1%      0.0%     +0.1%     +0.1%      0.0%
               grep          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             hidden          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                hpg          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                ida          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              infer          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
            integer          -0.1%      0.0%     +0.0%     +0.0%      0.0%
          integrate          -0.1%      0.0%     +0.0%     +0.0%      0.0%
       k-nucleotide          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              kahan          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
            knights          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             lambda          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
         last-piece          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               lcss          -0.1%      0.0%     +0.0%     +0.0%      0.0%
               life          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               lift          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             linear          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
          listcompr          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
           listcopy          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
           maillist          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             mandel          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
            mandel2          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               mate          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
            minimax          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
            mkhprog          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
         multiplier          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             n-body          -0.1%      0.0%     +0.0%     +0.0%      0.0%
           nucleic2          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               para          -0.1%      0.0%     +0.0%     +0.0%      0.0%
          paraffins          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             parser          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
            parstof          -0.1%      0.0%     +0.2%     +0.2%     -0.0%
                pic          -0.1%      0.0%     +0.1%     +0.1%     +0.0%
           pidigits          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
              power          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             pretty          -0.1%      0.0%     +0.5%     +0.6%     -0.0%
             primes          -0.1%      0.0%     +0.0%     +0.0%      0.0%
          primetest          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             prolog          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             puzzle          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
             queens          -0.1%      0.0%     +0.0%     +0.0%      0.0%
            reptile          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
    reverse-complem          -0.2%      0.0%     +0.0%     +0.0%      0.0%
            rewrite          -0.1%      0.0%     +0.0%     +0.0%      0.0%
               rfib          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
                rsa          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                scc          -0.2%      0.0%     +0.5%     +0.7%     +0.0%
              sched          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
                scs          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
             simple          -0.1%      0.0%     +0.3%     +0.4%      0.0%
              solid          -0.1%      0.0%     +0.0%     +0.0%      0.0%
            sorting          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
      spectral-norm          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
             sphere          -0.1%      0.0%     +0.0%     +0.0%      0.0%
             symalg          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
                tak          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
          transform          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
           treejoin          -0.1%      0.0%     +0.1%     +0.1%      0.0%
          typecheck          -0.1%      0.0%     +0.0%     +0.0%      0.0%
            veritas          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
               wang          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
          wave4main          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
       wheel-sieve1          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
       wheel-sieve2          -0.1%      0.0%     +0.0%     +0.0%     -0.0%
               x2n1          -0.1%      0.0%     +0.0%     +0.0%     +0.0%
    --------------------------------------------------------------------------------
                Min          -0.2%      0.0%     +0.0%     +0.0%     -0.0%
                Max          -0.1%      0.0%     +1.0%     +1.1%     +0.0%
     Geometric Mean          -0.1%     -0.0%     +0.0%     +0.0%     -0.0%
    e8cac0c4