JPH02257224A - 連係編集処理装置 - Google Patents

連係編集処理装置

Info

Publication number
JPH02257224A
JPH02257224A JP7981789A JP7981789A JPH02257224A JP H02257224 A JPH02257224 A JP H02257224A JP 7981789 A JP7981789 A JP 7981789A JP 7981789 A JP7981789 A JP 7981789A JP H02257224 A JPH02257224 A JP H02257224A
Authority
JP
Japan
Prior art keywords
register
information table
module
procedure
instruction
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
JP7981789A
Other languages
English (en)
Inventor
Nobuhiko Kishigami
岸上 信彦
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP7981789A priority Critical patent/JPH02257224A/ja
Publication of JPH02257224A publication Critical patent/JPH02257224A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はロードモジュール作成におけるレジスタ割付に
利用する。本発明は連係編集処理におけるレジスタ割付
の最適化に関する。
〔概要〕
本発明はロードモジュール作成における連係編集処理の
レジスタ割付にふいて、 翻訳処理中は、不可能とされる手続きにまたがったレジ
スタの割付を最適化できるようにし、呼び出し元手続き
と呼び出し先手続きが同じレジスタを使用していない場
合にはレジスタの退避または復帰命令を実行させないよ
うにすることにより、ロードモジュールに含まれる実行
命令数を軽減し、実行効率を向上させるようにしたもの
である。
〔従来の技術〕
従来、レジスタの割付は翻訳処理中に行われるため、一
つのソースプログラムに含まれる手続き単位に最適化し
ていた。
〔発明が解決しようとする問題点〕
上述した従来のレジスタ割付は翻訳処理中に行うため、
一つのソースプログラムに含まれる手続き単位に最適化
することを目的としている。このため、ある手続きが別
の手続きを呼び出す場合に、呼び出し先手続きで破壊さ
れると不都合なレジスタに対する退避命令と復帰命令を
呼び出し元手続きで無条件に生成してしまう欠点がある
本発明はこのような欠点を除去するもので、同じレジス
タを使用していない場合にはレジスタに対する退避命令
と復帰命令の実行をなくし、ロードモジュールに含まれ
る実行命令数を軽減し、実行効率を向上させる装置を提
供することを目的とする。
〔問題点を解決するための手段〕
本発明は、目的モジュールを格納する目的モジュール格
納用作業領域が設けられ、ロードモジュールを作成する
連係編集プログラムを有する連係編集プログラム手段と
、前記目的モジュール格納用作業領域にロードモジュー
ルの作成に必要なすべての目的モジュールを読み込む目
的モジュール読み込み手段とを備え、再帰的呼び出しが
不可能であり、かつその手続きとして別の手続きを呼び
出すときに、呼び出し元手続きで破壊される不都合なレ
ジスタを退避し、手続き終了後復帰する命令を生成する
言語の目的モジュールを連係編集する連係編集処理装置
において、呼び出し情報が登録される呼び出し情報テー
ブルと、レジスタ有効範囲情報が登録されるレジスタ有
効範囲情報テーブルと、レジスタ再割付情報が登録され
るレジスタ再割付情報テーブルと、レジスタ操作命令削
除情報が登録されるレジスタ操作命令削除情報テーブル
とを設け、前記連係編集プログラム手段が前記モジュー
ル読み込み手段を用いて、前記目的モジュール格納用作
業領域に格納した目的モジュールを参照し、目的モジュ
ール内に含まれる手続きの呼び出し関係を走査し、その
結果を前記呼び出し情報テーブルに登録する手続き関係
走査手段と、前記連係編集プログラム手段が前記目的モ
ジュール読み込み手段を用いて、前記目的モジュール格
納用作業領域に格納した目的モジュールを参照し、目的
モジュール内に含まれる手続きにおけるレジスタの値が
保持される範囲を調査し、その結果を前記レジスタ有効
範囲情報テーブルに登録するレジスタ使用状況登録手段
と、前記手続き関係走査手段が設定した前記呼び出し情
報テーブルと前記レジスタ使用状況登録手段が設定した
前記レジスタ有効範囲情報テーブルとを参照し、手続き
にまたがったレジスタ割付の最適化を行い、その結果変
更すべきレジスタの情報を前記レジスタ再割付情報テー
ブルに登録し、変更すべき命令コードを前記レジスタ操
作命令削除情報テーブルに登録するレジスタ使用最適化
手段と、前記連係編集プログラム手段が前記目的モジュ
ール読み込み手段を用いて、前記目的モジュール格納用
作業領域に格納した目的モジュールと前記レジスタ使用
最適化手段が設定した前記レジスタ再割付情報テーブル
とを参照し、レジスタの使用と変更すべき命令コードに
関して目的モジュール内のコードを書き換え、その結果
を前記目的モジュール格納用作業領域に再設定する目的
モジュール更新手段とを備えたことを特徴とする。
〔作用〕
連係編集プログラム手段がロードモジュールを作成する
のに必要なすべての目的モジュールを目的モジュール格
納用作業領域に読み込み、再帰的呼び出しが不可能であ
り、かつその手続きとして別の手続きを呼び出すときに
、呼び出し元手続きで破壊されると不都合なレジスタを
退避し、手続き終了後復帰する命令を生成する言語の目
的モジュールを連係編集する場合に、手続き関係走査手
段が、連係編集プログラム手段により目的モジュール読
み込み手段を用いて目的モジュール格納用作業領域に格
納された目的モジュールを参照し、目的モジュール内に
含まれる手続きの呼び出し関係を走査し、その結果を呼
び出し情報テーブルに登録し、レジスタ使用状況登録手
段が、連係編集プログラム手段により目的モジュール読
み込み手段を用いて目的モジュール格納用作業領域に格
納された目的モジュールを参照し、目的モジンール内に
含まれる手続きにおけるレジスタの値が保持される範囲
を調査し、その結果をレジスタ有効範囲情報テーブルに
登録する。
次いで、レジスタ使用最適化手段が、手続き関係走査手
段により設定された呼び出し情報テーブルとレジスタ使
用状況登録手段により設定されたレジスタ有効範囲情報
テーブルとを参照し、手続きにまたがったレジスタ割付
の最適化を行い、その結果変更すべきレジスタの情報を
レジスタ再割付情報テーブルに登録し、変更すべき命令
コードをレジスタ操作命令削除情報テーブルに登録し、
目的モジュール更新手段が、連係編集プログラム手段に
より目的モジュール読み込み手段を用いて目的モジュー
ル格納用作業領域に格納された目的モジュールとレジス
タ使用最適化手段により設定されたレジスタ再割付情報
テーブルを参照し、レジスタの使用と変更すべき命令コ
ードに関して目的モジュール内のコードを書き換え、そ
の結果を目的モジュール格納用作業領域に再設定する。
これにより、ロードモジュールに含まれる実行命令数を
軽減することができ、実行効率の向上を図ることができ
る。
〔実施例〕
次に、本発明実施例を図面を参照して説明する。
第1図は本発明実施例の全体構成を示すブロック図、第
2図は本発明実施例の呼び出し情報テーブル5の詳細を
示す図、第3図は本発明実施例のレジスタ有効範囲情報
テーブル6の詳細を示す図、第4図は本発明実施例のレ
ジスタ再割付情報テーブル7の詳細を示す図、第5図は
本発明実施例のレジスタ操作命令削除情報テーブル8の
詳細を示す図である。
本発明実施例は、目的モジュールを格納する目的モジュ
ール格納用作業領域11が設けられ、ロードモジュール
を作成する連係編集プログラムを有する連係編集プログ
ラム手段9と、目的モジュール格納用作業領域11にロ
ードモジュールの作成に必要なすべての目的モジュール
を読み込む目的モジュール読み込み手段10とを備え、
再帰的呼び出しが不可能であり、かつその手続きとして
別の手続きを呼び出すときに、呼び出し元手続きで破壊
される不都合なレジスタを退避し、手続き終了後復帰す
る命令を生成する言語の目的モジュールを連係編集する
連係編集処理装置に、呼び出し情報が登録される呼び出
し情報テーブル5と、レジスタ有効範囲情報が登録され
るレジスタ有効範囲情報テーブル6と、レジスタ再割付
情報が登録されるレジスタ再割付情報テーブル7と、レ
ジスタ操作命令削除情報が登録されるレジスタ操作命令
削除情報テーブル8とを設け、連係編集プログラム手段
9が目的モジュール読み込み手段10を用いて、目的モ
ジュール格納用作業領域11に格納した目的モジュール
を参照し、目的モジュール内に含まれる手続きの呼び出
し関係を走査し、その結果を呼び出し情報テーブル5に
登録する手続き関係走査手段1と、連係編集プログラム
手段9が目的モジュール読み込み手段10を用いて、目
的モジュール格納用作業領域11に格納した目的モジュ
ールを参照し、目的モジュール内に含まれる手続きにお
けるレジスタの値が保持される範囲を調査し、その結果
をレジスタ有効範囲情報テーブル6に登録するレジスタ
使用状況登録手段2と、手続き関係走査手段1が設定し
た呼び出し情報テーブル5とレジスタ使用状況登録手段
2が設定したレジスタ有効範囲情報テーブル6とを参照
し、手続きにまたがったレジスタ割付の最適化を行い、
その結果変更すべきレジスタの情報をレジスタ再割付情
報テーブル7に登録し、変更すべき命令コードをレジス
タ操作命令削除情報テーブル8に登録するレジスタ使用
最適化手段3と、連係編集プログラム手段11が目的モ
ジュール読み込み手段10を用いて、目的モジュール格
納用作業領域11に格納した目的モジュールとレジスタ
使用最適化手段3が設定したレジスタ再割付情報テーブ
ル7とを参照し、レジスタの使用と変更すべき命令コー
ドに関して目的モジュール内のコードを書き換え、その
結果を目的モジュール格納用作業領域11に再設定する
目的モジュール更新手段4とを備える。
また、呼び出し情報テーブル5には呼び出し元続き名、
呼び出し先手続き名、および呼び出し命令アドレスを含
み、レジスタ有効範囲情報テーブル6には手続き名、開
始アドレスと終了アドレスにより示される有効範囲、お
よびレジスタ塩を含み、レジスタ再割付情報テーブル7
には手続き名、現しジスタ名、開始アドレスと終了アド
レスにより示される更新範囲、および新しジスタ名を含
み、レジスタ操作命令削除情報テーブル8には手続き名
、レジスタ退避命令アドレスおよびレジスタ復帰命令ア
ドレスを含む。
次に、このように構成された本発明実施例の動作につい
て説明する。
利用者により連係編集すべき手続きを含む目的モジュー
ルが指定されて連係編集プログラム手段9が起動される
と、必要な目的モジュールを読み込むために目的モジュ
ール読み込み手段10が起動される。
目的モジュール読み込み手段10は利用者が指定した手
続きを含む目的モジュールをはじめ、読み込んだ目的モ
ジュールに含まれる手続きが参照している手続きを含む
目的モジュールすべてを目的モジュール格納用作業領域
11に読み込み、手続き関係走査手段1を起動する。
手続き関係走査手段1は目的モジュール格納用作業領域
11に格納されたすべての目的モジュールを対象とし、
目的モジュールに含まれている手続きがどの手続きを呼
ぶかを検索するために起動され、呼び出し元手続き名、
呼び出し先手続き名、呼び出し命令アドレスを呼び出し
情報テーブル5に格納し、レジスタ使用状況登録手段2
を起動する。
レジスタ使用状況登録手段2は目的モジュール格納用作
業領域11に格納されたすべての目的モジュールを対象
とし、目的モジュールに含まれている手続きで、レジス
タに値を設定する命令のアドレス(有効範囲開始アドレ
スと呼ぶ)より設定された値をそのまま参照することが
可能な最後の命令のアドレス(有効範囲終了アドレスと
呼ぶ)までの範囲を示す有効範囲を検索するために起動
され、手続き名、レジスタ塩、有効範囲開始アドレス、
有効範囲終了アドレスをレジスタ有効範囲情報テーブル
6に格納し、レジスタ使用最適化手段3を起動する。
レジスタ使用最適化手段3は呼び出し情報テーブル5と
レジスタ有効範囲情報テーブル6を参照し、手続きにま
たがるレジスタの効果的利用を行うためのレジスタ再割
付と、冗長なレジスタの退避命令または復帰命令を削除
するために起動され、呼び出し情報テーブル5とレジス
タ有効範囲情報テーブル6を参照して、呼び出し先手続
き名で指定された手続き中で利用しているレジスタ塩と
、呼び出し元手続き名で指定された手続きが呼び出し先
手続き名で指定された手続きを呼び出し命令アドレスで
指定されたアドレスで呼び出すときに、有効な状態にあ
るレジスタ塩が重複しているかどうかを判定する。
重複していない場合には、呼び出し元手続き名で指定さ
れた手続きが、呼び出し先手続き名で指定された手続き
を呼び出し命令アドレスで指定されたアドレスで呼び出
すときに、レジスタを退避したり手続き終了時にレジス
タを復帰するのは冗長なために、呼び出し元手続き名で
指定された手続き名と、レジスタ退避命令アドレスと、
レジスタ復帰命令アドレスとをレジスタ操作命令削除情
報テーブル8に格納する。
重複している場合には、呼び出し元手続き名で指定され
た手続きにより、当該レジスタをレジスタ有効範囲情報
テーブル6で有効な状態になっていない別のレジスタに
書き換えることができないか検討する。
書き換えることが可能な場合には、現しジスタ名、新し
ジスタ名、レジスタ有効範囲情報テーブル6における現
レジスタの有効範囲開始アドレスを更新範囲開始アドレ
スとして、また有効範囲終了アドレスを更新範囲終了ア
ドレスとしてレジスタ再割付情報テーブル7に格納し、
呼び出し元手続き名で指定された手続き名と、レジスタ
退避命令アドレスと、レジスタ復帰命令アドレスとをレ
ジスタ操作命令削除情報テーブル8に格納する。
書き換えることが不可能な場合には何もしない。
呼び出し情報テーブル5に格納されているすべての項目
についての検討を終えると目的モジュール更新手段4を
起動する。
目的モジュール更新手段4はレジスタ再割付情報テーブ
ル7とレジスタ操作命令削除情報テーブル8を参照し、
目的モジμm用格納用作業領域11に格納された目的モ
ジュールの命令コードを書き換えるために起動され、レ
ジスタ再割付情報テーブル7を参照して手続き名で指定
された手続きを含む目的モジュールを目的モジュール格
納用作業領域11より読み込み、更新範囲開始アドレス
から更新範囲終了アドレスの間にある現しジスタ名で指
定されたレジスタに対する設定および参照を新しジスタ
名で指定されたレジスタにコード修正し、その結果を目
的モジュール格納用作業領域11に格納する。
引き続きレジスタ操作命令削除情報テーブル8を参照し
、手続き名で指定された手続きを含む目的モジュールを
目的モジュール格納用作業領域11より読み込み、レジ
スタ退避命令アドレスで指定されたアドレスの命令とレ
ジスタ復帰命令アドレスで指定されたアドレスの命令と
を実行しないようコード修正し、その結果を目的モジュ
ール格納用作業領域11に格納する。
〔発明の効果〕
以上説明したように本発明によれば、翻訳処理中は不可
能とされる手続きにまたがったレジスタの割付を最適化
できるようにし、呼び出し元手続きと呼び出し先手続き
が同じレジスタを使用している可能性があったために実
行せざるを得なかったレジスタの退避または復帰命令を
、同じレジスタを使用していない場合には実行する必要
がなくなるために、ロードモジュールに含まれる実行命
令数を軽減することができ、実行効率の向上が図れる効
果がある。
【図面の簡単な説明】
第1図は本発明実施例の全体構成を示すブロック図。 第2図は本発明実施例の呼び出し情報テーブルの詳細を
示す図。 第3図は本発明実施例のレジスタ有効範囲情報テーブル
の詳細を示す図。 第4図は本発明実施例のレジスタ再割付情報テーブルの
詳細を示す図。 第5図は本発明実施例のレジスタ操作命令削除情報テー
ブルの詳細を示す図。 1・・・手続き関係走査手段、2・・・レジスタ使用状
況登録手段、3・・・レジスタ使用最適化手段、4・・
・目的モジュール更新手段、5・・・呼び出し情報テー
ブノペ6・・・レジスタ有効範囲情報テーブル、7・・
・レジスタ再割付情報テーブル、8・・・レジスタ操作
命令削除情報テーブル、9・・・連係編集プログラム手
段、10・・・目的モジュール読み込み手段、11・・
・目的モジュール格納用作業領域。 代理人  弁理士 井 出 直 孝′ 実施例 呼び出し情報テーブル 第2図 実施例 レジスタ有効範囲情報テーブル ′″43図 実施例 レジスタ再割打情報テーブル 第4図 実施例 レジスタ操作命令削除情報テーブル 第5図

