JPH02171830A - Optimum data allocating system in compiler - Google Patents

Optimum data allocating system in compiler

Info

Publication number
JPH02171830A
JPH02171830A JP32530388A JP32530388A JPH02171830A JP H02171830 A JPH02171830 A JP H02171830A JP 32530388 A JP32530388 A JP 32530388A JP 32530388 A JP32530388 A JP 32530388A JP H02171830 A JPH02171830 A JP H02171830A
Authority
JP
Japan
Prior art keywords
data
allocation
order
compiler
order information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32530388A
Other languages
Japanese (ja)
Inventor
Toshimi Osanai
小山内 聡美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP32530388A priority Critical patent/JPH02171830A/en
Publication of JPH02171830A publication Critical patent/JPH02171830A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To eliminate the need for the output and the calculation of an excess purpose program for the approach of a data and to improve the translating speed of a source program by allocating the data in the order of the data having the large number of times of reference. CONSTITUTION:The front end part 2 of a compiler 1 inputs a source program 7 and outputs an intermediate language 8 and allocation order information 9. As a role in this front end part 2, the analysis of a procedure part in the source program 7, which is written by a user, is charged in a procedure analyzing part 3 and the allocation order information 9 are arranged in the analyzing part 3 by the reference number of times of order arranging means 4 according to the order of the number of times of reference. A reference number of times of order data allocating means 5 really executes the allocation processing of the data based on the information 9 and the means 5 is positioned between the front end part 2 and a back end part 6. This back end part 6 inputs the intermediate language 8 and executes code generation and the output of a purpose program 10. Then, the translating speed of the source program is improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータシステムのコンパイラに関し、特
に基点となるベースアドレスを最大ディスプレースメン
トの間隔で割り当てベースアドレスをベースレジスタに
設定しベースアドレスからの相対アドレスをインデック
スレジスタやディスプレースメントに設定してデータ接
近を行うコンピュータシステムのコンパイラにおける最
通データ割付は方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a compiler for a computer system, and in particular, allocates a base address to be a base point at intervals of maximum displacement, sets the base address in a base register, and calculates the relative value from the base address. The ubiquitous data allocation in a computer system compiler that accesses data by setting an address in an index register or displacement is related to a method.

〔従来の技術〕[Conventional technology]

従来、この種のコンパイラにおけるデータ割付は方式で
は、データ割付けは原始プログラムにおけるデータの宣
言順に行われており、データの宣言がデータD、データ
B、データC,データAおよびデータEの順になされて
いるとすると、第7図に示すように、データ領域71へ
のデータの割付けもデータD、データB、データC,デ
ークAおよびデータEの順に行われていた。このため、
データAおよびデータBにデータ接近するには、データ
Aのデータ接近のためにアドレスCをベースレジスタ#
2にロードする命令と、データf3のデータ接近のため
にアドレスbをヘースレジスク#1にロードする命令と
を出力しなければならなかった。
Conventionally, the data allocation method in this type of compiler is that data allocation is performed in the order of data declaration in the source program, and the data declarations are made in the order of data D, data B, data C, data A, and data E. Assuming that data is allocated to the data area 71 in the order of data D, data B, data C, data A, and data E, as shown in FIG. For this reason,
To access data A and data B, set address C to base register # for data access of data A.
2 and an instruction to load address b into Heath Regisc #1 for data access of data f3 had to be output.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のコンパイラにおけるデータ割付は方式で
は、参照のないデータや参照の少ないデータを先に宣言
してしまうと、参照の多いデータはデータ領域の最大デ
ィスプレースメント以上の領域に割り付けられる可能性
が高くなるので、参照の多いデータがデータ領域の最大
ディスプレースメント以上の領域に割り付けられた場合
には、データ接近のためのベースレジスタへのロード命
令の出力、ベースレジスタからの相対アドレスの算出等
の処理を翻訳時にしなければならなくなり、原始プログ
ラムの翻訳速度が低下するという欠点がある。
In the data allocation method in the conventional compiler described above, if unreferenced data or data with few references is declared first, there is a possibility that data with many references will be allocated to an area larger than the maximum displacement of the data area. Therefore, if data that is frequently referenced is allocated to an area that exceeds the maximum displacement of the data area, outputting a load instruction to the base register to access the data, calculating a relative address from the base register, etc. The disadvantage is that the processing has to be done during translation, which slows down the translation speed of the source program.

