aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nif.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2015-03-11 21:09:33 +0100
committerBjörn-Egil Dahlberg <[email protected]>2015-03-12 19:15:34 +0100
commit2aeb8cfd42be8ab1b7eee4a7f144122223dd7261 (patch)
treed18c6f75d228e8a89b1c59407c5b92708828aeaf /erts/emulator/beam/erl_nif.h
parent81551dd13167b9c4458c4fee7ce08e152f9f5273 (diff)
downloadotp-2aeb8cfd42be8ab1b7eee4a7f144122223dd7261.tar.gz
otp-2aeb8cfd42be8ab1b7eee4a7f144122223dd7261.tar.bz2
otp-2aeb8cfd42be8ab1b7eee4a7f144122223dd7261.zip
erts: Fix nif API for hashmaps
Diffstat (limited to 'erts/emulator/beam/erl_nif.h')
-rw-r--r--erts/emulator/beam/erl_nif.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index 849024453c..9b2b90c82d 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -201,10 +201,18 @@ typedef enum
typedef struct /* All fields all internal and may change */
{
ERL_NIF_TERM map;
- ERL_NIF_UINT t_limit;
+ ERL_NIF_UINT size;
ERL_NIF_UINT idx;
- ERL_NIF_TERM *ks;
- ERL_NIF_TERM *vs;
+ union {
+ struct {
+ ERL_NIF_TERM *ks;
+ ERL_NIF_TERM *vs;
+ }flat;
+ struct {
+ struct ErtsDynamicWStack_* wstack;
+ ERL_NIF_TERM* kv;
+ }hash;
+ }u;
void* __spare__[2]; /* for future additions to be ABI compatible (same struct size) */
} ErlNifMapIterator;