JPH0683635A - コンパイル・リンク方式 - Google Patents

コンパイル・リンク方式

Info

Publication number
JPH0683635A
JPH0683635A JP782991A JP782991A JPH0683635A JP H0683635 A JPH0683635 A JP H0683635A JP 782991 A JP782991 A JP 782991A JP 782991 A JP782991 A JP 782991A JP H0683635 A JPH0683635 A JP H0683635A
Authority
JP
Japan
Prior art keywords
processing
branch
information
program
link
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
JP782991A
Other languages
English (en)
Inventor
Tadahiko Maeda
忠彦 前田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP782991A priority Critical patent/JPH0683635A/ja
Publication of JPH0683635A publication Critical patent/JPH0683635A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 コンパイル・リンク方式において、作業者に
かかる負担を軽減して処理の迅速化を図るとともに、処
理に使用する資源の保存・復旧や処理手段の点でも、処
理効率の向上を図ること。 【構成】 部分ソースプログラムを個別に扱うコンパイ
ル処理100時においては、処理条件の選択のために他
の部分ソースプログラム内の情報が必要となる箇所の処
理は、処理条件の選択に必要な自己の部分内の情報をオ
ブジェクトプログラム上に残すことにとどめて、処理条
件の選択は保留にしておく。そして、オブジェクトプロ
グラム相互をまとめるリンク処理200時においては、
処理条件の選択のために各オブジェクトプログラム上に
記録されている情報に基づいて、コンパイル処理100
時に保留していた処理を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ソースプログラムに
対してコンパイル処理とリンク処理とを実行して実行形
式プログラムを得るコンパイル・リンク方式に関するも
のである。
【0002】
【従来の技術】従来、C言語やFORTRAN等の言語
処理系では、ソースプログラムに対してコンパイル処理
とリンク処理とを実行して実行形式プログラムを得るコ
ンパイル・リンク方式として、図2に示す方式が開発さ
れている。
【0003】この従来方式は、いわゆる分割コンパイル
方式と呼ばれているもので、処理対象のソースプログラ
ムSを複数(この場合は、n個)の部分ソースプログラ
ム1S,……,nSに分けて各部分毎に個別にコンパイ
ルし、その結果として得た各部分オブジェクトプログラ
ム1O,……,nOに対してリンク処理を実行すること
によって実行形式プログラムPを得るものである。な
お、前記リンク処理は、例えば外部名の結合等、複数の
部分オブジェクトプログラムを一つにまとめて全体に関
わる処理を行うものであり、それ以外の処理は、各部分
ソースプログラム毎のコンパイル時に各部分の内部で決
定・実行する。
【0004】ただし、各部分ソースプログラム毎に個別
に処理を決定・実行する場合では、手続き(関数)の呼
び出し先が他の部分ソースプログラムに存在するときに
は、その呼び出し先の必要とするレジスタ等の資源を知
ることができないという問題がある。また、分岐(呼び
出しを含む)先が他の部分ソースプログラムに存在する
ときには、分岐先までの位置関係を知ることができない
という問題があった。そこで、このような問題に対処す
るために、従来では、以下の(1)〜(3)のような対
応をとってきた。
【0005】(1)必要に応じて、予め、部分ソースプ
ログラム相互の処理順序に制約を与えておく。
【0006】(2)呼び出しの際において呼び出し元あ
るいは呼び出し先でレジスタ等の資源の保存・復旧を行
う場合には、その呼び出し元あるいは呼び出し先で必要
としているレジスタ等の資源の全てを保存・復旧の対象
とする。
【0007】例えば、レジスタを16個(R0〜R1
5)持つ処理装置において手続き(関数)呼出し処理を
行う場合に、図3に示すように、呼び出し元fで必要な
レジスタがR5〜R15、呼び出し先gで必要なレジス
タがR0〜R6であるとする。前記fとgとがそれぞれ
別個の部分ソースプログラムに属していて、fからgへ
の呼び出し処理が部分ソースプログラム間の処理となる
ときには、呼び出し元fで保存を行う場合には、図4の
(a)に示すように呼び出し元fで使用しているレジス
タR5〜R15の全てを退避領域Mに保存させ、また、
呼び出し先で保存を行う場合には、図4の(b)に示す
ように呼び出し先gで使用しているレジスタR0〜R6
の全てを退避領域Mに保存させる。
【0008】(3)分岐先の位置がわからない状態で、
処理手段を選択するときは、より汎用性(適用性)の高
い手段を選択使用する。
【0009】例えば、分岐の処理手段には、いわゆる短
分岐(分岐できる範囲が狭い分岐)と長分岐(分岐でき
る範囲が広い分岐)とがあり、これらの短分岐と長分岐
とを選択使用すべき状況が発生した場合には、分岐元か
ら分岐先までの距離が短い場合でも長い場合でも適用で
きる長分岐の方を選択使用する。また、同様にして、セ
グメント内分岐(呼び出し)とセグメント間分岐(呼び
出し)とを選択使用すべき状況が発生した場合には、セ
グメント間分岐の方を選択使用する。
【0010】図5および図6は、長分岐と短分岐とを選
択使用すべき状況を具体例で示したものであり、図7お
よび図8はセグメント内分岐とセグメント間分岐とを選
択使用すべき状況を具体例で示したものである。各図の
内容は、以下にの如くである。
【0011】図5は、分割された一つの部分(部分ソー
スプログラム)内に、第1の分岐B1と第2の分岐B2
とが存在する場合を示したものである。ここに、第1の
分岐B1は分岐先L1への分岐(goto L1)であ
り、第2の分岐B2は分岐先L2への分岐(goto
L2)である。また、前記図5の(a)は一方の分岐先
L1が分岐元と同一の部分10内に存在(図示はしてい
ないが、他方の分岐先L2は別の部分に存在している)
する場合を示しており、図5の(b)は二つの分岐先L
1,L2のいずれもが分岐元の存在する部分11とは別
の部分12に存在する場合を示している。
【0012】図6の(a)は、前記図5の(a)の場合
について各分岐B1,B2毎に短分岐で処理できる範囲
を矢印(イ),(ロ)で示したものである。即ち、矢印
(イ)は第1の分岐B1から短分岐で処理できる範囲を
示し、矢印(ロ)は第2の分岐B2から短分岐で処理で
きる範囲を示している。図5の(a)の場合、分岐先L
2は短分岐の許容範囲外となるが、分岐先L1は短分岐
の許容範囲内にある。図6の(b)は、前記図5の
(b)での場合について各分岐B1,B2毎に短分岐で
処理できる範囲を矢印(ハ),(ニ)で示したものであ
る。即ち、矢印(ハ)は第1の分岐B1から短分岐で処
理できる範囲を示し、矢印(ニ)は第2の分岐B2から
短分岐で処理できる範囲を示している。図5の(b)の
場合も、分岐先L2は短分岐の許容範囲外となるが、分
岐先L1は短分岐の許容範囲内にある。
【0013】図5の(a),(b)のいずれの場合で
も、本来ならば、第1の分岐B1は、短分岐を選択して
処理すべきである。しかし、従来の分割コンパイル方式
で分岐を処理する場合、図5の(b)に示したように分
岐先が分岐元とは別の部分にあれば、分岐長が短分岐可
能な範囲であるか否かを判断できないため、本来は短分
岐で処理し得る第1の分岐B1に対しても、より汎用性
の高い長分岐を選択使用する。
【0014】図7の(a)は、ある一つの部分20に第
1の呼び出しC1と第2の呼び出しC2とが存在し、か
つ、第1の呼び出しC1の呼び出し先fは呼び出し元と
同一の部分に属するが、第2の呼び出しC2の呼び出し
先gは呼び出し元とは別の部分21に属している場合で
ある。図7の(b)は、ある一つの部分22に第1の呼
び出しC1と第2の呼び出しC2とが存在し、かつ、第
1の呼び出しC1の呼び出し先fと第2の呼び出しC2
の呼び出し先gとの双方が呼び出し元とは別の部分23
に属している場合である。
【0015】図7の(a),(b)の場合において、呼
び出し先fは呼び出し元と同一のセグメント(図8の
(a)に符号30で示す)内に存在し、呼び出し先gは
呼び出し元とは異なるセグメント(図8の(a)に符号
31で示す)内に存在するとする。
【0016】このような状況下では、分岐を効率よく処
理するには、図8の(a)に示すように、fの呼び出し
にはセグメント内分岐を選択し、gの呼び出しにはセグ
メント間分岐を選択すべきである。しかし、従来の分割
コンパイル方式によるとき、図7の(b)の場合では、
呼び出し先が同一のセグメント内になるかどうかを判断
できないために、図8の(b)に示すように、セグメン
ト内分岐が可能な呼び出しC1についても、より汎用性
の高いセグメント間分岐を選択する。
【0017】
【発明が解決しようとする課題】ところが、前述した従
来の処理方式において、「予め部分ソースプログラム相
互の処理順序に制約を与える」という対応は、一般に、
作業者がプログラム内容を判断して処理装置に適切な指
示を入力するという作業者自身の手作業によるため、作
業者に大きな負担がかかるとともに、処理の遅延の要因
となっていた。
【0018】また、前述の図3および図4に示した呼び
出しにおいて、呼び出し元fと呼び出し先gとで使用が
重複するレジスタはR5とR6だけであり、本来は、f
とgとの間における呼び出し処理時に保存が必要なレジ
スタはR5とR6だけで済むはずであり、全ての資源を
保存・復旧するという従来の対応は、余分な資源まで保
存・復旧するために、処理効率が低下するという問題が
あった。
【0019】しかも、処理手段は、一般に、汎用性が高
くなるほど効率が悪くなり、また、最適なものほど効率
はよくなるが汎用性がなくなる。従って、処理手段を選
択すべきときには汎用性の高い手段を選択使用するとい
う従来の対応は、この点でも、処理効率の低下を免れな
いという問題があり、今後の解決課題とされていた。本
発明は、前記事情に鑑みてなされたもので、ソースプロ
グラムを複数の部分ソースプログラムに分割して、各部
分ソースプログラム毎にコンパイル処理を実行し、その
後にリンク処理を実行することによって実行形式プログ
ラムを得るコンパイル・リンク方式であって、作業者に
かかる負担を軽減して処理の迅速化を図るとともに、処
理に使用する資源の保存・復旧や処理手段の点でも、処
理効率の向上を図ることのできるコンパイル・リンク方
式を提供することを目的とする。
【0020】
【課題を解決するための手段】本発明に係るコンパイル
・リンク方式は、ソースプログラムを複数の部分ソース
プログラムに分割して、各部分ソースプログラム毎にコ
ンパイル処理を実行し、その後にリンク処理を実行する
ことによって実行形式プログラムを得るもので、次のよ
うな特徴がある。
【0021】コンパイル処理時においては、処理条件の
選択のために他の部分ソースプログラム内の情報が必要
となる箇所の処理は、処理条件の選択のために必要な自
己の部分内の情報をオブジェクトプログラム上に残すこ
とにとどめて、処理条件の選択は保留にしておく。
【0022】そして、コンパイル処理によって得たオブ
ジェクトプログラム相互をまとめるリンク処理時におい
ては、処理条件の選択のために各オブジェクトプログラ
ム上に記録されている情報に基づいて、コンパイル処理
時に保留していた処理を実行する。
【0023】
【作用】本発明に係るコンパイル・リンク方式の場合、
コンパイル処理時においては、処理条件を選択するため
に他の部分ソースプログラム内の情報が必要となる箇所
(手続きや分岐など)に対しては、その処理条件の選択
に必要な自己の部分内の情報をオブジェクトプログラム
上に残すことにとどめて、その箇所の処理自体は保留に
しておき、保留にした箇所は、オブジェクトプログラム
相互をまとめるリンク処理時に、各オブジェクトプログ
ラム上に記録された諸情報に基づいて、決定し実行す
る。
【0024】リンク処理時には、処理条件の選択に関連
するオブジェクトプログラム相互の情報を全て見ること
ができるため、容易かつ正確に処理の状況を把握するこ
とができ、その正確な状況把握に基づいて、保存・復旧
させるレジスタ等の資源を最少限にしたり、あるいは処
理効率の良い処理手段を選択するといった処理条件の最
適化が可能になり、効率の大幅な向上が期待し得ること
となる。
【0025】しかも、このようにリンク処理時に行うこ
ととすれば、予め部分ソースプログラム相互の処理順序
に制約を与えておく必要もなくなり、これによって、作
業者にかかる負担を軽減することも可能になり、一層の
処理の迅速化が可能になる。
【0026】
【実施例】図1は、本発明の一実施例を概略的に示した
ものである。この一実施例のコンパイル・リンク方式
は、ソースプログラムSを複数(この一実施例では、n
個)の部分ソースプログラム1S,2S,……,nSに
分割して、各部分ソースプログラム毎にコンパイル処理
100を実行し、その結果として得た各部分オブジェク
トプログラム1ob,2ob,……nobに対してまと
め処理であるリンク処理200を実効することにより、
前記ソースプログラムSに対する実行形式プログラムP
を得る。
【0027】この一実施例のコンパイル・リンク方式
は、従来例における課題を解決するために、前記コンパ
イル処理100およびリンク処理200を改善したもの
で、前記コンパイル処理100では、図1に示したよう
に、判定処理101を実施し、その結果に基づいて、通
常コンパイル処理102、定義情報生成処理103およ
び使用情報生成処理104、分岐先情報生成処理105
を適宜実行する。
【0028】前記判定処理101は、処理条件を選択す
る必要があって、最適の処理条件を選択するために他の
部分ソースプログラム内の情報が必要となるか否かを判
断するものである。ここに、選択が必要となる「処理条
件」とは、手続き(関数)の呼び出し等の際において呼
び出し元あるいは呼び出し先に応じて保存・復旧させる
レジスタ等の資源、および、分岐の処理手段(長分岐,
短分岐,セグメント内分岐,セグメント間分岐など)を
指す。また、「最適の処理条件を選択する」とは、選択
可能な複数の処理条件の中から最も効率良く処理を進め
ることのできる条件を選択することを言う。
【0029】前記通常コンパイル処理102は、通常の
コンパイル処理で、前記判定処理101において「他の
部分ソースプログラム内の情報を必要としない」と判定
された全箇所について実施される。
【0030】前記定義情報生成処理103は、手続きの
定義箇所から、その手続きの「手続名」,「位置」,
「必要とする資源(種類と量)」等の情報を抽出して、
定義情報として生成する。図11の符号130は、具体
例として、手続きg(先に、図3で説明したもの)につ
いて、この定義情報生成処理103によって生成した定
義情報を示したものである。
【0031】前記使用情報生成処理104は、手続き
(関数)の呼び出し箇所から、「手続名],「使用位
置」,「必要としている資源(種類と量)」等の情報を
抽出して、使用情報として生成する。また、この使用情
報生成処理104は、分岐元から、その分岐元の「位
置」,「分岐先」,「処理手段などの選択に関する情
報」などの情報を抽出し、使用情報として生成する。図
11の符号140は、具体例として、手続きg(先に、
図3で説明したもの)について、この使用情報生成処理
104によって生成した使用情報を示したものである。
図12の符号140は、具体例として、分岐先がf,g
である場合(図7の(a)の場合)について、この使用
情報生成処理104によって生成した使用情報を示した
ものである。
【0032】前記分岐先情報生成処理105は、分岐先
となる可能性のある位置に対して、その「名称(分岐先
名)」と「位置」の情報を抽出して、分岐先情報として
生成する。図12の符号150は、具体例として、この
分岐先情報生成処理105によって生成した分岐先情報
を示したものである。
【0033】以上の定義情報生成処理103、使用情報
生成処理104、分岐先情報生成処理105によって生
成された情報は、該コンパイル処理によって生成される
部分オブジェクトプログラム上に書き込まれて、リンク
処理200において利用される。
【0034】以上の如き構成をなすコンパイル処理10
0の処理手順を説明すると、図9に示す如くである。即
ち、まず、処理対象の部分ソースプログラム内の全ての
処理が終了したか否かを判断し(ステップ111)、未
処理のものがあれば、前記判定処理101による判定を
行う(ステップ112)。そして、ステップ112にお
いて「他の部分ソースプログラム内の情報が必要でな
い」と判定されたものに対しては前記通常コンパイル処
理102を実行して(ステップ113)、ステップ11
1に戻る。一方、ステップ112において「他の部分ソ
ースプログラム内の情報が必要である」と判定されたも
のに対しては、ステップ114に進む。
【0035】このステップ114では、処理条件の選択
に拘わる情報(即ち、定義情報、使用情報、分岐先情報
など)を前記定義情報生成処理103,使用情報生成処
理104,分岐先情報生成処理105などによって作成
し、作成した情報は処理条件選択のためにオブジェクト
プログラム上に出力(記述)する。そして、このステッ
プ114の処理対象となった箇所は、保留箇所に設定し
て、ステップ111に戻る(保留箇所に設定された部分
は、一応、コンパイル時における処理は済んだものとみ
なされる)。前記ステップ111における判断で、未処
理の箇所がなくなれば、コンパイル処理100は終了と
なる。
【0036】コンパイル処理100を経て生成された各
部分オブジェクトプログラム1ob,2ob,……no
bには、図1に示すように、命令列120と、前記定義
情報生成処理103が生成した定義情報120と、前記
使用情報生成処理104が生成した使用情報140と、
前記分岐先情報生成処理105が生成した分岐先情報1
50とが記述されている。
【0037】次に、リンク処理200について説明す
る。このリンク処理200では、それぞれのオブジェク
トプログラムに記述されている内容に基づいて、通常の
まとめ処理201、保留内容解析処理202、最適条件
判定処理203、条件生成処理204を適宜実行する。
【0038】ここに、まとめ処理201は、外部名の結
合等の一般的な処理である。保留内容解析処理202
は、保留箇所に設定されていた箇所の検出を行い、その
保留箇所に最適の処理条件を選択可能にすべく、前述の
定義情報120,および使用情報140,および分岐先
情報150に基づいて、その保留箇所の状況を解析す
る。前記最適条件判定処理203は、前記保留内容解析
処理202の解析結果に基づいて、その保留箇所に最適
の処理条件を判定する。この判定結果は、処理装置から
オペレータに決定内容205として通知される。
【0039】図11の符号205および図12の符号2
05は、前記最適条件判定処理203から出力される決
定内容を具体例で示したものである。図11の場合は、
情報130,140に基づいて保存する資源(レジス
タ)を求めたもので、定義関数gをfで使用する場合に
は保存するレジスタはR5,R6の二つ、また定義関数
gをhで使用する場合には、保存は不必要としている。
【0040】図12の場合は、情報140,150に基
づいて使用する分岐手段を求めたもので、hからfへの
分岐にはセグメント内分岐を使用し、hからgへの分岐
にはセグメント間分岐を使用することと決定している。
【0041】オペレータは、前記最適条件判定処理20
3による決定内容204について、確認の指示、あるい
は修正の指示をすることが可能である。前記条件生成処
理204は、オペレータから確認の指示があった場合に
は前記最適条件判定処理203の判定結果の通りに、ま
た、オペレータから修正の指示があった場合には、その
指示の通りに、保留箇所における処理条件を書き替えす
る。
【0042】以上の如き構成をなすリンク処理200の
処理手順を説明すると、図10に示す如くである。即
ち、まず、処理対象のオブジェクトプログラムに対して
通常のまとめ処理を実行し(ステップ211)、次い
で、保留箇所が残っているか否かを判断する(ステップ
212)。そして、残っている場合には、前記保留箇所
解析処理202により保留箇所の状況を解析し、判定処
理203により最適の処理条件を求める(ステップ21
3)。そして、その判定結果がオペレータより確認され
たら、その判定結果の通りに、保留箇所の処理条件を書
き替える(ステップ214)。ステップ212〜214
を繰り返して、保留箇所がなくなれば該リンク処理20
0の終了である。
【0043】以上のように、本発明の一実施例のコンパ
イル・リンク方式は、部分ソースプログラム毎のコンパ
イル処理では、最適の処理条件を選択するために他の部
分ソースプログラム内の情報が必要となる処理(手続き
や分岐など)が存在する場合には、その処理自体は保留
にしておき、最適の処理条件の選択に必要な情報の内の
既知のものを生成するオブジェクトプログラム上に記録
する。そして、コンパイル処理時に保留にされた処理
は、リンク処理時に、オブジェクトプログラム上に記録
されている処理条件の選択に必要な諸情報に基づいて、
実行する。
【0044】リンク処理時には、処理条件の選択に関連
するオブジェクトプログラム相互の情報を全て見ること
ができるため、容易かつ正確に処理の状況を把握するこ
とができ、その正確な状況把握に基づいて、保存・復旧
させるレジスタ等の資源を最少限にしたり、あるいは処
理効率の良い処理手段を選択するといった処理条件の最
適化が可能になり、効率の大幅な向上が期待し得ること
となった。
【0045】しかも、このようにリンク処理時に行うこ
ととすれば、予め部分ソースプログラム相互の処理順序
に制約を与えておく必要もなくなり、これによって、作
業者にかかる負担を軽減することも可能になり、一層の
処理の迅速化を可能ならしめることとなった。
【0046】
【発明の効果】本発明に係るコンパイル・リンク方式の
場合、コンパイル処理時においては、処理条件を選択す
るために他の部分ソースプログラム内の情報が必要とな
る箇所(手続きや分岐など)に対しては、その処理条件
の選択に必要な自己の部分内の情報をオブジェクトプロ
グラム上に残すことにとどめて、その箇所の処理自体は
保留にしておき、保留にした箇所は、オブジェクトプロ
グラム相互をまとめるリンク処理時に、各オブジェクト
プログラム上に記録された諸情報に基づいて、決定し実
行する。
【0047】リンク処理時には、処理条件の選択に関連
するオブジェクトプログラム相互の情報を全て見ること
ができるため、容易かつ正確に処理の状況を把握するこ
とができ、その正確な状況把握に基づいて、保存・復旧
させるレジスタ等の資源を最少限にしたり、あるいは処
理効率の良い処理手段を選択するといった処理条件の最
適化が可能になり、効率の大幅な向上が期待し得ること
となる。
【0048】しかも、このようにリンク処理時に行うこ
ととすれば、予め部分ソースプログラム相互の処理順序
に制約を与えておく必要もなくなり、これによって、作
業者にかかる負担を軽減することも可能になり、一層の
処理の迅速化が可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例の機能ブロック図である。
【図2】従来のコンパイル・リンク方式の説明図であ
る。
【図3】関数の定義に必要なレジスタの説明図である。
【図4】従来の方式で保存するレジスタの説明図であ
る。
【図5】短分岐と長分岐とを選択すべき状況の説明図で
ある。
【図6】短分岐で処理し得る範囲の説明図である。
【図7】セグメント内分岐とセグメント間分岐を選択す
べき呼び出しの説明図である。
【図8】セグメント間分岐選択の説明図である。
【図9】一実施例のコンパイル処理の説明図である。
【図10】一実施例のリンク処理の説明図である。
【図11】一実施例の作用説明図である。
【図12】一実施例の作用説明図である。
【符号の説明】
S ソースプログラム ob オブジェクトプログラム P 実行形式プログラム 100 コンパイル処理 101 判定処理 102 通常コンパイル処理 103 定義情報生成処理 104 使用情報生成処理 105 分岐先情報生成処理 120 命令列 130 定義情報 140 使用情報 150 分岐先情報 200 リンク処理 201 まとめ処理 202 保留内容解析処理 203 最適条件判定処理 204 条件生成処理 205 決定内容

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを複数の部分ソースプ
    ログラムに分割して、各部分ソースプログラム毎にコン
    パイル処理を実行し、その後にリンク処理を実行するこ
    とによって実行形式プログラムを得るコンパイル・リン
    ク方式であって、 コンパイル処理時においては、処理条件の選択のために
    他の部分ソースプログラム内の情報が必要となる箇所の
    処理は、処理条件の選択のために必要な自己の部分内の
    情報をオブジェクトプログラム上に残すことにとどめ
    て、処理条件の選択は保留にしておき、 コンパイル処理によって得たオブジェクトプログラム相
    互をまとめるリンク処理時においては、処理条件の選択
    のために各オブジェクトプログラム上に記録されている
    情報に基づいて、コンパイル処理時に保留していた処理
    を実行することを特徴とするコンパイル・リンク方式。
