Rémi Forax wrote:

> > Can you describe how to do that and exactly what it is? I'm not familiar
> > with it.

> Java 1.6 (JSR202) introduces a new verifier named split-verifier
> (technically this technology comes from J2ME)
> that is able to verify the bytecode in one pass using informations
> stored in a special attribute named StackMap.
> https://jdk.dev.java.net/verifier.html
>
> I use ASM that is able to generate StackMap using flag |COMPUTE_FRAMES|
> when creating a ClassWriter.
> The algorithme used by ASM is described here:
> http://asm.objectweb.org/doc/developer-guide.html#controlflow
>
> Unlike JRuby, I don't generate code at runtime so
> I have no idea about the overhead introduced by enabling stack map
> computation.

  In my subjective tests, the StackMap calculation overhead is much
higher then performance gain you'll get from the new verifier. This is
actually by design of the new verifier, so pre-verification step when
StackMap is generated runs off line and can take long, but
verification at run time is really quick because it uses pre-
calculated StackMap structures.
  The only chance to avoid that is to not use COMPUTE_FRAMES (skip the
data flow analysis algorithm) and generate StackMap together with the
bytecode if you know your code structure and type hierarchies.

  regards,
  Eugene


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to jvm-languages@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to