Commit 022ee7c7 authored by Simon Marlow's avatar Simon Marlow
Browse files

Remove the packing I added recently to the Capability structure

The problem is that the packing caused some unaligned loads, which
lead to bus errors on Sparc (and reduced performance elsewhere,
presumably).
parent 1f03870f
......@@ -32,11 +32,7 @@ struct Capability_ {
// code. During STG execution, the BaseReg register always points
// to the StgRegTable of the current Capability (&cap->r).
StgFunTable f;
StgRegTable r GNU_ATTRIBUTE(packed);
// packed eliminates any padding between f and r. Not strictly
// necessary, but it means the negative offsets for accessing
// the fields of f when we are in STG code are as small as
// possible.
StgRegTable r;
nat no; // capability number.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment