Thanks for the clarification, I now understand what you were trying to say.
In this particular instance not the language should be blamed though, but rather the tool. If there was a valid bytecode directive generated by language X, it is not the language which has compatibility issues, but the tool fails to read the bytecode and is not compatible.
And even if we assume an “ignorant” Java-only view, it is not said Java will never extend its own set of directives. As you rightly pointed out, Java does make use of InvokeDynamic meanwhile as well.