WO2006111705A3 - Method and apparatus for precise handling of exceptions during program code conversion - Google Patents

Method and apparatus for precise handling of exceptions during program code conversion Download PDF

Info

Publication number
WO2006111705A3
WO2006111705A3 PCT/GB2006/001268 GB2006001268W WO2006111705A3 WO 2006111705 A3 WO2006111705 A3 WO 2006111705A3 GB 2006001268 W GB2006001268 W GB 2006001268W WO 2006111705 A3 WO2006111705 A3 WO 2006111705A3
Authority
WO
WIPO (PCT)
Prior art keywords
precise
subject
code
target
exception
Prior art date
Application number
PCT/GB2006/001268
Other languages
French (fr)
Other versions
WO2006111705A2 (en
Inventor
Gavin Barraclough
Kit Man Wan
Abdul Rahman Hummaida
Original Assignee
Transitive Ltd
Gavin Barraclough
Kit Man Wan
Abdul Rahman Hummaida
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 GB0507943A external-priority patent/GB2425372B/en
Application filed by Transitive Ltd, Gavin Barraclough, Kit Man Wan, Abdul Rahman Hummaida filed Critical Transitive Ltd
Priority to JP2008507146A priority Critical patent/JP5182815B2/en
Priority to EP06726671A priority patent/EP1875339A2/en
Priority to KR1020077024128A priority patent/KR101244069B1/en
Priority to CN2006800133115A priority patent/CN101164041B/en
Publication of WO2006111705A2 publication Critical patent/WO2006111705A2/en
Publication of WO2006111705A3 publication Critical patent/WO2006111705A3/en
Priority to IL186161A priority patent/IL186161A/en

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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Abstract

Precise exception handling relies on a precise subject state including an accurate program counter and register values of a subject processor. Subject code (17) is translated into target code (21) executable by a target processor (13). The generated target code (17) includes counterpart target instructions (214) associated with fault-vulnerable subject code instructions (174). Further, each of the counterpart target code instruction (214) is associated with recovery information (195). When an exception (e.g. a fault) occurs, the recovery information (195) is retrieved and used to recover a precise subject state, in particular by taking account of optimizations to generate the common-case target code (21). The precise subject state is then used to precisely handle the exception.
PCT/GB2006/001268 2005-04-20 2006-04-07 Method and apparatus for precise handling of exceptions during program code conversion WO2006111705A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008507146A JP5182815B2 (en) 2005-04-20 2006-04-07 Method for accurately handling exceptions in program code conversion, and apparatus and computer program thereof
EP06726671A EP1875339A2 (en) 2005-04-20 2006-04-07 Method and apparatus for precise handling of exceptions during program code conversion
KR1020077024128A KR101244069B1 (en) 2005-04-20 2006-04-07 Method and apparatus for precise handling of exceptions during program code conversion
CN2006800133115A CN101164041B (en) 2005-04-20 2006-04-07 Method and device for accurately processing abnormity during program code conversion
IL186161A IL186161A (en) 2005-04-20 2007-09-23 Method and apparatus for precise handling of exceptions during program code conversion

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0507943.9 2005-04-20
GB0507943A GB2425372B (en) 2005-04-20 2005-04-20 Method and apparatus for precise handling of exceptions during program code conversion
US11/272,882 2005-11-14
US11/272,882 US8020154B2 (en) 2005-04-20 2005-11-14 Precise handling of exceptions during program code conversion

Publications (2)

Publication Number Publication Date
WO2006111705A2 WO2006111705A2 (en) 2006-10-26
WO2006111705A3 true WO2006111705A3 (en) 2007-03-29

Family

ID=36499316

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2006/001268 WO2006111705A2 (en) 2005-04-20 2006-04-07 Method and apparatus for precise handling of exceptions during program code conversion

Country Status (3)

Country Link
EP (1) EP1875339A2 (en)
KR (1) KR101244069B1 (en)
WO (1) WO2006111705A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2448523B (en) * 2007-04-19 2009-06-17 Transitive Ltd Apparatus and method for handling exception signals in a computing system
CN102165428B (en) * 2008-08-13 2015-05-20 高通股份有限公司 Software application performance enhancement
CN105949177B (en) 2010-05-03 2019-02-01 默克专利有限公司 Preparation and electronic device
WO2014155684A1 (en) 2013-03-29 2014-10-02 富士通株式会社 Program, information processing system, and program migration method
CN106250316A (en) * 2016-08-09 2016-12-21 东软集团股份有限公司 A kind of endless loop detection method and device
CN117555555B (en) * 2024-01-11 2024-04-12 龙芯中科技术股份有限公司 Exception processing method, device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772122A2 (en) * 1991-03-07 1997-05-07 Digital Equipment Corporation Method for translating a first program code to a second program code and a system for executing a second program code
US5787241A (en) * 1995-12-18 1998-07-28 Integrated Device Technology, Inc. Method and apparatus for locating exception correction routines
WO2001027752A1 (en) * 1999-10-13 2001-04-19 Transmeta Corporation A method for translating instructions in a speculative microprocessor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772122A2 (en) * 1991-03-07 1997-05-07 Digital Equipment Corporation Method for translating a first program code to a second program code and a system for executing a second program code
US5787241A (en) * 1995-12-18 1998-07-28 Integrated Device Technology, Inc. Method and apparatus for locating exception correction routines
WO2001027752A1 (en) * 1999-10-13 2001-04-19 Transmeta Corporation A method for translating instructions in a speculative microprocessor

Also Published As

Publication number Publication date
WO2006111705A2 (en) 2006-10-26
KR20070121785A (en) 2007-12-27
EP1875339A2 (en) 2008-01-09
KR101244069B1 (en) 2013-03-18

Similar Documents

Publication Publication Date Title
TW200710731A (en) Method and apparatus for precise handling of exceptions during program code conversion
WO2006111705A3 (en) Method and apparatus for precise handling of exceptions during program code conversion
WO2007064419A3 (en) Remote execution of actions transparent to a user at registered remote entities in real-time
GB2404756B (en) Improved diagnostic monitor for use with an operating system and methods therefor
GB2398897B (en) Improved diagnostic exerciser and methods therefor
GB2447968B (en) Improvements in and relating to floating point operations
EP1832976A4 (en) Software update program, software update device, and software update method
WO2007062984A3 (en) Software thermal profile generation
EP2017983A4 (en) A debugging method and apparatus for performing telecom class service development based on model driven
TW200641520A (en) Method and apparatus for determining an improved assist feature configuration in a mask layout
WO2010014981A3 (en) Method and apparatus for detection and optimization of presumably parallel program regions
WO2008078366A1 (en) Data verifying device, data verifying method, and data verifying program
AU2003301782A1 (en) Method and apparatus for performing validation of program code conversion
WO2006086713A3 (en) Conditional instruction execution via emissary instruction for condition evaluation
CA2736072A1 (en) Handheld electronic device and associated method providing time data in a messaging environment
TW200713032A (en) Methods and apparatus for dynamically switching processor mode
WO2012088171A3 (en) Method for checkpointing and restoring program state
WO2006031724A3 (en) A method and system for providing technical support relating to an imaging cartridge
WO2008014099A3 (en) A method for contextual assistance management
WO2012036394A3 (en) Follow-up control method of a product by using a portable device
WO2008039321A3 (en) Iterative process with rotated architecture for reduced pipeline dependency
WO2007025937A3 (en) Adaptive processor utilization reporting handling different processor frequencies
WO2006102379A3 (en) Processor and method of grouping and executing dependent instructions in a packet
TW200627145A (en) Updating instruction fault status register
WO2004111838A3 (en) Method and data processor for reduced pipeline stalling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 186161

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2008507146

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200680013311.5

Country of ref document: CN

Ref document number: 1020077024128

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006726671

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Ref document number: RU

WWP Wipo information: published in national office

Ref document number: 2006726671

Country of ref document: EP