GB2400938B - Method and apparatus for performing lazy byteswapping optimizations during program code conversion - Google Patents

Method and apparatus for performing lazy byteswapping optimizations during program code conversion

Info

Publication number
GB2400938B
GB2400938B GB0320718A GB0320718A GB2400938B GB 2400938 B GB2400938 B GB 2400938B GB 0320718 A GB0320718 A GB 0320718A GB 0320718 A GB0320718 A GB 0320718A GB 2400938 B GB2400938 B GB 2400938B
Authority
GB
United Kingdom
Prior art keywords
program code
code conversion
during program
optimizations during
lazy byteswapping
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
GB0320718A
Other versions
GB0320718D0 (en
GB2400938A (en
Inventor
William Owen Lovett
Alex Brown
Gavin Barraclough
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 GB0320718D0 publication Critical patent/GB0320718D0/en
Priority to US10/735,402 priority Critical patent/US7200841B2/en
Priority to TW093111118A priority patent/TWI317504B/en
Priority to PCT/GB2004/001744 priority patent/WO2004095265A2/en
Publication of GB2400938A publication Critical patent/GB2400938A/en
Application granted granted Critical
Publication of GB2400938B publication Critical patent/GB2400938B/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
    • 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)
GB0320718A 2003-04-22 2003-09-04 Method and apparatus for performing lazy byteswapping optimizations during program code conversion Expired - Lifetime GB2400938B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/735,402 US7200841B2 (en) 2003-04-22 2003-12-12 Method and apparatus for performing lazy byteswapping optimizations during program code conversion
TW093111118A TWI317504B (en) 2003-04-22 2004-04-21 Method, apparatus and computer-readable storage medium having computer-readable code executable for performing lazy byteswapping optimizations during program code conversion
PCT/GB2004/001744 WO2004095265A2 (en) 2003-04-22 2004-04-22 Method and apparatus for performing lazy byteswapping 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
GB0320718D0 GB0320718D0 (en) 2003-10-08
GB2400938A GB2400938A (en) 2004-10-27
GB2400938B true GB2400938B (en) 2005-07-06

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

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
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) HK1066292A1 (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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867690A (en) * 1996-05-23 1999-02-02 Advanced Micro Devices, Inc. Apparatus for converting data between different endian formats and system and method employing same
US5970236A (en) * 1995-11-14 1999-10-19 Compaq Computer Corporation Circuit for selectively performing data format conversion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
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
US6880152B1 (en) * 1999-10-13 2005-04-12 Transmeta Corporation Method of determining a mode of code generation
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
GB2367652B (en) * 2000-10-05 2004-08-11 Advanced Risc Mach Ltd Scheduling control within a system having mixed hardware and software based instruction execution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970236A (en) * 1995-11-14 1999-10-19 Compaq Computer Corporation Circuit for selectively performing data format conversion
US5867690A (en) * 1996-05-23 1999-02-02 Advanced Micro Devices, Inc. Apparatus for converting data between different endian formats and system and method employing same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Executor Internals: How to Efficiently Run Mac Programs on PCs", 1996, M Hostetter and C Matthews, obtained from http://www.ardi.com/MacHack_96.html *
www.ardi.com/SysPaper/node5.html *

Also Published As

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

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
SG114711A1 (en) Method and apparatus for raid conversion
HK1092234A1 (en) Method and apparatus for incremental code signing
EP1721389A4 (en) Method and apparatus for communications using turbo like codes
GB0309056D0 (en) Block translation optimizations for program code conversion
IL217301A0 (en) Decoding method and decoding apparatus
GB0519752D0 (en) Decoding apparatus and decoding method
EP1657922A4 (en) Reproducing apparatus, method and program
GB2397762B (en) Apparatus and method for hair-thickening
EP1599043A4 (en) Code conversion method and device thereof
HK1083139A1 (en) Apparatus and method for performing repeat string operations
GB0412906D0 (en) Data compilation apparatus and method
EP1803510A4 (en) Method and apparatus for bending
GB0419465D0 (en) Method and apparatus for programming and reading codes
GB2400938B (en) Method and apparatus for performing lazy byteswapping optimizations during program code conversion
GB0427872D0 (en) Apparatus & method
EP1617411A4 (en) Code conversion method and device
AU2003223057A8 (en) Method and apparatus for decoding instruction sequences
AU2002347420A8 (en) Grouting method and apparatus therefor
GB2403432B (en) Distillation apparatus and method
HK1077389A1 (en) Code conversion method and device for code conversion
GB2392679B (en) Building and support method and apparatus therefor
EP1681922A4 (en) Method for treating athlet s foot

Legal Events

Date Code Title Description
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1066290

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1066290

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