From: Willy Tarreau Date: Fri, 6 Dec 2013 20:08:11 +0000 (+0100) Subject: DIET/MINOR: obj: pack the obj_type enum to 8 bits X-Git-Tag: v1.5-dev20~84 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=939478d04dcb1ba27875a45a5ea2246707fe1601;p=thirdparty%2Fhaproxy.git DIET/MINOR: obj: pack the obj_type enum to 8 bits Taking 32-bit in each struct just to store an obj_type is a waste considering the very small amount of possible values. Let's force it to be as small as possible (1 char) and we'll be able to move some structs around to save some space. --- diff --git a/include/types/obj_type.h b/include/types/obj_type.h index 09eaf4364b..aefbcd3a16 100644 --- a/include/types/obj_type.h +++ b/include/types/obj_type.h @@ -30,7 +30,7 @@ * various types of objects. */ -/* object types */ +/* object types : these ones take the same space as a char */ enum obj_type { OBJ_TYPE_NONE = 0, /* pointer is NULL by definition */ OBJ_TYPE_LISTENER, /* object is a struct listener */ @@ -40,7 +40,7 @@ enum obj_type { OBJ_TYPE_APPCTX, /* object is a struct appctx */ OBJ_TYPE_CONN, /* object is a struct connection */ OBJ_TYPE_ENTRIES /* last one : number of entries */ -}; +} __attribute__((packed)) ; #endif /* _TYPES_OBJ_TYPE_H */