JPH1031591A - In-line developing device for function - Google Patents

In-line developing device for function

Info

Publication number
JPH1031591A
JPH1031591A JP18447596A JP18447596A JPH1031591A JP H1031591 A JPH1031591 A JP H1031591A JP 18447596 A JP18447596 A JP 18447596A JP 18447596 A JP18447596 A JP 18447596A JP H1031591 A JPH1031591 A JP H1031591A
Authority
JP
Japan
Prior art keywords
function
call
definition
inline expansion
stored
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
JP18447596A
Other languages
Japanese (ja)
Inventor
Hideki Yamamoto
秀喜 山本
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 Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
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 Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP18447596A priority Critical patent/JPH1031591A/en
Publication of JPH1031591A publication Critical patent/JPH1031591A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To develop in-line of functions in differrent compiling units. SOLUTION: A function calling and finding means 1 judges whether a function calling exists in plural object programs or not and when the function calling exists, creates a function calling information table 6. A function definition finding means 2 searches a function definition of a function calling stored in the function calling information table 6, creates a function definition table and copies the size of an applicable function and an object of the function. A prologue and epilogue removal means 3 removes the prologue and the epilogue unnecessitated by the in-line development for the object of the function stored in the function definition table. A function in-line development means 4 refers to a function calling table for the function stored in the function definition table and deletes a function calling instruction by embedding the object stored in the function table in a spot of function calling.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プログラムにおい
て呼び出される関数のインライン展開装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an inline expansion device for a function called in a program.

【0002】[0002]

【従来の技術】高級言語におけるプログラムの作成の手
順では、一般に、機能毎に関数の作成およびファイルの
分割を行うことになる。この機能毎に作成された関数
は、小さな単位のものが多く、関数呼び出し部分での引
数の受渡し処理、戻り番地の設定、返却値の処理、関数
呼び出し(以下、呼び出し列と記す)、呼び出された関
数のはじめに行う動的スタックの割り当て、退避の必要
なレジスタの退避、戻り番地の保存などの処理(以下、
プロローグ処理と記す)および呼び出された関数の終り
で行う動的スタックの解放、退避したレジスタの復帰、
返却値の設定、戻り番地へ戻る処理(以下、エピローグ
処理と記す)などの関数呼び出しであるために生成され
るコードが生成され、関数本体が小さい程そのオーバー
ヘッドの割合が大きくなる。
2. Description of the Related Art Generally, in a procedure for creating a program in a high-level language, a function is created for each function and a file is divided. Many of the functions created for each function are in small units, such as the passing of arguments in the function call part, the setting of return addresses, the processing of return values, the function calls (hereinafter referred to as call strings), and the calls. Processing such as allocating a dynamic stack at the beginning of a function that has been saved, saving registers that need to be saved, saving return addresses, etc.
Prologue processing) and release of the dynamic stack at the end of the called function, restoration of saved registers,
The generated code is generated because it is a function call such as a process of setting a return value and returning to a return address (hereinafter, referred to as an epilogue process), and the smaller the function body, the larger the overhead ratio.

【0003】このオーバーヘッドをなくすため従来は、
コンパイラがソースをコンパイルする際、ソースプログ
ラム単位内に関数の呼び出しがあり、その関数の定義が
同一のソースプログラム単位内に存在する場合に、その
関数の呼び出し箇所で呼び出し列のコードを生成し関数
の呼び出しのを行うのではなく、関数の呼び出し列の代
りに、プロローグ処理、エピローグ処理を除いた関数の
本体のコードを埋め込む処理(以下、インライン展開と
記す)を行い、上述した、関数呼び出し時の呼び出し
列、呼び出された関数のプロローグ処理、エピローグ処
理などの関数の本体とは関係のないコードを削除する事
により実行プログラム実行速度を向上させている。
Conventionally, to eliminate this overhead,
When the compiler compiles the source, if there is a function call in the source program unit and the definition of the function exists in the same source program unit, the code of the calling sequence is generated at the function call location and the function is generated. Rather than calling the function, instead of calling the function, a process of embedding the body code of the function excluding the prologue processing and epilogue processing (hereinafter referred to as inline expansion) is performed. The execution sequence of the execution program is improved by deleting codes that are not related to the main body of the function, such as a call sequence of the function, a prologue process of the called function, and an epilogue process.

