JPH0269842A - ガベージコレクション方式 - Google Patents

ガベージコレクション方式

Info

Publication number
JPH0269842A
JPH0269842A JP22183688A JP22183688A JPH0269842A JP H0269842 A JPH0269842 A JP H0269842A JP 22183688 A JP22183688 A JP 22183688A JP 22183688 A JP22183688 A JP 22183688A JP H0269842 A JPH0269842 A JP H0269842A
Authority
JP
Japan
Prior art keywords
area
pointer
address
written
garbage collection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP22183688A
Other languages
English (en)
Other versions
JP2545587B2 (ja
Inventor
Morihiro Ikeda
池田 守宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP63221836A priority Critical patent/JP2545587B2/ja
Publication of JPH0269842A publication Critical patent/JPH0269842A/ja
Application granted granted Critical
Publication of JP2545587B2 publication Critical patent/JP2545587B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は情報処理装置のメモリ管理の一種であるガベ
ージコレクション方式に関する乙のである3 [bY:来の技(lli ] 計算機の応用分野は、従来の数置計算中心から、所謂人
工知能へと広がって来ている。これにより計算機の扱う
データの形式ら多様(ヒして来ている。
人間の知能をそのまま計算機で汲うような分野の処理で
は、主記憶上でいくつかのまとまりのある一次元配列の
データを作り、これをポインタと呼ばれるそのデータの
先頭アドレスを指す−・話で指し示す表現形式が、多く
用いられる。このような形式でポインタにより指される
一次元配列データを構造体と言う。横遺体中には、さら
に曲の構造(本へのポインタが置かれることがあり、こ
のようにして互いに関連する横遺体データがポインタの
チェインで結ばれている。
第9図はこのようなデータが主記憶上に展開されている
状態を示す。図で、図において1は主記憶で、主記憶l
の一語はタグ部1aと両部1bから構成される。タグ部
1aはそのデータの属性を示すために用いられる。1c
は主記憶のアドレスである。2はルートレジスタで主記
憶と同様にタグ部2a、直部2bを持つ。このルー1〜
レジスタ2には主記憶中にポインタのチェインて結はh
て展開されているデータのルートが格納さiしている。
タグ部2aで示されるデータの属性はこの図ては3種あ
る。ルー1−レジスタ2上のvecしは+14造体デー
タへのポインタであることを示す、鎖部2bには横遺体
の先頭アドレスが入る。主記憶1のアドレス1cの0番
地のdscは構造体記述子でその鎖部1bには構造体の
大きさが入る。この例では以下の3語が構造体の要素で
ある。2番地のintは整数で、これは構造を持たずそ
の語の鎖部で整数の直を示す。1番地、3番地は池の横
遺体を指すポインタで、5番地、10番地の構造(本が
それぞれ指されている。さらに10番地の構造体の中に
は12番地にポインタがあり1−1番地の構造体が指さ
れている。ここで図中の7.8.9そして13番地は過
去に処理の過程で一時的に曲われた構造体のあった場所
であるが現在はrirf述の横遺体のチェインからは外
れてしまっており、今後らここが参照されることは無い
。このような領域はガベージ又はゴミ領域と呼ばれる。
以上のような主記憶中のデータは処理の進11′ととら
に必要に応じて生成され、新しく生成されたデータはア
ドレスの大きい方の未1吏用の領域に置かれ、ポインタ
て′チェインか°1すげられる1、またV凸埋の過程で
どこからら指されなくなった構造体は、メモリ上に残っ
たままガベージとなる。このようなガベージが主記憶中
に増えると主記憶の利用率が低下するため適当な夕・イ
ミングでこのガベージ領域を除いて全体の領域を圧縮す
る処理を行う。
これをガベージコレクション(GC)と呼ぶ。
第10図にコピー法によるQC処理のフローチャートを
示す。この処理では初めにルートレジスタのポインタか
ら処理をはじめ、その中から指される横遺体を新しいコ
ピー領域の先頭から順番にコピーしていく。次にコピー
した横遺体の要素を調べそれがポインタの場合は同様に
コピー領域のその次のアドレスにコピーしていく。
第9図のデータに対してこの処理を行うと、最終的なコ
ピー領域は第11図に示すようになり、元の構造体デー
タの参照関係はそのままで、ガベージのみが除かれ一方
向に詰合された状態になる。
[発明が解決しようとする課題] 以上の処理によれば、主記憶上のポインタでつながれた
全ての横遺体をたどって処理するのでどこにガベージ・
データがあってら正しく取り除かれ領域が圧縮されるこ
とが保障される。しかしその反面、実際にはガベージを
含まない範囲にある横遺体すなわち第9図で言うとアド
レスOから6までの範囲ら池の部分と同様に処理対象と
なり、ガベージコレクション処理時間が長くなるという
問題点があった。
この発明は上記のような問題点を解消するためになされ
たらので、GCの対象範囲をせばめ、GC処理時間を短
縮することを目的とする。
[課題を解決するための手段] この発明に(系るガベージコレクション方式は、主記憶
上の領域をガベージコレクションを行わない領域を設け
、かつ該領域中に該領域の外を指すポインタを書き込ま
れたことを検出して、このポインタの書き込まれたアド
レスを記憶し、ガベージコレクションを行った時、上記
記憶したアドレスに基づき、上記領域に書き込まれてい
る上記QfI域外を指すポインタの書き換えを行うこと
を特徴とするものである。
[1ヤ用〕 この発明においてはガベージコレクションを行わない領
域中にこの領域の外を指すポインタが書き込まれたこと
を検出し、このポインタの書き込まれたアドレスを記憶
する。そして、ガベージコレクションが行われた時、上
記記憶したポインタのアドレスに基づいて上記領域に書
き込まれている上記領域外さを指すポインタの書き換え
を行う。
[発明の実施例コ 以下、この発明の一実施例を図についてM3を明する。
第1図において、1は通常アクセスされる領域の内容を
示す主記憶で、主記憶1の一語はタグ部1aとj置部1
bから構成される。タグ部1;Iはそのデータの属性及
び本発明による参照マークを記・[患するため(こ(吏
われる。1cは主記憶のアトしスである。2はルートレ
ジスタで主記憶と同様にタグ部2a、M部2bを持つ。
このルートレジスタ2には主記憶中にポインタのチエ・
インで結ばれて展開されているデータのルートか格納さ
れている93は本発明によるGC対象外領域との境界(
直を保持するGCベースレジスタ、3aはタグ部、3b
は鎖部て、タグ値refは参照ポインタて′アドレスを
指し示すために使われる。この例では7番地がGC対象
外領域の境界であることを示している。
4は本発明による、GC対象外領域中に存在するGC対
象領域を指すポインタの位置を示すテーブル、4aはタ
グ部、4bは鎖部で、タグ部4aが1nt(整数)の場
合はテーブルが未登録状態であることを示し、タグ部が
ref(参照ポインタ)の場合は鎖部が指すアドレスに
GC対象領域を指すポインタが存在する可能性があるこ
とを示す。
全適当なタイミングで主記憶内のデータの状態が第1図
の状態であったとする。この扶!ぷで団田中の領域の先
頭アドレスプラス1の値をGCベースレジスタ3に設定
する。アドレス0からこの直前までは以1妾GC対象外
領域となる9この例でアドレス0〜6は以j&たとえガ
ベージが生じてらGCによって縮むことはない0次にG
Cが起動された時はこの範囲は一般には処理の対象外と
する。
1旦しこの領域中からGC対虫領域を指すポインタが以
隈の処理で生ずれば、そのポインタはGCによって変化
する可能性があり、G C%埋でメンテナンスしなけれ
ばならない。横遺体の要素に値を書き込む場合は専用の
命令w l−i 1− e−V e (: to r 
−e l e m e 11 tが1史われる。第2図
に本命令のフォーマットを示す。本命令は3つの引数レ
ジスタ5,6.7が指定される。引数レジスタ5は書き
込み先のjvI造体アドレスが指定され、引数レジスタ
6は書き込み先の横遺体内要素番号が指定され、引数レ
ジスタ7は書き込むデータが指定される 第1図に示す初期状悪が設定された1表処理か進んで新
たな構造体が生成された状態を第3図に示遺体の第3要
素に第2図のW r i t e −v e c t−
o r −e l e m e n−t、を筺用して書
き込まれる。
この命令の処理を第5図のフローチャートに従って説明
する。S51のステップでは第2図の2つの引数5,6
を加え書き込み先のアドレス3番地を得る。S52では
これがGCベース未満であるかの判定を行う。GCベー
ス以上である場合は通4でその要素が既に参照テーブル
から指されているかどうかの判定を行う。これは同じ要
素が何回ら書き替えられても参照テーブルが増えないよ
うにするために行う。参照マークはタグ部1 aに書き
込まれている。参照マークが無い場合、書き込まれるデ
ータがポインタ型のデータでありかつそのポインタ先が
GCベース以上であることを回定する。この条件を満た
す場合は、GC対象IIi′li域へのポインタが生成
されたことになりS57、参照テーブルに登録した後s
5つで参照マーク1τFでボ、インクを書き込む。これ
により第3図の状態となる。主記憶1の3番地のタグ部
1aのRは参照マークが1寸けられている事を示す。
さらにデータ処理が進んで3番地が別に生成された横遺
体が書き替えられた吠聾が第一1である新しい構造体は
10番地から置かれている 冗))7.8.9番地にあ
る横遺体は3番地がfTI−いボ、インタで上書きされ
たためどこからむ参照されずガベージとなっている。
第4図の状態でGCが起動されたとしてその処理を、第
7図、第8図のフローチャー1・に1足って説明する。
まず第7図のGCメ・インルーチンが起動される。S7
1ではまず無条件でGCベースまでのGC対象外の領域
のコピーを行う、これは物理メモリを論理アドレスにマ
ツピングする(戊能を持ったシステムでは、マツピング
を書き替えるた′けで一語づつのコピーを省略するよう
な手法ら1吏うことができる。次に372でルートレジ
スタの内容を読み出し、そのポインタの処理のためにコ
ピー処理ルーチンを呼ひ出す。これは第8図に示される
。S81でボイシト先アドレスとGCヘースの値を比較
しGC対象外領域を指している;J′、′インクは何ら
しない。今の例ではルートしジスタの1直は0番地を指
しているので、これに当たり回らしない。第7図のS7
4に戻り、参照チーフルの初めのエントりを読み出す第
4図に示すチーフル4の例では、参照ポインタ(r e
 f )で3番地を指している。S75でタグ部判定を
行いタグか′l・efなのてS76のステップでコピー
後の3番地の内容f!:読み出しコピー処理を呼び出す
。3番地は構造体の10番地へのポインタなのでSSI
の判定Fit S 82へ進みlOx池から3語を新し
いコピー領域の7番地から3語へコピーする1次に88
4てコピーした横遺体要素を収り出す鵬7;父の200
でポインタ型ではないので985.SS(:)S88と
進み、再びS84に戻る。この構造体の要素中にはポイ
ンタが無いのでそのまま終了するS78に戻り次の参照
テーブル・エントりか1r数であるので全体のGC処理
が終了する。GH&の主記憶の状態は第6図に示される
ようになる。
なお、上記実施例ではコピーによる(ICについて説明
したがGCの方式はこの池の所謂マーキングとスライデ
ィング・コンパクション方式でら良く上記実施例と同様
の効果を奏する。
またGCベース・レジスタ、参照テーブルは専用しジス
タでら主記憶上の特別に設けられた領域に置かれた乙の
でしどちらでら良い。
[発明の効果] 以上説明したようにこの発明によれば、上記・田土の領
域をガベージコレクションを行わない領域を設け、かつ
該領域中に該領域の外を指すホ′インタを書き込まれた
ことを検出して、このポインタの書き込まれたアドレス
を記憶し、ガベージコレクションを行った時、上記記憶
されているアドレスに基づき、上記領域に書き込まれて
いる上記領域外を指すポ・インクの書き替えを行うので
ガベージコレクションの処理速度が向上する効果がある
【図面の簡単な説明】
第1I2Iはこの発明の一実施例によるOC方式の動作
を説明するための、主記憶、関連レジスタの内容の模式
図、第2図は書き込み命令のフォーマツI〜、第3図、
第4図、第6図は、第1図の模式図がそiシぞれ’11
5埋の進展に1半って内容のX、(ヒする手、L子を示
す図、第5図は書き込み命令のフローチ・\・−1・、
第7図、第8図はこの発明によるG (’ 処理のフロ
ーチャー1− 、第9図は促来のG(′:方式の動作を
説明するための主記憶、関連レジスタの内容の模式図、
第10図は従来のコピ一方式のGC処理のフローチャー
ト、第11図はGC後の主記憶、関連レジスタの内容の
模式図である。 1・・・・・・主記憶、1a・・・・・・タグ部、11
)・・・・・・(置部。 2・・・・・・ルーI・レジスタ、3・・、・・・・G
Cベースレジスタ なお、図中同一符号は同−又は相当部分を示す。

Claims (1)

  1. 【特許請求の範囲】  ポインタのチェインで結ばれた構造体データを主記憶
    上に格納し、所定のタイミングで上記ポインタのチェイ
    ンから外された構造体データの領域を除く処理を行うガ
    ベージコレクション方式において、 主記憶上の領域にガベージコレクションを行わない領域
    を設け、かつ該領域中に該領域の外を指すポインタが書
    き込まれたことを検出してこのポインタの書き込まれた
    アドレスを記憶しておき、ガベージコレクションを行っ
    た時、上記領域に書き込まれている上記領域外を指すポ
    インタの書き換えを行うことを特徴とするガベージコレ
    クション方式。
JP63221836A 1988-09-05 1988-09-05 ガベージコレクション方式 Expired - Lifetime JP2545587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63221836A JP2545587B2 (ja) 1988-09-05 1988-09-05 ガベージコレクション方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63221836A JP2545587B2 (ja) 1988-09-05 1988-09-05 ガベージコレクション方式

Publications (2)

Publication Number Publication Date
JPH0269842A true JPH0269842A (ja) 1990-03-08
JP2545587B2 JP2545587B2 (ja) 1996-10-23

Family

ID=16772956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63221836A Expired - Lifetime JP2545587B2 (ja) 1988-09-05 1988-09-05 ガベージコレクション方式

Country Status (1)

Country Link
JP (1) JP2545587B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015223A (ja) * 2008-07-01 2010-01-21 Internatl Business Mach Corp <Ibm> メモリ領域中のオブジェクトを隔離するための方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015223A (ja) * 2008-07-01 2010-01-21 Internatl Business Mach Corp <Ibm> メモリ領域中のオブジェクトを隔離するための方法

Also Published As

Publication number Publication date
JP2545587B2 (ja) 1996-10-23

Similar Documents

Publication Publication Date Title
EP0487331B1 (en) Directory management system
JPS61112255A (ja) コンピユ−タ装置
JPH06250906A (ja) 主記憶装置に展開されたデータのバックアップ・リカバリ方式
JPH0269842A (ja) ガベージコレクション方式
JP2587417B2 (ja) ファイルの退避復元方式
JPS6359618A (ja) コピー方法
JP2721377B2 (ja) Basicプログラム圧縮方法
JPS6346553A (ja) フアイルコピ−方法
JPS6346862B2 (ja)
JPH01162289A (ja) 文書ファイルのコピー方法
JPS63228323A (ja) 追記型メモリカ−ドの記録方式
JPH0273438A (ja) 情報処理装置
JP3066410B2 (ja) 素材データ活用装置
KR100249776B1 (ko) 자료 편집기의 점진적 구현이 가능한 자료 저장/로드 방법
JPS59119459A (ja) ガ−ベジ・コレクシヨン方式
JPH01130237A (ja) 情報処理装置
JPS62229344A (ja) デ−タ格納方式
JPH02250166A (ja) 情報処理装置
JPS623294A (ja) ビツトマツプム−バ−
JPH04112245A (ja) ファイル構造の仮想化方法
JPH02114344A (ja) ガーベジコレクション処理装置
JPH03142565A (ja) Romチップ内パターン生成方法
JPH0195062A (ja) ファイル編集装置
JPS58151671A (ja) パタ−ン作成装置
JPH01136252A (ja) ファイルの構造