]> gitweb.factorcode.org Git - factor.git/commitdiff
classes.struct: compute slot offsets before alignment to fix struct size problem...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 20 Nov 2009 01:34:46 +0000 (19:34 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 20 Nov 2009 01:34:46 +0000 (19:34 -0600)
basis/classes/struct/struct.factor

index c7dd3fb50516d455e45ec255e155cf596592365f..91ad7074662503af5f17e77e892932e2d9707acc 100755 (executable)
@@ -281,8 +281,9 @@ M: struct binary-zero? >c-ptr [ 0 = ] all? ;
     slots empty? [ struct-must-have-slots ] when
     class redefine-struct-tuple-class
     slots make-slots dup check-struct-slots :> slot-specs
+    slot-specs offsets-quot call :> unaligned-size
     slot-specs struct-alignment :> alignment
-    slot-specs offsets-quot call alignment align :> size
+    unaligned-size alignment align :> size
 
     class  slot-specs  size  alignment  c-type-for-class :> c-type