Claims (1)

  1. 【特許請求の範囲】 1、目的モジュールを格納する目的モジュール格納用作
    業領域が設けられ、 ロードモジュールを作成する連係編集プログラムを有す
    る連係編集プログラム手段と、 前記目的モジュール格納用作業領域にロードモジュール
    の作成に必要なすべての目的モジュールを読み込む目的
    モジュール読み込み手段と を備え、 再帰的呼び出しが不可能であり、かつその手続きとして
    別の手続きを呼び出すときに、呼び出し元手続きで破壊
    されると不都合なレジスタを退避し、手続き終了後復帰
    する命令を生成する言語の目的モジュールを連係編集す
    る連係編集処理装置において、 呼び出し情報が登録される呼び出し情報テーブルと、 レジスタ有効範囲情報が登録されるレジスタ有効範囲情
    報テーブルと、 レジスタ再割付情報が登録されるレジスタ再割付情報テ
    ーブルと、 レジスタ操作命令削除情報が登録されるレジスタ操作命
    令削除情報テーブルと を設け、 前記連係編集プログラム手段が前記モジュール読み込み
    手段を用いて、前記目的モジュール格納用作業領域に格
    納した目的モジュールを参照し、目的モジュール内に含
    まれる手続きの呼び出し関係を走査し、その結果を前記
    呼び出し情報テーブルに登録する手続き関係走査手段と
    、 前記連係編集プログラム手段が前記目的モジュール読み
    込み手段を用いて、前記目的モジュール格納用作業領域
    に格納した目的モジュールを参照し、目的モジュール内
    に含まれる手続きにおけるレジスタの値が保持される範
    囲を調査し、その結果を前記レジスタ有効範囲情報テー
    ブルに登録するレジスタ使用状況登録手段と、 前記手続き関係走査手段が設定した前記呼び出し情報テ
    ーブルと前記レジスタ使用状況登録手段が設定した前記
    レジスタ有効範囲情報テーブルとを参照し、手続きにま
    たがったレジスタ割付の最適化を行い、その結果変更す
    べきレジスタの情報を前記レジスタ再割付情報テーブル
    に登録し、変更すべき命令コードを前記レジスタ操作命
    令削除情報テーブルに登録するレジスタ使用最適化手段
    と、 前記連係編集プログラム手段が前記目的モジュール読み
    込み手段を用いて、前記目的モジュール格納用作業領域
    に格納した目的モジュールと前記レジスタ使用最適化手
    段が設定した前記レジスタ再割付情報テーブルとを参照
    し、レジスタの使用と変更すべき命令コードに関して目
    的モジュール内のコードを書き換え、その結果を前記目
    的モジュール格納用作業領域に再設定する目的モジュー
    ル更新手段と を備えたことを特徴とする連係編集処理装置。
