aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_node_tables.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2017-08-25 18:46:58 +0200
committerSverker Eriksson <[email protected]>2017-11-15 20:13:03 +0100
commite4d28f70133af9b3b8c320fe5e70e2086830874d (patch)
tree72db3931c672d51e06281986b3f5a8685bd3ff75 /erts/emulator/beam/erl_node_tables.h
parent42dadd12ac6b6977513a6edd73ff6137488c4a4a (diff)
downloadotp-e4d28f70133af9b3b8c320fe5e70e2086830874d.tar.gz
otp-e4d28f70133af9b3b8c320fe5e70e2086830874d.tar.bz2
otp-e4d28f70133af9b3b8c320fe5e70e2086830874d.zip
erts: Transcode tuple fallbacks
When finalizing outgoing distribution messages we transcode them into using tuple fallbacks if the receiver does not support bitstrings and export-funs. This can only happen if the message was first encoded toward a pending connection when the receiver was unknown. It's an optimistic approach optmimized for modern beam nodes, that expect real bitstrings and funs (since <R13). Only erl_interface/jinterface lack this support.
Diffstat (limited to 'erts/emulator/beam/erl_node_tables.h')
-rw-r--r--erts/emulator/beam/erl_node_tables.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_node_tables.h b/erts/emulator/beam/erl_node_tables.h
index af42814b8b..afa83f8b46 100644
--- a/erts/emulator/beam/erl_node_tables.h
+++ b/erts/emulator/beam/erl_node_tables.h
@@ -83,6 +83,7 @@ typedef struct ErtsDistOutputBuf_ ErtsDistOutputBuf;
struct ErtsDistOutputBuf_ {
#ifdef DEBUG
Uint dbg_pattern;
+ byte *alloc_endp;
#endif
ErtsDistOutputBuf *next;
byte *extp;
@@ -156,6 +157,8 @@ typedef struct dist_entry_ {
struct cache* cache; /* The atom cache */
ErtsThrPrgrLaterOp later_op;
+
+ struct transcode_context* transcode_ctx;
} DistEntry;
typedef struct erl_node_ {