GB2400937B - Method and apparatus for performing interpreter optimizations during program code conversion - Google Patents

Method and apparatus for performing interpreter optimizations during program code conversion

Info

Publication number
GB2400937B
GB2400937B GB0320716A GB0320716A GB2400937B GB 2400937 B GB2400937 B GB 2400937B GB 0320716 A GB0320716 A GB 0320716A GB 0320716 A GB0320716 A GB 0320716A GB 2400937 B GB2400937 B GB 2400937B
Authority
GB
United Kingdom
Prior art keywords
program code
code conversion
during program
optimizations during
performing interpreter
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
GB0320716A
Other versions
GB2400937A (en
GB0320716D0 (en
Inventor
Gavin Barraclough
Gisle Dankel
Matthew L Evans
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
Priority claimed from GBGB0309056.0A external-priority patent/GB0309056D0/en
Application filed by Transitive Ltd filed Critical Transitive Ltd
Publication of GB0320716D0 publication Critical patent/GB0320716D0/en
Priority to US10/732,764 priority Critical patent/US7536682B2/en
Priority to TW093111116A priority patent/TWI377502B/en
Priority to CN2004800159402A priority patent/CN1802632B/en
Priority to PCT/GB2004/001725 priority patent/WO2004095264A2/en
Priority to JP2006506161A priority patent/JP4844971B2/en
Publication of GB2400937A publication Critical patent/GB2400937A/en
Publication of GB2400937B publication Critical patent/GB2400937B/en
Application granted granted Critical
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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
GB0320716A 2003-04-22 2003-09-04 Method and apparatus for performing interpreter optimizations during program code conversion Expired - Lifetime GB2400937B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/732,764 US7536682B2 (en) 2003-04-22 2003-12-10 Method and apparatus for performing interpreter optimizations during program code conversion
TW093111116A TWI377502B (en) 2003-04-22 2004-04-21 Method and apparatus for performing interpreter optimizations during program code conversion
JP2006506161A JP4844971B2 (en) 2003-04-22 2004-04-22 Method and apparatus for performing interpreter optimization during program code conversion
PCT/GB2004/001725 WO2004095264A2 (en) 2003-04-22 2004-04-22 Method and apparatus for performing interpreter optimizations during program code conversion
CN2004800159402A CN1802632B (en) 2003-04-22 2004-04-22 Method and apparatus for performing interpreter optimizations during program code conversion

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0309056.0A GB0309056D0 (en) 2003-04-22 2003-04-22 Block translation optimizations for program code conversion
GBGB0315164.4A GB0315164D0 (en) 2003-04-22 2003-06-30 Block translation optimizations for program code conversion

Publications (3)

Publication Number Publication Date
GB0320716D0 GB0320716D0 (en) 2003-10-08
GB2400937A GB2400937A (en) 2004-10-27
GB2400937B true GB2400937B (en) 2005-05-18

Family

ID=29252470

Family Applications (3)

Application Number Title Priority Date Filing Date
GB0320716A Expired - Lifetime GB2400937B (en) 2003-04-22 2003-09-04 Method and apparatus for performing interpreter optimizations during program code conversion
GB0320718A Expired - Lifetime GB2400938B (en) 2003-04-22 2003-09-04 Method and apparatus for performing lazy byteswapping optimizations during program code conversion
GB0322323A Expired - Lifetime GB2400939B (en) 2003-04-22 2003-09-24 Partial dead code elimination optimizations for program code conversion

Family Applications After (2)

Application Number Title Priority Date Filing Date
GB0320718A Expired - Lifetime GB2400938B (en) 2003-04-22 2003-09-04 Method and apparatus for performing lazy byteswapping optimizations during program code conversion
GB0322323A Expired - Lifetime GB2400939B (en) 2003-04-22 2003-09-24 Partial dead code elimination optimizations for program code conversion

Country Status (2)

Country Link
GB (3) GB2400937B (en)
HK (2) HK1066290A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0316532D0 (en) * 2003-07-15 2003-08-20 Transitive Ltd Method and apparatus for partitioning code in program code conversion
US7934204B2 (en) 2003-07-15 2011-04-26 International Business Machines Corporation Partitioning code in program code conversion
EP1752874A1 (en) 2005-07-19 2007-02-14 Alcatel Adaptive evolutionary computer software product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652889A (en) * 1991-03-07 1997-07-29 Digital Equipment Corporation Alternate execution and interpretation of computer program having code at unknown locations due to transfer instructions having computed destination addresses
WO2001027751A1 (en) * 1999-10-13 2001-04-19 Transmeta Corporation Method of changing modes of code generation
GB2367652A (en) * 2000-10-05 2002-04-10 Advanced Risc Mach Ltd Scheduling control within a system having mixed hardware and software based instruction execution

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999737A (en) * 1994-03-01 1999-12-07 Digital Equipment Corporation Link time optimization via dead code elimination, code motion, code partitioning, code grouping, loop analysis with code motion, loop invariant analysis and active variable to register analysis
US5970236A (en) * 1995-11-14 1999-10-19 Compaq Computer Corporation Circuit for selectively performing data format conversion
WO1997044739A1 (en) * 1996-05-23 1997-11-27 Advanced Micro Devices, Inc. Apparatus for converting data between different endian formats and system and method employing same
US6484188B1 (en) * 1999-12-30 2002-11-19 Intel Corporation Optimization of garbage collection code in the context of raw native interface function calls in the java programming language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652889A (en) * 1991-03-07 1997-07-29 Digital Equipment Corporation Alternate execution and interpretation of computer program having code at unknown locations due to transfer instructions having computed destination addresses
WO2001027751A1 (en) * 1999-10-13 2001-04-19 Transmeta Corporation Method of changing modes of code generation
GB2367652A (en) * 2000-10-05 2002-04-10 Advanced Risc Mach Ltd Scheduling control within a system having mixed hardware and software based instruction execution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Proceedings of the Ninth Conference on Reverse Engineering, 29 Oct - 1 Nov 2002, Troger and Cifuentes, "Analysis of virtual method invocation for binary translation" pages 65-74 *

Also Published As

Publication number Publication date
GB2400939A (en) 2004-10-27
GB2400938A (en) 2004-10-27
GB0320718D0 (en) 2003-10-08
HK1066292A1 (en) 2005-03-18
GB2400937A (en) 2004-10-27
GB2400939B (en) 2005-11-16
GB0322323D0 (en) 2003-10-22
GB0320716D0 (en) 2003-10-08
HK1066290A1 (en) 2005-03-18
GB2400938B (en) 2005-07-06

Similar Documents

Publication Publication Date Title
HK1068698A1 (en) Method and apparatus for partitioning code in program code conversion
GB0419003D0 (en) Method and apparatus for inserting code
EP1829223A4 (en) Apparatus and method for decoding using channel code
TWI370990B (en) Method and apparatus for performing native binding
IL175174A0 (en) Method, software and apparatus for application upgrade during execution
GB0513303D0 (en) Program parallelizing apparatus, program parallelizing method, and program parallelizing program
GB0513301D0 (en) Program parallelizing apparatus, program parallelizing method, and program parallelizing program
EP1623328A4 (en) Apparatus, method, and program for executing protocol converting process
HK1118356A1 (en) Method and apparatus of execution control during program code conversion
GB0513305D0 (en) Program parallelizing apparatus, program parallelizing method, and program parallelizing program
GB2397762B (en) Apparatus and method for hair-thickening
EP1697925A4 (en) Method and apparatus for speech coding
HK1083139A1 (en) Apparatus and method for performing repeat string operations
EP1803510A4 (en) Method and apparatus for bending
GB2400937B (en) Method and apparatus for performing interpreter optimizations during program code conversion
GB0427872D0 (en) Apparatus & method
EP1617411A4 (en) Code conversion method and device
GB0320541D0 (en) Structural design apparatus and method therefor
AU2002347420A8 (en) Grouting method and apparatus therefor
TWI367374B (en) Apparatus for applying solution and method for applying solution
GB2403432B (en) Distillation apparatus and method
HK1077389A1 (en) Code conversion method and device for code conversion
ZA200407395B (en) Method and apparatus for malting.
GB2408287B (en) Method and reusable guide frame for building extension base
GB0305091D0 (en) Demolition 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: 1066292

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1066292

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: 20230903