Hmm, surely these are used for negative offsets a lot? All Hp-relative indices are negative (but virtual Hp offsets are positive), and Sp-relative indices can be both negative and positive.

On 07/08/2014 12:49, Simon Peyton Jones wrote:
I’m all for it!

I believe that ByteOff/WordOff are always 0 or positive.   At least,
they were when I introduced them!

SImon

*From:*ghc-devs [mailto:ghc-devs-boun...@haskell.org] *On Behalf Of
*Johan Tibell
*Sent:* 07 August 2014 12:21
*To:* Simon Marlow
*Cc:* ghc-devs@haskell.org
*Subject:* Re: Improving the Int/Word story inside GHC

Simon M, is the intention of ByteOff and WordOff that they should be
able to represent negative quantities as well? If so we might need to
split it into ByteOff (still an Int) and ByteIndex (a Word) to have a
type for indexing into arrays.

On Thu, Aug 7, 2014 at 1:16 PM, Edward Z. Yang <ezy...@mit.edu
<mailto:ezy...@mit.edu>> wrote:

    If it's strictly just in the codegen (and not affecting user code),
    seems fine to me.

    Edward

    Excerpts from Johan Tibell's message of 2014-08-07 12:10:37 +0100:

     > Inside GHC we mostly use Int instead of Word, even when we want to
     > represent non-negative values, such as sizes of things or indices
    into
     > things. This is now causing some grief in
     > https://ghc.haskell.org/trac/ghc/ticket/9416, where an allocation
    boundary
     > case test fails with a segfault because a n < m Int comparison
    overflows.
     >
     > I tried to fix the issue by changing the type of
    maxInlineAllocSize, which
     > is used on one side of the above comparison, to Word. However, that
     > unravels a bunch of other issues, such as wordsToBytes, ByteOff,
    etc are
     > all Int-valued quantities.
     >
     > I could perhaps work around these problems by judicious use of
    fromIntegral
     > in StgCmmPrim, but I'm a bit unhappy about it because it 1) makes
    the code
     > uglier and 2) needs to be done in quite a few places.
     >
     > How much work would it be to try to switch the codegen to use
    Word for most
     > of these quantities instead?
     >
     > -- Johan

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to