GB2404043B - Shared code caching method and apparatus for program code conversion - Google Patents

Shared code caching method and apparatus for program code conversion

Info

Publication number
GB2404043B
GB2404043B GB0328119A GB0328119A GB2404043B GB 2404043 B GB2404043 B GB 2404043B GB 0328119 A GB0328119 A GB 0328119A GB 0328119 A GB0328119 A GB 0328119A GB 2404043 B GB2404043 B GB 2404043B
Authority
GB
United Kingdom
Prior art keywords
caching method
program code
shared
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
Application number
GB0328119A
Other versions
GB2404043A (en
GB0328119D0 (en
Inventor
Geraint North
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Transitive Ltd
Original Assignee
Transitive Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Transitive Ltd filed Critical Transitive Ltd
Publication of GB0328119D0 publication Critical patent/GB0328119D0/en
Priority to US10/813,867 priority Critical patent/US7805710B2/en
Priority to TW093120866A priority patent/TWI365406B/en
Priority to JP2006519997A priority patent/JP5419325B2/en
Priority to KR1020067001033A priority patent/KR101107797B1/en
Priority to EP04743394A priority patent/EP1649360A2/en
Priority to PCT/GB2004/003053 priority patent/WO2005008479A2/en
Publication of GB2404043A publication Critical patent/GB2404043A/en
Priority to IL172830A priority patent/IL172830A0/en
Application granted granted Critical
Publication of GB2404043B publication Critical patent/GB2404043B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
GB0328119A 2003-07-15 2003-12-04 Shared code caching method and apparatus for program code conversion Expired - Lifetime GB2404043B (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US10/813,867 US7805710B2 (en) 2003-07-15 2004-03-30 Shared code caching for program code conversion
TW093120866A TWI365406B (en) 2003-07-15 2004-07-13 Shared code caching method and apparatus for program code conversion
JP2006519997A JP5419325B2 (en) 2003-07-15 2004-07-13 Method and apparatus for shared code caching for translating program code
KR1020067001033A KR101107797B1 (en) 2003-07-15 2004-07-13 Shared code caching method and apparatus for program code conversion
EP04743394A EP1649360A2 (en) 2003-07-15 2004-07-13 Shared code caching method and apparatus for program code conversion
PCT/GB2004/003053 WO2005008479A2 (en) 2003-07-15 2004-07-13 Shared code caching method and apparatus for program code conversion
IL172830A IL172830A0 (en) 2003-07-15 2005-12-26 Shared code caching method and apparatus for 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
GB0328119D0 GB0328119D0 (en) 2004-01-07
GB2404043A GB2404043A (en) 2005-01-19
GB2404043B true GB2404043B (en) 2006-04-12

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 (1)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
GB0328121A Expired - Lifetime GB2404044B (en) 2003-07-15 2003-12-04 Method and apparatus for partitioning code in 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)

* Cited by examiner, † Cited by third party
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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0737914A1 (en) * 1995-04-13 1996-10-16 International Business Machines Corporation Method and apparatus for transparent emulation of an instruction-set architecture
WO1998000779A1 (en) * 1996-06-28 1998-01-08 Advanced Micro Devices, Inc. A microprocessor configured to translate instructions from one instruction set to another, to store and execute the translated instructions
EP0930572A2 (en) * 1998-01-06 1999-07-21 Hewlett-Packard Company Code cache management
US20020133810A1 (en) * 2001-03-15 2002-09-19 Aaron Giles Method for hybrid processing of software instructions of an emulated computer system
US6615300B1 (en) * 2000-06-19 2003-09-02 Transmeta Corporation Fast look-up of indirect branch destination in a dynamic translation system
GB2393274A (en) * 2002-09-20 2004-03-24 Advanced Risc Mach Ltd Efficient translation in a data processing system having an external and an internal instruction set

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
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
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6339822B1 (en) * 1998-10-02 2002-01-15 Advanced Micro Devices, Inc. Using padded instructions in a block-oriented cache
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
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
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
US20030093775A1 (en) * 2001-11-14 2003-05-15 Ronald Hilton Processing of self-modifying code under emulation
GB2400937B (en) * 2003-04-22 2005-05-18 Transitive Ltd Method and apparatus for performing interpreter optimizations during program code conversion

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0737914A1 (en) * 1995-04-13 1996-10-16 International Business Machines Corporation Method and apparatus for transparent emulation of an instruction-set architecture
WO1998000779A1 (en) * 1996-06-28 1998-01-08 Advanced Micro Devices, Inc. A microprocessor configured to translate instructions from one instruction set to another, to store and execute the translated instructions
EP0930572A2 (en) * 1998-01-06 1999-07-21 Hewlett-Packard Company Code cache management
US6615300B1 (en) * 2000-06-19 2003-09-02 Transmeta Corporation Fast look-up of indirect branch destination in a dynamic translation system
US20020133810A1 (en) * 2001-03-15 2002-09-19 Aaron Giles Method for hybrid processing of software instructions of an emulated computer system
GB2393274A (en) * 2002-09-20 2004-03-24 Advanced Risc Mach Ltd Efficient translation in a data processing system having an external and an internal instruction set

Also Published As

Publication number Publication date
GB0316532D0 (en) 2003-08-20
CN1823322A (en) 2006-08-23
GB2404043A (en) 2005-01-19
CN100458687C (en) 2009-02-04
HK1068699A1 (en) 2005-04-29
GB2404044A (en) 2005-01-19
GB0328121D0 (en) 2004-01-07
HK1068698A1 (en) 2005-04-29
CN1836210A (en) 2006-09-20
CN100362475C (en) 2008-01-16
TW200515280A (en) 2005-05-01
IL172830A0 (en) 2006-06-11
GB0328119D0 (en) 2004-01-07
GB2404044B (en) 2006-07-26
TWI365406B (en) 2012-06-01
TW200516497A (en) 2005-05-16
TWI362614B (en) 2012-04-21

Similar Documents

Publication Publication Date Title
IL172830A0 (en) Shared code caching method and apparatus for program code conversion
IL162696A0 (en) Apparatus and method for endoscopiccolectomy
GB2397762B (en) Apparatus and method for hair-thickening
GB2406629B (en) Connecting rod apparatus & method
SG108299A1 (en) Method and apparatus for forming periodic structures
GB2412464B (en) Method and system for using caches
GB2391736B (en) Image encoding apparatus, image encoding method and program
GB0329510D0 (en) Apparatus & method
GB0326118D0 (en) Apparatus and method
GB0320541D0 (en) Structural design apparatus and method therefor
GB0327981D0 (en) De-blistering apparatus and method
HK1077389A1 (en) Code conversion method and device for code conversion
GB0305023D0 (en) Apparatus and method
GB0315475D0 (en) Apparatus and method
GB2408893B (en) Method and apparatus for survivor location
GB2400937B (en) Method and apparatus for performing interpreter optimizations during program code conversion
GB0311049D0 (en) Apparatus and method
GB0313968D0 (en) De-Infestation method and apparatus
GB0303973D0 (en) Method and apparatus
GB0319792D0 (en) Method and apparatus
GB0317220D0 (en) Apparatus and method
GB0313439D0 (en) Apparatus and method
AU2003285516A8 (en) Analytical method and apparatus
GB0227748D0 (en) Movement determination apparatus and method
GB0313783D0 (en) Apparatus and method

Legal Events

Date Code Title Description
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1068699

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1068699

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