Hi Developers,
My name is Rahul Mehta. I am interested in "Harmony class library support"
in JikesRVM project through GSoC. I wrote a proposal with the guidance of
Andrew John Hughes, Ian Rogers and Tim Ellison.
I am sending this proposal as plain/txt format for Apache developer's
consideration and will be glad if you can comment on this. You can find
this on Google web app along with the Detailed Description section.
The project proposal is given below:
Best Regards,
Rahul
-------------------------------
Project Proposal
Synopsis:
Presently, JikesRVM is using GNU Classpath libraries [1] it would be
interesting to integrate the Apache Harmony class libraries [2] into
JikesRVM. Not only would this enable a variety in the implementation of
core collection classes that would be interesting for research with the
JikesRVM. They would also provide a work around for when functionality is
missing from GNU Classpath such as missing management APIs and the new
row-set APIs in Java 5.
Project Plan:
My objective will be to complete the following major tasks. However, I am
investigating the other tasks, issues and solutions. I believe these tasks
will enhance the JikesRVMs (by integrating with Apache Harmony class
library) in terms of functionality and completeness.
I will focus on the following tasks:
 Focus on VM Interfaces as current implementation of VM Interfaces
is written in Java (as JikesRVM is written in Java that means the current
VM Interfaces are written in Java rather than native code)
 Focus on the implementation of some Kernel java classes (like
java.lang.Class)
 Investigate how JikesRVM can be integrated with Harmonys
threading and runtime models as Harmony provides its own Thread Manager and
runtime modules
How this will work:
Jikes RVM will communicate with Apache Harmony class libraries through a
set of kernel java classes (The Kernel Java classes are those classes which
are tied to the structure of the VM, or whose structure is known by the VM,
like java.lang.Class) and VM Interface* (which contains the VM entry points
required by other class library natives) as described in the Harmony Class
Library Porting Documentation [3].
This task will include several class implementation. Possibly, we can use
the DRLVM implementations of these classes. Generally, the IBM
implementations rely on the presence of (typically) VM specific natives to
implement the required Java APIs so we can use them and can provide our own
implementation for those classes. [3]
Consideration on Key areas:
 Implementation of Kernel java classes  Implementation of
VM Interface in native code  Investigatation about how JikesRVM can
be integrated with Apache Harmonys Thread Manager and other runtime
modules
Road Map:
 Publish my goals to the JikesRVM community (mailing list) and try
to get some feedback and suggestions on my plans. (until mid of May)
 Implement the certain classes (Kernel Java Classes and VM
Interface) (until July Starting )  Testing of new implementation
with the help of the JikesRVM community. (until mid of August)
* The VM Interface forms the boundary between the class libraries and the
Jikes Virtual machine, and allows them to interact with each other.
References:
[1] JikesRVM, http://jikesrvm.org/
[2] Apache Harmony Class Library,
http://harmony.apache.org/subcomponents/classlibrary/index.html
[3] Harmony Class Library Porting Documentation,
http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/doc/kernel/kernel.txt?revision=476395&view=markup
[4] Virtual Machine Interface,
http://mail.openjdk.java.net/pipermail/challenge-discuss/2008-March/000084.html
Biography:
I am a computer science graduate. At present enrolled with IGNOU, India in
Master in Computer Applications program. I have already earned my Master
degree in Advanced Computer Science from University Of Manchester in 2007.
I obtained one Master degree in Information Technology from Punjabi
University, India. Before that, I studied Bachelor in Computer Applications
from Meerut University, India. I have good Java programming experience. I
have already worked on threading model of JikesRVM in my Master thesis.
-----------------------------------