Jean Morissette wrote:
Hi developers, I'm the lead developer of the JCyclone project http://jcyclone.sourceforge.net/ and I'm very interested by Java continuation. I want to use continuations in JCyclone as logical threads and create a fine-grained predictable thread scheduler. You may want to take a look in our CVS to see our continuation implementation prototype, under the sandbox directory.
Hi! I'm one of the developers of the project.
Is there some limitations of your implementation? By exemple, do you instrument synchronized statements? I was thinking to just replace them with ReentrantReadWriteLock. Also, there can be some issues with finally statements; do you handle them?
Yes, there are a few issues. For example, monitors acquired through 'monitorenter' instruction isn't released when the stack capture happens, causing IllegalMonitorStateException.
Finally block has a similar problem. We've been thinking about just inlining JSR/RET blocks to avoid the problem altogether.
I would be interested to give my contribution in your project. Please, let me know if I can help.
Thanks for the offer. I attached the TODO file for your consideration. We've been using BCEL for the instrumentation, but trying to migrate to ASM now (I think BCEL version is still more stable, but that's where we could use some help.) I think ASM has a better dataflow analysis package, which hopefully would let us attack the abovementioned instrumentation problems.
-- Kohsuke Kawaguchi Sun Microsystems [EMAIL PROTECTED]
In no particular order: o integrate just4log into the build system o testcases!!!! o documentation of the rewriting process o fix rewriting bugs/limitations: o fix unintialized objects for method/constructor calls o inner classes o try/catch/finally o synchronized(obj) o accessing .class o new Object() without assignment o only wrap the function calls that may lead to a suspend (control flow analysis) requires 2-pass analysing/rewriting o maybe: evaluate making the Stack class use a hierarchical approach to support differential continuations o maybe: asm implementation instead of BCEL o BCEL o commit bug fixes in BCEL http://issues.apache.org/bugzilla/show_bug.cgi?id=27646 http://issues.apache.org/bugzilla/show_bug.cgi?id=27854 http://issues.apache.org/bugzilla/show_bug.cgi?id=27855 o get rid of the static repository approach http://issues.apache.org/bugzilla/show_bug.cgi?id=38057 o talk to the RIFE guys about joining forces o talk to the aspectwerkz and aspectj folks about working together
smime.p7s
Description: S/MIME Cryptographic Signature