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,
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