Support For Dynamic Languages
The Java Virtual Machine provides some support for dynamically typed languages. Most of the existing JVM instruction set is statically typed - in the sense that method calls have their signatures type-checked at compile time, without a mechanism to defer this decision to run time, or to choose the method dispatch by an alternative approach.
JSR 292 (Supporting Dynamically Typed Languages on the Java™ Platform) added a new invokedynamic instruction at the JVM level, to allow method invocation relying on dynamic type checking (instead of the existing statically type-checked invokevirtual instruction). The Da Vinci Machine is a prototype virtual machine implementation that hosts JVM extensions aimed at supporting dynamic languages. All JVMs supporting J2SE 7 also include the invokedynamic opcode.
Read more about this topic: Java Bytecode
Famous quotes containing the words support, dynamic and/or languages:
“To suppose such a thing possible as a society, in which men, who are able and willing to work, cannot support their families, and ought, with a great part of the women, to be compelled to lead a life of celibacy, for fear of having children to be starved; to suppose such a thing possible is monstrous.”
—William Cobbett (17621835)
“The nearer a conception comes towards finality, the nearer does the dynamic relation, out of which this concept has arisen, draw to a close. To know is to lose.”
—D.H. (David Herbert)
“I am always sorry when any language is lost, because languages are the pedigree of nations.”
—Samuel Johnson (17091784)