JP6352486B2 - コールバックによるisaブリッジング - Google Patents
コールバックによるisaブリッジング Download PDFInfo
- Publication number
- JP6352486B2 JP6352486B2 JP2017078938A JP2017078938A JP6352486B2 JP 6352486 B2 JP6352486 B2 JP 6352486B2 JP 2017078938 A JP2017078938 A JP 2017078938A JP 2017078938 A JP2017078938 A JP 2017078938A JP 6352486 B2 JP6352486 B2 JP 6352486B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction set
- library
- set architecture
- emulator
- callback
- 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
- 230000006870 function Effects 0.000 claims description 92
- 238000000034 method Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Description
Claims (18)
- ターゲット命令セットアーキテクチャをサポートするターゲットコンピュータプロセッサを備えたターゲット装置に、前記ターゲット装置上に実行されるアプリケーションによってコールされる前記ターゲット装置のライブラリのライブラリサービスを実行し、前記アプリケーションのコールバックファンクションをコールバックするため、命令セットアーキテクチャブリッジングレイヤを前記ターゲット装置に提供させるプログラムであって、
前記ライブラリサービスは前記ターゲット命令セットアーキテクチャについて実現され、前記アプリケーションはソースコンピュータプロセッサのソース命令セットアーキテクチャについて少なくとも部分的に実現され、
前記ソース及びターゲットコンピュータプロセッサのソース及びターゲット命令セットアーキテクチャは、異なるコンピュータプロセッサファミリの異なるコンピュータプロセッサ命令セットアーキテクチャであり、
前記命令セットアーキテクチャブリッジングレイヤは、前記ソース及びターゲット命令セットアーキテクチャにわたって、前記アプリケーションが前記ライブラリサービスを可能にし、前記ライブラリサービスが前記コールバックファンクションをコールバックすることを可能にするためそれぞれと連携するライブラリエミュレータとソース命令セットアーキテクチャエミュレータとを有し、
前記ソース命令セットアーキテクチャエミュレータは前記ソース命令セットアーキテクチャの実行コンテクストを維持し、前記ライブラリエミュレータはライブラリ実行コンテクストを維持し、
前記ライブラリエミュレータは更に、前記ライブラリサービスに対応するラッパファンクションにコールをリダイレクトする前記ライブラリサービスに対応するゲートを有し、前記ライブラリサービスに対応するラッパファンクションは、前記コールを処理し、前記ライブラリ実行コンテクストにおいて前記コールを設定するプログラム。 - 前記ゲートは第1のゲートであり、
前記ライブラリエミュレータは更に、前記ソース命令セットアーキテクチャエミュレータにコールバックをリダイレクトする前記コールバックファンクションに対応する第2のゲートを有する、請求項1記載のプログラム。 - 前記ラッパファンクションは第1のラッパファンクションであり、
前記ライブラリエミュレータは更に、前記コールバックを処理し、前記ソース命令セットアーキテクチャの実行コンテクストにおいて前記コールバックを設定し、前記コールバックファンクションに対応する前記ライブラリエミュレータのゲートに前記コールバックをリダイレクトする前記コールバックファンクションに対応する第2のラッパファンクションを有する、請求項1記載のプログラム。 - 前記命令セットアーキテクチャブリッジングレイヤは更に、ローダを有し、
前記ローダは、前記アプリケーションをロードし、前記ライブラリエミュレータが前記コールを可能にするのに介入することを可能にする方法で前記ライブラリサービスを参照するシンボル名を修正する、請求項1記載のプログラム。 - 前記ローダは更に、前記ソース命令セットアーキテクチャエミュレータが前記コールバックを可能にするのに介入することを可能にする方法で前記アプリケーションのコールバックファンクションを参照するシンボル名を修正する、請求項4記載のプログラム。
- コールバックによってソースコンピュータプロセッサのソース命令セットアーキテクチャをターゲットコンピュータプロセッサのターゲット命令セットアーキテクチャにブリッジする方法であって、
前記ソース及びターゲットコンピュータプロセッサのソース及びターゲット命令セットアーキテクチャは、異なるコンピュータプロセッサファミリの異なるコンピュータプロセッサ命令セットアーキテクチャであり、
当該方法は、
計算装置の命令セットアーキテクチャブリッジングレイヤのソース命令セットアーキテクチャエミュレータが、ソース命令セットアーキテクチャ実行コンテクストを維持するステップであって、前記計算装置は前記ターゲット命令セットアーキテクチャにより実現されるライブラリサービスを有し、前記計算装置は前記ターゲットコンピュータプロセッサを有する、維持するステップと、
前記計算装置の命令セットアーキテクチャブリッジングレイヤのライブラリエミュレータが、ライブラリ実行コンテクストを維持し、前記ライブラリサービスをコールするため、前記計算装置上で実行され、前記ソース命令セットアーキテクチャにより少なくとも部分的に実現されるアプリケーションと、前記ソース及びターゲット命令セットアーキテクチャにわたって、前記アプリケーションのコールバックファンクションをコールバックするために前記ライブラリサービスとを実行するように前記ソース命令セットアーキテクチャエミュレータと前記ライブラリエミュレータとの間で連携するステップであって、前記連携は、前記ライブラリサービスに対応するライブラリエミュレータのゲートが前記ライブラリサービスに対応するラッパファンクションに前記コールをリダイレクトすることを含む、維持するステップと、
前記ライブラリサービスに対応するラッパファンクションが、前記コールを処理し、前記ライブラリ実行コンテクストにおいて前記コールを設定するため処理するステップと、
を有する方法。 - 前記ラッパファンクションは第1のラッパファンクションであり、
当該方法は更に、前記コールバックファンクションに対応するライブラリエミュレータの第2のラッパファンクションに前記コールバックをリダイレクトし、前記コールバックを処理し、前記ソース命令セットアーキテクチャの実行コンテクストにおいて前記コールバックを設定するステップを有する、請求項6記載の方法。 - 前記ゲートは第1のゲートであり、
当該方法は更に、前記コールバックファンクションに対応するライブラリエミュレータの第2のラッパファンクションに前記コールバックをリダイレクトし、前記コールバックを処理し、前記ソース命令セットアーキテクチャの実行コンテクストにおいて前記コールバックを設定するステップを有する、請求項6記載の方法。 - 前記ソース命令セットアーキテクチャエミュレータと前記ライブラリエミュレータとに関連するローダが、前記ライブラリエミュレータが前記コールを可能にするのに介入することを可能にする方法で前記ライブラリサービスを参照するシンボル名を修正することを含む、前記アプリケーションをロードするステップを更に有する、請求項6記載の方法。
- 前記ローダが、前記ソース命令セットアーキテクチャエミュレータが前記コールバックを可能にするのに介入することを可能にする方法で前記アプリケーションのコールバックファンクションを参照するシンボル名を修正するステップを更に有する、請求項9記載の方法。
- ソースコンピュータプロセッサのソース命令セットアーキテクチャにより少なくとも部分的に実現されるアプリケーションを実行する装置であって、
ターゲット命令セットアーキテクチャを有するターゲットコンピュータプロセッサとメモリ構成であって、前記ソース及びターゲットコンピュータプロセッサのソース及びターゲット命令セットアーキテクチャは、異なるコンピュータプロセッサファミリの異なるコンピュータプロセッサ命令セットアーキテクチャである、ターゲットコンピュータプロセッサとメモリ構成と、
ソース命令セットアーキテクチャエミュレータとライブラリエミュレータとを有する命令セットアーキテクチャブリッジングレイヤであって、前記ソース及びターゲット命令セットアーキテクチャにわたって、前記ソース命令セットアーキテクチャにより少なくとも部分的に実現されるアプリケーションが前記ターゲット命令セットアーキテクチャにより実現される前記装置のライブラリサービスをコールすることを可能にし、前記ライブラリサービスが前記装置のコールバックファンクションをコールバックすることを可能にするよう連携するため、前記ターゲットコンピュータプロセッサ及びメモリによって実行される命令セットアーキテクチャブリッジングレイヤと、
を有し、
前記ソース命令セットアーキテクチャエミュレータは前記ソース命令セットアーキテクチャの実行コンテクストを維持し、前記ライブラリエミュレータはライブラリ実行コンテクストを維持し、
前記ライブラリエミュレータは更に、前記ライブラリサービスに対応するラッパファンクションに前記コールをリダイレクトする前記ライブラリサービスに対応するゲートを有し、
前記ライブラリエミュレータは更に、前記ライブラリサービスに対応するラッパファンクションを有し、前記ラッパファンクションは、前記コールを処理し、前記ライブラリ実行コンテクストにおいて前記コールを設定する装置。 - 前記ゲートは第1のゲートであり、
前記ライブラリエミュレータは更に、前記ソース命令セットアーキテクチャエミュレータに前記コールバックをリダイレクトする前記コールバックファンクションに対応する第2のゲートを有する、請求項11記載の装置。 - 前記ラッパファンクションは第1のラッパファンクションであり、
前記ライブラリエミュレータは更に、前記コールバックを処理し、前記ソース命令セットアーキテクチャの実行コンテクストにおいて前記コールバックを設定し、前記コールバックファンクションに対応する前記ライブラリエミュレータのゲートに前記コールバックをリダイレクトする前記コールバックファンクションに対応する第2のラッパファンクションを有する、請求項11記載の装置。 - 前記命令セットアーキテクチャブリッジングレイヤは更に、ローダを有し、
前記ローダは、前記アプリケーションをロードし、前記ライブラリエミュレータが前記コールを可能にするのに介入することを可能にする方法で前記ライブラリサービスを参照するシンボル名を修正する、請求項11記載の装置。 - 前記ローダは更に、前記ソース命令セットアーキテクチャエミュレータが前記コールバックを可能にするのに介入することを可能にする方法で前記アプリケーションのコールバックファンクションを参照するシンボル名を修正する、請求項14記載の装置。
- 前記ライブラリサービスを有するオペレーティングシステムを更に有する、請求項11記載の装置。
- 命令セットアーキテクチャから独立したアプリケーション実行環境を更に有し、
前記アプリケーションは更に、前記命令セットアーキテクチャから独立したアプリケーション実行環境の少なくとも1つの他のサービスを利用する、請求項11記載の装置。 - 請求項1乃至5何れか一項記載のプログラムを記憶するコンピュータ可読記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017078938A JP6352486B2 (ja) | 2017-04-12 | 2017-04-12 | コールバックによるisaブリッジング |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017078938A JP6352486B2 (ja) | 2017-04-12 | 2017-04-12 | コールバックによるisaブリッジング |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014550609A Division JP2015507269A (ja) | 2012-01-10 | 2012-01-10 | コールバックによるisaブリッジング |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017142842A JP2017142842A (ja) | 2017-08-17 |
JP6352486B2 true JP6352486B2 (ja) | 2018-07-04 |
Family
ID=59628688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017078938A Active JP6352486B2 (ja) | 2017-04-12 | 2017-04-12 | コールバックによるisaブリッジング |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6352486B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04123144A (ja) * | 1990-09-13 | 1992-04-23 | Toshiba Corp | デバッグ装置 |
US20020069402A1 (en) * | 2000-10-05 | 2002-06-06 | Nevill Edward Colles | Scheduling control within a system having mixed hardware and software based instruction execution |
US7107584B2 (en) * | 2001-10-23 | 2006-09-12 | Microsoft Corporation | Data alignment between native and non-native shared data structures |
WO2006040506A1 (en) * | 2004-10-12 | 2006-04-20 | Picsel (Research) Limited | Run tune dynamic linking |
GB2426840A (en) * | 2005-06-04 | 2006-12-06 | Transitive Ltd | Method of executing program code where a portion of the target code calls a native code portion which then calls a second target code portion. |
-
2017
- 2017-04-12 JP JP2017078938A patent/JP6352486B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017142842A (ja) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5976930B2 (ja) | バーチャルファンクションを無効にするコールのためのサポートを含むisaブリッジング | |
US9513977B2 (en) | ISA bridging with callback | |
US10761867B2 (en) | Nested emulation and dynamic linking environment | |
US8266618B2 (en) | Graphics hardware resource usage in a fully virtualized computing environment | |
US10191774B2 (en) | Hardware acceleration of web applications | |
US20130167150A1 (en) | Application Management | |
US9778942B2 (en) | Generating a replacement binary for emulation of an application | |
CN108376066B (zh) | 代码处理装置及代码处理方法 | |
TWI590073B (zh) | 用於提供存取虛擬命名空間中資源的虛擬整合呼叫 | |
US20140222410A1 (en) | Hybrid emulation and kernel function processing systems and methods | |
US9830307B1 (en) | Ahead of time compilation of content pages | |
JP2009516296A (ja) | 非同期ジャストインタイムコンパイル | |
JP6352486B2 (ja) | コールバックによるisaブリッジング | |
US20160019193A1 (en) | Converting terminal-based legacy applications to web-based applications | |
Liu et al. | KMRE: An Efficient and Compatible Runtime to Execute Android Application on Linux System | |
Heidari | Android Elastic Service Execution and Evaluation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180423 |
|
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: 20180508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6352486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |