JPH04188231A - オブジェクト生成方式 - Google Patents
オブジェクト生成方式Info
- Publication number
- JPH04188231A JPH04188231A JP31597890A JP31597890A JPH04188231A JP H04188231 A JPH04188231 A JP H04188231A JP 31597890 A JP31597890 A JP 31597890A JP 31597890 A JP31597890 A JP 31597890A JP H04188231 A JPH04188231 A JP H04188231A
- Authority
- JP
- Japan
- Prior art keywords
- register
- logical
- optimization
- instruction
- data
- 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.)
- Pending
Links
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 208000007514 Herpes zoster Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- RYMZZMVNJRMUDD-HGQWONQESA-N simvastatin Chemical compound C([C@H]1[C@@H](C)C=CC2=C[C@H](C)C[C@@H]([C@H]12)OC(=O)C(C)(C)CC)C[C@@H]1C[C@@H](O)CC(=O)O1 RYMZZMVNJRMUDD-HGQWONQESA-N 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置上で動作する言語処理プログラ
ムにおけるオブジェクト生成方式に関する。
ムにおけるオブジェクト生成方式に関する。
従来の最適化方式では、メモリ上のデータとレジスタと
の同値関係、即ち翻訳処理中のプログラムのオブジェク
トの任意の時点でのメモリ上のデータの値がし・クスタ
上に論理的に等しい値として格納されている状態を表す
関係の管理が、単にあるレジスタとメモリ上のデータの
アドレスとの関係で表現されていた。
の同値関係、即ち翻訳処理中のプログラムのオブジェク
トの任意の時点でのメモリ上のデータの値がし・クスタ
上に論理的に等しい値として格納されている状態を表す
関係の管理が、単にあるレジスタとメモリ上のデータの
アドレスとの関係で表現されていた。
例えば、第6図に示すように、メモIJ 100上のア
ドレスl11nnのデータを算術データとしてレジスタ
R1に格納する場合、レジスタR1の下位4バイトに格
納されるが、同じデータを浮動小数点データとしてレジ
スタR2に格納する場合、レジスタR2の上位4バイト
に格納される。
ドレスl11nnのデータを算術データとしてレジスタ
R1に格納する場合、レジスタR1の下位4バイトに格
納されるが、同じデータを浮動小数点データとしてレジ
スタR2に格納する場合、レジスタR2の上位4バイト
に格納される。
メモリデータのアドレスのみをレジスタと結び付ける従
来の方式では、上記のような場合に、レジスタR1上と
レジスタR2上のデータの格納状態が区別できず、従っ
てデータ格納後のし・ゾスタを利用しようとしてもデー
タの格納状態を区別できないため、再度メモリからレジ
スタに、用途に応じた格納を行わなければならず、不要
な機械語命令を生成していた。
来の方式では、上記のような場合に、レジスタR1上と
レジスタR2上のデータの格納状態が区別できず、従っ
てデータ格納後のし・ゾスタを利用しようとしてもデー
タの格納状態を区別できないため、再度メモリからレジ
スタに、用途に応じた格納を行わなければならず、不要
な機械語命令を生成していた。
このように従来の方式では、メモリ上のデータがどのよ
うな用途のために、またはどのような状態でし・ゾスタ
上に格納されているかが判別でき危かったので、最適化
処理の精度を向上させるには限度があり、プログラムの
実行速度を向上させるにも限度があった。
うな用途のために、またはどのような状態でし・ゾスタ
上に格納されているかが判別でき危かったので、最適化
処理の精度を向上させるには限度があり、プログラムの
実行速度を向上させるにも限度があった。
本発明は、このような従来の欠点を改善したもので、そ
の目的は、最適化処理の精度を向上させ、プログラムの
実行速度を向上させることの可能なオブジェクト生成方
式を提供することにある。
の目的は、最適化処理の精度を向上させ、プログラムの
実行速度を向上させることの可能なオブジェクト生成方
式を提供することにある。
本発明は、最適なオブジェクトを生成する丸めの命令群
を情報としてもつ論理命令テーブルを使用してオブジェ
クト生成を制御する論理命令展開手段と、レジスタを用
途により論理的クラスに分類し、レジスタとメモリ上の
データの同値関係を情報としてもつ同値関係テーブルを
使用して最適化を管理する最適化管理手段とを有してい
る。
を情報としてもつ論理命令テーブルを使用してオブジェ
クト生成を制御する論理命令展開手段と、レジスタを用
途により論理的クラスに分類し、レジスタとメモリ上の
データの同値関係を情報としてもつ同値関係テーブルを
使用して最適化を管理する最適化管理手段とを有してい
る。
本発明では、最適なオブジェクトを生成するための命令
群を情報としてもつ論理命令テーブルを使用してオブジ
ェクト生成を制御し、レジスタとメモリ上のデータの同
値関係を情報としてもつ同値関係テーブルを使用して最
適化を管理する。
群を情報としてもつ論理命令テーブルを使用してオブジ
ェクト生成を制御し、レジスタとメモリ上のデータの同
値関係を情報としてもつ同値関係テーブルを使用して最
適化を管理する。
以下、本発明の実施例を図面に基づいて説明する。
第1図は、本発明の一実施例を示すブロック構成図であ
る。第1図を参照すると、本実施例では、コンパイラの
構成要素として起動され、最適なオブジェクトを生成す
るための命令群を情報として持つ論理命令テーブル51
.レジスタクラステーブル52を使用してオブジェクト
生成を制御する論理命令展開手段11と、レジスタを用
途により論理的クラスに分類し、レジスタとメモリ上の
データの同値関係を情報として持つ同値関係テーブル5
3を使用して最適化を管理する最適化管理手段12とが
設けられている。
る。第1図を参照すると、本実施例では、コンパイラの
構成要素として起動され、最適なオブジェクトを生成す
るための命令群を情報として持つ論理命令テーブル51
.レジスタクラステーブル52を使用してオブジェクト
生成を制御する論理命令展開手段11と、レジスタを用
途により論理的クラスに分類し、レジスタとメモリ上の
データの同値関係を情報として持つ同値関係テーブル5
3を使用して最適化を管理する最適化管理手段12とが
設けられている。
第2図は論理命令テーブル51の構成例を示す図であり
、論理命令テーブル51は、最適化の条件と、動作指示
データと、生成オブジェクト列とを情報としてもってい
る。
、論理命令テーブル51は、最適化の条件と、動作指示
データと、生成オブジェクト列とを情報としてもってい
る。
論理命令は、メモリデータのレジスタへの格納がおこ表
われるときに主に使用される。一般に、メモリアクセス
命令よりも、レジスタアクセス命令のほうが実行速度が
速いことから、レジスタに格納しようとするデータが、
すでにレジスタにある場合、そのレジスタを利用したほ
うが、実行速度が速くなる。このような場合に、データ
の用途、属性などに応じた格納手順を一つの論理命令と
して定義し、生成する機械語命令列の最適化を計ること
が可能となる。
われるときに主に使用される。一般に、メモリアクセス
命令よりも、レジスタアクセス命令のほうが実行速度が
速いことから、レジスタに格納しようとするデータが、
すでにレジスタにある場合、そのレジスタを利用したほ
うが、実行速度が速くなる。このような場合に、データ
の用途、属性などに応じた格納手順を一つの論理命令と
して定義し、生成する機械語命令列の最適化を計ること
が可能となる。
論理命令は、論理命令識別子と、複数の第4ランドとで
構成され、オイランドの数は、論理命令識別子により、
−意に決定される。
構成され、オイランドの数は、論理命令識別子により、
−意に決定される。
ま九、論理命令は、0個以上の機械語命令列に展開され
る。
る。
第2図のような論理命令テーブル51は、論理命令識別
子の数だけ存在し、論理命令識別子によって、−意に選
択されるようになっている。
子の数だけ存在し、論理命令識別子によって、−意に選
択されるようになっている。
なお、第2図において、要素1から要素nまでが、最適
化の条件であり、項目1−1は一つの条件を示す。また
、要素n + 1から要素mは、各々要素1から要素n
に対応し、項目(n+1) 1から項目(n+1)−
pまでが、動作指示データま九は生成オブジェクト列で
ある。
化の条件であり、項目1−1は一つの条件を示す。また
、要素n + 1から要素mは、各々要素1から要素n
に対応し、項目(n+1) 1から項目(n+1)−
pまでが、動作指示データま九は生成オブジェクト列で
ある。
最適化の条件は、論理命令の各々のオ硬ランドがメモリ
データであるか、また既にレジスタに格納されているか
、またレジスタに格納されている場合にはそのレジスタ
の論理クラスは何かなどを判定して、その状態に応じた
機械語命令列を選択するために用いられる。
データであるか、また既にレジスタに格納されているか
、またレジスタに格納されている場合にはそのレジスタ
の論理クラスは何かなどを判定して、その状態に応じた
機械語命令列を選択するために用いられる。
また、動作指示データは、機械語命令列展開時に、同値
関係を設定すべき契機においては、同値関係設定指示を
行い、またオイランドが即値であり、値の範囲によって
生成する機械語命令が異なる場合に、その値の判定を行
うよう指示する等の機能を持つ。
関係を設定すべき契機においては、同値関係設定指示を
行い、またオイランドが即値であり、値の範囲によって
生成する機械語命令が異なる場合に、その値の判定を行
うよう指示する等の機能を持つ。
従って、一つの論理命令を展開する場合、論理命令のオ
イランドの種類および論理命令展開時の同値関係状態に
よって、選択される生成オブジェクトが異彦る場合があ
る。
イランドの種類および論理命令展開時の同値関係状態に
よって、選択される生成オブジェクトが異彦る場合があ
る。
また、第3図はレジスタクラステーブル52の構成例を
示す図である。レジスタクラステーブル52は、レジス
タの用途によってし・ゾスタ群を論理的に分類したレジ
スタクラスの種類と各々のレジスタクラスに属するレジ
スタを示すためのテーブルであシ、第3図において各要
素が、各々レジスタクラスに対応し、ている。また、項
目1−1は、レジスタクラスを表す数値であり、項目1
−2は項目1−1で表されるレジスタクラスに属するレ
ジスタのうち、最も小さなレジスタの番号を表す数値で
あり、項目1−3は、項目1−1で表されるレジスタク
ラスに属するレジスタのうち、最も大きなレジスタの番
号を表す数値である。
示す図である。レジスタクラステーブル52は、レジス
タの用途によってし・ゾスタ群を論理的に分類したレジ
スタクラスの種類と各々のレジスタクラスに属するレジ
スタを示すためのテーブルであシ、第3図において各要
素が、各々レジスタクラスに対応し、ている。また、項
目1−1は、レジスタクラスを表す数値であり、項目1
−2は項目1−1で表されるレジスタクラスに属するレ
ジスタのうち、最も小さなレジスタの番号を表す数値で
あり、項目1−3は、項目1−1で表されるレジスタク
ラスに属するレジスタのうち、最も大きなレジスタの番
号を表す数値である。
また、第4図は同値関係状態を示す同値関係テーブル5
3の構成例を示す。第4図において各要素が、各々一つ
の同値関係に対応している。また、項目1が次の要素へ
の連係を示すアドレス値であり、項目2がレジスタの用
途を示すし・ジスタフラスを表す数値であり、項目3が
同値関係を持つレジスタを表す数値であり、項目4が、
項目3で表されるレジスタの有効な精度を表す数値であ
り。
3の構成例を示す。第4図において各要素が、各々一つ
の同値関係に対応している。また、項目1が次の要素へ
の連係を示すアドレス値であり、項目2がレジスタの用
途を示すし・ジスタフラスを表す数値であり、項目3が
同値関係を持つレジスタを表す数値であり、項目4が、
項目3で表されるレジスタの有効な精度を表す数値であ
り。
項目5が項目3で表されるレジスタと同値関係を持つメ
モリデータを表す数値である。但し、項目5の内容は、
メモリデータの性質(属性、精度、割付域など)により
、各要素毎に構成が異なっている。
モリデータを表す数値である。但し、項目5の内容は、
メモリデータの性質(属性、精度、割付域など)により
、各要素毎に構成が異なっている。
第5図は論理命令展開手段11の内部構成図を示すブロ
ック構成図であり、論理命令展開手段11は、さらに、
同値関係判定手段21と、テーブル展開手段22と、同
値関係更新手段23と、オペランド処理手段24とから
構成されている。
ック構成図であり、論理命令展開手段11は、さらに、
同値関係判定手段21と、テーブル展開手段22と、同
値関係更新手段23と、オペランド処理手段24とから
構成されている。
次に、情報処理装置上で動作する言語処理プログラムに
おけるオブジェクト生成時の最適化処理動作について説
明する。
おけるオブジェクト生成時の最適化処理動作について説
明する。
コンノイラの構成要素である論理命令展開手段11は、
論理命令を入力する毎に起動され、論理命令展開手段1
1は、これが起動されると、先づ、テーブル展開手段2
2を起動して、入力され九論理命令の識別子に対応する
論理命令テーブル51の要素lを参照する。次いで、論
理命令と論理命令テーブル51の要素1を入力として、
同値関係判定手段21を起動する。これにより、同値関
係判定手段21は、最適化管理手段12を起動して、入
力した論理命令テーブル51の要素の項目1−1で示さ
れた条件を、入力した論理命令のオペランドが満足する
かを判定する。この結果、オペランドの同値関係を判定
すべき条件であれば、同値関係テーブル53からオペラ
ンドと同値関係を持つレジスタを探す。
論理命令を入力する毎に起動され、論理命令展開手段1
1は、これが起動されると、先づ、テーブル展開手段2
2を起動して、入力され九論理命令の識別子に対応する
論理命令テーブル51の要素lを参照する。次いで、論
理命令と論理命令テーブル51の要素1を入力として、
同値関係判定手段21を起動する。これにより、同値関
係判定手段21は、最適化管理手段12を起動して、入
力した論理命令テーブル51の要素の項目1−1で示さ
れた条件を、入力した論理命令のオペランドが満足する
かを判定する。この結果、オペランドの同値関係を判定
すべき条件であれば、同値関係テーブル53からオペラ
ンドと同値関係を持つレジスタを探す。
指示された条件に合致するレジスタが存在しない場合、
テーブル展開手段22は、論理命令テーブル51の次の
要素について同様の動作をし、条件が満足されるまで動
作を繰り返す。以上の動作中に条件に合致するレジスタ
が見つかった場合、テーブル展開手段1xliその条件
に対応する命令列を論理命令テーブル51の項目(n+
1)−1から項目(n+1)−pで示す動作指示データ
または、生成オブジェクト列を展開する。
テーブル展開手段22は、論理命令テーブル51の次の
要素について同様の動作をし、条件が満足されるまで動
作を繰り返す。以上の動作中に条件に合致するレジスタ
が見つかった場合、テーブル展開手段1xliその条件
に対応する命令列を論理命令テーブル51の項目(n+
1)−1から項目(n+1)−pで示す動作指示データ
または、生成オブジェクト列を展開する。
展開動作中のオブジェクト生成では、テーブル展開手段
22は、オイランド処即手段24を起動し、各々の命令
のオペランドを実行に必要彦形式に変換する。また、展
開動作時に、同値関係設定動作指示がある場合、論理命
令展開手段11は、同値関係更新手段23を起動して、
動作指示に含まれるレジスタクラス情報、レジスタの精
度情報、および同値関係を設定すべきメモリデータの精
度を最適化管理手段12に渡して起動する。最適化管理
手段12は、第4図で示す項目2にし・ジスタフラス情
報を、項目31Cレゾスタ番号を1項目4にレジスタの
精度情報を1目5にメモリデータの情報を、各々設定し
て、同値関係テーブル53の要素を新たに生成する。
22は、オイランド処即手段24を起動し、各々の命令
のオペランドを実行に必要彦形式に変換する。また、展
開動作時に、同値関係設定動作指示がある場合、論理命
令展開手段11は、同値関係更新手段23を起動して、
動作指示に含まれるレジスタクラス情報、レジスタの精
度情報、および同値関係を設定すべきメモリデータの精
度を最適化管理手段12に渡して起動する。最適化管理
手段12は、第4図で示す項目2にし・ジスタフラス情
報を、項目31Cレゾスタ番号を1項目4にレジスタの
精度情報を1目5にメモリデータの情報を、各々設定し
て、同値関係テーブル53の要素を新たに生成する。
このように生成された同値関係情報をもとに、論理命令
展開手段11は、次に起動された場合に、論理命令テー
ブル510項目1−1で示される条件と、論理命令テー
ブル53とを照合して最適なオブジェクトの生成を行う
。
展開手段11は、次に起動された場合に、論理命令テー
ブル510項目1−1で示される条件と、論理命令テー
ブル53とを照合して最適なオブジェクトの生成を行う
。
以上説明したように、本発明は、レジスタを用途に応じ
た論理的クラス(分類し、最適化を制御するようになっ
ているので、最適化の精度を向上させ、オブ・ゾエクト
の実行速度を向上させることができるという効果がある
。
た論理的クラス(分類し、最適化を制御するようになっ
ているので、最適化の精度を向上させ、オブ・ゾエクト
の実行速度を向上させることができるという効果がある
。
第1図は本発明の一実施例を示すブロック構成図、第2
図は論理命令テーブルの構成例を示す図、第3図はレジ
スタクラステーブルの構成例を示す図、第4図は同値関
係テーブルの構成例を示す図、第5図は論理命令展開手
段の内部構成例を示す図、!6図は従来の方式では最適
化が不可能な場合の例を説明する丸めの図である。 図において、 11 ・・・論理命令展開手段、12−・・最適化管理
手段、51−論理命令テーブル、 52−・・レジスタ
クラステーブル、53−・・同値関係テーブル、21・
・・同値関係判定手段、22・・・テーブル展開手段、
23−・・同値関係更新手段、24・・・オイランド処
理手段である。 代理人 弁理士 山 下 穣 平 第1図 第2図 第3図 第5図 第8図
図は論理命令テーブルの構成例を示す図、第3図はレジ
スタクラステーブルの構成例を示す図、第4図は同値関
係テーブルの構成例を示す図、第5図は論理命令展開手
段の内部構成例を示す図、!6図は従来の方式では最適
化が不可能な場合の例を説明する丸めの図である。 図において、 11 ・・・論理命令展開手段、12−・・最適化管理
手段、51−論理命令テーブル、 52−・・レジスタ
クラステーブル、53−・・同値関係テーブル、21・
・・同値関係判定手段、22・・・テーブル展開手段、
23−・・同値関係更新手段、24・・・オイランド処
理手段である。 代理人 弁理士 山 下 穣 平 第1図 第2図 第3図 第5図 第8図
Claims (1)
- 最適なオブジェクトを生成するための命令群を情報とし
てもつ論理命令テーブルを使用してオブジェクト生成を
制御する論理命令展開手段と、レジスタを用途により論
理的クラスに分類し、メモリ上のデータの同値関係を情
報として持つ同値関係テーブルを使用して最適化を管理
する最適化管理手段とを有していることを特徴とするオ
ブジェクト生成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31597890A JPH04188231A (ja) | 1990-11-22 | 1990-11-22 | オブジェクト生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31597890A JPH04188231A (ja) | 1990-11-22 | 1990-11-22 | オブジェクト生成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04188231A true JPH04188231A (ja) | 1992-07-06 |
Family
ID=18071871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31597890A Pending JPH04188231A (ja) | 1990-11-22 | 1990-11-22 | オブジェクト生成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04188231A (ja) |
-
1990
- 1990-11-22 JP JP31597890A patent/JPH04188231A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5850535A (en) | Roll-back during regeneration on a computer-aided design system | |
US5535389A (en) | Business process objects with associated attributes such as version identifier | |
US5990906A (en) | Undo feature for a graphical programming system | |
US5632034A (en) | Controlling method invocation sequence through virtual functions in an object-oriented class library | |
US4961141A (en) | Generating efficient code for a computer with dissimilar register spaces | |
US20050160410A1 (en) | Object-oriented optimization code generator and a method therefor | |
JPH0658678B2 (ja) | 回路設計を合成する為のプロセス及び装置 | |
US5452226A (en) | Rule structure for insertion of new elements in a circuit design synthesis procedure | |
EP0870242A1 (en) | Method and apparatus for controlling change propagation at run-time | |
US4021779A (en) | Microprogram control units | |
JPH04188231A (ja) | オブジェクト生成方式 | |
Bündgen et al. | A fine-grained parallel completion procedure | |
CN111026776B (zh) | 关系型数据库中的查询方法及装置 | |
CA2097541C (en) | Concurrency control through a class library in object oriented technology | |
JPH06175862A (ja) | 電子計算機装置 | |
JPH0630065B2 (ja) | 情報検索方法 | |
EP0592076A2 (en) | Compilation mechanism for a simulation model | |
JPH04252336A (ja) | プログラム最適化処理装置 | |
Christoff | Taming TSO Memory Consistency with Models | |
Mattson | Portable programs for parallel computers using STRAND/sup 88 | |
JPS5839353A (ja) | 入力デ−タ汎用チエツク方式 | |
JPH0667887A (ja) | 情報処理装置 | |
JPS5846439A (ja) | 計算機のプログラム編集方法 | |
JPH0229867A (ja) | 設計実行管理方式 | |
Varney et al. | The structural foundation for an operating system |