GB2404044B - Method and apparatus for partitioning code in program code conversion - Google Patents
Method and apparatus for partitioning code in program code conversionInfo
- Publication number
- GB2404044B GB2404044B GB0328121A GB0328121A GB2404044B GB 2404044 B GB2404044 B GB 2404044B GB 0328121 A GB0328121 A GB 0328121A GB 0328121 A GB0328121 A GB 0328121A GB 2404044 B GB2404044 B GB 2404044B
- Authority
- GB
- United Kingdom
- Prior art keywords
- partitioning
- code
- program code
- conversion
- code conversion
- 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 - Lifetime
Links
- 238000006243 chemical reaction Methods 0.000 title 1
- 238000000034 method Methods 0.000 title 1
- 238000000638 solvent extraction Methods 0.000 title 1
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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/802,309 US7934204B2 (en) | 2003-07-15 | 2004-03-17 | Partitioning code in program code conversion |
TW093120868A TWI362614B (en) | 2003-07-15 | 2004-07-13 | Method, apparatus and computer program product for generating a translation of subject code into target code |
PCT/GB2004/003026 WO2005008487A2 (en) | 2003-07-15 | 2004-07-13 | Method and apparatus for partitioning code in program code conversion |
JP2006519994A JP4958103B2 (en) | 2003-07-15 | 2004-07-13 | Method and apparatus for code partitioning in program code conversion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0316532.1A GB0316532D0 (en) | 2003-07-15 | 2003-07-15 | Method and apparatus for partitioning code in program code conversion |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0328121D0 GB0328121D0 (en) | 2004-01-07 |
GB2404044A GB2404044A (en) | 2005-01-19 |
GB2404044B true GB2404044B (en) | 2006-07-26 |
Family
ID=27763853
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0316532.1A Ceased GB0316532D0 (en) | 2003-07-15 | 2003-07-15 | Method and apparatus for partitioning code in program code conversion |
GB0328119A Expired - Lifetime GB2404043B (en) | 2003-07-15 | 2003-12-04 | Shared code caching method and apparatus for program code conversion |
GB0328121A Expired - Lifetime GB2404044B (en) | 2003-07-15 | 2003-12-04 | Method and apparatus for partitioning code in program code conversion |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0316532.1A Ceased GB0316532D0 (en) | 2003-07-15 | 2003-07-15 | Method and apparatus for partitioning code in program code conversion |
GB0328119A Expired - Lifetime GB2404043B (en) | 2003-07-15 | 2003-12-04 | Shared code caching method and apparatus for program code conversion |
Country Status (5)
Country | Link |
---|---|
CN (2) | CN100458687C (en) |
GB (3) | GB0316532D0 (en) |
HK (2) | HK1068699A1 (en) |
IL (1) | IL172830A0 (en) |
TW (2) | TWI362614B (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294675A1 (en) * | 2006-06-20 | 2007-12-20 | Transitive Limited | Method and apparatus for handling exceptions during binding to native code |
GB2442497B (en) * | 2006-10-02 | 2010-03-31 | Transitive Ltd | Method and apparatus for administering a process filesystem with respect to program code conversion |
US9015727B2 (en) | 2008-04-02 | 2015-04-21 | Qualcomm Incorporated | Sharing operating system sub-processes across tasks |
CN101458630B (en) * | 2008-12-30 | 2011-07-27 | 中国科学院软件研究所 | Self-modifying code identification method based on hardware emulator |
US8069339B2 (en) * | 2009-05-20 | 2011-11-29 | Via Technologies, Inc. | Microprocessor with microinstruction-specifiable non-architectural condition code flag register |
US8578357B2 (en) * | 2009-12-21 | 2013-11-05 | Intel Corporation | Endian conversion tool |
US8479176B2 (en) * | 2010-06-14 | 2013-07-02 | Intel Corporation | Register mapping techniques for efficient dynamic binary translation |
CN102043659A (en) * | 2010-12-08 | 2011-05-04 | 上海交通大学 | Compiling device for eliminating memory access conflict and implementation method thereof |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US9684607B2 (en) * | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Automatic recovery of application cache warmth |
CN105700932B (en) * | 2014-11-25 | 2019-02-05 | 财团法人资讯工业策进会 | For the variable inference system and method for software program |
CN104375879B (en) * | 2014-11-26 | 2018-02-09 | 康烁 | Based on the binary translation method and device for performing tree depth |
CN105893031B (en) * | 2016-03-28 | 2019-12-24 | 广州华多网络科技有限公司 | Cache operation implementation method, service layer method calling method and device |
US20180210734A1 (en) * | 2017-01-26 | 2018-07-26 | Alibaba Group Holding Limited | Methods and apparatus for processing self-modifying codes |
US10613844B2 (en) * | 2017-11-10 | 2020-04-07 | International Business Machines Corporation | Using comments of a program to provide optimizations |
CN107902507B (en) * | 2017-11-11 | 2021-05-04 | 林光琴 | Control software field debugging system and debugging method |
US11442740B2 (en) * | 2020-09-29 | 2022-09-13 | Rockwell Automation Technologies, Inc. | Supporting instruction set architecture components across releases |
CN112416338A (en) * | 2020-11-26 | 2021-02-26 | 上海睿成软件有限公司 | Code warehouse system based on label |
CN117348889B (en) * | 2023-12-05 | 2024-02-02 | 飞腾信息技术有限公司 | Code translation processing method, system, computer system and computer equipment |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0372835A2 (en) * | 1988-12-06 | 1990-06-13 | AT&T Corp. | Translation technique |
US5875318A (en) * | 1996-04-12 | 1999-02-23 | International Business Machines Corporation | Apparatus and method of minimizing performance degradation of an instruction set translator due to self-modifying code |
US6205545B1 (en) * | 1998-04-30 | 2001-03-20 | Hewlett-Packard Company | Method and apparatus for using static branch predictions hints with dynamically translated code traces to improve performance |
US6339822B1 (en) * | 1998-10-02 | 2002-01-15 | Advanced Micro Devices, Inc. | Using padded instructions in a block-oriented cache |
US6529862B1 (en) * | 1999-06-30 | 2003-03-04 | Bull Hn Information Systems Inc. | Method and apparatus for dynamic management of translated code blocks in dynamic object code translation |
US20030093775A1 (en) * | 2001-11-14 | 2003-05-15 | Ronald Hilton | Processing of self-modifying code under emulation |
GB2400937A (en) * | 2003-04-22 | 2004-10-27 | Transitive Ltd | Performing interpreter optimizations during program code conversion |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619665A (en) * | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
US6112280A (en) * | 1998-01-06 | 2000-08-29 | Hewlett-Packard Company | Method and apparatus for distinct instruction pointer storage in a partitioned cache memory |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
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 |
GB2348305A (en) * | 1999-03-24 | 2000-09-27 | Int Computers Ltd | Instruction execution mechanism |
US6516295B1 (en) * | 1999-06-30 | 2003-02-04 | Bull Hn Information Systems Inc. | Method and apparatus for emulating self-modifying code |
US7072939B1 (en) * | 2000-01-27 | 2006-07-04 | International Business Machines Corporation | Instant selective multiple soft document sharing between multiple heterogeneous computing devices |
US20010049818A1 (en) * | 2000-02-09 | 2001-12-06 | Sanjeev Banerjia | Partitioned code cache organization to exploit program locallity |
US6615300B1 (en) * | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US6980946B2 (en) * | 2001-03-15 | 2005-12-27 | Microsoft Corporation | Method for hybrid processing of software instructions of an emulated computer system |
GB2393274B (en) * | 2002-09-20 | 2006-03-15 | Advanced Risc Mach Ltd | Data processing system having an external instruction set and an internal instruction set |
-
2003
- 2003-07-15 GB GBGB0316532.1A patent/GB0316532D0/en not_active Ceased
- 2003-12-04 GB GB0328119A patent/GB2404043B/en not_active Expired - Lifetime
- 2003-12-04 GB GB0328121A patent/GB2404044B/en not_active Expired - Lifetime
-
2004
- 2004-07-13 TW TW093120868A patent/TWI362614B/en not_active IP Right Cessation
- 2004-07-13 CN CNB200480020101XA patent/CN100458687C/en not_active Expired - Lifetime
- 2004-07-13 CN CNB2004800232770A patent/CN100362475C/en not_active Expired - Lifetime
- 2004-07-13 TW TW093120866A patent/TWI365406B/en not_active IP Right Cessation
-
2005
- 2005-02-04 HK HK05100971A patent/HK1068699A1/en not_active IP Right Cessation
- 2005-02-04 HK HK05100970A patent/HK1068698A1/en not_active IP Right Cessation
- 2005-12-26 IL IL172830A patent/IL172830A0/en unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0372835A2 (en) * | 1988-12-06 | 1990-06-13 | AT&T Corp. | Translation technique |
US5875318A (en) * | 1996-04-12 | 1999-02-23 | International Business Machines Corporation | Apparatus and method of minimizing performance degradation of an instruction set translator due to self-modifying code |
US6205545B1 (en) * | 1998-04-30 | 2001-03-20 | Hewlett-Packard Company | Method and apparatus for using static branch predictions hints with dynamically translated code traces to improve performance |
US6339822B1 (en) * | 1998-10-02 | 2002-01-15 | Advanced Micro Devices, Inc. | Using padded instructions in a block-oriented cache |
US6529862B1 (en) * | 1999-06-30 | 2003-03-04 | Bull Hn Information Systems Inc. | Method and apparatus for dynamic management of translated code blocks in dynamic object code translation |
US20030093775A1 (en) * | 2001-11-14 | 2003-05-15 | Ronald Hilton | Processing of self-modifying code under emulation |
GB2400937A (en) * | 2003-04-22 | 2004-10-27 | Transitive Ltd | Performing interpreter optimizations during program code conversion |
GB2400938A (en) * | 2003-04-22 | 2004-10-27 | Transitive Ltd | Lazy byteswapping optimizations during program code conversion |
GB2400939A (en) * | 2003-04-22 | 2004-10-27 | Transitive Ltd | Partial dead code elimination optimizations for program code conversion |
Also Published As
Publication number | Publication date |
---|---|
CN1823322A (en) | 2006-08-23 |
HK1068699A1 (en) | 2005-04-29 |
CN100362475C (en) | 2008-01-16 |
IL172830A0 (en) | 2006-06-11 |
TW200515280A (en) | 2005-05-01 |
GB0316532D0 (en) | 2003-08-20 |
CN100458687C (en) | 2009-02-04 |
TW200516497A (en) | 2005-05-16 |
CN1836210A (en) | 2006-09-20 |
GB0328119D0 (en) | 2004-01-07 |
GB2404043B (en) | 2006-04-12 |
TWI365406B (en) | 2012-06-01 |
GB2404044A (en) | 2005-01-19 |
HK1068698A1 (en) | 2005-04-29 |
GB0328121D0 (en) | 2004-01-07 |
GB2404043A (en) | 2005-01-19 |
TWI362614B (en) | 2012-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
HK1068698A1 (en) | Method and apparatus for partitioning code in program code conversion | |
GB2398312B (en) | Apparatus and method | |
GB0419003D0 (en) | Method and apparatus for inserting code | |
GB0326118D0 (en) | Apparatus and method | |
GB0320541D0 (en) | Structural design apparatus and method therefor | |
GB0327981D0 (en) | De-blistering apparatus and method | |
GB0305023D0 (en) | Apparatus and method | |
GB2402865B (en) | De-Infestation method and apparatus | |
GB0315475D0 (en) | Apparatus and method | |
GB2400938B (en) | Method and apparatus for performing lazy byteswapping optimizations during program code conversion | |
GB0410751D0 (en) | Apparatus and method | |
GB0313439D0 (en) | Apparatus and method | |
GB0328090D0 (en) | Apparatus and method | |
GB0303973D0 (en) | Method and apparatus | |
GB2404238B (en) | Apparatus and method | |
GB0407679D0 (en) | Method and apparatus | |
AU2003285516A8 (en) | Analytical method and apparatus | |
GB0201234D0 (en) | Amenity selection apparatus and method | |
GB0313783D0 (en) | Apparatus and method | |
GB0317120D0 (en) | Method and apparatus | |
GB0315932D0 (en) | Apparatus and method | |
GB0325568D0 (en) | Apparatus and method | |
GB0305551D0 (en) | Method and apparatus | |
GB0308030D0 (en) | Apparatus and method | |
GB0312543D0 (en) | Method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1068698 Country of ref document: HK |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1068698 Country of ref document: HK |
|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) |
Free format text: REGISTERED BETWEEN 20090702 AND 20090708 |
|
PE20 | Patent expired after termination of 20 years |
Expiry date: 20231203 |