また、目的プログラムのステップ数も増えるので、目的
プログラムの実行時の効率も悪くなるという欠点がある
Furthermore, since the number of steps in the target program increases, there is a drawback that the efficiency of executing the target program decreases.

特に、参照の多いデータが参照のないまたは少ないデー
タの中に点在して宣言されているような場合には上記欠
点は著しくなる。
In particular, the above drawback becomes significant when data with many references are scattered and declared among data with no or few references.

本発明の目的は、上述の点に鑑み、参照回数の多いデー
タ順にデータをデータ領域に割り付けることにより、デ
ータ接近のための余計な目的ブ1:1グラムの出力や計
算を不要として、原始プログラムの翻訳速度を高速化す
るとともに目的プログラムの実行速度も高速化するよう
にしたコンパイラにおける最通データ割付は方式を提供
することGこある。
In view of the above-mentioned points, an object of the present invention is to allocate data to a data area in the order of the data that has been referenced the most, thereby eliminating the need for outputting or calculating an unnecessary objective block 1:1 gram for data access, and providing a source program. It is an object of the present invention to provide a method for universal data allocation in a compiler that speeds up the translation speed of the program and also speeds up the execution speed of the target program.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のコンパイラにおける最通データ割付は方式は、
基点となるペースアドレスを最大ディスプレースメント
の間隔で割り当てペースアドレスをベースレジスタに設
定しベースアドレスからの相対アドレスをインデックス
レンスタやディスプレースメントに設定することにより
データ接近を行うコンピュータシステムのコンパイラに
おいて、各データの記号表へのポインタ値を得てポイン
タ値をデータの参照回数の多い順に整列し割付は順情報
とする参隙回数順整列手段と、この参照回数類整列手段
により整列された割付は順情報を入力し割付は順情報に
暴づいて参照回数の多いデータからデータ割付けを行う
参照回数順データ割付は手段とを有する。
The method of universal data allocation in the compiler of the present invention is as follows:
In the compiler of a computer system, data is accessed by assigning the base point pace address at the maximum displacement interval, setting the pace address in the base register, and setting the relative address from the base address in the index register or displacement. A pointer value to a data symbol table is obtained, and the pointer value is arranged in descending order of the number of times the data is referenced, and the allocation is used as order information. The method includes means for inputting information, identifying the layout order information, and allocating data in descending order of the number of references.

〔作用〕[Effect]

本発明のコンパイラにおける最通データ割付は方式では
、参照回数類整列手段が各データの記号表へのポインタ
値を得てポインタ値をデータの参jjq回数の多い順に
整列し割付は順情報とし、参照回数順データ割付は手段
が参照回数j頭整列手段により整列された割付は順情報
を入力し割付は順情報に基づいて参照回数の多いデータ
からデータ割付けを行う。
The compiler of the present invention has a method for repeating data allocation, in which a reference count sorting means obtains a pointer value to the symbol table of each data, sorts the pointer values in descending order of the number of times the data has been referenced, and the allocation is treated as order information. For data allocation in the order of the number of references, the means inputs order information for the arrangement sorted by the number of references j first by the arrangement means, and performs data allocation from data with the highest number of references based on the order information.

〔実施例〕〔Example〕

次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は、本発明の一実施例に係る最通データ割付は方
式が適用されたコンパイラ1の構成を示すブロック図で
ある。このコンパイラlは、参照回数類整列手段4を含
む手続き部解析部3を有するフロントエンド部2と、参
照回数順データ割付は手段5と、バンクエンド部6とか
ら構成されている。
FIG. 1 is a block diagram showing the configuration of a compiler 1 to which a repeatable data allocation method according to an embodiment of the present invention is applied. This compiler 1 is composed of a front end section 2 having a procedure section analysis section 3 including a reference number sorting means 4, a reference number order data allocation means 5, and a bank end section 6.

