WO2001022213A3 - Optimized bytecode interpreter of virtual machine instructions - Google Patents

Optimized bytecode interpreter of virtual machine instructions Download PDF

Info

Publication number
WO2001022213A3
WO2001022213A3 PCT/EP2000/008976 EP0008976W WO0122213A3 WO 2001022213 A3 WO2001022213 A3 WO 2001022213A3 EP 0008976 W EP0008976 W EP 0008976W WO 0122213 A3 WO0122213 A3 WO 0122213A3
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
operation codes
interpreter
machine instructions
bytecode
Prior art date
Application number
PCT/EP2000/008976
Other languages
French (fr)
Other versions
WO2001022213A2 (en
Inventor
Fabio Riccardi
Original Assignee
Koninkl Philips Electronics Nv
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 Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Priority to KR1020017006400A priority Critical patent/KR20010080525A/en
Priority to JP2001525514A priority patent/JP2003510681A/en
Priority to EP00966006A priority patent/EP1183598A2/en
Publication of WO2001022213A2 publication Critical patent/WO2001022213A2/en
Publication of WO2001022213A3 publication Critical patent/WO2001022213A3/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
    • 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/451Stack data

Landscapes

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

Abstract

The invention relates to a method of optimizing interpreted programs, in a virtual machine interpreter of a bytecode-based language, comprising means for dynamically reconfiguring said virtual machine with macro operation codes by replacing an original sequence of simple operation codes with a new sequence of said macro operation codes. The virtual machine interpreter is coded as an indirect threading interpreter thanks to a translation table containing the implementation addresses of the operation codes for translating the bytecodes into the operation code's implementation addresses. Application: embedded systems using any bytecode-based programming language, set to box for interactive video transmissions.
PCT/EP2000/008976 1999-09-21 2000-09-13 Optimized bytecode interpreter of virtual machine instructions WO2001022213A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020017006400A KR20010080525A (en) 1999-09-21 2000-09-13 Optimized bytecode interpreter of virtual machine instructions
JP2001525514A JP2003510681A (en) 1999-09-21 2000-09-13 Optimized bytecode interpreter for virtual machine instructions
EP00966006A EP1183598A2 (en) 1999-09-21 2000-09-13 Optimized bytecode interpreter of virtual machine instructions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99402309.1 1999-09-21
EP99402309 1999-09-21

Publications (2)

Publication Number Publication Date
WO2001022213A2 WO2001022213A2 (en) 2001-03-29
WO2001022213A3 true WO2001022213A3 (en) 2001-11-29

Family

ID=8242118

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2000/008976 WO2001022213A2 (en) 1999-09-21 2000-09-13 Optimized bytecode interpreter of virtual machine instructions

Country Status (5)

Country Link
EP (1) EP1183598A2 (en)
JP (1) JP2003510681A (en)
KR (1) KR20010080525A (en)
CN (1) CN1173262C (en)
WO (1) WO2001022213A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996813B1 (en) 2000-10-31 2006-02-07 Sun Microsystems, Inc. Frameworks for loading and execution of object-based programs
US7096466B2 (en) 2001-03-26 2006-08-22 Sun Microsystems, Inc. Loading attribute for partial loading of class files into virtual machines
US6957428B2 (en) 2001-03-27 2005-10-18 Sun Microsystems, Inc. Enhanced virtual machine instructions
US7543288B2 (en) 2001-03-27 2009-06-02 Sun Microsystems, Inc. Reduced instruction set for Java virtual machines
FR2828296B1 (en) * 2001-08-03 2003-12-12 Trusted Logic OBJECT CODE COMPRESSION METHOD INTERPRETED BY FACTORING TREE EXPRESSIONS
US6988261B2 (en) 2001-08-24 2006-01-17 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions in Java computing environments
US7039904B2 (en) 2001-08-24 2006-05-02 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for storing values into local variables
US7228533B2 (en) 2001-08-24 2007-06-05 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for performing programming loops
US7058934B2 (en) 2001-08-24 2006-06-06 Sun Microsystems, Inc. Frameworks for generation of Java macro instructions for instantiating Java objects
FR2829252B1 (en) * 2001-08-30 2004-10-01 Gemplus Card Int COMPRESSION OF AN INTERMEDIATE LANGUAGE PROGRAM
EP1308838A3 (en) * 2001-10-31 2007-12-19 Aplix Corporation Intermediate code preprocessing apparatus, intermediate code execution apparatus, intermediate code execution system, and computer program product for preprocessing or executing intermediate code
US7275240B2 (en) * 2003-01-08 2007-09-25 Microsoft Corporation Method and system for recording macros in a language independent syntax
CN100356326C (en) * 2003-03-21 2007-12-19 清华大学 Method for transfering Java line based on recovering of operation stack record
KR100597413B1 (en) * 2004-09-24 2006-07-05 삼성전자주식회사 Method for translating Java bytecode and Java interpreter using the same
KR100678912B1 (en) * 2005-10-18 2007-02-05 삼성전자주식회사 Method for interpreting method bytecode and system by the same
IN2012DN01256A (en) * 2009-07-14 2015-05-15 Unisys Corp
CN102662830A (en) * 2012-03-20 2012-09-12 湖南大学 Code reuse attack detection system based on dynamic binary translation framework
CN110262533B (en) * 2019-06-25 2021-06-15 哈尔滨工业大学 Modular reconfigurable satellite self-reconfiguration method and device based on hierarchical task network planning and computer storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778232A (en) * 1996-07-03 1998-07-07 Hewlett-Packard Company Automatic compiler restructuring of COBOL programs into a proc per paragraph model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778232A (en) * 1996-07-03 1998-07-07 Hewlett-Packard Company Automatic compiler restructuring of COBOL programs into a proc per paragraph model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PIUMARTA I ET AL: "OPTIMIZING DIRECT THREADED CODE BY SELECTIVE INLINING", ACM SIGPLAN NOTICES,US,ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, vol. 33, no. 5, 1 May 1998 (1998-05-01), pages 291 - 300, XP000766278, ISSN: 0362-1340 *

Also Published As

Publication number Publication date
KR20010080525A (en) 2001-08-22
EP1183598A2 (en) 2002-03-06
WO2001022213A2 (en) 2001-03-29
JP2003510681A (en) 2003-03-18
CN1347525A (en) 2002-05-01
CN1173262C (en) 2004-10-27

Similar Documents

Publication Publication Date Title
WO2001022213A3 (en) Optimized bytecode interpreter of virtual machine instructions
CA2267482A1 (en) Report program language source code translation to object-oriented language source code which emulates report program language behaviour
WO2000010081A3 (en) Method and apparatus of translating and executing native code in a virtual machine environment
WO2004095264A3 (en) Method and apparatus for performing interpreter optimizations during program code conversion
WO2003040918A1 (en) Jit compiler-equipped virtual computer, operation method thereof, and terminal apparatus having the virtual computer
EP0990965A3 (en) Program cooperative execution apparatus
MX9805725A (en) Distributed processing.
AU3759699A (en) Encoding machine-specific optimizations in generic byte code by using local variables as pseudo-registers
CA2408819A1 (en) Machine translation techniques
WO1997023823A3 (en) Machine code format translation
AU2002347560A1 (en) Data processing method
WO2000022505A3 (en) Extending program languages with source-program attributes
ZA200203437B (en) Video gaming apparatus for wagering with universal computerized controller and i/o interface for unique architecture.
WO2005026947A3 (en) Managing processing within computing environments including initiation of virtual machines
WO2006124242A3 (en) Function-level just-in-time translation engine with multiple pass optimization
WO2003083709A3 (en) Statistical machine translation
MY116751A (en) Processor for executing highly efficient vliw
HK1013130A1 (en) Esterified high lignin content cellulosic fibers
GB0511414D0 (en) Method and apparatus for combined execution of native code and target code during program code conversion
ES2135075T3 (en) DYNAMIC SCHEME OF USER INTERRUPTIONS IN A PROGRAMMABLE LOGIC CONTROLLER.
TW200515280A (en) Shared code caching method and apparatus for program code conversion
GB0324568D0 (en) Reduced instruction set for java virtual machines
WO2002015003A3 (en) Method and apparatus for caching native code in a virtual machine interpreter
WO2002065276A3 (en) Apparatus and method for effecting changes in program control flow
WO2002073326A3 (en) Method for the remote control programming of machine controllers and machine controller for carrying out said method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00802974.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): CN IN JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 2000966006

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2001 525514

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2001/696/CHE

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020017006400

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1020017006400

Country of ref document: KR

AK Designated states

Kind code of ref document: A3

Designated state(s): CN IN JP KR

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWP Wipo information: published in national office

Ref document number: 2000966006

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000966006

Country of ref document: EP