JP7981789A 1989-03-29 1989-03-29 連係編集処理装置 Pending JPH02257224A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7981789A JPH02257224A (ja) 1989-03-29 1989-03-29 連係編集処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7981789A JPH02257224A (ja) 1989-03-29 1989-03-29 連係編集処理装置

Publications (1)

Publication Number Publication Date
JPH02257224A true JPH02257224A (ja) 1990-10-18

Family

ID=13700755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7981789A Pending JPH02257224A (ja) 1989-03-29 1989-03-29 連係編集処理装置

Country Status (1)

Country Link
JP (1) JPH02257224A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09274570A (ja) * 1996-04-08 1997-10-21 Mitsubishi Electric Corp コンパイル方法及びコンパイラシステム
US5828886A (en) * 1994-02-23 1998-10-27 Fujitsu Limited Compiling apparatus and method for promoting an optimization effect of a program
US6282705B1 (en) 1998-01-12 2001-08-28 Nec Corporation Compiler capable of reducing interrupt handling in optimization and its optimization method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828886A (en) * 1994-02-23 1998-10-27 Fujitsu Limited Compiling apparatus and method for promoting an optimization effect of a program
JPH09274570A (ja) * 1996-04-08 1997-10-21 Mitsubishi Electric Corp コンパイル方法及びコンパイラシステム
US6282705B1 (en) 1998-01-12 2001-08-28 Nec Corporation Compiler capable of reducing interrupt handling in optimization and its optimization method

