Optimizing symbol table lookups in platform-independent virtual machines
US6446084B1 · kind B1 · utility
Assignee
Inventors
Key dates
| Filing date | Sep 22, 1998 |
| Grant date | Sep 3, 2002 |
| Priority date | — |
| Expiry date | Sep 22, 2018 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F9/4488
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
One embodiment of the present invention provides a method for increasing performance of code executing on a platform-independent virtual machine. The method operates by receiving a request to resolve an entry in a symbol table at run-time, wherein resolving the entry requires multiple lookups into the symbol table. It next determines if the entry has previously been resolved. If so, the system returns a direct pointer to a runtime structure associated with the entry, which was returned during a previous resolution of the entry. If not, the system resolves the entry through multiple lookups into the symbol table to produce a direct pointer to the runtime structure, and replaces the entry with the direct pointer. In a variation on the above embodiment, the symbol table assumes the form of a constant pool within an object-oriented class file defined within the JAVA programming language. The present invention speeds up constant pool resolution substantially without requiring a significant amount of additional space. Therefore, the present invention is especially valuable for embedded JAVA systems or other applications that have strict size limitations.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.