Are there any legal implications if someone creates a new bytecode compatible java vm ?
The java vm is a great thing but there are some things that are being implemented too slowly or probably never will. For example:
=> No problem with size. You distribute it with whatever packages you want.
=> JIT detects machine instructions that can greatly improve vector and matricial calculations.
=> JIT automatically detects the present of a gpu and generates gpu machine instructions when apropriate.
=> Being able to disable array bound checks for some operations.
=> Having a fast and dirty math option.
=> Having a better interface with C native code that will optionaly inline it and removing unnecessary call machine instruction and stack operations.
When i had an Amiga i used to make mini-games entirely in 68000 assembler for the cpu and the fat agnus assembler language for bliting and sprites. It wasn’t that hard. OK so this isn’t exactly the Amiga but how hard could it be making a compatible jvm like this ?
So hard that you’ll soon see Jeff come along and try to explain to you how much magic is involved in a high performance JVM. If I were you, and I really really wanted to create my own jvm, I’d take one of the existing open source JVMs out there and modify them.