perl5.10.0のメモリ管理まわりの実装を見てみた。Perlのメモリ管理では、SVのヘッド部分とボディ部分で管理機構が別れており、今回見てみたのはSVヘッドの部分。 1. SVの構造 まずは基本となるSV(Scalar Value)の構造から見ていく。SVはヘッドとボディの部分から構成される。SVはPerlにおけるすべての内部オブジェクトの基底クラスであり、配列、ハッシュ、サブルーチンなどは、SVのうち、ボディの部分が複雑になることにより実現されている。 実際のSVヘッドは以下のような構造となっている。 #define _SV_HEAD(ptrtype) \ ptrtype sv_any; /* pointer to body */ \ U32 sv_refcnt; /* how many references to us */ \ U32 sv_flag