JPH0520091A - レジスタ割り当て方式 - Google Patents

レジスタ割り当て方式

Info

Publication number
JPH0520091A
JPH0520091A JP17295191A JP17295191A JPH0520091A JP H0520091 A JPH0520091 A JP H0520091A JP 17295191 A JP17295191 A JP 17295191A JP 17295191 A JP17295191 A JP 17295191A JP H0520091 A JPH0520091 A JP H0520091A
Authority
JP
Japan
Prior art keywords
procedure
register
built
intermediate text
program
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
Application number
JP17295191A
Other languages
English (en)
Inventor
Emi Sato
恵美 佐藤
Takao Inoue
貴雄 井上
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.)
KOBE NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Kobe Ltd
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 KOBE NIPPON DENKI SOFTWARE KK, NEC Corp, NEC Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP17295191A priority Critical patent/JPH0520091A/ja
Publication of JPH0520091A publication Critical patent/JPH0520091A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【構成】 コンパイラ2は、ソースプログラム1を翻訳
してオブジェクトプログラム3を生成する。解析部21
は、ソースプログラム1を読み込み、中間テキスト24
を生成する。レジスタ割り当て部22は、引用している
組込み手続きが使用しているレジスタを避けて、中間テ
キスト24にレジスタを割り当てる。オブジュクトコー
ド生成部23は、中間テキスト24を読み込み、オブジ
ェクトコードを生成する。 【効果】 組込み手続きの入口で、使用しているレジス
タをセーブし、出口でリストアする必要がなくなり、オ
ブジェクトプログラムにおける組込み手続きの呼出し時
の性能を向上することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はレジスタ割り当て方式に
関し、特にシステム組込み手続き引用を含む高級言語の
プログラムをコンパイラにより翻訳してオブジェクトプ
ログラムを生成する際のレジスタ割り当て方式に関す
る。
【0002】
【従来の技術】従来のレジスタ割り当て方式は、組込み
手続きが引用された場合に、組込み手続きの入口でセー
ブし、出口でリストアしているものとしてレジスタの割
り当てをしていた。あるいは、組込み手続きを呼び出す
前に組込み手続きでそのレジスタを使用しているか否か
にかかわらず、組込み手続きを呼び出している手続きで
使用しているレジスタをセーブし、呼び出し後にそのレ
ジスタをリストアしていた。
【0003】
【発明が解決しようとする課題】上述した従来のレジス
タ割り当て方式は、レジスタの割り当て時に、組込み手
続きで使用されているレジスタとは無関係に、レジスタ
番号を決定している。
【0004】即ち、組込み手続きが引用された場合に、
組込み手続き内で使用されているレジスタであるか否か
にかかわらず、その組込み手続き引用にまたがってレジ
スタの割り当てをしているので、組込み手続きでは、組
込み手続きの入口で、その組込み手続で使用するレジス
タをセーブし、出口でそのレジスタをリストアしなくて
はならず、オブジェクトプログラムにおける組込み手続
き引用時の性能低下の要因となっているという問題点が
ある。
【0005】また、組込み手続きを呼び出す側で使用レ
ジスタをセーブしたりリストアしたりする場合も、その
組込み手続きで使用しているレジスタであるか否かにか
かわらずセーブやリストアを行わなければならないの
で、同様に、オブジェクトプログラムにおける組込み手
続き引用時の性能低下の要因となっているという問題点
がある。
【0006】
【課題を解決するための手段】本発明のレジスタ割り当
て方式は、高級言語からなるソースプログラムを翻訳し
てオブジェクトプログラムを生成するコンパイラと、生
成されたオブジェクトプログラム及び該オブジェクトプ
ログラムで引用しているシステム組込み手続きを結合し
て実行形式プログラムを生成するリンカとを備える計算
機システムのレジスタ割り当て方式において、前記コン
パイラは、ソースプログラムを読み込み中間テキストを
生成する解析部と、該中間テキストを読み込みレジスタ
を割り当てるレジスタ割り当て部と、レジスタの割り当
てがなされた中間テキストを読み込みオブジェクトコー
ドを生成するオブジェクトコード生成部とを備えるとと
もに、前記レジスタ割り当て部は、組込み手続きを引用
する中間テキストであるか否かを認識する組込み手続き
認識部と、組込み手続きを引用しているならば、組込み
手続き名から該組込み手続きの内部で使用するレジスタ
番号のテーブルを検索し、引用している組込み手続きで
使用するレジスタ番号を読み込み、組込み手続き引用に
またがってレジスタを割り当てる際に、組込み手続き内
部で使用するレジスタを割り当てないようにする組込み
手続き引用時のレジスタ番号決定部と、組込み手続きを
引用していないならば、通常にレジスタ番号を決定する
通常レジスタ番号決定部とを備える、ことにより構成さ
れている。
【0007】
【実施例】次に、本発明の実施例について、図面を参照
して説明する。
【0008】図1は、本発明のレジスタ割り当て方式の
一実施例を示すブロック図である。
【0009】図1に示すように、まず、コンパイラ2内
の解析部21は、ソースプログラム1を読み込み、中間
テキスト24を生成する。
【0010】また、レジスタ割り当て部22は、中間テ
キスト24をもとにして、レジスタ番号を割り当てる。
【0011】即ち、組込み手続き認識部221は、組込
み手続き判定部222により組込み手続きを呼び出して
いる中間テキストであるか否かを認識し、組込み手続き
を呼び出している中間テキストであると認識した場合に
は、組込み手続き使用レジスタの検索読み込み部224
で、各組込み手続きごとに使用しているレジスタ番号を
保持した組込み手続き使用レジスタのテーブル226を
検索し、この組込み手続きが使用しているレジスタ番号
を取り出し、組込み手続き引用時のレジスタ番号決定部
225で、組込み手続き引用にまたがって、組込み手続
きの内部で使用しているレジスタの割り当てをしないよ
うにレジスタ番号を決定して中間テキスト24に設定す
る。
【0012】一方、組込み手続きを呼び出していない中
間テキストである場合には、通常のレジスタ番号決定部
223で、通常のレジスタの割り当てを行ってレジスタ
番号を決定して中間テキスト24に設定する。
【0013】なお、オブジェクトコード変換部23は、
中間テキスト24をもとにして、オブジェクトプログラ
ム3を生成する。
【0014】以上に示すように、本実施例のレジスタ割
り当て方式は、組込み手続き引用時にまたがって、組込
み手続き内で使用しているレジスタの割り当てをしない
ことにより、組込み手続きの入口でその組込み手続きが
使用するレジスタをセーブし、出口でリストアする必要
がなくなり、オブジェクトプログラムの性能を向上する
ことができる。
【0015】
【発明の効果】以上説明したように、本発明のレジスタ
割り当て方式は、レジスタの割り当て時に、組込み手続
きが引用されているかを判断し、引用されている場合に
は、組込み手続き引用にまたがって、組込み手続きの内
部で使用しているレジスタの割り当てをしないことによ
り、組込み手続きの入口で、使用しているレジスタをセ
ーブし、出口でリストアする必要がなくなり、オブジェ
クトプログラムにおける組込み手続きの呼び出し時の性
能を向上することができるという効果を有している。
【図面の簡単な説明】
【図1】本発明のレジスタ割り当て方式の一実施例を示
すブロック図である。
【符号の説明】
1 ソースプログラム 2 コンパイラ 21 解析部 22 レジスタ割り当て部 221 組込み手続き認識部 222 組込み手続き判定部 223 通常のレジスタ番号決定部 224 組込み手続き使用レジスタの検索読み込み部 225 組込み手続き引用時のレジスタ番号決定部 226 組込み手続き使用レジスタのテーブル 23 オブジェクトコード生成部 24 中間テキスト 3 オブジェクトプログラム

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 高級言語からなるソースプログラムを翻
    訳してオブジェクトプログラムを生成するコンパイラ
    と、生成されたオブジェクトプログラム及び該オブジェ
    クトプログラムで引用しているシステム組込み手続きを
    結合して実行形式プログラムを生成するリンカとを備え
    る計算機システムのレジスタ割り当て方式において、 前記コンパイラは、ソースプログラムを読み込み中間テ
    キストを生成する解析部と、該中間テキストを読み込み
    レジスタを割り当てるレジスタ割り当て部と、レジスタ
    の割り当てがなされた中間テキストを読み込みオブジェ
    クトコードを生成するオブジェクトコード生成部とを備
    えるとともに、 前記レジスタ割り当て部は、組込み手続きを引用する中
    間テキストであるか否かを認識する組込み手続き認識部
    と、組込み手続きを引用しているならば、組込み手続き
    名から該組込み手続きの内部で使用するレジスタ番号の
    テーブルを検索し、引用している組込み手続きで使用す
    るレジスタ番号を読み込み、組込み手続き引用にまたが
    ってレジスタを割り当てる際に、組込み手続き内部で使
    用するレジスタを割り当てないようにする組込み手続き
    引用時のレジスタ番号決定部と、組込み手続きを引用し
    ていないならば、通常にレジスタ番号を決定する通常レ
    ジスタ番号決定部とを備える、 ことを特徴とするレジスタ割り当て方式。
