JP5128602B2 - プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 - Google Patents
プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 Download PDFInfo
- Publication number
- JP5128602B2 JP5128602B2 JP2009529783A JP2009529783A JP5128602B2 JP 5128602 B2 JP5128602 B2 JP 5128602B2 JP 2009529783 A JP2009529783 A JP 2009529783A JP 2009529783 A JP2009529783 A JP 2009529783A JP 5128602 B2 JP5128602 B2 JP 5128602B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- function
- subject
- target
- translator
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000006243 chemical reaction Methods 0.000 title claims description 36
- 230000006870 function Effects 0.000 claims description 249
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 3
- 238000004590 computer program Methods 0.000 claims 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 8
- 238000012550 audit Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
プログラムによる関数の後続の呼び出しは、事前にPLT入力に対して行われたように、制御フローを渡す。PLT入力は、関数を実行するライブラリ・コードへのリンクと共に更新されたので、これら後続の呼び出しにおいて、PLTは制御フローをPLTからライブラリへ直接的に渡す。これら後続の呼び出しは、PLT入力の更なる更新も、動的リンカーの更なる呼び出しも必要としない。
以下の記載は、当業者が本発明を実施し、かつ使用することを可能とするよう提供され、本願発明者により意図される、本発明を実施する最良のモードを説明する。しかしながら、本発明の一般的原理が本明細書において詳細に定義され、改良されたプログラムコード変換方法及び装置が提供されているので、当業者には種々の変更が容易に理解されるであろう。
また、図3には、リンク検査関数を実行するサブジェクト・コードが示されており、これは、以後リンク・オーディター17fとして参照される。ソラリスオペレーティング・システムにおいて、リンク・オーディター17fは、オペレーティング・システムによって提供されるリンク検査インターフェースと互換性のあるコードを用いることによって、リンカーの動作を監視することが可能である。ソラリスリンク検査インターフェースは、rtld−auditとして知られている。rtld−auditに関する更なる情報は、以下において参照することが可能である。
rtld−auditインターフェースに適合するリンク・オーディターは、実行ファイルに不可欠な要素としてロードされ、そこに含まれる検査ルーチンは、リンカーの実行の種々のステージにおいて、サブジェクト・リンカー・コード17eによって自動的に呼び出される。rtld−auditインターフェースを用いることで、リンク・オーディターが、サブジェクト・コード実行ファイル17a、及びサブジェクト・ライブラリ17d及び17cのようなロードされたオブジェクトに関する情報にアクセスすることが可能となる。更に、リンク・オーディターは、アプリケーションとライブラリとの間の情報の伝達に関連した他の情報と同様に、そのようなロードされた複数のオブジェクト間において形成される関係に関する情報へアクセスすることが可能である。更なる情報は、以下において参照することが可能である。
リンク・オーディターは、リンカーにより実行されるPLT更新の期間中、関数呼び出しの個別の起動、及びのその戻り値を監視することも可能である。
サブジェクト実行ファイル17aに対応するターゲット・コード21を生成する前に、トランスレータ・コード19は、サブジェクト実行ファイル17aのヘッダ17a_1を参照することによって、及び/又はサブジェクト実行ファイル17aの一回又は複数回のスキャンを実行することによって、サブジェクト実行ファイル17aに関する情報を収集する。トランスレータ・コード19は、収集された情報を用いて、サブジェクト実行ファイル17aに関連するPLT 17dを識別する。
さらなる例示的な実施形態においては、PLT 17dへの書き換えを検出し、かつサブジェクト実行ファイル17aにより呼び出される動的にリンクされたサブジェクト関数を実行するコードの位置を確認するために別の方法を用いても良い。そのような実施形態において、トランスレータ・コード19は、実行ファイルのファイル形式の情報からPLTを認証しても良い。PLT領域の位置についての情報を用いて、トランスレータは、特有のサブジェクト・コード命令シーケンスを検出することによってPLTを書き換えるような、リンカーの動作を識別することができる。SPARCから変換した例においては、認証されたPLT領域に影響を与える、特有のサブジェクト命令シーケンスのキャッシュフラッシュ命令が検出されても良い。
標準的なアプリケーションにおいて、トランスレータ・コード19が、FLT入力が形成された、一つ又は複数の動的にリンクされた関数呼び出しを含むサブジェクト・コード17と遭遇することは非常に起こり得ることである。例えば、トランスレータは、サブジェクト・コードの事前に変換された部分を再び変換することを必要とされ得る。この状況において、対応する入力がFLT 19aに存在する関数呼び出しが遭遇される。トランスレータ・コード19は、FLT 19aに事前に記録された情報を用いて、サブジェクト・コードにおける関数呼び出しと、その関数を実行する、対応するコードとの間の関連付けを設定する。この関連付けは、便宜的に直接リンク形式としても良い。
トランスレータが遭遇する動的にリンクされた関数呼び出しの一部は、間接的な関数呼び出しであることがある。間接関数呼び出しは、変数値に依存する呼び出しである。変数値は、呼び出される位置を決定し、変動し得る。従って、トランスレータは、間接関数呼び出しに対応するターゲット・コードが実行されるポイントにおいて、必要とされる関数を実行するコードの位置を決定することのみが可能である。
上述した実施形態において、FLTに保持される位置は、便宜的に、対応する関数を実行するサブジェクト・コード命令のアドレスであった。しかしながら、本発明の別の実施形態においては、FLT入力は、対応する関数を実行する他のコードを指し示すFLTにおけるアドレスとして、トランスレータ・コード19により選択されても良い。この方法でFLTを用いることにより、トランスレータはその作業負荷を減少させることが可能である。FLT入力は、
事前に変換されたターゲット・コード、ターゲット・オペレーティング・システム20のネイティブ・ライブラリ28における関数、
トランスレータに知られ、かつターゲット・コードが便宜的に生成される最適化されたIRの一部分、または
サブジェクト・コードの位置または上記の中の任意の一つを示す、またはそれを生成するのに用いられる、デリファレンスされる変数
の中の任意の一つを指し示すように、トランスレータによって選択されても良い。
ABIドット関数の動作は厳密に定義されているので、トランスレータは、ABIドット関数への呼び出しとして特定される関数呼び出しを、ABIドット関数と同じ効果を有する単純な命令として扱うことが可能である。このことは、例えば、FLT入力を設定し、かつ対応する関数を実行する非サブジェクト・コードの一部分と関数呼び出しを直接的に関連付けることによって、トランスレータがPLTを完全にバイパスすることを可能とする。この方法でPLTをバイパスすることは、トランスレータの作業負荷を減少させる。更に、この例において、トランスレータは、関数呼び出し自体の代わりに、関連するABIドット関数の効果を有するコードを付加することによって、関数呼び出しを扱うことに関連する仕事を完全に回避することが可能である。
特に、本発明は、プログラムコード変換を実行するコンピュータシステムにおいて有用な方法及びユニットを開発した。そのような方法及びユニットは、サブジェクト・プログラム・コードのターゲット・コードへの動的バイナリ変換を提供するランタイムトランスレータのように構成されたコンピュータシステムに関連して特に有用である。
Claims (20)
- コンピュータ装置であって、
ターゲット・プロセッサと、
メモリと
を備えており、
前記メモリは、
前記ターゲット・プロセッサ上で実行されるターゲット・オペレーティング・システムと、
前記ターゲット・オペレーティング・システム上で実行するトランスレータであって、関数リンクテーブルを保持している前記トランスレータと
を記憶しており、
前記トランスレータは、前記コンピュータ装置に、サブジェクト・コードを前記ターゲット・プロセッサで実行されるターゲット・コードへ動的に変換することを実現させ、前記サブジェクト・コードは当該サブジェクト・コードにおいて中間制御構造である手続きリンクテーブルを介してサブジェクト・リンカー・コードへサブジェクト制御フローを渡すように構成された、一つ又は複数の動的にリンクされたサブジェクト関数呼び出しを含み、
前記トランスレータは、前記コンピュータ装置に、
前記サブジェクト・コードの動的にリンクされたサブジェクト関数呼び出しに関連付けられた手続きリンクテーブルに対する修正を検出すること、
前記サブジェクト・コードにおいて、前記動的にリンクされた関数呼び出しを識別し、当該識別された動的にリンクされた関数呼び出しを、前記中間制御構造に対応するターゲット・コードを生成することなしに当該中間制御構造に対応する前記ターゲット・コードでない対応する関数を実行するコードに関連付けること、
前記修正の検出に応じて、前記関数リンクテーブルに、前記動的にリンクされた関数呼び出しに対応する識別子及び前記動的にリンクされた関数呼び出しを実行するコードの位置を格納すること
を実現させる、前記コンピュータ装置。 - 前記トランスレータは、前記コンピュータ装置に、前記サブジェクト・コードにおいて、動的にリンクされたサブジェクト関数呼び出しを識別し、かつ前記サブジェクト・コードの最初の変換における前記動的にリンクされた関数呼び出しに関するリンク情報を収集し、かつ前記サブジェクト・コードの後続の変換において前記収集された情報を使用することを実現させる、請求項1に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、後続の変換において前記収集された情報を用いて、前記識別された関数呼び出しから、前記対応する関数を実行する前記コードへ制御フローを受け渡すことを実現させる、請求項2に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、識別された関数呼び出しに対する識別子の形式で、前記トランスレータにアクセス可能な関数リンクテーブルにおいて、前記識別された関数呼び出しに関する情報を格納することを実現させ、かつ前記関数リンクテーブルにおいて、前記識別された関数を実行するコードの位置を格納することを実現させる、請求項1に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、各識別された関数に対応する入力に対する前記関数リンクテーブルを照合することを実現させる、前記関数リンクテーブルが前記識別された関数に対応する入力を含む場合、前記関数リンクテーブルに格納される前記情報を用いて、前記対応する関数を実行するコードに、前記関数呼び出しを関連付けることを実現させる、請求項4に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、サブジェクト・リンカー・コードの動作を監視するか、又は特有のサブジェクト・コード命令シーケンスのキャッシュフラッシュ命令を検出することにより、前記関数呼び出しに関するリンク情報を収集することを実現させる、請求項2に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、前記対応する関数を実行するコードに関連付けることにおいて、前記動的にリンクされた関数呼び出しと、前記関数を実行する前記コードとの間の直接リンクを設定することを実現させる、請求項1に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、前記関数リンクテーブルにおいて、前記識別された関数を実行するネイティブ・コードの位置、前記識別された関数を実行する事前に変換されたターゲット・コードの位置、及び前記トランスレータに既知の最適化された中間表現の部分の位置であって、当該部分から、ターゲット・コードが生成されて前記識別された関数を実行することが可能である、前記中間表現の部分の位置のうちの一つ又は複数を格納することを実現させる、請求項4に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、関数に関連した動的にリンクされた関数呼び出しを識別し、かつ前記動的にリンクされた関数呼び出しを、前記対応する関数を実行するコードに置換することを実現させる、請求項1に記載のコンピュータ装置。
- 前記トランスレータは、前記コンピュータ装置に、前記サブジェクト・コードの手続きリンクテーブル(PLT)を介してサブジェクト・リンカー・コードへサブジェクト制御フローを渡すように構成された、一つ又は複数の動的にリンクされたサブジェクト関数呼び出しを含むサブジェクト・コードを受信し、前記受信されたサブジェクト・コードにおいて、前記動的にリンクされた関数呼び出しを識別し、かつ前記動的にリンクされた関数呼び出しを、前記PLTに対応するターゲット・コードを生成することなしに当該PLTに対応する前記ターゲット・コードでない前記対応する関数を実行するコードに関連付けることを実現させる、請求項1に記載のコンピュータ装置。
- サブジェクト・コードをターゲット・プロセッサ上で実行するターゲット・コードに動的に変換する方法であって、前記サブジェクト・コードは当該サブジェクト・コードにおいて中間制御構造を介してサブジェクト・リンカー・コードへサブジェクト制御フローを渡すように構成された、一つ又は複数の動的にリンクされたサブジェクト関数呼び出しを含み、コンピュータが、
前記サブジェクト・コードの動的にリンクされたサブジェクト関数呼び出しに関連付けられた手続きリンクテーブルに対する修正を検出するステップと、
前記ターゲット・プロセッサにおいて実行するターゲット・コードを生成するステップであって、前記ターゲット・プロセッサにおいて、前記動的にリンクされた関数呼び出しは、前記中間制御構造に対応するターゲット・コードを生成することなしに当該中間制御構造に対応する前記ターゲット・コードでない前記対応する関数を実行するコードに関連付けられる、前記生成するステップと、
前記修正の検出に応じて、前記ターゲット・オペレーティング・システム上で実行するトランスレータに保持された関数リンクテーブルに、前記動的にリンクされた関数呼び出しに対応する識別子及び前記動的にリンクされた関数呼び出しを実行するコードの位置を格納するステップと、
を実行することを含む、前記方法。 - 前記サブジェクト・コードの最初の変換において、前記識別された動的にリンクされた関数呼び出しに関するリンク情報が、前記サブジェクト・コードの後続の変換における使用のために収集される、請求項11に記載の方法。
- 後続の変換において、最初の変換において収集された前記情報は、前記識別された関数呼び出しから、前記対応する関数を実行する前記コードへ、制御フローを受け渡すために用いられる、請求項12に記載の方法。
- 前記コンピュータが、
関数リンクテーブル中に、前記識別された関数呼び出しに関する情報を格納するステップと、
識別された関数の各々に対応する入力に対する前記関数リンクテーブルを照合すること、及び前記関数リンクテーブルが前記識別された関数と対応する入力を含む場合、前記関数リンクテーブルに格納された前記情報を用いて前記対応する関数を実行するコードに前記関数呼び出しを関連付けるステップと
を実行することを含む、請求項11に記載の方法。 - 前記ターゲット・コードを生成するステップは、前記ターゲット・コードにおいて、前記動的にリンクされた関数呼び出しと、前記関数を実行する前記コードとの間に直接リンクを設定するステップを含む、請求項11に記載の方法。
- 前記コンピュータが、
前記関数リンクテーブル中に、前記識別された関数を実行するネイティブ・コードの位置、前記識別された関数を実行する事前に変換されたターゲット・コードの位置、最適化された中間表現の部分の位置であって、当該部分から、ターゲット・コードが生成されて前記識別された関数を実行することが可能である、前記最適化された中間表現の部分の位置、及びデリファレンスされる変数を含むグループから選択された一つ又は複数を格納するステップ
を実行することを含み、
前記デリファレンスされる変数は、前記識別された関数を実行するサブジェクト・コード、前記識別された関数を実行するネイティブ・コード、前記識別された関数を実行する事前に変換されたターゲット・コード、前記トランスレータに既知の最適化された中間表現の部分であって、当該部分からターゲット・コードを生成して前記識別された関数を実行することが可能である、前記トランスレータに既知の最適化された中間表現の部分のうちの一つの位置に関連する、
請求項14に記載の方法。 - 前記コンピュータが、
関数に関連した動的にリンクされる関数呼び出しを識別するステップと、
前記動的にリンクされた関数呼び出しを、前記対応する関数を実行するコードに置換するステップと
を実行することを含む、請求項12に記載の方法。 - 前記コンピュータが、
前記サブジェクト・コードの手続きリンクテーブル(PLT)を介してサブジェクト・リンカー・コードへサブジェクト制御フローを渡すように構成された、一つ又は複数の動的にリンクされたサブジェクト関数呼び出しを受信するステップと、
前記サブジェクト・コードにおいて、前記動的にリンクされた関数呼び出しを識別するステップと、
前記動的にリンクされた関数呼び出しを、前記PLTに対応するターゲット・コードを生成することなしに当該PLTに対応する前記ターゲット・コードでない前記対応する関数を実行するコードと関連付けるステップと
を実行することを含む、請求項12に記載の方法。 - ターゲット・プロセッサにおいて実行されるプログラムコード変換のためのコンピュータ・プログラムであって、コンピュータに、請求項11〜18のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
- サブジェクト・コードをターゲット・プロセッサ上で実行するターゲット・コードへ動的に変換するように構成されたコード変換装置であって、前記サブジェクト・コードは、当該サブジェクト・コードにおいて中間制御構造を介してサブジェクト・リンカー・コードへサブジェクト制御フローを渡すように構成された、一つ又は複数の動的にリンクされたサブジェクト関数呼び出しを含み、前記コード変換装置は、
前記サブジェクト・コードの動的にリンクされたサブジェクト関数呼び出しに関連付けられた手続きリンクテーブルに対する修正を検出すること、
前記ターゲット・プロセッサ上で実行するターゲット・コードを生成することであって、前記識別された動的にリンクされた関数呼び出しは、前記中間制御構造に対応するターゲット・コードを生成することなしに当該中間制御構造に対応する前記ターゲット・コードでない対応する関数を実行するコードに関連付けられる、前記生成すること、
前記修正の検出に応じて、前記関数リンクテーブルに、前記動的にリンクされた関数呼び出しに対応する識別子及び前記動的にリンクされた関数呼び出しを実行するコードの位置を格納すること
を行うように構成されている、前記コード変換装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0619389A GB2442495B (en) | 2006-10-02 | 2006-10-02 | Method and apparatus for handling dynamically linked function cells with respect to program code conversion |
GB0619389.0 | 2006-10-02 | ||
US85405406P | 2006-10-24 | 2006-10-24 | |
US60/854,054 | 2006-10-24 | ||
PCT/GB2007/050600 WO2008041028A1 (en) | 2006-10-02 | 2007-10-01 | Method and apparatus for handling dynamically linked function calls with respect to program code conversion |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010506252A JP2010506252A (ja) | 2010-02-25 |
JP2010506252A5 JP2010506252A5 (ja) | 2012-07-12 |
JP5128602B2 true JP5128602B2 (ja) | 2013-01-23 |
Family
ID=41295846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009529783A Active JP5128602B2 (ja) | 2006-10-02 | 2007-10-01 | プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5128602B2 (ja) |
KR (1) | KR101308781B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752008B2 (en) * | 2009-09-02 | 2014-06-10 | Advanced Micro Devices, Inc. | Lightweight service based dynamic binary rewriter framework |
US8464230B2 (en) * | 2010-04-13 | 2013-06-11 | Intel Corporation | Methods and systems to implement non-ABI conforming features across unseen interfaces |
JP5976917B2 (ja) * | 2012-03-22 | 2016-08-24 | インテル コーポレイション | ネスト構造化されたエミュレーションおよび動的リンキング環境 |
US10445119B2 (en) * | 2017-06-30 | 2019-10-15 | Intel Corporation | Software reconfigurable mobile devices and methods |
CN113986343B (zh) * | 2021-10-22 | 2023-11-21 | 上海太美数字科技有限公司 | 程序模块获取方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59119447A (ja) * | 1982-12-27 | 1984-07-10 | Fujitsu Ltd | プログラムの動的結合方法 |
US5930495A (en) * | 1997-01-13 | 1999-07-27 | International Business Machines Corporation | Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment |
US5903758A (en) * | 1997-02-24 | 1999-05-11 | Sun Microsystems, Inc. | Method and apparatus for auditing dynamically linked procedure calls |
US6934943B2 (en) * | 2001-10-18 | 2005-08-23 | Hewlett-Packard Development Company | Optimization of control transfers to dynamically loaded modules |
US20030088860A1 (en) * | 2001-11-02 | 2003-05-08 | Fu-Hwa Wang | Compiler annotation for binary translation tools |
US7434209B2 (en) * | 2003-07-15 | 2008-10-07 | Transitive Limited | Method and apparatus for performing native binding to execute native code |
KR101244063B1 (ko) * | 2005-03-11 | 2013-03-19 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로그램 코드 변환시의 실행 제어 |
-
2007
- 2007-10-01 JP JP2009529783A patent/JP5128602B2/ja active Active
- 2007-10-01 KR KR1020097009185A patent/KR101308781B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
JP2010506252A (ja) | 2010-02-25 |
KR101308781B1 (ko) | 2013-09-17 |
KR20090095556A (ko) | 2009-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043816B2 (en) | Handling dynamically linked function calls with respect to program code conversion | |
JP4931583B2 (ja) | ネイティブ結合を行なうための方法および装置 | |
JP5039031B2 (ja) | ネイティブコード及び目的コードをプログラムコード変換中に組み合わせて実行する方法及び装置 | |
US7536682B2 (en) | Method and apparatus for performing interpreter optimizations during program code conversion | |
US7543284B2 (en) | Partial dead code elimination optimizations for program code conversion | |
US6484188B1 (en) | Optimization of garbage collection code in the context of raw native interface function calls in the java programming language | |
AU774467B2 (en) | Automatic stub/adapter generator | |
US20040255279A1 (en) | Block translation optimizations for program code conversation | |
JP5077605B2 (ja) | コンピュータ・システムにおいて例外信号を処理するための装置及び方法 | |
JP2002527815A (ja) | プログラムコード変換方法 | |
JP2010530996A (ja) | プログラム・コードを変換するためのコンピュータ・システム、方法、及びコンピュータ可読記録媒体 | |
JP5128602B2 (ja) | プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 | |
JP2010506250A (ja) | コンピュータシステムおよびレジスタウインドウアーキテクチャをサポートするようにコンピュータシステムを適合させる方法 | |
JP2010506250A5 (ja) | ||
US20040221279A1 (en) | Method and apparatus for performing lazy byteswapping optimizations during program code conversion | |
JP2010506252A5 (ja) | ||
US8286144B2 (en) | Administering a process filesystem with respect to program code conversion | |
WO2006131695A1 (en) | Method and apparatus for combined execution of native code and target code during program code conversion | |
GB2400938A (en) | Lazy byteswapping optimizations during program code conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091204 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20091204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120521 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20120521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120912 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120912 |
|
TRDD | Decision of grant or rejection written | ||
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121012 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20121012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5128602 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |