JP2011107848A - Device, method and program for predicting size of executable object - Google Patents
Device, method and program for predicting size of executable object Download PDFInfo
- Publication number
- JP2011107848A JP2011107848A JP2009260469A JP2009260469A JP2011107848A JP 2011107848 A JP2011107848 A JP 2011107848A JP 2009260469 A JP2009260469 A JP 2009260469A JP 2009260469 A JP2009260469 A JP 2009260469A JP 2011107848 A JP2011107848 A JP 2011107848A
- Authority
- JP
- Japan
- Prior art keywords
- size
- global variable
- area
- code
- global
- 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
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、実行可能オブジェクトのサイズ予測装置、そのサイズ予測方法、及びそのプログラムに関する。 The present invention relates to an executable object size prediction apparatus, a size prediction method thereof, and a program thereof.
少ないコード量でアクセスできる任意のメモリ領域である、ショートダイレクトアドレッシング可能メモリ領域が知られている。ショートダイレクトアドレッシング可能メモリ領域を持つデバイスの場合、ショートダイレクトアドレッシング可能メモリ領域をアクセスする命令は、通常のメモリ領域をアクセスする命令よりも命令サイズが小さい。そのため、ショートダイレクトアドレッシング可能メモリ領域に配置された広域変数は、通常のアドレッシングでアクセスするメモリ領域に配置された変数よりも少ないコード量でアクセスすることができる。(特許文献1、非特許文献1)。そのため、プログラム中からショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を適切に選び出すことにより、プログラムのコード効率を向上させることができる。
A short direct addressable memory area, which is an arbitrary memory area that can be accessed with a small code amount, is known. In the case of a device having a short direct addressable memory area, an instruction size for accessing the short direct addressable memory area is smaller than an instruction size for accessing a normal memory area. For this reason, the global variable arranged in the short direct addressable memory area can be accessed with a smaller code amount than the variable arranged in the memory area accessed by the normal addressing. (
ショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を指定する方法として、ソースコード中で広域変数にショートダイレクトアドレッシング可能メモリ領域へ配置することを指示する記述を追記する方法がある(非特許文献2)。以下、図1を参照して、そのショートダイレクトアドレッシング可能メモリ領域配に広域変数を配置指定するための情報処理システムについて説明する。図1は、情報処理システムの構成を示すブロック図である。この図は、情報処理システムの構成を示し、更にショートダイレクトアドレッシング可能メモリ領域に、広域変数を配置指定するときの各ツールと各入出力ファイルとの関係を示している。この情報処理システムは、コンパイラ101とリンカ107とを具備している。コンパイラ101は、入力されたソースコード102−1〜102−3を翻訳し、再配置可能オブジェクト104−1〜104−3を生成する。このとき、ソースコード102中でショートダイレクトアドレッシング可能メモリ領域に配置する指定がなされている広域変数に対しては、ショートダイレクトアドレッシングでアクセスするコードを生成する。リンカ107は、コンパイラ101で生成された複数の再配置可能オブジェクト104−1〜104−3を結合し、外部参照の解決、絶対アドレスの決定を行い、実行可能オブジェクト108を生成する。
As a method for designating a global variable to be arranged in a short direct addressable memory area, there is a method of adding a description instructing the global variable to be arranged in the short direct addressable memory area in the source code (Non-patent Document 2). . Hereinafter, an information processing system for designating a wide-area variable in the short direct addressable memory area arrangement will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the information processing system. This figure shows the configuration of the information processing system, and further shows the relationship between each tool and each input / output file when a global variable is specified in the short direct addressable memory area. This information processing system includes a
次に、上記情報処理システムの動作について説明する。図2は、上記情報処理システムの動作を示すフローチャートである。この図は、ショートダイレクトアドレッシング可能メモリ領域に、広域変数を配置するための処理の流れを示している。まず、ソースコード102−1〜102−3について、コンパイルエラーやサイズオーバー以外のリンクエラーは解決されているものとする。ユーザは、情報処理システムへの入力操作により、ソースコード102−1〜102−3を修正し、広域変数にショートダイレクトアドレッシング可能メモリ領域へ配置することを指示する記述を追記する(ステップS101)。次に、ユーザは、情報処理システムへの入力操作により、ソースコード102−1〜102−3のビルドを実行する(ステップS102)。続いて、コンパイラ101は、ソースコード102−1〜102−3をコンパイルして再配置可能オブジェクト104−1〜104−3を生成する(ステップS103)。次に、リンカ107は、再配置可能オブジェクトをリンクして、実行可能オブジェクト108を生成する(ステップS104)。その後、ユーザは、実行可能オブジェクト108のコードサイズが所定の条件を満足するか否かを判定する(ステップS105)。判定の結果、実行可能オブジェクト108のコードサイズが所定の条件を満足しない場合(ステップS105:NO)、上記ステップS101〜S104を繰り返す。実行可能オブジェクト108のコードサイズが所定の条件を満足する場合(ステップS105:YES)、ショートダイレクトアドレッシング可能メモリ領域に広域変数を配置するための処理を終了する。
Next, the operation of the information processing system will be described. FIG. 2 is a flowchart showing the operation of the information processing system. This figure shows the flow of processing for allocating a global variable in a short direct addressable memory area. First, regarding the source code 102-1 to 102-3, it is assumed that a link error other than a compile error or an oversize has been solved. The user modifies the source code 102-1 to 102-3 by an input operation to the information processing system, and adds a description instructing to be arranged in the short direct addressable memory area in the wide area variable (step S101). Next, the user executes the build of the source code 102-1 to 102-3 by an input operation to the information processing system (step S102). Subsequently, the
その他関連する技術として、特許文献2(特開2006−311610号公報)及び特許文献3(特開平09−186703号公報)には、有線接続通信網システムと無線アクセスシステムとからなる、データをセル(C1〜C10)として運ぶ遠隔通信システムにおいて、該無線システム内での内部制御のためにセル向けデータを転送するためにセルのヘッダフィールドに使用可能なスペースが残るように、該無線システム内ではショートアドレッシング方式を使用する技術が記載されている。特許文献4(特開平10−027129号公報)には、増設RAMが存在する場合CPUは増設RAMの上位ショートアドレッシング領域にアクセスして、増設RAM6が存在しない場合CPUは切り換え設定信号によりアドレスデコーダ部をコントロールすることによって、標準RAMの最上位に存在する代替領域にアクセスする技術が記載されている。特許文献5(特開平05−35495号公報)には、高速アクセスメモリを有するマイクロコンピュータで、変数を変数の処理順に高速アクセスメモリに割り付け、高速アクセスメモリに割り付けることができない変数については、通常のメモリに割り付ける技術が記載されている。特許文献6(特開平10−124325号公報)には、各変数のアクセス頻度に応じて配置領域を決定する技術が記載されている。特許文献7(特開2004−38597号公報)及び特許文献8(特開2006−114069号公報)には、1命令でアクセスできるグローバル領域を有するプロセッサ用のコンパイラで、変数ごとに1命令でアクセスできる領域又はそれ以外の領域への配置を指定可能とする技術が記載されている。特許文献9(特開2006−58991号公報)には、プログラムのサイズや実行サイクルを削減するために、アクセス回数の多いデータをベースアドレスに近い位置に配置する技術が記載されている。
As other related technologies, Patent Document 2 (Japanese Patent Application Laid-Open No. 2006-311610) and Patent Document 3 (Japanese Patent Application Laid-Open No. 09-186703) disclose data including a wired connection communication network system and a wireless access system. In the telecommunications system carrying as (C1-C10), in the radio system, there remains space available in the header field of the cell to transfer cell-oriented data for internal control in the radio system. A technique using a short addressing scheme is described. In Patent Document 4 (Japanese Patent Laid-Open No. 10-027129), the CPU accesses the upper short addressing area of the expansion RAM when the expansion RAM is present, and the CPU reads the address decoder unit by the switching setting signal when the
上記の図1及び図2の説明に示されるように、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するように試行錯誤するときには、所定の条件が満たされるまで、以下の処理を繰り返す必要がある。すなわち、ソースコードの修正(広域変数にショートダイレクトアドレッシング可能メモリ領域へ配置することを指示する記述を追記、ステップS101)、ビルド処理の実行の指示(ステップS102)、コンパイル処理(ステップS103)、及びリンク処理(ステップS104)である。この繰り返し処理には非常に時間がかかるため、プログラム開発の作業効率上好ましくない。 As shown in the description of FIG. 1 and FIG. 2 above, when trial and error are performed such that a global variable is selected so as to improve the code efficiency of the program and placed in a short direct addressable memory area, a predetermined condition is satisfied. The following process must be repeated until That is, correction of the source code (addition of a description instructing the global variable to be placed in the short direct addressable memory area, step S101), execution instruction of the build process (step S102), compilation process (step S103), and Link processing (step S104). This repetitive process takes a very long time, which is not preferable in terms of work efficiency of program development.
また、図1において、コンパイラ101は個々のソースコード102−1、102−2、102−3を1つずつ処理し、再配置可能オブジェクト104−1、104−2、104−3を生成する。そのため、プログラム全体のコードサイズについては、すべてのオブジェクトコードを結合するリンク処理(ステップS104)の段階までわからない。このため、ビルド処理(ステップS102)終了時までに、実行可能オブジェクト108のコードサイズを知ることができない。そのため、リンク処理(ステップS104)まで実行する必要があり、時間がかかるため、プログラム開発の作業効率上好ましくない。
In FIG. 1, the
以下に、発明を実施するための形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための形態との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。 Hereinafter, means for solving the problem will be described using the numbers and symbols used in the embodiments for carrying out the invention. These numbers and symbols are added with parentheses in order to clarify the correspondence between the description of the claims and the mode for carrying out the invention. However, these numbers and symbols should not be used for interpreting the technical scope of the invention described in the claims.
本発明の実行可能オブジェクトのサイズ予測装置は、コンパイラ(1)と、広域変数一覧表示部(5)とを具備する。コンパイラ(1)は、複数のソースコード(2)を翻訳して複数の再配置可能オブジェクト(4)を生成し、メモリ参照命令サイズテーブル(9)及び前記複数のソースコード(2)に基づいて複数の広域変数参照情報ファイル(3)を生成する。広域変数一覧表示部(5)は、複数の再配置可能オブジェクト(4)と複数の広域変数参照情報ファイル(3)とに基づいて、複数の再配置可能オブジェクト(4)をリンクして生成される実行可能オブジェクトのサイズ予測を実行する。ただし、メモリ参照命令サイズテーブル(9)は、広域変数がショートダイレクトアドレッシング可能領域としての第1領域に配置されている場合に生成する命令のコードサイズと、当該広域変数が第1領域以外のメモリ領域としての第2領域に配置されている場合に生成する命令のコードサイズとのコードサイズ差を、メモリ参照命令ごとに記述している。ファイル広域変数参照情報ファイル(3)は、ソースコード(2)に含まれる各広域変数が第1領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズと、広域変数が第2領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズとのコードサイズ差を示している。広域変数一覧表示部(5)は、広域変数参照情報ファイル(3)に基づいて、各広域変数と、当該各広域変数の配置される領域と、当該各広域変数のコードサイズ差との関係を算出する。そして、各広域変数のうちの配置される領域を変更される変更広域変数の入力に基づいて、算出結果から変更広域変数のコードサイズ差を取得して、当該コードサイズ差を用いて、変更広域変数を含む再配置可能オブジェクトのコードサイズを調整する。調整後の複数の再配置可能オブジェクトのコードサイズに基づいて、リンクと同じアルゴリズムを用いて実行可能オブジェクトサイズの予測値を算出する。 The executable object size prediction apparatus of the present invention comprises a compiler (1) and a global variable list display section (5). The compiler (1) translates a plurality of source codes (2) to generate a plurality of relocatable objects (4), and based on the memory reference instruction size table (9) and the plurality of source codes (2) A plurality of global variable reference information files (3) are generated. The global variable list display unit (5) is generated by linking a plurality of relocatable objects (4) based on a plurality of relocatable objects (4) and a plurality of global variable reference information files (3). Perform size estimation of executable objects. However, the memory reference instruction size table (9) includes the code size of the instruction generated when the global variable is arranged in the first area as the short direct addressable area, and the memory in which the global variable is other than the first area. The difference in code size from the code size of the instruction generated when it is arranged in the second area as the area is described for each memory reference instruction. The file global variable reference information file (3) includes a code size required to refer to the global variable when the global variable included in the source code (2) is arranged in the first area, and the global It shows the code size difference from the code size required to refer to the global variable when it is assumed that the variable is arranged in the second area. Based on the global variable reference information file (3), the global variable list display unit (5) shows the relationship between each global variable, the area where the global variable is arranged, and the code size difference between the global variables. calculate. Then, based on the input of the changed global variable that changes the area to be arranged in each global variable, the code size difference of the changed global variable is obtained from the calculation result, and the changed global variable is used by using the code size difference. Adjust the code size of relocatable objects that contain variables. Based on the code size of the plurality of relocatable objects after adjustment, the predicted value of the executable object size is calculated using the same algorithm as that of the link.
本発明の実行可能オブジェクトのサイズ予測装置では、コンパイラ(1)が、メモリ参照命令サイズテーブル(9)に基づいて、複数の再配置可能オブジェクト(4)に対応した複数の広域変数参照情報ファイル(3)を生成する。その結果、広域変数一覧表示部(5)は、広域変数参照情報ファイル(3)に基づいて、各広域変数と、当該各広域変数の配置される領域と、当該各広域変数のコードサイズ差との関係を算出することができる。この関係と、各広域変数のうちの配置される領域を変更される変更広域変数とに基づいて、再配置可能オブジェクトにおける変更広域変数のコードサイズを調整することができる。その結果、調整後の再配置可能オブジェクトのコードサイズに基づいて、実行可能オブジェクトサイズの予測値を算出することが可能となる。 In the executable object size prediction apparatus of the present invention, the compiler (1) has a plurality of global variable reference information files corresponding to a plurality of relocatable objects (4) based on the memory reference instruction size table (9). 3) is generated. As a result, the global variable list display unit (5), based on the global variable reference information file (3), each global variable, the area where each global variable is arranged, and the code size difference between each global variable, Can be calculated. The code size of the changed global variable in the relocatable object can be adjusted based on this relationship and the changed global variable in which the area to be arranged among the global variables is changed. As a result, it is possible to calculate the predicted value of the executable object size based on the adjusted code size of the relocatable object.
本発明の実行可能オブジェクトのサイズ予測方法及びそのプログラムは、複数のソースコード(2)を翻訳して複数の再配置可能オブジェクト(4)を生成するステップと、メモリ参照命令サイズテーブル(9)に基づいて複数の広域変数参照情報ファイル(3)を生成するステップと、複数の再配置可能オブジェクト(4)と複数の広域変数参照情報ファイル(3)とに基づいて、複数の再配置可能オブジェクト(4)をリンクして生成される実行可能オブジェクトのサイズ予測を実行するステップとを具備する。ただし、メモリ参照命令サイズテーブル(9)は、広域変数がショートダイレクトアドレッシング可能領域としての第1領域に配置されている場合に生成する命令のコードサイズと、当該広域変数が第1領域以外のメモリ領域としての第2領域に配置されている場合に生成する命令のコードサイズとのコードサイズ差を、メモリ参照命令ごとに記述している。ファイル広域変数参照情報ファイル(3)は、ソースコード(2)に含まれる各広域変数が第1領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズと、広域変数が第2領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズとのコードサイズ差を示している。サイズ予測を実行するステップは、広域変数参照情報ファイル(3)に基づいて、各広域変数と、当該各広域変数の配置される領域と、当該各広域変数のコードサイズ差との関係を算出するステップと、各広域変数のうちの配置される領域を変更される変更広域変数の入力に基づいて、算出結果から変更広域変数のコードサイズ差を取得して、当該コードサイズ差を用いて、変更広域変数を含む再配置可能オブジェクトのコードサイズを調整するステップと、調整後の複数の再配置可能オブジェクトのコードサイズに基づいて、リンクと同じアルゴリズムを用いて実行可能オブジェクトサイズの予測値を算出するステップとを備える。 The executable object size prediction method and the program thereof according to the present invention include a step of translating a plurality of source codes (2) to generate a plurality of relocatable objects (4), and a memory reference instruction size table (9). Based on the step of generating a plurality of global variable reference information files (3) based on the plurality of relocatable objects (4) and the plurality of global variable reference information files (3), And 4) performing a size estimation of the executable object generated by linking the above. However, the memory reference instruction size table (9) includes the code size of the instruction generated when the global variable is arranged in the first area as the short direct addressable area, and the memory in which the global variable is other than the first area. The difference in code size from the code size of the instruction generated when it is arranged in the second area as the area is described for each memory reference instruction. The file global variable reference information file (3) includes a code size required to refer to the global variable when the global variable included in the source code (2) is arranged in the first area, and the global It shows the code size difference from the code size required to refer to the global variable when it is assumed that the variable is arranged in the second area. The step of executing the size prediction calculates the relationship between each global variable, the area where each global variable is arranged, and the code size difference between each global variable based on the global variable reference information file (3). Based on the input of the step and the change global variable that changes the area to be arranged among each global variable, obtain the code size difference of the changed global variable from the calculation result, and change using the code size difference Based on the step of adjusting the code size of the relocatable object including the global variable and the code size of the plurality of relocatable objects after adjustment, the predicted value of the executable object size is calculated using the same algorithm as that of the link. Steps.
本発明の実行可能オブジェクトのサイズ予測方法及びそのプログラにおいても、上記の実行可能オブジェクトのサイズ予測装置と同様の作用効果を得ることができる。 In the executable object size prediction method and the program thereof according to the present invention, the same effects as those of the executable object size prediction apparatus can be obtained.
本発明により、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するよう試行錯誤する際に要する時間を短縮することができる。つまり、開発期間を短縮することができる。 According to the present invention, it is possible to reduce the time required for trial and error to select a wide area variable so as to improve the code efficiency of the program and to arrange it in a short direct addressable memory area. That is, the development period can be shortened.
以下、本発明の実行可能オブジェクトのサイズ予測装置、そのサイズ予測方法、及びそのプログラムの実施の形態に関して、添付図面を参照して説明する。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Embodiments of an executable object size predicting apparatus, a size predicting method thereof, and a program thereof according to the present invention will be described below with reference to the accompanying drawings.
まず、本発明の実施の形態に係る実行可能オブジェクトのサイズ予測装置の構成について説明する。
図3は、本発明の実施の形態に係る実行可能オブジェクトのサイズ予測装置の構成を示すブロック図である。この図は、サイズ予測装置50の構成を示し、更にショートダイレクトアドレッシング可能メモリ領域に広域変数を配置指定するときの各ツールと各入出力ファイルとの関係を示している。パーソナルコンピュータに例示される情報処理装置に、本発明の実行可能オブジェクトのサイズ予測プログラム(実行可能オブジェクトのサイズ予測方法)がインストールされて、本発明の実行可能オブジェクトのサイズ予測装置50として機能する。このサイズ予測装置50は、コンパイラ1、リンカ7、広域変数一覧表示部5、記憶部10、入力装置11、ディスプレイ装置12を具備している。
First, the configuration of the executable object size predicting apparatus according to the embodiment of the present invention will be described.
FIG. 3 is a block diagram showing the configuration of the executable object size prediction apparatus according to the embodiment of the present invention. This figure shows the configuration of the
コンパイラ1、リンカ7、及び広域変数一覧表示部5は、ソフトウェア、ソフトウェア及びハードウェアとの組み合わせなどにより実現可能である。例えば、コンパイラ1、リンカ7、及び広域変数一覧表示部5は、それらの機能を有するプログラムと、それらのプログラムの実行に使用されるCPU(Central Processing Unit)及びメインメモリにより実現可能である。また、記憶部10はメモリやハードディスク装置に例示され、入力装置11はマウスやキーボードに例示され、ディスプレイ装置12はフラットパネルディスプレイに例示される。
The
コンパイラ1は、入力されたソースコード2−1〜2−3を翻訳し、再配置可能オブジェクト4−1〜4−3を生成する。このとき、ソースコード2中でショートダイレクトアドレッシング可能メモリ領域に配置する指定がなされている広域変数に対しては、ショートダイレクトアドレッシングでアクセスするコードを生成する。コンパイラ1は、更に、ショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を、入力ファイル(広域変数配置指定ファイル6)により指定することができる機能を有する。コンパイラ1は、更に、メモリ参照命令サイズテーブル9(後述)及びソースコード2−1〜2−3に基づいて複数の広域変数参照情報ファイル3−1〜3−3を生成、出力する機能を有する。広域変数参照情報ファイル3−1〜3−3は、広域変数がショートダイレクトアドレッシング可能領域に配置されていると仮定した場合におけるその広域変数を参照するのに要するコードサイズと、広域変数が通常のメモリ領域に配置されていると仮定した場合におけるその広域変数を参照するのに要するコードサイズとの差を示すファイルである。
The
リンカ7は、コンパイラ1で生成された複数の再配置可能オブジェクト4−1〜4−3を結合し、外部参照の解決、絶対アドレスの決定を行い、実行可能オブジェクト8を生成する。入力装置11は、ユーザがサイズ予測装置50に対して入力操作を行なう装置である。ディスプレイ装置12は、サイズ予測装置50における情報処理の内容やユーザによる入力操作の内容を表示する。記憶部10は、本実施の形態において入力、生成、変更、出力等される各種ファイルやデータ(例示:広域変数参照情報ファイル3、広域変数配置指定ファイル6、メモリ参照命令サイズテーブル9)を格納している。記憶部10は、ソースコード2やコンパイラ1や再配置可能オブジェクト4やリンカ7や実行可能オブジェクト8を記憶してもよい。
The
広域変数一覧表示部5は、コンパイラ1により生成される再配置可能オブジェクト4や広域変数参照情報ファイル3に基づいて、実行可能オブジェクトのサイズ予測を実行する。図4は、本発明の実施の形態に係る広域変数一覧表示部5の詳細を示すブロック図である。この図は、広域変数一覧表示部の構成を示し、更にショートダイレクトアドレッシング可能メモリ領域に広域変数を配置指定する処理の流れを示している。広域変数一覧表示部5は、広域変数配置指定/一覧表示部21と、オブジェクトサイズ情報テーブル22と、広域変数参照情報マトリクス23とを備えている。
The global variable
広域変数配置指定/一覧表示部21は、コンパイラ1が生成した再配置可能オブジェクト4(4−1〜4−3)から情報を取得し、オブジェクトサイズ情報テーブル22を生成する。また、広域変数配置指定/一覧表示部21は、コンパイラ1が生成した広域変数参照情報ファイル3(3−1〜3−3)から情報を取得し、広域変数参照情報マトリクス23を生成する。更に、広域変数配置指定/一覧表示部21は、オブジェクトサイズ情報テーブル22、広域変数参照情報マトリクス23、ユーザ操作による入力情報に基づいて、広域変数配置指定ファイル6を生成/更新する。また、広域変数配置指定/一覧表示部21は、プログラム中の広域変数をGUIで一覧表示する。更に、広域変数配置指定/一覧表示部21は、再配置可能オブジェクト4や広域変数参照情報ファイル3に基づいて、実行可能オブジェクトのサイズ予測を実行する。
The global variable arrangement designation /
図5は、本発明の実施の形態に係る広域変数一覧表示部5のGUI画面の一例を示す模式図である。GUI画面30は、広域変数一覧表示部5の広域変数配置指定/一覧表示部21によりディスプレイ装置12に表示される。GUI画面30は、テーブル31、実行可能オブジェクトサイズ(予測値)表示欄32(32−1〜32−3)、バーチャルリンク実行ボタン33を含む。テーブル31は、チェックボックスの欄、広域変数名の欄、配置領域の欄、サイズの欄、参照サイズ差の欄、ファイル名の欄がそれぞれ設けられている。
FIG. 5 is a schematic diagram showing an example of a GUI screen of the wide area variable
チェックボックスの欄では、広域変数名の欄に記載の広域変数に対応してチェックボックスが表示される。ユーザは、広域変数名の欄に記載の広域変数をショートダイレクトアドレッシング可能メモリ領域に配置指定する場合、そのチェックボックスを入力装置11によりチェックする。チェックされた場合、配置領域の表示が“Saddr”となる。すなわち、“Saddr”はショートダイレクトアドレッシング可能領域に配置指定されている広域変数を示している。ユーザがチェックボックスをチェッしない場合、配置領域の表示が“Normal”となる。すなわち、“Normal”は通常のメモリ領域に配置されている広域変数を示している。チェックボックスへチェックすること、及び、チェックを外すことは、いずれもユーザの入力装置11を用いた入力操作に基づいて行なわれる。なお、初期画面は、全て“Normal”である。
In the check box column, check boxes are displayed corresponding to the global variables described in the global variable name column. When the user designates the global variable described in the column of the global variable name in the short direct addressable memory area, the user checks the check box with the
ユーザ入力操作の結果、ショートダイレクトアドレッシング可能メモリ領域の残りサイズが0(ゼロ)になった場合、広域変数配置指定/一覧表示部21は、新たにチェックボックスをチェックできなくして、その旨をGUI画面30に表示する。また、残りサイズよりも大きいサイズが指定された場合、域変数配置指定/一覧表示部21は、その入力を拒否し、その旨をGUI画面30に表示する。ただし、ショートダイレクトアドレッシング可能メモリ領域の残りサイズは、以下のようにして取得する。まず、ユーザは、ショートダイレクトアドレッシング可能メモリ領域のサイズ自体を、設定可能なサイズを最大値として、入力装置11から事前に指定する。そして、ショートダイレクトアドレッシング可能メモリ領域の残りサイズは、ユーザに入力されたサイズから現在使用しているSaddrサイズを減算することで算出する。使用しているSaddrサイズは、オブジェクトサイズ情報テーブル22(詳細は図9参照)におけるセグメント属性の欄が“SADDR”となっている行のサイズの合計で求める。
As a result of the user input operation, when the remaining size of the short direct addressable memory area becomes 0 (zero), the global variable placement designation /
広域変数名の欄では、ファイル名の欄に記載のファイル内の広域変数の名前(例示:g_var11)が表示される。配置領域の欄では、広域変数を、ショートダイレクトアドレッシング可能メモリ領域に配置指定した場合には“Saddr”、通常のメモリ領域に配置指定した場合には“Normal”と表示する。サイズの欄では、広域変数の変数型のサイズ(例示:2(バイト))を表示する。参照サイズ差の欄では、広域変数を、ショートダイレクトアドレッシング可能メモリ領域に配置指定した場合に使用されるメモリサイズと、通常のメモリ領域に配置指定した場合に使用されるメモリサイズとの差(例示:90(バイト))を表示する。ファイル名の欄では、広域変数名の欄に記載の広域変数が含まれているファイル(ソースコード)の名称(例示:file1.c)を表示する。 In the global variable name column, the name of the global variable in the file described in the file name column (example: g_var11) is displayed. In the arrangement area column, the global variable is displayed as “Saddr” when the arrangement is designated in the short direct addressable memory area, and “Normal” is designated when the arrangement is designated in the normal memory area. In the size column, the size of the variable type of the global variable (example: 2 (bytes)) is displayed. In the reference size difference column, the difference between the memory size used when the global variable is allocated in the short direct addressable memory area and the memory size used when the allocation is specified in the normal memory area (example) : 90 (bytes)) is displayed. In the file name column, the name (example: file1.c) of a file (source code) including the global variable described in the global variable name column is displayed.
広域変数名の欄、配置領域の欄、サイズの欄、参照サイズ差の欄、ファイル名の欄は、オブジェクトサイズ情報テーブル22、広域変数参照情報マトリクス23、及び広域変数配置指定ファイル6に基づいて広域変数配置指定/一覧表示部21が生成して、表示する。例えば、チェックボックスと配置領域は、広域変数配置指定ファイル6(後述)に含まれているものを“Sadder”とすることができる。広域変数名、参照サイズ差、ファイル名は、広域変数参照情報マトリクス23(後述)の広域変数名、参照コードサイズ(変化量)の和、ファイル名を用いることができる。サイズは、広域変数参照情報ファイル3(詳細は図7参照)における広域変数と変数型との対応から求めることができる。例えば、広域変数名“g_var11”の場合、変数型がint型となるので、2バイトとなる。ただし、変数型のサイズは、コンパイラ1の種類により差異があるが、本実施の形態では、以下を想定して説明している。char型は1バイト、short型は2バイト、long型は4バイト、ポインタ型(char*/short*/int*/long*)は2バイトである。
ただし、例えば、「ファイル名」の広域変数名“g_var11”は、広域変数参照情報マトリクス23(詳細は図10参照)から、「file1.c」だけでなく、図示しないが、「file2.c、file3.c、file4.c、…」を含んでいる。同様に、広域変数名“g_var12”は、広域変数参照情報マトリクス23(図10)から、「file1.c」だけでなく、図示しないが、「file2.c、file4.c、…」を含んでいる。以下同様である。
The global variable name column, arrangement region column, size column, reference size difference column, and file name column are based on the object size information table 22, the global variable
However, for example, the global variable name “g_var11” of “file name” is not only “file1.c” but also “file2.c,” from the global variable reference information matrix 23 (see FIG. 10 for details). file 3.c, file 4.c, ... ". Similarly, the global variable name “g_var12” includes not only “file1.c” but also “file2.c, file4.c,...” From the global variable reference information matrix 23 (FIG. 10). Yes. The same applies hereinafter.
バーチャルリンク実行ボタン33は、広域変数配置指定/一覧表示部21に、実行可能オブジェクトのサイズ予測を実行させるボタンである。ただし、「バーチャルリンク」は、実行可能オブジェクトのサイズ予測処理である。ユーザの入力操作によりバーチャルリンク実行ボタン33が押下されると、広域変数配置指定/一覧表示部21は実行可能オブジェクトのサイズ予測を実行する。実行可能オブジェクトサイズ(予測値)表示欄32(32−1〜32−3)は、広域変数配置指定/一覧表示部21による実行可能オブジェクトのサイズ予測の実行結果を表示する。すなわち、表示欄32−1にCODE属性のオブジェクト、表示欄32−2にSADDR属性のオブジェクト、表示欄32−3にDATA属性のオブジェクト結果を表示する。サイズオーバーした場合には、この欄にその旨が表示される。実行可能オブジェクトのサイズ予測の詳細は後述される。
The virtual
このように、広域変数配置指定/一覧表示部21は、オブジェクトサイズ情報テーブル22、広域変数参照情報マトリクス23、及び、広域変数配置指定ファイル6を生成/更新する機能と共に、ユーザの入力操作に応答して、広域変数の配置(ショートダイレクトアドレッシング可能メモリ領域か通常メモリ領域か)をGUI画面30の一覧表示上から指定する機能、及び、広域変数参照情報ファイル3及び再配置可能オブジェクト4のサイズ情報に基づいて、実行可能オブジェクト8のサイズを予測する機能を備えている。
As described above, the global variable arrangement designation /
図6は、本発明の実施の形態に係る広域変数配置指定ファイルの書式の一例を示す模式図である。広域変数配置指定ファイル6は、広域変数一覧表示部5の広域変数配置指定/一覧表示部21が生成/更新し、コンパイラ1が入力ファイルとして用いるファイルである。広域変数配置指定ファイル6は、プログラム(ソースコード(ソースファイル))中で定義されている広域変数の中で、ショートダイレクトアドレッシング可能メモリ領域に配置指定する広域変数の情報を記述する。ここでは、その広域変数の名前(広域変数名)、その広域変数の変数型(変数型)、及び、その広域変数の含まれるソースファイルの名前(ソースファイル名)が互いに関連付けられて記述されている。ただし、初回の処理では、広域変数配置指定ファイル6が存在せず、初回の処理後に広域変数配置指定/一覧表示部21により生成される。
FIG. 6 is a schematic diagram showing an example of the format of the global variable placement designation file according to the embodiment of the present invention. The global variable
図5のGUI画面30上で、チェックボックスがチェックされている広域変数が、ショートダイレクトアドレッシング可能メモリ領域に配置指定する広域変数となる。広域変数配置指定/一覧表示部21は、バーチャルリンク実行ボタン33が押されたタイミングで、チェックボックスがチェックされている広域変数の情報を、広域変数配置指定ファイル6に出力し、広域変数配置指定ファイル6を生成/更新する。
On the
図7は、本発明の実施の形態に係る広域変数参照情報ファイルの書式の一例を示す模式図である。広域変数参照情報ファイル3は、コンパイラ1がソースファイル単位で生成するファイルである。ソースファイル(ソースファイル名)ごとに、各広域変数(広域変数名、変数型)が、ショートダイレクトアドレッシング可能メモリ領域に配置されていると仮定した場合にそれを参照するのに要するコードサイズと、通常のメモリ領域に配置されていると仮定した場合にそれを参照するのに要するコードサイズとの差(参照コードサイズ(変化量))を記述する。コンパイラ1はコード生成のときに広域変数を参照する命令を出力した場合、図8のメモリ参照命令サイズテーブル9(後述)により広域変数の配置領域の違いによる命令サイズの変化量を取得する。そして、取得した命令サイズの変化量を広域変数参照情報ファイル3中の当該広域変数の参照コードサイズ(変化量)に加算していくことにより、この情報を生成する。
FIG. 7 is a schematic diagram showing an example of the format of the global variable reference information file according to the embodiment of the present invention. The global variable
例えば、図7の広域変数参照情報ファイル3の広域変数g_var11に着目する。g_var11の参照コードサイズ(変化量)は、10となっている。このような結果となる例を以下に示す。
(例1)ソースファイル中の広域変数g_var11を参照する命令として、図8のメモリ参照命令サイズテーブル9の命令の種類の「movw var,ax」を10回出力した場合、「movw var,ax」のコードサイズの差は1なので、1×10で、10となる。
(例2)ソースファイル中の広域変数g_var11を参照する命令として、図8のメモリ参照命令サイズテーブル9の命令の種類の「movw var,ax」を5回、「sub a,var」を5回、それぞれ出力した場合、「movw var,ax」と「sub a,var」のコードサイズの差は、それぞれ1なので、1×5+1×5で、10となる。
For example, focus on the global variable g_var11 in the global variable
(Example 1) When the instruction type “movw var, ax” in the memory reference instruction size table 9 in FIG. 8 is
(Example 2) As an instruction to refer to the global variable g_var11 in the source file, the instruction type “movw var, ax” in the memory reference instruction size table 9 of FIG. 8 is five times, and “sub a, var” is five times. , The difference in code size between “movw var, ax” and “sub a, var” is 1, so that 1 × 5 + 1 × 5 is 10.
図7は、コンパイラ1がfile1.cをコンパイルするときに生成する広域変数参照情報ファイル3の例である。file2.c、file3.c、…をコンパイルした場合、同様の広域変数参照情報ファイル3が生成される。この広域変数参照情報ファイル3により、各広域変数がショートダイレクトアドレッシング可能メモリ領域に配置された場合にそれを参照するのに要するコードサイズと、各広域変数が通常のメモリ領域に配置された場合にそれを参照するのに要するコードサイズとの差を得ることができる。
FIG. 7 shows that
図8は、本発明の実施の形態に係るメモリ参照命令サイズテーブルの一例を示す模式図である。メモリ参照命令サイズテーブル9は、コンパイラ1が広域変数参照情報ファイル3を生成する際に使用するテーブルである。各メモリ参照命令(命令の種類)に関して、広域変数が通常のメモリ領域に配置されている場合に生成する命令のサイズ(コードサイズA、単位:バイト)、ショートダイレクトアドレッシング可能領域に配置されている場合に生成する命令のサイズ(コードサイズB、単位:バイト)、及び、それらサイズの差(コードサイズの差、単位:バイト)を記述する。テーブルの内容と書式は、対象とするマイクロコンピュータの命令セットアーキテクチャとコンパイラのコード生成方法に依存する。ここでは、2オペランド形式のレジスタ−メモリ演算命令を備えた命令セットアーキテクチャの場合の一例を示している。メモリ参照命令サイズテーブル9は、予め用意されている。
FIG. 8 is a schematic diagram showing an example of a memory reference instruction size table according to the embodiment of the present invention. The memory reference instruction size table 9 is a table used when the
図9は、本発明の実施の形態に係るオブジェクトサイズ情報テーブルの一例を示す模式図である。オブジェクトサイズ情報テーブル22は、広域変数一覧表示部5の広域変数配置指定/一覧表示部21が管理するテーブルである。広域変数配置指定/一覧表示部21は、再配置可能オブジェクト4を入力として、このオブジェクトサイズ情報テーブル22を初期生成する。その後、ユーザによる図5のGUI画面30上での各広域変数の配置指定の変更に応じて、オブジェクトサイズ情報テーブル22中の各セグメントのサイズが修正される。実行可能オブジェクト8のサイズ予測処理のとき、この修正した値が用いられる。オブジェクトサイズ情報テーブル22は、再配置可能オブジェクト4(ファイル名の欄)と、その再配置可能オブジェクト4に含まれるセグメント(セグメント属性の欄)と、そのセグメントのサイズ(サイズの欄、単位:バイト)とを関連付けている。
FIG. 9 is a schematic diagram showing an example of an object size information table according to the embodiment of the present invention. The object size information table 22 is a table managed by the global variable placement designation /
図10は、本発明の実施の形態に係る広域変数参照情報マトリクスの一例を示す模式図である。広域変数参照情報マトリクス23は、広域変数一覧表示部5の広域変数配置指定/一覧表示部21が管理するテーブルである。マトリクス中のm行n列の要素は、n列目の広域変数(例示:g_var11、g_var12、…)の配置を変更した場合の、m行目の再配置可能オブジェクト(例示:file1.o、file2.o、…)の参照コードサイズ(変化量)(例示:10、20、…、10、10、…)を表している。広域変数配置指定/一覧表示部21は、コンパイラ1が各ソースファイル単位で生成する広域変数参照情報ファイル3を入力として、この広域変数参照情報マトリクス23を生成/更新する。この広域変数参照情報マトリクス23の内容は、ソースコードに変更が加えられ再コンパイルがおこなわれた場合にのみ変化し、GUI画面30上での各広域変数の配置指定の変更によって変化することはない。
FIG. 10 is a schematic diagram showing an example of the global variable reference information matrix according to the embodiment of the present invention. The global variable
図10の広域変数参照情報マトリクス23は、複数の広域変数参照情報ファイル3をm行n列のマトリクスとして合成したものである。広域変数参照情報マトリクス23の1行が、1つの広域変数参照情報ファイル3に相当する。この場合、ファイル名は、file1.cから、file1.oと読み替えられる。
A wide area variable
図1や図2の説明で示したように、従来技術において、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するよう試行錯誤するためには、ソースコードの修正(広域変数にショートダイレクトアドレッシング可能メモリ領域へ配置することを指示する記述を追記)、コンパイル処理、及びリンク処理という一連のフローを繰り返す必要があった。
しかし、これに対して、本発明では、広域変数一覧表示部5のGUI画面30上でショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を指定し、実行可能オブジェクトサイズの予測処理(バーチャルリンク)を実行するというフローを繰り返すのみでよくなる。
As shown in the description of FIG. 1 and FIG. 2, in the prior art, in order to select a wide area variable so as to improve the code efficiency of the program and place it in a short direct addressable memory area, It was necessary to repeat a series of flow of correction (adding a description instructing that the variable is arranged in a short direct addressable memory area), compiling processing, and linking processing.
However, in the present invention, on the
次に、本発明の実施の形態に係る実行可能オブジェクトのサイズ予測装置の動作(サイズ予測方法)に関して、添付図面を参照して説明する。図11は、本発明の実施の形態に係る実行可能オブジェクトのサイズ予測装置の動作(サイズ予測方法)を示すフローチャートである。この図は、ショートダイレクトアドレッシング可能メモリ領域に、広域変数を配置指定するときの処理のフローチャートを示している。まず、ソースコード2−1〜2−3について、コンパイルエラーやサイズオーバー以外のリンクエラーは解決されているものとする。また、コンパイル時に、広域変数参照情報ファイル3−1〜3−3を生成する指定がなされているものとする。 Next, the operation (size prediction method) of the executable object size prediction apparatus according to the embodiment of the present invention will be described with reference to the accompanying drawings. FIG. 11 is a flowchart showing the operation (size prediction method) of the executable object size prediction apparatus according to the embodiment of the present invention. This figure shows a flowchart of processing when a wide-area variable is designated to be allocated in a short direct addressable memory area. First, it is assumed that a link error other than a compile error or oversize has been solved for the source codes 2-1 to 2-3. In addition, it is assumed that the generation of the global variable reference information files 3-1 to 3-3 is made at the time of compilation.
まず、初回の処理として、図2で説明したステップS102〜S103と同様に、ユーザの入力操作に基づいてソースコード2(2−1〜2−3)に対してビルド処理が実行される。その後、コンパイラ1は、ソースコード2(2−1〜2−3)とメモリ参照命令サイズテーブル9とを入力として受け取り、広域変数配置指定ファイル6を参照しながら、ソースコード2(2−1〜2−3)に対してコンパイル処理を実行し、再配置可能オブジェクト4(4−1〜4−2)を生成する。そのとき、同時に、広域変数参照情報ファイル3(3−1〜3−3)も生成する。再配置可能オブジェクト4(4−1〜4−2)及び広域変数参照情報ファイル3(3−1〜3−3)は、記憶部10に格納される。ただし、初回の処理では、広域変数配置指定ファイル6が存在しない。そのため、コンパイラ1は、全ての広域変数が通常のメモリに配置指定されているものとして動作する。
First, as the first process, the build process is executed on the source code 2 (2-1 to 2-3) based on the user's input operation as in steps S102 to S103 described in FIG. Thereafter, the
広域変数一覧表示部5の広域変数配置指定/一覧表示部21は、広域変数参照情報ファイル3(3−1〜3−3)の情報を取得し、当該情報に基づいて広域変数参照情報マトリクス23を生成する(ステップS01)。続いて、広域変数配置指定/一覧表示部21は、再配置可能オブジェクト4(4−1〜4−3)の情報を取得し、当該情報に基づいてオブジェクトサイズ情報テーブル22を生成する(ステップS02)。
The global variable placement designation /
次に、広域変数配置指定/一覧表示部21は、広域変数配置指定ファイル6から、ショートダイレクトアドレッシング可能メモリ領域に配置指定されている広域変数の情報を取得する(ステップS03)。そして、広域変数配置指定/一覧表示部21は、それら広域変数参照情報マトリクス23、オブジェクトサイズ情報テーブル22、及び広域変数配置指定ファイル6の情報を集約してディスプレイ装置12に表示する。そのディスプレイ装置12での表示状況は、図5のGUI画面30に例示される。ただし、初回の処理では、広域変数配置指定ファイル6が存在しないため、全ての広域変数が通常のメモリに配置指定されているものとして表示される。
Next, the global variable placement designation /
ユーザは、サイズ予測装置50への入力操作により、広域変数一覧表示部5の広域変数配置指定/一覧表示部21(GUI画面30)上で、ショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を指定する(チェックボックスにチェックする)。すなわち、ユーザは、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するように試行錯誤するときには、広域変数配置指定/一覧表示部21(GUI画面30)上でショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を指定する。ユーザは、サイズ予測装置50への入力操作により、バーチャルリンク実行ボタン33を押下する(ステップS04)。
The user designates a global variable to be arranged in the short direct addressable memory area on the global variable list designation / list display unit 21 (GUI screen 30) of the global variable
広域変数配置指定/一覧表示部21が、広域変数配置指定ファイル6を生成/更新する(ステップS05)。そして、広域変数配置指定/一覧表示部21が、実行可能オブジェクトのサイズ予測処理を実行する(ステップS06)。サイズ予測処理(バーチャルリンク処理)については後述される。
The global variable arrangement designation /
広域変数配置指定/一覧表示部21は、実行可能オブジェクト8のコードサイズは満足のいくものか否かを判断する(ステップS07)。判断は、例えば、予め設定された基準となるコードサイズ(ユーザが設定してもよい)との比較により行なうことができる。そして、実行可能オブジェクトのサイズが満足のいくものになる(ステップS07:YES)まで、広域変数一覧表示部5上で、広域変数の配置を指定し、バーチャルリンクを実行し直す(ステップS04〜ステップS06)。このように、2回目以降の広域変数配置指定とサイズ予測処理(バーチャルリンク;ステップS04〜ステップS06)は、広域変数一覧表示部5内のみで処理が完結する。すなわち、本実施の形態では、実行可能オブジェクト8のサイズ予測処理のフローを繰り返すのみで良いので、時間短縮ができる。
The global variable arrangement designation /
その後、ユーザは、サイズ予測装置50への入力操作により、ソースコード2(2−1〜2−3)のビルドを実行する(ステップS08)。続いて、コンパイラ1は、広域変数配置指定ファイル6を参照し、ソースコード2(2−1〜2−3)をコンパイルして再配置可能オブジェクト4(4−1〜4−3)を生成する(ステップS09)。ここでコンパイルするときには、広域変数参照情報ファイル3(3−1〜3−3)の生成を指定する必要はない。次に、リンカ7は、再配置可能オブジェクトをリンクして、実行可能オブジェクト8を生成する(ステップS10)。
Thereafter, the user executes a build of the source code 2 (2-1 to 2-3) by an input operation to the size prediction device 50 (step S08). Subsequently, the
以上のようにして、本実施の形態では、コード効率が向上した実行可能オブジェクトの作成をすることができる。 As described above, in the present embodiment, an executable object with improved code efficiency can be created.
次に、本発明の実施の形態に係るサイズ予測処理(バーチャルリンク処理)について説明する。サイズ予測処理(バーチャルリンク処理)は、上記図11におけるステップS06で実行された処理である。図12は、本発明の実施の形態に係るサイズ予測処理(バーチャルリンク処理)を示すフローチャートである。 Next, the size prediction process (virtual link process) according to the embodiment of the present invention will be described. The size prediction process (virtual link process) is a process executed in step S06 in FIG. FIG. 12 is a flowchart showing size prediction processing (virtual link processing) according to the embodiment of the present invention.
まず、広域変数配置指定/一覧表示部21は、GUI画面30の複数の広域変数の中から、一つの広域変数を選択する(ステップS21)。ただし、選択方法は、例えば一番上から順番に選択する方法に例示される。
First, the wide area variable designation /
広域変数配置指定/一覧表示部21は、その広域変数の現在の配置領域と以前の配置領域とは異なるか否かを判定する(ステップS22)。ただし、現在の配置領域は、ユーザ入力操作終了後のGUI画面30のチェックボックスの有無(チェック有りならばショートダイレクトアドレッシング可能メモリ領域)で認定される。以前の配置領域は、広域変数配置指定ファイル6に含まれるか否か(含まれるならショートダイレクトアドレッシング可能メモリ領域)で認定される。そして、判定方法は、認定された両者の配置領域の変動の状態で行なう。ただし、初回の処理では、広域変数配置指定ファイルが存在しないため、全ての広域変数が通常のメモリに配置指定されているものとして動作する。具体的には、図5のGUI画面30の広域変数のチェックボックスのチェックに変化があったか(チェックがない状態からチェックされている状態、もしくは、チェックされている状態からチェックがない状態)を調べる。
そして、異なる(変化があった)場合(ステップS22:YES)はステップS23の処理へ、異ならない(変化がない)場合(ステップS22:NO)はステップS26の処理へ進む。
The wide area variable designation /
If it is different (changed) (step S22: YES), the process proceeds to step S23. If not different (no change) (step S22: NO), the process proceeds to step S26.
広域変数配置指定/一覧表示部21は、配置領域の変化の態様を判定する(ステップS23)。変化の態様がショートダイレクトアドレッシング可能メモリ領域から通常のメモリ領域の場合(ステップS23:case−A)、ステップS24の処理へ進む。一方、変化の態様が、通常のメモリ領域からショートダイレクトアドレッシング可能メモリ領域の場合(ステップS23:case−B)、ステップS25の処理へ進む。すなわち、図5のGUI画面30の広域変数のチェックボックスのチェックが、チェックされている状態から、チェックがない状態になった場合(広域変数の配置領域を、“Saddr”から“Normal”に変更した場合:case−A)は、ステップS24の処理へ進む。一方、図5のGUI画面30の広域変数のチェックボックスのチェックが、チェックがない状態から、チェックされている状態になった場合(広域変数の配置領域を、“Normal”から“Saddr”に変更した場合:case−B)は、ステップS25の処理へ進む。
The wide-area variable placement designation /
広域変数配置指定/一覧表示部21は、ショートダイレクトアドレッシング可能メモリ領域から通常のメモリ領域への変化の場合(case−A)、以下の処理を実行する(ステップS24)。
まず、広域変数参照情報マトリクス23(図10)から、着目している広域変数を参照する再配置可能オブジェクト4のコードサイズ変化量を取得する。例えば、図5のg_var11に着目しているとする。この場合、図10の広域変数参照情報マトリクス23から、file1.oに関するコードサイズ変化量として、10を取得する。続いて、file2.0に関するコードサイズ変更量として、10を取得する。以下同様である。このコードサイズ変化量の取得処理は、図10の広域変数参照情報マトリクス23に登録されているファイル数分だけ行う。
そして、取得されたコードサイズ変化量を、オブジェクトサイズ情報テーブル22(図9)中の該当する再配置可能オブジェクト4のCODE属性セグメントサイズに加算する。例えば、図9のオブジェクトサイズ情報テーブル22において、ファイル名がfile1.oで、セグメント属性がCODEのサイズ欄の値100に、取得されたfile1.oのコードサイズ変化量10を加算する。ファイル名がfile2.oで、セグメント属性がCODEのサイズ欄の値200に、取得されたfile2.oのコードサイズ変化量10を加算する。以下同様である。このセグメント属性がCODEのサイズ欄への加算処理は、図9のオブジェクトサイズ情報テーブル22に登録されているファイル数分だけ行う。
In the case of the change from the short direct addressable memory area to the normal memory area (case-A), the wide area variable designation /
First, from the global variable reference information matrix 23 (FIG. 10), the code size change amount of the
Then, the obtained code size change amount is added to the CODE attribute segment size of the corresponding
広域変数配置指定/一覧表示部21は、通常のメモリ領域からショートダイレクトアドレッシング可能メモリ領域への変化の場合(case−B)、以下の処理を実行する(ステップS25)。
まず、広域変数参照情報マトリクス23(図10)から、着目している広域変数を参照する再配置可能オブジェクト4のコードサイズ変化量を取得する。例えば、図5のg_var12に着目しているとする。この場合、図10の広域変数参照情報マトリクス23から、file1.oに関するコードサイズ変化量として、20を取得する。続いて、file2.0に関するコードサイズ変更量として、10を取得する。以下同様である。このコードサイズ変化量の取得処理は、図10の広域変数参照マトリクス23に登録されているファイル数分だけ行う。
そして、取得されたコードサイズ変化量を、オブジェクトサイズ情報テーブル22(図9)中の該当する再配置可能オブジェクト4のCODE属性セグメントサイズから減算する。例えば、図9のオブジェクトサイズ情報テーブル22において、ファイル名がfile1.oで、セグメント属性がCODEのサイズ欄の値100から、取得されたfile1.oのコードサイズ変化量20を減算する。ファイル名がfile2.oで、セグメント属性がC0DEのサイズ欄の値200から、取得されたfile2.oのコードサイズ変化量10を減算する。以下同様である。このセグメント属性がCODEのサイズ欄への減算処理は、図9のオブジェクトサイズ情報テーブル22に登録されているファイル数分だけ行う。
In the case of a change from the normal memory area to the short direct addressable memory area (case-B), the wide area variable designation /
First, from the global variable reference information matrix 23 (FIG. 10), the code size change amount of the
Then, the obtained code size change amount is subtracted from the CODE attribute segment size of the corresponding
広域変数配置指定/一覧表示部21は、GUI画面30の複数の広域変数の全てに対して、以上の処理(ステップS22〜ステップS25)を繰り返す。すなわち、広域変数配置指定/一覧表示部21は、GUI画面30の複数の広域変数の全てについて、上記処理が終了したか否かを判定する(ステップS26)。そして、広域変数の全てについて上記処理が終了した場合(ステップS26:YES)はステップS27の処理へ、広域変数の全てについて上記処理が終了していない場合(ステップS26:NO)はステップS21の処理へ進む。
The global variable arrangement designation /
次に、広域変数配置指定/一覧表示部21は、以下の処理により、オブジェクトサイズ情報テーブル22を更新する(ステップS27)。
各再配置可能オブジェクト4について、ショートダイレクトアドレッシング可能領域に配置指定されている広域変数のサイズを、アラインメントを考慮して加算する。すなわち、図5のGUI画面30上の各広域変数に対して、チェックボックスのチェックがチェックされている状態で、且つ、ファイル名欄のファイル名が同一の広域変数のサイズを加算する。例えば、file1.cの場合、チェックボックスのチェックがチェックされている状態で、且つ、ファイル名欄のファイル名がfile1.cの広域変数のサイズを加算する。
そして、オブジェクトサイズ情報テーブル22中の該当する再配置可能オブジェクト4のSADDR属性セグメントサイズを更新する。すなわち、広域変数のサイズを加算した結果に基づいて、図9のオブジェクトサイズ情報テーブル22の該当箇所を更新する。例えばfile1.cの場合、ファイル名がfile1.o、セグメント属性がSADDRのサイズ欄を、そのサイズ欄の値に上記広域変数のサイズを加算した結果に置き換えることで、更新する。
Next, the wide-area variable arrangement designation /
For each
Then, the SADDR attribute segment size of the corresponding
続いて、広域変数配置指定/一覧表示部21は、以下の処理により、オブジェクトサイズ情報テーブル22を更新する(ステップS28)。
各再配置可能オブジェクト4について、通常のメモリ領域に配置指定されている広域変数のサイズを、アラインメントを考慮して加算する。すなわち、図5のGUI画面30上の各広域変数に対して、チェックボックスのチェックがチェックされていない状態で、且つ、ファイル名欄のファイル名が同一の広域変数のサイズを加算する。例えば、file2.cの場合、チェックボックスのチェックがチェックされていない状態で、且つ、ファイル名欄のファイル名がfile2.cの広域変数のサイズを加算する。
そして、オブジェクトサイズ情報テーブル22中の該当する再配置可能オブジェクト4のDATA属性セグメントサイズを更新する。すなわち、広域変数のサイズを加算した結果に基づいて、図9のオブジェクトサイズ情報テーブル22の該当箇所を更新する。例えば、file2.cの場合、ファイル名がfile2.o、セグメント属性がDATAのサイズ欄を、そのサイズ欄の値に上記広域変数のサイズを加算した結果に置き換えることで、更新する。
Subsequently, the global variable arrangement designation /
For each
Then, the DATA attribute segment size of the corresponding
その後、広域変数配置指定/一覧表示部21は、以上のサイズ変更後の再配置可能オブジェクト4のコードサイズに基づいて、リンカ7と同様のアルゴリズムで実行可能オブジェクト8のサイズを計算する(ステップS29)。すなわち、図9のオブジェクトサイズ情報テーブル22の属性が同じ行のサイズを加算する。そして、それぞれ結果を表示する。図5のGUI画面30上では、実行可能オブジェクトサイズ(予測値)表示欄32−1に、CODE属性の行のサイズを、アライメントを考慮して加算した結果を表示している。同様に、表示欄32−2、32−3に、それぞれSADDR属性とDATA属性の行のサイズを、アライメントを考慮して加算した結果を表示している。
Thereafter, the global variable placement designation /
以上のようにして、本発明の実施の形態に係るサイズ予測処理(バーチャルリンク処理)が行なわれる。 As described above, the size prediction process (virtual link process) according to the embodiment of the present invention is performed.
本実施の形態に係るサイズ予測処理(バーチャルリンク)による実行可能オブジェクト8のコードサイズの予測処理は、コンパイル処理およびリンク処理に比べて高速である。このため、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するよう試行錯誤する際に要する時間を短縮することができる。
The code size prediction process of the
従来技術において、1回のソースコード修正に要する時間をt_m、1回のコンパイル処理に要する時間をt_c、1回のリンク処理に要する時間をt_lとする。プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するようN回試行錯誤するとき、これに要する総時間t_total_1は、
t_total_1=N×(t_m+t_c+t_l) ・・・式(1)
本発明において、広域変数一覧表示部5のGUI画面30上でショートダイレクトアドレッシング可能メモリ領域に配置する広域変数を指定するのに要する時間をt_m’、広域変数参照情報ファイル3の生成を指定したコンパイル処理に要する時間をt_cfile、実行可能オブジェクトサイズの予測処理において、再配置可能オブジェクト4のサイズの変化量を計算するのに要する時間をt_e、リンカ7と同様のアルゴリズムにより実行可能オブジェクト8のサイズを計算するのに要する時間をt_vlとすると、N回試行錯誤するのに要する総時間(t_total_2)は、
t_tolal_2
=t_cfile+N×(t_m’+t_e+t_vl)+(t_c+t_l) ・・・式(2)
ここで、t_m≒t_tm’、t_l≒t_vlであり、t_cfile=2×t_cと仮定すると、式(2)は、
total_2
≒N×(t_m+t_l)+N×t_e+3×t_c+t_l ・・・式(2)’
となる。
ここで、t_e<t_cであるので、N≫1のとき、t_total_2<t_total_1となる。すなわち、従来技術でのN回試行錯誤の総時間と比較して、本発明でのN回試行錯誤の総時間の方が短くなる。
In the prior art, the time required for one source code correction is t_m, the time required for one compilation process is t_c, and the time required for one link process is t_l. When selecting a global variable so as to improve the code efficiency of the program and performing trial and error N times so as to place it in a short direct addressable memory area, the total time t_total_1 required for this is:
t_total_1 = N × (t_m + t_c + t_l) (1)
In the present invention, the time required for designating a global variable to be arranged in the short direct addressable memory area on the
t_toal_2
= T_cfile + N × (t_m ′ + t_e + t_vl) + (t_c + t_l) (2)
Here, assuming that t_m≈t_tm ′, t_l≈t_vl, and t_cfile = 2 × t_c, Equation (2) is
total_2
≈ N × (t_m + t_l) + N × t_e + 3 × t_c + t_l Equation (2) ′
It becomes.
Here, since t_e <t_c, when N >> 1, t_total_2 <t_total_1. That is, the total time of N trials and errors in the present invention is shorter than the total time of N trials and errors in the prior art.
本発明では、コンパイラ1が出力した広域変数の参照情報(広域変数参照情報ファイル3)と再配置可能オブジェクト4のサイズ情報に基づいて、広域変数一覧表示部5により、ある広域変数の配置位置を変更した場合の実行可能オブジェクトサイズの変化を予測する。これにより、プログラムのコード効率が向上するように広域変数を選び出し、ショートダイレクトアドレッシング可能メモリ領域に配置するよう試行錯誤する際に要する時間を短縮することができる。つまり、開発期間を短縮することができる。
In the present invention, based on the reference information (global variable reference information file 3) of the global variable output by the
本発明のプログラム、データ構造は、コンピュータ読取可能な記憶媒体に記録され、その記憶媒体から情報処理装置に読み込まれても良い。 The program and data structure of the present invention may be recorded on a computer-readable storage medium and read into the information processing apparatus from the storage medium.
本発明は上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変形又は変更され得ることは明らかである。 The present invention is not limited to the embodiments described above, and it is obvious that the embodiments can be appropriately modified or changed within the scope of the technical idea of the present invention.
1 コンパイラ
2、2−1〜2−3 ソースコード
3、3−1〜3−3 広域変数参照情報ファイル
4、4−1〜4−3 再配置可能オブジェクト
5 広域変数一覧表示部
6 広域変数配置指定ファイル
7 リンカ
8 実行可能オブジェクト
9 メモリ参照命令サイズテーブル
10 記憶部
11 入力装置
12 ディスプレイ装置
21 広域変数配置指定/一覧表示部
22 オブジェクトサイズ情報テーブル
23 広域変数参照情報マトリクス
30 GUI画面
31 テーブル
32、32−1〜32−3 実行可能オブジェクトサイズ(予測値)表示欄
33 バーチャルリンク実行ボタン
50 サイズ予測装置
101 コンパイラ
102、102−1〜102−3 ソースコード
104、104−1〜104−3 再配置可能オブジェクト
107 リンカ
108 実行可能オブジェクト
DESCRIPTION OF
Claims (13)
前記複数の再配置可能オブジェクトと前記複数の広域変数参照情報ファイルとに基づいて、前記複数の再配置可能オブジェクトをリンクして生成される実行可能オブジェクトのサイズ予測を実行する広域変数一覧表示部と
を具備し、
前記メモリ参照命令サイズテーブルは、広域変数がショートダイレクトアドレッシング可能領域としての第1領域に配置されている場合に生成する命令のコードサイズと、当該広域変数が前記第1領域以外のメモリ領域としての第2領域に配置されている場合に生成する命令のコードサイズとのコードサイズ差を、メモリ参照命令ごとに記述し、
前記ファイル広域変数参照情報ファイルは、前記ソースコードに含まれる各広域変数が前記第1領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズと、前記広域変数が前記第2領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズとのコードサイズ差を示し、
前記広域変数一覧表示部は、
前記広域変数参照情報ファイルに基づいて、前記各広域変数と、当該各広域変数の配置される領域と、当該各広域変数のコードサイズ差との関係を算出し、
前記各広域変数のうちの配置される領域を変更される変更広域変数の入力に基づいて、前記算出結果から前記変更広域変数のコードサイズ差を取得して、当該コードサイズ差を用いて、前記変更広域変数を含む前記再配置可能オブジェクトのコードサイズを調整し、
調整後の前記複数の再配置可能オブジェクトの前記コードサイズに基づいて、リンクと同じアルゴリズムを用いて実行可能オブジェクトサイズの予測値を算出する
実行可能オブジェクトのサイズ予測装置。 A compiler that translates a plurality of source codes to generate a plurality of relocatable objects, and generates a plurality of global variable reference information files based on the memory reference instruction size table and the plurality of source codes;
A global variable list display unit that performs size prediction of an executable object generated by linking the plurality of relocatable objects based on the plurality of relocatable objects and the plurality of global variable reference information files; Comprising
The memory reference instruction size table includes a code size of an instruction to be generated when a global variable is arranged in the first area as a short direct addressable area, and the global variable as a memory area other than the first area. Describe the code size difference with the code size of the instruction to be generated when arranged in the second area for each memory reference instruction,
The file global variable reference information file includes a code size required to refer to the global variable when each global variable included in the source code is arranged in the first area, and the global variable includes Indicating the code size difference from the code size required to refer to the global variable when it is assumed to be arranged in the second region,
The global variable list display section
Based on the global variable reference information file, calculate the relationship between the global variables, the area where the global variables are arranged, and the code size difference of the global variables,
Based on the input of the changed global variable to change the area to be arranged in each of the global variables, obtain the code size difference of the changed global variable from the calculation result, using the code size difference, Adjust the code size of the relocatable object containing the change global variable,
An executable object size predicting device that calculates a predicted value of an executable object size using the same algorithm as a link based on the code sizes of the plurality of relocatable objects after adjustment.
前記広域変数一覧表示部は、
前記再配置可能オブジェクトに基づいて、前記再配置可能オブジェクトと、当該再配置可能オブジェクトに含まれるセグメントと、当該セグメントのサイズとを関連付けたオブジェクトサイズ情報テーブルを生成し、
前記広域変数参照情報ファイルに基づいて、前記各広域変数の配置される領域を変更した場合の、前記再配置可能オブジェクトの前記コードサイズ差を示す広域変数参照情報マトリクスを生成し、
前記オブジェクトサイズ情報テーブルと、前記広域変数参照情報マトリクスとに基づいて、前記各広域変数と、当該各広域変数の配置される領域と、当該各広域変数の前記コードサイズ差との関係を算出する
実行可能オブジェクトのサイズ予測装置。 The apparatus for predicting the size of an executable object according to claim 1,
The global variable list display section
Based on the relocatable object, generate an object size information table associating the relocatable object, a segment included in the relocatable object, and the size of the segment,
Based on the global variable reference information file, generate a global variable reference information matrix indicating the code size difference of the relocatable object when the area where each global variable is arranged is changed,
Based on the object size information table and the global variable reference information matrix, the relationship between the global variables, the area where the global variables are arranged, and the code size difference of the global variables is calculated. Executable object size prediction device.
前記広域変数一覧表示部は、前記変更広域変数に基づいて、前記第1領域に配置する広域変数を指定する広域変数配置指定ファイルを生成する
実行可能オブジェクトのサイズ予測装置。 The apparatus for predicting the size of an executable object according to claim 1,
The global variable list display unit generates a global variable arrangement designation file that designates a global variable to be arranged in the first area based on the changed global variable.
前記広域変数一覧表示部は、
前記算出結果を表示装置に表示し、
前記表示に対してユーザが入力装置を介して入力する前記変更広域変数を受信する
実行可能オブジェクトのサイズ予測装置。 The apparatus for predicting the size of an executable object according to claim 1,
The global variable list display section
Displaying the calculation result on a display device;
An apparatus for predicting the size of an executable object that receives the changed global variable that a user inputs to the display via an input device.
前記広域変数一覧表示部は、
前記調整後の前記複数の再配置可能オブジェクトの前記コードサイズを前記表示装置に表示し、
前記第1領域の残量が不足した場合、残量不足の旨を前記表示装置に表示する
実行可能オブジェクトのサイズ予測装置。 The size estimation apparatus of the executable object according to claim 4,
The global variable list display section
Displaying the code size of the plurality of relocatable objects after the adjustment on the display device;
When the remaining amount of the first area is insufficient, an indication that the remaining amount is insufficient is displayed on the display device.
前記広域変数一覧表示部は、
前記予測値を前記表示装置に表示し、
前記予測値がROMサイズを超えた場合、サイズオーバーした旨を前記表示装置に表示する
実行可能オブジェクトのサイズ予測装置。 In the size estimation apparatus of the executable object of Claim 4 or 5,
The global variable list display section
Displaying the predicted value on the display device;
When the predicted value exceeds the ROM size, an indication that the size has been exceeded is displayed on the display device.
メモリ参照命令サイズテーブル及び前記複数のソースコードに基づいて複数の広域変数参照情報ファイルを生成するステップと、
前記複数の再配置可能オブジェクトと前記複数の広域変数参照情報ファイルとに基づいて、前記複数の再配置可能オブジェクトをリンクして生成される実行可能オブジェクトのサイズ予測を実行するステップと
を具備し、
前記メモリ参照命令サイズテーブルは、広域変数がショートダイレクトアドレッシング可能領域としての第1領域に配置されている場合に生成する命令のコードサイズと、当該広域変数が前記第1領域以外のメモリ領域としての第2領域に配置されている場合に生成する命令のコードサイズとのコードサイズ差を、メモリ参照命令ごとに記述し、
前記ファイル広域変数参照情報ファイルは、前記ソースコードに含まれる各広域変数が前記第1領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズと、前記広域変数が前記第2領域に配置されていると仮定した場合における当該広域変数を参照するのに要するコードサイズとのコードサイズ差を示し、
前記サイズ予測を実行するステップは、
前記広域変数参照情報ファイルに基づいて、前記各広域変数と、当該各広域変数の配置される領域と、当該各広域変数のコードサイズ差との関係を算出するステップと、
前記各広域変数のうちの配置される領域を変更される変更広域変数の入力に基づいて、前記算出結果から前記変更広域変数のコードサイズ差を取得して、当該コードサイズ差を用いて、前記変更広域変数を含む前記再配置可能オブジェクトのコードサイズを調整するステップと、
調整後の前記複数の再配置可能オブジェクトの前記コードサイズに基づいて、リンクと同じアルゴリズムを用いて実行可能オブジェクトサイズの予測値を算出するステップと
を備える
実行可能オブジェクトのサイズ予測方法。 Translating multiple source code to generate multiple relocatable objects;
Generating a plurality of global variable reference information files based on a memory reference instruction size table and the plurality of source codes;
Performing size prediction of an executable object generated by linking the plurality of relocatable objects based on the plurality of relocatable objects and the plurality of global variable reference information files, and
The memory reference instruction size table includes a code size of an instruction to be generated when a global variable is arranged in the first area as a short direct addressable area, and the global variable as a memory area other than the first area. Describe the code size difference with the code size of the instruction to be generated when arranged in the second area for each memory reference instruction,
The file global variable reference information file includes a code size required to refer to the global variable when each global variable included in the source code is arranged in the first area, and the global variable includes Indicating the code size difference from the code size required to refer to the global variable when it is assumed to be arranged in the second region,
Performing the size prediction comprises:
Based on the global variable reference information file, calculating a relationship between each global variable, an area where the global variable is arranged, and a code size difference between the global variables;
Based on the input of the changed global variable to change the area to be arranged in each of the global variables, obtain the code size difference of the changed global variable from the calculation result, using the code size difference, Adjusting the code size of the relocatable object including a modified global variable;
A method for predicting an executable object size based on the code sizes of the plurality of relocatable objects after adjustment using the same algorithm as the link.
前記関係を算出するステップは、
前記再配置可能オブジェクトに基づいて、前記再配置可能オブジェクトと、当該再配置可能オブジェクトに含まれるセグメントと、当該セグメントのサイズとを関連付けたオブジェクトサイズ情報テーブルを生成するステップと、
前記広域変数参照情報ファイルに基づいて、前記各広域変数の配置される領域を変更した場合の、前記再配置可能オブジェクトの前記コードサイズ差を示す広域変数参照情報マトリクスを生成するステップと、
前記オブジェクトサイズ情報テーブルと、前記広域変数参照情報マトリクスとに基づいて、前記各広域変数と、当該各広域変数の配置される領域と、当該各広域変数の前記コードサイズ差との関係を算出するステップと
を含む
実行可能オブジェクトのサイズ予測方法。 The method for predicting the size of an executable object according to claim 7,
The step of calculating the relationship includes:
Generating an object size information table associating the relocatable object, the segment included in the relocatable object, and the size of the segment based on the relocatable object;
Generating a global variable reference information matrix indicating the code size difference of the relocatable object when the area in which each global variable is arranged is changed based on the global variable reference information file;
Based on the object size information table and the global variable reference information matrix, the relationship between the global variables, the area where the global variables are arranged, and the code size difference of the global variables is calculated. A method for predicting the size of an executable object including steps and.
前記予測値を算出するステップは、前記変更広域変数に基づいて、前記第1領域に配置する広域変数を指定する広域変数配置指定ファイルを生成するステップを含む
実行可能オブジェクトのサイズ予測方法。 The method for predicting the size of an executable object according to claim 7,
The step of calculating the predicted value includes a step of generating a wide area variable designation file for designating a global variable to be arranged in the first area based on the changed global variable.
前記コードサイズを調整するステップは、
前記算出結果を表示装置に表示するステップと、
前記表示に対してユーザが入力装置を介して入力する前記変更広域変数を受信するステップと
を含む
実行可能オブジェクトのサイズ予測方法。 The method for predicting the size of an executable object according to claim 7,
The step of adjusting the code size includes:
Displaying the calculation result on a display device;
Receiving the modified global variable that the user inputs to the display via an input device. A method for predicting the size of an executable object.
前記コードサイズを調整するステップは、
前記調整後の前記複数の再配置可能オブジェクトの前記コードサイズを前記表示装置に表示するステップと、
前記第1領域の残量が不足した場合、残量不足の旨を前記表示装置に表示するステップと
を更に含む
実行可能オブジェクトのサイズ予測方法。 The method for predicting the size of an executable object according to claim 10.
The step of adjusting the code size includes:
Displaying the code size of the plurality of relocatable objects after the adjustment on the display device;
A method for predicting the size of an executable object, further comprising: displaying on the display device that the remaining capacity of the first area is insufficient.
前記予測値を算出するステップは、
前記予測値を前記表示装置に表示するステップと、
前記予測値がROMサイズを超えた場合、サイズオーバーした旨を前記表示装置に表示するステップと
を含む
実行可能オブジェクトのサイズ予測方法。 The method for predicting the size of an executable object according to claim 10 or 11,
The step of calculating the predicted value includes
Displaying the predicted value on the display device;
When the predicted value exceeds the ROM size, a display indicating that the size has been exceeded is displayed on the display device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009260469A JP2011107848A (en) | 2009-11-13 | 2009-11-13 | Device, method and program for predicting size of executable object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009260469A JP2011107848A (en) | 2009-11-13 | 2009-11-13 | Device, method and program for predicting size of executable object |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011107848A true JP2011107848A (en) | 2011-06-02 |
Family
ID=44231265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009260469A Pending JP2011107848A (en) | 2009-11-13 | 2009-11-13 | Device, method and program for predicting size of executable object |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011107848A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012157732A1 (en) | 2011-05-13 | 2012-11-22 | Dow Corning Toray Co., Ltd. | Method of protecting transparent nonmetallic electroconductive parts |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934725A (en) * | 1995-07-15 | 1997-02-07 | Nec Corp | Device and method for processing language |
JPH10320211A (en) * | 1997-05-15 | 1998-12-04 | Fujitsu Ltd | Compiler and record medium for recording program for compiler |
JPH11338709A (en) * | 1998-03-27 | 1999-12-10 | Nec Corp | Generating method for link directive file and tool for the file generation |
JP2000339173A (en) * | 1999-05-26 | 2000-12-08 | Nec Microcomputer Technology Ltd | Language processor |
-
2009
- 2009-11-13 JP JP2009260469A patent/JP2011107848A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934725A (en) * | 1995-07-15 | 1997-02-07 | Nec Corp | Device and method for processing language |
JPH10320211A (en) * | 1997-05-15 | 1998-12-04 | Fujitsu Ltd | Compiler and record medium for recording program for compiler |
JPH11338709A (en) * | 1998-03-27 | 1999-12-10 | Nec Corp | Generating method for link directive file and tool for the file generation |
JP2000339173A (en) * | 1999-05-26 | 2000-12-08 | Nec Microcomputer Technology Ltd | Language processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012157732A1 (en) | 2011-05-13 | 2012-11-22 | Dow Corning Toray Co., Ltd. | Method of protecting transparent nonmetallic electroconductive parts |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101697131B (en) | Method and device for dynamically loading relocatable file | |
JP4903686B2 (en) | Flash memory programming | |
CN100481007C (en) | Method and system for performing link-time code optimization without additional code analysis | |
EP3084596B1 (en) | Executable code for constrained computing environments | |
US9841953B2 (en) | Pluggable components for runtime-image generation | |
CN102722387B (en) | Dynamic patching method and device | |
JP6432450B2 (en) | Parallel computing device, compiling device, parallel processing method, compiling method, parallel processing program, and compiling program | |
US20070006201A1 (en) | Method and system for generating and applying patches to a computer program concurrently with its execution | |
US7788661B2 (en) | Method and system for applying patches to a computer program concurrently with its execution | |
CN101311901B (en) | Program re-writing apparatus | |
CN110457044A (en) | Compilation Method, device and the electronic equipment of Haxe application program | |
CN116401003A (en) | Android application running method, system and storage medium based on desktop operating system | |
JP2011107848A (en) | Device, method and program for predicting size of executable object | |
JP6292096B2 (en) | Programmable controller system and its support device | |
KR100662846B1 (en) | Data processing system and method | |
Sidiropoulos et al. | Jitpr: A framework for supporting fast application's implementation onto fpgas | |
US20050055678A1 (en) | Method and apparatus for managing software in computer system using virtual machine | |
JP2015125713A (en) | Programmable controller and system, support device thereof, programmable controller, and program | |
Unat et al. | Tiling as a durable abstraction for parallelism and data locality | |
US8595675B1 (en) | Local objective optimization in global placement of an integrated circuit design | |
JP2007080049A (en) | Built-in program generation method, built-in program development system and information table section | |
KR101670916B1 (en) | Method for storing function and system device using the same | |
JP4898365B2 (en) | Embedded program development apparatus and program automatic generation method | |
JP2014010661A (en) | Program, method and device for branch address management | |
JP5660386B2 (en) | Memory allocation management device, memory allocation management method, memory allocation management program, and program creation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130513 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130917 |