Index: /trunk/src/VBox/Devices/Network/slirp/slirp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 37934)
+++ /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 37935)
@@ -580,5 +580,5 @@
     int fNATfailed = 0;
     int rc;
-    PNATState pData = RTMemAllocZ(sizeof(NATState));
+    PNATState pData = RTMemAllocZ(RT_ALIGN_Z(sizeof(NATState), sizeof(uint64_t)));
     *ppData = pData;
     if (!pData)
Index: /trunk/src/VBox/VMM/include/MMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/MMInternal.h	(revision 37934)
+++ /trunk/src/VBox/VMM/include/MMInternal.h	(revision 37935)
@@ -64,8 +64,6 @@
     struct MMHEAP          *pHeap;
 #ifdef MMR3HEAP_WITH_STATISTICS
-# if HC_ARCH_BITS == 32
-    /** Aligning the statistics on an 8 byte boundary (for uint64_t and STAM). */
-    void                   *pvAlignment;
-# endif
+    /** Number of bytes currently allocated. */
+    size_t                  cbCurAllocated;
     /** Number of allocation. */
     uint64_t                cAllocations;
@@ -80,10 +78,9 @@
     /** Number of bytes freed. */
     uint64_t                cbFreed;
-    /** Number of bytes currently allocated. */
-    size_t                  cbCurAllocated;
 #endif
 } MMHEAPSTAT;
 #if defined(MMR3HEAP_WITH_STATISTICS) && defined(IN_RING3)
 AssertCompileMemberAlignment(MMHEAPSTAT, cAllocations, 8);
+AssertCompileSizeAlignment(MMHEAPSTAT, 8);
 #endif
 /** Pointer to heap statistics record. */
Index: /trunk/src/VBox/VMM/include/PDMBlkCacheInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/PDMBlkCacheInternal.h	(revision 37934)
+++ /trunk/src/VBox/VMM/include/PDMBlkCacheInternal.h	(revision 37935)
@@ -103,57 +103,57 @@
 {
     /** Pointer to the owning VM instance. */
-    PVM               pVM;
+    PVM                 pVM;
     /** Maximum size of the cache in bytes. */
-    uint32_t          cbMax;
+    uint32_t            cbMax;
     /** Current size of the cache in bytes. */
-    uint32_t          cbCached;
+    uint32_t            cbCached;
     /** Critical section protecting the cache. */
-    RTCRITSECT        CritSect;
+    RTCRITSECT          CritSect;
     /** Maximum number of bytes cached. */
-    uint32_t          cbRecentlyUsedInMax;
+    uint32_t            cbRecentlyUsedInMax;
     /** Maximum number of bytes in the paged out list .*/
-    uint32_t          cbRecentlyUsedOutMax;
+    uint32_t            cbRecentlyUsedOutMax;
     /** Recently used cache entries list */
-    PDMBLKLRULIST     LruRecentlyUsedIn;
+    PDMBLKLRULIST       LruRecentlyUsedIn;
     /** Scorecard cache entry list. */
-    PDMBLKLRULIST     LruRecentlyUsedOut;
+    PDMBLKLRULIST       LruRecentlyUsedOut;
     /** List of frequently used cache entries */
-    PDMBLKLRULIST     LruFrequentlyUsed;
+    PDMBLKLRULIST       LruFrequentlyUsed;
     /** Commit timeout in milli seconds */
-    uint32_t          u32CommitTimeoutMs;
+    uint32_t            u32CommitTimeoutMs;
     /** Number of dirty bytes needed to start a commit of the data to the disk. */
-    uint32_t          cbCommitDirtyThreshold;
+    uint32_t            cbCommitDirtyThreshold;
     /** Current number of dirty bytes in the cache. */
-    volatile uint32_t cbDirty;
+    volatile uint32_t   cbDirty;
+    /** Flag whether the VM was suspended becaus of an I/O error. */
+    volatile bool       fIoErrorVmSuspended;
     /** Flag whether a commit is currently in progress. */
-    volatile bool     fCommitInProgress;
+    volatile bool       fCommitInProgress;
     /** Commit interval timer */
-    PTMTIMERR3        pTimerCommit;
+    PTMTIMERR3          pTimerCommit;
     /** Number of endpoints using the cache. */
-    uint32_t          cRefs;
+    uint32_t            cRefs;
     /** List of all users of this cache. */
-    RTLISTNODE        ListUsers;
+    RTLISTNODE          ListUsers;
 #ifdef VBOX_WITH_STATISTICS
     /** Hit counter. */
-    STAMCOUNTER       cHits;
+    STAMCOUNTER         cHits;
     /** Partial hit counter. */
-    STAMCOUNTER       cPartialHits;
+    STAMCOUNTER         cPartialHits;
     /** Miss counter. */
-    STAMCOUNTER       cMisses;
+    STAMCOUNTER         cMisses;
     /** Bytes read from cache. */
-    STAMCOUNTER       StatRead;
+    STAMCOUNTER         StatRead;
     /** Bytes written to the cache. */
-    STAMCOUNTER       StatWritten;
+    STAMCOUNTER         StatWritten;
     /** Time spend to get an entry in the AVL tree. */
-    STAMPROFILEADV    StatTreeGet;
+    STAMPROFILEADV      StatTreeGet;
     /** Time spend to insert an entry in the AVL tree. */
-    STAMPROFILEADV    StatTreeInsert;
+    STAMPROFILEADV      StatTreeInsert;
     /** Time spend to remove an entry in the AVL tree. */
-    STAMPROFILEADV    StatTreeRemove;
+    STAMPROFILEADV      StatTreeRemove;
     /** Number of times a buffer could be reused. */
-    STAMCOUNTER       StatBuffersReused;
-#endif
-    /** Flag whether the VM was suspended becaus of an I/O error. */
-    volatile bool     fIoErrorVmSuspended;
+    STAMCOUNTER         StatBuffersReused;
+#endif
 } PDMBLKCACHEGLOBAL;
 #ifdef VBOX_WITH_STATISTICS
