JP4294084B2 - ソフトウェアアプリケーションを実行する方法及び記録媒体 - Google Patents
ソフトウェアアプリケーションを実行する方法及び記録媒体 Download PDFInfo
- Publication number
- JP4294084B2 JP4294084B2 JP2008520347A JP2008520347A JP4294084B2 JP 4294084 B2 JP4294084 B2 JP 4294084B2 JP 2008520347 A JP2008520347 A JP 2008520347A JP 2008520347 A JP2008520347 A JP 2008520347A JP 4294084 B2 JP4294084 B2 JP 4294084B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- code
- computer
- software application
- memory
- 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.)
- Expired - Fee Related
Links
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
-
- 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
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- 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
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Description
図1は、本発明が実施されることが可能な適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の用法または機能の範囲について何ら限定を示唆するものではない。また、コンピューティング環境100が、例示的な動作環境100に例示されるコンポーネントのいずれのコンポーネント、またはいずれの組合せと関係する依存関係または要件も有するものと解釈されてはならない。
以下の説明では、コードエミュレーションおよびバイナリ変換と関係する詳細は、当業者に知られているものと想定する。したがって、そのような詳細は、簡明および説明のため、本明細書では大部分、省略する。さらに、ゲームソフトウェアの文脈におけるグラフィックスレンダリングがかかわる例示的な実施形態が、説明のためだけに本明細書で使用され、本発明をいずれのそのような実施形態にも限定するものではない。
Claims (4)
- 本文と関数とから構成され、エミュレートされたバイナリで記述されたソフトウェアアプリケーションをコンピュータにより実行する方法であって、
コンピュータが、
ソフトウェアアプリケーションをプリブートスキャンするステップであって、
行数が第1の所定の閾値を超える第1の関数を識別するステップ、及び、
実行のためにコンテキスト切り替えを要し、かつ、行数が第2の所定の閾値を下回る第2の関数を識別するステップ
を含むステップと、
前記第1の関数をプリコンパイルしてメモリに保存するステップと、
前記第2の関数を、前記本文にインラインで配置するステップと、
前記ソフトウェアアプリケーションを実行するステップであって、前記第1の関数については、コンパイルしたものをメモリから読み出して実行し、プリコンパイルした前記第1の関数及びインライン配置した前記第2の関数以外の部分については、ジャストインタイム変換を利用して実行するステップと、
を実行する方法。 - 前記ソフトウェアアプリケーションは、ゲームソフトウェアである請求項1に記載の方法。
- 前記第1の関数及び第2の関数は、グラフィックスレンダリングに関連する請求項1に記載の方法。
- 本文と関数とから構成され、エミュレートされたバイナリで記述されたソフトウェアアプリケーションをコンピュータに実行させるためのプログラムであって、
前記コンピュータに、
ソフトウェアアプリケーションをプリブートスキャンするステップであって、
行数が第1の所定の閾値を超える第1の関数を識別するステップ、及び、
実行のためにコンテキスト切り替えを要し、かつ、行数が第2の所定の閾値を下回る第2の関数を識別するステップ
を含むステップと、
前記第1の関数をプリコンパイルしてメモリに保存するステップと、
前記第2の関数を、前記本文にインラインで配置するステップと、
前記ソフトウェアアプリケーションを実行するステップであって、前記第1の関数については、コンパイルしたものをメモリから読み出して実行し、プリコンパイルした前記第1の関数及びインライン配置した前記第2の関数以外の部分については、ジャストインタイム変換を利用して実行するステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/177,130 US7389500B2 (en) | 2005-07-08 | 2005-07-08 | Selective pre-compilation of virtual code to enhance boot time emulator performance |
PCT/US2006/026081 WO2007008506A2 (en) | 2005-07-08 | 2006-06-30 | Selective pre-compilation of virtual code to enhance emulator performance |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009501368A JP2009501368A (ja) | 2009-01-15 |
JP4294084B2 true JP4294084B2 (ja) | 2009-07-08 |
Family
ID=37619700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008520347A Expired - Fee Related JP4294084B2 (ja) | 2005-07-08 | 2006-06-30 | ソフトウェアアプリケーションを実行する方法及び記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7389500B2 (ja) |
EP (1) | EP1902364A4 (ja) |
JP (1) | JP4294084B2 (ja) |
KR (1) | KR20080023728A (ja) |
CN (1) | CN101238438B (ja) |
WO (1) | WO2007008506A2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8157654B2 (en) * | 2000-11-28 | 2012-04-17 | Nintendo Co., Ltd. | Hand-held video game platform emulation |
US7987457B2 (en) * | 2007-06-25 | 2011-07-26 | Microsoft Corporation | Targeted patching for native generation images |
US8875114B2 (en) * | 2007-09-21 | 2014-10-28 | International Business Machines Corporation | Employing identifiers provided by an operating system of a processing environment to optimize the processing environment |
KR100964581B1 (ko) * | 2008-08-20 | 2010-06-21 | 주식회사 컴퍼니원헌드레드 | 두 단계 레지스터 기반 바이트코드를 이용한 스크립트 언어 실행 시스템 |
US9239732B2 (en) * | 2011-02-16 | 2016-01-19 | Microsoft Technology Licensing Llc | Unrolling aggregation operations in asynchronous programming code having multiple levels in hierarchy |
US9075913B2 (en) * | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
CN104205049B (zh) * | 2012-03-22 | 2018-05-11 | 英特尔公司 | 混合模拟和内核函数处理系统和方法 |
US9378001B2 (en) | 2014-05-02 | 2016-06-28 | Microsoft Technology Licensing, Llc | Matching program sections through feature extraction |
JP2018028777A (ja) * | 2016-08-17 | 2018-02-22 | Necプラットフォームズ株式会社 | エミュレーション装置、エミュレーション方法、及び、エミュレーションプログラム |
CN109426503B (zh) * | 2017-07-21 | 2022-05-31 | 华为技术有限公司 | 提供仿真激励的方法及装置 |
US10671758B2 (en) * | 2017-08-30 | 2020-06-02 | Micro Focus Llc | Redacting core dumps by identifying modifiable parameters |
US20190220294A1 (en) * | 2018-01-17 | 2019-07-18 | International Business Machines Corporation | Using lightweight jit compilation for short-lived jvms on parallel distributing computing framework |
US11720340B2 (en) * | 2019-07-30 | 2023-08-08 | Hewlett-Packard Development Company, L.P. | Hash map of executable control blocks |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097407A (en) | 1986-08-08 | 1992-03-17 | Integrated Inference Machines | Artificial intelligence processor |
US6607445B1 (en) | 1998-04-27 | 2003-08-19 | Sega Enterprises, Ltd. | Game execution method and equipment using player data |
US6637025B1 (en) * | 1998-12-03 | 2003-10-21 | International Business Machines Corporation | Dynamic selection/definition of which class/methods should or should not be jit'ed using information stored in a jar file |
US6332215B1 (en) * | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US6826749B2 (en) * | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US7225436B1 (en) * | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
US6338160B1 (en) * | 1998-12-08 | 2002-01-08 | Nazomi Communications, Inc. | Constant pool reference resolution method |
US6774885B1 (en) | 1999-01-20 | 2004-08-10 | Motek B.V. | System for dynamic registration, evaluation, and correction of functional human behavior |
US6842894B1 (en) | 1999-04-05 | 2005-01-11 | Gateway, Inc. | Dynamic Compiling |
US6354940B1 (en) | 1999-04-30 | 2002-03-12 | Square Co., Ltd. | Game apparatus, game fight processing method, and computer readable storage medium storage program therefor |
JP3191241B2 (ja) | 1999-07-14 | 2001-07-23 | 株式会社スクウェア | コンピュータ読み取り可能な記録媒体、ゲーム制御方法およびゲーム装置 |
GB9921720D0 (en) * | 1999-09-14 | 1999-11-17 | Tao Group Ltd | Loading object-oriented computer programs |
US7225456B2 (en) * | 2001-04-23 | 2007-05-29 | Sony Corporation | Gateway screen for interactive television |
US6704926B1 (en) * | 2000-09-28 | 2004-03-09 | International Business Machines Corporation | Bimodal Java just-in-time complier |
JP2002169696A (ja) * | 2000-12-04 | 2002-06-14 | Mitsubishi Electric Corp | データ処理装置 |
CA2456835C (en) | 2001-08-10 | 2012-03-20 | Stephen John Regelous | A method of rendering an image and a method of animating a graphics character |
US7228533B2 (en) * | 2001-08-24 | 2007-06-05 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions for performing programming loops |
GB0220282D0 (en) * | 2002-08-31 | 2002-10-09 | Ibm | Improved just in time compilation of java software methods |
US7090576B2 (en) | 2003-06-30 | 2006-08-15 | Microsoft Corporation | Personalized behavior of computer controlled avatars in a virtual reality environment |
-
2005
- 2005-07-08 US US11/177,130 patent/US7389500B2/en not_active Expired - Fee Related
-
2006
- 2006-06-30 WO PCT/US2006/026081 patent/WO2007008506A2/en active Application Filing
- 2006-06-30 CN CN2006800246645A patent/CN101238438B/zh not_active Expired - Fee Related
- 2006-06-30 KR KR1020087000504A patent/KR20080023728A/ko not_active Application Discontinuation
- 2006-06-30 EP EP06786289A patent/EP1902364A4/en not_active Withdrawn
- 2006-06-30 JP JP2008520347A patent/JP4294084B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20080023728A (ko) | 2008-03-14 |
JP2009501368A (ja) | 2009-01-15 |
EP1902364A4 (en) | 2009-01-21 |
EP1902364A2 (en) | 2008-03-26 |
CN101238438A (zh) | 2008-08-06 |
CN101238438B (zh) | 2010-12-08 |
WO2007008506A2 (en) | 2007-01-18 |
US7389500B2 (en) | 2008-06-17 |
WO2007008506A3 (en) | 2007-08-23 |
US20070011666A1 (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4294084B2 (ja) | ソフトウェアアプリケーションを実行する方法及び記録媒体 | |
US7783867B2 (en) | Controlling instruction execution in a processing environment | |
EP2359247B1 (en) | Transforming user script code for debugging | |
US8863117B2 (en) | Optimizing a file system interface in a virtualized computing environment | |
US8307353B2 (en) | Cross-domain inlining in a system virtual machine | |
US7500245B2 (en) | Changing code execution path using kernel mode redirection | |
US20080091923A1 (en) | Register-based instruction optimization for facilitating efficient emulation of an instruction stream | |
US8281296B2 (en) | Cross-ISA inlining in a system virtual machine | |
US20130096908A1 (en) | Employing native routines instead of emulated routines in an application being emulated | |
US8904346B1 (en) | Method and system for automated load testing of web applications | |
US20140222410A1 (en) | Hybrid emulation and kernel function processing systems and methods | |
US10025607B2 (en) | Optimizing a file system interface in a virtualized computing environment | |
CN111625290A (zh) | 一种Android平台下布局文件预加载方法、装置及电子设备 | |
EP2115574B1 (en) | Employing a buffer to facilitate instruction execution | |
JP2003330736A (ja) | 不正リソース利用防止システム及びその方法並びにプログラム | |
TWI660307B (zh) | 二元碼轉譯裝置及方法 | |
US20240028336A1 (en) | Techniques for reducing cpu privilege boundary crossings | |
KR101976993B1 (ko) | 모바일 코드 자동 분석을 위한 동적 바이너리 계측 코드추출장치 및 그 방법 | |
JP2007323358A (ja) | コンパイラプログラムを記録する媒体、コンパイル方法及びこれを伴う情報処理装置 | |
CN113986461A (zh) | 一种目标处理器上系统调用的侵入式半本地化仿真方法 | |
CN116450145A (zh) | 程序编译方法、装置、电子设备及可读存储介质 | |
JP6639238B2 (ja) | プログラムおよびコンピュータ | |
US9292304B2 (en) | Language integration via function redirection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080929 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20081113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
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: 20090310 |
|
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: 20090407 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
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: 20120417 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130417 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |