JP4178278B2 - コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体 - Google Patents
コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP4178278B2 JP4178278B2 JP2004154794A JP2004154794A JP4178278B2 JP 4178278 B2 JP4178278 B2 JP 4178278B2 JP 2004154794 A JP2004154794 A JP 2004154794A JP 2004154794 A JP2004154794 A JP 2004154794A JP 4178278 B2 JP4178278 B2 JP 4178278B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- partial program
- target
- replacement
- 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
- 238000000034 method Methods 0.000 title claims description 66
- 238000005457 optimization Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 49
- 230000009466 transformation Effects 0.000 claims description 48
- 238000001514 detection method Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 8
- 230000006698 induction Effects 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims 1
- 230000006872 improvement Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101150064138 MAP1 gene Proteins 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
Jianghai Fu. Directed graph pattern matching and topological e mbedding.Journal of Algorithms, 22(2):372-391, February 1997. S.S. Muchnick. Advanced compiler design and implementation, Morgan Kaufmann Publishers, Inc., 1997. Arvind Gupta and Naomi Nishimura. Finding Largest Subtrees and Smallest Supertrees, Algorithmica, Vol. 21, No. 2, pp. 183-210, 1998 http://publibz.boulder.ibm.com/epubs/pdf/dz9zr002.pdf のページ7-180
続いて、コンパイラ10が対象プログラムを入力して最適化する4つの例を順次説明する。
図5(a)は、第1の例における置換対象パターン20を示す。置換対象パターン20は、図16に示した命令列を検出するための置換対象パターンである。図16に示した命令列において、switch命令(2)の分岐先は、2から256までの数で可変である。従って、このswitch命令を適切に検出するには、2から256までのそれぞれの数の分岐先を有する255個の置換対象パターン20を生成する必要があるとも考えられる。しかし、多くの置換対象パターン20と部分プログラムとを比較するのには、多くの処理時間を要するので効率的でない。
図8は、コンパイラ10が最適化する対象部分プログラム40の第2の例を示す。(a)は、対象部分プログラム40の処理内容を示すソースプログラムである。(b)は、対象部分プログラム40の制御フローグラフである。対象部分プログラム40により、コンピュータは、変数bytesにより定められる記憶領域を、変数offsetが示すインデックスにより順次走査する。そして、負の値が検出された場合に、ループ処理を終了する。
図10は、コンパイラ10が最適化する対象部分プログラム40の第3の例を示す。本図は、対象部分プログラム40の処理内容を示すソースプログラムである。対象部分プログラム40により、コンピュータは、変数bytesにより定められる記憶領域を、変数offsetが示すインデックスにより順次走査する。そして、負の値が検出された場合に、ループ処理を終了する。更に、このループ処理において、変数aにより定まる記憶領域を先頭から順に0で初期化する。
図12は、コンパイラ10が最適化する対象部分プログラム40の第4の例を示す。(a)は、対象部分プログラム40の処理内容を示すソースプログラムである。(b)は、対象部分プログラム40の制御フローグラフである。対象部分プログラム40によれば、コンピュータは、変数inputに格納されたデータにおける値が1のビットの数をカウントし、変数outputに格納する。このプログラムによると、変数inputのビット数に比例して処理時間が増加するので、効率的でない。
20 置換対象パターン
30 置換先命令テンプレート
40 対象部分プログラム
50 対象部分プログラム
60 結果部分プログラム
100 最適化候補検出部
110 対象部分プログラム検出部
120 命令列変形部
130 命令列置換部
Claims (16)
- 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換して最適化するコンパイラ装置であって、
前記対象プログラムが有する複数の部分プログラムのうち、前記置換対象パターンに含まれる全ての命令に対応する命令を含む部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出部と、
変形前後において前記対象部分プログラムの処理結果が変更されないことを条件として、前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形部と、
前記命令列変形部により変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換部と
を備えるコンパイラ装置。 - 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換する最適化するコンパイラ装置であって、
前記置換対象パターンに含まれる全ての命令に対応する命令のうち何割の命令がそれぞれの前記部分プログラムに含まれているかを示す割合が、所定の基準割合以上である前記部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出部と、
前記置換対象パターンに含まれる命令のうち、前記対象部分プログラムに不足している不足命令を前記対象部分プログラムに追加し、且つ、前記対象プログラムにおける処理結果を、前記不足命令を追加する前の処理結果に戻すためのキャンセル命令を前記対象部分プログラムに追加し、前記不足命令および前記キャンセル命令を追加した前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形部と、
前記命令列変形部により変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換部と
を備えるコンパイラ装置。 - 前記対象プログラムのうち、前記置換対象パターンに含まれるメモリアクセス命令とアクセス対象のデータの型が同一のメモリアクセス命令を含む部分プログラムを、最適化の候補となる部分プログラムとして検出する最適化候補検出部を更に備え、
前記対象部分プログラム検出部は、前記最適化候補検出部により検出された部分プログラムの中から、前記対象部分プログラムを検出する
請求項1又は2に記載のコンパイラ装置。 - 前記対象プログラムのうち、前記置換対象パターンに含まれるループ処理と比較してループ誘導変数の増分が同一であるループ処理を含む部分プログラムを、最適化の候補となる部分プログラムとして検出する最適化候補検出部を更に備え、
前記対象部分プログラム検出部は、前記最適化候補検出部により検出された部分プログラムの中から、前記対象部分プログラムを検出する
請求項1又は2に記載のコンパイラ装置。 - 前記対象プログラムのうち、予め定められた基準回数以上繰り返し処理されるループ処理を含む部分プログラムを、最適化の候補となる部分プログラムとして検出する最適化候補検出部を更に備え、
前記対象部分プログラム検出部は、前記最適化候補検出部により検出された部分プログラムの中から、前記対象部分プログラムを検出する
請求項1又は2に記載のコンパイラ装置。 - 前記対象部分プログラム検出部は、前記置換対象パターンに含まれる何れの命令にも対応しない命令である余剰命令をループ処理内に含む部分プログラムを、前記対象部分プログラムとして検出し、
前記命令列変形部は、前記対象部分プログラムのループ処理内に含まれる前記余剰命令の実行結果が、ループ処理の繰り返しによらず同一であることを条件として、当該余剰命令を当該ループ処理の外で実行させ、
前記命令列置換部は、前記余剰命令を除外した前記ループ処理を、前記置換先命令列に置換する
請求項1記載のコンパイラ装置。 - 前記対象部分プログラム検出部は、前記置換対象パターンに含まれる何れの命令にも対応しない命令である余剰命令をループ処理内に含む部分プログラムを、前記対象部分プログラムとして検出し、
前記命令列変形部は、前記対象部分プログラムのループ処理を、前記余剰命令及び前記余剰命令以外の命令列を各々実行する2つのループ処理に分割し、
前記命令列置換部は、前記余剰命令以外の命令列を、前記置換先命令列に置換する
請求項1記載のコンパイラ装置。 - 前記命令列変形部は、前記不足命令の処理結果が格納される記憶領域の値を前記不足命令に先立って退避する退避命令と、当該記憶領域に退避した前記値を前記不足命令の実行後に復帰する復帰命令とを、前記キャンセル命令として生成し、前記対象部分プログラム外で実行させる
請求項2記載のコンパイラ装置。 - 前記対象部分プログラム検出部は、各々の当該部分プログラムについて、前記置換対象パターンと比較して当該部分プログラムにおいて不足している命令を当該部分プログラムに追加した場合に増加する処理時間が、前記命令列変形部により前記部分プログラムが前記置換先命令列に置換された場合に短縮される処理時間より小さい場合に、当該部分プログラムを前記対象部分プログラムとして検出する
請求項2記載のコンパイラ装置。 - 前記命令列置換部は、前記対象部分プログラムが有する2以上の命令を、当該2以上の命令による処理と同一の処理を行う1つの命令に置換する
請求項1又は2記載のコンパイラ装置。 - 前記命令列置換部は、より長い処理時間を要するアルゴリズムによる処理の命令列を、より短い処理時間を要する他のアルゴリズムによる処理の命令列に置換する
請求項1又は2記載のコンパイラ装置。 - 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換して最適化する最適化方法であって、
対象部分プログラム検出部が、前記対象プログラムが有する複数の部分プログラムのうち、前記置換対象パターンに含まれる全ての命令に対応する命令を含む部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出段階と、
変形前後において前記対象部分プログラムの処理結果が変更されないことを条件として、命令列変形部が、前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形段階と、
命令列置換部が、前記命令列変形段階において変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換段階と
を備える最適化方法。 - 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換する最適化する最適化方法であって、
対象部分プログラム検出部が、前記置換対象パターンに含まれる全ての命令に対応する命令のうち何割の命令がそれぞれの前記部分プログラムに含まれているかを示す割合が、所定の基準割合以上である前記部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出段階と、
命令列変形部が、前記置換対象パターンに含まれる命令のうち、前記対象部分プログラムに不足している不足命令を前記対象部分プログラムに追加し、且つ、前記対象プログラムにおける処理結果を、前記不足命令を追加する前の処理結果に戻すためのキャンセル命令を前記対象部分プログラムに追加し、前記不足命令および前記キャンセル命令を追加した前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形段階と、
命令列置換部が、前記命令列変形段階において変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換段階と
を備える最適化方法。 - 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換して最適化するコンパイラ装置として、コンピュータを機能させるコンパイラプログラムであって、
前記コンピュータを、
前記対象プログラムが有する複数の部分プログラムのうち、前記置換対象パターンに含まれる全ての命令に対応する命令を含む部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出部と、
変形前後において前記対象部分プログラムの処理結果が変更されないことを条件として、前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形部と、
前記命令列変形部により変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換部と
して機能させるコンパイラプログラム。 - 最適化対象の対象プログラムの中から、予め定められた複数の命令を有する置換対象パターンに類似する対象部分プログラムを検出し、検出した前記対象部分プログラムの少なくとも一部を、前記置換対象パターンに対応して定められた置換先命令列に置換する最適化するコンパイラ装置として、コンピュータを機能させるコンパイラプログラムであって、
前記コンピュータを、
前記置換対象パターンに含まれる全ての命令に対応する命令のうち何割の命令がそれぞれの前記部分プログラムに含まれているかを示す割合が、所定の基準割合以上である前記部分プログラムを、前記置換対象パターンに類似する対象部分プログラムとして検出する対象部分プログラム検出部と、
前記置換対象パターンに含まれる命令のうち、前記対象部分プログラムに不足している不足命令を前記対象部分プログラムに追加し、且つ、前記対象プログラムにおける処理結果を、前記不足命令を追加する前の処理結果に戻すためのキャンセル命令を前記対象部分プログラムに追加し、前記不足命令および前記キャンセル命令を追加した前記対象部分プログラムを変形して、前記対象部分プログラムを、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列と、他の命令列とに分割する命令列変形部と、
前記命令列変形部により変形された前記対象部分プログラムにおける、命令の実行順序が前記置換対象パターンにおける命令の実行順序と同一となる命令列を、前記置換対象パターンに対応して定められた置換先命令列に置換する命令列置換部と
して機能させるコンパイラプログラム。 - 請求項14及び請求項15の何れかに記載のコンパイラプログラムを記録した記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004154794A JP4178278B2 (ja) | 2004-05-25 | 2004-05-25 | コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体 |
US11/133,897 US7707568B2 (en) | 2004-05-25 | 2005-05-20 | Compiler optimization |
US12/167,421 US20090007086A1 (en) | 2004-05-25 | 2008-07-03 | Compiler Optimization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004154794A JP4178278B2 (ja) | 2004-05-25 | 2004-05-25 | コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005339021A JP2005339021A (ja) | 2005-12-08 |
JP4178278B2 true JP4178278B2 (ja) | 2008-11-12 |
Family
ID=35426897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004154794A Expired - Fee Related JP4178278B2 (ja) | 2004-05-25 | 2004-05-25 | コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7707568B2 (ja) |
JP (1) | JP4178278B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200811A1 (en) * | 2005-03-07 | 2006-09-07 | Cheng Stephen M | Method of generating optimised stack code |
JP2008059279A (ja) * | 2006-08-31 | 2008-03-13 | Internatl Business Mach Corp <Ibm> | 文字列出力処理を最適化する技術 |
JP2008097249A (ja) | 2006-10-11 | 2008-04-24 | Internatl Business Mach Corp <Ibm> | プログラム中の命令列をより高速な命令に置換する技術 |
US8656381B2 (en) * | 2006-12-07 | 2014-02-18 | International Business Machines Corporation | Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations |
US7430733B1 (en) * | 2007-11-15 | 2008-09-30 | International Business Machines Corporation | Method for validation of binary code transformations |
JP2009205264A (ja) * | 2008-02-26 | 2009-09-10 | Nippon Telegr & Teleph Corp <Ntt> | ウェブサービス要求処理装置、ウェブサービス要求処理方法、及びウェブサービス要求処理システム |
US9134977B2 (en) * | 2010-02-26 | 2015-09-15 | Red Hat, Inc. | Compiler operation for handling conditional statements |
FR2960988B1 (fr) * | 2010-06-03 | 2013-03-15 | Invia | Methode de compression et de decompression d'un programme executable ou interpretable |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
GB2521367A (en) * | 2013-12-17 | 2015-06-24 | Ibm | Adaptable and extensible runtime and system for heterogeneous computer systems |
EP3177990B1 (en) * | 2014-08-29 | 2021-03-17 | Huawei Technologies Co., Ltd. | Method for compiling a source code |
JP6547477B2 (ja) * | 2015-07-15 | 2019-07-24 | 富士通株式会社 | ソースコード最適化装置、ソースコード最適化プログラム及びオブジェクトコード生成方法 |
US10776087B2 (en) * | 2018-06-25 | 2020-09-15 | Intel Corporation | Sequence optimizations in a high-performance computing environment |
US10970073B2 (en) * | 2018-10-02 | 2021-04-06 | International Business Machines Corporation | Branch optimization during loading |
US11379200B2 (en) * | 2020-01-30 | 2022-07-05 | Oracle International Corporation | Method for applying graph-specific compiler optimizations to graph analysis programs |
CN112947999B (zh) * | 2021-03-10 | 2022-06-28 | 超睿科技(上海)有限公司 | 一种精简指令集计算机指令功能扩展的方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0721032A (ja) | 1993-07-01 | 1995-01-24 | Mitsubishi Electric Corp | プログラム最適化処理方式 |
JP3311462B2 (ja) * | 1994-02-23 | 2002-08-05 | 富士通株式会社 | コンパイル処理装置 |
US6343375B1 (en) * | 1998-04-24 | 2002-01-29 | International Business Machines Corporation | Method for optimizing array bounds checks in programs |
US6463582B1 (en) * | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
GB2345989A (en) * | 1999-01-23 | 2000-07-26 | Ibm | Executing defined sequences of prolog instructions. |
JP3470948B2 (ja) * | 1999-01-28 | 2003-11-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ |
JP2000284970A (ja) | 1999-03-29 | 2000-10-13 | Matsushita Electric Ind Co Ltd | プログラム変換装置及びプロセッサ |
US6507947B1 (en) * | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6892380B2 (en) * | 1999-12-30 | 2005-05-10 | Texas Instruments Incorporated | Method for software pipelining of irregular conditional control loops |
US7386839B1 (en) * | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US20050108695A1 (en) * | 2003-11-14 | 2005-05-19 | Long Li | Apparatus and method for an automatic thread-partition compiler |
-
2004
- 2004-05-25 JP JP2004154794A patent/JP4178278B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-20 US US11/133,897 patent/US7707568B2/en not_active Expired - Fee Related
-
2008
- 2008-07-03 US US12/167,421 patent/US20090007086A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US7707568B2 (en) | 2010-04-27 |
JP2005339021A (ja) | 2005-12-08 |
US20090007086A1 (en) | 2009-01-01 |
US20050268293A1 (en) | 2005-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090007086A1 (en) | Compiler Optimization | |
US8104026B2 (en) | Compiler register allocation and compilation | |
US8291398B2 (en) | Compiler for optimizing program | |
US8266603B2 (en) | Technique for allocating register to variable for compiling | |
US6983458B1 (en) | System for optimizing data type definition in program language processing, method and computer readable recording medium therefor | |
JP5966509B2 (ja) | プログラム、コード生成方法および情報処理装置 | |
US8176100B2 (en) | System for storing and managing objects | |
JP2000035893A (ja) | デ―タ処理システムの配列の静的初期化方法、デ―タ処理方法、並びにデ―タ処理システム及びその制御手順をコンピュ―タに実行させるプログラムを記憶したコンピュ―タ読み取り可能な記憶媒体 | |
JP2008059279A (ja) | 文字列出力処理を最適化する技術 | |
JP2004062520A (ja) | 最適化装置、コンパイラプログラム、最適化方法、及び記録媒体 | |
US8296750B2 (en) | Optimization of a target program | |
JP2004362216A (ja) | コンパイラ装置、コンパイル方法、コンパイラプログラム、及び記録媒体 | |
US20150212804A1 (en) | Loop distribution detection program and loop distribution detection method | |
JP4042972B2 (ja) | 最適化コンパイラ、コンパイラプログラム、及び記録媒体 | |
US7526761B2 (en) | Exception handling compiler apparatus, program, recording medium, and compiling method | |
US7383544B2 (en) | Compiler device, method, program and recording medium | |
JP2005173645A (ja) | プログラム開発支援装置、プログラム開発支援方法、プログラム、及び、記録媒体 | |
JP2018163505A (ja) | 検索プログラム、情報処理装置および検索方法 | |
US20090119632A1 (en) | Method for supporting determination of design process order | |
US20040187101A1 (en) | Compiler, compiler program, recording medium, and compiling method | |
JP4522216B2 (ja) | 画像処理装置 | |
US20230034198A1 (en) | Using dynamic data structures for storing data objects | |
JP6545406B2 (ja) | 高位合成装置、高位合成方法および高位合成プログラム | |
JP6547477B2 (ja) | ソースコード最適化装置、ソースコード最適化プログラム及びオブジェクトコード生成方法 | |
JP2002259987A (ja) | 画像処理装置及び方法、記憶媒体、コンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071210 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080520 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080603 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080709 |
|
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: 20080729 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080806 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |