summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2023-04-03 20:00:25 +0200
committerSverker Eriksson <sverker@erlang.org>2023-04-26 18:22:20 +0200
commit2912a1899deaaa032f128bda11b8277f59b1930e (patch)
treef6c9c4426ed991733e27338c978bc5b89ec02d12
parent7564cebb068d68d2bc0f241f84e94b993b2a8fdd (diff)
downloaderlang-2912a1899deaaa032f128bda11b8277f59b1930e.tar.gz
erts: Fix/optimize macro arityval
Macro 'arityval' asserts tuple header in debug. No point calling macro '_unchecked_header_arity' which also allows map headers.
-rw-r--r--erts/emulator/beam/erl_term.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h
index 490fe1f1d1..c23876aa5d 100644
--- a/erts/emulator/beam/erl_term.h
+++ b/erts/emulator/beam/erl_term.h
@@ -319,7 +319,7 @@ _ET_DECLARE_CHECKED(Uint,header_arity,Eterm)
#define is_sane_arity_value(x) ((((x) & _TAG_HEADER_MASK) == _TAG_HEADER_ARITYVAL) && \
(((x) >> _HEADER_ARITY_OFFS) <= MAX_ARITYVAL))
#define is_not_arity_value(x) (!is_arity_value((x)))
-#define _unchecked_arityval(x) _unchecked_header_arity((x))
+#define _unchecked_arityval(x) ((x) >> _HEADER_ARITY_OFFS)
_ET_DECLARE_CHECKED(Uint,arityval,Eterm)
#define arityval(x) _ET_APPLY(arityval,(x))