フロントエンド部2は、原始プログラム7を入力し、中
間言語8および割付は順情f19を出力する。フロント
エンド部2の中には様々な役割を分担する部分が存在す
るが、その中で利用者が記述した原始プログラム7のう
ちの手続き部の解析を主に担当するのが手続き部解析部
3であり、手続き部解析部3の中に割付は順情報9を参
照回数類になるように整列する参照回数類整列手段4が
設けられている。
The front end unit 2 inputs the source program 7 and outputs the intermediate language 8 and layout f19. There are parts in the front end part 2 that share various roles, but the procedure part analysis part 3 is mainly responsible for analyzing the procedure part of the source program 7 written by the user. In the procedure division analysis section 3, there is provided a reference number class sorting means 4 for arranging the allocation order information 9 into reference number classes.

参照回数順データ割付は手段5は、割付は順情+′19
をもとに実際にデータの割付は処理を行う手段であり、
フロントエンド部2とバックエンド部6との間に位置す
る。
Means 5 is for data allocation in order of number of references, allocation is Junjo+'19
Data allocation is actually a means of processing based on
It is located between the front end section 2 and the back end section 6.

バンクエンド部6は、フロントエンド部2から出力され
た中間言語8を入力し、コード生成および目的プログラ
ムlOの出力を主に行う。
The bank end unit 6 receives the intermediate language 8 output from the front end unit 2, and mainly performs code generation and output of the target program IO.

第2図を参照すると、参照回数順整列手段4を含む手続
き部解析部3における処理は、手続き部読込みステップ
21と、手続き部終了判定ステップ22と、中間言語生
成ステップ23と、記号表取得ステップ24と、最上位
レベルデータ判定ステップ25と、最上位レヘルデータ
記号表取得ステップ26と、登録ビットオン判定ステッ
プ27と、参照回数カウントインクリメントステップ2
8と、アドレス登録および登録ビットオンステップ29
と、割付は順情報参照回数順整列ステップ30とからな
る。
Referring to FIG. 2, the processing in the procedure division analysis unit 3 including the reference count sorting means 4 includes a procedure division reading step 21, a procedure division end determination step 22, an intermediate language generation step 23, and a symbol table acquisition step. 24, the highest level data determination step 25, the highest level data symbol table acquisition step 26, the registration bit on determination step 27, and the reference count increment step 2
8 and address registration and registration bit on step 29
The allocation consists of a step 30 of arranging the order information in order of the number of times of reference.

第3図を参照すると、参照回数順データ割付は手段5に
おける処理は、記号表データ割付はステップ31からな
る。
Referring to FIG. 3, the processing in the means 5 for data allocation in order of number of references and the step 31 for symbol table data allocation.

次に、このように構成された本実施例の最通データ割付
は方式の動作について説明する。
Next, the operation of the continuous data allocation system of this embodiment configured as described above will be explained.

コンパイラlのフロントエンド部2が原始プログラム7
を入力すると、手続き部解析部3は、原始プログラム7
の手続き部の一単位(例えば、転記、比較等の一単位)
を読み込み(ステップ21)、手続き部が終了でなけれ
ば(ステップ22)、読み込んだ1単位についての中間
言33Bを生成する(ステップ23)。
The front end part 2 of the compiler l is the source program 7
, the procedure division analysis unit 3 inputs the source program 7
A unit of the procedure division (e.g., a unit of transcription, comparison, etc.)
is read (step 21), and if the procedure section is not finished (step 22), an intermediate language 33B for the read one unit is generated (step 23).

次に、手続き部解析部3は、生成した中間言語8と関連
するデータの記号表(シンボルテーブル)を得る(ステ
ップ24)。例えば、利用者が原始プログラム7の手続
き部に“A−B″と記述しこの記述がデータAにデータ
Bの内容を代入するという原始プログラム7の言語仕様
であるならば、生成される中間言語8は転記であるとい
う情報とデータへの記号表およびデータBの記号表とが
関連付けられている。
Next, the procedure division analysis unit 3 obtains a symbol table of data related to the generated intermediate language 8 (step 24). For example, if the user writes "A-B" in the procedure division of the source program 7, and this description is the language specification of the source program 7 that assigns the contents of data B to data A, the generated intermediate language The information that 8 is a transcription is associated with the symbol table for data and the symbol table of data B.

