diff options
author | Simon Marlow <simonmarhaskell@gmail.com> | 2008-04-16 23:24:33 +0000 |
---|---|---|
committer | Simon Marlow <simonmarhaskell@gmail.com> | 2008-04-16 23:24:33 +0000 |
commit | e686d8dc6cd67c35132059d0718d1501f0af1e67 (patch) | |
tree | 525f4fa72f168300f63a27c3e322dedb7ed8a9aa /rts/sm/GCThread.h | |
parent | a370654a872838c43e63bdd6cc279c0ee9913cdf (diff) | |
download | haskell-e686d8dc6cd67c35132059d0718d1501f0af1e67.tar.gz |
pad step_workspace to 64 bytes, to speed up access to gct->steps[]
Diffstat (limited to 'rts/sm/GCThread.h')
-rw-r--r-- | rts/sm/GCThread.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rts/sm/GCThread.h b/rts/sm/GCThread.h index 8d171ae3ee..338cca749d 100644 --- a/rts/sm/GCThread.h +++ b/rts/sm/GCThread.h @@ -95,7 +95,11 @@ typedef struct step_workspace_ { bdescr * part_list; unsigned int n_part_blocks; // count of above -} step_workspace; + StgWord pad[5]; + +} step_workspace ATTRIBUTE_ALIGNED(64); +// align so that computing gct->steps[n] is a shift, not a multiply +// fails if the size is <64, which is why we need the pad above /* ---------------------------------------------------------------------------- GC thread object |