【0004】[0004]

【発明が解決しようとする課題】上述した従来の関数イ
ンライン展開方式では、呼出し頻度の高い関数が存在し
たとしても、コンパイラは、ソースプログラム単位にコ
ンパイルを行うため、関数を呼び出しているソースプロ
グラムと、関数の定義があるソースプログラムが異なる
場合、関数を呼び出しているソースプログラムのコンパ
イル時に、関数のコードを解決する事ができず、関数オ
インライン展開を行えないという問題点がある。
In the above-described conventional function inline expansion method, even if a function that is frequently called exists, the compiler compiles the source program unit, so that the source program that calls the function and the If the source program having the function definition is different, there is a problem that the function code cannot be resolved at the time of compiling the source program calling the function, and the function inline expansion cannot be performed.

【0005】本発明は、上述の点に鑑みなされたもので
あり、実行プログラムの実行速度を向上させるために関
数のインライン展開をコンパイル時に行うのではなく、
オブジェクトプログラムのリンク時に、リンカによる各
関数の呼出し部分に関数定義のオブジェクトを埋め込
み、関数のインライン展開を行う関数インライン展開装
置を提供することにある。
[0005] The present invention has been made in view of the above points, and in order to improve the execution speed of an execution program, instead of performing inline expansion of a function at compile time,
An object of the present invention is to provide a function inline expansion device that embeds a function definition object in a portion where each function is called by a linker at the time of linking an object program, and performs function inline expansion.

【0006】[0006]

【課題を解決するための手段】本発明の関数のインライ
ン展開装置は、プログラムで呼出される関数のインライ
ン展開を、当該プログラムのオブジェクトファイルをま
とめて、実行プログラムを作成するリンク時に行うこと
を特徴とする。
The function inline expansion apparatus of the present invention performs inline expansion of a function called by a program at the time of linking to create an execution program by combining object files of the program. And

【0007】より具体的には、本発明に係わる関数のイ
ンライン展開装置は、オブジェクトプログラムを読み込
んで、実行プログラムを作成するリンク過程に於いて、
複数のオブジェクトプログラム中に関数呼出しが存在す
る場合、呼び出し関数の関数名、および関数の呼出し位
置を構成要素とし、各関数呼出し毎に作成される関数呼
出し情報テーブルと、関数呼出し情報テーブルから検索
された関数が末端関数かどうかを判定し、末端関数であ
る場合に、関数のサイズ、関数のオブジェクトを構成要
素とする関数定義テーブルと、オブジェクトプログラム
中の関数呼出しを検索し、関数呼び出しテーブルを作成
する関数呼出し発見手段と、関数呼出し情報テーブルに
格納されている関数呼出しの関数定義を検索し、その関
数が末端関数かどうかを判定し、関数定義テーブルを作
成する関数定義発見手段と、関数定義テーブルに格納さ
れている関数のオブジェクトに対して、インライン展開
により不要になる、関数のプロローグ及びエピローグ命
令の除去を行うプロローグ・エピローグ除去手段と、関
数定義テーブルに格納されている関数について、関数呼
出しテーブルを参照し、関数呼出し箇所に関数テーブル
に格納されているオブジェクトを埋め込み、関数呼出し
命令を削除する関数インライン展開手段と、関数インラ
イン展開手段によりインライン関数の親関数のオブジェ
クト内のジャンプ命令とジャンプ命令先の相対アドレス
を修正する参照アドレス変更手段とを有している。
More specifically, the function inline expansion device according to the present invention reads an object program and creates an execution program in a linking process.
When a function call exists in a plurality of object programs, the function name of the calling function and the call position of the function are used as constituent elements, and the function call information table created for each function call and the function call information table are searched. Determines whether a function is a terminal function, and if it is a terminal function, creates a function definition table with the function size and function object as constituent elements and a function call table in the object program, and creates a function call table Function definition finding means for searching function definitions of function calls stored in a function call information table, determining whether the function is a terminal function, and creating a function definition table; Function objects stored in tables are no longer required by inline expansion A prologue / epilogue removal means for removing a function prologue and epilogue instruction, and for a function stored in a function definition table, referencing a function call table, embedding an object stored in the function table at a function call location, The function inline expansion means for deleting the function call instruction, and the reference address changing means for correcting the relative address of the jump instruction and the jump instruction destination in the parent function object of the inline function by the function inline expansion means.

