The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Devel::MAT::Tool::Inrefs - annotate which SVs are referred to by others

DESCRIPTION

This Devel::MAT tool annotates each SV with back-references from other SVs that refer to it. It follows the outrefs method of every heap SV and annotates the referred SVs with back-references pointing back to the SVs that refer to them.

SV METHODS

This tool adds the following SV methods.

inrefs

   @refs = $sv->inrefs

Returns a list of Reference objects for each of the SVs that refer to this one. This is formed by the inverse mapping along the SV graph from outrefs.

inrefs_strong

inrefs_weak

inrefs_direct

inrefs_indirect

inrefs_inferred

   @refs = $sv->inrefs_strong

   @refs = $sv->inrefs_weak

   @refs = $sv->inrefs_direct

   @refs = $sv->inrefs_indirect

   @refs = $sv->inrefs_inferred

Returns lists of Reference objects filtered by type, analogous to the various outrefs_* methods.

COMANDS

inrefs

   pmat> inrefs defstash
   s  the hash  GLOB(%*) at 0x556e47243e40

Shows the incoming references that refer to a given SV.

Takes the following named options:

--weak

Include weak direct references in the output (by default only strong direct ones will be included).

--all

Include both weak and indirect references in the output.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>