diff options
author | Björn Gustavsson <[email protected]> | 2014-02-19 14:16:06 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-02-19 15:23:13 +0100 |
commit | 04f4d9656724f465352df9582773393a165c8803 (patch) | |
tree | e943079c70f5d8b02afeb04f717c38fd17db8948 /erts/emulator/beam/utils.c | |
parent | 9fbb7a9a72a9b9f2bc12aebdbc89cac4bcd21873 (diff) | |
download | otp-04f4d9656724f465352df9582773393a165c8803.tar.gz otp-04f4d9656724f465352df9582773393a165c8803.tar.bz2 otp-04f4d9656724f465352df9582773393a165c8803.zip |
beam/utils.c: Change back cmp() to only take two arguments
Commit d5c238473b9cec819d93faaef4ccc00ddb60465f added a third
argument to the cmp() function, but did not change the code generation
of native code that called cmp().
Name the new functions with an "erts_" prefix, and reinstate the
old cmp() function with two arguments.
We don't have to keep a cmp() function in the halfword emulator,
since HiPE does not support the halfword emulator.
Diffstat (limited to 'erts/emulator/beam/utils.c')
-rw-r--r-- | erts/emulator/beam/utils.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/erts/emulator/beam/utils.c b/erts/emulator/beam/utils.c index bc4a05d385..7da555b18d 100644 --- a/erts/emulator/beam/utils.c +++ b/erts/emulator/beam/utils.c @@ -2425,14 +2425,24 @@ static int cmp_atoms(Eterm a, Eterm b) bb->name+3, bb->len-3); } -/* cmp(Eterm a, Eterm b, int exact) +#if !HALFWORD_HEAP +/* cmp(Eterm a, Eterm b) + * For compatibility with HiPE - arith-based compare. + */ +Sint cmp(Eterm a, Eterm b) +{ + return erts_cmp(a, b, 0); +} +#endif + +/* erts_cmp(Eterm a, Eterm b, int exact) * exact = 1 -> term-based compare * exact = 0 -> arith-based compare */ #if HALFWORD_HEAP -Sint cmp_rel_opt(Eterm a, Eterm* a_base, Eterm b, Eterm* b_base, int exact) +Sint erts_cmp_rel_opt(Eterm a, Eterm* a_base, Eterm b, Eterm* b_base, int exact) #else -Sint cmp(Eterm a, Eterm b, int exact) +Sint erts_cmp(Eterm a, Eterm b, int exact) #endif { DECLARE_WSTACK(stack); |