【0008】[0008]

【発明の実施の形態】以下、本発明の実施例につき図面
を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0009】図1は、本発明のリンカによる関数のイン
ライン展開装置の一実施例を示す構成図であり、オブジ
ェクトプログラム(図示せず)を入力して関数呼出し情
報テーブル6を作成する関数呼出し発見手段1と、関数
呼出し情報テーブル6を参照し関数定義テーブル7を作
成する関数定義発見手段2と、関数定義テーブル7内の
関数のオブジェクトのプロローグ、及びエピローグを削
除するプロローグ・エピローグ除去手段3と、関数定義
テーブル7と関数呼出し情報テーフル6を参照し関数の
インラインを行う関数インライン展開手段4と、インラ
イン展開後のオブジェクトのラベル参照の相対アドレス
を補正する参照アドレス変更手段5とから構成されてい
る。
FIG. 1 is a block diagram showing an embodiment of a function inline expansion apparatus using a linker according to the present invention. The function call discovery table 6 for inputting an object program (not shown) and creating a function call information table 6 is shown. Means 1, function definition finding means 2 for creating a function definition table 7 with reference to the function call information table 6, and prologue / epilogue removal means 3 for deleting the prologue and epilogue of the function object in the function definition table 7; A function inline expansion unit 4 for performing function inlining by referring to the function definition table 7 and the function call information table 6, and a reference address changing unit 5 for correcting the relative address of the label reference of the object after the inline expansion. I have.

【0010】本発明のリンカによる関数のインライン展
開装置は、通常のリンカのリンク処理に先だって、以下
に記する処理を行うことにより、実行速度の最適化を行
うものである。
The function inline expansion apparatus using the linker of the present invention optimizes the execution speed by performing the following processing prior to the ordinary linker link processing.

【0011】先ず、関数呼出し発見手段1は、全てのオ
ブジェクトプログラムのデータ部のエントリのうち、関
数の呼び出し位置、シンボルテーブルへのインデック
ス、およびリロケーションタイプなどの情報を持つエン
トリ(以下、リロケーションエントリと記す)を検索
し、また、そのリロケーションエントリが示すシンボル
名、関数の先頭アドレス、関数の終了アドレスなどの情
報を持つシンボルテーブルをオブジェクトプログラムか
ら検索する。これらの検索の結果、検出したリロケーシ
ョンエントリ、およびシンボルテーブルから関数呼び出
し情報テーブル6を生成する。
First, the function call finding means 1 is an entry having information such as a function call position, an index into a symbol table, and a relocation type among the entries in the data portion of all object programs (hereinafter referred to as a relocation entry and a relocation entry). In addition, the object program searches for a symbol table having information such as the symbol name, the start address of the function, and the end address of the function indicated by the relocation entry. As a result of these searches, a function call information table 6 is generated from the detected relocation entry and the symbol table.

【0012】関数呼出し情報テーブル6は、図2に示す
ように、呼出し関数の関数名、および呼出し関数の関数
の呼出し位置を構成要素として構成されており、関数呼
び出し発見手段1で検出したオブジェクトプログラムの
データ部のリロケーションエントリから得られる関数の
呼び出し位置を関数呼び出し情報テーブル6に設定す
る。また、関数呼び出し手段1により検出したシンボル
テーブルから得られる関数名を関数呼び出しテーブル6
に設定して関数呼び出し情報テーブル6を生成する。
As shown in FIG. 2, the function call information table 6 includes the function name of the call function and the call position of the function of the call function as constituent elements. The function call position obtained from the relocation entry of the data section of the above is set in the function call information table 6. The function name obtained from the symbol table detected by the function calling means 1 is stored in the function calling table 6.
And the function call information table 6 is generated.

