Let's say we surround a few bytecode instructions with a try catch block, and the local types change in between the try catch block range (A previously local register used for an int type is now used for a reference type, inside of the TCB).
The handler of this try catch block can only have one frame (splitting is not allowed, java bytecode rules). But the problem is, if an exception is thrown before the local type change, the pointer frame would be different.
Depending on which local type is set when an exception is thrown in the TCB, the handler would have to have a different frame, but this is not possible in the java bytecode. Therefore my question: To which part in the TCB does the handler frame correspond? Will it use a "super-type" instead of choosing one (-> uninitalized)?