Earlier quoted context omitted.
You've not looked at them have you (the VMs)? The JVM is entirely a class-focused JVM. The CLR is a general purpose VM. I can access arbitrary memory in the CLR, but cannot on the JVM. I write as someone who has attempted to build a byte-code assembly file that would allow direct manipulation of binary arrays for the purpose of efficiently loading OpenGL vertex buffers that mix floats and ints. Cant be done in Java o…
> You've not looked at them have you (the VMs)? I've looked at them, along with about half a dozen others. > The JVM is entirely a class-focused JVM. The CLR is a general purpose VM. ... blah-blah-non-sequitur-blah ... They are both VMs with similar overall strategies, similar technologies, and some distinct similarities. They're about as different as any two VMs are. > Also, I admit I only read the first patent, but…
I suggest that these differences are what makes them different as applies to patents. Patents are usually either so broad as to have prior art, or so narrow as to not apply to even "similar" implementations.
6,192,476: Too broad. Applies to any OS since the 70's. 6,125,447: as above. 5,966,702: Too specific (.NET doesnt need to optimize data it creates properly in the first place) and too broad at the same time: it simply describes data normalization. 7,426,720: Unix forks. Either way, .NET does not do this. RE38,104: Not applicable at all. .NET is always fully JITed. 6,910,205: See above. 6,061,520: Specific to JVM implementation detail.