Kohsuke Kawaguchi wrote:
So if you don't mind, I'm happy to make the necessary changes.

Please go ahead. And if you don't mind please send me the test results you'll get.

Will do.

I added a new property to select the transformer, and tried to use ASM.

I found a few issues.

- ContinuationMethodAdapter.visitMaxs was passing (0,0) to the next visitor. I'm not too familiar with this, but don't we need to basically pass through values?

- When moving 'new' instructions, local variables are allocated excessively. I think it would be better for it to be used little more conservatively. Namely, the number of additional local variables for save/restore should be max of all constructor parameter counts, not sum of them.

- When moving 'new' instructions, The maxStacks field isn't updated correctly, but I think we needed this.

- While instrumenting the FinallyFlow class, I found that ContinuationMethodAdapter.visitMethodInsn dies while trying to save a local variable that has a JSR return address in it. I don't think we can instrument method invocations in a finally block, so there needs to be code that checks it (I don't know how BCEL version is doing that, though)


That's it for now.

--
Kohsuke Kawaguchi
Sun Microsystems                   [EMAIL PROTECTED]

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to