File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -131,6 +131,8 @@ const Eterm etp_tag_header_map = _TAG_HEADER_MAP;
131131const Eterm etp_tag_header_mask = _TAG_HEADER_MASK ;
132132const Eterm etp_header_subtag_mask = _HEADER_SUBTAG_MASK ;
133133const 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
135137const Eterm etp_tag_primary_size = _TAG_PRIMARY_SIZE ;
136138const Eterm etp_tag_primary_mask = _TAG_PRIMARY_MASK ;
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments