GB2384089A - Method and apparatus for increasing performance of an interpreter - Google Patents
Method and apparatus for increasing performance of an interpreterInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract 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.
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)
| 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)
| 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 |
-
2001
- 2001-11-08 WO PCT/US2001/046840 patent/WO2002052409A2/en not_active Ceased
- 2001-11-08 GB GB0308866A patent/GB2384089B/en not_active Expired - Fee Related
- 2001-11-08 AU AU2002245075A patent/AU2002245075A1/en not_active Abandoned
Non-Patent Citations (1)
| 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 |