Skip to content

Commit 5622305

Browse files
committed
Merge branch 'raimo/erts/fix-etp-fun-printout' into maint
* raimo/erts/fix-etp-fun-printout: Fix ETP new fun arity format
2 parents d52bec9 + 4f0cea4 commit 5622305

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

erts/emulator/beam/erl_etp.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ const Eterm etp_tag_header_map = _TAG_HEADER_MAP;
131131
const Eterm etp_tag_header_mask = _TAG_HEADER_MASK;
132132
const Eterm etp_header_subtag_mask = _HEADER_SUBTAG_MASK;
133133
const Eterm etp_header_arity_offs = _HEADER_ARITY_OFFS;
134+
const Eterm etp_header_fun_kind_offs = FUN_HEADER_KIND_OFFS;
135+
const Eterm etp_header_fun_env_size_offs = FUN_HEADER_ENV_SIZE_OFFS;
134136

135137
const Eterm etp_tag_primary_size = _TAG_PRIMARY_SIZE;
136138
const Eterm etp_tag_primary_mask = _TAG_PRIMARY_MASK;

erts/etc/unix/etp-commands.in

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -426,8 +426,17 @@ define etp-boxed-immediate-1
426426
else
427427
# Hexdump the rest
428428
if ($etp_boxed_immediate_h == etp_fun_subtag)
429-
printf "#Fun<"
429+
set $etp_boxed_immediate_arity = \
430+
((($etp_boxed_immediate_p[0] >> \
431+
etp_header_fun_env_size_offs) & 0xff) + 1)
432+
if ($etp_boxed_immediate_p[0] >> etp_header_fun_kind_offs)
433+
printf "#FunX<"
434+
else
435+
printf "#FunL<"
436+
end
430437
else
438+
set $etp_boxed_immediate_arity = \
439+
($etp_boxed_immediate_p[0] >> etp_header_arity_offs)
431440
if ($etp_boxed_immediate_h == etp_bin_ref_subtag)
432441
printf "#BinRef<"
433442
else
@@ -442,8 +451,6 @@ define etp-boxed-immediate-1
442451
end
443452
end
444453
end
445-
set $etp_boxed_immediate_arity = \
446-
($etp_boxed_immediate_p[0] >> etp_header_arity_offs)
447454
while $etp_boxed_immediate_arity > 0
448455
set $etp_boxed_immediate_p++
449456
if $etp_boxed_immediate_arity > 1

0 commit comments

Comments
 (0)