As mentioned in the "[general] milestones and roadmap" thread, work on integrating the concurrency APIs will require VM support and it seems like DRLVM is close to having some of it complete, so I would lobby for that.
The VM APIs need are atomic CAS, parking and possibly methods for set/get of array elements as though they were volatile. DRLVM has a class stubbed for CAS [1] and lock support [2], the later of which I'd probably suggest moving to a VMI package. The piece about the set/get of array elements in a volatile fashion can be seen in the AtomicIntegerArray [3] class; look for putIntVolatile. I'm not completely clear on the details, but it seems to be necessary as array elements of an array aren't normally guaranteed to be treated like volatile fields and this method guarantees that. (I'm still trying to dig my way through the Java Memory Model stuff, so bear with me.) Do the current DRLVM build scripts build these utility classes [1][2] and their native counterparts? I was having trouble running the build scripts the other day (the Eclipse download killed me) and haven't had much time to experiment. The other piece that might need to be considered is how to handle AtomicLong on platforms that can't do 64-bit CAS natively. I was hoping this would be handled by the VM, but Doug's code [4] seems to handle it in the class itself. -Nathan [1] http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcor e/src/kernel_classes/javasrc/org/apache/harmony/util/concurrent/Atomics.java ?view=markup [2] http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcor e/src/kernel_classes/javasrc/java/util/concurrent/locks/LockSupport.java?vie w=markup [3] http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concu rrent/atomic/AtomicIntegerArray.java?rev=1.25&content-type=text/vnd.viewcvs- markup [4] http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concu rrent/atomic/AtomicLongFieldUpdater.java?rev=1.23&content-type=text/vnd.view cvs-markup > -----Original Message----- > From: Geir Magnusson Jr [mailto:[EMAIL PROTECTED] > > Build and dependency issues aside, what are the next functional > enhancements / features for DRLVM? > > I think #1 is to get it to function with Java 5 classfiles, so we can > make the switch throughout the project. > > Thoughts? What else? > > geir --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
