aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2018-02-20 19:07:46 +0100
committerJohn Högberg <[email protected]>2018-02-26 08:29:38 +0100
commit24b67adabd6e31ae8f2bb529d4f1cd5d6fdf1b1c (patch)
treeba60cfcea5ac988ca9979899d23ce7fda79aef0a
parent89de89e4c962aac2ff0c55f420ef6d510533f02a (diff)
downloadotp-24b67adabd6e31ae8f2bb529d4f1cd5d6fdf1b1c.tar.gz
otp-24b67adabd6e31ae8f2bb529d4f1cd5d6fdf1b1c.tar.bz2
otp-24b67adabd6e31ae8f2bb529d4f1cd5d6fdf1b1c.zip
Expand ErlNifBinary by another word for future additions
When fixing OTP-14931/14932 we had to settle for a solution that decreased performance in a few corner cases like multiple calls to enif_make_binary, as the other options on the table required extra fields which would have broken ABI compatibility. This is ABI-compatible since the fields are unused and at the end.
-rw-r--r--erts/emulator/beam/erl_nif.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index eb69a8255c..a99b4db705 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -139,7 +139,7 @@ typedef struct
/* Internals (avert your eyes) */
void* ref_bin;
/* for future additions to be ABI compatible (same struct size) */
- void* __spare__[1];
+ void* __spare__[2];
}ErlNifBinary;
#if (defined(__WIN32__) || defined(_WIN32) || defined(_WIN32_))