[go: up one dir, main page]

GB2384089A - Method and apparatus for increasing performance of an interpreter - Google Patents

Method and apparatus for increasing performance of an interpreter

Info

Publication number
GB2384089A
GB2384089A GB0308866A GB0308866A GB2384089A GB 2384089 A GB2384089 A GB 2384089A GB 0308866 A GB0308866 A GB 0308866A GB 0308866 A GB0308866 A GB 0308866A GB 2384089 A GB2384089 A GB 2384089A
Authority
GB
United Kingdom
Prior art keywords
code
executed
sequence
cache
loop
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.)
Granted
Application number
GB0308866A
Other versions
GB2384089B (en
GB0308866D0 (en
Inventor
David Wallman
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of GB0308866D0 publication Critical patent/GB0308866D0/en
Publication of GB2384089A publication Critical patent/GB2384089A/en
Application granted granted Critical
Publication of GB2384089B publication Critical patent/GB2384089B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)

Abstract

One embodiment of the present invention provides a system for increasing the performance of a platform-independent virtual machine in executing a sequence of platform-independent codes (pi-codes) generated by a high-level language compiler The system operates by first obtaining a pi-code to be executed by the platform-independent virtual machine. Next, the system locates a sequence of native code instructions that, when executed, will perform the action required by the pi-code. The system then executes the sequence of native code instructions. After the code has been executed, the system stores a copy of the sequence of native code instructions associated with the pi-code in a cache. Finally, if the pi-code defines a loop, the system saves a pointer to a beginning of the loop within the cache which, when used as a reference during execution, will cause the loop to be executed from the cache rather than from the pi-code.
GB0308866A 2000-11-13 2001-11-08 Method and apparatus for increasing performance of an interpreter Expired - Fee Related GB2384089B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71276100A 2000-11-13 2000-11-13
PCT/US2001/046840 WO2002052409A2 (en) 2000-11-13 2001-11-08 Method and apparatus for increasing performance of an interpreter

Publications (3)

Publication Number Publication Date
GB0308866D0 GB0308866D0 (en) 2003-05-21
GB2384089A true GB2384089A (en) 2003-07-16
GB2384089B GB2384089B (en) 2005-07-13

Family

ID=24863448

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0308866A Expired - Fee Related GB2384089B (en) 2000-11-13 2001-11-08 Method and apparatus for increasing performance of an interpreter

Country Status (3)

Country Link
AU (1) AU2002245075A1 (en)
GB (1) GB2384089B (en)
WO (1) WO2002052409A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0316531D0 (en) 2003-07-15 2003-08-20 Transitive Ltd Method and apparatus for performing native binding
US7434209B2 (en) * 2003-07-15 2008-10-07 Transitive Limited Method and apparatus for performing native binding to execute native code
CN107179935B (en) * 2016-03-11 2021-01-29 华为技术有限公司 Instruction execution method and virtual machine
PL3427148T3 (en) 2016-03-11 2022-05-09 Lzlabs Gmbh Load module compiler

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4991088A (en) * 1988-11-30 1991-02-05 Vlsi Technology, Inc. Method for optimizing utilization of a cache memory
US5768593A (en) * 1996-03-22 1998-06-16 Connectix Corporation Dynamic cross-compilation system and method
EP0991994A4 (en) * 1997-06-25 2001-11-28 Transmeta Corp Improved microprocessor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOT YET ADVISED *

Also Published As

Publication number Publication date
WO2002052409A3 (en) 2004-02-26
WO2002052409A2 (en) 2002-07-04
GB2384089B (en) 2005-07-13
GB0308866D0 (en) 2003-05-21
AU2002245075A1 (en) 2002-07-08

Similar Documents

Publication Publication Date Title
GB2384088A (en) Streamlining ata device intialization
EP1046995A3 (en) Method and apparatus for debugging optimized code
EP4300290A3 (en) System and method for compiling high-level language code into a script executable on a blockchain platform
WO2002063471A3 (en) A method and apparatus for the compilation of an interpretative language for interactive television
US6470493B1 (en) Computer method and apparatus for safe instrumentation of reverse executable program modules
EP1118940A3 (en) Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
EP1194855A4 (en) Method and apparatus for enhancing scheduling in an advanced microprocessor
EP1398695A3 (en) Compiler
EP1168164A3 (en) Method of updating program in stored program control unit, and stored control program unit
EP0899656A3 (en) Program conversion apparatus for constant reconstructing VLIW processor
EP0651327A3 (en) Recompilation of computer programs for enhanced optimization
WO2005029241A3 (en) Automated safe secure techniques for eliminating
SG95605A1 (en) Data processor system and instruction system using grouping
ATE269990T1 (en) GENERATION OF COMPILED PROGRAMS FOR INTERPRETATIVE RUNTIME ENVIRONMENTS
EP1168168A3 (en) Virtual hardware machine methods and devices
EP0938044A3 (en) Methods and apparatus for reducing interference in a branch history table of a microprocessor
CN101344857B (en) Apparatus and method for accelerating Java translation
WO2001052061A3 (en) Method and apparatus for using an assist processor to pre-fetch data values for a primary processor
ATE493704T1 (en) METHOD AND DEVICE FOR USING AN AUXILIARY COMPUTER FOR COMMAND FETCHING FOR A MAIN PROCESSOR
GB2384089A (en) Method and apparatus for increasing performance of an interpreter
WO2001037080A3 (en) Method and apparatus for performing prefetching at the critical section level
WO2003032157A1 (en) Compiler
WO2002029564A3 (en) System and method for insertion of prefetch instructions by a compiler
CN103106356A (en) Method for generating code in safe environment and improving software protection intensity
TW200511115A (en) Method and apparatus for instruction compression and decompression in a cache memory

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20071108