CN101189578B - 用于程序代码转换期间的本机代码和目标代码的组合执行的方法及装置 - Google Patents
用于程序代码转换期间的本机代码和目标代码的组合执行的方法及装置 Download PDFInfo
- Publication number
- CN101189578B CN101189578B CN200680019817.7A CN200680019817A CN101189578B CN 101189578 B CN101189578 B CN 101189578B CN 200680019817 A CN200680019817 A CN 200680019817A CN 101189578 B CN101189578 B CN 101189578B
- Authority
- CN
- China
- Prior art keywords
- code
- machine
- function
- subject
- translater
- 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
Images
Classifications
-
- 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
Abstract
Description
Claims (49)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0511414A GB2426840A (en) | 2005-06-04 | 2005-06-04 | 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. |
GB0511414.5 | 2005-06-04 | ||
US11/273,111 | 2005-11-14 | ||
US11/273,111 US7793272B2 (en) | 2005-06-04 | 2005-11-14 | Method and apparatus for combined execution of native code and target code during program code conversion |
PCT/GB2006/001949 WO2006131695A1 (en) | 2005-06-04 | 2006-05-26 | Method and apparatus for combined execution of native code and target code during program code conversion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101189578A CN101189578A (zh) | 2008-05-28 |
CN101189578B true CN101189578B (zh) | 2012-11-07 |
Family
ID=34835146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680019817.7A Active CN101189578B (zh) | 2005-06-04 | 2006-05-26 | 用于程序代码转换期间的本机代码和目标代码的组合执行的方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7793272B2 (zh) |
JP (1) | JP5039031B2 (zh) |
CN (1) | CN101189578B (zh) |
GB (1) | GB2426840A (zh) |
HK (1) | HK1113212A1 (zh) |
TW (1) | TWI453671B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0517357D0 (en) * | 2005-08-25 | 2005-10-05 | Corizon Ltd | User interface generation |
US7353504B2 (en) * | 2005-12-09 | 2008-04-01 | Bea Systems, Inc. | System and method for efficiently generating native code calls from byte code in virtual machines |
US8429623B2 (en) * | 2007-01-16 | 2013-04-23 | Oracle America Inc. | Processing engine for enabling a set of code intended for a first platform to be executed on a second platform |
JP2010517134A (ja) * | 2007-01-22 | 2010-05-20 | イースリーネット、カンパニー、リミテッド | 異機種間プログラム連動方法及びそのミドルウェアプラットホームエンジン |
US8752056B2 (en) * | 2007-12-03 | 2014-06-10 | International Business Machines Corporation | Running native code across single or multi-core hybrid processor achitecture |
US9454390B2 (en) * | 2008-04-04 | 2016-09-27 | Intuit Inc. | Executable code generated from common source code |
US9645912B2 (en) * | 2008-12-01 | 2017-05-09 | Microsoft Technology Licensing, Llc | In-place function modification |
US8683451B1 (en) * | 2010-04-30 | 2014-03-25 | The United States Of America As Represented By The Secretary Of The Navy | System and method for translating software code |
CN101937355A (zh) * | 2010-09-03 | 2011-01-05 | 复旦大学 | 基于动态二进制翻译的异构程序交互方法 |
JP5792577B2 (ja) * | 2010-11-10 | 2015-10-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 動的バイナリ・トランスレータに関するメモリ管理のための装置、方法、およびコンピュータ・プログラム |
US9032526B2 (en) | 2011-05-12 | 2015-05-12 | Microsoft Technology Licensing, Llc | Emulating mixed-code programs using a virtual machine instance |
US8468507B2 (en) * | 2011-06-10 | 2013-06-18 | Microsoft Corporation | Binding executable code at runtime |
US8990515B2 (en) | 2011-06-14 | 2015-03-24 | Microsoft Technology Licensing, Llc | Aliasing buffers |
US9063760B2 (en) | 2011-10-13 | 2015-06-23 | International Business Machines Corporation | Employing native routines instead of emulated routines in an application being emulated |
JP2015507269A (ja) * | 2012-01-10 | 2015-03-05 | インテル コーポレイション | コールバックによるisaブリッジング |
US9092540B2 (en) | 2012-02-14 | 2015-07-28 | International Business Machines Corporation | Increased interoperability between web-based applications and hardware functions |
US9081896B1 (en) * | 2012-03-21 | 2015-07-14 | Amazon Technologies, Inc. | Generating a replacement binary for emulation of an application |
KR101665219B1 (ko) | 2012-03-22 | 2016-10-11 | 인텔 코포레이션 | 네스티드 에뮬레이션 및 동적 링킹 환경 |
KR101559651B1 (ko) | 2014-01-28 | 2015-10-13 | 한양대학교 산학협력단 | 동적 분석 방법 및 장치 |
US9823909B1 (en) * | 2014-05-02 | 2017-11-21 | Amazon Technologies, Inc. | Program code conversion for cross-platform compatibility |
US10303498B2 (en) * | 2015-10-01 | 2019-05-28 | Microsoft Technology Licensing, Llc | Performance optimizations for emulators |
US11210074B2 (en) * | 2016-06-27 | 2021-12-28 | Intel Corporation | On-demand binary translation state map generation |
JP6352486B2 (ja) * | 2017-04-12 | 2018-07-04 | インテル コーポレイション | コールバックによるisaブリッジング |
CN111090466B (zh) * | 2019-12-20 | 2022-03-18 | 北京字节跳动网络技术有限公司 | 调用指令的优化方法、装置、设备和存储介质 |
US11231918B1 (en) | 2020-08-31 | 2022-01-25 | Microsoft Technologly Licensing, LLC | Native emulation compatible application binary interface for supporting emulation of foreign code |
US11403100B2 (en) | 2020-08-31 | 2022-08-02 | Microsoft Technology Licensing, Llc | Dual architecture function pointers having consistent reference addresses |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574927A (en) * | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
US6091897A (en) * | 1996-01-29 | 2000-07-18 | Digital Equipment Corporation | Fast translation and execution of a computer program on a non-native architecture by use of background translator |
US6721941B1 (en) * | 1996-08-27 | 2004-04-13 | Compuware Corporation | Collection of timing and coverage data through a debugging interface |
US6044220A (en) * | 1997-02-25 | 2000-03-28 | Motorola, Inc. | Method and apparatus for operating a data processor to execute software written using a foreign instruction set |
US5940779A (en) * | 1997-03-05 | 1999-08-17 | Motorola Inc. | Architectural power estimation method and apparatus |
US6081665A (en) * | 1997-12-19 | 2000-06-27 | Newmonics Inc. | Method for efficient soft real-time execution of portable byte code computer programs |
US6199202B1 (en) * | 1998-01-06 | 2001-03-06 | Hewlett-Packard Company | Method and apparatus for the inter-operation of differing architectural and run time conventions |
ATE457492T1 (de) | 1998-10-10 | 2010-02-15 | Ibm | Programmkodekonvertierung mit verringerter übersetzung |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6820255B2 (en) * | 1999-02-17 | 2004-11-16 | Elbrus International | Method for fast execution of translated binary code utilizing database cache for low-level code correspondence |
US6481006B1 (en) * | 1999-05-06 | 2002-11-12 | International Business Machines Corporation | Method and apparatus for efficient invocation of Java methods from native codes |
US7137105B2 (en) * | 1999-05-12 | 2006-11-14 | Wind River Systems, Inc. | Dynamic software code instrumentation method and system |
GB2367658B (en) * | 2000-10-05 | 2004-09-22 | Advanced Risc Mach Ltd | Intercalling between native and non-native instruction sets |
US20020069402A1 (en) * | 2000-10-05 | 2002-06-06 | Nevill Edward Colles | Scheduling control within a system having mixed hardware and software based instruction execution |
US6907519B2 (en) | 2001-11-29 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Systems and methods for integrating emulated and native code |
CA2376327C (en) * | 2002-03-12 | 2009-04-28 | Ibm Canada Limited-Ibm Canada Limitee | Executing native code in place of non-native code |
JP2004303114A (ja) * | 2003-04-01 | 2004-10-28 | Hitachi Ltd | インタープリタおよびネイティブコード実行方法 |
US20040204374A1 (en) * | 2003-04-11 | 2004-10-14 | Xuegen Wang | Cis-element decoys useful as anti-tumor therapeutics |
US7434209B2 (en) | 2003-07-15 | 2008-10-07 | Transitive Limited | Method and apparatus for performing native binding to execute native code |
-
2005
- 2005-06-04 GB GB0511414A patent/GB2426840A/en active Pending
- 2005-11-14 US US11/273,111 patent/US7793272B2/en active Active
-
2006
- 2006-05-26 CN CN200680019817.7A patent/CN101189578B/zh active Active
- 2006-05-26 JP JP2008514180A patent/JP5039031B2/ja active Active
- 2006-05-30 TW TW095119198A patent/TWI453671B/zh active
-
2008
- 2008-08-12 HK HK08108916.6A patent/HK1113212A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US7793272B2 (en) | 2010-09-07 |
TWI453671B (zh) | 2014-09-21 |
US20070006184A1 (en) | 2007-01-04 |
TW200719229A (en) | 2007-05-16 |
GB2426840A (en) | 2006-12-06 |
JP5039031B2 (ja) | 2012-10-03 |
CN101189578A (zh) | 2008-05-28 |
GB0511414D0 (en) | 2005-07-13 |
HK1113212A1 (zh) | 2008-09-26 |
JP2008546085A (ja) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101189578B (zh) | 用于程序代码转换期间的本机代码和目标代码的组合执行的方法及装置 | |
CN100483341C (zh) | 用于执行本机绑定的方法和装置 | |
US6496922B1 (en) | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation | |
CN101523348B (zh) | 针对程序代码转换处理动态链接的函数调用的方法和设备 | |
EP2142987B1 (en) | Improvements in and relating to floating point operations | |
JPH08506195A (ja) | 一つのプログラムの中でまたは1つのプロセッサ環境に於て、夫々のオブジェクトコードタイプが異なる複数のプログラムセグメントを実行するための装置 | |
US20060248262A1 (en) | Method and corresponding apparatus for compiling high-level languages into specific processor architectures | |
JPH0782441B2 (ja) | シミユレーシヨン方法 | |
JPH10320214A (ja) | コンパイルシステム及びコンピュータプログラム製品 | |
Probst | Dynamic binary translation | |
KR900006008B1 (ko) | 스마트 메모리군을 갖는 정보 처리 시스템 | |
US6684395B2 (en) | Multiple image dynamic bind and load procedure for a multi-processor | |
US6978451B2 (en) | Method for fast compilation of preverified JAVA bytecode to high quality native machine code | |
EP1889158B1 (en) | Method and apparatus for combined execution of native code and target code during program code conversion | |
Terei et al. | Low level virtual machine for Glasgow Haskell Compiler | |
Lindahl et al. | Unboxed compilation of floating point arithmetic in a dynamically typed language environment | |
Mayer et al. | The data-parallel Ada run-time system, simulation and empirical results | |
Richards | The BCPL Cintcode System Users’ Guide | |
Leroy | Compiling functional languages | |
Wilcox | The MAINSAIL Project: Developing Tools for Software Portability | |
Lindahl | Compilation of Floating Point Arithmetic in the High Performance ERLANG Compiler. | |
Dietz et al. | Execution Of MIMD MIPSEL Assembly Programs Within CUDA/OpenCL GPUs | |
Montuelle | CUFOM: the CERN Universal Format for Object Modules | |
Morgan | Implementation of an Imperative Object Calculus | |
Bayer | LiзpMe: An Implementation of Scheme for the Palm Pilot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: INTERNATIONAL BUSINESS MACHINE CORP. Free format text: FORMER OWNER: IBM YING CO., LTD. Effective date: 20090731 Owner name: IBM YING CO., LTD. Free format text: FORMER OWNER: TELANSIT CO., LTD. Effective date: 20090731 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20090731 Address after: American New York Applicant after: International Business Machines Corp. Address before: England Hampshire Applicant before: IBM UK Ltd. Effective date of registration: 20090731 Address after: England Hampshire Applicant after: IBM UK Ltd. Address before: London, England Applicant before: Transitive Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |