aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/dist.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-03-01 12:27:48 +0100
committerSverker Eriksson <[email protected]>2018-03-02 19:16:48 +0100
commitc10e3e1fc83cbccd1c8c3b377e2309ea8fa27572 (patch)
treeac540798d79971e55d1d1a0f7a70644b3bf91235 /erts/emulator/beam/dist.c
parent7fb3ed7d2731050186eb5224fe8e6050e4909341 (diff)
downloadotp-c10e3e1fc83cbccd1c8c3b377e2309ea8fa27572.tar.gz
otp-c10e3e1fc83cbccd1c8c3b377e2309ea8fa27572.tar.bz2
otp-c10e3e1fc83cbccd1c8c3b377e2309ea8fa27572.zip
erts: Optimize dist transcoding toward erl_/jinterface
to only transcode if output buffer actually contains unsupported BIT_BINARY_EXT or EXPORT_EXT.
Diffstat (limited to 'erts/emulator/beam/dist.c')
-rw-r--r--erts/emulator/beam/dist.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index c08a8ec832..132a0b9fba 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -2000,6 +2000,7 @@ erts_dsig_send(ErtsDSigData *dsdp, struct erts_dsig_send_context* ctx)
break;
}
ctx->u.ec.flags = ctx->flags;
+ ctx->u.ec.hopefull_flags = 0;
ctx->u.ec.level = 0;
ctx->u.ec.wstack.wstart = NULL;
ctx->obuf->msg_start = ctx->obuf->ext_endp;
@@ -2023,6 +2024,7 @@ erts_dsig_send(ErtsDSigData *dsdp, struct erts_dsig_send_context* ctx)
ctx->data_size = ctx->obuf->ext_endp - ctx->obuf->extp;
+ ctx->obuf->hopefull_flags = ctx->u.ec.hopefull_flags;
/*
* Signal encoded; now verify that the connection still exists,
* and if so enqueue the signal and schedule it for send.