特許
J-GLOBAL ID:200903072906916726

ガ-べジコレクタ用の記憶済みデータオブジェクトのマーク付け方法

発明者:
出願人/特許権者:
代理人 (1件): 杉村 暁秀 (外2名)
公報種別:公表公報
出願番号(国際出願番号):特願2000-556294
公開番号(公開出願番号):特表2002-519750
出願日: 1999年06月10日
公開日(公表日): 2002年07月02日
要約:
【要約】ファイナライザ処理を支援するマルチスレッディング環境にて、データオブジェクトによって規定された記録済みのデータ構造を通してマーク-スィープ(マークして削除する)ガーベジコレクションを行うデータ処理方法及び装置について記述する。スィーピング段(GC)はヒープを横切る線形スィープから成り、これにてDeletable(削除可能)のマーク状態を有するオブジェクトを削除し、また、ファイナライザを有し、且つPending(ペンディング)のマーク状態を有するオブジェクトをファイナライザの待ち行列に入れると共に、マーク付けをする。ファイナライザを有しているオブジェクトの数を追跡し、これをヒープメモリに割当てられている既知の総数と比較する。全ての始末可能なオブジェクトが見つからない場合に、ファイナライザが到達可能な全てのオブジェクトを識別するために、さらに別のマーク付け(MA)操作(D5-D6)を必要とする。しかし、見つけたオブジェクトの数と、記憶済みのオブジェクトの総数とが一致するように、最初のマーク付け操作(D1-D5)によって全ての始末可能なオブジェクトが見つかる場合には、マークした非到達可能オブジェクトをいずれも一度のパスで削除する(D5)ことができる。
請求項(抜粋):
連続ヒープメモリにおけるポインタを識別することによってリンクされているデータオブジェクトから成るデータ構造を、削除可能オブジェクトとして分類されるデータオブジェクトのガーベジコレクションでトラバースするためのガーベジコレクション兼マーク付け法であって、該方法が: a)或る選択したルートオブジェクトに対して、該オブジェクトによってキャリーされるポインタをトラバースして、該ルートオブジェクトにリンクされるオブジェクトを特定するステップ;及び b)前のステップによって識別したオブジェクトにリンクされるさらなる他のオブジェクトを特定すべくポインタをトラバースするステップ;を具えており、トラバースすべきさらなる他のポインタがなくなるまで前記ステップb)を繰り返して、これにて識別されるオブジェクトをマーク付きオブジェクトとして分類し、前記ヒープメモリにおけるデータオブジェクトの幾つかのものがファイナライザをキャリーし、且つ他のさらなる幾つかのオブジェクトが、これらのオブジェクトがペンディングオブジェクトとして分類されるファイナライザによって、潜在的に到達可能なオブジェクトとして識別されるようにするガーベジコレクション兼マーク付け方法においてヒープにおけるファイナライザをキャリーしているオブジェクトの第1総数を保持し、各トラバースに対して、ファイナライザをキャリーしているオブジェクトの検出総数が第1保持総数以下の場合には別のスィープ操作に着手して、残りのファイナライザ-到達可能オブジェクトに対するルートオブジェクトを識別してマークを付け、また、前記検出したオブジェクトの総数が第1保持総数と一致する場合には、ペンディングオブジェクトとして分類されるそれらのオブジェクトを、さらなる他のスウィープ操作に着手しないで、削除可能なオブジェクトとして直ちに再分類することを特徴とするガーベジコレクション兼マーク付け方法。
Fターム (1件):
5B060AA10

前のページに戻る