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 -~----------~----~----~----~------~----~------~--~---