JP2001142718A - プログラム実行装置 - Google Patents

プログラム実行装置

Info

Publication number
JP2001142718A
JP2001142718A JP32804699A JP32804699A JP2001142718A JP 2001142718 A JP2001142718 A JP 2001142718A JP 32804699 A JP32804699 A JP 32804699A JP 32804699 A JP32804699 A JP 32804699A JP 2001142718 A JP2001142718 A JP 2001142718A
Authority
JP
Japan
Prior art keywords
program
optimization
unit
execution
call
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.)
Granted
Application number
JP32804699A
Other languages
English (en)
Other versions
JP3605327B2 (ja
Inventor
Akira Tsuboi
晃 坪井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32804699A priority Critical patent/JP3605327B2/ja
Priority to US09/626,372 priority patent/US6848098B1/en
Publication of JP2001142718A publication Critical patent/JP2001142718A/ja
Application granted granted Critical
Publication of JP3605327B2 publication Critical patent/JP3605327B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 インタプリタ型言語で記述されたプログラム
の実行速度を向上させる。 【解決手段】 インタプリタ型言語で記述されたプログ
ラム1は、呼び出し単位毎に呼び出されてコンパイル手
段2によってコンパイルされ、記憶手段3に格納され
る。実行手段4は、該当する呼び出し単位を記憶手段3
から読み出して実行する。計数手段5は、実行手段4に
よって実行された呼び出し単位の実行回数を計数し、判
定手段6に通知する。判定手段6は、計数手段5の計数
結果が所定の閾値を上回っている場合には、その呼び出
し単位の再度の最適化が必要である旨を再最適化手段7
に通知する。再最適化手段7は、判定手段6によって再
度の最適化が必要であると判定された呼び出し単位に対
して、更に高いレベルの最適化処理を施す。最適化処理
が完了すると、実行手段4は最適化後の呼び出し単位を
実行処理の対象とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム実行装置
に関し、特に、複数の呼び出し単位から構成されるプロ
グラムを呼び出し単位毎に実行するプログラム実行装置
に関する。
【0002】
【従来の技術】コンピュータのプログラミング言語を大
別すると、(1)コンパイラ型言語と(2)インタプリ
タ型言語に分類される。
【0003】前者のコンパイラ型言語は、高級言語で記
述されたソースプログラムをCPU(Central Processi
ng Unit)が理解可能な低レベルな機械語に一括して変
換し、実行するタイプの言語である。
【0004】後者のインタプリタ型言語は、プログラム
の実行時に、ソースプログラムを逐次解釈しながら実行
するタイプの言語である。前者のコンパイラ型言語は、
コンパイル処理によってソースプログラムを機械語に一
括して変換するので、インタプリタ型言語で記述された
プログラムよりも実行速度が速いという長所がある。
【0005】一方、後者のインタプリタ型言語の場合、
プログラムを実行する前にコンパイル処理を実行する必
要がないため簡便であるという長所がある。
【0006】
【発明が解決しようとする課題】ところで、後者のイン
タプリタ型言語は、実行時のオーバーヘッドが比較的大
きいため、動作速度が遅いという問題点がある。
【0007】そこで、プログラムを最適化して実行速度
を向上させるための手法が種々提案されている。しかし
ながら、従来におけるこれらの手法は、プログラム全体
を一定の最適化レベルで最適化処理するものであるの
で、ほとんど実行されない処理に対しても、頻繁に実行
される処理に対しても同レベルの最適化が施されるた
め、効率的な最適化ができないという問題点があった。
【0008】また、高レベルの最適化処理を施せば、そ
の分だけアプリケーションプログラムの実行速度は向上
するが、最適化処理自体に時間を要するため、どのレベ
ルで最適化するかを見極めることが困難であるという問
題点があった。
【0009】本発明はこのような点に鑑みてなされたも
のであり、インタプリタ型言語によって記述されたアプ
リケーションプログラムを適切なレベルで最適化処理
し、その実行速度を向上させることが可能なプログラム
実行装置を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明では上記課題を解
決するために、図1に示す、複数の呼び出し単位から構
成されるプログラム1を呼び出し単位毎に実行するプロ
グラム実行装置において、前記プログラム1を構成する
所定の呼び出し単位をコンパイルするコンパイル手段2
と、前記コンパイル手段2によってコンパイルされた呼
び出し単位を記憶する記憶手段3と、前記記憶手段3に
記憶された所定の呼び出し単位を実行する実行手段4
と、各呼び出し単位が実行された回数を計数する計数手
段5と、前記計数手段5による計数結果が所定の閾値を
上回ったか否かを判定する判定手段6と、前記判定手段
6によって所定の閾値を上回ったと判定された場合に
は、該当する呼び出し単位を再度最適化する再最適化手
段7と、を有することを特徴とするプログラム実行装置
が提供される。
【0011】ここで、コンパイル手段2は、プログラム
1を構成する所定の呼び出し単位をコンパイルする。記
憶手段3は、コンパイル手段2によってコンパイルされ
た呼び出し単位を記憶する。実行手段4は、記憶手段3
に記憶された所定の呼び出し単位を実行する。計数手段
5は、各呼び出し単位が実行された回数を計数する。判
定手段6は、計数手段5による計数結果が所定の閾値を
上回ったか否かを判定する。再最適化手段7は、判定手
段6によって所定の閾値を上回ったと判定された場合に
は、該当する呼び出し単位を再度最適化する。
【0012】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の動作原理を説明
する原理図である。この図において、プログラム1は、
複数の呼び出し単位から構成され、各呼び出し単位毎に
呼び出されて実行される。ここで、呼び出し単位とは、
関数、メソッド、プロシージャー等である。
【0013】コンパイル手段2は、プログラム1から所
定の呼び出し単位を取得してコンパイル処理を施し、実
行可能なコードを生成する。記憶手段3は、コンパイル
された呼び出し単位をコンパイル手段2から取得し、所
定の領域に格納する。
【0014】実行手段4は、記憶手段3に格納されてい
る所定の呼び出し単位を実行する。計数手段5は、実行
手段4が実行した呼び出し単位の実行回数を計数する。
判定手段6は、計数手段5による計数値が所定の閾値を
上回った場合には、その旨を再最適化手段7に通知す
る。
【0015】再最適化手段7は、判定手段6から通知が
あった場合には、該当する呼び出し単位を更に高いレベ
ルで最適化する。次に、以上の原理図の動作について説
明する。
【0016】プログラム1の実行が開始されると、最初
に実行されるべき呼び出し単位がコンパイル手段2によ
って取得され、コンパイル処理が施された後、記憶手段
3の所定の領域に格納される。
【0017】記憶手段3に格納された呼び出し単位は、
実行手段4によって実行される。このとき、計数手段5
は、実行手段4によって実行された呼び出し単位の実行
回数を計数する。例えば、呼び出し単位である「fun
c1」が初めて実行されたとすると、func1に対応
する計数値は“1”となる。
【0018】判定手段6は、計数手段5の計数結果を受
けて、その計数値が所定の閾値を上回っていないか否か
を判定する。例えば、呼び出し単位「func2」の計
数値が“102”である場合に、閾値が“100”であ
るとすると、判定手段6は、閾値を上回っていると判定
して再最適化手段7に通知する。
【0019】再最適化手段7は、該当する呼び出し単位
を、その時点における最適化レベルよりも更に高いレベ
ルで最適化する。例えば、前述の「func2」の例に
おいて、func2のその時点での最適化レベルが
「低」であるとすると、最適化レベルが「中」となるよ
うに最適化処理が施される。なお、再最適化手段7によ
る最適化処理は、プログラム1の実行処理と並行して実
行され、また、最適化処理の優先度はプログラム1のそ
れよりも低く設定されているので、プログラム1の実行
を遅滞させることなく、最適化処理を実行することが可
能となる。
【0020】そして、最適化処理が完了した場合には、
最適化後の呼び出し単位が実行手段4の実行対象とされ
るので、プログラム1の実行速度を向上させることが可
能となる。
【0021】以上に説明したように、本発明のプログラ
ム実行装置によれば、各呼び出し単位の実行回数を計数
し、その計数値が所定の閾値を上回った場合には、該当
する呼び出し単位を更に高い最適化レベルで最適化しな
おすようにしたので、頻繁に実行される呼び出し単位ほ
ど高いレベルで最適化されることになり、処理全体とし
ての実行速度を向上させることが可能となる。
【0022】また、再最適化手段7の処理を、プログラ
ム1の実行処理と並行して行うとともに、再最適化手段
7が実行する処理の優先度をプログラム1のそれよりも
低く設定するようにしたので、プログラム1の実行を遅
滞させることなく、最適化処理を実行することが可能と
なる。
【0023】次に、図2を参照して、本発明の実施の形
態の構成例について説明する。この図において、記憶装
置10は、例えば、HDD(Hard Disk Drive)によっ
て構成されており、実行対象となるプログラムソースコ
ード10aを記憶している。なお、このプログラムソー
スコード10aは複数の関数から構成されている。
【0024】プログラムロード部11は、実行対象とな
る関数をプログラムソースコード10aから取得し、コ
ンパイル部12に供給する。コンパイル部12は、ソー
スコードで記述された関数に対してコンパイル処理を施
し、実行可能形式のコードに変換する。
【0025】最適化部13は、関数に対して低レベルの
最適化処理を施し、メモリ14に供給する。メモリ14
は、例えば、RAM(Random Access Memory)等によっ
て構成されており、最適化部13によって最適化された
関数を格納する。
【0026】プログラム実行部15は、メモリ14に格
納されている関数を実行する。最適化管理部16は、プ
ログラム実行部15によって実行された各関数の実行回
数を計数するとともに、計数値が所定の閾値を上回った
場合には、より高レベルの最適化が必要である旨をバッ
クグラウンド最適化部17に通知する。
【0027】バックグラウンド最適化部17は、最適化
管理部16から通知を受けた場合には、該当する関数に
対して更に高レベルの最適化を施す。次に、以上の実施
の形態の動作について説明する。
【0028】図3は、図2に示す実施の形態においてプ
ログラムソースコード10aを実行する場合の処理の流
れを説明するフローチャートである。このフローチャー
トが開始されると以下の処理が実行される。 [S1]プログラム実行部15は、実行対象の関数を特
定する。 [S2]プログラム実行部15は、実行済みの関数であ
るか否かを判定し、実行済みである場合にはステップS
7に進み、それ以外の場合にはステップS3に進む。 [S3]プログラム実行部15は、プログラムロード部
11を制御して、対象となる関数を記憶装置10から読
み込ませる。 [S4]コンパイル部12は、プログラムロード部11
から供給された関数をコンパイルする。 [S5]最適化部13は、コンパイルされた関数に低レ
ベルの最適化を施し、メモリ14の所定の領域に格納す
る。 [S6]最適化管理部16は、コンパイルされた関数の
現最適化レベル(低レベル)を記憶する。
【0029】図4は、最適化管理部16が管理している
各関数の情報の一例である。この例では、各関数の名
称、実行回数、現最適化レベル、および、必要最適化レ
ベルが各関数毎に関連付けられて記憶されている。ここ
で、「実行回数」は、その関数が実行された回数であ
り、また、現最適化レベルは、その関数の現時点におけ
る最適化レベルである。更に、必要最適化レベルは、現
在の実行回数から求められる必要な最適化レベルであ
る。なお、必要最適化レベルと現最適化レベルが異なっ
ているのは、関数の最適化処理には一定の処理時間を要
するためである。 [S7]最適化管理部16は、該当する関数の実行回数
(図4参照)をインクリメントする。 [S8]最適化管理部16は、実行回数が、最適化レベ
ルを定めるための閾値を上回ったか否かを判定し、閾値
を上回った場合にはステップS9に進み、それ以外の場
合にはステップS10に進む。
【0030】図5は、実行回数と必要最適化レベルとの
対応関係の一例を示す図である。この例では、実行回数
が“1”〜“50”の場合は、必要最適化レベルは
「低」とされ、実行回数が“51”〜“100”の場合
は、必要最適化レベルは「中」とされ、また、実行回数
が“101”以上である場合は、必要最適化レベルは
「高」とされる。 [S9]最適化管理部16は、必要最適化レベルを更新
する。
【0031】例えば、図4に示す「func2」の実行
回数が“100”から“101”に変化した場合には、
図5より必要最適化レベルは「高」の範疇に入るので、
図4に示す必要最適化レベルが「高」に変更される。 [S10]最適化管理部16は、処理対象の関数の現最
適化レベルを取得する。 [S11]最適化管理部16は、必要最適化レベルと現
最適化レベルとを比較し、これらが等しい場合にはステ
ップS13に進み、それ以外の場合にはステップS12
に進む。 [S12]最適化管理部16は、バックグラウンド最適
化部17を制御して、後述するバックグラウンド最適化
処理を起動させる。 [S13]プログラム実行部15は、現最適化レベルの
関数を実行する。
【0032】例えば、最適化処理が終了していない場合
には、これまで実行されていた関数が実行され、最適化
が終了した場合には最適化後の関数が実行される。 [S14]プログラム実行部15は、処理を継続するか
否か判定し、継続する場合にはステップS1に戻って前
述の場合と同様の処理を繰り返し、それ以外の場合には
処理を終了する。
【0033】次に、図6を参照して、図3に示すステッ
プS12で起動されるバックグラウンド最適化処理の詳
細について説明する。なお、この処理は、図3に示す処
理と並行して実行されるが、その優先度は図3に示す処
理よりも低く設定されているので、図3の処理の負荷が
高くない場合に実行される。
【0034】図6に示すフローチャートが実行される
と、以下の処理が実行される。 [S20]バックグラウンド最適化部17は、最適化処
理の対象となる関数の必要最適化レベルを最適化管理部
16から取得する。 [S21]コンパイル部12は、プログラムロード部1
1を介して処理対象の関数を記憶装置10のプログラム
ソースコード10aから取得し、コンパイル処理を実行
する。 [S22]バックグラウンド最適化部17は、コンパイ
ルが終了した関数をコンパイル部12から取得し、ステ
ップS20において取得した必要最適化レベルに応じた
最適化処理を施す。
【0035】図7は、必要最適化レベルとその最適化処
理との対応関係を示す図である。この図の例では、「低
レベル最適化」では、ループ対象外の処理をループ外に
追放する最適化が実行される。即ち、ループ処理に含ま
れている処理であって、ループ回数によらず処理内容が
変化しない処理は、ループから除外することにより処理
の高速化を図る。
【0036】また、「中レベル最適化」では、レジスタ
使用の効率化を図る最適化が実行される。即ち、レジス
タに代入される値が既に代入されている値と同一である
場合には、その代入処理を省略することにより、処理の
高速化を図る。
【0037】更に、「高レベル最適化」では、関数をイ
ンライン展開する最適化が実行される。即ち、手続きや
関数を呼び出す代わりに、その手続きや関数を呼び出さ
れる場所に埋め込み、呼び出し時に必要な変数等の待避
処理を省略して処理の高速化を図る。 [S23]バックグラウンド最適化部17は、メモリ1
4に格納されている最適化前の関数(現最適化レベルに
対応する関数)と、ステップS22の処理により最適化
された関数(必要最適化レベルに対応する関数)の入れ
換えを行い、プログラム実行部15の実行対象を変更す
る。
【0038】その結果、これ以降において、該当する関
数が呼び出された場合には、プログラム実行部15は、
ステップS22において最適化された関数を実行するこ
とになる。例えば、低レベル最適化関数14aが実行対
象とされている場合に、中レベル最適化関数14bが生
成された場合には、この中レベル最適化関数14bがプ
ログラム実行部15の実行対象となる。
【0039】以上の実施の形態によれば、呼び出し頻度
が高い関数に対して、その頻度に応じたレベルの最適化
を施すようにしたので、処理の高速化を図ることが可能
となる。
【0040】また、以上の実施の形態では、最適化処理
の優先度をプログラムの実行処理の優先度よりも低く設
定してこれらを並行して実行するとともに、最適化処理
が終了した時点で、最適化後の関数を実行対象に変更す
るようにしたので、プログラムの実行処理に負担をかけ
ることなく最適化を行うことが可能となる。
【0041】なお、本発明は、マルチプロセッサ環境に
好適であり、シングルプロセッサの場合に比較してより
一層の処理速度の向上を期待することができる。また、
以上の実施の形態では、最適化処理として、例えば、ル
ープ対象外の処理をループ外に追放する処理等を例に挙
げたが、本発明はこのような場合のみに限定されるもの
ではない。
【0042】最後に、上記の処理機能は、コンピュータ
によって実現することができる。その場合、プログラム
実行装置が有すべき機能の処理内容は、コンピュータで
読み取り可能な記録媒体に記録されたプログラムに記述
されており、このプログラムをコンピュータで実行する
ことにより、上記処理がコンピュータで実現される。コ
ンピュータで読み取り可能な記録媒体としては、磁気記
録装置や半導体メモリ等がある。市場へ流通させる場合
には、CD−ROM(Compact Disk Read OnlyMemory)や
フロッピーディスク等の可搬型記録媒体にプログラムを
格納して流通させたり、ネットワークを介して接続され
たコンピュータの記憶装置に格納しておき、ネットワー
クを通じて他のコンピュータに転送することもできる。
コンピュータで実行する際には、コンピュータ内のハー
ドディスク装置等にプログラムを格納しておき、メイン
メモリにロードして実行する。
【0043】
【発明の効果】以上説明したように本発明では、複数の
呼び出し単位から構成されるプログラムを呼び出し単位
毎に実行するプログラム実行装置において、プログラム
を構成する所定の呼び出し単位をコンパイルするコンパ
イル手段と、コンパイル手段によってコンパイルされた
呼び出し単位を記憶する記憶手段と、記憶手段に記憶さ
れた所定の呼び出し単位を実行する実行手段と、各呼び
出し単位が実行された回数を計数する計数手段と、計数
手段による計数結果が所定の閾値を上回ったか否かを判
定する判定手段と、判定手段によって所定の閾値を上回
ったと判定された場合には、該当する呼び出し単位を再
度最適化する再最適化手段と、を有するようにしたの
で、プログラムの実行処理を遅延することなく、最適化
処理を実行することが可能となる。
【図面の簡単な説明】
【図1】本発明の動作原理を説明する原理図である。
【図2】本発明の実施の形態の構成例を示す図である。
【図3】図2に示す実施の形態においてプログラムを実
行する場合の処理の流れを説明するフローチャートであ
る。
【図4】最適化管理部が管理している関数の情報の一例
である。
【図5】実行回数と必要最適化レベルとの対応関係の一
例を示す図である。
【図6】図3に示すステップS12で起動されるバック
グラウンド最適化処理の詳細を説明するフローチャート
である。
【図7】必要最適化レベルとその最適化処理との対応関
係を示す図である。
【符号の説明】
1 プログラム 2 コンパイル手段 3 記憶手段 4 実行手段 5 計数手段 6 判定手段 7 再最適化手段 10 記憶装置 10a プログラムソースコード 11 プログラムロード部 12 コンパイル部 13 最適化部 14 メモリ 15 プログラム実行部 16 最適化管理部 17 バックグラウンド最適化部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の呼び出し単位から構成されるプロ
    グラムを呼び出し単位毎に実行するプログラム実行装置
    において、 前記プログラムを構成する所定の呼び出し単位をコンパ
    イルするコンパイル手段と、 前記コンパイル手段によってコンパイルされた呼び出し
    単位を記憶する記憶手段と、 前記記憶手段に記憶された所定の呼び出し単位を実行す
    る実行手段と、 各呼び出し単位が実行された回数を計数する計数手段
    と、 前記計数手段による計数結果が所定の閾値を上回ったか
    否かを判定する判定手段と、 前記判定手段によって所定の閾値を上回ったと判定され
    た場合には、該当する呼び出し単位を再度最適化する再
    最適化手段と、 を有することを特徴とするプログラム実行装置。
  2. 【請求項2】 前記再最適化手段は、前記プログラムの
    実行処理と並行して最適化処理を実行し、 前記実行手段は、前記再最適化手段による最適化処理が
    終了した場合には、最適化後の呼び出し単位を実行対象
    とする、 ことを特徴とする請求項1記載のプログラム実行装置。
  3. 【請求項3】 前記再最適化手段が実行する最適化処理
    の優先度は、前記プログラムの実行処理の優先度よりも
    低く設定されていることを特徴とする請求項2記載のプ
    ログラム実行装置。
  4. 【請求項4】 複数の呼び出し単位から構成される実行
    対象プログラムを呼び出し単位毎に実行する処理をコン
    ピュータに実行させるプログラムを記録した記録媒体に
    おいて、 コンピュータを、 前記プログラムを構成する所定の呼び出し単位をコンパ
    イルするコンパイル手段、 前記コンパイル手段によってコンパイルされた呼び出し
    単位を記憶する記憶手段、 前記記憶手段に記憶された所定の呼び出し単位を実行す
    る実行手段、 各呼び出し単位が実行された回数を計数する計数手段、 前記計数手段による計数結果が所定の閾値を上回ったか
    否かを判定する判定手段、 前記判定手段によって所定の閾値を上回ったと判定され
    た場合には、該当する呼び出し単位を再度最適化する再
    最適化手段、 として機能させるプログラムを記録したコンピュータ読
    み取り可能な記録媒体。
JP32804699A 1999-11-18 1999-11-18 プログラム実行装置 Expired - Fee Related JP3605327B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32804699A JP3605327B2 (ja) 1999-11-18 1999-11-18 プログラム実行装置
US09/626,372 US6848098B1 (en) 1999-11-18 2000-07-26 Process and apparatus for optimizing program written in interpretive language for each callable program part base on frequency of executions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32804699A JP3605327B2 (ja) 1999-11-18 1999-11-18 プログラム実行装置

Publications (2)

Publication Number Publication Date
JP2001142718A true JP2001142718A (ja) 2001-05-25
JP3605327B2 JP3605327B2 (ja) 2004-12-22

Family

ID=18205918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32804699A Expired - Fee Related JP3605327B2 (ja) 1999-11-18 1999-11-18 プログラム実行装置

Country Status (2)

Country Link
US (1) US6848098B1 (ja)
JP (1) JP3605327B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355277A (ja) * 2003-05-28 2004-12-16 Matsushita Electric Ind Co Ltd プログラム実行制御装置、プログラム実行制御方法
JP2007226589A (ja) * 2006-02-24 2007-09-06 Oki Electric Ind Co Ltd プログラム変換システム
JP2010108086A (ja) * 2008-10-28 2010-05-13 Nec Corp Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム
JP2012208655A (ja) * 2011-03-29 2012-10-25 Kddi Corp 自己書き換え処理装置、自己書き換え処理方法、およびプログラム
JP2017511939A (ja) * 2014-03-11 2017-04-27 アイイーエックス グループ,インコーポレーテッド データ同期及びフェイルオーバ管理のためのシステム及び方法
JP2018028777A (ja) * 2016-08-17 2018-02-22 Necプラットフォームズ株式会社 エミュレーション装置、エミュレーション方法、及び、エミュレーションプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509485B2 (en) * 2002-09-04 2009-03-24 Chou Hui-Ling Method for loading a program module in an operating system
US7266813B2 (en) * 2003-09-30 2007-09-04 International Business Machines Corporation Determining how many class-type checks to inline
US9207921B2 (en) * 2009-06-22 2015-12-08 Oracle America, Inc. Fault tolerant compilation with automatic optimization adjustment
JP2011100388A (ja) * 2009-11-09 2011-05-19 Fujitsu Ltd トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59125444A (ja) 1982-12-31 1984-07-19 Omron Tateisi Electronics Co インタ−プリタの割込条件チエツク方法
JPS63276127A (ja) 1987-05-07 1988-11-14 Fujitsu Ltd ダイナミック命令生成方式
US5428793A (en) * 1989-11-13 1995-06-27 Hewlett-Packard Company Method and apparatus for compiling computer programs with interproceduural register allocation
US5457799A (en) * 1994-03-01 1995-10-10 Digital Equipment Corporation Optimizer for program loops
US5613118A (en) * 1994-06-20 1997-03-18 International Business Machines Corporation Profile-based preprocessor for optimizing programs
US5802373A (en) * 1996-01-29 1998-09-01 Digital Equipment Corporation Method for providing a pipeline interpreter for a variable length instruction set
US5805895A (en) * 1996-06-09 1998-09-08 Motorola, Inc. Method and apparatus for code translation optimization
US5854933A (en) * 1996-08-20 1998-12-29 Intel Corporation Method for optimizing a computer program by moving certain load and store instructions out of a loop
US5966537A (en) * 1997-05-28 1999-10-12 Sun Microsystems, Inc. Method and apparatus for dynamically optimizing an executable computer program using input data
US5970249A (en) 1997-10-06 1999-10-19 Sun Microsystems, Inc. Method and apparatus for performing byte-code optimization during pauses
JP3284956B2 (ja) * 1998-01-26 2002-05-27 日本電気株式会社 プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体
US6408433B1 (en) * 1999-04-23 2002-06-18 Sun Microsystems, Inc. Method and apparatus for building calling convention prolog and epilog code using a register allocator

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355277A (ja) * 2003-05-28 2004-12-16 Matsushita Electric Ind Co Ltd プログラム実行制御装置、プログラム実行制御方法
JP4713820B2 (ja) * 2003-05-28 2011-06-29 パナソニック株式会社 プログラム実行制御装置、プログラム実行制御方法
JP2007226589A (ja) * 2006-02-24 2007-09-06 Oki Electric Ind Co Ltd プログラム変換システム
JP2010108086A (ja) * 2008-10-28 2010-05-13 Nec Corp Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム
JP2012208655A (ja) * 2011-03-29 2012-10-25 Kddi Corp 自己書き換え処理装置、自己書き換え処理方法、およびプログラム
JP2017511939A (ja) * 2014-03-11 2017-04-27 アイイーエックス グループ,インコーポレーテッド データ同期及びフェイルオーバ管理のためのシステム及び方法
JP2018028777A (ja) * 2016-08-17 2018-02-22 Necプラットフォームズ株式会社 エミュレーション装置、エミュレーション方法、及び、エミュレーションプログラム
US10268462B2 (en) 2016-08-17 2019-04-23 Nec Platforms, Ltd. Emulation device, emulation method, and recording medium storing emulation program

Also Published As

Publication number Publication date
JP3605327B2 (ja) 2004-12-22
US6848098B1 (en) 2005-01-25

Similar Documents

Publication Publication Date Title
US8943346B2 (en) Distributed advanced power management
KR100589798B1 (ko) 중지동안 바이트 코드 최적화 장치 및 방법
US10659316B1 (en) State machine controlled dynamic distributed computing
US6237141B1 (en) Method and apparatus for dynamically optimizing byte-coded programs
US6308323B1 (en) Apparatus and method for compiling a plurality of instruction sets for a processor and a media for recording the compiling method
US6223339B1 (en) System, method, and product for memory management in a dynamic translator
US7316007B2 (en) Optimization of n-base typed arithmetic expressions
JP3299611B2 (ja) 資源割付装置
US20020013937A1 (en) Register economy heuristic for a cycle driven multiple issue instruction scheduler
JP2001147819A (ja) 最適化装置および記録媒体
JP2001166947A (ja) コンパイル処理方式
CN111639044B (zh) 一种支持中断优先级轮询仲裁派发的方法和装置
CN110543338A (zh) 一种文件的动态加载方法及装置
US20040226005A1 (en) Method and system for register allocation
GB2521367A (en) Adaptable and extensible runtime and system for heterogeneous computer systems
JP2001142718A (ja) プログラム実行装置
JP2011198363A (ja) プログラムコンパイラ、プログラム設置装置、及びプログラム設置方法
JP3992102B2 (ja) コンパイラ装置、コンパイル方法、コンパイラプログラム、及び記録媒体
US11210193B2 (en) Evaluating performance improvement of executing instructions in a first processor over execution on a second processor before compilation
JPH04266125A (ja) ディジタルコンピュータの操作方法
CN108536514B (zh) 一种热点方法的识别方法和装置
US20220066759A1 (en) Thread-local return structure for asynchronous state machine
JP2002014868A (ja) メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法
JP3807860B2 (ja) コンパイル方法および装置、並びにメソッド活動度計算方法および装置
JP2004240953A (ja) コンピュータシステム、その同時多重スレッディング方法およびキャッシュコントローラシステム。

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees