diff options
author | Rickard Green <[email protected]> | 2010-08-10 13:51:03 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2010-08-10 13:51:03 +0200 |
commit | bc8817258be92596c255103da7c0e0c7e7c855c2 (patch) | |
tree | a8a2f1419006de482832f51f96487b47f6573a8e /erts/emulator | |
parent | 59ee2a593090e7d53c97ceba63cbd300d1b9657e (diff) | |
parent | a4725cb01dcb9a846a73922bb7c14cd87f0e7803 (diff) | |
download | otp-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/emulator')
-rw-r--r-- | erts/emulator/beam/external.c | 2 | ||||
-rw-r--r-- | erts/emulator/beam/external.h | 2 | ||||
-rw-r--r-- | erts/emulator/beam/sys.h | 9 |
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" |