Bug 6939203 (JSR 292 needs method handle constants) requires an extension to the construct pool structure and the ldc bytecode. In particular, it needs to use the CP cache to manage method references, and therefore the ldc bytecode (when used by the new functionality) need to refer to a CP cache index.
To do this safely, the JVM's bytecode parsing modules must make a more rigorous distinction between types of bytecode indexes. This change makes clear the difference between (a) a CP index and (b) a CP cache index, and also (1) a network-byte-order index and (2) a native-byte-order index. With clarified distinctions, enforced mechanically, we can safely make the needed modifications.
For a draft of this change, see: