Browse Prior Art Database

Improvement to stack caching for interpreters

IP.com Disclosure Number: IPCOM000012865D
Original Publication Date: 2003-Jun-04
Included in the Prior Art Database: 2003-Jun-04
Document File: 1 page(s) / 40K

Publishing Venue

IBM

Abstract

Disclosed is an improvement on stack caching interpreters.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Improvement to stack caching for interpreters

  An advanced form of interpreter for stack based bytecodes is the caching interpreters such as in Anton Ertl, Stack Caching for Interpreters, PLDI 1995. The Java* Virtual Machine (JVM) differs from normal stack machines in that is makes extensive use of locals. The locals are used to reduce the number of stack manipulations and also provide for an easly identified target for register caching using Just-In-Time (JIT) compilers. Locals are also used to to pass the arguments to functions. This means that the caller must store the arguments into locals and the caller must move the locals back to the stack before any computation can be performed on parameters. This invention is to use registers for the first n locals in a stack caching interpreter. Common instructions such as load from local and write to local become efficient register copies within the interpreter. This reduction in memory accesses is done without an increase in the number of states. Significant performance gains are acheived by reducing common local to/from stack bytecodes to simple register exchanges.

This performance enhancement is often seen on JIT compilers. This invention can be applied to interpreters which can be an advantage in embeded environments.

*Trademark of Sun Microsystems, Incorporated

Disclosed by International Business Machines Corporation

1