JP782991A 1991-01-25 1991-01-25 コンパイル・リンク方式 Pending JPH0683635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP782991A JPH0683635A (ja) 1991-01-25 1991-01-25 コンパイル・リンク方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP782991A JPH0683635A (ja) 1991-01-25 1991-01-25 コンパイル・リンク方式

Publications (1)

Publication Number Publication Date
JPH0683635A true JPH0683635A (ja) 1994-03-25

Family

ID=11676489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP782991A Pending JPH0683635A (ja) 1991-01-25 1991-01-25 コンパイル・リンク方式

Country Status (1)

Country Link
JP (1) JPH0683635A (ja)

Similar Documents

Publication Publication Date Title
US6292939B1 (en) Method of reducing unnecessary barrier instructions
EP0474425B1 (en) Arrangement for efficiently transferring program execution between subprograms
US7363621B2 (en) Program converting apparatus, method, and program
US6198813B1 (en) System and method for providing call processing services using call independent building blocks
JPH0683635A (ja) コンパイル・リンク方式
US6282705B1 (en) Compiler capable of reducing interrupt handling in optimization and its optimization method
JPH08305583A (ja) Cpuシミュレーション方法
JPS6378231A (ja) 部分的プログラム結合方式
JP2585793B2 (ja) コンパイラシステム
JP2002041310A (ja) クラス動的バインドシステムおよび方法
JP3278584B2 (ja) コンピュータプログラム生成装置及び方法
JPH08263300A (ja) インライン展開方式
JPS63156255A (ja) インタプリタにおけるオ−バレイ方法
JPS63163636A (ja) 並列処理実行方式
JPH083792B2 (ja) 関数呼び出し処理方法
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPH06250828A (ja) ライブラリのモジュール管理方式
JPH08115220A (ja) ループ最適化方法
JPH03233727A (ja) 無条件分岐テキストの最適化方式
JPH10293691A (ja) レジスタ割り付け方法
JPH01140236A (ja) プログラムの逆コンパイル方式
JPH04139533A (ja) 共通ルーチン群の改造方式
JPH05181677A (ja) プログラム・リンク方式
CA2226403A1 (en) A compiler for use in efficiently transferring program execution between subprograms