\documentclass[tikz]{standalone}
+%\usepackage{listings}
+%\lstset{%
+% basewidth=0.5em,
+% basicstyle=\tt\scriptsize,
+% breakatwhitespace=false,
+% breaklines=true,
+% captionpos=b,
+% columns=[c]fixed,
+% commentstyle=\sl,
+% escapeinside={[+}{+]}, % chktex 9
+% frame=,
+% keepspaces=true,
+% keywordstyle=\bf,
+% showspaces=false,
+% showstringspaces=false,
+% showtabs=false,
+% stringstyle=\it,
+% tabsize=4,
+% numberstyle=\tiny,
+% language=C,
+%}
\usetikzlibrary{arrows.meta,shapes.symbols,matrix,positioning}
\begin{document}
\begin{tikzpicture}[%
\draw[dashed] (main-7-2.north west) -- (global-1-2.north east);
\draw[dashed] (main-8-2.south west) -- (global-4-2.south east);
+
+% \node (tree) [right=of heap] {
+%\begin{lstlisting}
+%struct TaskTree {
+% enum BCTaskType_c task_type;
+% bool trash;
+% uint16_t refresh_min;
+% uint16_t refresh_max;
+% struct TaskTree *parent;
+% union {
+% ...
+% uint16_t readd;
+% ...
+% struct {
+% struct TaskTree *lhs;
+% struct TaskTree *rhs;
+% } tand;
+% ...
+% } data;\end{lstlisting}
+% };
+%
+% \draw[dashed] (tree.north west) -- (heap-1-2.north east);
+% \draw[dashed] (tree.south west) -- (heap-1-2.south east);
\end{tikzpicture}
\end{document}