aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2010-08-10 13:51:03 +0200
committerRickard Green <[email protected]>2010-08-10 13:51:03 +0200
commitbc8817258be92596c255103da7c0e0c7e7c855c2 (patch)
treea8a2f1419006de482832f51f96487b47f6573a8e /erts
parent59ee2a593090e7d53c97ceba63cbd300d1b9657e (diff)
parenta4725cb01dcb9a846a73922bb7c14cd87f0e7803 (diff)
downloadotp-bc8817258be92596c255103da7c0e0c7e7c855c2.tar.gz
otp-bc8817258be92596c255103da7c0e0c7e7c855c2.tar.bz2
otp-bc8817258be92596c255103da7c0e0c7e7c855c2.zip
Merge branch 'rickard/trailing-data-alignment/OTP-8754' into dev
* rickard/trailing-data-alignment/OTP-8754: Align trailing message data for all types of structures
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/external.c2
-rw-r--r--erts/emulator/beam/external.h2
-rw-r--r--erts/emulator/beam/sys.h9
3 files changed, 3 insertions, 10 deletions
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index 310a83200b..d7c8aa84e9 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -502,7 +502,7 @@ erts_make_dist_ext_copy(ErtsDistExternal *edep, Uint xsize)
ASSERT(edep->ext_endp >= edep->extp);
ext_sz = edep->ext_endp - edep->extp;
- align_sz = ERTS_WORD_ALIGN_PAD_SZ(dist_ext_sz + ext_sz);
+ align_sz = ERTS_EXTRA_DATA_ALIGN_SZ(dist_ext_sz + ext_sz);
new_edep = erts_alloc(ERTS_ALC_T_EXT_TERM_DATA,
dist_ext_sz + ext_sz + align_sz + xsize);
diff --git a/erts/emulator/beam/external.h b/erts/emulator/beam/external.h
index db86b4d796..cee48bbeb0 100644
--- a/erts/emulator/beam/external.h
+++ b/erts/emulator/beam/external.h
@@ -211,7 +211,7 @@ ERTS_GLB_INLINE void *
erts_dist_ext_trailer(ErtsDistExternal *edep)
{
void *res = (void *) (edep->ext_endp
- + ERTS_WORD_ALIGN_PAD_SZ(edep->ext_endp));
+ + ERTS_EXTRA_DATA_ALIGN_SZ(edep->ext_endp));
ASSERT((((UWord) res) % sizeof(Uint)) == 0);
return res;
}
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
index ca87d3d70f..eac38674e7 100644
--- a/erts/emulator/beam/sys.h
+++ b/erts/emulator/beam/sys.h
@@ -359,15 +359,8 @@ typedef unsigned char byte;
#error 64-bit architecture, but no appropriate type to use for Uint64 and Sint64 found
#endif
-#if defined(ARCH_64)
-# define ERTS_WORD_ALIGN_PAD_SZ(X) \
+# define ERTS_EXTRA_DATA_ALIGN_SZ(X) \
(((size_t) 8) - (((size_t) (X)) & ((size_t) 7)))
-#elif defined(ARCH_32)
-# define ERTS_WORD_ALIGN_PAD_SZ(X) \
- (((size_t) 4) - (((size_t) (X)) & ((size_t) 3)))
-#else
-#error "Not supported..."
-#endif
#include "erl_lock_check.h"
#include "erl_smp.h"