Similar Documents

Publication Publication Date Title
JPH11288428A (ja) チーム形式設計用cadシステム
JPH02257224A (ja) 連係編集処理装置
JP2555920B2 (ja) オンラインリアルタイム処理装置
JP3019915B2 (ja) 手続き呼出し方法
JP2003030391A (ja) ワークフローシステムおよびその案件削除方法、並びに該方法に係るプログラム
JPH01217635A (ja) レジスタ退避方式
JP3079228B2 (ja) 基本プログラム実行方法
JP2591818B2 (ja) 補助機能の選択制御方法
JPH0398128A (ja) 通番管理方式
JP3079825B2 (ja) 電子計算機装置
JPS62171034A (ja) サブル−チン・リンク方式
JPH08153031A (ja) フアイル管理装置
JPH0314144A (ja) 利用者プログラムのリラン処理方式
JPH0322152A (ja) ファイル復元方式
JP2003108390A (ja) タスク引数をオート変数の代用にするrtos
JP3664602B2 (ja) 情報処理システム
JPH1040158A (ja) 永続オブジェクト管理方法
JPH07225755A (ja) 変更取り消し情報管理方法および装置
JPH02178847A (ja) プログラムの再実行用データテーブル生成方式
JPH01258029A (ja) データ処理装置
JPH0229867A (ja) 設計実行管理方式
JPH0327443A (ja) マイクロコントローラ
JPH03255533A (ja) プログラミング言語処理システムにおけるシンボル管理方式
JPS6362053A (ja) ガ−ベジコレクシヨン処理方式
JPH0421028A (ja) レジスタ管理方法