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

On branch  : simd

http://hackage.haskell.org/trac/ghc/changeset/d9775dafb2b82ce20a960f1aed9d61f62e77bc38

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

commit d9775dafb2b82ce20a960f1aed9d61f62e77bc38
Author: Geoffrey Mainland <[email protected]>
Date:   Wed Nov 2 13:28:07 2011 +0000

    Back-out changes to the storage manager that forced 16-byte boundaries.
    
    Since we no longer assume proper alignment for vector values, we can get 
rid of
    need this hack.

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

 includes/rts/storage/Closures.h |    2 --
 rts/sm/Storage.c                |   13 -------------
 2 files changed, 0 insertions(+), 15 deletions(-)

diff --git a/includes/rts/storage/Closures.h b/includes/rts/storage/Closures.h
index c65d7da..5f4f035 100644
--- a/includes/rts/storage/Closures.h
+++ b/includes/rts/storage/Closures.h
@@ -138,8 +138,6 @@ typedef struct StgBlockingQueue_ {
 typedef struct {
     StgHeader  header;
     StgWord    bytes;
-    StgWord    dummy1;
-    StgWord    dummy2;
     StgWord    payload[FLEXIBLE_ARRAY];
 } StgArrWords;
 
diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c
index 7d4526d..82e89a5 100644
--- a/rts/sm/Storage.c
+++ b/rts/sm/Storage.c
@@ -601,25 +601,12 @@ move_STACK (StgStack *src, StgStack *dest)
    Hp/HpLim).
    -------------------------------------------------------------------------- 
*/
 
-/*
- * This is a terrible hack to guarantee that *all* allocated objects are 
aligned
- * on a 4-word boundary so we can use aligned SSE instructions. We can't just
- * align some objects, because when the GC runs and compresses the heap, they
- * could end up non-aligned.
- */
-#define ALIGN_WORDS 4
-#define ALIGN_MASK  (ALIGN_WORDS-1)
-
-#define ALIGN_ROUND_UP(n)  (((n)+ALIGN_WORDS-1) & ~ALIGN_MASK)
-
 StgPtr
 allocate (Capability *cap, lnat n)
 {
     bdescr *bd;
     StgPtr p;
 
-    n = ALIGN_ROUND_UP(n);
-
     if (n >= LARGE_OBJECT_THRESHOLD/sizeof(W_)) {
        lnat req_blocks =  (lnat)BLOCK_ROUND_UP(n*sizeof(W_)) / BLOCK_SIZE;
 



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

Reply via email to