diff options
author | Patrik Nyblom <[email protected]> | 2010-02-11 11:00:47 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-03-10 14:25:36 +0100 |
commit | ac0b3f0a64705717d21e4a3d84d91d9c44f3baf7 (patch) | |
tree | 749b16612ebb287c0ea73d3c9e8abfbe3d530c03 /erts/emulator/beam/big.c | |
parent | 3ddf0126dfcb60f0554e2d52187fa012f378e428 (diff) | |
download | otp-ac0b3f0a64705717d21e4a3d84d91d9c44f3baf7.tar.gz otp-ac0b3f0a64705717d21e4a3d84d91d9c44f3baf7.tar.bz2 otp-ac0b3f0a64705717d21e4a3d84d91d9c44f3baf7.zip |
Correct the VM to work for more test suites
The following test suites now work:
send_term_SUITE
trace_nif_SUITE
binary_SUITE
match_spec_SUITE
node_container_SUITE
beam_literals_SUITE
Also add a testcases for system_info({wordsize,internal|external}).
Diffstat (limited to 'erts/emulator/beam/big.c')
-rw-r--r-- | erts/emulator/beam/big.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c index c70044ed43..40c8e15436 100644 --- a/erts/emulator/beam/big.c +++ b/erts/emulator/beam/big.c @@ -1504,7 +1504,7 @@ Eterm small_to_big(Sint x, Eterm *y) Eterm erts_uint64_to_big(Uint64 x, Eterm **hpp) { Eterm *hp = *hpp; -#ifdef ARCH_32 +#if defined(ARCH_32) || HALFWORD_HEAP if (x >= (((Uint64) 1) << 32)) { *hp = make_pos_bignum_header(2); BIG_DIGIT(hp, 0) = (Uint) (x & ((Uint) 0xffffffff)); @@ -1531,7 +1531,7 @@ Eterm erts_sint64_to_big(Sint64 x, Eterm **hpp) neg = 1; x = -x; } -#ifdef ARCH_32 +#if defined(ARCH_32) || HALFWORD_HEAP if (x >= (((Uint64) 1) << 32)) { if (neg) *hp = make_neg_bignum_header(2); |