WO2010121770A3 - Execution process for a programme by a virtual machine, virtual machine code and associated device - Google Patents

Execution process for a programme by a virtual machine, virtual machine code and associated device Download PDF

Info

Publication number
WO2010121770A3
WO2010121770A3 PCT/EP2010/002381 EP2010002381W WO2010121770A3 WO 2010121770 A3 WO2010121770 A3 WO 2010121770A3 EP 2010002381 W EP2010002381 W EP 2010002381W WO 2010121770 A3 WO2010121770 A3 WO 2010121770A3
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
virtual machine
virtual
execution
loop
Prior art date
Application number
PCT/EP2010/002381
Other languages
French (fr)
Other versions
WO2010121770A2 (en
Inventor
Cedric Mesnil
Dominique Bouveron
Original Assignee
Trusted Logic
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 Trusted Logic filed Critical Trusted Logic
Publication of WO2010121770A2 publication Critical patent/WO2010121770A2/en
Publication of WO2010121770A3 publication Critical patent/WO2010121770A3/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention concerns an execution process for a program comprising virtual instructions, executable by a virtual machine, each virtual instruction representing an action. The process comprises: for at least one virtual instruction of the program, called a corrected virtual instruction, beginning to execute a loop of instructions of virtual machine code (112) called an interpretation loop. Complete execution of the interpretation loop enables: determination of the action represented by the current virtual instruction; selection and execution of a translation of the action, comprising at least one real instruction of virtual machine code (112), and being associated with the determined action; selection of a subsequent virtual instruction on which the interpretation loop is intended to be executed; during execution of the interpretation loop for the corrected instruction, before restarting execution of the interpretation loop for a new instruction, searching in a lookup table for a patch associated with the corrected instruction, and commanding execution of the patch.
PCT/EP2010/002381 2009-04-20 2010-04-19 Execution process for a programme by a virtual machine, virtual machine code and associated device WO2010121770A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0952568 2009-04-20
FR0952568 2009-04-20

Publications (2)

Publication Number Publication Date
WO2010121770A2 WO2010121770A2 (en) 2010-10-28
WO2010121770A3 true WO2010121770A3 (en) 2010-12-16

Family

ID=41258437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/002381 WO2010121770A2 (en) 2009-04-20 2010-04-19 Execution process for a programme by a virtual machine, virtual machine code and associated device

Country Status (1)

Country Link
WO (1) WO2010121770A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2660721A1 (en) * 2012-05-03 2013-11-06 Gemalto SA Method of loading an application in a secure device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955578A1 (en) * 1998-05-04 1999-11-10 International Business Machines Corporation Method and device for carrying out a function assigned to an instruction code
US6256752B1 (en) * 1998-07-24 2001-07-03 International Business Machines Corporation Method and apparatus for dynamic swappable bytecode loop in java virtual machines
WO2005069136A1 (en) * 2004-01-20 2005-07-28 Giesecke & Devrient Gmbh The running of a program by a virtual machine
EP1818817A2 (en) * 2006-01-17 2007-08-15 Giesecke & Devrient GmbH Creation of patches via a cache

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955578A1 (en) * 1998-05-04 1999-11-10 International Business Machines Corporation Method and device for carrying out a function assigned to an instruction code
US6256752B1 (en) * 1998-07-24 2001-07-03 International Business Machines Corporation Method and apparatus for dynamic swappable bytecode loop in java virtual machines
WO2005069136A1 (en) * 2004-01-20 2005-07-28 Giesecke & Devrient Gmbh The running of a program by a virtual machine
EP1818817A2 (en) * 2006-01-17 2007-08-15 Giesecke & Devrient GmbH Creation of patches via a cache

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BEATTY A ET AL: "An optimized Java interpreter for connected devices and embedded systems", PROCEEDINGS OF THE ACM SYMPOSIUM ON APPLIED COMPUTING 2003 ASSOCIATION FOR COMPUTING MACHINERY US, 2003, pages 692 - 697, XP002554848 *

Also Published As

Publication number Publication date
WO2010121770A2 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
EP2667300A3 (en) Microprocessor that performs X86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
JP2017073142A5 (en)
WO2005109188A3 (en) Method and apparatus for automatically selecting a software application
WO2013101504A3 (en) Visual command processing
GB2468994A (en) Method, apparatus and computer program product for improved grphics performance
PH12017502338A1 (en) Device and method for controlling the fixation of an in-line thread treatment
AR086602A1 (en) COOPERATOR GROUP SELECTION METHOD AND APPLIANCE
BR112015004118A2 (en) process for enzymatic hydrolysis of lignocellulosic material and sugar fermentation
JP2017539174A5 (en)
MX2011009765A (en) Automatic "spoiler" prevention.
WO2011019203A3 (en) Controlling method of washing machine
WO2011127863A3 (en) Method and device for calling open application programming interface (openapi)
EP2107440A3 (en) Methods and apparatus to execute an auxiliary recipe and a batch recipe associated with a process control system
WO2002015003A3 (en) Method and apparatus for caching native code in a virtual machine interpreter
MY158480A (en) Diagnosing Code Using Single Step Execution
WO2015104635A3 (en) Method and apparatus for performing continuous integration
WO2013170820A3 (en) Terminal and display method thereof
WO2011094006A3 (en) Providing sensory information based on intercepted events
GB2488259A (en) Flash memory controller
GB2520881A (en) Method and apparatus for patching
WO2012041699A3 (en) A method for controlling a drying machine comprising an ordinary drying procedure and the drying machine
WO2012096522A3 (en) Operating method for washing machine
WO2010121770A3 (en) Execution process for a programme by a virtual machine, virtual machine code and associated device
WO2011025324A3 (en) Control method of laundry machine
JP2018191661A5 (en)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10747154

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10747154

Country of ref document: EP

Kind code of ref document: A2