Contents Prev Next Up
The Java Virtual Machine
Limitations
The Java virtual machine design imposes some limitations on Java implementations based on it.
- 32-bit pointers and stacks limit the Java virtual machine's internal addressing to 4G
- Signed 16-bit offsets (e.g. ifeq) for branch and jump instructions limit the size of an Java method to 32k
- Unsigned 8-bit local variable indices limit the number of local variables per Java stack frame to 256
- Signed 16-bit indices into the constant pool limit the number of constant pool entries per method to 32k
For _quick instructions only [See Appendix A]:
- Unsigned 8-bit offsets into objects (e.g. invokemethod_quick) limit the number of methods in a class to 256
- Unsigned 8-bit argument counts (e.g. invokemethod_quick) limits the size of a method call's parameters to 256 32 bit words, where a long or double parameters occupy two words each.
Contents Prev Next Up
Generated with CERN WebMaker