Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not-invented-here syndrome, probably. Dalvik seemed intentionally as different from a conventional JVM as possible (different instruction set, register-based rather than stack-based, different executable format, etc), and given the maturity of the JVM architecture it's hard to believe those decisions were entirely for engineering reasons.


> given the maturity of the JVM architecture

The server JVM is very mature; millions of dollars have been poured into making it work great in long-running, high-memory conditions where it has a lot of time to optimize its JIT. The client JVM (focusing on quick startup and low resource usage) has been pretty much neglected ever since people realized "Java applets on the web" wasn't going to happen.


Dalvik seemed intentionally as different from a conventional JVM as possible .. register-based rather than stack-based

That's because register IRs are easier to optimize than stack based ones. Have you heard of SSA? the canonical intermediate representation for high performance compilers; yeah, it's register based.

And Dalvik wasn't the first recent VM to be that "different"; heard of Parrot? it's register based.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: