Windows, mac and linux all with the same version = yes.
@Cas: Well then: that's awesome. I fully endorse the basic plan.
Next batch are along the same lines, but a step away from basic GL/AL/CL support and on to some useful things for "user" in "java" (say defs as above) + LWJGL.Expose some hardware information
1) Number of physical processors. Being able to know both the number of logical and physical processor is useful (aka more or less required). Example for determining a number of threads to have active per timeslice.
2) A limited number of hardware supported CPU opcode queries. From a user perspective the only ones worth knowing about are those that there is both: a java equivalent method call AND that method call is a JVM intrinsic. If both of these aren't true then there's nothing in java that the user can do with the information. This list is currently very small (This is base on an early version of 7...I need to recheck the intrinsic list at some point. This old list is here
leading zero count, trailing zero count, population count and byteswap.
return Integer.bitCount(x) == 1;
return (x & -x) == x && x != 0;
Counter examples include: SIMD operations: not exposed in java so no point. Atomic increment: there are method calls but they are (currently) not intrinsic.
Some others might be of interest to developers since they could use that information and they could potentially expose a method via JNI.
3) Size of caches and the lengths of cache-lines. Since java is runtime compiled this would allow building cache-aware data-structures.
(EDIT: my example was checking for LZC where it should have been checking POPCOUNT...doh!)