Shrink CAddress from 48 to 40 bytes on x64
`CAddress` inherits `CService` which is 28 bytes (on 64 bit machines). `CAddress` then adds two member variables - one that requires 4 byte alignment (`nTime`) and one that requires 8 byte alignment (`nServices`). Declare the smaller one first so that it fits in bytes 29..32. On 32 bit machines this change has no effect and `CAddress` remains 40 bytes.
This commit is contained in:
1 file changed
+2
-1
+2
-1
@@ -371,9 +371,10 @@ public:
|
|||||||
READWRITEAS(CService, obj);
|
READWRITEAS(CService, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
ServiceFlags nServices{NODE_NONE};
|
|
||||||
// disk and network only
|
// disk and network only
|
||||||
uint32_t nTime{TIME_INIT};
|
uint32_t nTime{TIME_INIT};
|
||||||
|
|
||||||
|
ServiceFlags nServices{NODE_NONE};
|
||||||
};
|
};
|
||||||
|
|
||||||
/** getdata message type flags */
|
/** getdata message type flags */
|
||||||
|
|||||||
Reference in new issue
Block a user