Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/72c4f62494fa63aa6db846ff5e02828da6a9278b

>---------------------------------------------------------------

commit 72c4f62494fa63aa6db846ff5e02828da6a9278b
Author: Daniel Peebles <[email protected]>
Date:   Tue Feb 1 06:30:17 2011 +0000

    Fix Array sizeof primops to use the correct offset (which happens to be 0, 
so it worked before anyway). Makes us more future-proof, at least

>---------------------------------------------------------------

 compiler/codeGen/CgPrimOp.hs   |    2 +-
 compiler/codeGen/StgCmmPrim.hs |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler/codeGen/CgPrimOp.hs b/compiler/codeGen/CgPrimOp.hs
index d772514..fd440e9 100644
--- a/compiler/codeGen/CgPrimOp.hs
+++ b/compiler/codeGen/CgPrimOp.hs
@@ -212,7 +212,7 @@ emitPrimOp [r] IndexArrayOp [obj,ix]   _  = 
doReadPtrArrayOp r obj ix
 emitPrimOp []  WriteArrayOp [obj,ix,v] _  = doWritePtrArrayOp obj ix v
 
 emitPrimOp [res] SizeofArrayOp [arg] _
-   = stmtC $ CmmAssign (CmmLocal res) (cmmLoadIndexW arg fixedHdrSize bWord)
+   = stmtC $ CmmAssign (CmmLocal res) (cmmLoadIndexW arg (fixedHdrSize + 
oFFSET_StgMutArrPtrs_ptrs) bWord)
 emitPrimOp [res] SizeofMutableArrayOp [arg] live
    = emitPrimOp [res] SizeofArrayOp [arg] live
 
diff --git a/compiler/codeGen/StgCmmPrim.hs b/compiler/codeGen/StgCmmPrim.hs
index 35fe035..afe0c39 100644
--- a/compiler/codeGen/StgCmmPrim.hs
+++ b/compiler/codeGen/StgCmmPrim.hs
@@ -288,7 +288,7 @@ emitPrimOp [r] IndexArrayOp [obj,ix]    = doReadPtrArrayOp 
r obj ix
 emitPrimOp []  WriteArrayOp [obj,ix,v]  = doWritePtrArrayOp obj ix v
 
 emitPrimOp [res] SizeofArrayOp [arg]
-   = emit $    mkAssign (CmmLocal res) (cmmLoadIndexW arg fixedHdrSize bWord)
+   = emit $    mkAssign (CmmLocal res) (cmmLoadIndexW arg (fixedHdrSize + 
oFFSET_StgMutArrPtrs_ptrs) bWord)
 emitPrimOp [res] SizeofMutableArrayOp [arg]
    = emitPrimOp [res] SizeofArrayOp [arg]
 



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to