1. 13 Dec, 2001 3 commits
  2. 12 Dec, 2001 14 commits
  3. 11 Dec, 2001 13 commits
  4. 10 Dec, 2001 10 commits
    • sof's avatar
      [project @ 2001-12-10 18:06:50 by sof] · 8ec3d0f1
      sof authored
      bdescr's back field is now inside a union
      8ec3d0f1
    • sewardj's avatar
      [project @ 2001-12-10 18:04:51 by sewardj] · 0d1a15fd
      sewardj authored
      Add just enough infrastructure to the NCG that it can deal with simple 64-bit
      code on 32-bit platforms.  Main changes are:
      
      * Addition of a simple 64-bit instruction selection fn iselExpr64 to MachCode.
        This generates code for a 64-bit value and places the results into two
        virtual registers, related thusly:
      
      * Add a new type VRegUnique, which is used to label Stix virtual registers.
        This type used to be a plain Unique, but that forces the assumption that
        each Abstract-C level C temporary corresponds to exactly one Stix virtual
        register, which is untrue when the C temporary is 64-bit sized on a
        32-bit machine.  In the new scheme, the Unique for the C temporary can
        turn into two related VRegUniques, related by having the same embedded
        unique.
      
      * Made a start on 'target metrics' by adding ncg_target_is_32bits to the
        end of Stix.lhs.
      
      * Cleaned up numerous other gruesomenesses in the NCG which never came
        to light before now.   Got rid of MachMisc.sizeOf, which doesn't make
        sense in a 64-bit setting, and replaced it by calls to
        PrimRep.getPrimRepArrayElemSize, which, as far as I'm concerned, is the
        definitive answer to the questio `How Big Is This PrimRep Really?'
      
      Result: on x86-linux, at least, you can now compile the Entire Prelude
      with -fasm!  At this stage I cannot claim that the resulting code is
      correct, but it's a start.
      0d1a15fd
    • sof's avatar
      [project @ 2001-12-10 17:59:54 by sof] · 9428b42b
      sof authored
      RTS_SYMBOLS: MainCapability is not defined in SMP-mode
      9428b42b
    • sewardj's avatar
      [project @ 2001-12-10 17:55:40 by sewardj] · a1cb8472
      sewardj authored
      Fix a presumably long-standing cut-n-paste-o, wherein HP_CHK_L1 had
      exactly the same definition as HP_CHK_D1.
      a1cb8472
    • simonmar's avatar
      [project @ 2001-12-10 14:08:58 by simonmar] · c72549be
      simonmar authored
      Some lifting of the lazy parts of the parse tree so we don't parse too
      much when using happy --strict.
      c72549be
    • simonmar's avatar
      [project @ 2001-12-10 14:08:14 by simonmar] · c5d45a35
      simonmar authored
      The flag -fno-cpr is now only present in a DEBUG compiler.
      c5d45a35
    • simonmar's avatar
      [project @ 2001-12-10 14:07:30 by simonmar] · 973539a8
      simonmar authored
      Make the inclusion of the old strictness analyser, CPR analyser, and
      the relevant IdInfo components, conditional on DEBUG.  This makes
      IdInfo smaller by three fields in a non-DEBUG compiler, and reduces
      the risk that the unused fields could harbour space leaks.
      
      Eventually these passes will go away altogether.
      973539a8
    • simonmar's avatar
      [project @ 2001-12-10 14:05:06 by simonmar] · a0cb0c4b
      simonmar authored
      Note that the final call to coreBindsSize is still necessary to
      eliminate space leakage from the simplifier.
      a0cb0c4b
    • simonmar's avatar
      [project @ 2001-12-10 14:02:45 by simonmar] · fca21bb3
      simonmar authored
      Print the "type description" of a closure for profiling as the user
      string, not the Z-encoded string.  Fixes problems with things like
      'ZMZN' appearing in profiling output.
      fca21bb3
    • simonmar's avatar
      [project @ 2001-12-10 14:00:35 by simonmar] · ccaf7b66
      simonmar authored
      Make the OccName and SrcLoc fields of a Name strict, to eliminate
      space leaks.  This doesn't hurt performance.
      ccaf7b66