JP17295191A 1991-07-15 1991-07-15 レジスタ割り当て方式 Pending JPH0520091A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17295191A JPH0520091A (ja) 1991-07-15 1991-07-15 レジスタ割り当て方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17295191A JPH0520091A (ja) 1991-07-15 1991-07-15 レジスタ割り当て方式

Publications (1)

Publication Number Publication Date
JPH0520091A true JPH0520091A (ja) 1993-01-29

Family

ID=15951385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17295191A Pending JPH0520091A (ja) 1991-07-15 1991-07-15 レジスタ割り当て方式

Country Status (1)

Country Link
JP (1) JPH0520091A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62267831A (ja) * 1986-05-16 1987-11-20 Nec Corp プログラミング言語における組込み関数の演算制御方式
JPH0391037A (ja) * 1989-09-04 1991-04-16 Hitachi Ltd 退避レジスタ決定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62267831A (ja) * 1986-05-16 1987-11-20 Nec Corp プログラミング言語における組込み関数の演算制御方式
JPH0391037A (ja) * 1989-09-04 1991-04-16 Hitachi Ltd 退避レジスタ決定方法

Similar Documents

Publication Publication Date Title
US5815719A (en) Method and apparatus for easy insertion of assembler code for optimization
US6625806B1 (en) Language processing method and language processing system improving use efficiency of cache memory
JP2904099B2 (ja) コンパイル装置およびコンパイル方法
JPH0520091A (ja) レジスタ割り当て方式
JP3327674B2 (ja) プログラム翻訳装置及び方法
JP2932812B2 (ja) 言語処理プログラム実行装置
JPH04344536A (ja) レジスタ割当て方式
JPH0991151A (ja) コンパイル装置及びプロセッサ装置
JPH08272621A (ja) 動的メモリ領域を確保する関数呼出しの処理方法
JP3157737B2 (ja) コンパイル装置
EP0756231A1 (en) Method of allocating memory to variables
JP3018666B2 (ja) 言語処理装置
JP3161887B2 (ja) 値定義場所決定装置
JPS63180150A (ja) 入出力バッファ用領域獲得処理方式
KR0162759B1 (ko) 인텔 처리기의 메모리 관리 유니트를 이용한 확장된 가상주소공간 구축방법
JPH05324281A (ja) アドレス割当変更方法
JPH0650470B2 (ja) 動的ディスパッチング方式
JPH02105224A (ja) コンパイラにおけるデータ割付け方式
JP2001134447A (ja) コンパイル方法、および、コンパイル用プログラムを記録した記録媒体
JPH06242963A (ja) レジスタ割付け方式
JPH0371233A (ja) コンパイラにおける最適データ割付け方式
JPH03109642A (ja) コンパイル装置
JPH02133825A (ja) コンパイル方式
JPH06324882A (ja) コンパイラ装置
JPH05241851A (ja) 定数最適割り付け方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990406