On 11/30/2011 09:56 PM, Paulo Pinto wrote:
Are you not being a bit simplistic here?
There are several JVM implementations around not just one.
Where did he talk about implementations? He only described the _design_
of the JVM.
Plus if I understand correctly some complains of people using D in real
projects, in many cases JVM JITs are able to generate better code than
D. At least for the time being.
Nope. (Even when interpreting 'D' as 'DMD'). Except when the D code is
written badly.
I used to be intimately familiar with the JVM, I even wrote a gc for it.
The bytecode ops in it are designed for Java, nothing more. Worse, it's
a primitive stack machine. To generate even passably good native code,
the JVM has to do a lot of reverse engineering of the bytecode.
For example, you cannot pass by value anything other than the primitive
Java data types. There are no pointers. Want an unsigned int? Forget it.
Arrays of anything but class references? Nyuk nyuk nyuk. Etc.