I've been thinking a bit about the java.util.concurrent package, and how we might want to approach it here in Harmony. What kind of modifications one may need to do for VM in order to support util.concurrent package in the most efficient way? To my understanding, the original design of the JSR166 implied quite limited support at VM level. It basically included only 3 points of interaction: - System.nanoTime() method (no other means to get nanosecond precision time); - Park/unpark methods for java.util.concurrent.locks.LockSupport class (suspend/resume can't be used for this because of race condition issues); - Field atomic update methods for java.util.concurrent.atomic classes (they might be too slow if implemented via conventional synchronized section)
It seems the rest of the code can just be a pure Java. Do people on the list think the above set will be sufficient to achieve the right level of cooperation between VM and util.concurrent? Thank you, Andrey Chernyshev Intel Managed Runtime Division