続いて、手続き部解析部3は、得られた記号表からデー
タが1番上のレベル番号をもつデータ(最上位レベルデ
ータ)であるか否かを調べ(ステップ25)、従属する
レベルのデータ(最上位レベルデータ以外のデータ)で
あったならば1番上のレベル番号をもつデータの記号表
を得る(ステップ26)、これは、1番上のレベル番号
をもつデータを11り付けて初めて、そのデータに従属
するレベルのデータ割付はアドレスが決定されるからで
ある。
Next, the procedure division analysis unit 3 checks whether the data is the data with the highest level number (top level data) from the obtained symbol table (step 25), and determines whether the data is the data of the subordinate level. (data other than the highest level data), obtain a symbol table of the data with the highest level number (step 26). This is done by attaching the data with the highest level number to 11. This is because for the first time, the address of data allocation at a level subordinate to that data is determined.

このようにして得られた1番上のレベル番号をもつデー
タの記号表には初期値がオフのビット(以下、登録ビッ
トという)が用意されており、手続き部解析部3は、登
録ビットが初期状態〈オフ)であるか否かを調べ(ステ
ップ27)、初期状態であったならば割付は順情報9に
記号表のアドレスを記号表へのポインタとして登録し、
初めての参照のために割付は順情報9の中の参照回数に
初期値“1゛を入れ、記号表にも割付は順情?8へのポ
インタ(アドレス)を保存して登録ビットをオンにする
(ステップ29)。
The symbol table of the data with the highest level number obtained in this way has bits whose initial value is off (hereinafter referred to as registered bits), and the procedure division analysis unit 3 analyzes the registered bits. Check whether it is in the initial state (off) (step 27), and if it is in the initial state, the address of the symbol table is registered in the order information 9 as a pointer to the symbol table.
For the first reference, set the initial value ``1'' to the number of references in the order information 9, save the pointer (address) to the allocation in the symbol table, and turn on the registration bit. (Step 29).

例えば、第4図に示すように、データD、データB、デ
ータCおよびデータAの記号表41.42.43および
44が割付は順情報9に登録された状態から次にデータ
Eが参照された場合、データEの記号表45のアドレス
が割付は順情報9の5番目の記号表へのポインタとして
登録されることになる。
For example, as shown in FIG. 4, the symbol tables 41, 42, 43 and 44 for data D, data B, data C and data A are registered in the order information 9, and then data E is referenced. In this case, the address of the symbol table 45 of the data E will be registered as a pointer to the fifth symbol table of the allocation order information 9.

ステップ27で登録ビットが割付は順情報9に記号表を
登録済みの状態を示すオンであったならば、初めての参
照のときに記号表に保存しておいた割付は順情翰へのポ
インタから該当する割付は順情報9を得、参照回数を1
つカウントアツプする(ステップ28)。
If the registration bit is on in step 27, indicating that the symbol table has been registered in the allocation order information 9, the allocation saved in the symbol table at the first reference is a pointer to the order information. For the corresponding allocation, obtain the order information 9 and set the number of references to 1.
count up (step 28).

このような一連の動作を繰り返し、原始プログラム7の
手続き部が終了したならば(ステップ22)、手続き部
解析部3は、参照回数順整列手段4により参照回数が1
回以上のデータを全て登録した割付は順情報9を参照回
数をキーとして参照回数が多い順になるように整列する
(ステップ30)。
After repeating this series of operations and completing the procedure division of the source program 7 (step 22), the procedure division analysis unit 3 uses the reference count sorting means 4 to sort the number of references by 1.
The layouts in which all the data for more than 10 times have been registered are arranged in descending order of the number of times of reference using the order information 9 as the key of the number of times of reference (step 30).

例えば、原始プログラム7の手続き部で参照されたデー
タがデータA、データB、データC,データDおよびデ
ータEだけだったとすると、割付は順情@9に登録され
るのもこれらのデータの5つの記号表41〜45のみと
なり、これらを参照回数順に整列すると、第5図に示す
ような割付け1111!r情報9が得られる。なお、こ
こでは、以後記号表41〜45から割付は順情報9への
参照が行われないので、記号表41〜45の割付は順情
報へのポインタを同時にNULLクリアしている。
For example, if the only data referenced in the procedure division of source program 7 is data A, data B, data C, data D, and data E, the allocation will be registered in Junjo@9 for 5 of these data. There are only one symbol table 41 to 45, and when these are arranged in order of the number of references, the layout is 1111 as shown in FIG. 5! r information 9 is obtained. Here, since the symbol tables 41 to 45 no longer refer to the order information 9 for allocation, the pointers to the order information for the allocation of the symbol tables 41 to 45 are cleared to NULL at the same time.

