JP4093484B2 - コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 - Google Patents
コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP4093484B2 JP4093484B2 JP2004019506A JP2004019506A JP4093484B2 JP 4093484 B2 JP4093484 B2 JP 4093484B2 JP 2004019506 A JP2004019506 A JP 2004019506A JP 2004019506 A JP2004019506 A JP 2004019506A JP 4093484 B2 JP4093484 B2 JP 4093484B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- variable
- content
- storage area
- instruction sequence
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Description
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
なお、以降の説明において、メソッドコンパイル部140により変数の内容又は記憶領域の内容が特定の内容である場合の処理に最適化されたメソッドを、その変数又はその記憶領域について特殊化されたメソッドと呼ぶ。
なお、好ましくは、設定命令生成部150は、this.Vの内容を更新する更新命令が、常に単一のスレッドにより実行されると判断した場合に、synchronized命令を生成しな。この場合、synchronized命令に要する処理時間を削減することにより対象プログラム20をより高速に実行させることができる。
(項目1) 最適化の対象プログラムにおいて、変数の内容又は変数により指定される記憶領域の内容を更新する更新命令を検出する更新命令検出部と、前記対象プログラムにおいて、他の命令列に制御を移す制御移行命令により制御が移行されて、前記変数の内容又は前記記憶領域の内容に応じて異なる処理を行う命令列を検出する命令列検出部と、検出した当該命令列を、前記変数の内容又は前記記憶領域の内容が予め定められた特定の内容である場合の処理に最適化してコンパイルする命令列コンパイル部と、前記対象プログラムにおける、前記更新命令から前記制御移行命令までの間に、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合に実行され、前記制御移行命令の移行先アドレスを、前記命令列コンパイル部により最適化された前記命令列のアドレスに設定する設定命令を生成する設定命令生成部とを備える最適化コンパイラ。
(項目2) 前記対象プログラムは、オブジェクト指向プログラム言語で記述されており、前記命令列は、オブジェクトのメソッドであり、前記制御移行命令は、当該オブジェクトの複数のメソッドについて、各メソッドの識別情報を、当該メソッドをコンパイルした命令列のアドレスに対応付けたメソッドテーブルから、呼び出す対象のメソッドの識別情報に対応付けられたアドレスを選択して、当該アドレスに制御を移行することにより、当該メソッドを呼び出し、前記設定命令生成部は、前記設定命令として、前記更新命令により更新された内容が前記特定の内容である場合に実行され、前記命令列コンパイル部により最適化された命令列のアドレスを、前記メソッドテーブルに格納する命令を生成する項目1記載の最適化コンパイラ。
(項目3) 前記制御移行命令は、制御の移行を指示する命令コードと、制御の移行先アドレスを示すオペランドとを含み、前記設定命令生成部は、前記設定命令として、前記更新命令により更新された内容が前記特定の内容である場合に実行され、前記制御移行命令のオペランドを、前記命令列コンパイル部により最適化された前記命令列のアドレスに書換える命令を生成する項目1記載の最適化コンパイラ。
(項目5) 前記更新命令検出部は、前記対象プログラムの各変数について、当該変数の読み書き許可範囲から、当該変数又は当該変数により指定される記憶領域の全ての更新命令を検出し、前記更新命令検出部により当該変数又は当該変数により指定される記憶領域の全ての更新命令が検出された場合において、前記命令列コンパイル部は、前記命令列検出部が検出した前記命令列を、当該変数の内容又は当該記憶領域の内容が前記特定の内容である場合の処理に最適化してコンパイルした特殊化命令列と、当該命令列を、当該処理に最適化せずにコンパイルした通常命令列とを生成し、前記設定命令生成部は、前記更新命令検出部により検出された各更新命令について、当該更新命令から前記制御移行命令までの間に実行される範囲に、当該更新命令により更新された内容が前記特定の内容である場合には、前記移行先アドレスを前記特殊化命令列のアドレスに設定し、当該更新命令により更新された内容が前記特定の内容でない場合には、前記移行先アドレスを前記通常命令列のアドレスに設定する命令を、前記設定命令として生成する項目4記載の最適化コンパイラ。
(項目6) 前記設定命令生成部は、更に、変数の内容又は変数により指定される記憶領域の内容を当該変数の前記読み書き許可範囲外から書換えるリフレクションメソッド内に、各制御移行命令の移行先アドレスを前記通常命令列に設定する設定命令を生成する項目5記載の最適化コンパイラ。
(項目7) 前記命令列検出部が検出した前記命令列を、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合の処理に最適化した場合に、当該処理に最適化せずにコンパイルした場合と比較して、短縮される実行時間の見積を算出し、算出した当該実行時間の見積に、当該命令列の実行頻度の見積を乗じることにより、最適化の効果を算出する最適化効果算出部と、前記設定命令を生成した場合に当該設定命令に要する処理時間の見積を算出し、算出した当該処理時間の見積に、当該設定命令の実行頻度の見積を乗じることにより、最適化のオーバヘッドを算出する最適化オーバヘッド算出部とを更に備え、前記設定命令生成部は、各命令列についての前記最適化の効果の合計が、各設定命令についての前記最適化のオーバヘッドの合計を超える場合に設定命令を生成する項目1記載の最適化コンパイラ。
(項目9) 前記対象プログラムのプログラマは、前記対象プログラムにおける各変数に、当該変数の内容が他のスレッドの処理により更新され得ることを示すボラタイル属性を定めることができ、前記最適化効果算出部は、前記更新命令により更新される前記変数又は前記更新命令により更新される前記記憶領域を指定する変数に、前記ボラタイル属性が定められていない場合に、前記命令列検出部が検出した命令列から当該変数の内容又は当該記憶領域の内容をメモリから読み出す命令を削除することにより短縮される実行時間の見積を算出する項目7記載の最適化コンパイラ。
(項目10) 前記対象プログラムは、オブジェクト指向プログラム言語で記述されており、前記命令列は、オブジェクトのメソッドであり、前記命令列コンパイル部は、前記対象プログラムにおいて所定の変数又は記憶領域の更新命令がオブジェクトのコンストラクタのみにおいて検出された場合に、当該変数又は記憶領域の内容に応じて異なる処理を行う命令列を、当該変数又は記憶領域の内容が特定の内容である場合の処理に最適化してコンパイルする項目1記載の最適化コンパイラ。
(項目11) 前記対象プログラムは、オブジェクト指向プログラミング言語により記述されており、前記更新命令検出部は、前記更新命令として、オブジェクトのメンバー変数の内容又はメンバー変数により指定される記憶領域の内容を更新する命令を検出し、前記命令列検出部は、メソッド呼び出し命令により呼び出されて実行され、前記メンバー変数の内容又は前記メンバー変数により指定される記憶領域の内容に応じて異なる処理を行うメソッドを、前記命令列として検出し、前記命令列コンパイル部は、前記命令列検出部により検出されたメソッドを、メンバー変数の内容又はメンバー変数により指定される記憶領域の内容が前記特定の内容である場合の処理に最適化してコンパイルし、前記設定命令生成部は、前記設定命令として、前記更新命令により更新された内容が前記特定の内容である場合に実行され、前記メソッド呼出命令による呼出先アドレスを、前記命令列コンパイル部により最適化されたメソッドのアドレスに設定する命令を生成する項目1記載の最適化コンパイラ。
(項目13) 最適化の対象プログラムをコンピュータにより最適化させるコンパイルプログラムであって、前記コンピュータを、前記対象プログラムにおいて、変数の内容又は変数により指定される記憶領域の内容を更新する更新命令を検出する更新命令検出部と、前記対象プログラムにおいて、他の命令列に制御を移す制御移行命令により制御が移行されて、前記変数の内容又は前記記憶領域の内容に応じて異なる処理を行う命令列を検出する命令列検出部と、検出した当該命令列を、前記変数の内容又は前記記憶領域の内容が予め定められた特定の内容である場合の処理に最適化してコンパイルする命令列コンパイル部と、前記対象プログラムにおける、前記更新命令から前記制御移行命令までの間に、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合に実行され、前記制御移行命令の移行先アドレスを、前記命令列コンパイル部により最適化された前記命令列のアドレスに設定する設定命令を生成する設定命令生成部として機能させるコンパイルプログラム。
(項目14) 項目13記載のコンパイルプログラムを記録した記録媒体。
20 対象プログラム
30 結果プログラム
100 更新命令検出部
110 メソッド検出部
120 最適化効果算出部
130 最適化オーバヘッド算出部
140 メソッドコンパイル部
150 設定命令生成部
800 オブジェクト
810 ポインタ
820 第1メソッドテーブル
830 命令列
840 第2メソッドテーブル
850 命令列
Claims (12)
- コンピュータの制御によりプログラムを最適化する最適化コンパイラ装置であって、
オブジェクト指向プログラム言語で記述された対象プログラム、および、対象プログラムにおいて呼び出される各メソッドの識別情報に当該メソッドをコンパイルした命令列のアドレスを対応付けたメソッドテーブルを記憶している記憶装置と、
前記記憶装置にアクセスして、前記対象プログラムにおいて、変数の内容又は変数により指定される記憶領域の内容を更新する更新命令を前記コンピュータのCPUの制御により検出する更新命令検出部と、
呼び出し先のメソッドの識別情報に対応するアドレスを前記メソッドテーブルから読み出すと共に当該アドレスに制御を移す制御移行命令、および、当該制御移行命令により制御が移行されて、前記変数の内容又は前記記憶領域の内容に応じて異なる処理を行う命令列を前記CPUの制御により検出する命令列検出部と、
検出した当該命令列を、前記CPUの制御により、前記変数の内容又は前記記憶領域の内容が予め定められた特定の内容である場合の処理に最適化してコンパイルし、前記記憶装置に格納する命令列コンパイル部と、
前記対象プログラムにおける、前記更新命令から前記制御移行命令までの間に、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合に実行され、前記命令列コンパイル部により最適化された命令列のアドレスを前記メソッドテーブルに格納する命令である設定命令を前記CPUの制御により生成して、当該設定命令を生成した対象プログラムを前記記憶装置に格納する設定命令生成部と
を備える最適化コンパイラ装置。 - 前記対象プログラムは、制御の移行を指示する命令コードと、制御の移行先アドレスを示すオペランドとを含む制御移行命令を有し、
前記設定命令生成部は、前記制御移行命令が前記命令コードおよび前記オペランドを含む場合には、前記設定命令として、前記更新命令により更新された内容が前記特定の内容である場合に実行され、前記制御移行命令のオペランドを、前記命令列コンパイル部により最適化された前記命令列のアドレスに書換える命令を生成する
請求項1記載の最適化コンパイラ装置。 - 前記対象プログラムの各変数には、前記対象プログラムのうち、当該変数の内容を読み書きする命令の実行が許可される読み書き許可範囲を示す属性が定められており、
前記更新命令検出部は、各変数の前記読み書き許可範囲から、当該変数の更新命令を検出し、
前記命令列検出部は、各変数の前記読み書き許可範囲から、当該変数の内容又は当該変数により指定される記憶領域の内容に応じて異なる処理を行う命令列を検出する
請求項1記載の最適化コンパイラ装置。 - 前記更新命令検出部は、前記対象プログラムの各変数について、当該変数の読み書き許可範囲から、当該変数又は当該変数により指定される記憶領域の全ての更新命令を検出し、
前記更新命令検出部により当該変数又は当該変数により指定される記憶領域の全ての更新命令が検出された場合において、
前記命令列コンパイル部は、前記命令列検出部が検出した前記命令列を、当該変数の内容又は当該記憶領域の内容が前記特定の内容である場合の処理に最適化してコンパイルした特殊化命令列と、当該命令列を、当該処理に最適化せずにコンパイルした通常命令列とを生成し、
前記設定命令生成部は、前記更新命令検出部により検出された各更新命令について、当該更新命令から前記制御移行命令までの間に実行される範囲に、当該更新命令により更新された内容が前記特定の内容である場合には、制御移行命令の移行先アドレスを前記特殊化命令列のアドレスに設定し、当該更新命令により更新された内容が前記特定の内容でない場合には、前記移行先アドレスを前記通常命令列のアドレスに設定する命令を、前記設定命令として生成する
請求項3記載の最適化コンパイラ装置。 - 前記設定命令生成部は、更に、変数の内容又は変数により指定される記憶領域の内容を当該変数の前記読み書き許可範囲外から書換えるリフレクションメソッド内に、各制御移行命令の移行先アドレスを前記通常命令列に設定する設定命令を生成する
請求項4記載の最適化コンパイラ装置。 - 前記命令列検出部が検出した前記命令列を、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合の処理に最適化した場合に、当該処理に最適化せずにコンパイルした場合と比較して、短縮される実行時間の見積を、前記対象プログラムに基づいて前記CPUの制御により算出し、算出した当該実行時間の見積に、当該命令列の実行頻度の見積を乗じることにより、最適化の効果を前記CPUの制御により算出する最適化効果算出部と、
前記設定命令を生成した場合に当該設定命令に要する処理時間の見積を前記対象プログラムに基づいて前記CPUの制御により算出し、算出した当該処理時間の見積に、当該設定命令の実行頻度の見積を乗じることにより、最適化のオーバヘッドを前記CPUの制御により算出する最適化オーバヘッド算出部と
を更に備え、
前記設定命令生成部は、各命令列についての前記最適化の効果の合計が、各設定命令についての前記最適化のオーバヘッドの合計を超える場合に設定命令を生成する
請求項1記載の最適化コンパイラ装置。 - 前記最適化効果算出部は、前記命令列検出部が検出した命令列において、前記変数又は前記記憶領域の内容を読み出す命令より先に実行される範囲に、当該変数又は当該記憶領域の内容を変更し得る命令が含まれない場合に、当該変数又は当該記憶領域の内容をメモリから読み出す命令を削除することにより短縮される実行時間の見積を算出する
請求項6記載の最適化コンパイラ装置。 - 前記対象プログラムのプログラマは、前記対象プログラムにおける各変数に、当該変数の内容が他のスレッドの処理により更新され得ることを示すボラタイル属性を定めることができ、
前記最適化効果算出部は、前記更新命令により更新される前記変数又は前記更新命令により更新される前記記憶領域を指定する変数に、前記ボラタイル属性が定められていない場合に、前記命令列検出部が検出した命令列から当該変数の内容又は当該記憶領域の内容をメモリから読み出す命令を削除することにより短縮される実行時間の見積を算出する
請求項6記載の最適化コンパイラ装置。 - 前記対象プログラムは、オブジェクト指向プログラム言語で記述されており、
前記命令列は、オブジェクトのメソッドであり、
前記命令列コンパイル部は、前記対象プログラムにおいて所定の変数又は記憶領域の更新命令がオブジェクトのコンストラクタのみにおいて検出された場合に、当該変数又は記憶領域の内容に応じて異なる処理を行う命令列を、当該変数又は記憶領域の内容が特定の内容である場合の処理に最適化してコンパイルする
請求項1記載の最適化コンパイラ装置。 - 前記対象プログラムは、オブジェクト指向プログラミング言語により記述されており、
前記更新命令検出部は、前記更新命令として、オブジェクトのメンバー変数の内容又はメンバー変数により指定される記憶領域の内容を更新する命令を検出し、
前記命令列検出部は、メソッド呼び出し命令により呼び出されて実行され、前記メンバー変数の内容又は前記メンバー変数により指定される記憶領域の内容に応じて異なる処理を行うメソッドを、前記命令列として検出し、
前記命令列コンパイル部は、前記命令列検出部により検出されたメソッドを、メンバー変数の内容又はメンバー変数により指定される記憶領域の内容が前記特定の内容である場合の処理に最適化してコンパイルし、
前記設定命令生成部は、前記設定命令として、前記更新命令により更新された内容が前記特定の内容である場合に実行され、メソッド呼出命令による呼出先アドレスを、前記命令列コンパイル部により最適化されたメソッドのアドレスに設定する命令を生成する
請求項1記載の最適化コンパイラ装置。 - 最適化の対象プログラムをコンピュータにより最適化するコンパイル方法であって、
前記コンピュータは、オブジェクト指向プログラム言語で記述された対象プログラム、および、対象プログラムにおいて呼び出される各メソッドの識別情報に当該メソッドをコンパイルした命令列のアドレスを対応付けたメソッドテーブルを記憶している記憶装置を備え、
前記記憶装置にアクセスして、前記対象プログラムにおいて、変数の内容又は変数により指定される記憶領域の内容を更新する更新命令を前記コンピュータのCPUの制御により検出する更新命令検出段階と、
呼び出し先のメソッドの識別情報に対応するアドレスを前記メソッドテーブルから読み出すと共に当該アドレスに制御を移す制御移行命令、および、当該制御移行命令により制御が移行されて、前記変数の内容又は前記記憶領域の内容に応じて異なる処理を行う命令列を前記CPUの制御により検出する命令列検出段階と、
検出した当該命令列を、前記CPUの制御により、前記変数の内容又は前記記憶領域の内容が予め定められた特定の内容である場合の処理に最適化してコンパイルし、前記記憶装置に格納する命令列コンパイル段階と、
前記対象プログラムにおける、前記更新命令から前記制御移行命令までの間に、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合に実行され、前記命令列コンパイル段階において最適化された命令列のアドレスを前記メソッドテーブルに格納する命令である設定命令を前記CPUの制御により生成して、当該設定命令を生成した対象プログラムを前記記憶装置に格納する設定命令生成段階と
を備えるコンパイル方法。 - 最適化の対象プログラムをコンピュータにより最適化させるコンパイルプログラムであって、
前記コンピュータは、オブジェクト指向プログラム言語で記述された対象プログラム、および、対象プログラムにおいて呼び出される各メソッドの識別情報に当該メソッドをコンパイルした命令列のアドレスを対応付けたメソッドテーブルを記憶している記憶装置を備え、
前記コンピュータを、
前記記憶装置にアクセスして、前記対象プログラムにおいて、変数の内容又は変数により指定される記憶領域の内容を更新する更新命令を前記コンピュータのCPUの制御により検出する更新命令検出部と、
呼び出し先のメソッドの識別情報に対応するアドレスを前記メソッドテーブルから読み出すと共に当該アドレスに制御を移す制御移行命令、および、当該制御移行命令により制御が移行されて、前記変数の内容又は前記記憶領域の内容に応じて異なる処理を行う命令列を前記CPUの制御により検出する命令列検出部と、
検出した当該命令列を、前記CPUの制御により、前記変数の内容又は前記記憶領域の内容が予め定められた特定の内容である場合の処理に最適化してコンパイルし、前記記憶装置に格納する命令列コンパイル部と、
前記対象プログラムにおける、前記更新命令から前記制御移行命令までの間に、前記変数の内容又は前記記憶領域の内容が前記特定の内容である場合に実行され、前記命令列コンパイル部により最適化された命令列のアドレスを前記メソッドテーブルに格納する命令である設定命令を前記CPUの制御により生成して、当該設定命令を生成した対象プログラムを前記記憶装置に格納する設定命令生成部と
して機能させるコンパイルプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004019506A JP4093484B2 (ja) | 2004-01-28 | 2004-01-28 | コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 |
US11/045,923 US7409678B2 (en) | 2004-01-28 | 2005-01-28 | Compiler, compilation and storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004019506A JP4093484B2 (ja) | 2004-01-28 | 2004-01-28 | コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005215830A JP2005215830A (ja) | 2005-08-11 |
JP4093484B2 true JP4093484B2 (ja) | 2008-06-04 |
Family
ID=34903698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004019506A Expired - Fee Related JP4093484B2 (ja) | 2004-01-28 | 2004-01-28 | コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4093484B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5042487B2 (ja) * | 2005-11-22 | 2012-10-03 | 株式会社日立ソリューションズ | コンピュータの動作方法、プログラム、コンピュータ |
JP5039948B2 (ja) * | 2007-10-30 | 2012-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムを最適化するコンパイラ |
JP4806060B2 (ja) * | 2009-09-15 | 2011-11-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイラ・プログラム、コンパイル方法及びコンピュータ・システム |
JP2011103026A (ja) * | 2009-11-10 | 2011-05-26 | Hitachi Ltd | 実行命令数計測方法、実行クロック数計測方法及び計算機システム |
JP5846581B2 (ja) | 2012-04-25 | 2016-01-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コードを投機的に最適化するための方法、並びにそのコンピュータ及びコンピュータ・プログラム |
JP5950288B2 (ja) | 2014-09-16 | 2016-07-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラミング言語の処理系を実現する装置及び方法 |
CN110244954B (zh) * | 2019-05-22 | 2022-12-09 | 深圳赛安特技术服务有限公司 | 一种应用程序的编译方法及设备 |
CN110333893B (zh) * | 2019-06-28 | 2023-04-18 | 百度在线网络技术(北京)有限公司 | 应用程序的修复方法、装置、设备和存储介质 |
-
2004
- 2004-01-28 JP JP2004019506A patent/JP4093484B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005215830A (ja) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4099153B1 (en) | Extending a virtual machine instruction set architecture | |
US20050166195A1 (en) | Compiler, compilation and storage | |
US8627281B2 (en) | Method, computer program and computer system for converting source code written in dynamically typed language into target code written in statically typed language and executing target code | |
US6907519B2 (en) | Systems and methods for integrating emulated and native code | |
US9690604B2 (en) | Language-based model for asynchronous operations | |
US7185327B2 (en) | System and method for optimizing operations via dataflow analysis | |
US20020095665A1 (en) | Marking memory elements based upon usage of accessed information during speculative execution | |
US20100095286A1 (en) | Register reduction and liveness analysis techniques for program code | |
JP2007522584A (ja) | 仮想マシン環境におけるアプリケーション・プログラム・インタフェースの最適化の方法および装置 | |
US20050177821A1 (en) | Compiler, dynamic compiler, and replay compiler | |
KR20110136749A (ko) | 효율적인 동적 이진 변환을 위한 레지스터 매핑 방법, 시스템 및 컴퓨터 판독가능 저장 매체 | |
US8291393B2 (en) | Just-in-time compiler support for interruptible code | |
US7124407B1 (en) | Method and apparatus for caching native code in a virtual machine interpreter | |
US20030192035A1 (en) | Systems and methods for implementing efficient execution transfers between successive translations of stack-based program code in a virtual machine environment | |
KR100577366B1 (ko) | 이종의 자바 메소드를 실행하는 방법 및 장치 | |
JP2000347876A (ja) | スタック・スロット割当て方法および装置 | |
JP5845221B2 (ja) | 高速パッチベースメソッドコール | |
US7739674B2 (en) | Method and apparatus for selectively optimizing interpreted language code | |
US7086044B2 (en) | Method, article of manufacture and apparatus for performing automatic intermodule call linkage optimization | |
JP4093484B2 (ja) | コンパイラ、コンパイル方法、コンパイルプログラム、及び記録媒体 | |
US6260191B1 (en) | User controlled relaxation of optimization constraints related to volatile memory references | |
US8589899B2 (en) | Optimization system, optimization method, and compiler program | |
US8490073B2 (en) | Controlling tracing within compiled code | |
US7451437B2 (en) | Compiler device, program, and recording medium | |
US6925636B2 (en) | Method and apparatus for refining an alias set of address taken variables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071210 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080226 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080229 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |