Oracle® Solaris Studio 12.4: パフォーマンスアナライザ

印刷ビューの終了

更新: 2015 年 1 月
 
 

プログラムデータオブジェクトへのデータアドレスのマッピング

メモリー操作に対応するハードウェアカウンタイベントからの PC が、原因と思われるメモリー参照命令に正しくバックトラックするように処理されると、パフォーマンスアナライザは、コンパイラからハードウェアプロファイルサポート情報内に提供された命令識別子と記述子を使用して、関連するプログラムデータオブジェクトを生成します。

データオブジェクトという用語は、ソースコードに記述されているプログラム定数、変数、配列、および構造体や共用体などの集合体のほか、個別の集合体要素を示すために使用します。データオブジェクトのタイプとそのサイズはソース言語によって異なります。多くのデータオブジェクトの名前は明示的にソースプログラム内で付けられますが、名前が付けられないものもあります。データオブジェクトの中には、ほかの単純なデータオブジェクトから生成または集計され、より複雑なデータオブジェクトの集合になるものもあります。

各データオブジェクトには、定義元であり、参照が可能なソースプログラムの領域であるスコープが関連付けられています。このスコープは、大域 (ロードオブジェクトなど)、特定のコンパイル単位 (オブジェクトファイル)、または関数である可能性があります。同一のデータオブジェクトを異なるスコープで定義したり、特定のデータオブジェクトを異なるスコープで異なる方法で参照したりできます。

バックトラックを有効にして収集されたメモリー操作に関するハードウェアカウンタイベントのデータ派生メトリックは、関連付けられたプログラムデータオブジェクトタイプに帰属します。これらのメトリックは、そのデータオブジェクトを含むすべての集合体と、<Unknown><Scalars> などのすべてのデータオブジェクトを含むと見なされる擬似的な <Total> に伝搬されます。<Unknown> の各種のサブタイプは、<Unknown> 集合体まで伝搬されます。次のセクションでは、<Total><Scalars>、および <Unknown> データオブジェクトについて説明します。