フロントエンド部2における処理が終了すると、参照回
数順データ割付は手段5は、参照回数順整列手段4によ
り整列された割付は順情fHを入力し、参照回数の多い
順にデータを割り付ける(ステップ51)。
When the processing in the front end unit 2 is completed, the data allocation means 5 in the order of the number of references inputs the order information fH for the data sorted by the number of references sorting means 4, and allocates the data in order of the number of references (step 51). ).

この結果、データを割り付けられたデータ領域61は、
例えば第6図に示すようになり、通常、データ領域61
の先頭を示すアドレスaをヘースレジスタ#0にロード
する命令は無条件に出力されるので、このように割り付
けられたならば参照の多いデータAおよびデータBのデ
ータ接近のために新たにヘースレジスタへのロード命令
を出力する必要がなくなる。
As a result, the data area 61 to which data is allocated is
For example, as shown in FIG.
The instruction to load address a, which indicates the beginning of There is no need to output load instructions.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、参照回数の多いデータ順
にデータを割り付けることにより、データ接近のための
余計な目的プログラムの出力や計算が不要となり、原始
プログラムの翻訳速度が高速になるという効果がある。
As explained above, the present invention has the effect that by allocating data in the order of data reference frequency, unnecessary output and calculation of the target program to access the data is unnecessary, and the translation speed of the source program is increased. be.

また、目的プログラムのステップ数も減少するので、実
行速度も高速になるという効果がある。
Furthermore, since the number of steps in the target program is reduced, the execution speed is also increased.

さらに、参照のあるデータのみをデータ領域に割り付け
ることになるので、余計なデータの割付は処理が不要と
なって原始プログラムの翻訳速度が高速になるとともに
、目的プログラムの実行時に余計ムデータがメモリを占
有することもなくなるので、目的プログラムの実行効率
も向上するという効果がある。
Furthermore, since only referenced data is allocated to the data area, there is no need to process the allocation of unnecessary data, which speeds up the translation of source programs. Since it is no longer occupied, the execution efficiency of the target program is also improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明一実施例に係る最通データ割付は方式が
適用されたコンパイラの構成を示すブロック図・ 第2図は第1図中の参照回数順整列手段を含む手続き部
解析部の処理を示す流れ図、 第3図は第1図中の参照回数順データ割付は手段の処理
を示す流れ図、 第4図は第1図中の割付は順情報への登録例を示す図、 第5図は第1図中の割付は順情報の整列例を示す図、 第6図は本実施例のコンパイラにおける最通データ割付
は方式によるデータ割付は例を示す図1、第7図は従来
のコンパイラにおけるデータ割付は方式によるデータ割
付は例を示す図である。 図において、 l・・・コンパイラ、 2・・・フロントエンド部、 3・・・手続き部解析部、 4・・・参11Q回数順整列手段、 5・・・参照回数順データ811付は手段、6・・・バ
ックエンド部、 7・・・原始プログラム、 8・・・中間言語、 9・・・割付は順情報、 10・・目的プログラム、 41〜45・・・記号表である。 第1図 第 図 第 図 第 図 第 図
FIG. 1 is a block diagram showing the configuration of a compiler to which the recursive data allocation method according to an embodiment of the present invention is applied. FIG. FIG. 3 is a flowchart showing the processing of the reference count order data allocation in FIG. 1; FIG. Figure 1 shows an example of the arrangement of order information for the layout in Figure 1, Figure 6 shows an example of data allocation based on the system for the data allocation in the compiler of this embodiment, and Figure 7 shows an example of the conventional data allocation. The data allocation in the compiler is a diagram showing an example of data allocation based on a method. In the figure, l...compiler, 2...front end section, 3...procedure section analysis section, 4...reference number order sorting means, 5...reference number order data 811 attached means, 6... Back end part, 7... Source program, 8... Intermediate language, 9... Assignment is order information, 10... Target program, 41-45... Symbol table. Figure 1 Figure Figure Figure Figure

