aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-12-18 14:47:26 +0100
committerSverker Eriksson <[email protected]>2018-12-18 14:47:26 +0100
commit356df3912d0906044938edc69e4e4f5f801b1bbd (patch)
treee46ffb8c5cf7d896a0a654a024184e0b85b358f1 /erts/emulator/beam
parent641cc2dad5d04c710aff23a59fb55278256d71e2 (diff)
parentc6f59b2cd0973c5de44c382f70cfb876ff2db2e3 (diff)
downloadotp-356df3912d0906044938edc69e4e4f5f801b1bbd.tar.gz
otp-356df3912d0906044938edc69e4e4f5f801b1bbd.tar.bz2
otp-356df3912d0906044938edc69e4e4f5f801b1bbd.zip
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/big.c7
-rw-r--r--erts/emulator/beam/erl_bif_atomics.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c
index dac9574fa5..7e0be2a2a7 100644
--- a/erts/emulator/beam/big.c
+++ b/erts/emulator/beam/big.c
@@ -1157,8 +1157,11 @@ static dsize_t I_band(ErtsDigit* x, dsize_t xl, short xsgn,
*r++ = ~c1 & ~c2;
x++; y++;
}
- while(xl--)
- *r++ = ~*x++;
+ while(xl--) {
+ DSUBb(*x,0,b1,c1);
+ *r++ = ~c1;
+ x++;
+ }
}
}
return I_btrail(r0, r, sign);
diff --git a/erts/emulator/beam/erl_bif_atomics.c b/erts/emulator/beam/erl_bif_atomics.c
index 092dbb3bd3..029831bd95 100644
--- a/erts/emulator/beam/erl_bif_atomics.c
+++ b/erts/emulator/beam/erl_bif_atomics.c
@@ -133,7 +133,7 @@ static ERTS_INLINE Eterm bld_atomic(Process* proc, AtomicsRef* p,
if ((Uint64)val <= MAX_SMALL)
return make_small((Sint) val);
else {
- Uint hsz = ERTS_UINT64_HEAP_SIZE(val);
+ Uint hsz = ERTS_UINT64_HEAP_SIZE((Uint64)val);
Eterm* hp = HAlloc(proc, hsz);
return erts_uint64_to_big(val, &hp);
}