特許
J-GLOBAL ID:200903040668185891

プログラム変換方法

発明者:
出願人/特許権者:
代理人 (1件): 鈴江 武彦 (外6名)
公報種別:公開公報
出願番号(国際出願番号):特願平9-183778
公開番号(公開出願番号):特開平11-024939
出願日: 1997年07月09日
公開日(公表日): 1999年01月29日
要約:
【要約】【課題】 複数のソースプログラム11をコンパイラ12でオブジェクトプログラム13に翻訳した後、リンケージエディタ14で最終の実行ロードモジュール15に組込むときに、できるだけ多くの関数をインライン展開処理する。【解決手段】 各コンパイラ12は、ソースプログラム11に含まれる関数を検出すると、該当関数のプログラム長が規定長以下の場合及び他の関数の呼出命令がない場合、該当関数を自己のワークレジスタ17のみを使用した命令列に展開し、その後、このワークレジスタ18内に展開された関数をオブジェクトプログラムに翻訳する。また、リンケージエディタ14は、各オブジェクトプログラムに規定長以下及び他の関数の呼出命令がない関数を検出すると、該当オブジェクトプログラムのワークレジスタ内に展開された該当関数のオブジェクトプログラムをインライン展開処理で実行ロードモジュールに編集する。
請求項(抜粋):
複数のソースプログラムを各プログラム毎に個別のコンパイラでそれぞれオブジェクトプログラムに翻訳して、さらにこの複数のオブジェクトプログラムをリンケージエディタで一つの実行ロードモジュールに編集するプログラム変換方法において、前記各コンパイラは、前記ソースプログラムを前記オブジェクトプログラムに翻訳するに際して、前記ソースプログラムに含まれる関数を検出すると、該当関数のプログラム長が規定長以下の場合及び当該関数自信のプログラムの中に他の関数の呼出命令がない場合、該当関数を自己のワークレジスタのみを使用した命令列に展開し、その後、このワークレジスタのみを使用した命令列に展開された関数をオブジェクトプログラムに翻訳し、前記リンケージエディタは、前記各オブジェクトプログラムを実行ロードモジュールに編集する際に、前記各オブジェクトプログラムに前記規定長以下の関数及び他の関数の呼出命令がない関数を検出すると、該当オブジェクトプログラムのワークレジスタのみを使用した命令列に展開された該当関数のオブジェクトプログラムをインライン展開処理で前記実行ロードモジュールに編集することを特徴とするプログラム変換方法。
FI (2件):
G06F 9/44 322 F ,  G06F 9/44 322 K

前のページに戻る