Claims (1)

【特許請求の範囲】 基点となるベースアドレスを最大ディスプレースメント
の間隔で割り当てベースアドレスをベースレジスタに設
定しベースアドレスからの相対アドレスをインデックス
レジスタやディスプレースメントに設定することにより
データ接近を行うコンピュータシステムのコンパイラに
おいて、各データの記号表へのポインタ値を得てポイン
タ値をデータの参照回数の多い順に整列し割付け順情報
とする参照回数順整列手段と、 この参照回数順整列手段により整列された割付け順情報
を入力し割付け順情報に基づいて参照回数の多いデータ
からデータ割付けを行う参照回数順データ割付け手段と を有することを特徴とするコンパイラにおける最通デー
タ割付け方式。
[Claims] A computer system that accesses data by allocating base addresses as reference points at intervals of maximum displacement, setting base addresses in base registers, and setting relative addresses from the base addresses in index registers and displacements. In the compiler, a reference count sorting means obtains a pointer value to the symbol table of each data, sorts the pointer values in descending order of the number of times the data is referenced, and uses the data as allocation order information; 1. A continuous data allocation method in a compiler, comprising reference count order data allocation means for inputting allocation order information and allocating data in descending order of the number of references based on the allocation order information.
JP32530388A 1988-12-23 1988-12-23 Optimum data allocating system in compiler Pending JPH02171830A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32530388A JPH02171830A (en) 1988-12-23 1988-12-23 Optimum data allocating system in compiler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32530388A JPH02171830A (en) 1988-12-23 1988-12-23 Optimum data allocating system in compiler

Publications (1)

Publication Number Publication Date
JPH02171830A true JPH02171830A (en) 1990-07-03

Family

ID=18175311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32530388A Pending JPH02171830A (en) 1988-12-23 1988-12-23 Optimum data allocating system in compiler

Country Status (1)

Country Link
JP (1) JPH02171830A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120028A (en) * 1991-10-28 1993-05-18 Nec Corp Micro computer device
JP2006058991A (en) * 2004-08-18 2006-03-02 Fujitsu Ltd Compilation method and compiler

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6234240A (en) * 1985-08-08 1987-02-14 Nec Corp Data allotting system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6234240A (en) * 1985-08-08 1987-02-14 Nec Corp Data allotting system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120028A (en) * 1991-10-28 1993-05-18 Nec Corp Micro computer device
JP2006058991A (en) * 2004-08-18 2006-03-02 Fujitsu Ltd Compilation method and compiler

Similar Documents

Publication Publication Date Title
US7136887B2 (en) Method and mechanism for finding references in a card in time linear in the size of the card in a garbage-collected heap
US20070136546A1 (en) Use of Region-Oriented Memory Profiling to Detect Heap Fragmentation and Sparse Memory Utilization
US6119206A (en) Design of tags for lookup of non-volatile registers
EP0947922B1 (en) Compiler
Miller et al. Garbage collection is fast, but a stack is faster
US5394545A (en) System for determination and display of memory used, dedicated, and shared by a process at a particular time
JPH02171830A (en) Optimum data allocating system in compiler
CN1191527C (en) Device and method for generating sparse interference graph
US7581213B2 (en) Allocating automatic variables to different memory banks
US20030237077A1 (en) Identifying pure pointers to disambiguate memory references
JPH0371233A (en) Optimum data allocating system for compiler
US7039664B2 (en) Combining entries in a card object table
JPS6234240A (en) Data allotting system
JPH02171831A (en) Data access system for compiler
JPH03109642A (en) Compiling device
JP3470256B2 (en) Instruction code bit assignment device
JP3072772B2 (en) Compiling device
JP2000112767A (en) Compiler, its variable assigning method and its program recording medium
JPH0792757B2 (en) Optimal data allocation method
JPH03129527A (en) Register allocating system
JPH0241525A (en) Address allocation processing system in translation processor
JPH03196224A (en) Data allocating system
JPH04111131A (en) Computer language translating device
JPS62163145A (en) Compiler device
JPH0373026A (en) Compile system