This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

New JVM verifier in Mustang


I was reading Gilad Brach's blog about the new verifier for Mustang (
http://blogs.sun.com/roller/page/gbracha?entry=typechecking_jvml ),
and this part seems interesting:

"In Mustang, javac will generate the necessary type information in the
class files it produces. It won't generate code using jsr and ret
either (nor will other tools Sun releases). Other vendors may need
more time to catch up, which is why we will fall back to the old
verifier for a while."

Does this mean that they will now use CPS (Continuation Passing Style) ?
I am not sure about that because at
https://jdk.dev.java.net/verifier.html it says:

"The new verifier does not allow instructions jsr and ret. These
instructions are used to make subroutines for generating try/finally
blocks. Instead the compiler will inline subroutine code which means
the byte code in subroutines will be inserted in places where the
subroutines are called."

And, also:

"If you develop or use tools that manipulate Java byte code, such as
profilers, loggers, and class file rewriters, your tools may not work
correctly with the new StackMapTable attribute. The fall-back behavior
allows the existing tools to still work for version 50 class files.
However, the tools need to migrate to the new format eventually
because the fall-back behavior may not be feasible to support in the
future. Besides, you cannot take advantage of the improved verifier
until your class files pass the type checking verifier. This is
especially important if your applications are performance sensitive."

I guess sometime in the future (probably in a few years) Kawa will
need to be able the handle the new class file format.

--
Gerardo Horvilleur
mago@mundojava.com
5813-0830


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]