【0013】次に、関数定義発見手段2は、関数呼び出
し、および関数定義単位に作成されていて複数個存在す
るシンボルテーブルから、関数の先頭アドレス、および
終了アドレスが設定されているシンボルテーブルを選定
し、更に関数の先頭アドレス、および終了アドレスが設
定されているシンボルテーブルの中から関数呼出し発見
手段1が作成した関数呼出し情報テーブル6の関数名に
対応するシンボルテーブルを選定する。ここで、関数呼
び出しで作成されたシンボルテーブルは、コンパイラが
シンボルテーブルの作成時、関数の先頭アドレス、およ
び関数の終了アドレスは解決できていないため、関数の
先頭アドレス、および関数の終了アドレスを設定してい
ない。関数定義発見手段2は、選定したシンボルテーブ
ルの関数の先頭アドレス、関数の終了アドレスから関数
のサイズを取得し、関数定義テーブル7に設定する。
Next, the function definition finding means 2 selects a symbol table in which a start address and an end address of the function are set from a plurality of symbol tables created for each function call and function definition. Then, a symbol table corresponding to the function name in the function call information table 6 created by the function call finding means 1 is selected from the symbol tables in which the start address and the end address of the function are set. Here, for the symbol table created by the function call, when the compiler creates the symbol table, the start address of the function and the end address of the function cannot be resolved, so the start address of the function and the end address of the function are set. I haven't. The function definition finding means 2 acquires the size of the function from the start address of the function and the end address of the function in the selected symbol table, and sets the size in the function definition table 7.

【0014】また、関数定義発見手段2は、オブジェク
トプログラムのオブジェクト内の検出したシンボルテー
ブルの関数の先頭アドレスから、関数の終了アドレスま
でのオブジェクトを関数定義テーブル7に設定する。ま
た、関数のオブジェクトの全ての命令を調べ他の関数呼
び出し命令があるかどうかを判定する。関数呼び出し命
令がない場合、関数の呼び出しのない関数(以下、末端
関数と記す)と判定し、関数定義テーブル7を生成す
る。
The function definition finding means 2 sets objects from the start address of the function of the detected symbol table in the object of the object program to the end address of the function in the function definition table 7. Further, all instructions of the function object are checked to determine whether there is another function call instruction. If there is no function call instruction, it is determined that the function has no function call (hereinafter referred to as a terminal function), and the function definition table 7 is generated.

【0015】関数定義テーブル7は、図3に示すよう
に、関数のサイズ、および関数のオブジェクトを構成要
素として構成されており、関数定義発見手段2で検出し
た該当関数の関数のサイズと関数定義のオブジェクトを
コピーし、関数定義テーブル7が生成される。
As shown in FIG. 3, the function definition table 7 is composed of a function size and a function object as constituent elements. The function size of the function detected by the function definition finding means 2 and the function definition Is copied, and the function definition table 7 is generated.

【0016】次に、プロローグ・エピローグ除去手段3
は、関数定義発見手段2が作成した関数定義テーブル7
の各関数のオブジェクトについて、関数をインライン展
開することにより不要になる、プロローグ処理の命令、
エピローグ処理の命令を除去する。
Next, the prologue / epilogue removal means 3
Is the function definition table 7 created by the function definition finding means 2.
For each function object, the prologue processing instruction, which becomes unnecessary by inlining the function,
Remove epilogue processing instructions.

【0017】次に、関数インライン展開手段4は、プロ
ローグ・エピローグ除去手段3で、プロローグ・エピロ
ーグ命令の除去済みの関数定義テーブル7の各関数のオ
ブジェクトを、関数呼出し情報テーブル6の関数呼出し
位置を参照し、その呼出し位置に埋め込む。オブジェク
トを呼出し位置に埋め込んだ後、該当関数の呼出し命令
等の呼び出し列の命令を除去する。
Next, the function inline expansion means 4 uses the prologue / epilogue removal means 3 to replace the object of each function in the function definition table 7 from which the prologue / epilogue instruction has been removed with the function call position in the function call information table 6. Reference and embed at the call location. After embedding the object at the calling position, the instructions in the calling sequence such as the calling instruction of the corresponding function are removed.

【0018】最後に、参照アドレス変更処理5は、関数
インライン手段4でインライン展開を行った該当関数
(以下、インライン関数と記す)を呼び出している関数
(以下、親関数と記す)に、インライン関数を跨ぐジャ
ンプ命令が存在する場合、インライン関数をインライン
展開したことにより、ジャンプ命令と、ジャンプ先との
相対アドレスを変化するため、ジャンプ命令とジャンプ
先命令との相対アドレスを計算し修正する。また、親関
数のサイズも再計算し、親関数のシンボルテーブルの関
数の終了アドレスを更新する。
Finally, the reference address change processing 5 includes a function (hereinafter, referred to as a parent function) which calls a corresponding function (hereinafter, referred to as an inline function) subjected to inline expansion by the function inline means 4. If there is a jump instruction that straddles the instruction, the relative address between the jump instruction and the jump destination instruction is calculated and corrected because the inline expansion of the inline function changes the relative address between the jump instruction and the jump destination instruction. Also, the size of the parent function is recalculated, and the end address of the function in the parent function symbol table is updated.

