Skip to main content

porting JVM ?

1 reply [Last post]
Joined: 2009-11-17

When I went through Vidiom porting guide and other documents in the OCAP trunk I understood that JVM is making calls through MPE layer, and not making any platform specific calls.

So, Can I conclude that, for porting JVM there is no need of rewriting any of its components or JNI ?

If it is so, can I take the JVM available in the trunk ie; PhoneME's, directly to a set top box with a processor based on SH4 architecture?

Thanks in advance.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2008-07-03

You are partially correct....

Most of the JVM porting APIs are implemented with MPE calls which then rely on the MPEOS port you have created for your set-top. However, some of the JVM porting layer is actually in processor-specific assembly language (see $OCAPROOT/jvm/phoneME/mpe_jvm/[src|build]/mpe-x86 for the x86 port), so you will have to implement these bits of functionality as required by phoneME.

Additionally, if you want improved JVM performance on your embedded platform, you will want to implement JIT (just-in-time) compilation which requires additional porting in assembly and C. You can check out some of the existing phoneME ports to various processor architechtures in the phoneME repository.

Finally, keep in mind that both the RI and phoneME are GPL2.0 projects and any port that you do is also bound under the terms of the GPL. If you are planning to develop a commercial product, you must contact both CableLabs and Sun for commercial licenses to their respective pieces.