You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by Apache Wiki <wi...@apache.org> on 2008/02/15 17:53:11 UTC

[Harmony Wiki] Trivial Update of "DRLVM Development Tasks" by Vladimir Beliaev

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by Vladimir Beliaev:
http://wiki.apache.org/harmony/DRLVM_Development_Tasks

New page:
This page contains a list of development tasks for the Harmony Virtial Machine (DRLVM) which are not JIT or GC specific. If you pick a task please do not forget to let us know about your choice in [http://incubator.apache.org/harmony/mailing.html the mailing list].

If you are not sure what you can start with then refer to[http://harmony.apache.org/subcomponents/drlvm/developers_guide.html Dynamic Runtime Layer Virtual Machine Developer's Guide] to get the basic concepts and terms, components and modules description.

== Kernel Classes ==

This section caontains a list of isolated development tasks, which do not require advanced knowledge of VM and could be a nice start for newbies to get acquainted with the code. All items are targeted for better code sharing.

=== 1. Improve/re-implement a Java5.0 generic signatures parser in DRLVM ===
'''''Problem:''''' ([https://issues.apache.org/jira/browse/HARMONY-2052 HARMONY-2052]). The current implementation is messy and half-baked, one needs to invent more shaped and modular API to the module, develop a simple parser/lexer to avoid antlr dependency and move this functionality to classlib (luni ?), so other VMs could reuse it for 1.5 support.

'''''Task:''''' Improve/re-implement a Java5.0 generic signatures parser in DRLVM.

=== 2. Unify implementation of j.l.Runtime/Process ===
'''''Problem:''''' ([https://issues.apache.org/jira/browse/HARMONY-2051 HARMONY-2051]) The classlib provides a neat portlib-based reference implementation [*], which should be reused. These two implementations are roughly identical, so one needs to make more scrupulous comparison and squeeze some features/fixes of [**], which may be missing in [*], then employ [*] in {{{j.l.Runtime}}} of DRLVM and drop [**].

'''''Task:''''' Eliminate duplicate implementation of j.l.Runtime.Process in kernel classes of DRLVM 

[*] working_classlib\modules\luni\src\main\java\org\apache\harmony\luni\internal\process\* + working_classlib\modules\luni\src\main\native\luni\shared\process.c
[**] working_vm\vm\vmcore\src\kernel_classes\javasrc\java\lang\Runtime.java + working_vm\vm\vmcore\src\kernel_classes\native\Runtime_[lnx|win].cpp

=== 3. Move port_user_timezone() from DRLVM to classlib ===
'''''Problem:''''' ([https://issues.apache.org/jira/browse/HARMONY-2053 HARMONY-2053]) There is no reason to burden VM with initializing "user.timezone" property value during VM startup for Classlib's j.u.TimeZone class. This action should be done by hyluni natives during {{{JNI_OnLoad}}}, therefore it is suggested to move {{{port_user_timezone()}}} function from DRLVM to classlib (luni/port), and fix DRLVM & hyluni accordingly.

'''''Task:''''' Move port_user_timezone() from DRLVM to classlib.

=== <name> ===
'''''Problem:''''' .

'''''Task:'''''