diff options
author | Lukas Larsson <[email protected]> | 2013-09-02 17:27:58 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2014-02-24 10:26:07 +0100 |
commit | a3af5f4a5c4568225ef91ee4493da6bf659f7161 (patch) | |
tree | ab9b66d21a8398cae65428609acffb1cdd5d4dbe /erts/emulator/beam/external.c | |
parent | 502b13aaf568e351bc30e44d0e14c063cbf5fc5a (diff) | |
download | otp-a3af5f4a5c4568225ef91ee4493da6bf659f7161.tar.gz otp-a3af5f4a5c4568225ef91ee4493da6bf659f7161.tar.bz2 otp-a3af5f4a5c4568225ef91ee4493da6bf659f7161.zip |
erts: Set default external enc to use new float scheme
This change was triggered by the OSE float printing function
not working exactly the same way as linux/win32. But it is
also a good one in general as it cuts size in more than half
for floats.
Diffstat (limited to 'erts/emulator/beam/external.c')
-rw-r--r-- | erts/emulator/beam/external.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c index 9fb2dbd8bf..b8e6b3b072 100644 --- a/erts/emulator/beam/external.c +++ b/erts/emulator/beam/external.c @@ -529,7 +529,7 @@ Uint erts_encode_ext_size(Eterm term) Uint erts_encode_ext_size_2(Eterm term, unsigned dflags) { - return encode_size_struct2(NULL, term, TERM_TO_BINARY_DFLAGS|dflags) + return encode_size_struct2(NULL, term, dflags) + 1 /* VERSION_MAGIC */; } @@ -1099,10 +1099,10 @@ BIF_RETTYPE term_to_binary_2(BIF_ALIST_2) if (tp[1] == am_minor_version && is_small(tp[2])) { switch (signed_val(tp[2])) { case 0: - flags = TERM_TO_BINARY_DFLAGS; + flags = TERM_TO_BINARY_DFLAGS & ~DFLAG_NEW_FLOATS; break; case 1: - flags = TERM_TO_BINARY_DFLAGS|DFLAG_NEW_FLOATS; + flags = TERM_TO_BINARY_DFLAGS; break; default: goto error; @@ -1605,9 +1605,9 @@ external_size_2(BIF_ALIST_2) if (tp[1] == am_minor_version && is_small(tp[2])) { switch (signed_val(tp[2])) { case 0: + flags &= ~DFLAG_NEW_FLOATS; break; case 1: - flags |= DFLAG_NEW_FLOATS; break; default: goto error; |