【0019】以上の実施例は、インライン関数が末端関
数の場合であるが、本発明は、これに限定されることな
く、インライン関数が末端関数でない場合にも適用でき
る。すなわち、このような発明は、上述の実施例におけ
る関数呼び出し発見手段1,関数定義発見手段2,プロ
ローグ・エピローグ除去手段3,関数インライン展開手
段4および参照アドレス変更手段5を関数呼び出しがな
くなるまで繰り返し機能させることにより実現できる。
Although the above embodiment is directed to a case where the inline function is a terminal function, the present invention is not limited to this, and can be applied to a case where the inline function is not a terminal function. That is, according to the present invention, the function call finding means 1, the function definition finding means 2, the prologue / epilog removing means 3, the function inline expanding means 4 and the reference address changing means 5 in the above embodiment are repeated until there is no function call. It can be realized by functioning.

【0020】[0020]

【発明の効果】以上説明したように、本発明は、リンカ
による関数のインライン展開による実行速度の最適化を
行うものであって、ソースプログラム単位の異なる関数
の呼出し関係があっても関数のインライン展開が行える
ため、関数呼出しによるオーバーヘッドを小さくするこ
とができ実行プログラムの実行速度が向上するという効
果がある。
As described above, the present invention optimizes the execution speed by inline expansion of functions by a linker. Even if there is a calling relationship of a different function in a unit of a source program, the function of the function can be inlined. Since the expansion can be performed, there is an effect that the overhead due to the function call can be reduced and the execution speed of the execution program can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例を示す構成図である。FIG. 1 is a configuration diagram showing one embodiment of the present invention.

【図2】本発明の構成要素である関数呼出し情報テーブ
ルの構成図である。
FIG. 2 is a configuration diagram of a function call information table which is a component of the present invention.

【図3】本発明の構成要素である関数定義テーブルの構
成図である。
FIG. 3 is a configuration diagram of a function definition table that is a component of the present invention.

【符号の説明】[Explanation of symbols]

