diff options
author | Patrik Nyblom <[email protected]> | 2011-06-08 10:00:48 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2011-12-02 15:21:10 +0100 |
commit | f2fce18b897189a60c518017704bf3b100451a93 (patch) | |
tree | 17e77a595f8f0f5c1f20813985b8a346b22abeee /erts/emulator/beam/big.c | |
parent | 7f9e276476c4939cf3c79f6786abf0b714cee333 (diff) | |
download | otp-f2fce18b897189a60c518017704bf3b100451a93.tar.gz otp-f2fce18b897189a60c518017704bf3b100451a93.tar.bz2 otp-f2fce18b897189a60c518017704bf3b100451a93.zip |
Get cerl and distribution working in Win64
Can still not setup -a, but cerl works.
Diffstat (limited to 'erts/emulator/beam/big.c')
-rw-r--r-- | erts/emulator/beam/big.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c index 46db9ca99c..1c38ac3211 100644 --- a/erts/emulator/beam/big.c +++ b/erts/emulator/beam/big.c @@ -1450,6 +1450,20 @@ erts_make_integer(Uint x, Process *p) return uint_to_big(x,hp); } } +/* + * As erts_make_integer, but from a whole UWord. + */ +Eterm +erts_make_integer_from_uword(UWord x, Process *p) +{ + Eterm* hp; + if (IS_USMALL(0,x)) + return make_small(x); + else { + hp = HAlloc(p, BIG_UWORD_HEAP_SIZE(x)); + return uword_to_big(x,hp); + } +} /* ** convert Uint to bigint |