Fix Array sizeof primops to use the correct offset (which happens to be 0, so it...
[ghc-hetmet.git] / compiler / codeGen / StgCmmPrim.hs
index 35fe035..afe0c39 100644 (file)
@@ -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]