1 関数呼び出し発見手段 2 関数定義発見手段 3 プロローグ・エピローグ除去手段 4 関数インライン展開手段 5 参照アドレス変更手段 6 関数呼出し情報テーブル 7 関数定義テーブル 1 function call finding means 2 function definition finding means 3 prologue / epilogue removal means 4 function inline expansion means 5 reference address changing means 6 function call information table 7 function definition table

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 プログラムで呼出される関数のインライ
ン展開を、当該プログラムのオブジェクトファイルをま
とめて、実行プログラムを作成するリンク時に行うこと
を特徴とする関数のインライン展開装置。
1. A function inline expansion apparatus for performing inline expansion of a function called by a program at the time of linking to create an execution program by combining object files of the program.
【請求項2】 複数のオブジェクトプログラム中の関数
呼出しが存在する場合、呼び出し関数の関数名、および
関数の呼出し位置を構成要素とし、各関数呼出し毎に作
成される関数呼出し情報テーブルと、 該関数呼出し情報テーブルから検出された関数のサイ
ズ、関数のオブジェクトを構成要素とする関数定義テー
ブルと、 オブジェクトプログラム中の関数呼出しを検索し、前記
関数呼び出しテーブルを作成する関数呼出し発見手段
と、 前記関数呼出し情報テーブルに格納されている関数呼出
しの関数定義を検索し、前記関数定義テーブルを作成す
る関数定義発見手段と、 前記関数定義テーブルに格納されている関数のオブジェ
クトに対して、インライン展開により不要になる、関数
のプロローグ及びエピローグ命令の除去を行うプロロー
グ・エピローグ除去手段と、 前記関数定義テーブルに格納されている関数について、
関数呼出しテーブルを参照し、関数呼出し箇所に関数テ
ーブルに格納されているオブジェクトを埋め込み、関数
呼出し命令を削除する関数インライン展開手段と、 前記関数インライン展開手段によるインライン関数の親
関数のオブジェクト内のジャンプ命令とジャンプ命令先
の相対アドレスを修正する参照アドレス変更手段とを有
することを特徴とする請求項1記載の関数のインライン
展開装置。
2. A function call information table created for each function call, including a function name of a call function and a call position of the function when the function call exists in a plurality of object programs. A function definition table having a function size and a function object detected from a call information table as constituent elements, a function call discovery means for searching for a function call in an object program and creating the function call table, and the function call A function definition finding means for searching for a function definition of a function call stored in the information table and creating the function definition table, and unnecessary for the object of the function stored in the function definition table by inline expansion. Prologue to remove function prologue and epilogue instructions - and epilogue removal means, the functions stored in the function definition table,
Function inline expansion means for referring to a function call table, embedding an object stored in the function table at a function call location, and deleting a function call instruction; jumping in the parent function object of the inline function by the function inline expansion means 2. The function inline expansion apparatus according to claim 1, further comprising: a reference address changing unit for correcting a relative address of an instruction and a jump instruction destination.
【請求項3】 前記関数定義発見手段は、前記関数呼出
し情報テーブルから検索された関数が末端関数かどうか
を判定し、前記関数定義テーブルを作成することを特徴
とする請求項2記載の関数のインライン展開装置。
3. The function definition finding unit according to claim 2, wherein the function definition finding unit determines whether the function retrieved from the function call information table is a terminal function, and creates the function definition table. Inline expansion device.
JP18447596A 1996-07-15 1996-07-15 In-line developing device for function Pending JPH1031591A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18447596A JPH1031591A (en) 1996-07-15 1996-07-15 In-line developing device for function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18447596A JPH1031591A (en) 1996-07-15 1996-07-15 In-line developing device for function

Publications (1)

Publication Number Publication Date
JPH1031591A true JPH1031591A (en) 1998-02-03

Family

ID=16153825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18447596A Pending JPH1031591A (en) 1996-07-15 1996-07-15 In-line developing device for function

Country Status (1)

Country Link
JP (1) JPH1031591A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217193A (en) * 2007-03-01 2008-09-18 Nec Corp Prelink system, prelink method and program
JP2012198823A (en) * 2011-03-22 2012-10-18 Fujitsu Ltd Sequence processing program, sequence processing device, and sequence processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217193A (en) * 2007-03-01 2008-09-18 Nec Corp Prelink system, prelink method and program
JP2012198823A (en) * 2011-03-22 2012-10-18 Fujitsu Ltd Sequence processing program, sequence processing device, and sequence processing method

Similar Documents

Publication Publication Date Title
JP2811990B2 (en) Program processing device and program processing method
JP3190773B2 (en) Compile processing method of language processing program
JP4118456B2 (en) Program language processing system, code optimization method, and machine-readable storage medium
US20110119660A1 (en) Program conversion apparatus and program conversion method
US20010032306A1 (en) Memory disambiguation scheme for partially redundant load removal
US8510727B2 (en) Link-time redundant code elimination using functional equivalence
JP4181326B2 (en) Method, apparatus and program for code optimization
JPH02205929A (en) Compiling system
JPH11242597A (en) Method for generation of flow graph of java byte code data
JPH0926884A (en) Method and apparatus for making required flow information usable during task requiring binary information
US7689975B2 (en) Processing of a compileable computer program
JPH1031591A (en) In-line developing device for function
US20040045018A1 (en) Using address space bridge in postoptimizer to route indirect calls at runtime
JPH0689187A (en) Inline expansion optimizing method
JP2585793B2 (en) Compiler system
JP2008071065A (en) Compile device, method, program and storage medium for performing in-line expansion
JPH11149380A (en) Compiler, program optimizing method and recording medium recording its processing program
JP2002073347A (en) Exception handling method and compiler
JP3714201B2 (en) Call instruction rearrangement method, apparatus and program
JP2001290656A (en) Differential compiling system
JPH08297577A (en) Unconditional branching optimization system
JPH09274570A (en) Compile method and compiler system
JPH08263300A (en) Inline developing system
JPH10312291A (en) Compiler device
JP3604936B2 (en) Optimization method, optimization device, and recording medium

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990907